You are viewing a plain text version of this content. The canonical link for it is here.
Posted to builds@cassandra.apache.org by Apache Jenkins Server <je...@builds.apache.org> on 2020/08/17 13:14:36 UTC
Build complete: Cassandra-trunk #268 [UNSTABLE]
efce6b39fb557314fad0cb56b07a1919d26b84fc
-------------------------------------------------------------------------------
Build Cassandra-trunk #268 Still Unstable
URL: https://ci-cassandra.apache.org/job/Cassandra-trunk/268/
-------------------------------------------------------------------------------
Changes:
[Sylvain Lebresne] Remove broken "defragment-on-read" optimization
-------------------------------------------------------------------------------
Failed Tests:
12 tests failed.
FAILED: dtest-novnode.cqlsh_tests.test_cqlsh_copy.TestCqlshCopy.test_bulk_round_trip_with_timeouts
FAILED: dtest.cql_tracing_test.TestCqlTracing.test_tracing_unknown_impl
FAILED: org.apache.cassandra.net.ConnectionTest.testMessagePurging-cdc
FAILED: org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest.corruptionCausesFailure-cdc
FAILED: org.apache.cassandra.net.ConnectionTest.testMessagePurging
FAILED: dtest-novnode.cql_tracing_test.TestCqlTracing.test_tracing_simple
FAILED: dtest-novnode.cql_tracing_test.TestCqlTracing.test_tracing_does_not_interfere_with_digest_calculation
FAILED: dtest-offheap.cql_tracing_test.TestCqlTracing.test_tracing_simple
FAILED: dtest-offheap.cql_tracing_test.TestCqlTracing.test_tracing_does_not_interfere_with_digest_calculation
FAILED: dtest.cql_tracing_test.TestCqlTracing.test_tracing_does_not_interfere_with_digest_calculation
FAILED: dtest-novnode.cql_tracing_test.TestCqlTracing.test_tracing_default_impl
FAILED: dtest.cql_tracing_test.TestCqlTracing.test_tracing_default_impl
-------------------------------------------------------------------------------
Cassandra CI Results
-------------------------------------------------------------------------------
Tests Failures Errors Skipped Success rate Time
17891 10 2 97 99.93% 153606.586
-------------------------------------------------------------------------------
Name Tests Errors Failures Skipped Time(s)
3232 0 9 0 135205.702
cqlshlib.python3.jdk8 164 0 0 0 0.000
org.apache.cassandra.audit 144 0 0 0 265.970
org.apache.cassandra.auth 108 0 0 0 50.208
org.apache.cassandra.auth.jmx 69 0 0 0 16.858
org.apache.cassandra.batchlog 36 0 0 0 80.757
org.apache.cassandra.cache 12 0 0 0 23.744
org.apache.cassandra.concurrent 29 0 0 0 876.216
org.apache.cassandra.config 48 0 0 0 6.675
org.apache.cassandra.cql.jdbc 3 0 0 0 0.221
org.apache.cassandra.cql3 719 0 0 27 1741.909
org.apache.cassandra.cql3.conditions 12 0 0 0 1.721
org.apache.cassandra.cql3.functions 93 0 0 0 43.855
org.apache.cassandra.cql3.restrictions 69 0 0 0 2.957
org.apache.cassandra.cql3.selection 30 0 0 0 40.030
org.apache.cassandra.cql3.statements 72 0 0 0 82.814
org.apache.cassandra.cql3.validation.entities 1104 0 0 3 1054.301
org.apache.cassandra.cql3.validation.miscellaneous 168 0 0 0 146.884
org.apache.cassandra.cql3.validation.operations 1185 0 0 0 1006.530
org.apache.cassandra.db 1158 0 0 2 686.441
org.apache.cassandra.db.aggregation 18 0 0 0 2.482
org.apache.cassandra.db.columniterator 3 0 0 0 10.217
org.apache.cassandra.db.commitlog 1213 0 0 7 870.028
org.apache.cassandra.db.compaction 535 0 0 6 1110.708
org.apache.cassandra.db.composites 9 0 0 0 1.506
org.apache.cassandra.db.context 24 0 0 0 6.032
org.apache.cassandra.db.filter 21 0 0 0 4.421
org.apache.cassandra.db.lifecycle 201 0 0 0 84.204
org.apache.cassandra.db.marshal 357 0 0 0 80.470
org.apache.cassandra.db.monitoring 45 0 0 0 16.257
org.apache.cassandra.db.partition 30 0 0 0 174.156
org.apache.cassandra.db.partitions 24 0 0 0 1.779
org.apache.cassandra.db.repair 69 0 0 3 60.675
org.apache.cassandra.db.rows 156 0 0 0 118.196
org.apache.cassandra.db.streaming 36 0 0 0 37.133
org.apache.cassandra.db.transform 66 0 0 0 20.194
org.apache.cassandra.db.view 12 0 0 0 63.839
org.apache.cassandra.db.virtual 39 0 0 0 82.579
org.apache.cassandra.dht 303 0 0 0 162.860
org.apache.cassandra.dht.tokenallocator 9 0 0 1 224.546
org.apache.cassandra.diag 18 0 0 0 2.627
org.apache.cassandra.diag.store 18 0 0 0 0.208
org.apache.cassandra.distributed.test 339 0 0 12 2352.076
org.apache.cassandra.distributed.upgrade 3 0 0 0 179.147
org.apache.cassandra.fql 105 0 0 0 29.314
org.apache.cassandra.fqltool 25 0 0 0 4.435
org.apache.cassandra.gms 48 0 0 0 56.571
org.apache.cassandra.hints 112 0 0 0 724.585
org.apache.cassandra.index 135 0 0 0 170.524
org.apache.cassandra.index.internal 81 0 0 0 72.247
org.apache.cassandra.index.sasi 123 0 0 0 126.610
org.apache.cassandra.index.sasi.analyzer 75 0 0 0 3.850
org.apache.cassandra.index.sasi.disk 84 0 0 0 105.454
org.apache.cassandra.index.sasi.plan 24 0 0 0 14.671
org.apache.cassandra.index.sasi.utils 156 0 0 0 9.488
org.apache.cassandra.io 15 0 0 0 55.460
org.apache.cassandra.io.compress 138 0 0 0 58.789
org.apache.cassandra.io.sstable 379 0 0 6 833.619
org.apache.cassandra.io.sstable.format 3 0 0 0 6.338
org.apache.cassandra.io.sstable.format.big 6 0 0 0 10.487
org.apache.cassandra.io.sstable.metadata 27 0 0 0 3.204
org.apache.cassandra.io.util 399 0 0 0 137.294
org.apache.cassandra.locator 196 0 0 0 257.095
org.apache.cassandra.metrics 192 0 0 3 174.042
org.apache.cassandra.net 460 2 0 0 667.142
org.apache.cassandra.net.proxy 9 0 0 0 2.376
org.apache.cassandra.repair 105 0 0 3 130.071
org.apache.cassandra.repair.asymmetric 39 0 0 0 3.522
org.apache.cassandra.repair.consistent 186 0 0 3 44.495
org.apache.cassandra.repair.messages 54 0 0 0 6.971
org.apache.cassandra.schema 99 0 0 3 50.181
org.apache.cassandra.security 78 0 0 0 10.024
org.apache.cassandra.serializers 96 0 0 0 2.018
org.apache.cassandra.service 378 0 0 3 400.106
org.apache.cassandra.service.pager 21 0 0 0 3.209
org.apache.cassandra.service.reads 357 0 0 3 34.179
org.apache.cassandra.service.reads.repair 102 0 0 3 65.371
org.apache.cassandra.streaming 32 0 0 0 263.657
org.apache.cassandra.streaming.async 57 0 0 0 8.923
org.apache.cassandra.streaming.compression 18 0 0 0 3.481
org.apache.cassandra.stress.generate 6 0 0 0 0.180
org.apache.cassandra.stress.settings 8 0 0 0 0.769
org.apache.cassandra.stress.util 5 0 0 0 0.069
org.apache.cassandra.tools 126 0 0 0 207.023
org.apache.cassandra.tools.nodetool.formatter 18 0 0 0 0.232
org.apache.cassandra.tools.nodetool.stats 24 0 0 0 1.047
org.apache.cassandra.tracing 18 0 0 0 3.202
org.apache.cassandra.transport 162 0 0 0 335.697
org.apache.cassandra.transport.frame.checksum 18 0 1 0 126.513
org.apache.cassandra.transport.messages 6 0 0 0 2.255
org.apache.cassandra.triggers 60 0 0 0 34.781
org.apache.cassandra.utils 494 0 0 6 1097.550
org.apache.cassandra.utils.binlog 63 0 0 0 67.264
org.apache.cassandra.utils.btree 120 0 0 0 2.205
org.apache.cassandra.utils.concurrent 189 0 0 3 22.302
org.apache.cassandra.utils.memory 100 0 0 0 147.326
org.apache.cassandra.utils.obs 12 0 0 0 1.503
org.apache.cassandra.utils.streamhist 33 0 0 0 5.966
org.apache.cassandra.utils.vint 12 0 0 0 0.766
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Packages
-------------------------------------------------------------------------------
Name Tests Errors Failures Skipped Time(s)
Cassandra dtests 3 0 0 386.810
Cassandra dtests 2 0 0 229.110
Cassandra dtests 3 0 0 478.307
Cassandra dtests 5 0 0 1153.850
Cassandra dtests 4 0 0 944.423
Cassandra dtests 7 0 0 673.333
Cassandra dtests 6 0 0 899.866
Cassandra dtests 5 0 0 749.053
Cassandra dtests 18 0 0 479.699
Cassandra dtests 17 0 0 1059.112
Cassandra dtests 18 0 0 636.665
Cassandra dtests 17 0 0 899.429
Cassandra dtests 18 0 0 662.284
Cassandra dtests 18 0 0 777.243
Cassandra dtests 18 0 0 1233.143
Cassandra dtests 18 0 0 853.371
Cassandra dtests 17 0 0 686.369
Cassandra dtests 17 0 0 623.290
Cassandra dtests 17 0 0 611.668
Cassandra dtests 18 0 0 532.047
Cassandra dtests 16 0 0 418.784
Cassandra dtests 17 0 0 724.851
Cassandra dtests 17 0 0 678.479
Cassandra dtests 18 0 0 785.511
Cassandra dtests 18 0 0 571.989
Cassandra dtests 18 0 0 942.260
Cassandra dtests 17 0 0 1036.864
Cassandra dtests 17 0 1 753.566
Cassandra dtests 17 0 0 740.858
Cassandra dtests 15 0 1 480.585
Cassandra dtests 18 0 0 537.580
Cassandra dtests 16 0 1 822.314
Cassandra dtests 17 0 0 775.076
Cassandra dtests 17 0 0 630.592
Cassandra dtests 17 0 0 461.069
Cassandra dtests 17 0 0 469.769
Cassandra dtests 16 0 0 576.796
Cassandra dtests 17 0 0 724.911
Cassandra dtests 16 0 0 969.709
Cassandra dtests 17 0 0 943.010
Cassandra dtests 18 0 1 1065.057
Cassandra dtests 18 0 0 554.133
Cassandra dtests 17 0 0 993.505
Cassandra dtests 17 0 0 1440.793
Cassandra dtests 16 0 0 1205.639
Cassandra dtests 18 0 0 935.760
Cassandra dtests 18 0 0 757.414
Cassandra dtests 18 0 0 789.760
Cassandra dtests 18 0 0 920.030
Cassandra dtests 18 0 0 1387.401
Cassandra dtests 18 0 0 976.573
Cassandra dtests 18 0 0 583.911
Cassandra dtests 18 0 0 877.336
Cassandra dtests 18 0 0 767.862
Cassandra dtests 18 0 0 797.489
Cassandra dtests 18 0 0 564.397
Cassandra dtests 17 0 0 846.763
Cassandra dtests 18 0 0 726.722
Cassandra dtests 18 0 0 510.996
Cassandra dtests 17 0 0 332.541
Cassandra dtests 17 0 0 584.193
Cassandra dtests 17 0 0 452.456
Cassandra dtests 18 0 0 740.364
Cassandra dtests 17 0 0 544.254
Cassandra dtests 17 0 0 360.138
Cassandra dtests 17 0 0 398.709
Cassandra dtests 17 0 0 309.820
Cassandra dtests 17 0 0 477.501
Cassandra dtests 18 0 0 834.181
Cassandra dtests 17 0 0 578.922
Cassandra dtests 17 0 0 555.348
Cassandra dtests 17 0 0 882.913
Cassandra dtests 17 0 0 662.423
Cassandra dtests 17 0 0 549.074
Cassandra dtests 17 0 0 477.675
Cassandra dtests 17 0 0 664.812
Cassandra dtests 16 0 0 612.942
Cassandra dtests 15 0 0 412.332
Cassandra dtests 15 0 0 546.796
Cassandra dtests 17 0 0 709.508
Cassandra dtests 17 0 0 811.667
Cassandra dtests 17 0 0 452.752
Cassandra dtests 17 0 0 815.475
Cassandra dtests 17 0 0 439.964
Cassandra dtests 17 0 0 783.930
Cassandra dtests 17 0 0 621.460
Cassandra dtests 17 0 1 710.319
Cassandra dtests 17 0 0 811.731
Cassandra dtests 16 0 0 490.674
Cassandra dtests 15 0 1 525.636
Cassandra dtests 16 0 0 537.487
Cassandra dtests 16 0 0 524.294
Cassandra dtests 15 0 0 399.939
Cassandra dtests 15 0 0 620.123
Cassandra dtests 15 0 0 452.133
Cassandra dtests 15 0 0 541.936
Cassandra dtests 16 0 0 599.829
Cassandra dtests 16 0 0 981.571
Cassandra dtests 16 0 0 604.269
Cassandra dtests 17 0 0 790.525
Cassandra dtests 16 0 0 473.685
Cassandra dtests 16 0 0 1018.993
Cassandra dtests 16 0 0 770.642
Cassandra dtests 17 0 0 767.412
Cassandra dtests 15 0 0 342.505
Cassandra dtests 17 0 0 772.397
Cassandra dtests 17 0 0 743.423
Cassandra dtests 17 0 0 653.350
Cassandra dtests 17 0 0 712.954
Cassandra dtests 17 0 0 1062.341
Cassandra dtests 17 0 0 707.661
Cassandra dtests 17 0 0 441.543
Cassandra dtests 17 0 0 618.310
Cassandra dtests 17 0 0 496.947
Cassandra dtests 17 0 0 625.426
Cassandra dtests 15 0 0 331.561
Cassandra dtests 17 0 0 961.760
Cassandra dtests 17 0 0 921.411
Cassandra dtests 17 0 0 1142.921
Cassandra dtests 17 0 0 678.217
Cassandra dtests 17 0 0 980.001
Cassandra dtests 17 0 0 859.819
Cassandra dtests 17 0 0 590.952
Cassandra dtests 17 0 0 628.736
Cassandra dtests 17 0 0 582.906
Cassandra dtests 17 0 0 466.356
Cassandra dtests 16 0 0 560.048
Cassandra dtests 17 0 0 813.683
Cassandra dtests 16 0 0 495.324
Cassandra dtests 16 0 0 708.068
Cassandra dtests 16 0 0 525.644
Cassandra dtests 16 0 0 820.661
Cassandra dtests 16 0 0 591.771
Cassandra dtests 16 0 0 621.908
Cassandra dtests 16 0 0 305.120
Cassandra dtests 17 0 0 931.234
Cassandra dtests 17 0 0 710.013
Cassandra dtests 17 0 0 463.332
Cassandra dtests 17 0 0 499.340
Cassandra dtests 17 0 0 643.991
Cassandra dtests 16 0 0 575.153
Cassandra dtests 15 0 0 489.190
Cassandra dtests 15 0 0 297.638
Cassandra dtests 17 0 0 863.434
Cassandra dtests 17 0 0 785.037
Cassandra dtests 17 0 0 495.631
Cassandra dtests 17 0 0 838.549
Cassandra dtests 17 0 0 457.706
Cassandra dtests 17 0 0 569.314
Cassandra dtests 17 0 0 549.819
Cassandra dtests 17 0 0 727.608
Cassandra dtests 17 0 1 719.145
Cassandra dtests 16 0 1 835.999
Cassandra dtests 16 0 1 544.302
Cassandra dtests 15 0 0 478.935
Cassandra dtests 16 0 0 548.708
Cassandra dtests 16 0 0 501.449
Cassandra dtests 16 0 0 690.947
Cassandra dtests 14 0 0 407.597
Cassandra dtests 15 0 0 455.902
Cassandra dtests 16 0 0 597.132
Cassandra dtests 16 0 0 915.052
Cassandra dtests 16 0 0 753.509
Cassandra dtests 17 0 0 739.155
Cassandra dtests 16 0 0 491.601
Cassandra dtests 16 0 0 878.928
Cassandra dtests 16 0 0 927.263
Cassandra dtests 17 0 0 656.364
Cassandra dtests 14 0 0 359.404
Cassandra dtests 17 0 0 735.291
Cassandra dtests 17 0 0 736.156
Cassandra dtests 17 0 0 744.070
Cassandra dtests 17 0 0 728.969
Cassandra dtests 17 0 0 1083.466
Cassandra dtests 17 0 0 680.563
Cassandra dtests 17 0 0 424.571
Cassandra dtests 17 0 0 690.280
Cassandra dtests 17 0 0 544.423
Cassandra dtests 17 0 0 574.507
Cassandra dtests 15 0 0 352.978
Cassandra dtests 17 0 0 791.633
Cassandra dtests 17 0 0 976.373
Cassandra dtests 17 0 0 1116.325
Cassandra dtests 17 0 0 1051.324
Cassandra dtests 17 0 0 582.644
Cassandra dtests 17 0 0 1074.265
Cassandra dtests 17 0 0 690.466
Cassandra dtests 17 0 0 414.388
Cassandra dtests 17 0 0 695.696
Cassandra dtests 17 0 0 628.361
Cassandra dtests 16 0 0 499.333
Cassandra dtests 17 0 0 491.671
Cassandra dtests 17 0 0 689.971
Cassandra dtests 16 0 0 425.838
Cassandra dtests 16 0 0 777.606
Cassandra dtests 16 0 0 682.088
Cassandra dtests 16 0 0 685.281
Cassandra dtests 16 0 0 646.412
Cassandra dtests 16 0 0 280.114
-------------------------------------------------------------------------------
cqlshlib.python3.jdk8
Name Tests Errors Failures Skipped Time(s)
no_cython 82 0 0 NaN
cython 82 0 0 NaN
-------------------------------------------------------------------------------
org.apache.cassandra.audit
Name Tests Errors Failures Skipped Time(s)
AuditLogFilterTest-cdc 10 0 0 0 0.266
AuditLoggerAuthTest-cdc 9 0 0 0 52.821
AuditLoggerTest-cdc 28 0 0 0 20.673
BinAuditLoggerTest-cdc 1 0 0 0 12.427
AuditLogFilterTest-compression 10 0 0 0 0.281
AuditLoggerAuthTest-compression 9 0 0 0 52.831
AuditLoggerTest-compression 28 0 0 0 20.936
BinAuditLoggerTest-compression 1 0 0 0 12.528
AuditLogFilterTest 10 0 0 0 0.209
AuditLoggerAuthTest 9 0 0 0 54.009
AuditLoggerTest 28 0 0 0 26.336
BinAuditLoggerTest 1 0 0 0 12.653
-------------------------------------------------------------------------------
org.apache.cassandra.auth
Name Tests Errors Failures Skipped Time(s)
AuthCacheTest-cdc 14 0 0 0 0.514
CassandraNetworkAuthorizerTest-cdc 6 0 0 0 3.904
CassandraRoleManagerTest-cdc 1 0 0 0 3.227
PasswordAuthenticatorTest-cdc 7 0 0 0 5.257
RoleOptionsTest-cdc 4 0 0 0 0.394
RolesTest-cdc 4 0 0 0 3.296
AuthCacheTest-compression 14 0 0 0 0.564
CassandraNetworkAuthorizerTest- 6 0 0 0 3.945
compression
CassandraRoleManagerTest-compression 1 0 0 0 3.279
PasswordAuthenticatorTest-compression 7 0 0 0 5.136
RoleOptionsTest-compression 4 0 0 0 0.438
RolesTest-compression 4 0 0 0 3.214
AuthCacheTest 14 0 0 0 0.451
CassandraNetworkAuthorizerTest 6 0 0 0 3.935
CassandraRoleManagerTest 1 0 0 0 3.139
PasswordAuthenticatorTest 7 0 0 0 6.011
RoleOptionsTest 4 0 0 0 0.392
RolesTest 4 0 0 0 3.112
-------------------------------------------------------------------------------
org.apache.cassandra.auth.jmx
Name Tests Errors Failures Skipped Time(s)
AuthorizationProxyTest-cdc 20 0 0 0 1.035
JMXAuthTest-cdc 3 0 0 0 4.368
AuthorizationProxyTest-compression 20 0 0 0 1.096
JMXAuthTest-compression 3 0 0 0 4.479
AuthorizationProxyTest 20 0 0 0 0.940
JMXAuthTest 3 0 0 0 4.940
-------------------------------------------------------------------------------
org.apache.cassandra.batchlog
Name Tests Errors Failures Skipped Time(s)
BatchlogEndpointFilterTest-cdc 5 0 0 0 0.458
BatchlogManagerTest-cdc 6 0 0 0 23.330
BatchlogTest-cdc 1 0 0 0 3.082
BatchlogEndpointFilterTest-compression 5 0 0 0 0.458
BatchlogManagerTest-compression 6 0 0 0 23.403
BatchlogTest-compression 1 0 0 0 3.177
BatchlogEndpointFilterTest 5 0 0 0 0.407
BatchlogManagerTest 6 0 0 0 23.368
BatchlogTest 1 0 0 0 3.074
-------------------------------------------------------------------------------
org.apache.cassandra.cache
Name Tests Errors Failures Skipped Time(s)
AutoSavingCacheTest-cdc 2 0 0 0 3.271
CacheProviderTest-cdc 2 0 0 0 4.697
AutoSavingCacheTest-compression 2 0 0 0 3.319
CacheProviderTest-compression 2 0 0 0 4.665
AutoSavingCacheTest 2 0 0 0 3.343
CacheProviderTest 2 0 0 0 4.449
-------------------------------------------------------------------------------
org.apache.cassandra.concurrent
Name Tests Errors Failures Skipped Time(s)
LongOpOrderTest 1 0 0 0 330.610
LongSharedExecutorPoolTest 1 0 0 0 480.601
DebuggableScheduledThreadPoolExecutorTest- 1 0 0 0 14.911
cdc
DebuggableThreadPoolExecutorTest-cdc 4 0 0 0 1.410
SEPExecutorTest-cdc 2 0 0 0 5.302
WaitQueueTest-cdc 2 0 0 0 0.261
DebuggableScheduledThreadPoolExecutorTest- 1 0 0 0 14.998
compression
DebuggableThreadPoolExecutorTest- 4 0 0 0 1.435
compression
SEPExecutorTest-compression 2 0 0 0 5.235
WaitQueueTest-compression 2 0 0 0 0.258
DebuggableScheduledThreadPoolExecutorTest 1 0 0 0 14.939
DebuggableThreadPoolExecutorTest 4 0 0 0 1.306
SEPExecutorTest 2 0 0 0 4.703
WaitQueueTest 2 0 0 0 0.247
-------------------------------------------------------------------------------
org.apache.cassandra.config
Name Tests Errors Failures Skipped Time(s)
DatabaseDescriptorRefTest-cdc 1 0 0 0 1.306
DatabaseDescriptorTest-cdc 15 0 0 0 0.918
DatabaseDescriptorRefTest-compression 1 0 0 0 1.339
DatabaseDescriptorTest-compression 15 0 0 0 0.971
DatabaseDescriptorRefTest 1 0 0 0 1.293
DatabaseDescriptorTest 15 0 0 0 0.848
-------------------------------------------------------------------------------
org.apache.cassandra.cql.jdbc
Name Tests Errors Failures Skipped Time(s)
JdbcDecimalTest-cdc 1 0 0 0 0.070
JdbcDecimalTest-compression 1 0 0 0 0.076
JdbcDecimalTest 1 0 0 0 0.075
-------------------------------------------------------------------------------
org.apache.cassandra.cql3
Name Tests Errors Failures Skipped Time(s)
CorruptionTest 1 0 0 0 125.717
ManyRowsTest 2 0 0 0 6.577
ViewLongTest 5 0 0 0 101.108
CDCStatementTest-cdc 3 0 0 0 4.199
CQL3TypeLiteralTest-cdc 6 0 0 0 0.944
ColumnIdentifierTest-cdc 4 0 0 0 0.397
CqlParserTest-cdc 3 0 0 0 0.424
CustomNowInSecondsTest-cdc 4 0 0 0 14.405
DeleteTest-cdc 1 0 0 0 15.741
DistinctQueryPagingTest-cdc 5 0 0 0 14.571
DurationTest-cdc 8 0 0 0 0.093
EmptyValuesTest-cdc 14 0 0 5 36.441
ErrorCollectorTest-cdc 6 0 0 0 0.072
GcCompactionTest-cdc 8 0 0 0 9.782
IndexQueryPagingTest-cdc 5 0 0 0 14.449
KeyCacheCqlTest-cdc 10 0 0 0 19.119
ListsTest-cdc 6 0 0 0 4.811
NonNativeTimestampTest-cdc 1 0 0 0 3.314
OutOfSpaceTest-cdc 3 0 0 0 4.180
PagingQueryTest-cdc 1 0 0 0 20.993
PagingTest-cdc 1 0 0 0 10.051
PreparedStatementsTest-cdc 10 0 0 0 20.090
PstmtPersistenceTest-cdc 2 0 0 0 13.680
QueryEventsTest-cdc 4 0 0 0 14.433
QueryWithIndexedSSTableTest-cdc 1 0 0 0 3.808
ReservedKeywordsTest-cdc 1 0 0 0 0.881
SerializationMirrorTest-cdc 1 0 0 0 3.349
SimpleQueryTest-cdc 18 0 0 0 8.728
TombstonesWithIndexedSSTableTest-cdc 2 0 0 0 5.236
TraceCqlTest-cdc 1 0 0 0 12.264
UDHelperTest-cdc 3 0 0 0 0.333
ViewComplexTest-cdc 32 0 0 1 99.611
ViewFilteringTest-cdc 25 0 0 3 40.241
ViewSchemaTest-cdc 7 0 0 0 22.043
ViewTest-cdc 41 0 0 0 54.412
CDCStatementTest-compression 3 0 0 0 4.184
CQL3TypeLiteralTest-compression 6 0 0 0 0.880
ColumnIdentifierTest-compression 4 0 0 0 0.405
CqlParserTest-compression 3 0 0 0 0.420
CustomNowInSecondsTest-compression 4 0 0 0 14.554
DeleteTest-compression 1 0 0 0 16.048
DistinctQueryPagingTest-compression 5 0 0 0 14.661
DurationTest-compression 8 0 0 0 0.092
EmptyValuesTest-compression 14 0 0 5 36.849
ErrorCollectorTest-compression 6 0 0 0 0.079
GcCompactionTest-compression 8 0 0 0 9.840
IndexQueryPagingTest-compression 5 0 0 0 14.470
KeyCacheCqlTest-compression 10 0 0 0 20.288
ListsTest-compression 6 0 0 0 4.839
NonNativeTimestampTest-compression 1 0 0 0 3.378
OutOfSpaceTest-compression 3 0 0 0 4.234
PagingQueryTest-compression 1 0 0 0 21.701
PagingTest-compression 1 0 0 0 10.049
PreparedStatementsTest-compression 10 0 0 0 20.129
PstmtPersistenceTest-compression 2 0 0 0 13.711
QueryEventsTest-compression 4 0 0 0 13.564
QueryWithIndexedSSTableTest-compression 1 0 0 0 4.075
ReservedKeywordsTest-compression 1 0 0 0 0.903
SerializationMirrorTest-compression 1 0 0 0 3.441
SimpleQueryTest-compression 18 0 0 0 8.807
TombstonesWithIndexedSSTableTest- 2 0 0 0 5.324
compression
TraceCqlTest-compression 1 0 0 0 12.338
UDHelperTest-compression 3 0 0 0 0.331
ViewComplexTest-compression 32 0 0 1 99.451
ViewFilteringTest-compression 25 0 0 3 40.874
ViewSchemaTest-compression 7 0 0 0 22.440
ViewTest-compression 41 0 0 0 56.832
CDCStatementTest 3 0 0 0 4.609
CQL3TypeLiteralTest 6 0 0 0 0.828
ColumnIdentifierTest 4 0 0 0 0.430
CqlParserTest 3 0 0 0 0.441
CustomNowInSecondsTest 4 0 0 0 15.939
DeleteTest 1 0 0 0 16.020
DistinctQueryPagingTest 5 0 0 0 15.883
DurationTest 8 0 0 0 0.085
EmptyValuesTest 14 0 0 5 38.473
ErrorCollectorTest 6 0 0 0 0.061
GcCompactionTest 8 0 0 0 11.099
IndexQueryPagingTest 5 0 0 0 15.890
KeyCacheCqlTest 10 0 0 0 22.100
ListsTest 6 0 0 0 5.399
NonNativeTimestampTest 1 0 0 0 3.355
OutOfSpaceTest 3 0 0 0 4.673
PagingQueryTest 1 0 0 0 22.530
PagingTest 1 0 0 0 10.523
PreparedStatementsTest 10 0 0 0 23.461
PstmtPersistenceTest 2 0 0 0 14.436
QueryEventsTest 4 0 0 0 14.556
QueryWithIndexedSSTableTest 1 0 0 0 4.134
ReservedKeywordsTest 1 0 0 0 0.792
SerializationMirrorTest 1 0 0 0 3.512
SimpleQueryTest 18 0 0 0 12.620
TombstonesWithIndexedSSTableTest 2 0 0 0 5.505
TraceCqlTest 1 0 0 0 12.578
UDHelperTest 3 0 0 0 0.297
ViewComplexTest 32 0 0 1 113.384
ViewFilteringTest 25 0 0 3 61.768
ViewSchemaTest 7 0 0 0 27.309
ViewTest 41 0 0 0 73.531
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.conditions
Name Tests Errors Failures Skipped Time(s)
ColumnConditionTest-cdc 4 0 0 0 0.582
ColumnConditionTest-compression 4 0 0 0 0.627
ColumnConditionTest 4 0 0 0 0.512
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.functions
Name Tests Errors Failures Skipped Time(s)
CastFctsTest-cdc 7 0 0 0 5.909
OperationFctsTest-cdc 11 0 0 0 7.113
TimeFctsTest-cdc 13 0 0 0 0.526
CastFctsTest-compression 7 0 0 0 5.987
OperationFctsTest-compression 11 0 0 0 6.921
TimeFctsTest-compression 13 0 0 0 0.528
CastFctsTest 7 0 0 0 7.337
OperationFctsTest 11 0 0 0 9.069
TimeFctsTest 13 0 0 0 0.465
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.restrictions
Name Tests Errors Failures Skipped Time(s)
ClusteringColumnRestrictionsTest-cdc 23 0 0 0 1.037
ClusteringColumnRestrictionsTest- 23 0 0 0 1.014
compression
ClusteringColumnRestrictionsTest 23 0 0 0 0.906
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.selection
Name Tests Errors Failures Skipped Time(s)
SelectionColumnMappingTest-cdc 2 0 0 0 5.195
TermSelectionTest-cdc 8 0 0 0 7.190
SelectionColumnMappingTest-compression 2 0 0 0 5.341
TermSelectionTest-compression 8 0 0 0 7.465
SelectionColumnMappingTest 2 0 0 0 5.750
TermSelectionTest 8 0 0 0 9.089
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.statements
Name Tests Errors Failures Skipped Time(s)
AlterRoleStatementTest-cdc 4 0 0 0 0.877
CreateRoleStatementTest-cdc 4 0 0 0 3.679
CreateUserStatementTest-cdc 1 0 0 0 0.894
DescribeStatementTest-cdc 12 0 0 0 17.537
PropertyDefinitionsTest-cdc 2 0 0 0 0.226
SelectStatementTest-cdc 1 0 0 0 3.122
AlterRoleStatementTest-compression 4 0 0 0 0.900
CreateRoleStatementTest-compression 4 0 0 0 3.721
CreateUserStatementTest-compression 1 0 0 0 0.842
DescribeStatementTest-compression 12 0 0 0 18.105
PropertyDefinitionsTest-compression 2 0 0 0 0.250
SelectStatementTest-compression 1 0 0 0 3.406
AlterRoleStatementTest 4 0 0 0 0.768
CreateRoleStatementTest 4 0 0 0 4.035
CreateUserStatementTest 1 0 0 0 0.787
DescribeStatementTest 12 0 0 0 20.372
PropertyDefinitionsTest 2 0 0 0 0.203
SelectStatementTest 1 0 0 0 3.090
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.validation.entities
Name Tests Errors Failures Skipped Time(s)
CollectionsTest-cdc 50 0 0 0 29.483
CountersTest-cdc 7 0 0 0 5.643
DateTypeTest-cdc 1 0 0 0 3.356
FrozenCollectionsTest-cdc 34 0 0 0 13.815
JsonTest-cdc 22 0 0 0 22.002
SecondaryIndexOnMapEntriesTest-cdc 11 0 0 0 7.300
SecondaryIndexOnStaticColumnTest-cdc 6 0 0 0 6.642
SecondaryIndexTest-cdc 49 0 0 0 32.313
StaticColumnsTest-cdc 7 0 0 0 7.388
TimestampTest-cdc 8 0 0 0 17.888
TimeuuidTest-cdc 2 0 0 0 3.854
TupleTypeTest-cdc 12 0 0 0 7.071
TypeTest-cdc 4 0 0 0 4.442
UFAuthTest-cdc 26 0 0 0 14.017
UFIdentificationTest-cdc 14 0 0 1 13.544
UFJavaTest-cdc 18 0 0 0 20.956
UFPureScriptTupleCollectionTest-cdc 1 0 0 0 12.913
UFScriptTest-cdc 12 0 0 0 17.695
UFSecurityTest-cdc 2 0 0 0 6.273
UFTest-cdc 24 0 0 0 20.942
UFTypesTest-cdc 7 0 0 0 19.182
UFVerifierTest-cdc 20 0 0 0 6.488
UserTypesTest-cdc 27 0 0 0 14.720
VirtualTableTest-cdc 4 0 0 0 13.146
CollectionsTest-compression 50 0 0 0 28.542
CountersTest-compression 7 0 0 0 5.354
DateTypeTest-compression 1 0 0 0 3.403
FrozenCollectionsTest-compression 34 0 0 0 13.312
JsonTest-compression 22 0 0 0 22.131
SecondaryIndexOnMapEntriesTest- 11 0 0 0 7.336
compression
SecondaryIndexOnStaticColumnTest- 6 0 0 0 6.714
compression
SecondaryIndexTest-compression 49 0 0 0 31.672
StaticColumnsTest-compression 7 0 0 0 7.574
TimestampTest-compression 8 0 0 0 17.962
TimeuuidTest-compression 2 0 0 0 4.015
TupleTypeTest-compression 12 0 0 0 7.247
TypeTest-compression 4 0 0 0 4.536
UFAuthTest-compression 26 0 0 0 13.004
UFIdentificationTest-compression 14 0 0 1 13.709
UFJavaTest-compression 18 0 0 0 22.031
UFPureScriptTupleCollectionTest- 1 0 0 0 13.160
compression
UFScriptTest-compression 12 0 0 0 17.844
UFSecurityTest-compression 2 0 0 0 6.352
UFTest-compression 24 0 0 0 21.380
UFTypesTest-compression 7 0 0 0 18.450
UFVerifierTest-compression 20 0 0 0 6.706
UserTypesTest-compression 27 0 0 0 15.182
VirtualTableTest-compression 4 0 0 0 13.178
CollectionsTest 50 0 0 0 39.237
CountersTest 7 0 0 0 6.465
DateTypeTest 1 0 0 0 3.385
FrozenCollectionsTest 34 0 0 0 19.917
JsonTest 22 0 0 0 25.632
SecondaryIndexOnMapEntriesTest 11 0 0 0 9.780
SecondaryIndexOnStaticColumnTest 6 0 0 0 8.555
SecondaryIndexTest 49 0 0 0 49.760
StaticColumnsTest 7 0 0 0 8.987
TimestampTest 8 0 0 0 19.378
TimeuuidTest 2 0 0 0 4.218
TupleTypeTest 12 0 0 0 9.482
TypeTest 4 0 0 0 5.174
UFAuthTest 26 0 0 0 20.821
UFIdentificationTest 14 0 0 1 20.532
UFJavaTest 18 0 0 0 25.629
UFPureScriptTupleCollectionTest 1 0 0 0 13.435
UFScriptTest 12 0 0 0 21.193
UFSecurityTest 2 0 0 0 6.987
UFTest 24 0 0 0 26.333
UFTypesTest 7 0 0 0 21.635
UFVerifierTest 20 0 0 0 8.542
UserTypesTest 27 0 0 0 23.568
VirtualTableTest 4 0 0 0 13.789
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.validation.miscellaneous
Name Tests Errors Failures Skipped Time(s)
CrcCheckChanceTest-cdc 3 0 0 0 5.998
OverflowTest-cdc 14 0 0 0 7.183
PgStringTest-cdc 3 0 0 0 4.414
RoleSyntaxTest-cdc 9 0 0 0 4.439
SSTableMetadataTrackingTest-cdc 7 0 0 0 5.555
SSTablesIteratedTest-cdc 14 0 0 0 9.932
TombstonesTest-cdc 6 0 0 0 7.494
CrcCheckChanceTest-compression 3 0 0 0 6.929
OverflowTest-compression 14 0 0 0 7.330
PgStringTest-compression 3 0 0 0 4.469
RoleSyntaxTest-compression 9 0 0 0 4.666
SSTableMetadataTrackingTest-compression 7 0 0 0 5.575
SSTablesIteratedTest-compression 14 0 0 0 10.421
TombstonesTest-compression 6 0 0 0 7.635
CrcCheckChanceTest 3 0 0 0 7.580
OverflowTest 14 0 0 0 9.716
PgStringTest 3 0 0 0 4.778
RoleSyntaxTest 9 0 0 0 5.334
SSTableMetadataTrackingTest 7 0 0 0 6.702
SSTablesIteratedTest 14 0 0 0 12.282
TombstonesTest 6 0 0 0 8.452
-------------------------------------------------------------------------------
org.apache.cassandra.cql3.validation.operations
Name Tests Errors Failures Skipped Time(s)
AggregationTest-cdc 50 0 0 0 31.232
AlterTest-cdc 26 0 0 0 20.995
BatchTest-cdc 11 0 0 0 48.609
CreateTest-cdc 21 0 0 0 9.971
DeleteTest-cdc 33 0 0 0 17.964
DropRecreateAndRestoreTest-cdc 4 0 0 0 4.760
DropTest-cdc 2 0 0 0 3.886
InsertTest-cdc 8 0 0 0 6.116
InsertUpdateIfConditionTest-cdc 42 0 0 0 21.221
SelectGroupByTest-cdc 7 0 0 0 18.672
SelectLimitTest-cdc 7 0 0 0 16.403
SelectMultiColumnRelationTest-cdc 22 0 0 0 9.934
SelectOrderByTest-cdc 17 0 0 0 8.640
SelectOrderedPartitionerTest-cdc 20 0 0 0 9.498
SelectSingleColumnRelationTest-cdc 23 0 0 0 10.887
SelectTest-cdc 82 0 0 0 29.691
TTLTest-cdc 7 0 0 0 8.969
TruncateTest-cdc 1 0 0 0 3.600
UpdateTest-cdc 11 0 0 0 8.690
UseTest-cdc 1 0 0 0 3.210
AggregationTest-compression 50 0 0 0 31.677
AlterTest-compression 26 0 0 0 21.009
BatchTest-compression 11 0 0 0 48.603
CreateTest-compression 21 0 0 0 10.119
DeleteTest-compression 33 0 0 0 18.110
DropRecreateAndRestoreTest-compression 4 0 0 0 4.729
DropTest-compression 2 0 0 0 3.908
InsertTest-compression 8 0 0 0 6.267
InsertUpdateIfConditionTest-compression 42 0 0 0 21.218
SelectGroupByTest-compression 7 0 0 0 18.711
SelectLimitTest-compression 7 0 0 0 15.664
SelectMultiColumnRelationTest-compression 22 0 0 0 10.202
SelectOrderByTest-compression 17 0 0 0 8.782
SelectOrderedPartitionerTest-compression 20 0 0 0 9.696
SelectSingleColumnRelationTest- 23 0 0 0 11.946
compression
SelectTest-compression 82 0 0 0 30.150
TTLTest-compression 7 0 0 0 9.199
TruncateTest-compression 1 0 0 0 3.497
UpdateTest-compression 11 0 0 0 8.775
UseTest-compression 1 0 0 0 3.228
AggregationTest 50 0 0 0 44.832
AlterTest 26 0 0 0 27.648
BatchTest 11 0 0 0 50.584
CreateTest 21 0 0 0 14.849
DeleteTest 33 0 0 0 27.543
DropRecreateAndRestoreTest 4 0 0 0 5.372
DropTest 2 0 0 0 4.210
InsertTest 8 0 0 0 7.571
InsertUpdateIfConditionTest 42 0 0 0 31.677
SelectGroupByTest 7 0 0 0 21.386
SelectLimitTest 7 0 0 0 17.366
SelectMultiColumnRelationTest 22 0 0 0 14.909
SelectOrderByTest 17 0 0 0 12.710
SelectOrderedPartitionerTest 20 0 0 0 13.810
SelectSingleColumnRelationTest 23 0 0 0 16.375
SelectTest 82 0 0 0 69.326
TTLTest 7 0 0 0 15.730
TruncateTest 1 0 0 0 4.059
UpdateTest 11 0 0 0 14.720
UseTest 1 0 0 0 3.415
-------------------------------------------------------------------------------
org.apache.cassandra.db
Name Tests Errors Failures Skipped Time(s)
CellTest-cdc 11 0 0 0 3.086
CleanupTest-cdc 8 0 0 0 17.522
CleanupTransientTest-cdc 1 0 0 0 3.703
ColumnFamilyMetricTest-cdc 2 0 0 0 3.174
ColumnFamilyStoreTest-cdc 8 0 0 0 4.322
ColumnsTest-cdc 8 0 0 0 1.674
CounterCacheTest-cdc 5 0 0 0 3.369
CounterCellTest-cdc 5 0 0 0 3.118
CounterMutationTest-cdc 4 0 0 0 3.352
DeletePartitionTest-cdc 1 0 0 0 3.177
DigestTest-cdc 6 0 0 0 0.499
DirectoriesTest-cdc 13 0 0 0 1.053
DiskBoundaryManagerTest-cdc 4 0 0 0 4.516
ImportTest-cdc 14 0 0 0 8.286
KeyCacheTest-cdc 6 0 0 0 3.940
KeyspaceTest-cdc 10 0 0 0 6.699
LivenessInfoTest-cdc 2 0 0 0 0.388
MmapFileTest-cdc 1 0 0 0 0.303
MultiKeyspaceTest-cdc 1 0 0 0 3.427
MutationExceededMaxSizeExceptionTest-cdc 1 0 0 0 0.069
NameSortTest-cdc 3 0 0 0 3.536
NativeCellTest-cdc 1 0 0 0 1.039
PartitionRangeReadTest-cdc 7 0 0 0 3.659
PartitionTest-cdc 4 0 0 0 3.172
RangeTombstoneListTest-cdc 25 0 0 0 1.050
RangeTombstoneTest-cdc 14 0 0 0 4.083
ReadCommandTest-cdc 23 0 0 0 4.841
ReadCommandVerbHandlerTest-cdc 4 0 0 0 4.382
ReadMessageTest-cdc 3 0 0 0 3.222
ReadResponseTest-cdc 8 0 0 0 0.622
RecoveryManagerFlushedTest-cdc 6 0 0 0 3.333
RecoveryManagerMissingHeaderTest-cdc 6 0 0 0 3.004
RecoveryManagerTest-cdc 42 0 0 0 6.712
RecoveryManagerTruncateTest-cdc 6 0 0 0 3.151
RemoveCellTest-cdc 1 0 0 0 3.426
RepairedDataInfoTest-cdc 7 0 0 0 1.585
RepairedDataTombstonesTest-cdc 7 0 0 0 27.658
RowCacheCQLTest-cdc 3 0 0 0 4.196
RowCacheTest-cdc 11 0 0 0 4.688
RowIndexEntryTest-cdc 4 0 0 0 4.117
RowIterationTest-cdc 3 0 0 0 4.140
RowTest-cdc 4 0 0 0 3.067
SchemaCQLHelperTest-cdc 9 0 0 0 5.693
ScrubTest-cdc 17 0 0 0 6.794
SecondaryIndexTest-cdc 14 0 0 0 9.185
SerializationHeaderTest-cdc 1 0 0 0 1.486
SinglePartitionReadCommandCQLTest-cdc 1 0 0 0 3.347
SinglePartitionSliceCommandTest-cdc 7 0 0 0 3.699
SystemKeyspaceMigrator40Test-cdc 4 0 0 0 3.923
SystemKeyspaceTest-cdc 4 0 0 0 2.463
TimeSortTest-cdc 2 0 0 0 4.399
TransformerTest-cdc 1 0 0 0 0.997
VerifyTest-cdc 23 0 0 0 3.945
CellTest-compression 11 0 0 0 3.124
CleanupTest-compression 8 0 0 0 17.724
CleanupTransientTest-compression 1 0 0 0 3.778
ColumnFamilyMetricTest-compression 2 0 0 0 3.321
ColumnFamilyStoreTest-compression 8 0 0 0 4.405
ColumnsTest-compression 8 0 0 0 1.750
CounterCacheTest-compression 5 0 0 0 3.474
CounterCellTest-compression 5 0 0 0 3.247
CounterMutationTest-compression 4 0 0 0 3.544
DeletePartitionTest-compression 1 0 0 0 3.338
DigestTest-compression 6 0 0 0 0.539
DirectoriesTest-compression 13 0 0 0 1.137
DiskBoundaryManagerTest-compression 4 0 0 0 4.767
ImportTest-compression 14 0 0 0 8.571
KeyCacheTest-compression 6 0 0 0 4.087
KeyspaceTest-compression 10 0 0 0 7.071
LivenessInfoTest-compression 2 0 0 0 0.433
MmapFileTest-compression 1 0 0 0 0.375
MultiKeyspaceTest-compression 1 0 0 0 3.548
MutationExceededMaxSizeExceptionTest- 1 0 0 0 0.072
compression
NameSortTest-compression 3 0 0 0 3.684
NativeCellTest-compression 1 0 0 0 1.009
PartitionRangeReadTest-compression 7 0 0 0 3.864
PartitionTest-compression 4 0 0 0 3.370
RangeTombstoneListTest-compression 25 0 0 0 1.134
RangeTombstoneTest-compression 14 0 0 0 4.310
ReadCommandTest-compression 23 0 0 0 5.065
ReadCommandVerbHandlerTest-compression 4 0 0 0 6.372
ReadMessageTest-compression 3 0 0 0 3.402
ReadResponseTest-compression 8 0 0 0 0.667
RecoveryManagerFlushedTest-compression 6 0 0 0 3.468
RecoveryManagerMissingHeaderTest- 6 0 0 0 3.043
compression
RecoveryManagerTest-compression 42 0 0 0 6.885
RecoveryManagerTruncateTest-compression 6 0 0 0 3.276
RemoveCellTest-compression 1 0 0 0 3.456
RepairedDataInfoTest-compression 7 0 0 0 1.548
RepairedDataTombstonesTest-compression 7 0 0 0 27.723
RowCacheCQLTest-compression 3 0 0 0 4.326
RowCacheTest-compression 11 0 0 0 4.832
RowIndexEntryTest-compression 4 0 0 0 4.249
RowIterationTest-compression 3 0 0 0 4.288
RowTest-compression 4 0 0 0 3.201
SchemaCQLHelperTest-compression 9 0 0 0 5.881
ScrubTest-compression 17 0 0 2 7.173
SecondaryIndexTest-compression 14 0 0 0 9.256
SerializationHeaderTest-compression 1 0 0 0 1.566
SinglePartitionReadCommandCQLTest- 1 0 0 0 3.416
compression
SinglePartitionSliceCommandTest- 7 0 0 0 3.722
compression
SystemKeyspaceMigrator40Test-compression 4 0 0 0 4.129
SystemKeyspaceTest-compression 4 0 0 0 2.558
TimeSortTest-compression 2 0 0 0 4.517
TransformerTest-compression 1 0 0 0 1.003
VerifyTest-compression 23 0 0 0 4.162
CellTest 11 0 0 0 3.020
CleanupTest 8 0 0 0 19.110
CleanupTransientTest 1 0 0 0 3.694
ColumnFamilyMetricTest 2 0 0 0 3.101
ColumnFamilyStoreTest 8 0 0 0 4.647
ColumnsTest 8 0 0 0 1.522
CounterCacheTest 5 0 0 0 3.399
CounterCellTest 5 0 0 0 2.971
CounterMutationTest 4 0 0 0 3.430
DeletePartitionTest 1 0 0 0 3.063
DigestTest 6 0 0 0 0.462
DirectoriesTest 13 0 0 0 0.969
DiskBoundaryManagerTest 4 0 0 0 5.212
ImportTest 14 0 0 0 11.055
KeyCacheTest 6 0 0 0 3.943
KeyspaceTest 10 0 0 0 8.306
LivenessInfoTest 2 0 0 0 0.334
MmapFileTest 1 0 0 0 0.278
MultiKeyspaceTest 1 0 0 0 3.575
MutationExceededMaxSizeExceptionTest 1 0 0 0 0.059
NameSortTest 3 0 0 0 3.377
NativeCellTest 1 0 0 0 0.956
PartitionRangeReadTest 7 0 0 0 3.670
PartitionTest 4 0 0 0 3.186
RangeTombstoneListTest 25 0 0 0 0.956
RangeTombstoneTest 14 0 0 0 4.557
ReadCommandTest 23 0 0 0 5.661
ReadCommandVerbHandlerTest 4 0 0 0 4.729
ReadMessageTest 3 0 0 0 3.209
ReadResponseTest 8 0 0 0 0.563
RecoveryManagerFlushedTest 6 0 0 0 3.516
RecoveryManagerMissingHeaderTest 6 0 0 0 3.084
RecoveryManagerTest 42 0 0 0 8.709
RecoveryManagerTruncateTest 6 0 0 0 3.474
RemoveCellTest 1 0 0 0 3.343
RepairedDataInfoTest 7 0 0 0 1.427
RepairedDataTombstonesTest 7 0 0 0 29.254
RowCacheCQLTest 3 0 0 0 4.667
RowCacheTest 11 0 0 0 4.848
RowIndexEntryTest 4 0 0 0 4.605
RowIterationTest 3 0 0 0 4.737
RowTest 4 0 0 0 2.975
SchemaCQLHelperTest 9 0 0 0 7.091
ScrubTest 17 0 0 0 7.270
SecondaryIndexTest 14 0 0 0 10.149
SerializationHeaderTest 1 0 0 0 1.336
SinglePartitionReadCommandCQLTest 1 0 0 0 3.374
SinglePartitionSliceCommandTest 7 0 0 0 3.811
SystemKeyspaceMigrator40Test 4 0 0 0 4.534
SystemKeyspaceTest 4 0 0 0 2.313
TimeSortTest 2 0 0 0 4.785
TransformerTest 1 0 0 0 0.898
VerifyTest 23 0 0 0 4.076
-------------------------------------------------------------------------------
org.apache.cassandra.db.aggregation
Name Tests Errors Failures Skipped Time(s)
GroupMakerTest-cdc 6 0 0 0 0.823
GroupMakerTest-compression 6 0 0 0 0.897
GroupMakerTest 6 0 0 0 0.762
-------------------------------------------------------------------------------
org.apache.cassandra.db.columniterator
Name Tests Errors Failures Skipped Time(s)
SSTableReverseIteratorTest-cdc 1 0 0 0 3.356
SSTableReverseIteratorTest-compression 1 0 0 0 3.507
SSTableReverseIteratorTest 1 0 0 0 3.354
-------------------------------------------------------------------------------
org.apache.cassandra.db.commitlog
Name Tests Errors Failures Skipped Time(s)
BatchCommitLogStressTest 15 0 0 0 196.906
CommitLogStressTest 1 0 0 1 0.059
GroupCommitLogStressTest 15 0 0 0 185.756
PeriodicCommitLogStressTest 15 0 0 0 239.711
AbstractCommitLogServiceTest-cdc 9 0 0 0 1.179
BatchCommitLogTest-cdc 174 0 0 0 7.337
CommitLogCQLTest-cdc 1 0 0 0 3.428
CommitLogChainedMarkersTest-cdc 1 0 0 0 3.905
CommitLogDescriptorTest-cdc 14 0 0 0 13.522
CommitLogFailurePolicyTest-cdc 4 0 0 0 5.740
CommitLogInitWithExceptionTest-cdc 1 0 0 0 1.556
CommitLogReaderTest-cdc 5 0 0 0 6.009
CommitLogSegmentBackpressureTest-cdc 1 0 0 0 4.637
CommitLogSegmentManagerCDCTest-cdc 7 0 0 0 8.595
CommitLogTest-cdc 1 0 0 1 0.058
CommitLogUpgradeTest-cdc 1 0 0 0 3.480
CommitlogShutdownTest-cdc 1 0 0 0 3.661
GroupCommitLogTest-cdc 162 0 0 0 13.524
SegmentReaderTest-cdc 6 0 0 0 1.256
SnapshotDeletingTest-cdc 1 0 0 1 3.163
AbstractCommitLogServiceTest-compression 9 0 0 0 1.159
BatchCommitLogTest-compression 174 0 0 0 7.488
CommitLogCQLTest-compression 1 0 0 0 3.507
CommitLogChainedMarkersTest-compression 1 0 0 0 3.967
CommitLogDescriptorTest-compression 14 0 0 0 13.581
CommitLogFailurePolicyTest-compression 4 0 0 0 5.888
CommitLogInitWithExceptionTest- 1 0 0 0 1.546
compression
CommitLogReaderTest-compression 5 0 0 0 6.126
CommitLogSegmentBackpressureTest- 1 0 0 0 4.809
compression
CommitLogSegmentManagerCDCTest- 7 0 0 0 8.702
compression
CommitLogTest-compression 1 0 0 1 0.060
CommitLogUpgradeTest-compression 1 0 0 0 3.359
CommitlogShutdownTest-compression 1 0 0 0 3.802
GroupCommitLogTest-compression 162 0 0 0 13.664
SegmentReaderTest-compression 6 0 0 0 1.238
SnapshotDeletingTest-compression 1 0 0 1 3.272
AbstractCommitLogServiceTest 9 0 0 0 1.066
BatchCommitLogTest 174 0 0 0 9.240
CommitLogCQLTest 1 0 0 0 3.510
CommitLogChainedMarkersTest 1 0 0 0 3.860
CommitLogDescriptorTest 14 0 0 0 11.687
CommitLogFailurePolicyTest 4 0 0 0 5.604
CommitLogInitWithExceptionTest 1 0 0 0 1.507
CommitLogReaderTest 5 0 0 0 6.653
CommitLogSegmentBackpressureTest 1 0 0 0 4.586
CommitLogSegmentManagerCDCTest 7 0 0 0 10.180
CommitLogTest 1 0 0 1 0.053
CommitLogUpgradeTest 1 0 0 0 3.240
CommitlogShutdownTest 1 0 0 0 3.608
GroupCommitLogTest 162 0 0 0 15.419
SegmentReaderTest 6 0 0 0 1.140
SnapshotDeletingTest 1 0 0 1 3.025
-------------------------------------------------------------------------------
org.apache.cassandra.db.compaction
Name Tests Errors Failures Skipped Time
(s)
LongCompactionsTest 4 0 0 0 18.734
LongLeveledCompactionStrategyTest 3 0 0 0 19.231
AbstractCompactionStrategyTest-cdc 4 0 0 0 3.618
AbstractPendingRepairTest-cdc 1 0 0 1 0.058
ActiveCompactionsTest-cdc 6 0 0 0 5.680
AntiCompactionBytemanTest-cdc 1 0 0 0 6.220
AntiCompactionTest-cdc 15 0 0 0 26.589
CancelCompactionsTest-cdc 8 0 0 0 9.410
CompactionAwareWriterTest-cdc 4 0 0 0 64.451
CompactionControllerTest-cdc 2 0 0 0 3.664
CompactionExecutorTest-cdc 3 0 0 0 0.929
CompactionIteratorTest-cdc 12 0 0 0 6.790
CompactionStrategyManagerPendingRepairTest- 9 0 0 0 3.912
cdc
CompactionStrategyManagerTest-cdc 5 0 0 0 5.601
CompactionTaskTest-cdc 2 0 0 0 3.281
CompactionsBytemanTest-cdc 6 0 0 0 14.050
CompactionsCQLTest-cdc 24 0 0 0 35.244
CompactionsPurgeTest-cdc 10 0 0 0 3.826
CompactionsTest-cdc 6 0 0 1 16.628
CorruptedSSTablesCompactionsTest-cdc 2 0 0 0 4.948
DateTieredCompactionStrategyTest-cdc 7 0 0 0 6.912
LeveledCompactionStrategyTest-cdc 8 0 0 0 8.679
NeverPurgeTest-cdc 4 0 0 0 8.988
OneCompactionTest-cdc 2 0 0 0 3.299
PendingRepairManagerTest-cdc 16 0 0 0 4.423
SingleSSTableLCSTaskTest-cdc 4 0 0 0 67.745
SizeTieredCompactionStrategyTest-cdc 3 0 0 0 3.148
TTLExpiryTest-cdc 5 0 0 0 10.021
TimeWindowCompactionStrategyTest-cdc 5 0 0 0 8.622
ValidationExecutorTest-cdc 2 0 0 0 0.620
AbstractCompactionStrategyTest-compression 4 0 0 0 3.662
AbstractPendingRepairTest-compression 1 0 0 1 0.065
ActiveCompactionsTest-compression 6 0 0 0 5.838
AntiCompactionBytemanTest-compression 1 0 0 0 6.270
AntiCompactionTest-compression 15 0 0 0 30.920
CancelCompactionsTest-compression 8 0 0 0 10.536
CompactionAwareWriterTest-compression 4 0 0 0 68.700
CompactionControllerTest-compression 2 0 0 0 3.702
CompactionExecutorTest-compression 3 0 0 0 0.917
CompactionIteratorTest-compression 12 0 0 0 6.899
CompactionStrategyManagerPendingRepairTest- 9 0 0 0 4.095
compression
CompactionStrategyManagerTest-compression 5 0 0 0 5.679
CompactionTaskTest-compression 2 0 0 0 3.368
CompactionsBytemanTest-compression 6 0 0 0 13.218
CompactionsCQLTest-compression 24 0 0 0 35.973
CompactionsPurgeTest-compression 10 0 0 0 3.915
CompactionsTest-compression 6 0 0 1 16.857
CorruptedSSTablesCompactionsTest- 2 0 0 0 5.066
compression
DateTieredCompactionStrategyTest- 7 0 0 0 7.076
compression
LeveledCompactionStrategyTest-compression 8 0 0 0 11.423
NeverPurgeTest-compression 4 0 0 0 9.111
OneCompactionTest-compression 2 0 0 0 3.337
PendingRepairManagerTest-compression 16 0 0 0 4.533
SingleSSTableLCSTaskTest-compression 4 0 0 0 88.973
SizeTieredCompactionStrategyTest- 3 0 0 0 3.320
compression
TTLExpiryTest-compression 5 0 0 0 10.129
TimeWindowCompactionStrategyTest- 5 0 0 0 8.740
compression
ValidationExecutorTest-compression 2 0 0 0 0.603
AbstractCompactionStrategyTest 4 0 0 0 4.001
AbstractPendingRepairTest 1 0 0 1 0.062
ActiveCompactionsTest 6 0 0 0 7.163
AntiCompactionBytemanTest 1 0 0 0 6.496
AntiCompactionTest 15 0 0 0 24.213
CancelCompactionsTest 8 0 0 0 10.754
CompactionAwareWriterTest 4 0 0 0 59.964
CompactionControllerTest 2 0 0 0 3.636
CompactionExecutorTest 3 0 0 0 0.821
CompactionIteratorTest 12 0 0 0 8.196
CompactionStrategyManagerPendingRepairTest 9 0 0 0 4.187
CompactionStrategyManagerTest 5 0 0 0 6.841
CompactionTaskTest 2 0 0 0 3.324
CompactionsBytemanTest 6 0 0 0 14.527
CompactionsCQLTest 24 0 0 0 42.173
CompactionsPurgeTest 10 0 0 0 4.256
CompactionsTest 6 0 0 1 17.003
CorruptedSSTablesCompactionsTest 2 0 0 0 5.590
DateTieredCompactionStrategyTest 7 0 0 0 7.755
LeveledCompactionStrategyTest 8 0 0 0 11.187
NeverPurgeTest 4 0 0 0 9.792
OneCompactionTest 2 0 0 0 3.183
PendingRepairManagerTest 16 0 0 0 4.940
SingleSSTableLCSTaskTest 4 0 0 0 78.998
SizeTieredCompactionStrategyTest 3 0 0 0 3.160
TTLExpiryTest 5 0 0 0 10.452
TimeWindowCompactionStrategyTest 5 0 0 0 9.246
ValidationExecutorTest 2 0 0 0 0.542
-------------------------------------------------------------------------------
org.apache.cassandra.db.composites
Name Tests Errors Failures Skipped Time(s)
CTypeTest-cdc 3 0 0 0 0.518
CTypeTest-compression 3 0 0 0 0.535
CTypeTest 3 0 0 0 0.453
-------------------------------------------------------------------------------
org.apache.cassandra.db.context
Name Tests Errors Failures Skipped Time(s)
CounterContextTest-cdc 8 0 0 0 2.052
CounterContextTest-compression 8 0 0 0 2.030
CounterContextTest 8 0 0 0 1.950
-------------------------------------------------------------------------------
org.apache.cassandra.db.filter
Name Tests Errors Failures Skipped Time(s)
ColumnFilterTest-cdc 2 0 0 0 0.626
RowFilterTest-cdc 1 0 0 0 0.625
SliceTest-cdc 4 0 0 0 0.268
ColumnFilterTest-compression 2 0 0 0 0.662
RowFilterTest-compression 1 0 0 0 0.626
SliceTest-compression 4 0 0 0 0.274
ColumnFilterTest 2 0 0 0 0.554
RowFilterTest 1 0 0 0 0.553
SliceTest 4 0 0 0 0.233
-------------------------------------------------------------------------------
org.apache.cassandra.db.lifecycle
Name Tests Errors Failures Skipped Time(s)
HelpersTest-cdc 8 0 0 0 14.746
LifecycleTransactionTest-cdc 8 0 0 0 2.617
LogTransactionTest-cdc 38 0 0 0 2.800
RealTransactionsTest-cdc 3 0 0 0 3.904
TrackerTest-cdc 7 0 0 0 2.268
ViewTest-cdc 3 0 0 0 2.080
HelpersTest-compression 8 0 0 0 14.657
LifecycleTransactionTest-compression 8 0 0 0 2.651
LogTransactionTest-compression 38 0 0 0 2.882
RealTransactionsTest-compression 3 0 0 0 4.153
TrackerTest-compression 7 0 0 0 2.367
ViewTest-compression 3 0 0 0 2.150
HelpersTest 8 0 0 0 13.337
LifecycleTransactionTest 8 0 0 0 2.496
LogTransactionTest 38 0 0 0 3.084
RealTransactionsTest 3 0 0 0 3.916
TrackerTest 7 0 0 0 2.142
ViewTest 3 0 0 0 1.954
-------------------------------------------------------------------------------
org.apache.cassandra.db.marshal
Name Tests Errors Failures Skipped Time(s)
AbstractCompositeTypeTest-cdc 2 0 0 0 0.231
BytesTypeTest-cdc 2 0 0 0 0.245
CollectionTypeTest-cdc 6 0 0 0 0.326
CompositeTypeTest-cdc 8 0 0 0 3.115
DecimalTypeTest-cdc 3 0 0 0 0.230
DynamicCompositeTypeTest-cdc 8 0 0 0 3.103
EmptyTypeTest-cdc 7 0 0 0 0.833
IntegerTypeTest-cdc 10 0 0 0 0.269
JsonConversionTest-cdc 30 0 0 0 0.702
ReversedTypeTest-cdc 1 0 0 0 0.270
RoundTripTest-cdc 8 0 0 0 0.498
SimpleDateTypeTest-cdc 1 0 0 0 0.286
TimeTypeTest-cdc 2 0 0 0 3.502
TimeUUIDTypeTest-cdc 6 0 0 0 7.576
TypeCompareTest-cdc 6 0 0 0 0.289
TypeParserTest-cdc 3 0 0 0 0.884
TypeValidationTest-cdc 10 0 0 0 0.656
UUIDTypeTest-cdc 6 0 0 0 3.787
AbstractCompositeTypeTest-compression 2 0 0 0 0.226
BytesTypeTest-compression 2 0 0 0 0.242
CollectionTypeTest-compression 6 0 0 0 0.319
CompositeTypeTest-compression 8 0 0 0 3.131
DecimalTypeTest-compression 3 0 0 0 0.237
DynamicCompositeTypeTest-compression 8 0 0 0 3.200
EmptyTypeTest-compression 7 0 0 0 0.898
IntegerTypeTest-compression 10 0 0 0 0.287
JsonConversionTest-compression 30 0 0 0 0.736
ReversedTypeTest-compression 1 0 0 0 0.257
RoundTripTest-compression 8 0 0 0 0.499
SimpleDateTypeTest-compression 1 0 0 0 0.272
TimeTypeTest-compression 2 0 0 0 3.483
TimeUUIDTypeTest-compression 6 0 0 0 7.891
TypeCompareTest-compression 6 0 0 0 0.279
TypeParserTest-compression 3 0 0 0 0.910
TypeValidationTest-compression 10 0 0 0 0.679
UUIDTypeTest-compression 6 0 0 0 3.791
AbstractCompositeTypeTest 2 0 0 0 0.229
BytesTypeTest 2 0 0 0 0.249
CollectionTypeTest 6 0 0 0 0.276
CompositeTypeTest 8 0 0 0 2.983
DecimalTypeTest 3 0 0 0 0.207
DynamicCompositeTypeTest 8 0 0 0 2.960
EmptyTypeTest 7 0 0 0 0.758
IntegerTypeTest 10 0 0 0 0.277
JsonConversionTest 30 0 0 0 0.620
ReversedTypeTest 1 0 0 0 0.223
RoundTripTest 8 0 0 0 0.449
SimpleDateTypeTest 1 0 0 0 0.239
TimeTypeTest 2 0 0 0 3.625
TimeUUIDTypeTest 6 0 0 0 7.742
TypeCompareTest 6 0 0 0 0.249
TypeParserTest 3 0 0 0 0.770
TypeValidationTest 10 0 0 0 0.662
UUIDTypeTest 6 0 0 0 3.813
-------------------------------------------------------------------------------
org.apache.cassandra.db.monitoring
Name Tests Errors Failures Skipped Time(s)
MonitoringTaskTest-cdc 15 0 0 0 5.401
MonitoringTaskTest-compression 15 0 0 0 5.400
MonitoringTaskTest 15 0 0 0 5.456
-------------------------------------------------------------------------------
org.apache.cassandra.db.partition
Name Tests Errors Failures Skipped Time(s)
PartitionImplementationTest-cdc 7 0 0 0 55.606
PartitionUpdateTest-cdc 3 0 0 0 4.039
PartitionImplementationTest-compression 7 0 0 0 53.915
PartitionUpdateTest-compression 3 0 0 0 4.259
PartitionImplementationTest 7 0 0 0 51.761
PartitionUpdateTest 3 0 0 0 4.576
-------------------------------------------------------------------------------
org.apache.cassandra.db.partitions
Name Tests Errors Failures Skipped Time(s)
PurgeFunctionTest-cdc 8 0 0 0 0.583
PurgeFunctionTest-compression 8 0 0 0 0.657
PurgeFunctionTest 8 0 0 0 0.539
-------------------------------------------------------------------------------
org.apache.cassandra.db.repair
Name Tests Errors Failures Skipped Time
(s)
AbstractPendingAntiCompactionTest-cdc 1 0 0 1 0.067
CompactionManagerGetSSTablesForValidationTest- 3 0 0 0 3.367
cdc
PendingAntiCompactionBytemanTest-cdc 1 0 0 0 3.831
PendingAntiCompactionTest-cdc 18 0 0 0 12.501
AbstractPendingAntiCompactionTest-compression 1 0 0 1 0.064
CompactionManagerGetSSTablesForValidationTest- 3 0 0 0 3.309
compression
PendingAntiCompactionBytemanTest-compression 1 0 0 0 3.959
PendingAntiCompactionTest-compression 18 0 0 0 12.654
AbstractPendingAntiCompactionTest 1 0 0 1 0.060
CompactionManagerGetSSTablesForValidationTest 3 0 0 0 3.480
PendingAntiCompactionBytemanTest 1 0 0 0 3.917
PendingAntiCompactionTest 18 0 0 0 13.466
-------------------------------------------------------------------------------
org.apache.cassandra.db.rows
Name Tests Errors Failures Skipped Time(s)
ColumnMetadataVersionComparatorTest-cdc 10 0 0 0 0.315
EncodingStatsTest-cdc 10 0 0 0 0.148
RowAndDeletionMergeIteratorTest-cdc 10 0 0 0 3.075
RowsTest-cdc 9 0 0 0 1.021
ThrottledUnfilteredIteratorTest-cdc 7 0 0 0 9.852
UnfilteredRowIteratorsMergeTest-cdc 5 0 0 0 24.577
UnfilteredRowIteratorsTest-cdc 1 0 0 0 0.661
ColumnMetadataVersionComparatorTest- 10 0 0 0 0.336
compression
EncodingStatsTest-compression 10 0 0 0 0.151
RowAndDeletionMergeIteratorTest- 10 0 0 0 3.100
compression
RowsTest-compression 9 0 0 0 1.093
ThrottledUnfilteredIteratorTest- 7 0 0 0 9.922
compression
UnfilteredRowIteratorsMergeTest- 5 0 0 0 24.750
compression
UnfilteredRowIteratorsTest-compression 1 0 0 0 0.644
ColumnMetadataVersionComparatorTest 10 0 0 0 0.334
EncodingStatsTest 10 0 0 0 0.135
RowAndDeletionMergeIteratorTest 10 0 0 0 2.967
RowsTest 9 0 0 0 0.905
ThrottledUnfilteredIteratorTest 7 0 0 0 10.051
UnfilteredRowIteratorsMergeTest 5 0 0 0 23.590
UnfilteredRowIteratorsTest 1 0 0 0 0.569
-------------------------------------------------------------------------------
org.apache.cassandra.db.streaming
Name Tests Errors Failures Skipped Time(s)
CassandraEntireSSTableStreamWriterTest- 2 0 0 0 3.489
cdc
CassandraOutgoingFileTest-cdc 3 0 0 0 3.208
CassandraStreamHeaderTest-cdc 2 0 0 0 0.867
CassandraStreamManagerTest-cdc 2 0 0 0 3.466
ComponentManifestTest-cdc 2 0 0 0 0.255
StreamRequestTest-cdc 1 0 0 0 0.880
CassandraEntireSSTableStreamWriterTest- 2 0 0 0 3.726
compression
CassandraOutgoingFileTest-compression 3 0 0 0 3.545
CassandraStreamHeaderTest-compression 2 0 0 0 0.885
CassandraStreamManagerTest-compression 2 0 0 0 3.586
ComponentManifestTest-compression 2 0 0 0 0.276
StreamRequestTest-compression 1 0 0 0 0.906
CassandraEntireSSTableStreamWriterTest 2 0 0 0 3.471
CassandraOutgoingFileTest 3 0 0 0 3.293
CassandraStreamHeaderTest 2 0 0 0 0.817
CassandraStreamManagerTest 2 0 0 0 3.454
ComponentManifestTest 2 0 0 0 0.234
StreamRequestTest 1 0 0 0 0.775
-------------------------------------------------------------------------------
org.apache.cassandra.db.transform
Name Tests Errors Failures Skipped Time(s)
DuplicateRowCheckerTest-cdc 7 0 0 0 5.649
RTTransformationsTest-cdc 15 0 0 0 0.594
DuplicateRowCheckerTest-compression 7 0 0 0 5.870
RTTransformationsTest-compression 15 0 0 0 0.634
DuplicateRowCheckerTest 7 0 0 0 6.885
RTTransformationsTest 15 0 0 0 0.562
-------------------------------------------------------------------------------
org.apache.cassandra.db.view
Name Tests Errors Failures Skipped Time(s)
ViewBuilderTaskTest-cdc 1 0 0 0 15.714
ViewUtilsTest-cdc 3 0 0 0 1.339
ViewBuilderTaskTest-compression 1 0 0 0 24.920
ViewUtilsTest-compression 3 0 0 0 1.503
ViewBuilderTaskTest 1 0 0 0 19.130
ViewUtilsTest 3 0 0 0 1.233
-------------------------------------------------------------------------------
org.apache.cassandra.db.virtual
Name Tests Errors Failures Skipped Time(s)
SettingsTableTest-cdc 7 0 0 0 13.394
SystemPropertiesTableTest-cdc 6 0 0 0 12.839
SettingsTableTest-compression 7 0 0 0 14.700
SystemPropertiesTableTest-compression 6 0 0 0 13.189
SettingsTableTest 7 0 0 0 14.732
SystemPropertiesTableTest 6 0 0 0 13.725
-------------------------------------------------------------------------------
org.apache.cassandra.dht
Name Tests Errors Failures Skipped Time(s)
BootStrapperTest-cdc 10 0 0 0 5.504
BoundsTest-cdc 1 0 0 0 0.279
ByteOrderedPartitionerTest-cdc 6 0 0 0 2.140
KeyCollisionTest-cdc 1 0 0 0 3.160
Murmur3PartitionerTest-cdc 10 0 0 0 1.681
OrderPreservingPartitionerTest-cdc 7 0 0 0 2.205
RandomPartitionerTest-cdc 9 0 0 0 1.999
RangeFetchMapCalculatorTest-cdc 12 0 0 0 0.930
RangeTest-cdc 30 0 0 0 13.834
SplitterTest-cdc 14 0 0 0 19.808
StreamStateStoreTest-cdc 1 0 0 0 2.052
BootStrapperTest-compression 10 0 0 0 7.715
BoundsTest-compression 1 0 0 0 0.316
ByteOrderedPartitionerTest-compression 6 0 0 0 2.321
KeyCollisionTest-compression 1 0 0 0 3.225
Murmur3PartitionerTest-compression 10 0 0 0 1.744
OrderPreservingPartitionerTest- 7 0 0 0 2.246
compression
RandomPartitionerTest-compression 9 0 0 0 2.216
RangeFetchMapCalculatorTest-compression 12 0 0 0 1.031
RangeTest-compression 30 0 0 0 13.269
SplitterTest-compression 14 0 0 0 19.443
StreamStateStoreTest-compression 1 0 0 0 2.112
BootStrapperTest 10 0 0 0 6.326
BoundsTest 1 0 0 0 0.231
ByteOrderedPartitionerTest 6 0 0 0 1.932
KeyCollisionTest 1 0 0 0 3.059
Murmur3PartitionerTest 10 0 0 0 1.699
OrderPreservingPartitionerTest 7 0 0 0 2.094
RandomPartitionerTest 9 0 0 0 2.061
RangeFetchMapCalculatorTest 12 0 0 0 0.845
RangeTest 30 0 0 0 13.938
SplitterTest 14 0 0 0 19.578
StreamStateStoreTest 1 0 0 0 1.867
-------------------------------------------------------------------------------
org.apache.cassandra.dht.tokenallocator
Name Tests Errors Failures Skipped Time(s)
AbstractReplicationAwareTokenAllocatorTest 1 0 0 1 0.059
Murmur3ReplicationAwareTokenAllocatorTest 2 0 0 0 152.531
NoReplicationTokenAllocatorTest 4 0 0 0 6.394
RandomReplicationAwareTokenAllocatorTest 2 0 0 0 65.562
-------------------------------------------------------------------------------
org.apache.cassandra.diag
Name Tests Errors Failures Skipped Time(s)
DiagnosticEventServiceTest-cdc 6 0 0 0 0.899
DiagnosticEventServiceTest-compression 6 0 0 0 0.926
DiagnosticEventServiceTest 6 0 0 0 0.802
-------------------------------------------------------------------------------
org.apache.cassandra.diag.store
Name Tests Errors Failures Skipped Time(s)
DiagnosticEventMemoryStoreTest-cdc 6 0 0 0 0.072
DiagnosticEventMemoryStoreTest- 6 0 0 0 0.074
compression
DiagnosticEventMemoryStoreTest 6 0 0 0 0.062
-------------------------------------------------------------------------------
org.apache.cassandra.distributed.test
Name Tests Errors Failures Skipped Time(s)
BootstrapTest 1 0 0 0 83.886
CasWriteTest 9 0 0 0 26.397
FailingRepairTest 6 0 0 0 30.343
FullRepairCoordinatorFastTest 66 0 0 2 76.304
FullRepairCoordinatorNeighbourDownTest 12 0 0 0 225.213
FullRepairCoordinatorTimeoutTest 6 0 0 0 93.425
GossipSettlesTest 1 0 0 0 27.051
IncrementalRepairCoordinatorFastTest 66 0 0 6 73.087
IncrementalRepairCoordinatorNeighbourDownTest 12 0 0 0 226.385
IncrementalRepairCoordinatorTimeoutTest 6 0 0 0 93.626
JVMStabilityInspectorCorruptSSTableExceptionTest 2 0 0 0 81.865
LargeColumnTest 1 0 0 0 12.228
MessageFiltersTest 5 0 0 0 57.553
MessageForwardingTest 1 0 0 0 11.473
NativeProtocolTest 2 0 0 0 68.441
NetworkTopologyTest 6 0 0 0 21.274
NodeToolTest 1 0 0 0 6.537
PreviewRepairCoordinatorFastTest 66 0 0 2 75.224
PreviewRepairCoordinatorNeighbourDownTest 12 0 0 0 225.403
PreviewRepairCoordinatorTimeoutTest 6 0 0 0 91.543
PreviewRepairTest 4 0 0 0 120.418
QueryReplayerEndToEndTest 1 0 0 0 46.914
ReadRepairTest 5 0 0 0 41.774
RepairBoundaryTest 2 0 0 0 41.779
RepairCoordinatorFailingMessageTest 1 0 0 1 0.053
RepairDigestTrackingTest 5 0 0 0 42.304
RepairTest 6 0 0 0 76.571
ReplicaFilteringProtectionTest 3 0 0 0 9.481
ResourceLeakTest 1 0 0 1 0.054
ShortReadProtectionTest 2 0 0 0 16.461
SimpleReadWriteTest 15 0 0 0 135.403
StreamingTest 1 0 0 0 12.847
TableEstimatesTest 2 0 0 0 6.810
TopologyChangeTest 4 0 0 0 193.949
-------------------------------------------------------------------------------
org.apache.cassandra.distributed.upgrade
Name Tests Errors Failures Skipped Time(s)
MixedModeReadRepairTest 1 0 0 0 12.819
PagingTest 1 0 0 0 107.584
UpgradeTest 1 0 0 0 58.744
-------------------------------------------------------------------------------
org.apache.cassandra.fql
Name Tests Errors Failures Skipped Time(s)
FullQueryLoggerTest-cdc 35 0 0 0 8.582
FullQueryLoggerTest-compression 35 0 0 0 8.650
FullQueryLoggerTest 35 0 0 0 12.082
-------------------------------------------------------------------------------
org.apache.cassandra.fqltool
Name Tests Errors Failures Skipped Time(s)
FQLCompareTest 3 0 0 0 2.372
FQLReplayTest 22 0 0 0 2.063
-------------------------------------------------------------------------------
org.apache.cassandra.gms
Name Tests Errors Failures Skipped Time(s)
ArrayBackedBoundedStatsTest-cdc 2 0 0 0 0.072
ArrivalWindowTest-cdc 1 0 0 0 0.522
EndpointStateTest-cdc 2 0 0 0 1.363
ExpireEndpointTest-cdc 1 0 0 0 1.022
FailureDetectorTest-cdc 1 0 0 0 2.618
GossipDigestTest-cdc 1 0 0 0 0.292
GossiperTest-cdc 4 0 0 0 2.449
PendingRangeCalculatorServiceTest-cdc 1 0 0 0 4.661
SerializationsTest-cdc 2 0 0 0 0.833
ShadowRoundTest-cdc 1 0 0 0 5.922
ArrayBackedBoundedStatsTest-compression 2 0 0 0 0.076
ArrivalWindowTest-compression 1 0 0 0 0.462
EndpointStateTest-compression 2 0 0 0 1.218
ExpireEndpointTest-compression 1 0 0 0 0.959
FailureDetectorTest-compression 1 0 0 0 2.519
GossipDigestTest-compression 1 0 0 0 0.271
GossiperTest-compression 4 0 0 0 2.424
PendingRangeCalculatorServiceTest- 1 0 0 0 4.256
compression
SerializationsTest-compression 2 0 0 0 0.901
ShadowRoundTest-compression 1 0 0 0 5.798
ArrayBackedBoundedStatsTest 2 0 0 0 0.059
ArrivalWindowTest 1 0 0 0 0.458
EndpointStateTest 2 0 0 0 1.400
ExpireEndpointTest 1 0 0 0 0.843
FailureDetectorTest 1 0 0 0 2.317
GossipDigestTest 1 0 0 0 0.231
GossiperTest 4 0 0 0 2.104
PendingRangeCalculatorServiceTest 1 0 0 0 4.205
SerializationsTest 2 0 0 0 0.754
ShadowRoundTest 1 0 0 0 5.562
-------------------------------------------------------------------------------
org.apache.cassandra.hints
Name Tests Errors Failures Skipped Time(s)
HintsWriteThenReadTest 1 0 0 0 76.518
ChecksummedDataInputTest-cdc 3 0 0 0 0.960
HintMessageTest-cdc 1 0 0 0 3.165
HintTest-cdc 7 0 0 0 4.540
HintWriteTTLTest-cdc 4 0 0 0 3.209
HintsBufferPoolTest-cdc 1 0 0 0 3.757
HintsBufferTest-cdc 2 0 0 0 6.624
HintsCatalogTest-cdc 3 0 0 0 3.242
HintsCompressionTest-cdc 4 0 0 0 7.000
HintsDescriptorTest-cdc 5 0 0 0 0.515
HintsEncryptionTest-cdc 1 0 0 0 4.523
HintsReaderTest-cdc 2 0 0 0 3.509
HintsServiceTest-cdc 4 0 0 0 175.888
ChecksummedDataInputTest-compression 3 0 0 0 0.893
HintMessageTest-compression 1 0 0 0 3.203
HintTest-compression 7 0 0 0 4.687
HintWriteTTLTest-compression 4 0 0 0 3.078
HintsBufferPoolTest-compression 1 0 0 0 3.836
HintsBufferTest-compression 2 0 0 0 6.043
HintsCatalogTest-compression 3 0 0 0 3.318
HintsCompressionTest-compression 4 0 0 0 7.138
HintsDescriptorTest-compression 5 0 0 0 0.528
HintsEncryptionTest-compression 1 0 0 0 4.584
HintsReaderTest-compression 2 0 0 0 3.606
HintsServiceTest-compression 4 0 0 0 176.016
ChecksummedDataInputTest 3 0 0 0 0.798
HintMessageTest 1 0 0 0 3.185
HintTest 7 0 0 0 4.800
HintWriteTTLTest 4 0 0 0 3.031
HintsBufferPoolTest 1 0 0 0 3.600
HintsBufferTest 2 0 0 0 5.368
HintsCatalogTest 3 0 0 0 3.029
HintsCompressionTest 4 0 0 0 6.340
HintsDescriptorTest 5 0 0 0 0.454
HintsEncryptionTest 1 0 0 0 4.259
HintsReaderTest 2 0 0 0 3.479
HintsServiceTest 4 0 0 0 175.862
-------------------------------------------------------------------------------
org.apache.cassandra.index
Name Tests Errors Failures Skipped Time(s)
CustomIndexTest-cdc 29 0 0 0 24.655
SecondaryIndexManagerTest-cdc 16 0 0 0 27.390
CustomIndexTest-compression 29 0 0 0 25.486
SecondaryIndexManagerTest-compression 16 0 0 0 27.582
CustomIndexTest 29 0 0 0 32.463
SecondaryIndexManagerTest 16 0 0 0 32.948
-------------------------------------------------------------------------------
org.apache.cassandra.index.internal
Name Tests Errors Failures Skipped Time(s)
CassandraIndexTest-cdc 27 0 0 0 20.220
CassandraIndexTest-compression 27 0 0 0 20.814
CassandraIndexTest 27 0 0 0 31.213
-------------------------------------------------------------------------------
org.apache.cassandra.index.sasi
Name Tests Errors Failures Skipped Time(s)
SASICQLTest-cdc 9 0 0 0 19.626
SASIIndexTest-cdc 32 0 0 0 19.156
SASICQLTest-compression 9 0 0 0 20.249
SASIIndexTest-compression 32 0 0 0 20.571
SASICQLTest 9 0 0 0 25.173
SASIIndexTest 32 0 0 0 21.835
-------------------------------------------------------------------------------
org.apache.cassandra.index.sasi.analyzer
Name Tests Errors Failures Skipped Time(s)
DelimiterAnalyzerTest-cdc 12 0 0 0 0.424
NonTokenizingAnalyzerTest-cdc 3 0 0 0 0.276
StandardAnalyzerTest-cdc 10 0 0 0 0.609
DelimiterAnalyzerTest-compression 12 0 0 0 0.438
NonTokenizingAnalyzerTest-compression 3 0 0 0 0.271
StandardAnalyzerTest-compression 10 0 0 0 0.626
DelimiterAnalyzerTest 12 0 0 0 0.388
NonTokenizingAnalyzerTest 3 0 0 0 0.236
StandardAnalyzerTest 10 0 0 0 0.582
-------------------------------------------------------------------------------
org.apache.cassandra.index.sasi.disk
Name Tests Errors Failures Skipped Time(s)
OnDiskIndexTest-cdc 12 0 0 0 15.962
PerSSTableIndexWriterTest-cdc 2 0 0 0 5.950
TokenTreeTest-cdc 14 0 0 0 13.263
OnDiskIndexTest-compression 12 0 0 0 15.954
PerSSTableIndexWriterTest-compression 2 0 0 0 5.925
TokenTreeTest-compression 14 0 0 0 13.566
OnDiskIndexTest 12 0 0 0 15.739
PerSSTableIndexWriterTest 2 0 0 0 5.696
TokenTreeTest 14 0 0 0 13.399
-------------------------------------------------------------------------------
org.apache.cassandra.index.sasi.plan
Name Tests Errors Failures Skipped Time(s)
ExpressionTest-cdc 2 0 0 0 0.231
OperationTest-cdc 6 0 0 0 4.501
ExpressionTest-compression 2 0 0 0 0.252
OperationTest-compression 6 0 0 0 4.774
ExpressionTest 2 0 0 0 0.212
OperationTest 6 0 0 0 4.701
-------------------------------------------------------------------------------
org.apache.cassandra.index.sasi.utils
Name Tests Errors Failures Skipped Time(s)
LongIteratorTest-cdc 2 0 0 0 0.072
MappedBufferTest-cdc 26 0 0 0 2.220
RangeIntersectionIteratorTest-cdc 11 0 0 0 0.295
RangeUnionIteratorTest-cdc 13 0 0 0 0.297
LongIteratorTest-compression 2 0 0 0 0.075
MappedBufferTest-compression 26 0 0 0 2.186
RangeIntersectionIteratorTest-compression 11 0 0 0 0.296
RangeUnionIteratorTest-compression 13 0 0 0 0.309
LongIteratorTest 2 0 0 0 0.065
MappedBufferTest 26 0 0 0 3.118
RangeIntersectionIteratorTest 11 0 0 0 0.276
RangeUnionIteratorTest 13 0 0 0 0.279
-------------------------------------------------------------------------------
org.apache.cassandra.io
Name Tests Errors Failures Skipped Time(s)
BloomFilterTrackerTest-cdc 3 0 0 0 0.066
DiskSpaceMetricsTest-cdc 2 0 0 0 17.776
BloomFilterTrackerTest-compression 3 0 0 0 0.071
DiskSpaceMetricsTest-compression 2 0 0 0 18.316
BloomFilterTrackerTest 3 0 0 0 0.059
DiskSpaceMetricsTest 2 0 0 0 19.172
-------------------------------------------------------------------------------
org.apache.cassandra.io.compress
Name Tests Errors Failures Skipped Time(s)
CQLCompressionTest-cdc 11 0 0 0 6.675
CompressedRandomAccessReaderTest-cdc 8 0 0 0 1.239
CompressedSequentialWriterReopenTest-cdc 4 0 0 0 7.754
CompressedSequentialWriterTest-cdc 14 0 0 0 1.799
CompressorTest-cdc 6 0 0 0 0.802
ZstdCompressorTest-cdc 3 0 0 0 0.294
CQLCompressionTest-compression 11 0 0 0 6.984
CompressedRandomAccessReaderTest- 8 0 0 0 1.295
compression
CompressedSequentialWriterReopenTest- 4 0 0 0 8.477
compression
CompressedSequentialWriterTest- 14 0 0 0 1.853
compression
CompressorTest-compression 6 0 0 0 0.873
ZstdCompressorTest-compression 3 0 0 0 0.275
CQLCompressionTest 11 0 0 0 8.713
CompressedRandomAccessReaderTest 8 0 0 0 1.191
CompressedSequentialWriterReopenTest 4 0 0 0 7.785
CompressedSequentialWriterTest 14 0 0 0 1.734
CompressorTest 6 0 0 0 0.813
ZstdCompressorTest 3 0 0 0 0.233
-------------------------------------------------------------------------------
org.apache.cassandra.io.sstable
Name Tests Errors Failures Skipped Time(s)
CQLSSTableWriterLongTest 1 0 0 0 5.983
BigTableWriterTest-cdc 5 0 0 0 3.337
CQLSSTableWriterClientTest-cdc 1 0 0 0 1.849
CQLSSTableWriterTest-cdc 11 0 0 0 26.815
DescriptorTest-cdc 7 0 0 0 0.917
IndexSummaryManagerTest-cdc 8 0 0 0 5.793
IndexSummaryRedistributionTest-cdc 1 0 0 0 4.143
IndexSummaryTest-cdc 12 0 0 0 32.267
LargePartitionsTest-cdc 1 0 0 1 0.061
LegacySSTableTest-cdc 11 0 0 1 55.843
SSTableCorruptionDetectionTest-cdc 2 0 0 0 51.790
SSTableHeaderFixTest-cdc 14 0 0 0 1.256
SSTableLoaderTest-cdc 3 0 0 0 19.863
SSTableMetadataTest-cdc 3 0 0 0 3.607
SSTableReaderTest-cdc 19 0 0 0 8.584
SSTableRewriterTest-cdc 20 0 0 0 12.970
SSTableScannerTest-cdc 3 0 0 0 3.201
SSTableWriterTest-cdc 5 0 0 0 59.307
BigTableWriterTest-compression 5 0 0 0 3.559
CQLSSTableWriterClientTest-compression 1 0 0 0 1.913
CQLSSTableWriterTest-compression 11 0 0 0 26.945
DescriptorTest-compression 7 0 0 0 0.982
IndexSummaryManagerTest-compression 8 0 0 0 6.165
IndexSummaryRedistributionTest- 1 0 0 0 4.416
compression
IndexSummaryTest-compression 12 0 0 0 32.637
LargePartitionsTest-compression 1 0 0 1 0.069
LegacySSTableTest-compression 11 0 0 1 56.831
SSTableCorruptionDetectionTest- 2 0 0 0 55.551
compression
SSTableHeaderFixTest-compression 14 0 0 0 1.280
SSTableLoaderTest-compression 3 0 0 0 21.396
SSTableMetadataTest-compression 3 0 0 0 3.746
SSTableReaderTest-compression 19 0 0 0 8.842
SSTableRewriterTest-compression 20 0 0 0 15.596
SSTableScannerTest-compression 3 0 0 0 3.380
SSTableWriterTest-compression 5 0 0 0 34.709
BigTableWriterTest 5 0 0 0 3.335
CQLSSTableWriterClientTest 1 0 0 0 1.681
CQLSSTableWriterTest 11 0 0 0 26.152
DescriptorTest 7 0 0 0 0.826
IndexSummaryManagerTest 8 0 0 0 6.372
IndexSummaryRedistributionTest 1 0 0 0 3.898
IndexSummaryTest 12 0 0 0 31.595
LargePartitionsTest 1 0 0 1 0.054
LegacySSTableTest 11 0 0 1 60.700
SSTableCorruptionDetectionTest 2 0 0 0 44.234
SSTableHeaderFixTest 14 0 0 0 1.153
SSTableLoaderTest 3 0 0 0 19.353
SSTableMetadataTest 3 0 0 0 3.537
SSTableReaderTest 19 0 0 0 8.919
SSTableRewriterTest 20 0 0 0 13.721
SSTableScannerTest 3 0 0 0 3.166
SSTableWriterTest 5 0 0 0 29.320
-------------------------------------------------------------------------------
org.apache.cassandra.io.sstable.format
Name Tests Errors Failures Skipped Time(s)
SSTableFlushObserverTest-cdc 1 0 0 0 2.091
SSTableFlushObserverTest-compression 1 0 0 0 2.252
SSTableFlushObserverTest 1 0 0 0 1.995
-------------------------------------------------------------------------------
org.apache.cassandra.io.sstable.format.big
Name Tests Errors Failures Skipped Time(s)
BigTableZeroCopyWriterTest-cdc 2 0 0 0 3.463
BigTableZeroCopyWriterTest-compression 2 0 0 0 3.574
BigTableZeroCopyWriterTest 2 0 0 0 3.450
-------------------------------------------------------------------------------
org.apache.cassandra.io.sstable.metadata
Name Tests Errors Failures Skipped Time(s)
MetadataSerializerTest-cdc 9 0 0 0 1.082
MetadataSerializerTest-compression 9 0 0 0 1.145
MetadataSerializerTest 9 0 0 0 0.977
-------------------------------------------------------------------------------
org.apache.cassandra.io.util
Name Tests Errors Failures Skipped Time(s)
BufferedDataOutputStreamTest-cdc 16 0 0 0 27.758
BufferedRandomAccessFileTest-cdc 17 0 0 0 1.083
ChecksummedRandomAccessReaderTest-cdc 3 0 0 0 0.902
ChecksummedSequentialWriterTest-cdc 7 0 0 0 0.893
DataOutputTest-cdc 15 0 0 0 0.918
DiskOptimizationStrategyTest-cdc 5 0 0 0 0.072
FileSegmentInputStreamTest-cdc 7 0 0 0 0.091
FileUtilsTest-cdc 4 0 0 0 0.815
MemoryTest-cdc 2 0 0 0 0.307
MmappedRegionsTest-cdc 12 0 0 0 1.067
NIODataInputStreamTest-cdc 17 0 0 0 8.997
RandomAccessReaderTest-cdc 11 0 0 0 1.425
RewindableDataInputStreamPlusTest-cdc 8 0 0 0 0.251
SafeMemoryWriterTest-cdc 2 0 0 0 2.553
SequentialWriterTest-cdc 7 0 0 0 0.840
BufferedDataOutputStreamTest-compression 16 0 0 0 25.751
BufferedRandomAccessFileTest-compression 17 0 0 0 1.192
ChecksummedRandomAccessReaderTest- 3 0 0 0 0.935
compression
ChecksummedSequentialWriterTest- 7 0 0 0 0.926
compression
DataOutputTest-compression 15 0 0 0 0.953
DiskOptimizationStrategyTest-compression 5 0 0 0 0.079
FileSegmentInputStreamTest-compression 7 0 0 0 0.103
FileUtilsTest-compression 4 0 0 0 0.887
MemoryTest-compression 2 0 0 0 0.330
MmappedRegionsTest-compression 12 0 0 0 1.052
NIODataInputStreamTest-compression 17 0 0 0 9.046
RandomAccessReaderTest-compression 11 0 0 0 1.395
RewindableDataInputStreamPlusTest- 8 0 0 0 0.256
compression
SafeMemoryWriterTest-compression 2 0 0 0 2.648
SequentialWriterTest-compression 7 0 0 0 0.916
BufferedDataOutputStreamTest 16 0 0 0 23.841
BufferedRandomAccessFileTest 17 0 0 0 1.007
ChecksummedRandomAccessReaderTest 3 0 0 0 0.804
ChecksummedSequentialWriterTest 7 0 0 0 0.779
DataOutputTest 15 0 0 0 0.816
DiskOptimizationStrategyTest 5 0 0 0 0.067
FileSegmentInputStreamTest 7 0 0 0 0.083
FileUtilsTest 4 0 0 0 0.781
MemoryTest 2 0 0 0 0.261
MmappedRegionsTest 12 0 0 0 0.947
NIODataInputStreamTest 17 0 0 0 8.990
RandomAccessReaderTest 11 0 0 0 1.323
RewindableDataInputStreamPlusTest 8 0 0 0 0.221
SafeMemoryWriterTest 2 0 0 0 2.139
SequentialWriterTest 7 0 0 0 0.794
-------------------------------------------------------------------------------
org.apache.cassandra.locator
Name Tests Errors Failures Skipped Time(s)
DynamicEndpointSnitchLongTest 1 0 0 0 25.009
AlibabaCloudSnitchTest-cdc 2 0 0 0 10.637
CloudstackSnitchTest-cdc 2 0 0 0 10.638
DynamicEndpointSnitchTest-cdc 1 0 0 0 2.244
EC2SnitchTest-cdc 13 0 0 0 10.601
GoogleCloudSnitchTest-cdc 2 0 0 0 10.597
GossipingPropertyFileSnitchTest-cdc 1 0 0 0 0.840
InetAddressAndPortSerializerTest-cdc 1 0 0 0 0.263
InetAddressAndPortTest-cdc 4 0 0 0 0.148
NetworkTopologyStrategyTest-cdc 5 0 0 0 2.979
PendingRangeMapsTest-cdc 2 0 0 0 0.454
PendingRangesTest-cdc 1 0 0 0 0.927
PropertyFileSnitchTest-cdc 5 0 0 0 15.942
ReconnectableSnitchHelperTest-cdc 1 0 0 0 1.035
ReplicaCollectionTest-cdc 6 0 0 0 0.766
ReplicaLayoutTest-cdc 1 0 0 0 0.453
ReplicaPlansTest-cdc 1 0 0 0 0.994
ReplicationFactorTest-cdc 2 0 0 0 0.896
ReplicationStrategyEndpointCacheTest-cdc 2 0 0 0 2.997
SimpleStrategyTest-cdc 7 0 0 0 3.082
TokenMetadataTest-cdc 6 0 0 0 0.917
AlibabaCloudSnitchTest-compression 2 0 0 0 10.743
CloudstackSnitchTest-compression 2 0 0 0 10.795
DynamicEndpointSnitchTest-compression 1 0 0 0 2.255
EC2SnitchTest-compression 13 0 0 0 10.763
GoogleCloudSnitchTest-compression 2 0 0 0 10.724
GossipingPropertyFileSnitchTest- 1 0 0 0 0.867
compression
InetAddressAndPortSerializerTest- 1 0 0 0 0.270
compression
InetAddressAndPortTest-compression 4 0 0 0 0.155
NetworkTopologyStrategyTest-compression 5 0 0 0 3.097
PendingRangeMapsTest-compression 2 0 0 0 0.453
PendingRangesTest-compression 1 0 0 0 1.000
PropertyFileSnitchTest-compression 5 0 0 0 16.013
ReconnectableSnitchHelperTest-compression 1 0 0 0 1.083
ReplicaCollectionTest-compression 6 0 0 0 0.825
ReplicaLayoutTest-compression 1 0 0 0 0.460
ReplicaPlansTest-compression 1 0 0 0 1.030
ReplicationFactorTest-compression 2 0 0 0 0.906
ReplicationStrategyEndpointCacheTest- 2 0 0 0 3.176
compression
SimpleStrategyTest-compression 7 0 0 0 3.302
TokenMetadataTest-compression 6 0 0 0 0.964
AlibabaCloudSnitchTest 2 0 0 0 10.587
CloudstackSnitchTest 2 0 0 0 10.532
DynamicEndpointSnitchTest 1 0 0 0 2.088
EC2SnitchTest 13 0 0 0 10.511
GoogleCloudSnitchTest 2 0 0 0 10.499
GossipingPropertyFileSnitchTest 1 0 0 0 0.747
InetAddressAndPortSerializerTest 1 0 0 0 0.231
InetAddressAndPortTest 4 0 0 0 0.118
NetworkTopologyStrategyTest 5 0 0 0 2.886
PendingRangeMapsTest 2 0 0 0 0.394
PendingRangesTest 1 0 0 0 0.843
PropertyFileSnitchTest 5 0 0 0 15.873
ReconnectableSnitchHelperTest 1 0 0 0 0.946
ReplicaCollectionTest 6 0 0 0 0.708
ReplicaLayoutTest 1 0 0 0 0.401
ReplicaPlansTest 1 0 0 0 0.889
ReplicationFactorTest 2 0 0 0 0.781
ReplicationStrategyEndpointCacheTest 2 0 0 0 2.931
SimpleStrategyTest 7 0 0 0 3.027
TokenMetadataTest 6 0 0 0 0.803
-------------------------------------------------------------------------------
org.apache.cassandra.metrics
Name Tests Errors Failures Skipped Time(s)
BatchMetricsTest-cdc 3 0 0 0 10.281
BufferPoolMetricsTest-cdc 4 0 0 0 1.006
CQLMetricsTest-cdc 4 0 0 0 6.305
CassandraMetricsRegistryTest-cdc 5 0 0 0 0.323
DecayingEstimatedHistogramReservoirTest- 15 0 0 1 12.611
cdc
HintedHandOffMetricsTest-cdc 1 0 0 0 2.060
KeyspaceMetricsTest-cdc 1 0 0 0 5.536
LatencyMetricsTest-cdc 3 0 0 0 0.335
MaxSamplerTest-cdc 8 0 0 0 5.248
SamplerTest-cdc 5 0 0 0 1.176
TableMetricsTest-cdc 9 0 0 0 9.306
TopFrequencySamplerTest-cdc 6 0 0 0 2.058
BatchMetricsTest-compression 3 0 0 0 9.890
BufferPoolMetricsTest-compression 4 0 0 0 1.040
CQLMetricsTest-compression 4 0 0 0 6.631
CassandraMetricsRegistryTest-compression 5 0 0 0 0.312
DecayingEstimatedHistogramReservoirTest- 15 0 0 1 12.068
compression
HintedHandOffMetricsTest-compression 1 0 0 0 2.216
KeyspaceMetricsTest-compression 1 0 0 0 5.887
LatencyMetricsTest-compression 3 0 0 0 0.339
MaxSamplerTest-compression 8 0 0 0 5.186
SamplerTest-compression 5 0 0 0 1.197
TableMetricsTest-compression 9 0 0 0 9.715
TopFrequencySamplerTest-compression 6 0 0 0 2.067
BatchMetricsTest 3 0 0 0 14.557
BufferPoolMetricsTest 4 0 0 0 0.897
CQLMetricsTest 4 0 0 0 6.557
CassandraMetricsRegistryTest 5 0 0 0 0.270
DecayingEstimatedHistogramReservoirTest 15 0 0 1 12.248
HintedHandOffMetricsTest 1 0 0 0 1.848
KeyspaceMetricsTest 1 0 0 0 5.931
LatencyMetricsTest 3 0 0 0 0.280
MaxSamplerTest 8 0 0 0 5.057
SamplerTest 5 0 0 0 1.052
TableMetricsTest 9 0 0 0 10.549
TopFrequencySamplerTest 6 0 0 0 2.003
-------------------------------------------------------------------------------
org.apache.cassandra.net
Name Tests Errors Failures Skipped Time(s)
ConnectionBurnTest 1 0 0 0 123.741
AsyncChannelPromiseTest-cdc 4 0 0 0 0.449
AsyncMessageOutputPlusTest-cdc 1 0 0 0 0.963
AsyncOneResponseTest-cdc 2 0 0 0 4.254
AsyncPromiseTest-cdc 4 0 0 0 0.380
AsyncStreamingInputPlusTest-cdc 13 0 0 0 1.410
AsyncStreamingOutputPlusTest-cdc 3 0 0 0 0.974
ChunkedInputPlusTest-cdc 5 0 0 0 0.504
ConnectionTest-cdc 13 1 0 0 105.592
ForwardingInfoTest-cdc 2 0 0 0 0.275
FramingTest-cdc 4 0 0 0 24.157
HandshakeTest-cdc 13 0 0 0 2.326
ManyToOneConcurrentLinkedQueueTest-cdc 22 0 0 0 1.661
MessageTest-cdc 7 0 0 0 1.397
MessagingServiceTest-cdc 14 0 0 0 2.459
MockMessagingServiceTest-cdc 1 0 0 0 3.780
OutboundConnectionSettingsTest-cdc 9 0 0 0 2.177
OutboundConnectionsTest-cdc 6 0 0 0 2.263
OutboundMessageQueueTest-cdc 3 0 0 0 0.935
ProxyHandlerConnectionsTest-cdc 5 0 0 0 35.918
PrunableArrayQueueTest-cdc 9 0 0 0 0.073
ResourceLimitsTest-cdc 4 0 0 0 0.153
StartupClusterConnectivityCheckerTest-cdc 7 0 0 0 1.175
VerbTest-cdc 1 0 0 0 0.147
WriteCallbackInfoTest-cdc 1 0 0 0 1.166
AsyncChannelPromiseTest-compression 4 0 0 0 0.458
AsyncMessageOutputPlusTest-compression 1 0 0 0 1.002
AsyncOneResponseTest-compression 2 0 0 0 4.285
AsyncPromiseTest-compression 4 0 0 0 0.397
AsyncStreamingInputPlusTest-compression 13 0 0 0 1.467
AsyncStreamingOutputPlusTest-compression 3 0 0 0 1.027
ChunkedInputPlusTest-compression 5 0 0 0 0.546
ConnectionTest-compression 13 0 0 0 77.665
ForwardingInfoTest-compression 2 0 0 0 0.294
FramingTest-compression 4 0 0 0 24.009
HandshakeTest-compression 13 0 0 0 2.433
ManyToOneConcurrentLinkedQueueTest- 22 0 0 0 1.637
compression
MessageTest-compression 7 0 0 0 1.508
MessagingServiceTest-compression 14 0 0 0 2.498
MockMessagingServiceTest-compression 1 0 0 0 3.940
OutboundConnectionSettingsTest- 9 0 0 0 2.253
compression
OutboundConnectionsTest-compression 6 0 0 0 2.376
OutboundMessageQueueTest-compression 3 0 0 0 0.979
ProxyHandlerConnectionsTest-compression 5 0 0 0 35.991
PrunableArrayQueueTest-compression 9 0 0 0 0.078
ResourceLimitsTest-compression 4 0 0 0 0.144
StartupClusterConnectivityCheckerTest- 7 0 0 0 1.220
compression
VerbTest-compression 1 0 0 0 0.154
WriteCallbackInfoTest-compression 1 0 0 0 1.249
AsyncChannelPromiseTest 4 0 0 0 0.402
AsyncMessageOutputPlusTest 1 0 0 0 0.881
AsyncOneResponseTest 2 0 0 0 4.244
AsyncPromiseTest 4 0 0 0 0.365
AsyncStreamingInputPlusTest 13 0 0 0 1.446
AsyncStreamingOutputPlusTest 3 0 0 0 0.862
ChunkedInputPlusTest 5 0 0 0 0.462
ConnectionTest 13 1 0 0 90.436
ForwardingInfoTest 2 0 0 0 0.362
FramingTest 4 0 0 0 25.683
HandshakeTest 13 0 0 0 2.794
ManyToOneConcurrentLinkedQueueTest 22 0 0 0 1.697
MessageTest 7 0 0 0 1.315
MessagingServiceTest 14 0 0 0 2.396
MockMessagingServiceTest 1 0 0 0 3.693
OutboundConnectionSettingsTest 9 0 0 0 2.062
OutboundConnectionsTest 6 0 0 0 2.138
OutboundMessageQueueTest 3 0 0 0 0.848
ProxyHandlerConnectionsTest 5 0 0 0 36.456
PrunableArrayQueueTest 9 0 0 0 0.076
ResourceLimitsTest 4 0 0 0 0.155
StartupClusterConnectivityCheckerTest 7 0 0 0 1.122
VerbTest 1 0 0 0 0.132
WriteCallbackInfoTest 1 0 0 0 1.176
-------------------------------------------------------------------------------
org.apache.cassandra.net.proxy
Name Tests Errors Failures Skipped Time(s)
ProxyHandlerTest-cdc 3 0 0 0 0.768
ProxyHandlerTest-compression 3 0 0 0 0.792
ProxyHandlerTest 3 0 0 0 0.816
-------------------------------------------------------------------------------
org.apache.cassandra.repair
Name Tests Errors Failures Skipped Time(s)
AbstractRepairTest-cdc 1 0 0 1 0.059
LocalSyncTaskTest-cdc 6 0 0 0 4.179
RepairJobTest-cdc 16 0 0 0 4.201
RepairRunnableTest-cdc 2 0 0 0 0.843
RepairSessionTest-cdc 1 0 0 0 0.933
StreamingRepairTaskTest-cdc 2 0 0 0 3.136
SymmetricRemoteSyncTaskTest-cdc 1 0 0 0 0.916
ValidatorTest-cdc 6 0 0 0 29.072
AbstractRepairTest-compression 1 0 0 1 0.062
LocalSyncTaskTest-compression 6 0 0 0 4.324
RepairJobTest-compression 16 0 0 0 4.428
RepairRunnableTest-compression 2 0 0 0 0.888
RepairSessionTest-compression 1 0 0 0 0.986
StreamingRepairTaskTest-compression 2 0 0 0 3.320
SymmetricRemoteSyncTaskTest-compression 1 0 0 0 0.956
ValidatorTest-compression 6 0 0 0 29.698
AbstractRepairTest 1 0 0 1 0.070
LocalSyncTaskTest 6 0 0 0 4.584
RepairJobTest 16 0 0 0 4.155
RepairRunnableTest 2 0 0 0 0.754
RepairSessionTest 1 0 0 0 0.909
StreamingRepairTaskTest 2 0 0 0 3.278
SymmetricRemoteSyncTaskTest 1 0 0 0 0.834
ValidatorTest 6 0 0 0 27.486
-------------------------------------------------------------------------------
org.apache.cassandra.repair.asymmetric
Name Tests Errors Failures Skipped Time(s)
DifferenceHolderTest-cdc 2 0 0 0 0.340
RangeDenormalizerTest-cdc 3 0 0 0 0.265
ReduceHelperTest-cdc 5 0 0 0 0.301
StreamFromOptionsTest-cdc 3 0 0 0 0.282
DifferenceHolderTest-compression 2 0 0 0 0.344
RangeDenormalizerTest-compression 3 0 0 0 0.289
ReduceHelperTest-compression 5 0 0 0 0.343
StreamFromOptionsTest-compression 3 0 0 0 0.292
DifferenceHolderTest 2 0 0 0 0.292
RangeDenormalizerTest 3 0 0 0 0.248
ReduceHelperTest 5 0 0 0 0.276
StreamFromOptionsTest 3 0 0 0 0.250
-------------------------------------------------------------------------------
org.apache.cassandra.repair.consistent
Name Tests Errors Failures Skipped Time(s)
AbstractConsistentSessionTest-cdc 1 0 0 1 0.058
CoordinatorMessagingTest-cdc 7 0 0 0 5.715
CoordinatorSessionTest-cdc 7 0 0 0 1.042
CoordinatorSessionsTest-cdc 7 0 0 0 3.110
LocalSessionTest-cdc 40 0 0 0 4.394
AbstractConsistentSessionTest-compression 1 0 0 1 0.066
CoordinatorMessagingTest-compression 7 0 0 0 5.812
CoordinatorSessionTest-compression 7 0 0 0 1.061
CoordinatorSessionsTest-compression 7 0 0 0 3.144
LocalSessionTest-compression 40 0 0 0 4.717
AbstractConsistentSessionTest 1 0 0 1 0.056
CoordinatorMessagingTest 7 0 0 0 5.862
CoordinatorSessionTest 7 0 0 0 1.035
CoordinatorSessionsTest 7 0 0 0 3.065
LocalSessionTest 40 0 0 0 5.358
-------------------------------------------------------------------------------
org.apache.cassandra.repair.messages
Name Tests Errors Failures Skipped Time(s)
RepairMessageSerializationsTest-cdc 8 0 0 0 0.943
RepairMessageSerializerTest-cdc 6 0 0 0 0.516
RepairOptionTest-cdc 4 0 0 0 0.913
RepairMessageSerializationsTest- 8 0 0 0 1.015
compression
RepairMessageSerializerTest-compression 6 0 0 0 0.532
RepairOptionTest-compression 4 0 0 0 0.894
RepairMessageSerializationsTest 8 0 0 0 0.875
RepairMessageSerializerTest 6 0 0 0 0.467
RepairOptionTest 4 0 0 0 0.816
-------------------------------------------------------------------------------
org.apache.cassandra.schema
Name Tests Errors Failures Skipped Time(s)
CreateTableValidationTest-cdc 1 0 0 0 3.248
IndexMetadataTest-cdc 3 0 0 0 0.236
MigrationManagerTest-cdc 17 0 0 0 5.210
SchemaKeyspaceTest-cdc 5 0 0 0 3.534
SchemaTest-cdc 1 0 0 0 2.371
TupleTypesRepresentationTest-cdc 2 0 0 1 0.942
ValidationTest-cdc 4 0 0 0 0.301
CreateTableValidationTest-compression 1 0 0 0 3.456
IndexMetadataTest-compression 3 0 0 0 0.267
MigrationManagerTest-compression 17 0 0 0 5.591
SchemaKeyspaceTest-compression 5 0 0 0 3.715
SchemaTest-compression 1 0 0 0 2.560
TupleTypesRepresentationTest-compression 2 0 0 1 0.961
ValidationTest-compression 4 0 0 0 0.310
CreateTableValidationTest 1 0 0 0 3.521
IndexMetadataTest 3 0 0 0 0.219
MigrationManagerTest 17 0 0 0 5.958
SchemaKeyspaceTest 5 0 0 0 4.127
SchemaTest 1 0 0 0 2.479
TupleTypesRepresentationTest 2 0 0 1 0.868
ValidationTest 4 0 0 0 0.307
-------------------------------------------------------------------------------
org.apache.cassandra.security
Name Tests Errors Failures Skipped Time(s)
CipherFactoryTest-cdc 7 0 0 0 0.546
EncryptionUtilsTest-cdc 3 0 0 0 1.127
JKSKeyProviderTest-cdc 2 0 0 0 0.313
SSLFactoryTest-cdc 14 0 0 0 1.450
CipherFactoryTest-compression 7 0 0 0 0.561
EncryptionUtilsTest-compression 3 0 0 0 1.205
JKSKeyProviderTest-compression 2 0 0 0 0.324
SSLFactoryTest-compression 14 0 0 0 1.418
CipherFactoryTest 7 0 0 0 0.484
EncryptionUtilsTest 3 0 0 0 1.052
JKSKeyProviderTest 2 0 0 0 0.298
SSLFactoryTest 14 0 0 0 1.246
-------------------------------------------------------------------------------
org.apache.cassandra.serializers
Name Tests Errors Failures Skipped Time(s)
SimpleDateSerializerTest-cdc 9 0 0 0 0.270
TimeSerializerTest-cdc 16 0 0 0 0.079
TimestampSerializerTest-cdc 7 0 0 0 0.313
SimpleDateSerializerTest-compression 9 0 0 0 0.279
TimeSerializerTest-compression 16 0 0 0 0.083
TimestampSerializerTest-compression 7 0 0 0 0.329
SimpleDateSerializerTest 9 0 0 0 0.278
TimeSerializerTest 16 0 0 0 0.076
TimestampSerializerTest 7 0 0 0 0.311
-------------------------------------------------------------------------------
org.apache.cassandra.service
Name Tests Errors Failures Skipped Time(s)
ActiveRepairServiceTest-cdc 11 0 0 0 3.700
BootstrapTransientTest-cdc 1 0 0 0 0.931
ClientWarningsTest-cdc 4 0 0 0 26.665
GCInspectorTest-cdc 6 0 0 0 0.861
JoinTokenRingTest-cdc 1 0 0 0 4.672
LeaveAndBootstrapTest-cdc 8 0 0 0 5.088
LegacyAuthFailTest-cdc 1 0 0 0 4.483
MoveTest-cdc 7 0 0 0 21.264
MoveTransientTest-cdc 19 0 0 0 1.194
NativeTransportServiceTest-cdc 11 0 0 0 7.772
PaxosStateTest-cdc 2 0 0 0 4.608
ProtocolBetaVersionTest-cdc 2 0 0 0 12.607
QueryPagerTest-cdc 8 0 0 0 3.441
RMIServerSocketFactoryImplTest-cdc 1 0 0 0 0.075
RemoveTest-cdc 4 0 0 0 5.900
SerializationsTest-cdc 4 0 0 0 0.935
StartupChecksTest-cdc 3 0 0 0 2.910
StorageProxyTest-cdc 4 0 0 0 1.072
StorageServiceServerTest-cdc 19 0 0 1 8.870
StorageServiceTest-cdc 1 0 0 0 0.967
WriteResponseHandlerTest-cdc 5 0 0 0 3.255
WriteResponseHandlerTransientTest-cdc 4 0 0 0 3.141
ActiveRepairServiceTest-compression 11 0 0 0 3.897
BootstrapTransientTest-compression 1 0 0 0 1.024
ClientWarningsTest-compression 4 0 0 0 28.517
GCInspectorTest-compression 6 0 0 0 0.891
JoinTokenRingTest-compression 1 0 0 0 6.522
LeaveAndBootstrapTest-compression 8 0 0 0 7.151
LegacyAuthFailTest-compression 1 0 0 0 4.789
MoveTest-compression 7 0 0 0 23.445
MoveTransientTest-compression 19 0 0 0 1.281
NativeTransportServiceTest-compression 11 0 0 0 7.828
PaxosStateTest-compression 2 0 0 0 7.377
ProtocolBetaVersionTest-compression 2 0 0 0 15.004
QueryPagerTest-compression 8 0 0 0 4.839
RMIServerSocketFactoryImplTest- 1 0 0 0 0.110
compression
RemoveTest-compression 4 0 0 0 7.074
SerializationsTest-compression 4 0 0 0 1.183
StartupChecksTest-compression 3 0 0 0 3.941
StorageProxyTest-compression 4 0 0 0 1.438
StorageServiceServerTest-compression 19 0 0 1 8.854
StorageServiceTest-compression 1 0 0 0 1.065
WriteResponseHandlerTest-compression 5 0 0 0 3.585
WriteResponseHandlerTransientTest- 4 0 0 0 3.385
compression
ActiveRepairServiceTest 11 0 0 0 4.131
BootstrapTransientTest 1 0 0 0 1.042
ClientWarningsTest 4 0 0 0 29.346
GCInspectorTest 6 0 0 0 0.826
JoinTokenRingTest 1 0 0 0 5.330
LeaveAndBootstrapTest 8 0 0 0 5.982
LegacyAuthFailTest 1 0 0 0 4.905
MoveTest 7 0 0 0 22.224
MoveTransientTest 19 0 0 0 1.082
NativeTransportServiceTest 11 0 0 0 7.652
PaxosStateTest 2 0 0 0 5.072
ProtocolBetaVersionTest 2 0 0 0 13.455
QueryPagerTest 8 0 0 0 3.688
RMIServerSocketFactoryImplTest 1 0 0 0 0.084
RemoveTest 4 0 0 0 5.693
SerializationsTest 4 0 0 0 1.180
StartupChecksTest 3 0 0 0 3.344
StorageProxyTest 4 0 0 0 1.053
StorageServiceServerTest 19 0 0 1 8.663
StorageServiceTest 1 0 0 0 0.900
WriteResponseHandlerTest 5 0 0 0 3.500
WriteResponseHandlerTransientTest 4 0 0 0 3.343
-------------------------------------------------------------------------------
org.apache.cassandra.service.pager
Name Tests Errors Failures Skipped Time(s)
PagingStateTest-cdc 7 0 0 0 1.058
PagingStateTest-compression 7 0 0 0 1.095
PagingStateTest 7 0 0 0 1.056
-------------------------------------------------------------------------------
org.apache.cassandra.service.reads
Name Tests Errors Failures Skipped Time(s)
AbstractReadResponseTest-cdc 1 0 0 1 0.065
DataResolverTest-cdc 32 0 0 0 3.901
DigestResolverTest-cdc 5 0 0 0 3.722
ReadExecutorTest-cdc 3 0 0 0 4.087
SpeculativeRetryParseTest-cdc 78 0 0 0 0.162
AbstractReadResponseTest-compression 1 0 0 1 0.071
DataResolverTest-compression 32 0 0 0 3.711
DigestResolverTest-compression 5 0 0 0 3.537
ReadExecutorTest-compression 3 0 0 0 3.775
SpeculativeRetryParseTest-compression 78 0 0 0 0.133
AbstractReadResponseTest 1 0 0 1 0.063
DataResolverTest 32 0 0 0 3.664
DigestResolverTest 5 0 0 0 3.593
ReadExecutorTest 3 0 0 0 3.568
SpeculativeRetryParseTest 78 0 0 0 0.127
-------------------------------------------------------------------------------
org.apache.cassandra.service.reads.repair
Name Tests Errors Failures Skipped Time(s)
AbstractReadRepairTest-cdc 1 0 0 1 0.085
BlockingReadRepairTest-cdc 9 0 0 0 4.542
DiagEventsBlockingReadRepairTest-cdc 3 0 0 0 4.528
ReadOnlyReadRepairTest-cdc 4 0 0 0 4.317
ReadRepairTest-cdc 7 0 0 0 4.426
RepairedDataVerifierTest-cdc 10 0 0 0 6.334
AbstractReadRepairTest-compression 1 0 0 1 0.077
BlockingReadRepairTest-compression 9 0 0 0 4.187
DiagEventsBlockingReadRepairTest- 3 0 0 0 3.597
compression
ReadOnlyReadRepairTest-compression 4 0 0 0 3.294
ReadRepairTest-compression 7 0 0 0 3.581
RepairedDataVerifierTest-compression 10 0 0 0 7.217
AbstractReadRepairTest 1 0 0 1 0.054
BlockingReadRepairTest 9 0 0 0 3.813
DiagEventsBlockingReadRepairTest 3 0 0 0 3.490
ReadOnlyReadRepairTest 4 0 0 0 3.431
ReadRepairTest 7 0 0 0 3.349
RepairedDataVerifierTest 10 0 0 0 5.049
-------------------------------------------------------------------------------
org.apache.cassandra.streaming
Name Tests Errors Failures Skipped Time(s)
LongStreamingTest 2 0 0 0 195.273
EntireSSTableStreamingCorrectFilesCountTest- 1 0 0 0 4.588
cdc
SessionInfoTest-cdc 1 0 0 0 0.614
StreamOperationTest-cdc 1 0 0 0 0.089
StreamTransferTaskTest-cdc 2 0 0 0 3.688
StreamingTransferTest-cdc 5 0 0 0 14.708
EntireSSTableStreamingCorrectFilesCountTest- 1 0 0 0 3.768
compression
SessionInfoTest-compression 1 0 0 0 0.521
StreamOperationTest-compression 1 0 0 0 0.071
StreamTransferTaskTest-compression 2 0 0 0 3.446
StreamingTransferTest-compression 5 0 0 0 14.094
EntireSSTableStreamingCorrectFilesCountTest 1 0 0 0 3.373
SessionInfoTest 1 0 0 0 0.454
StreamOperationTest 1 0 0 0 0.059
StreamTransferTaskTest 2 0 0 0 3.417
StreamingTransferTest 5 0 0 0 15.494
-------------------------------------------------------------------------------
org.apache.cassandra.streaming.async
Name Tests Errors Failures Skipped Time(s)
NettyStreamingMessageSenderTest-cdc 10 0 0 0 1.041
StreamCompressionSerializerTest-cdc 2 0 0 0 0.831
StreamingInboundHandlerTest-cdc 7 0 0 0 1.073
NettyStreamingMessageSenderTest- 10 0 0 0 1.070
compression
StreamCompressionSerializerTest- 2 0 0 0 0.875
compression
StreamingInboundHandlerTest-compression 7 0 0 0 1.175
NettyStreamingMessageSenderTest 10 0 0 0 1.008
StreamCompressionSerializerTest 2 0 0 0 0.830
StreamingInboundHandlerTest 7 0 0 0 1.020
-------------------------------------------------------------------------------
org.apache.cassandra.streaming.compression
Name Tests Errors Failures Skipped Time(s)
CompressedInputStreamTest-cdc 6 0 0 0 1.071
CompressedInputStreamTest-compression 6 0 0 0 1.214
CompressedInputStreamTest 6 0 0 0 1.196
-------------------------------------------------------------------------------
org.apache.cassandra.stress.generate
Name Tests Errors Failures Skipped Time(s)
DistributionGaussianTest 2 0 0 0 0.107
DistributionSequenceTest 4 0 0 0 0.073
-------------------------------------------------------------------------------
org.apache.cassandra.stress.settings
Name Tests Errors Failures Skipped Time(s)
OptionReplicationTest 1 0 0 0 0.089
SettingsMiscTest 4 0 0 0 0.088
SettingsNodeTest 2 0 0 0 0.067
StressSettingsTest 1 0 0 0 0.525
-------------------------------------------------------------------------------
org.apache.cassandra.stress.util
Name Tests Errors Failures Skipped Time(s)
MultiResultLoggerTest 5 0 0 0 0.069
-------------------------------------------------------------------------------
org.apache.cassandra.tools
Name Tests Errors Failures Skipped Time(s)
AuditLogViewerTest-cdc 5 0 0 0 0.619
BulkLoaderTest-cdc 6 0 0 0 12.848
ClearSnapshotTest-cdc 4 0 0 0 14.984
CompactionStressTest-cdc 2 0 0 0 16.074
GetVersionTest-cdc 1 0 0 0 0.466
LoaderOptionsTest-cdc 1 0 0 0 0.580
SSTableExpiredBlockersTest-cdc 2 0 0 0 2.157
SSTableExportTest-cdc 2 0 0 0 1.093
SSTableLevelResetterTest-cdc 2 0 0 0 2.164
SSTableMetadataViewerTest-cdc 2 0 0 0 0.502
SSTableOfflineRelevelTest-cdc 2 0 0 0 2.169
SSTableRepairedAtSetterTest-cdc 2 0 0 0 1.023
StandaloneSSTableUtilTest-cdc 2 0 0 0 2.182
StandaloneScrubberTest-cdc 2 0 0 0 2.283
StandaloneSplitterTest-cdc 1 0 0 0 0.448
StandaloneUpgraderTest-cdc 2 0 0 0 2.397
StandaloneVerifierTest-cdc 2 0 0 0 2.659
TopPartitionsTest-cdc 2 0 0 0 4.255
AuditLogViewerTest-compression 5 0 0 0 0.650
BulkLoaderTest-compression 6 0 0 0 12.927
ClearSnapshotTest-compression 4 0 0 0 14.810
CompactionStressTest-compression 2 0 0 0 15.593
GetVersionTest-compression 1 0 0 0 0.463
LoaderOptionsTest-compression 1 0 0 0 0.676
SSTableExpiredBlockersTest-compression 2 0 0 0 2.794
SSTableExportTest-compression 2 0 0 0 1.280
SSTableLevelResetterTest-compression 2 0 0 0 2.568
SSTableMetadataViewerTest-compression 2 0 0 0 0.587
SSTableOfflineRelevelTest-compression 2 0 0 0 2.528
SSTableRepairedAtSetterTest-compression 2 0 0 0 1.046
StandaloneSSTableUtilTest-compression 2 0 0 0 2.604
StandaloneScrubberTest-compression 2 0 0 0 3.124
StandaloneSplitterTest-compression 1 0 0 0 0.672
StandaloneUpgraderTest-compression 2 0 0 0 3.376
StandaloneVerifierTest-compression 2 0 0 0 2.267
TopPartitionsTest-compression 2 0 0 0 3.876
AuditLogViewerTest 5 0 0 0 0.606
BulkLoaderTest 6 0 0 0 12.840
ClearSnapshotTest 4 0 0 0 14.672
CompactionStressTest 2 0 0 0 15.123
GetVersionTest 1 0 0 0 0.390
LoaderOptionsTest 1 0 0 0 0.586
SSTableExpiredBlockersTest 2 0 0 0 2.016
SSTableExportTest 2 0 0 0 0.996
SSTableLevelResetterTest 2 0 0 0 2.355
SSTableMetadataViewerTest 2 0 0 0 0.437
SSTableOfflineRelevelTest 2 0 0 0 2.020
SSTableRepairedAtSetterTest 2 0 0 0 0.924
StandaloneSSTableUtilTest 2 0 0 0 2.276
StandaloneScrubberTest 2 0 0 0 2.251
StandaloneSplitterTest 1 0 0 0 0.467
StandaloneUpgraderTest 2 0 0 0 2.303
StandaloneVerifierTest 2 0 0 0 2.121
TopPartitionsTest 2 0 0 0 3.896
-------------------------------------------------------------------------------
org.apache.cassandra.tools.nodetool.formatter
Name Tests Errors Failures Skipped Time(s)
TableBuilderTest-cdc 6 0 0 0 0.072
TableBuilderTest-compression 6 0 0 0 0.096
TableBuilderTest 6 0 0 0 0.064
-------------------------------------------------------------------------------
org.apache.cassandra.tools.nodetool.stats
Name Tests Errors Failures Skipped Time(s)
StatsTableComparatorTest-cdc 6 0 0 0 0.243
TableStatsPrinterTest-cdc 2 0 0 0 0.096
StatsTableComparatorTest-compression 6 0 0 0 0.261
TableStatsPrinterTest-compression 2 0 0 0 0.132
StatsTableComparatorTest 6 0 0 0 0.233
TableStatsPrinterTest 2 0 0 0 0.082
-------------------------------------------------------------------------------
org.apache.cassandra.tracing
Name Tests Errors Failures Skipped Time(s)
TracingTest-cdc 6 0 0 0 0.885
TracingTest-compression 6 0 0 0 1.497
TracingTest 6 0 0 0 0.820
-------------------------------------------------------------------------------
org.apache.cassandra.transport
Name Tests Errors Failures Skipped Time(s)
CBUtilTest-cdc 4 0 0 0 0.339
CQLUserAuditTest-cdc 8 0 0 0 28.382
DataTypeTest-cdc 3 0 0 0 0.357
ErrorMessageTest-cdc 7 0 0 0 0.406
IdleDisconnectTest-cdc 2 0 0 0 17.399
InflightRequestPayloadTrackerTest-cdc 6 0 0 0 15.532
MessagePayloadTest-cdc 3 0 0 0 14.752
ProtocolErrorTest-cdc 6 0 0 0 1.093
ProtocolVersionTest-cdc 4 0 0 0 1.078
ProtocolVersionTrackerTest-cdc 3 0 0 0 0.422
SerDeserTest-cdc 6 0 0 0 1.933
ServerMetricsTest-cdc 1 0 0 0 13.630
StartupMessageTest-cdc 1 0 0 0 13.417
CBUtilTest-compression 4 0 0 0 0.474
CQLUserAuditTest-compression 8 0 0 0 28.434
DataTypeTest-compression 3 0 0 0 0.408
ErrorMessageTest-compression 7 0 0 0 0.455
IdleDisconnectTest-compression 2 0 0 0 18.876
InflightRequestPayloadTrackerTest- 6 0 0 0 17.155
compression
MessagePayloadTest-compression 3 0 0 0 17.263
ProtocolErrorTest-compression 6 0 0 0 1.175
ProtocolVersionTest-compression 4 0 0 0 1.008
ProtocolVersionTrackerTest-compression 3 0 0 0 0.345
SerDeserTest-compression 6 0 0 0 1.775
ServerMetricsTest-compression 1 0 0 0 18.613
StartupMessageTest-compression 1 0 0 0 14.083
CBUtilTest 4 0 0 0 0.355
CQLUserAuditTest 8 0 0 0 29.323
DataTypeTest 3 0 0 0 0.359
ErrorMessageTest 7 0 0 0 0.408
IdleDisconnectTest 2 0 0 0 18.090
InflightRequestPayloadTrackerTest 6 0 0 0 15.569
MessagePayloadTest 3 0 0 0 14.231
ProtocolErrorTest 6 0 0 0 0.983
ProtocolVersionTest 4 0 0 0 0.805
ProtocolVersionTrackerTest 3 0 0 0 0.276
SerDeserTest 6 0 0 0 1.406
ServerMetricsTest 1 0 0 0 12.280
StartupMessageTest 1 0 0 0 12.808
-------------------------------------------------------------------------------
org.apache.cassandra.transport.frame.checksum
Name Tests Errors Failures Skipped Time
(s)
ChecksummingTransformerTest-cdc 5 0 1 0 15.382
ChecksummingWithCorruptedLZ4DoesNotCrashTest- 1 0 0 0 25.761
cdc
ChecksummingTransformerTest-compression 5 0 0 0 18.026
ChecksummingWithCorruptedLZ4DoesNotCrashTest- 1 0 0 0 23.298
compression
ChecksummingTransformerTest 5 0 0 0 19.955
ChecksummingWithCorruptedLZ4DoesNotCrashTest 1 0 0 0 24.091
-------------------------------------------------------------------------------
org.apache.cassandra.transport.messages
Name Tests Errors Failures Skipped Time(s)
AuthenticateMessageTest-cdc 1 0 0 0 0.432
PrepareMessageTest-cdc 1 0 0 0 0.409
AuthenticateMessageTest-compression 1 0 0 0 0.398
PrepareMessageTest-compression 1 0 0 0 0.381
AuthenticateMessageTest 1 0 0 0 0.317
PrepareMessageTest 1 0 0 0 0.318
-------------------------------------------------------------------------------
org.apache.cassandra.triggers
Name Tests Errors Failures Skipped Time(s)
TriggerExecutorTest-cdc 9 0 0 0 2.041
TriggersSchemaTest-cdc 4 0 0 0 4.941
TriggersTest-cdc 7 0 0 0 5.635
TriggerExecutorTest-compression 9 0 0 0 1.738
TriggersSchemaTest-compression 4 0 0 0 4.433
TriggersTest-compression 7 0 0 0 5.860
TriggerExecutorTest 9 0 0 0 1.474
TriggersSchemaTest 4 0 0 0 3.804
TriggersTest 7 0 0 0 4.855
-------------------------------------------------------------------------------
org.apache.cassandra.utils
Name Tests Errors Failures Skipped Time(s)
LongBloomFilterTest 5 0 0 0 119.862
LongBTreeTest 15 0 0 0 620.708
AbstractIteratorTest-cdc 9 0 0 0 0.120
BloomFilterTest-cdc 11 0 0 2 0.796
ByteBufferUtilTest-cdc 12 0 0 0 0.465
BytesReadTrackerTest-cdc 4 0 0 0 0.081
CassandraVersionTest-cdc 11 0 0 0 0.571
EstimatedHistogramTest-cdc 6 0 0 0 0.086
FBUtilitiesTest-cdc 7 0 0 0 0.848
FastByteOperationsTest-cdc 2 0 0 0 5.496
HexTest-cdc 2 0 0 0 0.301
HistogramBuilderTest-cdc 5 0 0 0 0.108
IntegerIntervalsTest-cdc 6 0 0 0 55.046
IntervalTreeTest-cdc 3 0 0 0 0.315
JVMStabilityInspectorTest-cdc 3 0 0 0 1.028
JavaUtilsTest-cdc 1 0 0 0 0.292
MergeIteratorComparisonTest-cdc 16 0 0 0 14.875
MergeIteratorTest-cdc 1 0 0 0 0.080
MerkleTreeTest-cdc 27 0 0 0 9.546
MerkleTreesTest-cdc 13 0 0 0 0.929
MonotonicClockTest-cdc 1 0 0 0 20.789
NativeLibraryTest-cdc 2 0 0 0 0.443
NoSpamLoggerTest-cdc 4 0 0 0 0.079
OverlapIteratorTest-cdc 1 0 0 0 13.028
SerializationsTest-cdc 3 0 0 0 1.620
SlidingTimeRateTest-cdc 7 0 0 0 0.569
StatusLoggerTest-cdc 1 0 0 0 4.745
AbstractIteratorTest-compression 9 0 0 0 0.149
BloomFilterTest-compression 11 0 0 2 0.823
ByteBufferUtilTest-compression 12 0 0 0 0.591
BytesReadTrackerTest-compression 4 0 0 0 0.112
CassandraVersionTest-compression 11 0 0 0 0.618
EstimatedHistogramTest-compression 6 0 0 0 0.103
FBUtilitiesTest-compression 7 0 0 0 0.886
FastByteOperationsTest-compression 2 0 0 0 5.180
HexTest-compression 2 0 0 0 0.337
HistogramBuilderTest-compression 5 0 0 0 0.131
IntegerIntervalsTest-compression 6 0 0 0 53.920
IntervalTreeTest-compression 3 0 0 0 0.326
JVMStabilityInspectorTest-compression 3 0 0 0 1.078
JavaUtilsTest-compression 1 0 0 0 0.317
MergeIteratorComparisonTest-compression 16 0 0 0 13.527
MergeIteratorTest-compression 1 0 0 0 0.093
MerkleTreeTest-compression 27 0 0 0 8.310
MerkleTreesTest-compression 13 0 0 0 1.017
MonotonicClockTest-compression 1 0 0 0 20.542
NativeLibraryTest-compression 2 0 0 0 0.752
NoSpamLoggerTest-compression 4 0 0 0 0.107
OverlapIteratorTest-compression 1 0 0 0 11.933
SerializationsTest-compression 3 0 0 0 1.559
SlidingTimeRateTest-compression 7 0 0 0 0.568
StatusLoggerTest-compression 1 0 0 0 3.897
AbstractIteratorTest 9 0 0 0 0.087
BloomFilterTest 11 0 0 2 0.850
ByteBufferUtilTest 12 0 0 0 0.375
BytesReadTrackerTest 4 0 0 0 0.060
CassandraVersionTest 11 0 0 0 0.382
EstimatedHistogramTest 6 0 0 0 0.065
FBUtilitiesTest 7 0 0 0 0.651
FastByteOperationsTest 2 0 0 0 3.825
HexTest 2 0 0 0 0.205
HistogramBuilderTest 5 0 0 0 0.098
IntegerIntervalsTest 6 0 0 0 46.170
IntervalTreeTest 3 0 0 0 0.280
JVMStabilityInspectorTest 3 0 0 0 0.742
JavaUtilsTest 1 0 0 0 0.228
MergeIteratorComparisonTest 16 0 0 0 11.277
MergeIteratorTest 1 0 0 0 0.071
MerkleTreeTest 27 0 0 0 6.773
MerkleTreesTest 13 0 0 0 0.890
MonotonicClockTest 1 0 0 0 7.509
NativeLibraryTest 2 0 0 0 0.396
NoSpamLoggerTest 4 0 0 0 0.078
OverlapIteratorTest 1 0 0 0 11.432
SerializationsTest 3 0 0 0 1.461
SlidingTimeRateTest 7 0 0 0 0.517
StatusLoggerTest 1 0 0 0 3.426
-------------------------------------------------------------------------------
org.apache.cassandra.utils.binlog
Name Tests Errors Failures Skipped Time(s)
BinLogTest-cdc 13 0 0 0 11.495
DeletingArchiverTest-cdc 3 0 0 0 0.248
ExternalArchiverTest-cdc 5 0 0 0 10.429
BinLogTest-compression 13 0 0 0 12.240
DeletingArchiverTest-compression 3 0 0 0 0.267
ExternalArchiverTest-compression 5 0 0 0 10.466
BinLogTest 13 0 0 0 11.332
DeletingArchiverTest 3 0 0 0 0.225
ExternalArchiverTest 5 0 0 0 10.562
-------------------------------------------------------------------------------
org.apache.cassandra.utils.btree
Name Tests Errors Failures Skipped Time(s)
BTreeRemovalTest-cdc 22 0 0 0 0.217
BTreeSearchIteratorTest-cdc 4 0 0 0 0.075
BTreeTest-cdc 14 0 0 0 0.412
BTreeRemovalTest-compression 22 0 0 0 0.231
BTreeSearchIteratorTest-compression 4 0 0 0 0.083
BTreeTest-compression 14 0 0 0 0.476
BTreeRemovalTest 22 0 0 0 0.199
BTreeSearchIteratorTest 4 0 0 0 0.068
BTreeTest 14 0 0 0 0.444
-------------------------------------------------------------------------------
org.apache.cassandra.utils.concurrent
Name Tests Errors Failures Skipped Time(s)
AbstractTransactionalTest-cdc 1 0 0 1 0.061
AccumulatorTest-cdc 4 0 0 0 0.069
RefCountedTest-cdc 12 0 0 0 6.209
WeightedQueueTest-cdc 46 0 0 0 1.036
AbstractTransactionalTest-compression 1 0 0 1 0.072
AccumulatorTest-compression 4 0 0 0 0.076
RefCountedTest-compression 12 0 0 0 6.574
WeightedQueueTest-compression 46 0 0 0 1.004
AbstractTransactionalTest 1 0 0 1 0.056
AccumulatorTest 4 0 0 0 0.060
RefCountedTest 12 0 0 0 6.141
WeightedQueueTest 46 0 0 0 0.944
-------------------------------------------------------------------------------
org.apache.cassandra.utils.memory
Name Tests Errors Failures Skipped Time(s)
LongBufferPoolTest 1 0 0 0 120.858
BufferPoolTest-cdc 32 0 0 0 8.376
NativeAllocatorTest-cdc 1 0 0 0 0.433
BufferPoolTest-compression 32 0 0 0 8.141
NativeAllocatorTest-compression 1 0 0 0 0.472
BufferPoolTest 32 0 0 0 8.694
NativeAllocatorTest 1 0 0 0 0.352
-------------------------------------------------------------------------------
org.apache.cassandra.utils.obs
Name Tests Errors Failures Skipped Time(s)
OffHeapBitSetTest-cdc 4 0 0 0 0.532
OffHeapBitSetTest-compression 4 0 0 0 0.515
OffHeapBitSetTest 4 0 0 0 0.456
-------------------------------------------------------------------------------
org.apache.cassandra.utils.streamhist
Name Tests Errors Failures Skipped Time(s)
StreamingTombstoneHistogramBuilderTest- 11 0 0 0 2.085
cdc
StreamingTombstoneHistogramBuilderTest- 11 0 0 0 1.962
compression
StreamingTombstoneHistogramBuilderTest 11 0 0 0 1.919
-------------------------------------------------------------------------------
org.apache.cassandra.utils.vint
Name Tests Errors Failures Skipped Time(s)
VIntCodingTest-cdc 4 0 0 0 0.297
VIntCodingTest-compression 4 0 0 0 0.253
VIntCodingTest 4 0 0 0 0.216
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Failures
-------------------------------------------------------------------------------
Cassandra dtests // test_tracing_simple // Failure
ccmlib.node.ToolError: Subprocess ['cqlsh', 'CONSISTENCY ALL; TRACING ON; SELECT firstname, lastname FROM ks.users WHERE userid = 550e8400-e29b-41d4-a716-446655440000', None] exited with non-zero status; exit status: 2; stdout: Consistency level set to ALL. Now Tracing is enabled ; stderr: <stdin>:4:OperationTimedOut: errors={'127.0.0.1:9042': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=127.0.0.1:9042
self = <cql_tracing_test.TestCqlTracing object at 0x7f4c811a1c40>
@since('2.2')
def test_tracing_simple(self):
"""
Test tracing using the default tracing class. See trace().
@jira_ticket CASSANDRA-10392
@jira_ticket CASSANDRA-11598
# Restricted to 2.2+ due to flakiness on 2.1. See CASSANDRA-11598 and CASSANDRA-12407 for details.
"""
session = self.prepare()
> self.trace(session)
cql_tracing_test.py:115:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cql_tracing_test.py:93: in trace
out, err, _ = node1.run_cqlsh('CONSISTENCY ALL; TRACING ON; '
../venv/src/ccm/ccmlib/node.py:976: in run_cqlsh
return handle_external_tool_process(p, ['cqlsh', cmds, cqlsh_options])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
process = <subprocess.Popen object at 0x7f4c80b2fa30>
cmd_args = ['cqlsh', 'CONSISTENCY ALL; TRACING ON; SELECT firstname, lastname FROM ks.users WHERE userid = 550e8400-e29b-41d4-a716-446655440000', None]
def handle_external_tool_process(process, cmd_args):
out, err = process.communicate()
if (out is not None) and isinstance(out, bytes):
out = out.decode()
if (err is not None) and isinstance(err, bytes):
err = err.decode()
rc = process.returncode
if rc != 0:
> raise ToolError(cmd_args, rc, out, err)
E ccmlib.node.ToolError: Subprocess ['cqlsh', 'CONSISTENCY ALL; TRACING ON; SELECT firstname, lastname FROM ks.users WHERE userid = 550e8400-e29b-41d4-a716-446655440000', None] exited with non-zero status; exit status: 2;
E stdout: Consistency level set to ALL.
E Now Tracing is enabled
E ;
E stderr: <stdin>:4:OperationTimedOut: errors={'127.0.0.1:9042': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=127.0.0.1:9042
../venv/src/ccm/ccmlib/node.py:2162: ToolError
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Cassandra dtests // test_tracing_default_impl // Failure
ccmlib.node.ToolError: Subprocess ['cqlsh', 'CONSISTENCY ALL; TRACING ON; SELECT firstname, lastname FROM ks.users WHERE userid = 550e8400-e29b-41d4-a716-446655440000', None] exited with non-zero status; exit status: 2; stdout: Consistency level set to ALL. Now Tracing is enabled ; stderr: <stdin>:4:OperationTimedOut: errors={'127.0.0.1:9042': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=127.0.0.1:9042
self = <cql_tracing_test.TestCqlTracing object at 0x7f2daba55a90>
@since('3.4')
def test_tracing_default_impl(self):
"""
Test that Cassandra logs an error, but keeps its default tracing
behavior, when the default tracing class is specified.
This doesn't work because the constructor for the default
implementation isn't accessible.
* set the default tracing class as a custom tracing class
* run trace()
* if running the test on a version with custom tracing classes
implemented, check that an error about the class was
logged.
@jira_ticket CASSANDRA-10392
"""
expected_error = 'Cannot use class org.apache.cassandra.tracing.TracingImpl'
self.fixture_dtest_setup.ignore_log_patterns = [expected_error]
session = self.prepare(jvm_args=['-Dcassandra.custom_tracing_class=org.apache.cassandra.tracing.TracingImpl'])
> self.trace(session)
cql_tracing_test.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cql_tracing_test.py:93: in trace
out, err, _ = node1.run_cqlsh('CONSISTENCY ALL; TRACING ON; '
../venv/src/ccm/ccmlib/node.py:976: in run_cqlsh
return handle_external_tool_process(p, ['cqlsh', cmds, cqlsh_options])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
process = <subprocess.Popen object at 0x7f2dab922190>
cmd_args = ['cqlsh', 'CONSISTENCY ALL; TRACING ON; SELECT firstname, lastname FROM ks.users WHERE userid = 550e8400-e29b-41d4-a716-446655440000', None]
def handle_external_tool_process(process, cmd_args):
out, err = process.communicate()
if (out is not None) and isinstance(out, bytes):
out = out.decode()
if (err is not None) and isinstance(err, bytes):
err = err.decode()
rc = process.returncode
if rc != 0:
> raise ToolError(cmd_args, rc, out, err)
E ccmlib.node.ToolError: Subprocess ['cqlsh', 'CONSISTENCY ALL; TRACING ON; SELECT firstname, lastname FROM ks.users WHERE userid = 550e8400-e29b-41d4-a716-446655440000', None] exited with non-zero status; exit status: 2;
E stdout: Consistency level set to ALL.
E Now Tracing is enabled
E ;
E stderr: <stdin>:4:OperationTimedOut: errors={'127.0.0.1:9042': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=127.0.0.1:9042
../venv/src/ccm/ccmlib/node.py:2162: ToolError
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------