From 367184a389e64de3d7802572b069559b6d65f08a Mon Sep 17 00:00:00 2001 From: Thomas Kaiser Date: Thu, 22 Jun 2023 11:45:28 +0200 Subject: [PATCH] Adding Snapdragon 7c scores --- Results.md | 1 + results/4yNC.txt | 1051 +++++++++++++++++++++++++++++++++++++ results/Sorted-Results.md | 6 + results/results.tar.xz | Bin 648776 -> 652900 bytes results/validation.md | 1 + 5 files changed, 1059 insertions(+) create mode 100644 results/4yNC.txt diff --git a/Results.md b/Results.md index a5c786a..124ab14 100644 --- a/Results.md +++ b/Results.md @@ -119,6 +119,7 @@ So do **not** rely on collected numbers unless you carefully read through all th | [PineH64](http://ix.io/1jEr) | 1800 MHz | 4.18 | Stretch arm64 | 4650 | 1274 | 836900 | 1380 | 5530 | 5.62 | | [PineH64](http://ix.io/26Ph) | 1800 MHz | 5.4 | Buster arm64 | 4710 | 1293 | 839870 | 1420 | 5560 | 7.10 | | [Qualcomm QRB5165](http://ix.io/49kx) | 2840/2410/1790 MHz | 4.19 | Focal arm64 | 18860 | 3898 | 1598490 | 14470 | 23910 | 25.56 | +| [Qualcomm Snapdragon 7c](http://ix.io/4yNC) | 2550/1800 MHz | 6.3 | Bookworm arm64 | 12240 | 2912 | 1453670 | 6710 | 14980 | - | | [Qualcomm Snapdragon 8cx Gen 3 (WSL2)](http://ix.io/4kEp) | 2980/? MHz | 5.15 | Jammy arm64 | 33600 | 4789 | 1679480 | 21010 | 41540 | 50.65 | | [Qualcomm Snapdragon 8cx Gen 3](http://ix.io/4xwT) | 3000/2440 MHz | 6.3 | Lunar arm64 | 35370 | 4312 | 1686160 | 17500 | 41780 | 42.76 | | [Quartz64-A](http://ix.io/3rUb) | 1810 MHz | 5.13 | Buster arm64 | 4840 | 1353 | 845490 | 2980 | 7650| - | diff --git a/results/4yNC.txt b/results/4yNC.txt new file mode 100644 index 0000000..756567d --- /dev/null +++ b/results/4yNC.txt @@ -0,0 +1,1051 @@ +sbc-bench v0.9.42 Google Homestar (rev3) (Thu, 22 Jun 2023 07:51:51 +0200) + +Distributor ID: Debian +Description: Debian GNU/Linux 12 (bookworm) +Release: 12 +Codename: bookworm + +/usr/bin/gcc (Debian 12.2.0-14) 12.2.0 + +Uptime: 07:51:51 up 28 min, 2 users, load average: 0.56, 1.40, 1.32, 35.2°C, 83890884 + +Linux 6.3.9-jan2chromedts (changeme) 22.06.2023 _aarch64_ (8 CPU) + +avg-cpu: %user %nice %system %iowait %steal %idle + 8.60 0.02 3.94 0.16 0.00 87.29 + +Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd +mmcblk1 18.69 469.21 154.35 110.78 798833 262788 188600 +zram0 0.03 0.69 0.00 0.00 1176 4 0 +zram1 4.28 2.45 90.86 0.00 4164 154688 0 + + total used free shared buff/cache available +Mem: 3.8Gi 1.1Gi 2.4Gi 145Mi 562Mi 2.6Gi +Swap: 3.9Gi 0B 3.9Gi + +Filename Type Size Used Priority +/swap/file.0 file 2097148 0 -2 +/dev/zram0 partition 1983996 0 100 + +WARNING: ZSWAP ON TOP OF ZRAM HAS BEEN CONFIGURED ON THIS SYSTEM! +THIS WILL SEVERELY HARM PERFORMANCE IN CASE SWAPPING OCCURS! + +Zswap active using zstd/zsmalloc, max pool occupation: 20%, details: + duplicate_entry:0 + pool_limit_hit:0 + pool_total_size:0 + reject_alloc_fail:0 + reject_compress_poor:0 + reject_kmemcache_fail:0 + reject_reclaim_fail:0 + same_filled_pages:0 + stored_pages:0 + written_back_pages:0 + +########################################################################## + +Checking cpufreq OPP for cpu0-cpu5 (Qualcomm Kryo 4XX Silver): + +Cpufreq OPP: 1804 Measured: 1796 (1797.314/1796.955/1795.451) +Cpufreq OPP: 1708 Measured: 1700 (1700.966/1700.945/1700.732) +Cpufreq OPP: 1612 Measured: 1605 (1605.460/1605.118/1605.078) +Cpufreq OPP: 1516 Measured: 1506 (1509.226/1509.226/1502.260) +Cpufreq OPP: 1324 Measured: 1317 (1317.487/1317.388/1317.257) +Cpufreq OPP: 1248 Measured: 1240 (1240.794/1240.747/1240.731) +Cpufreq OPP: 1017 Measured: 1010 (1010.699/1010.497/1010.232) +Cpufreq OPP: 768 Measured: 761 (761.385/761.299/761.233) +Cpufreq OPP: 576 Measured: 569 (569.345/569.253/569.189) (-1.2%) +Cpufreq OPP: 300 Measured: 293 (293.605/293.572/293.378) (-2.3%) + +Checking cpufreq OPP for cpu6-cpu7 (Qualcomm Kryo 4XX Gold): + +Cpufreq OPP: 2553 Measured: 2549 (2549.668/2549.540/2549.509) +Cpufreq OPP: 2400 Measured: 2396 (2396.065/2396.065/2395.975) +Cpufreq OPP: 2323 Measured: 2319 (2319.301/2319.301/2319.272) +Cpufreq OPP: 2208 Measured: 2204 (2204.130/2204.130/2204.103) +Cpufreq OPP: 2112 Measured: 2108 (2108.223/2108.170/2108.170) +Cpufreq OPP: 1996 Measured: 1993 (1993.051/1993.026/1993.026) +Cpufreq OPP: 1900 Measured: 1897 (1897.092/1897.043/1897.043) +Cpufreq OPP: 1843 Measured: 1839 (1839.628/1839.582/1839.467) +Cpufreq OPP: 1708 Measured: 1705 (1705.230/1705.208/1705.166) +Cpufreq OPP: 1555 Measured: 1551 (1551.758/1551.699/1551.641) +Cpufreq OPP: 1267 Measured: 1263 (1263.777/1263.761/1263.730) +Cpufreq OPP: 1113 Measured: 553 (553.762/553.755/553.658) (-50.3%) +Cpufreq OPP: 979 Measured: 975 (975.974/975.950/975.852) +Cpufreq OPP: 825 Measured: 822 (822.505/822.494/822.484) +Cpufreq OPP: 652 Measured: 649 (649.768/649.752/649.727) + +########################################################################## + +Hardware sensors: + +cwlan_thermal-virtual-0 +temp1: +31.9 C + +video_thermal-virtual-0 +temp1: +32.2 C + +gpuss1_thermal-virtual-0 +temp1: +32.3 C + +cpuss1_thermal-virtual-0 +temp1: +33.6 C + +charger_thermal-virtual-0 +temp1: +30.0 C + +mdm_dsp_thermal-virtual-0 +temp1: +31.9 C + +cpu9_thermal-virtual-0 +temp1: +32.0 C + +cpu5_thermal-virtual-0 +temp1: +32.6 C + +sbs_12_000b-virtual-0 +temp1: +26.0 C + +camera_thermal-virtual-0 +temp1: +32.2 C + +cpu7_thermal-virtual-0 +temp1: +32.9 C + +cpu3_thermal-virtual-0 +temp1: +32.3 C + +pm6150_thermal-virtual-0 +temp1: +33.2 C + +q6_hvx_thermal-virtual-0 +temp1: +31.9 C + +cpu1_thermal-virtual-0 +temp1: +32.6 C + +CROS_USBPD_CHARGER1-isa-0000 +in0: 0.00 V +curr1: N/A (max = +1.50 A) + +audio_thermal-virtual-0 +temp1: +32.2 C + +aoss0_thermal-virtual-0 +temp1: +33.3 C + +aoss1_thermal-virtual-0 +temp1: +33.1 C + +cpu6_thermal-virtual-0 +temp1: +32.6 C + +skin_temp_thermal-virtual-0 +temp1: +31.4 C + +npu_thermal-virtual-0 +temp1: +32.2 C + +gpuss0_thermal-virtual-0 +temp1: +31.7 C + +cpuss0_thermal-virtual-0 +temp1: +32.9 C + +sbs_12_000b-i2c-12-0b +in0: 7.89 V +temp: +26.0 C +curr1: -246.00 mA (avg = -0.24 A) + +mdm_core_thermal-virtual-0 +temp1: +31.5 C + +cpu8_thermal-virtual-0 +temp1: +32.3 C + +cpu4_thermal-virtual-0 +temp1: +32.9 C + +cpu2_thermal-virtual-0 +temp1: +32.6 C + +pm6150l_thermal-virtual-0 +temp1: +37.0 C + +ddr_thermal-virtual-0 +temp1: +31.9 C + +cpu0_thermal-virtual-0 +temp1: +32.3 C + +CROS_USBPD_CHARGER0-isa-0000 +in0: 0.00 V +curr1: N/A (max = +1.50 A) + +########################################################################## + +Executing benchmark on cpu0 (Qualcomm Kryo 4XX Silver): + +tinymembench v0.4.9-nuumio (simple benchmark for memory throughput and latency) + +CFLAGS: +bandwidth test min repeats (-b): 2 +bandwidth test max repeats (-B): 3 +bandwidth test mem realloc (-M): no (-m for realloc) + latency test repeats (-l): 3 + latency test count (-c): 1000000 + +========================================================================== +== Memory bandwidth tests == +== == +== Note 1: 1MB = 1000000 bytes == +== Note 2: Test result is the best of repeated runs. Number of repeats == +== is shown in brackets == +== Note 3: Results for 'copy' tests show how many bytes can be == +== copied per second (adding together read and writen == +== bytes would have provided twice higher numbers) == +== Note 4: 2-pass copy means that we are using a small temporary buffer == +== to first fetch data into it, and only then write it to the == +== destination (source -> L1 cache, L1 cache -> destination) == +== Note 5: If sample standard deviation exceeds 0.1%, it is shown in == +== brackets == +========================================================================== + + C copy backwards : 2041.0 MB/s (3, 6.1%) + C copy backwards (32 byte blocks) : 2031.8 MB/s (2) + C copy backwards (64 byte blocks) : 2037.6 MB/s (2) + C copy : 4522.7 MB/s (2) + C copy prefetched (32 bytes step) : 1743.5 MB/s (2) + C copy prefetched (64 bytes step) : 4519.8 MB/s (2) + C 2-pass copy : 2186.7 MB/s (2) + C 2-pass copy prefetched (32 bytes step) : 1241.5 MB/s (3, 0.1%) + C 2-pass copy prefetched (64 bytes step) : 2305.7 MB/s (2) + C scan 8 : 441.4 MB/s (2) + C scan 16 : 863.4 MB/s (2) + C scan 32 : 1701.1 MB/s (2) + C scan 64 : 3331.9 MB/s (2) + C fill : 11961.1 MB/s (3, 0.7%) + C fill (shuffle within 16 byte blocks) : 11961.1 MB/s (2) + C fill (shuffle within 32 byte blocks) : 11960.4 MB/s (2) + C fill (shuffle within 64 byte blocks) : 11917.9 MB/s (3, 0.2%) + --- + libc memcpy copy : 4502.2 MB/s (3, 0.2%) + libc memchr scan : 2690.9 MB/s (2) + libc memset fill : 12410.0 MB/s (2) + --- + NEON LDP/STP copy : 4517.7 MB/s (3, 0.1%) + NEON LDP/STP copy pldl2strm (32 bytes step) : 1555.9 MB/s (2) + NEON LDP/STP copy pldl2strm (64 bytes step) : 2974.1 MB/s (2) + NEON LDP/STP copy pldl1keep (32 bytes step) : 1950.4 MB/s (3) + NEON LDP/STP copy pldl1keep (64 bytes step) : 4480.4 MB/s (3, 0.5%) + NEON LD1/ST1 copy : 4494.2 MB/s (2) + NEON LDP load : 6581.1 MB/s (3, 0.1%) + NEON LDNP load : 6812.1 MB/s (2) + NEON STP fill : 12408.0 MB/s (2) + NEON STNP fill : 8597.5 MB/s (3, 1.1%) + ARM LDP/STP copy : 4507.9 MB/s (2) + ARM LDP load : 6580.0 MB/s (2) + ARM LDNP load : 6830.4 MB/s (2) + ARM STP fill : 12420.9 MB/s (3) + ARM STNP fill : 8588.5 MB/s (3, 0.8%) + +========================================================================== +== Framebuffer read tests. == +== == +== Many ARM devices use a part of the system memory as the framebuffer, == +== typically mapped as uncached but with write-combining enabled. == +== Writes to such framebuffers are quite fast, but reads are much == +== slower and very sensitive to the alignment and the selection of == +== CPU instructions which are used for accessing memory. == +== == +== Many x86 systems allocate the framebuffer in the GPU memory, == +== accessible for the CPU via a relatively slow PCI-E bus. Moreover, == +== PCI-E is asymmetric and handles reads a lot worse than writes. == +== == +== If uncached framebuffer reads are reasonably fast (at least 100 MB/s == +== or preferably >300 MB/s), then using the shadow framebuffer layer == +== is not necessary in Xorg DDX drivers, resulting in a nice overall == +== performance improvement. For example, the xf86-video-fbturbo DDX == +== uses this trick. == +========================================================================== + + NEON LDP/STP copy (from framebuffer) : 246.9 MB/s (3, 0.1%) + NEON LDP/STP 2-pass copy (from framebuffer) : 234.9 MB/s (2) + NEON LD1/ST1 copy (from framebuffer) : 65.2 MB/s (2) + NEON LD1/ST1 2-pass copy (from framebuffer) : 64.1 MB/s (2) + ARM LDP/STP copy (from framebuffer) : 128.2 MB/s (3, 0.2%) + ARM LDP/STP 2-pass copy (from framebuffer) : 124.2 MB/s (2) + +========================================================================== +== Memory latency test == +== == +== Average time is measured for random memory accesses in the buffers == +== of different sizes. The larger is the buffer, the more significant == +== are relative contributions of TLB, L1/L2 cache misses and SDRAM == +== accesses. For extremely large buffer sizes we are expecting to see == +== page table walk with several requests to SDRAM for almost every == +== memory access (though 64MiB is not nearly large enough to experience == +== this effect to its fullest). == +== == +== Note 1: All the numbers are representing extra time, which needs to == +== be added to L1 cache latency. The cycle timings for L1 cache == +== latency can be usually found in the processor documentation. == +== Note 2: Dual random read means that we are simultaneously performing == +== two independent memory accesses at a time. In the case if == +== the memory subsystem can't handle multiple outstanding == +== requests, dual random read has the same timings as two == +== single reads performed one after another. == +========================================================================== + +block size : single random read / dual random read, [MADV_NOHUGEPAGE] + 1024 : 0.0 ns / 0.0 ns + 2048 : 0.0 ns / 0.0 ns + 4096 : 0.0 ns / 0.0 ns + 8192 : 0.0 ns / 0.0 ns + 16384 : 0.1 ns / 0.1 ns + 32768 : 0.7 ns / 1.2 ns + 65536 : 1.7 ns / 2.7 ns + 131072 : 6.3 ns / 9.4 ns + 262144 : 11.1 ns / 14.0 ns + 524288 : 14.8 ns / 15.6 ns + 1048576 : 25.6 ns / 26.2 ns + 2097152 : 76.9 ns / 107.9 ns + 4194304 : 110.8 ns / 138.6 ns + 8388608 : 133.8 ns / 155.3 ns + 16777216 : 146.0 ns / 161.4 ns + 33554432 : 153.9 ns / 169.9 ns + 67108864 : 158.9 ns / 176.7 ns + +block size : single random read / dual random read, [MADV_HUGEPAGE] + 1024 : 0.0 ns / 0.0 ns + 2048 : 0.0 ns / 0.0 ns + 4096 : 0.0 ns / 0.0 ns + 8192 : 0.0 ns / 0.0 ns + 16384 : 0.1 ns / 0.2 ns + 32768 : 0.8 ns / 1.2 ns + 65536 : 1.7 ns / 2.7 ns + 131072 : 6.2 ns / 9.4 ns + 262144 : 11.0 ns / 14.0 ns + 524288 : 14.6 ns / 15.6 ns + 1048576 : 18.5 ns / 17.7 ns + 2097152 : 77.3 ns / 107.5 ns + 4194304 : 109.8 ns / 137.5 ns + 8388608 : 127.3 ns / 146.1 ns + 16777216 : 133.0 ns / 148.7 ns + 33554432 : 136.5 ns / 149.6 ns + 67108864 : 138.1 ns / 150.0 ns + +Executing benchmark on cpu6 (Qualcomm Kryo 4XX Gold): + +tinymembench v0.4.9-nuumio (simple benchmark for memory throughput and latency) + +CFLAGS: +bandwidth test min repeats (-b): 2 +bandwidth test max repeats (-B): 3 +bandwidth test mem realloc (-M): no (-m for realloc) + latency test repeats (-l): 3 + latency test count (-c): 1000000 + +========================================================================== +== Memory bandwidth tests == +== == +== Note 1: 1MB = 1000000 bytes == +== Note 2: Test result is the best of repeated runs. Number of repeats == +== is shown in brackets == +== Note 3: Results for 'copy' tests show how many bytes can be == +== copied per second (adding together read and writen == +== bytes would have provided twice higher numbers) == +== Note 4: 2-pass copy means that we are using a small temporary buffer == +== to first fetch data into it, and only then write it to the == +== destination (source -> L1 cache, L1 cache -> destination) == +== Note 5: If sample standard deviation exceeds 0.1%, it is shown in == +== brackets == +========================================================================== + + C copy backwards : 6764.6 MB/s (3, 0.4%) + C copy backwards (32 byte blocks) : 6715.1 MB/s (2) + C copy backwards (64 byte blocks) : 6738.0 MB/s (2) + C copy : 6773.3 MB/s (2) + C copy prefetched (32 bytes step) : 6818.8 MB/s (2) + C copy prefetched (64 bytes step) : 6820.8 MB/s (3, 0.3%) + C 2-pass copy : 2867.1 MB/s (3) + C 2-pass copy prefetched (32 bytes step) : 3809.8 MB/s (2) + C 2-pass copy prefetched (64 bytes step) : 3815.6 MB/s (3, 0.1%) + C scan 8 : 1270.3 MB/s (2) + C scan 16 : 2540.0 MB/s (2) + C scan 32 : 5075.5 MB/s (2) + C scan 64 : 10038.1 MB/s (2) + C fill : 14994.2 MB/s (3, 0.1%) + C fill (shuffle within 16 byte blocks) : 14978.4 MB/s (2) + C fill (shuffle within 32 byte blocks) : 14975.6 MB/s (2) + C fill (shuffle within 64 byte blocks) : 14979.0 MB/s (2) + --- + libc memcpy copy : 6705.7 MB/s (3, 0.5%) + libc memchr scan : 13210.3 MB/s (3, 1.0%) + libc memset fill : 14981.2 MB/s (3, 0.8%) + --- + NEON LDP/STP copy : 6700.1 MB/s (2) + NEON LDP/STP copy pldl2strm (32 bytes step) : 6645.8 MB/s (3, 0.1%) + NEON LDP/STP copy pldl2strm (64 bytes step) : 6645.5 MB/s (3, 0.4%) + NEON LDP/STP copy pldl1keep (32 bytes step) : 6636.9 MB/s (3, 0.2%) + NEON LDP/STP copy pldl1keep (64 bytes step) : 6639.3 MB/s (2) + NEON LD1/ST1 copy : 6644.0 MB/s (2) + NEON LDP load : 13888.5 MB/s (3, 1.3%) + NEON LDNP load : 13347.3 MB/s (3, 1.5%) + NEON STP fill : 14979.5 MB/s (3, 0.1%) + NEON STNP fill : 14971.7 MB/s (2) + ARM LDP/STP copy : 6668.2 MB/s (2) + ARM LDP load : 13862.7 MB/s (3, 3.3%) + ARM LDNP load : 12194.1 MB/s (2) + ARM STP fill : 14961.4 MB/s (2) + ARM STNP fill : 14987.7 MB/s (3, 1.0%) + +========================================================================== +== Framebuffer read tests. == +== == +== Many ARM devices use a part of the system memory as the framebuffer, == +== typically mapped as uncached but with write-combining enabled. == +== Writes to such framebuffers are quite fast, but reads are much == +== slower and very sensitive to the alignment and the selection of == +== CPU instructions which are used for accessing memory. == +== == +== Many x86 systems allocate the framebuffer in the GPU memory, == +== accessible for the CPU via a relatively slow PCI-E bus. Moreover, == +== PCI-E is asymmetric and handles reads a lot worse than writes. == +== == +== If uncached framebuffer reads are reasonably fast (at least 100 MB/s == +== or preferably >300 MB/s), then using the shadow framebuffer layer == +== is not necessary in Xorg DDX drivers, resulting in a nice overall == +== performance improvement. For example, the xf86-video-fbturbo DDX == +== uses this trick. == +========================================================================== + + NEON LDP/STP copy (from framebuffer) : 1403.2 MB/s (3, 0.3%) + NEON LDP/STP 2-pass copy (from framebuffer) : 1184.3 MB/s (3, 0.3%) + NEON LD1/ST1 copy (from framebuffer) : 1418.6 MB/s (2) + NEON LD1/ST1 2-pass copy (from framebuffer) : 1189.9 MB/s (2) + ARM LDP/STP copy (from framebuffer) : 1308.8 MB/s (2) + ARM LDP/STP 2-pass copy (from framebuffer) : 1181.1 MB/s (2) + +========================================================================== +== Memory latency test == +== == +== Average time is measured for random memory accesses in the buffers == +== of different sizes. The larger is the buffer, the more significant == +== are relative contributions of TLB, L1/L2 cache misses and SDRAM == +== accesses. For extremely large buffer sizes we are expecting to see == +== page table walk with several requests to SDRAM for almost every == +== memory access (though 64MiB is not nearly large enough to experience == +== this effect to its fullest). == +== == +== Note 1: All the numbers are representing extra time, which needs to == +== be added to L1 cache latency. The cycle timings for L1 cache == +== latency can be usually found in the processor documentation. == +== Note 2: Dual random read means that we are simultaneously performing == +== two independent memory accesses at a time. In the case if == +== the memory subsystem can't handle multiple outstanding == +== requests, dual random read has the same timings as two == +== single reads performed one after another. == +========================================================================== + +block size : single random read / dual random read, [MADV_NOHUGEPAGE] + 1024 : 0.0 ns / 0.0 ns + 2048 : 0.0 ns / 0.0 ns + 4096 : 0.0 ns / 0.0 ns + 8192 : 0.0 ns / 0.0 ns + 16384 : 0.0 ns / 0.0 ns + 32768 : 0.0 ns / 0.0 ns + 65536 : 0.0 ns / 0.0 ns + 131072 : 1.0 ns / 1.4 ns + 262144 : 3.7 ns / 5.4 ns + 524288 : 9.4 ns / 12.7 ns + 1048576 : 15.9 ns / 20.1 ns + 2097152 : 54.6 ns / 83.1 ns + 4194304 : 95.7 ns / 129.9 ns + 8388608 : 119.9 ns / 150.0 ns + 16777216 : 133.5 ns / 158.5 ns + 33554432 : 141.5 ns / 163.2 ns + 67108864 : 147.1 ns / 166.5 ns + +block size : single random read / dual random read, [MADV_HUGEPAGE] + 1024 : 0.0 ns / 0.0 ns + 2048 : 0.0 ns / 0.0 ns + 4096 : 0.0 ns / 0.0 ns + 8192 : 0.0 ns / 0.0 ns + 16384 : 0.0 ns / 0.0 ns + 32768 : 0.0 ns / 0.0 ns + 65536 : 0.0 ns / 0.0 ns + 131072 : 1.0 ns / 1.4 ns + 262144 : 1.7 ns / 1.9 ns + 524288 : 8.2 ns / 11.6 ns + 1048576 : 12.0 ns / 14.8 ns + 2097152 : 52.7 ns / 80.7 ns + 4194304 : 94.0 ns / 127.9 ns + 8388608 : 114.4 ns / 142.3 ns + 16777216 : 124.2 ns / 146.9 ns + 33554432 : 128.9 ns / 148.8 ns + 67108864 : 131.3 ns / 149.6 ns + +########################################################################## + +Executing ramlat on cpu0 (Qualcomm Kryo 4XX Silver), results in ns: + + size: 1x32 2x32 1x64 2x64 1xPTR 2xPTR 4xPTR 8xPTR + 4k: 1.695 1.671 1.672 1.680 1.113 1.671 2.264 4.557 + 8k: 1.674 1.671 1.670 1.675 1.114 1.675 2.263 4.559 + 16k: 1.684 1.675 1.683 1.670 1.120 1.671 2.262 4.572 + 32k: 1.702 1.679 1.714 1.680 1.135 1.682 2.278 4.580 + 64k: 9.843 10.92 9.811 10.93 10.01 10.94 15.95 29.57 + 128k: 14.91 15.87 14.93 15.87 13.86 15.84 25.54 47.40 + 256k: 16.48 16.79 16.49 16.86 15.64 16.77 27.05 52.73 + 512k: 16.77 16.86 16.71 16.94 16.02 16.89 26.74 53.03 + 1024k: 27.42 30.35 30.03 29.93 27.62 30.84 49.27 100.1 + 2048k: 92.30 103.5 104.3 104.3 99.32 103.9 163.3 304.0 + 4096k: 122.5 123.8 120.6 126.0 118.0 129.9 197.1 369.7 + 8192k: 136.0 137.5 134.9 137.4 134.0 141.8 208.8 384.3 + 16384k: 144.8 144.3 144.7 144.3 144.4 146.6 212.8 395.7 + 32768k: 149.0 149.4 148.9 147.8 148.4 150.2 216.8 400.3 + 65536k: 152.9 154.5 152.5 154.7 152.0 154.4 216.5 406.2 + 131072k: 156.4 158.6 157.9 158.3 155.5 157.8 218.6 408.2 + +Executing ramlat on cpu6 (Qualcomm Kryo 4XX Gold), results in ns: + + size: 1x32 2x32 1x64 2x64 1xPTR 2xPTR 4xPTR 8xPTR + 4k: 1.570 1.569 1.572 1.570 1.569 1.571 1.569 2.981 + 8k: 1.570 1.572 1.570 1.570 1.571 1.569 1.571 3.057 + 16k: 1.571 1.573 1.569 1.573 1.570 1.570 1.569 3.063 + 32k: 1.570 1.569 1.573 1.569 1.570 1.570 1.572 3.061 + 64k: 1.574 1.573 1.572 1.573 1.575 1.572 1.574 3.062 + 128k: 4.723 4.718 4.725 4.720 4.737 5.174 6.690 11.95 + 256k: 8.096 8.088 8.542 8.086 8.524 8.294 9.408 15.07 + 512k: 16.20 15.68 15.84 15.66 15.79 16.81 23.59 41.95 + 1024k: 23.61 19.43 22.33 19.75 22.32 20.71 29.72 52.18 + 2048k: 84.10 69.06 85.87 72.10 95.02 69.62 71.07 86.54 + 4096k: 116.0 104.0 118.5 104.6 115.2 106.3 110.5 123.6 + 8192k: 132.9 128.6 135.2 128.7 133.2 133.0 137.4 142.4 + 16384k: 142.6 138.5 142.4 140.2 142.1 143.1 144.8 149.3 + 32768k: 146.7 143.7 146.3 143.6 146.8 148.0 152.8 160.4 + 65536k: 147.3 146.5 146.2 146.5 147.1 148.8 156.2 170.4 + 131072k: 158.9 152.2 153.4 152.3 154.8 155.8 163.6 181.1 + +########################################################################## + +Executing benchmark on each cluster individually + +OpenSSL 3.0.9, built on 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023) +type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes +aes-128-cbc 154995.49k 464576.66k 918132.05k 1218633.39k 1345803.61k 1355333.63k (Qualcomm Kryo 4XX Silver) +aes-128-cbc 676514.91k 1393459.14k 1826898.43k 1976980.48k 2027533.65k 2033068.71k (Qualcomm Kryo 4XX Gold) +aes-192-cbc 147872.63k 413894.40k 742735.53k 938192.90k 1013514.24k 1019281.41k (Qualcomm Kryo 4XX Silver) +aes-192-cbc 636579.99k 1244509.65k 1556982.19k 1646889.98k 1690304.51k 1695487.32k (Qualcomm Kryo 4XX Gold) +aes-256-cbc 143648.67k 381524.10k 644431.36k 784342.36k 836665.34k 840226.13k (Qualcomm Kryo 4XX Silver) +aes-256-cbc 627186.00k 1116453.33k 1351434.15k 1426804.05k 1451032.58k 1453670.40k (Qualcomm Kryo 4XX Gold) + +########################################################################## + +Executing benchmark single-threaded on cpu0 (Qualcomm Kryo 4XX Silver) + +7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 +p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,8 CPUs LE) + +LE +CPU Freq: 64000000 64000000 - - 128000000 256000000 512000000 1024000000 2048000000 + +RAM size: 3875 MB, # CPU hardware threads: 8 +RAM usage: 435 MB, # Benchmark threads: 1 + + Compressing | Decompressing +Dict Speed Usage R/U Rating | Speed Usage R/U Rating + KiB/s % MIPS MIPS | KiB/s % MIPS MIPS + +22: 1062 99 1045 1033 | 20937 99 1804 1788 +23: 998 99 1029 1017 | 20405 99 1782 1766 +24: 971 99 1057 1045 | 19848 99 1757 1743 +25: 929 99 1074 1061 | 19179 99 1722 1707 +---------------------------------- | ------------------------------ +Avr: 99 1051 1039 | 99 1766 1751 +Tot: 99 1409 1395 + +Executing benchmark single-threaded on cpu6 (Qualcomm Kryo 4XX Gold) + +7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 +p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,8 CPUs LE) + +LE +CPU Freq: - - - - - - - - - + +RAM size: 3875 MB, # CPU hardware threads: 8 +RAM usage: 435 MB, # Benchmark threads: 1 + + Compressing | Decompressing +Dict Speed Usage R/U Rating | Speed Usage R/U Rating + KiB/s % MIPS MIPS | KiB/s % MIPS MIPS + +22: 2601 99 2551 2531 | 40744 100 3489 3479 +23: 2423 99 2489 2469 | 39352 100 3416 3406 +24: 2285 99 2477 2458 | 37922 100 3341 3329 +25: 2086 99 2401 2382 | 36394 100 3249 3239 +---------------------------------- | ------------------------------ +Avr: 99 2479 2460 | 100 3374 3363 +Tot: 99 2927 2912 + +########################################################################## + +Executing benchmark 3 times multi-threaded on CPUs 0-7 + +7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 +p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,8 CPUs LE) + +LE +CPU Freq: - - - - - 256000000 512000000 - - + +RAM size: 3875 MB, # CPU hardware threads: 8 +RAM usage: 1765 MB, # Benchmark threads: 8 + + Compressing | Decompressing +Dict Speed Usage R/U Rating | Speed Usage R/U Rating + KiB/s % MIPS MIPS | KiB/s % MIPS MIPS + +22: 10495 735 1388 10210 | 173488 653 2266 14798 +23: 9728 744 1332 9912 | 169281 655 2236 14649 +24: 9201 758 1306 9893 | 164908 656 2208 14474 +25: 8654 762 1297 9881 | 160141 657 2171 14252 +---------------------------------- | ------------------------------ +Avr: 750 1331 9974 | 655 2220 14543 +Tot: 702 1776 12259 + +7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 +p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,8 CPUs LE) + +LE +CPU Freq: - - - - - 256000000 512000000 - - + +RAM size: 3875 MB, # CPU hardware threads: 8 +RAM usage: 1765 MB, # Benchmark threads: 8 + + Compressing | Decompressing +Dict Speed Usage R/U Rating | Speed Usage R/U Rating + KiB/s % MIPS MIPS | KiB/s % MIPS MIPS + +22: 10267 719 1389 9989 | 173478 654 2264 14797 +23: 9739 744 1334 9923 | 169095 654 2236 14633 +24: 9255 760 1309 9952 | 164663 654 2208 14452 +25: 8669 763 1297 9899 | 160309 658 2169 14267 +---------------------------------- | ------------------------------ +Avr: 747 1332 9941 | 655 2219 14537 +Tot: 701 1776 12239 + +7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 +p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,8 CPUs LE) + +LE +CPU Freq: - - - - - - - - - + +RAM size: 3875 MB, # CPU hardware threads: 8 +RAM usage: 1765 MB, # Benchmark threads: 8 + + Compressing | Decompressing +Dict Speed Usage R/U Rating | Speed Usage R/U Rating + KiB/s % MIPS MIPS | KiB/s % MIPS MIPS + +22: 10451 741 1372 10167 | 173381 653 2265 14789 +23: 9621 721 1361 9803 | 168851 653 2238 14612 +24: 9273 762 1308 9971 | 164242 652 2210 14415 +25: 8598 748 1312 9817 | 160000 656 2170 14239 +---------------------------------- | ------------------------------ +Avr: 743 1338 9940 | 654 2221 14514 +Tot: 698 1779 12227 + +Compression: 9974,9941,9940 +Decompression: 14543,14537,14514 +Total: 12259,12239,12227 + +########################################################################## + +Testing maximum cpufreq again, still under full load. System health now: + +Time big.LITTLE load %cpu %sys %usr %nice %io %irq Temp +08:05:27: 2554/1805MHz 7.31 95% 1% 92% 0% 0% 1% 70.4°C + +Checking cpufreq OPP for cpu0-cpu5 (Qualcomm Kryo 4XX Silver): + +Cpufreq OPP: 1804 Measured: 1796 (1796.836/1796.836/1796.567) + +Checking cpufreq OPP for cpu6-cpu7 (Qualcomm Kryo 4XX Gold): + +Cpufreq OPP: 2553 Measured: 2549 (2549.653/2549.621/2549.589) + +########################################################################## + +Hardware sensors: + +cwlan_thermal-virtual-0 +temp1: +40.2 C + +video_thermal-virtual-0 +temp1: +41.1 C + +gpuss1_thermal-virtual-0 +temp1: +40.6 C + +cpuss1_thermal-virtual-0 +temp1: +43.2 C + +charger_thermal-virtual-0 +temp1: +33.3 C + +mdm_dsp_thermal-virtual-0 +temp1: +40.2 C + +cpu9_thermal-virtual-0 +temp1: +42.2 C + +cpu5_thermal-virtual-0 +temp1: +43.2 C + +sbs_12_000b-virtual-0 +temp1: +26.0 C + +camera_thermal-virtual-0 +temp1: +40.5 C + +cpu7_thermal-virtual-0 +temp1: +43.2 C + +cpu3_thermal-virtual-0 +temp1: +41.9 C + +pm6150_thermal-virtual-0 +temp1: +41.2 C + +q6_hvx_thermal-virtual-0 +temp1: +40.5 C + +cpu1_thermal-virtual-0 +temp1: +41.9 C + +CROS_USBPD_CHARGER1-isa-0000 +in0: 0.00 V +curr1: N/A (max = +1.50 A) + +audio_thermal-virtual-0 +temp1: +40.5 C + +aoss0_thermal-virtual-0 +temp1: +41.9 C + +aoss1_thermal-virtual-0 +temp1: +41.4 C + +cpu6_thermal-virtual-0 +temp1: +42.6 C + +skin_temp_thermal-virtual-0 +temp1: +39.8 C + +npu_thermal-virtual-0 +temp1: +40.5 C + +gpuss0_thermal-virtual-0 +temp1: +40.0 C + +cpuss0_thermal-virtual-0 +temp1: +42.9 C + +sbs_12_000b-i2c-12-0b +in0: 7.84 V +temp: +26.0 C +curr1: -294.00 mA (avg = -0.47 A) + +mdm_core_thermal-virtual-0 +temp1: +39.5 C + +cpu8_thermal-virtual-0 +temp1: +42.2 C + +cpu4_thermal-virtual-0 +temp1: +42.6 C + +cpu2_thermal-virtual-0 +temp1: +41.9 C + +pm6150l_thermal-virtual-0 +temp1: +37.0 C + +ddr_thermal-virtual-0 +temp1: +39.5 C + +cpu0_thermal-virtual-0 +temp1: +42.2 C + +CROS_USBPD_CHARGER0-isa-0000 +in0: 0.00 V +curr1: N/A (max = +1.50 A) + +########################################################################## + +Thermal source: /sys/devices/virtual/thermal/thermal_zone9/ (cpu6-thermal) + +System health while running tinymembench: + +Time big.LITTLE load %cpu %sys %usr %nice %io %irq Temp +07:53:45: 2554/1805MHz 0.95 12% 2% 8% 0% 0% 0% 35.2°C +07:54:05: 2554/1805MHz 0.97 12% 0% 12% 0% 0% 0% 35.2°C +07:54:26: 2554/1805MHz 0.98 12% 0% 12% 0% 0% 0% 35.8°C +07:54:46: 2554/1805MHz 0.98 12% 0% 12% 0% 0% 0% 36.8°C +07:55:06: 2554/1805MHz 0.99 12% 0% 12% 0% 0% 0% 34.5°C +07:55:26: 2554/1805MHz 0.99 12% 0% 12% 0% 0% 0% 51.5°C +07:55:46: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 50.9°C +07:56:06: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 49.6°C +07:56:27: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 40.6°C + +System health while running ramlat: + +Time big.LITTLE load %cpu %sys %usr %nice %io %irq Temp +07:56:30: 2554/1805MHz 1.00 12% 2% 9% 0% 0% 0% 37.7°C +07:56:36: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 34.5°C +07:56:42: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 35.5°C +07:56:48: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 34.2°C +07:56:54: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 34.2°C +07:57:00: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 34.2°C +07:57:06: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 39.3°C +07:57:12: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 40.6°C +07:57:18: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 38.7°C +07:57:24: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 38.7°C +07:57:30: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 39.3°C + +System health while running OpenSSL benchmark: + +Time big.LITTLE load %cpu %sys %usr %nice %io %irq Temp +07:57:35: 2554/1805MHz 1.00 12% 2% 9% 0% 0% 0% 37.7°C +07:57:51: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 33.6°C +07:58:07: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 47.7°C +07:58:23: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 33.6°C +07:58:39: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 49.0°C +07:58:55: 2554/1805MHz 1.08 12% 0% 12% 0% 0% 0% 33.6°C +07:59:11: 2554/1805MHz 1.06 12% 0% 12% 0% 0% 0% 50.2°C + +System health while running 7-zip single core benchmark: + +Time big.LITTLE load %cpu %sys %usr %nice %io %irq Temp +07:59:23: 2554/1805MHz 1.05 12% 2% 9% 0% 0% 0% 38.4°C +07:59:29: 2554/1805MHz 1.04 12% 0% 12% 0% 0% 0% 34.9°C +07:59:35: 2554/1805MHz 1.04 12% 0% 12% 0% 0% 0% 33.9°C +07:59:41: 2554/1805MHz 1.04 12% 0% 12% 0% 0% 0% 34.5°C +07:59:47: 2554/1805MHz 1.03 12% 0% 12% 0% 0% 0% 34.5°C +07:59:53: 2554/1805MHz 1.03 12% 0% 12% 0% 0% 0% 33.9°C +07:59:59: 2554/1805MHz 1.02 12% 0% 12% 0% 0% 0% 33.6°C +08:00:05: 2554/1805MHz 1.02 12% 0% 12% 0% 0% 0% 33.6°C +08:00:11: 2554/1805MHz 1.02 12% 0% 12% 0% 0% 0% 33.3°C +08:00:17: 2554/1805MHz 1.02 12% 0% 12% 0% 0% 0% 33.3°C +08:00:23: 2554/1805MHz 1.02 12% 0% 12% 0% 0% 0% 33.6°C +08:00:30: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 33.6°C +08:00:36: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 33.6°C +08:00:42: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 33.6°C +08:00:48: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 32.9°C +08:00:54: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 33.3°C +08:01:00: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 33.6°C +08:01:06: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 33.6°C +08:01:12: 2554/1805MHz 1.01 12% 0% 12% 0% 0% 0% 33.6°C +08:01:18: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 46.7°C +08:01:24: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 49.3°C +08:01:30: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 49.3°C +08:01:36: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 46.4°C +08:01:42: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 49.0°C +08:01:48: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 46.4°C +08:01:55: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 45.8°C +08:02:01: 2554/1805MHz 1.00 12% 0% 12% 0% 0% 0% 45.4°C + +System health while running 7-zip multi core benchmark: + +Time big.LITTLE load %cpu %sys %usr %nice %io %irq Temp +08:02:06: 2554/1805MHz 1.00 12% 2% 9% 0% 0% 0% 57.0°C +08:02:17: 2554/1805MHz 2.22 96% 0% 93% 0% 0% 1% 63.1°C +08:02:29: 2554/1805MHz 2.82 84% 0% 82% 0% 0% 1% 66.3°C +08:02:39: 2554/1805MHz 4.41 80% 1% 78% 0% 0% 1% 61.1°C +08:02:49: 2554/1805MHz 4.65 86% 0% 85% 0% 0% 0% 63.1°C +08:02:59: 2554/1805MHz 5.31 86% 1% 82% 0% 0% 2% 56.3°C +08:03:10: 2554/1805MHz 5.72 97% 1% 94% 0% 0% 1% 67.2°C +08:03:24: 2554/1805MHz 5.55 81% 0% 78% 0% 0% 1% 68.8°C +08:03:37: 2554/1805MHz 5.65 85% 0% 84% 0% 0% 1% 69.5°C +08:03:47: 2554/1805MHz 6.10 82% 1% 79% 0% 0% 1% 58.9°C +08:03:57: 2554/1805MHz 6.32 86% 0% 84% 0% 0% 0% 65.0°C +08:04:08: 2554/1805MHz 6.14 87% 1% 83% 0% 0% 2% 59.5°C +08:04:19: 2554/1805MHz 6.42 97% 1% 94% 0% 0% 1% 69.1°C +08:04:32: 2554/1805MHz 6.84 84% 0% 82% 0% 0% 1% 71.1°C +08:04:45: 2554/1805MHz 7.03 84% 0% 82% 0% 0% 1% 71.1°C +08:04:56: 2554/1805MHz 7.18 82% 1% 79% 0% 0% 1% 60.5°C +08:05:06: 2554/1805MHz 7.14 84% 0% 83% 0% 0% 0% 65.3°C +08:05:16: 2554/1805MHz 7.19 88% 2% 84% 0% 0% 2% 64.7°C +08:05:27: 2554/1805MHz 7.31 95% 1% 92% 0% 0% 1% 70.4°C + +########################################################################## + +dmesg output while running the benchmarks: + +[ 1793.396039] [UFW BLOCK] IN=wlan0 OUT= MAC=01:00:5e:00:00:01:38:10:d5:62:ff:3c:08:00 SRC=192.168.178.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0xC0 TTL=1 ID=63309 DF PROTO=2 +[ 1918.327177] [UFW BLOCK] IN=wlan0 OUT= MAC=01:00:5e:00:00:01:38:10:d5:62:ff:3c:08:00 SRC=192.168.178.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0xC0 TTL=1 ID=9338 DF PROTO=2 +[ 2043.361282] [UFW BLOCK] IN=wlan0 OUT= MAC=01:00:5e:00:00:01:38:10:d5:62:ff:3c:08:00 SRC=192.168.178.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0xC0 TTL=1 ID=13066 DF PROTO=2 +[ 2134.397635] [UFW BLOCK] IN=wlan0 OUT= MAC=33:33:00:00:00:01:38:10:d5:62:ff:3c:86:dd SRC=fe80:0000:0000:0000:3a10:d5ff:fe62:ff3c DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=UDP SPT=53805 DPT=53805 LEN=24 +[ 2168.395333] [UFW BLOCK] IN=wlan0 OUT= MAC=01:00:5e:00:00:01:38:10:d5:62:ff:3c:08:00 SRC=192.168.178.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0xC0 TTL=1 ID=25242 DF PROTO=2 +[ 2293.327228] [UFW BLOCK] IN=wlan0 OUT= MAC=01:00:5e:00:00:01:38:10:d5:62:ff:3c:08:00 SRC=192.168.178.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0xC0 TTL=1 ID=25894 DF PROTO=2 +[ 2418.361188] [UFW BLOCK] IN=wlan0 OUT= MAC=01:00:5e:00:00:01:38:10:d5:62:ff:3c:08:00 SRC=192.168.178.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0xC0 TTL=1 ID=38365 DF PROTO=2 + +########################################################################## + +Linux 6.3.9-jan2chromedts (changeme) 22.06.2023 _aarch64_ (8 CPU) + +avg-cpu: %user %nice %system %iowait %steal %idle + 15.68 0.01 2.95 0.11 0.00 81.25 + +Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd +mmcblk1 12.91 317.71 114.16 90.88 804421 289056 230104 +zram0 0.02 0.46 0.00 0.00 1176 4 0 +zram1 3.04 1.64 61.94 0.00 4164 156836 0 + + total used free shared buff/cache available +Mem: 3.8Gi 1.1Gi 2.4Gi 150Mi 586Mi 2.7Gi +Swap: 3.9Gi 0B 3.9Gi + +Filename Type Size Used Priority +/swap/file.0 file 2097148 0 -2 +/dev/zram0 partition 1983996 0 100 + +WARNING: ZSWAP ON TOP OF ZRAM HAS BEEN CONFIGURED ON THIS SYSTEM! +THIS WILL SEVERELY HARM PERFORMANCE IN CASE SWAPPING OCCURS! + +Zswap active using zstd/zsmalloc, max pool occupation: 20%, details: + duplicate_entry:0 + pool_limit_hit:0 + pool_total_size:0 + reject_alloc_fail:0 + reject_compress_poor:0 + reject_kmemcache_fail:0 + reject_reclaim_fail:0 + same_filled_pages:0 + stored_pages:0 + written_back_pages:0 + +CPU sysfs topology (clusters, cpufreq members, clockspeeds) + cpufreq min max + CPU cluster policy speed speed core type + 0 0 0 300 1805 Qualcomm Kryo 4XX Silver / r13p14 + 1 0 0 300 1805 Qualcomm Kryo 4XX Silver / r13p14 + 2 0 0 300 1805 Qualcomm Kryo 4XX Silver / r13p14 + 3 0 0 300 1805 Qualcomm Kryo 4XX Silver / r13p14 + 4 0 0 300 1805 Qualcomm Kryo 4XX Silver / r13p14 + 5 0 0 300 1805 Qualcomm Kryo 4XX Silver / r13p14 + 6 0 6 653 2554 Qualcomm Kryo 4XX Gold / r15p15 + 7 0 6 653 2554 Qualcomm Kryo 4XX Gold / r15p15 + +Architecture: aarch64 +CPU op-mode(s): 32-bit, 64-bit +Byte Order: Little Endian +CPU(s): 8 +On-line CPU(s) list: 0-7 +Vendor ID: Qualcomm +Model name: Kryo-4XX-Silver +Model: 14 +Thread(s) per core: 1 +Core(s) per socket: 6 +Socket(s): 1 +Stepping: 0xd +CPU(s) scaling MHz: 100% +CPU max MHz: 1804.8000 +CPU min MHz: 300.0000 +BogoMIPS: 38.40 +Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp +Model name: Kryo-4XX-Gold +Model: 15 +Thread(s) per core: 1 +Core(s) per socket: 2 +Socket(s): 1 +Stepping: 0xf +CPU(s) scaling MHz: 100% +CPU max MHz: 2553.6001 +CPU min MHz: 652.8000 +BogoMIPS: 38.40 +Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp +NUMA node(s): 1 +NUMA node0 CPU(s): 0-7 +Vulnerability Itlb multihit: Not affected +Vulnerability L1tf: Not affected +Vulnerability Mds: Not affected +Vulnerability Meltdown: Not affected +Vulnerability Mmio stale data: Not affected +Vulnerability Retbleed: Not affected +Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl +Vulnerability Spectre v1: Mitigation; __user pointer sanitization +Vulnerability Spectre v2: Not affected +Vulnerability Srbds: Not affected +Vulnerability Tsx async abort: Not affected + +SoC guess: Qualcomm Snapdragon 7c +DT compat: google,homestar-rev3 + qcom,sc7180 + Compiler: /usr/bin/gcc (Debian 12.2.0-14) 12.2.0 / aarch64-linux-gnu + Userland: arm64 + Kernel: 6.3.9-jan2chromedts/aarch64 + CONFIG_HZ=1000 + CONFIG_HZ_1000=y + CONFIG_PREEMPT_NOTIFIERS=y + CONFIG_PREEMPT_VOLUNTARY=y + CONFIG_PREEMPT_VOLUNTARY_BUILD=y + +########################################################################## + + opp-table-cpu0: + 300 MHz - + 576 MHz - + 768 MHz - + 1018 MHz - + 1248 MHz - + 1325 MHz - + 1517 MHz - + 1613 MHz - + 1709 MHz - + 1805 MHz - + + opp-table-cpu6: + 300 MHz - + 653 MHz - + 826 MHz - + 979 MHz - + 1114 MHz - + 1267 MHz - + 1555 MHz - + 1709 MHz - + 1843 MHz - + 1901 MHz - + 1997 MHz - + 2112 MHz - + 2208 MHz - + 2323 MHz - + 2400 MHz - + 2554 MHz - + + opp-table-qspi: + 75 MHz - + 150 MHz - + 300 MHz - + + opp-table-qup: + 75 MHz - + 100 MHz - + 128 MHz - + +########################################################################## + +Results validation: + + * Measured clockspeed not lower than advertised max CPU clockspeed + * No swapping + * Background activity (%system) OK + * Zswap combined with ZRAM. Swapping performance severely harmed + * No throttling + +Status of performance related governors found below /sys (w/o cpufreq): + + * 5000000.gpu: simple_ondemand / 180 MHz (powersave performance simple_ondemand / 180 267 355 430 565 650 800 825) + +| Google Homestar (rev3) | 2553/1804 MHz | 6.3 | Debian GNU/Linux 12 (bookworm) arm64 | 12240 | 2912 | 1453670 | 6710 | 14980 | - | \ No newline at end of file diff --git a/results/Sorted-Results.md b/results/Sorted-Results.md index 92131ab..91ce834 100644 --- a/results/Sorted-Results.md +++ b/results/Sorted-Results.md @@ -34,6 +34,7 @@ | [Jetson Orin Nano](http://ix.io/4vy7) | 1510 MHz | 5.10 | Focal arm64 | **13650** | 2153 | 854400 | 6730 | 20240 | 20.68 | | [Jetson Xavier NX](http://ix.io/3YWp) | 1890 MHz | 4.9 | Bionic arm64 | **13230** | 2201 | 706280 | 9190 | 18480 | - | | [N95](http://ix.io/4xwq) | 3400 MHz | 5.15 | Jammy amd64 | **13070** | 3993 | 1232880 | 9710 | 8730 | 34.60 | +| [Qualcomm Snapdragon 7c](http://ix.io/4yNC) | 2550/1800 MHz | 6.3 | Bookworm arm64 | **12240** | 2912 | 1453670 | 6710 | 14980 | - | | [Khadas VIM4](http://ix.io/4cHh) | 2200/2010 MHz | 5.4 | Jammy arm64 | **12120** | 2067 | 1254540 | 8180 | 11680 | - | | [Khadas VIM4](http://ix.io/3Wvv) | 2200/1970 MHz | 5.4 | Focal arm64 | **12090** | 2081 | 1253200 | 7810 | 11600 | - | | [Pentium G4600](http://ix.io/2jVw) | 3600 MHz | 4.19 | Buster amd64 | **11810** | 4448 | 984820 | 15120 | 33380 | 21.88 | @@ -245,6 +246,7 @@ | [Celeron N5100](http://ix.io/3IlQ) | 2800/1100 MHz | 5.13 | Focal amd64 | 10550 | **3088** | 783800 | 7750 | 8090 | 19.22 | | [Celeron N5105](http://ix.io/3Qf7) | 2900/2000 MHz | 5.13 | Focal amd64 | 11450 | **3059** | 811760 | 7710 | 9290 | 21.79 | | [Loongson-3A5000-HV](http://ix.io/4dzX) | 2500 MHz | 4.19 | Loongnix 20 loongarch64 | 11120 | **2990** | 116900 | 6930 | 19170 | - | +| [Qualcomm Snapdragon 7c](http://ix.io/4yNC) | 2550/1800 MHz | 6.3 | Bookworm arm64 | 12240 | **2912** | 1453670 | 6710 | 14980 | - | | [Ryzen R1606G](http://ix.io/2tQQ) | 2600/1400 MHz | 5.4 | Focal amd64 | 7970 | **2854** | 700780 | 8230 | 5970 | 16.45 | | [Phytium FT-2000/4 1xSO-DIMM](http://ix.io/4ioj) | 2600 MHz | 5.15 | Bullseye arm64 | 10020 | **2755** | 936740 | 3760 | 14540 | - | | [Jetson Xavier AGX](http://ix.io/4ebH) | 2250 MHz | 4.9 | Bionic arm64 | 21590 | **2742** | 853250 | 10910 | 22520 | 26.57 | @@ -448,6 +450,7 @@ | [Qualcomm Snapdragon 8cx Gen 3](http://ix.io/4xwT) | 3000/2440 MHz | 6.3 | Lunar arm64 | 35370 | 4312 | **1686160** | 17500 | 41780 | 42.76 | | [Qualcomm Snapdragon 8cx Gen 3 (WSL2)](http://ix.io/4kEp) | 2980/? MHz | 5.15 | Jammy arm64 | 33600 | 4789 | **1679480** | 21010 | 41540 | 50.65 | | [Qualcomm QRB5165](http://ix.io/49kx) | 2840/2410/1790 MHz | 4.19 | Focal arm64 | 18860 | 3898 | **1598490** | 14470 | 23910 | 25.56 | +| [Qualcomm Snapdragon 7c](http://ix.io/4yNC) | 2550/1800 MHz | 6.3 | Bookworm arm64 | 12240 | 2912 | **1453670** | 6710 | 14980 | - | | [i3-N305](http://ix.io/4qpr) | 3800 MHz | 5.19 | Jammy amd64 | 20000 | 4398 | **1377280** | 9950 | 8990 | 41.43 | | [ODROID-N2+](http://ix.io/3DtN) | 2400/2015 MHz | 5.14 | Impish arm64 | 9790 | 2253 | **1366930** | 4300 | 7480 | - | | [ODROID-N2+](http://ix.io/3R1a) | 2400/2015 MHz | 5.10 | Focal arm64 | 9680 | 2372 | **1366730** | 4030 | 7120 | - | @@ -683,6 +686,7 @@ | [Celeron 5205U](http://ix.io/4eiM) | 1900 MHz | 5.15 | Jammy amd64 | 4060 | 2171 | 521090 | **7350** | 16020 | 11.20 | | [Loongson-3A5000-HV](http://ix.io/4dzX) | 2500 MHz | 4.19 | Loongnix 20 loongarch64 | 11120 | 2990 | 116900 | **6930** | 19170 | - | | [Jetson Orin Nano](http://ix.io/4vy7) | 1510 MHz | 5.10 | Focal arm64 | 13650 | 2153 | 854400 | **6730** | 20240 | 20.68 | +| [Qualcomm Snapdragon 7c](http://ix.io/4yNC) | 2550/1800 MHz | 6.3 | Bookworm arm64 | 12240 | 2912 | 1453670 | **6710** | 14980 | - | | [Celeron J4105](http://ix.io/1qb0) | 2400/1500 MHz | 4.15 | Bionic amd64 | 8960 | 2274 | 697080 | **5620** | 7650 | 19.13 | | [Pentium J5005](http://ix.io/21rE) | 2700/1500 MHz | 5.0 | Bionic amd64 | 9230 | 2455 | 778360 | **5530** | 7130 | 20.74 | | [Celeron J4105](http://ix.io/1qal) | 2400/1500 MHz | 4.15 | Bionic amd64 | 9020 | 2290 | 697100 | **5500** | 7410 | 19.07 | @@ -889,6 +893,7 @@ | [Honeycomb LX2](http://ix.io/3Y4f) | 2200 MHz | 5.16 | Fedora 35 aarch64 | 30690 | 2288 | 1251710 | 5050 | **16220** | 46.09 | | [Phytium D2000 2xSO-DIMM](http://ix.io/446h) | 2300 MHz | 5.19 | Jammy arm64 | 16670 | 2252 | 828130 | 3480 | **16110** | - | | [Celeron 5205U](http://ix.io/4eiM) | 1900 MHz | 5.15 | Jammy amd64 | 4060 | 2171 | 521090 | 7350 | **16020** | 11.20 | +| [Qualcomm Snapdragon 7c](http://ix.io/4yNC) | 2550/1800 MHz | 6.3 | Bookworm arm64 | 12240 | 2912 | 1453670 | 6710 | **14980** | - | | [Lichee Pi 4A](http://ix.io/4xYE) | 1990 MHz | 5.10 | Bookworm riscv64 | 5260 | 1592 | 43820 | 4350 | **14760** | - | | [Phytium FT-2000/4 1xSO-DIMM](http://ix.io/4ioj) | 2600 MHz | 5.15 | Bullseye arm64 | 10020 | 2755 | 936740 | 3760 | **14540** | - | | [Amazon a1.xlarge](http://ix.io/2iFY) | 2300 MHz | 4.15 | Bionic arm64 | 8610 | 2406 | 1297960 | 4280 | **14220** | - | @@ -1106,6 +1111,7 @@ | [Athlon II X3 420e](http://ix.io/4eOo) | **2600** MHz| 4.19 | Buster amd64 | 4780 | 2566 | 98840 | 4120 | 3870 | - | | [Pentium N4200](http://ix.io/1ngq) | **2560/1100** MHz| 4.14 | Bionic amd64 | 7469 | 1976 | 468008 | 4682 | 4997 | 18.75 | | [Pentium J4205](http://ix.io/1m5t) | **2560/1500** MHz| 4.17 | Stretch amd64 | 7570 | 2146 | 480640 | 5070 | 5170 | 18.82 | +| [Qualcomm Snapdragon 7c](http://ix.io/4yNC) | **2550/1800** MHz| 6.3 | Bookworm arm64 | 12240 | 2912 | 1453670 | 6710 | 14980 | - | | [Loongson-3A5000-HV](http://ix.io/4dzX) | **2500** MHz| 4.19 | Loongnix 20 loongarch64 | 11120 | 2990 | 116900 | 6930 | 19170 | - | | [Celeron J1900](http://ix.io/4hKV) | **2415/1333** MHz| 5.4 | Focal amd64 | 6560 | 1806 | 34900 | 3780 | 3390 | - | | [x7-Z8700](http://ix.io/4iDX) | **2400** MHz| 5.15 | Bullseye amd64 | 6580 | 1784 | 296680 | 3510 | 3580 | - | diff --git a/results/results.tar.xz b/results/results.tar.xz index 0a94a4a226e8acbadb1c5c3e1814a210fa9b686d..1a33293774e8c1e3d997d6550206b9a529d78573 100644 GIT binary patch delta 40379 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 delta 36222 zcmV(pK=8lh>?g>~CxC3{d6202pmGUh-y z5&_w##82jZ#?9J7xjoQ0nlJG2QJ*-6xxvNg<>}^wd>KWhjNM1ip^6s(@yeKU6lU&0 z*sW@{rC;yDVg@mLlalginx9fm7bNbK9nvzYO@@-dWq_HP8j$Y%FE9)!d(-WKHoyly z*CV=f7X}!DyyJaJNq;!HTW;N-(t6u5e#S)|gn@R)Mhe`qiP@!^5=8DkAHQoN9nT3n!?q@GXBZPB8*#Z#YwE#)k?*twjto=-xRpXMv2j0_!!f) zL)M@RchEOo)PE}k2vbZ_UuGLBx|O-G5w?02tVN#FF!m6Ex|nybP4?VnEX1k$uwfO_ ztKGJC9>7k|Tax-|^Z@U;s4LwPWyuS$0rSaZ85}h~59Z^8aA;k|t-!=I{uOqpfI3{C zWB-9}qwXfVNzY_ET}R z6>7G&37v{utO5x3#Y!9F6(JkrVz(|s)pm>Z+Cvog_`${g^}H7e!(Jo1oV=7{kck@AZnU@&E1Bp8YaD$Ix%uQl;2{4NZ(iwTaG7rA>IO zyW;dABp*l^37!#@r~3)06dvOHd*b3*&Lz6jKWrPq)x&zKfcqX1LP$G99Syu6noR%U3r#o%~FjHzHb?%;qxbmT7f! z_HRgL*)-4bQE|WrDIUQj`!bP-#ZC0W3yFQ)5iqKaauwJX9mb!lX{gU>bW7VguRX3V zHCbm`JV&5Wwdi|kTrxs2Oz*n8`IygsnSYE4v;;pYY=gJGDV^LE4OdOzDTLdEo`oeX zmRTX2{rysy?_25E6sV(V)_P2w5+1GOWT0<8*8{Jb_6?SC2c60)n<=uSszd+;(f`=X zVNf{U>mj5(gpTRmm{`^&q67JI)7gN zH%E$ZE5Hp+(1K78LnH|(+MaVlopxG@0AGd0K2*8eQpKpr?r!2=a$B^c?l?f^fS;{Z zs0|k&PglB-Drl3A0#z!@vSTw^13x5vbCdMkvGQLPvjc1%Ag#<5tQC}!=a(|^+U$)?w#-0R@}`Nd8CP4HQQWt@jz%IW-}jQmB&In5nkkmso zHnl?S%8N+xFXq7}T)6wQoPU3Iz~@p`XdI&$iJh8oUiv-mD39+Ch1&qFx6%GHy1w%#L0toctRpQhoEN3iQ7W5->a9CJ+rYP*MFoL4rw1DX*-lT zg%RF}TWY<pl@T0LE`RO9Dk7hik!>7yGliwB zGB(>-v+(BLp8%Y65`}ZJ2SVBSrl|DcCIWTq(@u((}N<~RD<@`8?Z7X_cR zkk5j!+!9=3%_2T*Y*$w551lC5@<={qTaeSPhvjCc#e|Fz-R~m?oY%Q}4xaH1pDP0u zz5`{&)CU@#Q-9|cB#4MY0-?0^e9>*Vkmvzab-iubhY`b4T1?GgueBUVeg2dLF#yg0 zt-U;MkwnmEcvPBKLJ})F8JJf4O=qBWl0V`bSv+|UxDFgvK3Lb7N(R=Q4CosOdGghz zb{}U+qEVX?cQ^&^m2x0uJV}5o@8S6>t4dm*Yb<(!j(_IcSB^cr5J)+hC)L+yw>wes zt?~p};unu~y}OE4KINJrxej-AKRC=t)0dn+uK>=}OleCfu%6ly3Vn?iKVbADY1Ms) zH}~*EFYJWc<+Nn@s3M!TT*1O1N63`PQrVg1r~@m6guelxhP~Mc5CuY>Ni7qqxJ7fw z7z%fT+J9q`IFL@If8j_5xasM)cqW@oiWC!f@Cf9)ZaB?GvNnyMRWx<3p^6gaLS|Y* z|4J-_DCKPJp)v{7Ms1r|KY^$~7zOW1VlF34T^Y>fF=Og?@+?S(pjtTw=xcTuFSN>! z&;1DhZq+UQdunfT$Q`Tz8bYpAPb)_?g+`l~y?^F`nPQZn!3zg|=t@P}B5yf&hA$Q9 zK)hRx4u7VNdI8T41sBgBrVUfxhY^5Y4!|s7?VNJQ?P91QymuVa3(Q#4sa~XbAPfQQ zN>~qEnM&&$&;=Q9#9oDS^_-f^ZSvya(`k&f!*q}<$yqW z1r4n3bMkvj?A!!d5`i?(a(xoG2!ihO{(o?QvcIgz#Z*E0x>5>vM-30MaPyYk$GYS{ zX|OYc{WMDuGnC?O5QJbL}g4s6B8&J!_T9sR{Bt4)rK%Nf2Itv%q?@@wff`5YidWMw5=3hJUDpwRXA5mV0T;p> z*ZpE>h=uFmU?7fto~e2x-IEGu%J7Q%fgYGleO~uQNMljNOu5j|ea;_)K}s=Y0}P%x znLJY?E6Mu-5Vyej6CE;BN-u9;+<$pOBiqrNXSHGFsW<{Bq;VyhjlY&pp19T;n+~}a zT`EH2k($&lkRplz=)I;yrkM+gSW}|kvQIE1|7kq~Sj3)OxwK$4G~RVo7+3T-tl>=HsJ4x}%-K&a;cTm^bghtDOT?O4CN}3Pr3#}tv*v#oulvJE z3I7^75-;qF>qols`x|$t4)_<;LG2^nZ)ka0pc<9yQvVU|aOZheMNq_%% zKGjuX0(BBJQ&FjRcFBkC{9_P6BKF5S#TPNurU?DW&%8f2>*%PdWZVxQ`U{^rQ!Rqq z-tKn3X&NNiDj$t-5&j^KX<7wGIe%#M=EmxOr{YNep3z9!c#86g36_oW)oCiiF>mcW zBj7Q#3A+mfz}zlAVt@9lCSi7Kz-5p>svfEqJ*v`g$1cJX_0vY8J?(E3S?~*6j2zD1 zh4=>vhq!Sdf4Pv%t(iWfHn9r1N(PNL(W%w|WUkWvi3M0Yk-ZY;X)bL)>&U`9=-d^?&!HO(tC~_2w8jdDv6N z2Tf=a8ZJhvekY4Juo?=^wOw{t&Fb{tks+G~t-G6mq$6azEU9EbVzxE=018x5>}q7H zW*hRE4j0YLl6Aw&wt1`p#}f|IiRK&x2Bmj+=Y)L(rgz@-5x(GjonM%wVls(L=;$um z5tY(QFnZwXf`6bGNZHv2grw{&rA6bEN;pz0Pw7@ZfJl!4o&{dLE}}pbIHd=rOW*ez zWG4zq9A$w)Yh+%l39_T{MZZL@@lkFq_=orCK+`p*#?81N9Vo;~b$U{^8&yJPD+vURMZ^nWC69jlFowJpVfI$B%!6l9~@ zuG?b-$S`Uo+8B#AGe{svFnt8e!y`_=o?8F=Z{iq(LCYQ*F~Jg!ETnEb+RTKrd%TjA z*2rNmx~mFS$}X9BCf+XN3L;zV#@?!L6_;LrzV>^8<#0<+SE z$W4W{C9pO$-?%_BWfU0#C}Ou~qkHV&OX<^HD`i4O2GnR(sb`z%-`E#-I*zIXDb{Xv z-5tg41w4C-(B_RNTI^zQU=SC^H)SJh%(T`fRPRrp;_p;LAXG6Zw(2Losy)SSdc$(IEh3s#_w}?mtuOC*LQ<&V0Hy)g ze$6HESXU>&=W13eJnd`_&8xNY+MjP(@TJH|PLPfAl(C@#gx%$AhD0hfKhyr4tCTW4 zCJEVN8QMVQ#0p>U8B8$5Y93Ng5W&0+u+WIB^Vqjmra$K>#w9On79_?A%OpmK9DfR4 z@Y@v?=_HV7Z)L9dAIYcuhRH+ci1~iQqE#AT(};&R3iB&=cY?aFuZ{pV?bAi*q_@>@ zgA})MQ&{%WX6}S4%q2JhL6CKaFvc%MNkdhk?nmr-QR=b!nsMj(`=5hOzoRnNp+is1 zGj7ezPvmOUt5jHK4xkM{6+-47ri#0$Z248lMaur~#b zWgwgc^M9d^ciWIP2l+f#UG&QH`6qS(RY*@D$1gTS$(!oh5Kwsqs=-wu^O_>bB36Bv zujcg?H*KC@o2OJZ|9GW4@_!l}L*hp9_4ThGB$W~|Qt~FZRu+iZeI)s0NQIFgYjH;U zH0o7v&+%7!$g`fk!j1~$ktPragnpsFNeEB{mm8g^iD3i-yhGQ;{8)-nTErDi>>pmI z3ONg9jQ$$Jw?1P`Hn+~LI~P8co4~gjrrm`WUlc$26~=Ox4dS(3fq!Dh0Z_7&%IU8i zG2JpVSN_uWqif}{)j}tz@9!WuV5ylZ{GM3dU9bLzyAEoE@3K^5C%2N%-^WctQb016 zJ!Nl}=#-e<)yGA&{W4u80OV!CquWN8ofMejZB7b3XE1v$RTy9Uk4$?C5^EFa9Cl$* zN(b@A^sOP#(A5noEq|>J^qc?VA4xr63O_t~V3{ZHkoBhZjCB*Rx=O8bRXfNYqaVHr zV(!lhjwVyev*zPp`758-D#z@^X6t0bPmDh)D2d|NxEJ4JQ$+)vpCB`>?utg`!%ELJ zYZ|toFY;dx;$hPS8uH1#M8Dq}^b9{dA=G0aNQ--_!cW)?6n_EDl+mt}fDB9zkLUi( z!$itqzHZSYnswrI6~Br%q*?6KB1v>7Jn@YQAzBH+^+BTDB{49KW=gqQ-UQ_A2*x9| zi%XuGhdqbB3~qh(;OJ1>rr0FQm9Ags-6^xXX-9V<8ubWeVglum zbP#QeP*XV0U>-_Lqd z|90Nx&%yiA(|y&bp!lf1I60Z}GE%&!ZuQwL%Os;u&3|Y*@a7;a!0O)Uu?64GKKo}$ zli4yCqclG279|6|&1YnY!d45OsiN_ptD#*8O`Cj$u+f))xIbRh$4DYz)vzs6JD z5(CAg&}Q!=0knurk!;IVf4i0RapYa2qBns= zu=^4uKp4uHFD*1i>UOjTLCZ{$6U=%ahhrisi!Pp@^_$7=ewjdQ2i5ZCss$I-g2G>? z{0NjUPDMuzdX^^z`89e((j-^3p|)%j{f6mQCV$bSMuXSnb}s=j@+Dk&gX*Y^LKsW3 zju`q32=ezeXB#y3*5;LRS}3$)k;P`99T0y^Gv%V=gqbggl>xx9fp^S^1ykyOoEal? zLpD1$4bOanR{Yf-tCb+-G(tL`SBPko!1Fg~3(rz>BDGKT6AexZNe~C>ispv_L7DmK zK!2}cE*ShmCu?!sv`ZyY#^uCVhE<4P^wC-5BoR`MIw8UmV|?>QhO05Rs3UJ~zP3Ty;?N^q#-`pAZN z8mT^6?gB7aF)Y|^?dSM4C#Zm3T-KyelYdI1KY6*Fd8qMLbbacC*O;_L^AJs1p%y|% zO<7@!54E1{ZmBbH5@t^HY(Qx(1ke&t-I4?N*za!kNoZRK@>S!F&mI?~$~mG7RSlZW zUM$%%5-A%8ZBj6-$`(i_#ap%3x-hLom!py&ABWS8DZZ*|P2gAbkRSxPQ7} znPnyWAGRGoe5v_4)Pjg*zs1}=)W0Ffx zxT^0nYaI<}E0qkK#Qk>-nXe~Ny!2eAV#0iZBDy=6Y7}=cB~7}zM1p|ao3lk`v~Uq) z5o=(2AUiPLhM6&NwuEkz&7BcFo`1i6qH;e_y$f$N3|9o)hP@G8HC0CO87{wd1!gqt zBYoZQ8&Vq|G%)alj+pOC#a1OduSndwUspNoPS0)n`1IqGoY9f~Bh1L<%h7 zRtV?wc@)(s>l248dWY+F+=Mv4t~zJ%FK=X{-j16B{_4~NGTy2JUI@5;wDEbn=(_*@Im$n{-C`(i=o*tI$+6WH?h))q7Q5&uvmLq0=GHgVK8u& zY&vNXB;#KXGj~9{LY5KKMm|6s7cIH22mvfuH)?IQwfzxkSertVuh~ccbVoZXUys7E z0I`lt@}KuulQ2@mUk?&xWPcPcA2KVf1tIXxLN0GLu5BXFE#GvVnu;e@#0SruohYTSF?<0H!z6X3(@EmB); z4IbjND-v%TfYi-7fB>uTLt$)BfKNACA(c}y5cQNOaF+}szS88y(|-5IJ#&oN~FM1P~~s-ap<%npuzVM9&d_u*x%6X~pva_9t$)43my!{Iic*nswz{X$8KJ1PCs-Bt#|*Ae+3Ni${75aY>%spA{axI#EIF^ z)pWlJX%D_WUZ6`YZfq#X?kNG_{q9}-(Nx#rRVetx6dH9qMa-w#S3zGL71xwe=Xu@X z;+4bt7_c@}rGJIFYHor*;Pt@}W%u-KqZ8cynH_sZPLMv&rfTV@P)?;)%~ zUCy45T1k*Da8By0@|@{nSpPDz(4r zEYU^K-I=Ng=J0G-o8uUF(-*Z&F$yppx%VRb=VGv%X!%`{6eF`Vv2Q~f0{Iih7+317 zT_^Gg4+I>EYZ(Fn4TJQb^+YxlTpDF#@p)*Hg@m3YkZb8-mTOLTGY4xZ|j((4r6B>EI^9 zv|L!e_iF5!HF6-k7buM5U#@I?eS7+j$9S7y=~Pfv+2ax$Beq8hCZ*>eA}#p`@i|07}OYpRPJ`25}Yf$u1oYLUn#rkMH;tH4xV;x|pJx1_3u zh<{ohQ0nPrdMySgBHYi_gZoq7$taUiE*zyEZ+M;v_i9r1yE>b(Jj9fea5bdQss?XD zr{XA<@w#gx6Rb1$byNc?!ekP$8E6V*Wi2jdS5G#zeGpoV{f%0LtzWHakljAB#*#1z4gb^1B>w#%YUDG zS2vvaRBnj`3T;mO>rb?k*Ew9J;47K`l*1rupg!^BP6JWIUmX+ByPU9(E1b&=RR{q6 zf@6HGjn?ELdZ&EYAr=V3Dbx3W;WKkG!(0&~A9)GcbMy);1=~4y#Oa{cOj)iy`w2HD z1big}-kuk#P+N%RT3}^(5H3^)kblY05wBX{Wdm)q)0{86>ESRU>d73Co zUQ;?9h@qD}kmP4>k8HPglE_2JFQdgg_mW+lAU@tXk#m5C3pu6cmStNB=HO}A={PZy z4RQbf&>INPNKdJqkOr%2jJ}g?Gn`QgIL90rUe~Ir$jVsH-A6I-*tx&;dw=M>%UZWR zcq`kN=g_}AT9`10j`3+;Ri=K-gSgL55*J$#Mr87sS`}UV#c2KYNysCj#+ce~A z@wjUUyOGph3W{42pMc=ENo z9wuMYWb2h0_fKA$8@CUzEq``PlZ@OLp%3pQ&$~erj}_C!BUH!OCc%68x*hss z+&=}e`7F$-e@^9_ z;=X%*&FZMj#9%0YLZc|u5VZ(?|3Pn>p=nb>H=`)wNuBAEB92_^!_!v3J63i5Fnku#|3zQeofjUSH9ac)8)Ay!hH#;X5+RKXKZ~#Uq`Rw1beN+zjC4bFR zEq7>!yF$lp_kZV8)z4i{%q-#ss_I3cc#qkdaXKD!HY^qJ=*K5 z-6+|P71H2+mQynp%(rbtrdFwAKB*nWqEQ){?4B)g_jqvSc-5}@ke`yHro_sX+dd3N zuxPJMtmznphu_8hjNrrPIdK0jX`~#57rRVZWhZrUO@3#lUS_b(agc5Wea%o3Xm98+vL}TE)$}E zHK2y^}5`wnMQ^R!p*zs(6M?#Q~wEk`8{ z2pqfMC92ZK`{{wQIPx5FJ11)Wew0@?4wC5dQ+wzdu98Q}TbT+Zv;MvvgoV5eeCC{b zYra5skJ2syu%{}}7}aZ0xtTG8)q4@}lFatKTFK+?4e6*O?EH6x@-l5k&fry`ntvSJ zS)NHnr-Nak#_C`_V`mdhx_E%7M>Z;)D`N+GLhFzPVM)lC4%ns`nXX_!3{A&qy1iq_ zdjB@D<+4h#X{Hh(n6#8!s)ozDXgsWXqi6OkKcZ5~INJNP^38Nc%tLj160K10m*g}e zw4Kd4e=Ir9X_yzNG8qXlILD%cIe+BUq(5T+;$ZY(oS>BV_*O2|lbh$VoEZrhyF2mD zJ;40!K#aUw#Rp2zq>z%;y~bf~1!*IJN{kR{tm5oI(75QJoPv9o1_!)SyP|PH&bsKv zs%eOvuu$x6u&<~EMyYd@!>62Ix8xM51VgHyM@Nv#!+gI#)Mp998b6HEVt)@2CFM(H zV_dNVUvtu|JdCdrmA5k1zG_PTOnYZht5*haPTnKb5m2NNddE?zhWv56pJx-1!c6%s z&Vvo_xNc&ukOVJo@4OM7e%qJivmAs@ooLD=Iu7?@HlnpWR{VfaaG#^LFbvwSi+3vMD>dC*$E$ca(| z#CYGH5}rs_OO<(MoB0*I2T4X8zef^OOZ{j-sTH30)3-5dK2R90lz-3viqbF06$E&X zJeg}~ypU9%Ur745*-IL(UdhxHcr8t(w27Bc8wEKG?C^|^vul{X6Cu+MV>#%26BBfa zY_e){5PFBoATe<)!}K2Ao{MC0Ct6l{NE`HI+SjvJBdBCPfC6I$nsmXBP-n-~_XCh2 zCkZXwVL;s*MxY?aeASE)C$7B9)4^kz2Rn(f(lu^9$-s=x)rKv%KQ9e7e6yM_qXifYqNn z*EK~m0_sCJ#?Bz?Cas?I_o3&;f8_%pDLYKA7@A z!BC1$^q}#SB@Q&r?itj}xXfjg5V(``pHm@#9)sp0!1*xfnqtW5r2A3tA1c|d0CK`2 zGOTrq^=nyf9czefm0%XBF4f56VK1m6-YIwiex0Y-Vy`djSY*iE<8Mvx&G`>ic4V3L zkGJEFsJR?omw%Bq!Z1Lq)qqmE96E>sC#2V~95^y&_D)MF{UM|pgTO<>+pYy4e1R?X z#JtX*&LIL*tPC(zl@%~25g)idlEi!fR+bpQyY;$9u28jBr)6ULhX;fZo1Wt#EQ_v_id5L)PX)hE6 zR^@LBMyo)zD&^o?48;)D{0m$uO5zK!Lfy)EiP07O3-gdfVC%}l&R+P?glB{Av%%c6TFq_8B??*>V(x(^?`JY69NU{JU)GB zVSgf!wAbMlVmY@S-6O(kPqBB06^Pzyx$(RAP-`ZTfJvjPKT4jxK~5@;)aggJ1ISb- zQ**$4geTE*$Evb-mR`L9fjw9frd1#7fhxO?09f%i-0XEBD?PH(majBrh!12%OWu7Ib&1Al088YzFX_Zp-z7=o+%AYn)QO%c{;69#pP zJ+M5&No=8>ad2Cx(Je5WKV`s_dHi7?1%wRDzm7y+d=fpfkLJ!E0Zyx?sH=@rQ4wuZ z0r#a=0>(j`5!{Hr_fLb(xVsOdD9_7AQ0XB&wudK zN0Cm2*8m%3AIeDX{PTiyPa<`!);qbKccO!y`(I_Q1)Od}l+C40V~Gfz?mWF;e>)|7 z-ZFfnVG&>G)j-dI*^b^%OOA`HD zR^3!dxpxI6%^tX`8!NGA@N(I;l>h#a#8wvKuZRj@MhhMT4$mQvq6Hf<^t0_D01lWm zYQ4;7e`2@W?3Khb2|3b?+f|l3@2Fh}#Mv0>N>M^}^lYo5t_v)Uohg4^6MqnFrV^P^ zZw4DMGJl{e`qO}L5yw-4k(@7`c1_mWm49%J?C;>!S=|UITw@q>S>xH?Gra!uR)TR0 z@(yHLs=^fi>J^|WtXOwF(xpIeQGa2&P8;Mu6CCB|2`az=X4JnfO#nmsk{|T7BQ*$M zWq0mH02Q;bhu@ihnHi{bsoaG&y-t*$K6<7>ILM^bKU)Zmt0P)k5CQvQ&XQ zrPjf?nwZ&rW4B=w(-tf>6{hAaOBr*Q0}j6z2qhFoP_cy7dwq42rZ=Rn5I(y=RC2{h z@j8)|$9fYBYxgCw(DXqiX46)UupSAT;MMiV?)@@*=A7LhO&;ac&vP^pK!DknGXF=I36~=+@G`Ox1=7`{6l~OX}aw3Kg0&oS2n@E?p6*``j-U~?e37&DH{B< z7{rap5r0WtJs3)s?G`|Q$ucmV*qlcYU1alQFL142Z`m4+Q9LbGouLJU5RE%wo3n26 zTUzADyCs?WlU#7R;#*{vjdhD?;9zkHe2%1?g*T%N@;>=sRkOj>&MNhcDo311j_63Z zUCD*>zK;F{o!{ZhG0y8j`Q#<+Sro!5sf~JXr`xvVbo?HZM|Z4$6Bp%j#VMBFBw=CQsrc)mP!U829;Q3j#w;eG4kEW2ZNv0KKtPb%(d~@%Kv`<`i z4-<|vvd@$<_%JmaObmS7t4wGaEY&l$P5M%jilJ9t0ba=bjq=T3rC`@+)^k@hQa|dt z^}YNt`U0RqR)58VWG8zasHsXZ0+&VzGE2RRuE%9o2fF{DA)D>=c@BRHti`+l34h<4 zMoeQvNzW!}ZHc0y?^yGK!5O3)8GBQ7Hd*~)*iv;4)oTU}X!1YT|2`eYQQ0s(X{5UW zI9PNV$?OpkQr&&L^w0!#?5l6Xaah`hy_)vMQ%dEfwqseCOk#?Gbpy;9k}0%xqDtBe zG!O1yWz@|}0C5OTsK+WOnI!o(GJiMzE5+iiPu@%L0ZguS3jTPAvu(WefX6?%#7YZB zKi}NzD0T%lSWT&PTnpICkw+4{0EU&Oiqw^lg;QjSo&5jZ4$G#9BO(OyyS=6;BDNg; zWJ$C&`|oos<4inxlC4=1r{UIND?W!x zyn~Q)ujrq;7c5s&-kj#wu1aZ#PF{CwHngKkPuJ=Ovxs<7#$*WA0OiG0`mz(uN{vgr z1c%kVh9r7lAXsB%H*90~vv( zO`9DhQ^z4&Kx=CH@ZZI#!hcfjo-14?b#{HAhD0(4gu7>j1g=gGUx*UP)v0c%>abF_ z$zK#3c~(%Z=;Q&@eQDA#cX>f*H9Nm{11y=`RGKO5fZ?jVeh9}5@iqzp$7)!vAz!#^ zm?hU?46*^kWQ*W_NVWf_;p;_@K8(o$DclRGKn1L0TY4H|>4>7J(SLzAH&js_bz!52 zsiUT45E>dnfnl{?RXcRL>kbN4u-oiFC)TL4X0TOcycX`H`0MTU5|!@sWXO8lmv$5{ z=(Mh-N@1}tIC9mDy@D5-{m1nE*OPmY=+6D^4ZRMkg1hHsMiL1o>&Cval^%g*p|_>u z;%qz0Y}{2zZ%V>{VSj_s78sW;>94g5tdbpbBIS$8^!1Pi8nR;1Ug5waFTQpPl27DE z*SVb#dDtIXGTC7Q>BCE47YM$u$i)Z>sL8yfg?_|D^5hFZd8i<|$PEW{O%AV{UI>@^ z>CG3rli9jI4_^CeJRo^j#O1Jo1Y+aLeKM>jR+C)9_A2huLw{y9*agm5$j)SJD7i7| z^1+R}FuwruS*wlP`(YzAOS>tdW=r>EmeNM%fW089X+6cCw(?8><%cm%F01-mb`BjH zAj4<@20`B7v`3W~1F9dP^?gZD_K8Y&*huhNgVdDFkEHx7WdXY%8p{p$m2nuSYzF>U z9wg$ow5&(|{D1biXAr5XX>i8lh=278)slQma9l}+0*82W_SX|KQwkoT^M~vJy3wvu zjkde|?qY}t>st<;yKuNo&-j~rA>$S`RFX*R?iBq6ZavYAn1iui`p!pm8bB?$M;IS7 z7~0^(qY^?@L^@l6TID$tiYl>M-3Q@?M*&4K(k;-gXp_9}o^m8)|@sgEmi@iYc2w zo$e$F9e=*gtkvfA9D)+o0Adu}Ixg9vmsWe@Hv!(WH~i#_4-@ADECGp8p2Tm+qIF>Q znPJk0gK7H!_#r*$1MtK_ewb_X_*tiqt6SQWA>a)ck8})6V#dFeIek#`=N()n74eG6 zzqc@!@Z5sNi86%NZ#e&g-7Sc2JfA_;z zo?8{gM(68dO8-tCE7%Lg2VDfNpZ)XGYMkdfa24zY|**G8hv(<+rtBjgJkR*nO z*wEouY?p4UN&-GNWFv$FIKxBbgAVeJ2!Dw$x0a%1vSew+v7f)ro`w1qQ=Ta(D!ONU zWPMMd-<|c@f#njE%BJiB5rXN(cz>1T)1|jpkU_)%$M0sPMAZpDy9__j(;(xrsgn>k zmv^w#_l)wUy8ASr&J?7|XD|gsvfDXQC^Twnl<4`6jO+&o0yEfU-+yuf z7PWia`(_Ib_sIrwN9B*Nt0AYK#1A5gbjQ_?k;?yYDy$rMqEu$O7PnyKP-X#+&t&1U zUp5%EQDu7I{4w2%H@(xdBXyElkHpHv`Hj}BZqOEqrsqbU7--6-=Qnx5fVgi7@5B}x zL)&GW}B>7L%AfR3U;FcL;4d(X{M9f0;eI3<9s+7}LYAL_CeCvMTI&kC%s$u7haG;-U3 zCq?bMApGJJC1w!?5E67vqM2)szu%>jb$^&!8iBO~ z+g77N+Lsqm_PnbB9J0%gCLmqEvAhCiS0u51k0cBi_$S?}G(q;3%6mm}S0yh& zdq2ZYh2%GYTV%q}l0ugTf}$Uk-o2j#E4LFrtEJR+_$6R>-WVG6zq8lVKb7k#ujM3; z&1Qum4Anil+Red3eg+{GY(CsX*5=@)=Hm_(=3AO#8D{q7?iKI z#N-07`_vbs;22q5!BErCtSDfeM$E_%Lkc6i^2$hN5OkYoWIKPl%y-=5ElWUF{PbZ3 zUgMMY_p*rLH_e_Hfi}+WtYF8QD>FmpYPO_BRVAHDiMcK-{f~|-sej=0M_BU1I>{Mj zSEN15VP}(v#HAjH*rji8Lz4u9E<~GEnwrMT?&RC-1%daY@uJs=S3T|E%X`u)r|ie6 zo|7KjsXOP2RrA=p6nv7|El90p^b6tV{Udjv%adA!Y@XwCtOEj7ttzHAvWZ@G(Kxwa<~mz7b01(U^=>VkVBK4Cv;947pLM)al27Dr_0-K5Z*8|rQ~2mFIsi6- z*XMXdRluHOKb!IS3c?~;McPtT#H?4`#4^MimtUjLJGi!Fa)0F^kBra0p^7HkxT>qk z;68qsk{~%m`ibce-ZX02ZLa|B@30d>hRJ)7c{+5M!W>6ufnvIG$f@YEs>*wYGbm@DaOeC2GSA zz?h{a*G%8rKYxnw;RiBuLKk&*@wu3gVF3otrUj1c>F;6>LI=4dcBtl+`0ET-Z6-c( z@Jv|<4!=n)x_eQR!~(0>42R^;-p3)F3qIy>|bL6kUi5s z@MjfRc@Hi>{;KVZvb|K!mbnJe(7?!gb?V-+Mdx7&P=C)`0dw-~6#zUnwjuMknh{3cP*u#dse5Ik=ja#CXjTsqj_r?U@IpL9httcLG*w?R-v< zihmFG!+-XLS=j~d;K;tGQgpa#6nYLzFsS*Zp6bUTmrbe1qZ@~^{zdsZjJD%8q#Pr( z3EOd!o>sIfbhljjKd0<1-U&wQr*6*j`s8X69hZ~gtjoPBKl%-Lj38W)wB%cC*N7&c zuc1CJnLGMe<}ml}S_Re*9C7@Xw6zt>TrOvVsDED><#x1+9oDD#q=)xt?k^Oi;@JvZ z?fJ9btB@EJWwIbzcPK3*n|hO$J;&xbL2FCfd*WWl zgCE1wfdRWAOr#a7f|ywp10o{BOnYQ$LL1YJpAq3gS=sqyQ2#=to8Jq^xVI126RiZf z6%W`q#f06Fs&7G3a)rR5xZK@siq4Bs_!oM>$ZOV0G2$A;b(o>MEO7Qg3_{#q2{*(X*-|H2;27h#W z9+s+U%Lnt=`o)b|5C|yB1#Q2%`(`GXdnV;B<_08YN!OD-5f8yK6)E}HhrKJ{8)>@K ziMsg!JR>JGWe_u|u z$}q>DVVkJHr~4Hz8n7A1&uxkk2kwx-?pMs^Ly}!$!jvII1I<-$CeE8XgjY@e)^Kn3 zFI8tvM;u-@j5jC1>Qd291%C1~#8Sz(k;ecTK<2-L32Jdj(m`v0{jy7grQaBNwW)u& zk9qa&JHFS2iN_vrHhtVSl!?<$ zII8dxb$;PUpFwVcALu|lXEHfsVa*wnc|P4hBCZTdOfG_lYD>E%!kE*DUQtit_(5zp z!|L=VFwS)-_^Q4tb*Hb`R}p`*Vh+vqM74>KNt!l&$OA58Qdf8W;y~}yj@L5mig++W zX=JHr#8geIeGnK9CFOdRdK*Vzy8X!6E6X8=9z4(-nLEiQvrI_LCQ<}E{Q14B>szeP+w@UIqUV37tz+$Y@P~1Y z?T#9wowpSV96c<;$C`f1`?oUjf@@>?h_%d-lYsFaERH`h=wzUEcRG;pND%gquUR=x z%AdB}HKEbDN*1%vzkWhmta-;&Kb(JtOYE@A;FHIsf!I&b0HOCvHlq%c%$VkLX2p7w z|5P*4W9KDS1}c}c z-qM;+QlU+fGzC8njVa*rR4FvO)KIASq(k&g?a~&%kgZob$SBMv_|2@JJBty|+c2%f z-ZGZDMV0vcFtUHDP7t)pLKkQMMRAy9h})<0>XT2xLlpqj1_!C%MV<|m7)BKwii!%z zKkGvLuLRo%Kh-dVHeTEx(z}j;`Axo#BSvO+SI5<^*2?S_#5MO_H-=uEw|T-zHCLMw z97k_MWBIwkjZ_!Ml5CQ2bw?iuFwi5Y;WAn2WgWi~W>tT)t}TUJhU4$MZyq@_&JTmd zkeO&gyXD532K8*}#0z3m_G&@Ey%xOgo3G3`T5DXn0~pcp3m4vdS|;V8Cn>gEh`zJ< zO0~5XJ}t)JT;MMY(?Bhg)u5( zkC|(u%*OBWYR|E%i&WcJ zB;a2Rw3`mqzBUOFl{jbY3clOe$w2@j1)bz}trkBj`;7-Tb>s;LsVPyK^5Eath*pk! z$nbwpiX<7c@$Wo>mh1Dngmag>AhH>ABLj2|UAleZK2IvalK*zHelxv6*kc56VLu4c zb3a+_neOc7zfE@Hfttsv7*gq#etcLCuW$Q|l9`s6Sh|E5LAkQvRKP-1)y51BA6*jr zpXegzRQYv1a7SQJ7i4b16Aq}%l5f={;yHg!IRG=c+z%+p;_?8u*zQ#}xdkAe@m`W= za8){do2SQFrzDRRzMt#Kbkq`Y?5wY&S%sxP24Yy3npT=hvqRAXCk?J9px`pxoCwWJ z$#le`Ghc-p7<_F)y_=+L+TTxY7NyF4nj{d6RYR{W$+@@Q2y9B`rXN?`MPvVCqXmDv zt*Q7J6@jv+&~>V9u@qnanI%)>Sy%_H!OHrsM$KAl5^yZKGjS4(V0`K5QsXnKqmv-* zw_b4rFM@;66=gHne6G9s{_e?I{#R1nr-E%D{Tl@ETz0IM(icC+A zKyU>oo4>6O`i2Twyy_*=Q=NaD@K9afCPF=Jw9$-X0eg9Z$CahGP3WASF0NhSZd)osjRxlHA2-8ndI$r%m+Tt(vn!!8k4 zH^Lo8hBvhdRoi3W@0Mpocij4?tysT`k1U&_@}`dk6A5B2F6oBwPOVT4=u@$upfdQ9 zfel$`CdU8i6ICj}8J^2C6ryX^TxY9|P+Mk*R(A zDz&q=)sRR%%+8*)!J3jK-I!dv*P#%Ry(i?t$GeQ9ZZA%Z|Iw!${%zvb0sS-L0I-Ef z(FZe{rR55?WS`D2?lLZ_bj5>Q3P3}gbWk;-_V%r>-HG8jIfj373zLp#&u^@k>Ay#g zR@xXl#2N#rAf~@1%qjd*9q#O`!Xw88#l+d16)H>>fc@v(;@)R#J3m621jl|s=UG<- zrzjBA3 zKP=SSoGmOWu|Qkp;mDN~F&%&TS~?`5EX8$*pHHlwuoN1Xj|Q74_G{NOMI6_dc5SL`tZdW~LOie^`MCLPM2?0_W98RxDg+MOWkB7=r&n)%Hub&UW8>h5A(`Pte=$@>r)j4agP2hTTo?hpPR19Vo=m3xb+`Y3IhAuGluCvvjn$W&unf z*qQI45BcjOu|BI2GWR$i`e34*R&!&xt{{I9=UlGr3PL>4Kg|vp%=yV)m^N*+s+@rIyzn#g;cqW|v$7l<9iBlT@j{`=Msl*mn-L2tIbDijYZb}bNHg?!#oN|8| z^s89S?b{%yaT$#nsCrdo!x?D{zHg>U zXi}}>zjW}2>IYHEvUE(2W?%CLf+2q=XSc3Q5vN_2ZxGk8c{EptkpjBW=fKVe2OrZH zVPeDT?tzOWir1v%I)Yp;0m5Or8bp~4G);aLMcU4o6E6KGe`9-S+CK#FG_@W0WWT~# zfjN89doj1kMZ1?uJtc6(dFt*rjeqg$V>9GTN zL}(Z)rVyTaNQk@l3%2$vuo`vAzKfgatRvtAI#>g&d~zKD%z!5LDmJ?ZP+fGB{Da7I zPyxfPbm#=s4Rg|d8T*DT1;N9Cpq_SN#=HdCeSY8$QDM zvaU0jM3wD_CNJH3W@XAeo3(#ag9=zaji4cTJOf3di*)n+3Y* zweQ($STho7@sLsfhxTCk3nWC;+gV1F>l1nJ3IOX2v_4p)stiRk)58rjK&9SIc5QS_6nEPgykL< z)LSV0lWTxvORTK_SnPk#P=dd@I8^=#pVSf~bG%GCDDuTLKcO>5INEW2{ex=~9q=Gx z6`+L9K)LR1MWhTlr4&uAG(K?pL&Unnem zb(o(P`i|2MJ=uR`*2L>y`9K3?RGeQuxEe+S5R8{L(O8y2mC2-UPsW~sG(FQTIdDk-Bl8XO zJI_BvpPvJ5(0nw8r;|rWU8?TGs?qe}M8V4n?)5u&1st)1YmNK(EzCHtb@3~7nm_I} z1qO27&JuWN0OW-uIX6G9e788E=)X9vD2k^Q%qqJRbu!{!_@-U|D(Bs)^_$P}2p=z- zshSkmVH$tcBXIN7@fz0p6cwR$1JT72Rwx!_odc0~39lZ`n6a`?w+qGud17OZ_wk`%ol}(!rh?E_KS(DZ zS51H3*eVdV0r?;VrFwCU8;i2C76WSauh#_B7Hy+@xlv&%CpBr6SS|&>V?v2xd?SY> zALMmDY)LOnhS3l6rT)UM+sHaSlFk#QDt(_JOr?&jjpie4<{q^c_A~X&SyT_En4%Dz z`T0G$5H6PlnS@5d4&kBSi_84riTFsJ;9h?VG@EH@&d{wCatJ?51>h->8X0(N1?Lsb zJs+NbNi1v{ubFCH-$`+sC?T;3YZX90Sj9gme zK~}(X=ZmVBgsb`a#Six}zDjSPRD4L;#!+mNY-dQ7np?&KB|zrrY`6R>8aXng4s~&j zjf%nDCn~e$nozfMLn7Rpw4>vtDhGeI{c?gF%cX9By3*#)^Zv9OP<+gRT!tOH@|C+c zHJo}UIT)bWko>bpA?HowY?jv=uEqD}!6v zV}`wtKsq#kFx2l9P2{-Hk*umsqM-a0bSKpxq#Ta-{W{BMNMPW4BjsemNN0cZAA}S) zsW$q(HOw?l}W<>~Np zTG_?+n?t8-@|TTNqKhtHj#AM}(9OhfMNgJcPA%#zP@afHyehC7xUR7CpGo1Og4#>Vi4 zeW7Z24UX={3?u2Riwos!SmY;CdbBS`PZrNs<0k=4D@z+7G4US00wbAM4X=>|8W@QS zd%=opnqrW`uSo|lA4J{G2BppCNLmvy(k#N=*rDTEoFRL?8Vs<=JEnh^>zBX{eEJ`}#;N%nHLPZuA_nc4k?u7)M9&r5n`&NI+sb>kebiJ27XhEE zmK|O5?CE~}5dTq(*q(pmI0Rc}W6aM<=I*>jz^~eD9Hsu-``y^pwV^g+|~`E_Wo_JiMduzyVw#CAX_-x$?V-0#m5=ziqQS$3}W;mM3LmdM^2 zV0v*!B$K1jD06>ld}3jEn-m*q>I*z4TJHdUDNxklIGNgrFtmG+Kt!G#e+yNyyl{5! zV=yqre}>K4>KfK11GQQs=6PS7GBqB*;M(s=^cR_KB*0|0MSq7IMo1i`P*+ZCL!@bZ zpS2-J0Fqh%yviOTh~8kMy?|8wx)xKE%OWW@nUv0{TEl-CxN8EPA67`XO)^HJ7CALt z|8+IhE?8AQm=A-nwoO90V=LeTL{T)k+joK0O;m#2NHYUoQzhRQiTt;!w8!p={CjhL zdAx=7_m&jgXYd?@mtc@xDGWsG47H&#()e>Rm%7j!{pR)Go5q{$_T5)(=P{)@ro>d5#fn7-KV-Ar`JwnWP>U6auTXX z6h$3zCjhCt>|r7qm8Vk9P&IdKE6z^S+Q$#Qfa-tBoL5_5VD?L{y(f>sSF+1xTdI(u z#5F`WoIbBxrw+z^;Ge_nH{$Be#SGvu;=xDS@#s(B7&@ebZ z;&TkPyR20enT*mB5~SVW6r=sHr1VaB1Dt4T9fdV6CPq$(yV={HnYBkT;rlw@Nys8N z^vi!eGTf`^H*8uAXqUa@YFnIq^>s5&!5)VEw4c<5W9*hwC$7hZtCs_4G3PQQkO!5< zhq48IraOQ0R?xYpWtc0EE4_4hx#GQ3P5;T(|fVoC& zfytPs@}|BdVcOX!)hmcBYREem0dwu|=W0oa?w<8Ls^5H=j*7LN;_%`Ow!_u^Y%f z2shDZF5dTwC|gcp6AY-TuZta!uF`+gj{qO*{ND!C3Pi>n0#|o>-6EA-5s?s~=t+ct zWX|s{8jgt!0#+wP${s1N>buAF#GkUQM4;{NkY}d|1*2(*7N|;``@P%X0WDHy^_Qo( z$Ib!7OX+@)Rqc(#_~lDYq9CYNT7D6p(gk+@liq}+GMY+=16O&=t0W7Lm!f~&z%Fe? zJ5+Nkk#NquZZHg&zWX|M@CzB`Yr$T>zD6E;3pe!ibHw3p{-*$3)Q1h^>Sp3Cgt~mf-oyy}npMilmQ`BOJ+`q1|mQK*}Bi#ou{9cUgtV z?8XABtU<|3hZ@U>Qk>8g%%m?}!y`RBXgPNBov*5;8nE4be6||tJZRHVUboh% zvM|J_z)U5|Tb3foExZrLH8ahcp1PQxWxQh8;RY82AzwX-tonaBJ=lP7Xbo}6yi&`P0Jt4HegCsC_gz8y3}We#0%LC!KcK6=)1@Xjo_ zH017w3S%s%Q5DWF8rTGM?3c169*owT#j1qDKF+iLK&7NSW(ReRB1JsZS*Oq?G;U$XMSU&(l7)bdA?E zb``R>k)?kniQCqIY_{VL%Cr@aJkJN$)LURb^I$ts6^@98OUt?TT)huyIE{MVtVX(R zIcsH&cQiE5k}a>%9DSL!MK)$klOse0ej_~ufRyn6(AI+v%o0DaP6`(s-V^QR(QX!y z`5(PTKK{YgRk`XM#0X&y_auMBYNGc346Dj0(KPt(!Z=Eid?IRi zCx$NYZb9<};=d1kaVn2iyB#NOZB3r7sT2H6#;23I3Ml^ zw=-4-4x$jRZn^fHx;j7Ppc{w#;EF4UWb6RqT?RMl1sAQb@TYMG?w$_%RRi1&A%izM z*Sgy|HmRVZ>r2EDMup>DwTxG|aqtS(Y`EvT(o~X zKTypl*wtUE_v7Jk@!1~1*hAt8W63C4!YJPZAgt~*1_*W;ayvik1^+9;>Wid$ae2Zs zzZz&vra$9vunDo0owmaRq5nZa7zs;2EomwfFM9p8Hw|z&9rsVlKdvf9X%)iHU66`T zUijnnp}ocehiolM8$^G87^3%cI!V&YG-K( z)F@-5jQtkonH3cjdOt=Y3R}h=R@~G6!%>w7V*J`4cw`m)b`v08D0LxlGr#9-0SROe zW#;kh>PplXTpr*bTQ3V7VECW2)Jo>iT~QwY(eQOaXlo&Gf_J$o9n&;NE%<*Mhuv() zbAaatOl_XTJz28sRI`)TA9zJQtkjOuexWqP?S&Q$P9Z9KI4m>qR-!^!{YVebmBT{` zkqe}m23r@`=r%2RMG`i83!+g~nd=~?rZX8~gNiUSAZ&ftV838vp8$*#acrsgdlVX= zzg+v~XUe>Lk2#d495*R$X^elnCCDI>YT>A27_>3$O;LS9ZC??5JjkD>O%NOlTtmbA zz8+c+5)-WR;HHZsDrBa9&~gTdvp1j+vY%(e1N0m3+A3;MkEJ0PdQn1_K7eXrO#Ins zgVs6G>!MQ zv*)|14qaE+o4~}jcc^F;xc@75EwwU5JIt^7Ru7foB04jKrf}3TDnwugDkm`Ab6jgf z<>E5@?iRnMHD=^cNrQ(BQMWSP{d|9zMWgfSmasXp#Nf_5E zyUK={>@H&(Su&9R_oENW$N2~CXLkWYiC$dJ0A57~yo6|}^OUXkxK zQTOY)2kO~p1mS-m&2Lf7Z436$D8|4;k;{?z zYw{-t1KybI6)15-CAgycYXlaT0=4!tp`i9!$Vg*_^t^%B!ULHS(CtE$JUh5^Jy3{T zh^Q{n^Pv-J_k@3T2>mtvh>ZGvLrKXm8m~z`N~~3AO`2PD5!$;|hvIcxt`fk80$p-G zZ+rIaY{q|2*8~3^or#?s=y9bsFNyVC`tCnpE3{@*L>JsyxA;9oC8%MZGarL`VsLP^ z*q{hbx18_CkT03h3x5E6!O?sn6VZ>6KTqlPYLR5HZm>R|zh~ZED1i=pa-W^t4>7pg zd_;3gy*!4fNy<8|-!FIB6Z6kuh%1U-1MU*3NxFacfG~I_As2MczT0>f$n{ZbzSzk8 z!O?Of6pb?l$YlE&P6$2gW`i1-TxIsI%yN6`7e4d_xr@HZavJGME~f-JZo z$~hy*#aHn#c?Zi3HTwsSjCG6VmQ_ur5y4-9X~KLNghwpChDrDnV$OPX%QO0|@r~AT zeg%K83;+khk=Zv{ij$@yyPPDqfm?LtzBHhW1Ei`F)MB@TNy<2evf@%-F6TRo)*)fv zFp?^po2J$U5{i=>aWjeaLmsOP@e?CHV&il7vU*q-ji->-$~aE>JpG98?I0gO{LS^& z5X}_tF;&^X;NW1POovK$15=8%6CCi`y7+$@_Ex3nsoXiO&6bw{n0M%3{25tNwFEs< z_7&ASQ#gW3!^Tuy(od`q8K*7U7Gx>AtoqqdoXMm~mkKXruCnpeaW$|`v)-&v<-~ks z6SuYx?E?ibk!9s1aKxi4zBTA{wyVP#>8|H*b!fRy3^g8$ga5C_2nu4v^*y!NLI;2A z?O^o`HI^sOPjkj8#usi~#0@Uz`#PJhVl^A-VNZH;BTg=gQ_ zgl3=I3q6Ra4$?2$`_N*2tFuukk6ha@O<_XSuC>exeYs(g{u+NT43jIhR1fO>WGcVJ9}9T!XRLEi>|UJyBG{Y8 z+Vst#8lnixk+r}z;sA7`RmWQfBwDsHRcXC&jrL>7!{;|;Q&~%A%NRfXQBB#ZC0%o( z?Q9ULs9W!~u{Tet>QdsOP)6JMTI9R}eIwVbe%kC0GI#Zw~xH;dQOOF$DD<-ejgv;PJ3c0}RMsYG# z(5*rTh6##m+5El!-v8c#$L)HE9K$Oe5}^Eu>8i>)a$|nT@br|Dzk2wrb2R=gCw;SZG%)7uOwImg z-TATsb1mGtf(rJtI-jYsJR9_dZXIKO2ngU__*96>dom45n_~Xe5to1AeQ_#nltaie zjy{4DRZbSJin*Fz4{9T>FUUn#f2}MH^f^;@WKh1lazz7-dKf63P08AyD66?yk=lTO ztdQf0@+GnHqpgvs?1Uw31x~=x;ilu+RRea7jc*Iz`$Y+$MU1;#x!WiBvqLpC?do%Z z%arWl<^VT`m?;sfB*cF!>nlq81Bt)Q28IVl*Gniz<0FGE&=~EapkzZoO)h6q@wf3p zv3+#6nv8^O@SD7%Lb3#JzB*%p-+%7`X`hC=fAszeD4-N*=ZXmE)l|3vwRv1Q2+IF_^Xq{A>a@O|6MMppKlBx3{BOTl`Q!b1P391T)#;KeoM zWafnwAISGxTq1w*j(+h-+eq7CK2*QY?39Ecg!=Nqs840Kk+efIC4I;7bkYOL60AZ| zGckghFXKQE*DrvSoYPwoxX}~_&LVW+7LwQ7f{yl83$QF zgs04`0RWO*9?Re2@XO;1CG&~x=!7(6I31#@6oh}=9T9j!`vF>9U%U5qsQks*TpC)& zt_t`lCqaJ-!K&ZwXvMoTP7i~z>_)|}w_2IFTs|1nOYAv0K!4|UIiqQsr7_cjSJ@Ca zovhb{6>cVhf1sp)lq}x`r13sS1|oomwlldu8mI0fvM@tpK}0{vL5iQp zCr7E6$Px(GQ)3n-Amq>DK5{<-JE(DOMwaJ&MqGL#|0_>Pnm5kB> z%E^B-Zm^5JybvkVy6R(&nwRb*`TZ0y--!KGJyPqf4LU zd2(#^A6AtV>6r{uX}W&xE;WD-4T&L2*TR1@$g+}=L z5x;I;7dVOv3V+)w>LoE&h|@nqy%NlR^YLZEYt0Q~VaH&OOBt(mb?z!+zMp10C3$k% zeIN>=5j30q0YxQwS-;nLF5Odq{Ycr!fR5_C)fsn9<24JUuYw{X5jQfwu4?k)sebVQ5 z1)8YY=yS*_hB#K)xv7TRT(@>8*J*!y*`dOg^cd!S5gpoI^27L|de$YHJYY(73Z4$u zw?_8X`{1G85Gs)`dnVW=V+}50GtNf-d_c}h=96&!2ryXg21oV@agoyaJ^N`T`=2P_ zLd`x6XnfjY?0?3}{=^dBDD@*XH64be);A^de+Kv?T!LD=foBbiZL?quoH~CHDs=5i zq&719F}r!i#I1O2%@c<0)M(_(qD;W0hN@F_MsQa^NFfXV&=Ac{H;SSD7T8X0r^hzV z7uzI?9-~EXN~vl?QwIUQhRcu*L$7NnxPxxVg?PF#N;#p3Sb7f$ACzO9>hn-mZe9@v z{XU}Ef>~fV^K4p!YttE<1do62LhA06+4_o)bNey_QEq($m66aAyXejQybbjP1WkBS z{ge7GbZ(pBN_W5GZ{((VySJ=^177OdUb_jDVWRQc;bgA`m)=pc2qtE5ar<^tO*&-= zhBxXLg^qj(k;WhQxcVShPVX4l3GlL>YyIgO4+{w zh+gO2kRsVdF$obCo~?gZIiQ~`(mUZ1I{Cj~70zoHv2FY8JD1#n`N@9rKE6_d9YSg! zn2b(D!xpCW#>z%V;_SN-E-3}u20KSI$vf`}QhryT;W+_@4 z*L5sU)!?N*P_i-W9Jf8TkXW&3ZM+>wlK2e_GOO<&v*>aXt&`){ycYc$WD?d#!u-gT zt;G4~79(XHemnrDJ6w}Vpl=v*u*)ZQcwKA&RWtyd!3VCnm<)>ALzr~yX*HI_ZVDEA zdt4sPqQLAw7s-E7Q&LsQoAuaRXnaM+tt|Ai3dQTF@pc>c%>(>D%?b5Vvr04q0#|A> zW*-ckql)`l&u7_yB>d6&4!7=kn*!qpU0KtJ;HSTQB;Fbwjqgf}v5;ZaB1?KK^Q@@p zcvFn061L5_WWf4*rM?c4X$`isT`HGY5E$gnzNTT+>U*-wCcN)0Mx z!#nCzSn&ulBuho@@lE;=CFZWFUb58TnBC2!?bZu5N$-yHxdrORg|3P{*r4EXkrQ8l zF3Zog?kf#mOfC*x_YiUMD`4FV+bRQ8vDY*#ct!n4z7?5W=CDvS-?AqrAjo4PS6Q`P8J`670WAO@Zpy zf4$zX;=}j;tB^pch~Sn$g8orp!bRDGl0mH*SXqBWA+8=Y-H5-3P#XX&G6lKdmnaWA zvMC>(&^Tz7!heR+nUqSCxjB-~EgKD@&x-GSkLY7kb?FKIaw=yf$}Z7*TB?n}nX~X_ z9S5C27RDpM^%qnNU9X0$F7sq7_nSMFZH!z~?=tkcnTG>Wk)j5T_)J72W#3qoV6Oh| zH9CKaPNf!0cHN1+eC#z5PSvY4ES?v#!nLk*H;#Uj!z;fzNz82w!4_vAXy8kJH=c4n zu!HNtH-Cse;CTTcC}Ke zXO(F&t|4HeLG6*zZ*SQ1Z&4A=bsW=W+4{E<>lO#u-$A`prUw3Ufc`iWTLOxOMXtAW z>YJu@rRqHRP!_oF<_>No=Upb!U`YW4dzh&DVb`-$G|?G7{}c6o+o{1klL|S(g|L4a zh)EkknzB@mE6e9r0LdOdO4U==L_$(s)FIW<29JnSIMkGA6>~e?UR@9ve>v>~WV@Jx z_J3FavxCm%4`)mMC02xSWikwdOuch%Uh&A(<>U~aSiZaonDic|I(`y;!Rx_Q1eThg zStXn?iU;;(0iyY?3j#i4luB6w#Ib)d-Q|gr2h*a?>XeGPMXceg+97y`ROCMMb31-V z_X0J2k1xJ}w)hv;t0d590sF@{&_sBl zx@%*5k{7BQ;623Mz>5~Z!Ew~I$s(FZ>|GZ2pI)9{L~EP)|Fi{tAv-oJm{c4J<9cWbgm6!vQ-+-qZ1lmquN9>KFIcYYp3Tbs>WWXq&OgUSgN=JfX9^<)L zV*Yr^Dk!N13JO%m57f$zO%+`?_?dk9>os8#x=lwWZ&zxeuO4lIe6xQ{<5Fu$D7WVw zQ1oER+_tWxZZmca&2sZg5JHWg%G4=MW_WTqE`jf=WvUTWV`a;gTo;o{TXNcoSdNJ$ zAiLI3HrJMVyDH%!EE{dRsxOj8fNAktJwF~@!nUikgSQmMF#+O+lSYv9@6zx#9<1yR zolKavnCR zB^|Q3t%)mGUILo zN{N|O(waR6!sP34j_w6U=#k1yH$5KyBsRy^i#<{baucW3g3y0Wcn>R7aQk|(R4dwt z?Dk=&guY7Jh51&NkZ^4QBD~QU8F+usta2aSFIs|cd60;@tb`6T2Y7eh*VV7f?4C}~ z{nkvY=C2hs@&otmT@$S(xQDKQ>z68550(;bBJw4Phs>sKjggx>Fe_? z!RT(Zho)-lCYj7TvHUPFlBv8NR@-sxaN`6v$C>&o6FdY`1aSwrKsqJBd!BxqgCd}7 zX{Nn-R!b^dU3G*Mrsn)>>qGUH!0+mVb|iEEUBG{C)9utvb9#D&_dg8A@*+d?ejwAG zM{^#EV`2g{Pg1qBF%%8^!VINohX6bSpz82QL@1}RVLwQ{jKC88LR@sTvY*&W%LOX^e{bb zWh{T>ZV7VjG^47sGBcgLHRMye5?dm1MbP1rq;XV@R6uFhC;lG_ zp4n>E8celg8&Yu;=Si2RS;P+hb?_eT@TAf=Df(w4xM|^dEE70p)o7kx83`DMyKXrm z!~bxwV-H=Xj|<{D&|x@_rTIQ5r6aqToO6E|Zux2{WdU&2nTuA9IGaRy6unWm6Tr#i ziZ}@cuH4TZa~%NpgZ zFQ-T>Wm{8O(NLDF2ay1Nyy86J0WkLYRpFn_NXTA2-;n6U9Z+pq$2^FBlF{_pKl*>F zXV#%<^K$(1q&-b+?kjfrU<1JVe`v*urV=-40fIRrbicGdZL4ljyPH1A#6D0qfVjVx# zF;znk9tHZNIx|vU+SNTd0<2YHZvKDLAO<&<1hd#=I`(=M=f-pvsOC`h-*w-tx4p$= zI-tZhH9zO*31^zc9(_P#Ru_@HjThgE4P=u>COK7r9+dbluAXebdyMUyORZ$S;*D0N z)4Qyr>>5(yHGPD50$hoCGl+OI-Je7fTdpPPM`_VQjsVY5UOnf>hPaJwL{)$AEh1sv zY*D@LtQ59qU`SoHk)=K<4KCMPqS%cQrertr**5uy;Kram125dpSS*sv2uS6qGC-?&grq_ zLw3XdZ_LWC&Lq|Gayj$L?Q1LF8`#BN-iPdVF(XPcZVeKp94Rq9qoaOTXT<~`YT%aC zThCch%@Sn5Oh{Tf##9xhUOeJ*hD71|bZyA;5dDs0r$;#f(K3v@kI@JMJcF*6&wGbo zBmw#lQkp<}Fn2ka=kk9sB;kKo3lc_nUi3;*j-A8(`RFx%agjcq_9(c0q1)ef^RCT$ z!Z0{3QgVIkM|96Fk*JC0F_GCHu?ib!LSQ#6xG0UURGXzZc-3ah^#nZ`3cFNa5E;)k z)xY?CGTd8Vn0+s8@XC`=uq7suvY{9-I?iZuB88krYj3{pr9gkm5S_xZ^+C_(bZ_0} z(!|iucl@~N+4oZ?P3iV=klK#?QKVCnW7KxC83^*sZ% z?%m@LirwoHFI2nieoyRuouiP~cpPhq0`NPsnJ5g>MinYO!nIavilF@*GNT9`x6{>w zE*-DWUrsYjlc|4yFW6isv9?9f_J>zCr;+~$BeYc!IV{nfI(yoi69U612hPZYPuP>HiQ-|^D4Pb>Gmr`|GAG^x0o-Yp163p_;GBM zLT8=H4V1cgZ*6SxR|Zj8VX;>;*3tnvYa@KlUW05@u24{=hZ>`Se+*r-HoL))OpJ=9R4U_QKNj=C+(4>(! zss>v^A!&c?Chi%29QvXpK4R3Cqs#LibVjtaN~ZYCf=HfI+L6uJks2j0Q_6}|3{akm zmxv_Us@MWIrKZ&%`ok_oQuNwUBj8FcWwOZ_KK(4YU{C#|G4x5D%)$%zRdmk~hlopC z1c#|#OjPf6%6W5nXUgsh?Q_Xl{}`o@8Us^(v3-A(|4-~yh4lC4!bz@8q!wv@VoANM zxixmCw0m;$@DVm9d(k@ zhefVeo0RVN!y;S_--*1?d+(L|Ta^Al<0HV*k-c*S&B-;=rYJxc3>iQUU4h}5hNqm_ zVbXsjy3Vkt0agvE^13T;C_d~Tjqt&7Wq8@t-eH@hFmtqj;3{2Fn-)EEK=dxbdu|bs z35nyhUjv#8VBW%FLBm_-Otl(8+-4Tcx<0!P%(`~R)v-3?SR(+he8J@>MOX;5byBBF z*h<|(uw1Ls(xr#)E%OqEvXVR{MBF?`)KWF_K|_Y|l$I zAaPfJk^I&6$s&G62c~l&)-ksCga+fFA#0OEnWe&#WRK8+4IIv@t=Mo&<`tg)y%SutZ=x0 znqv_=?dfCiAeb%*=XWNcUM+$$IpTtqifYJ$c zHvP%L{JIO$_IO2V{Qejy6{~?~kyb%}C*oOn`QHN4uEdKu`7C+mZszaLtib7|w^sS1 zs>I_N1Rk!vBLruICM|};6D&z%Da=DB2f=0go<5LK9pw)M=GM82rAd~$ia5IX4PBn; zthpVL(CGeop9=<@d691{ST0)=4Z4C1mJTWrYZdsY2@_8=2mL$1VuSx}-F@1Bm`yvD z(M7U`Z)O@9iAin*0n$tgytWFKho=|&)tJ3Ruqk6VZnda#<@6Q00`PbO2|gG*0)rLPfhxmO~x~RVNgtbY6{Is1|;^NjkTv z9#M`dxXSeH7xZMT3+9uRT(xk28@=1T&%&E0y79eu&uK2vY>`f4EtLsS!ev~tziUX~ z{n#+x7l$^s<@1JQwz{2R|2~j}m!^eY74Ow(-g7SU$Hhfi)4Bd(VPy^)1Qewa(Qdjzaa0JP%SxkAC zV*Ty0mOzeXD(#71QbdMqkg_c9Yr4>J3Jv0eijyHX@qL-0d%r^1AsVNtOl#E=P?*pb zxW>M{(PIC|i2_JBVz)Cz>jcoOO>8!f*G%(J@}qdra1t#>0(o30>^b%&yp!uBu-uoS zb9q%O41Yu=jA@@&Oe|x6-dAC&-h%w`+Q!K==^G2q=Wso z|94i9+P`G=-I0ZT@_Mmcg&%3k5nP^pbcl9~l1Pfm^<{E(O+b}@p@0MYMGLuyO@qLF z;!^mRqk|%6VTd(q=78@uBAIbNOM(n}k4Fe-$yO$EW5XKO2oATI!IrNKx>=N!E{7#F{@6N$sYPGppZtRW?;pNMEI*rTQ^VLUb0I=r8K{$d#i z?xwA^jfKAI{iabJGkv5=6tv5Qn_7me;F8qQR;#fN7s-)-|MNIslwwlJMN%8v_}QGI zK&*)yqPr6SL5zt1Hd*Yej&sJqGn{L@XOxD*TY%e2fLY@NMxX1~Qhs`##+qqkTqY_6 z!Oi=6-IfO*7dYy5Umlq>&GF1HH#bHjb`1y|;WXs!Ob^s6XtmKC-83D{_)x@O+Lw*v zrLDe#3Co0kG$5N)E#+#IrT(Y91QLoC=1QUS+3Y`zUeI?-Fz}2H#hwiLO%V@WI*gFq zJUcH_XY9GS1GVB9iovnr!3-K|8ZzW+q%ju4NP(csj)S2j=a%QC;@by)NElt>IKuk_ zG>h_>cnOUQ<+x=yG0Q9GK>}ZdM3mt*zEmcR+TLA%YN-dwh3Yv`hdl63)kaI&BdXHU zV@l)Df0~Wf>LRr3GM$0pAc1ema&m?lY)4TVv5hr*EA}*GjMc?h0FX^^nxs~yzSMNI zeNs0C0FLAk{SJRJVSB;m6&!46Uc*O(yb*8|3qAi@P{+3lm zW+IY*81h#FAR~eJhRat{q6?ujzE1ZCY2%NxbADi2K=5xC-L9NsbxPXwyC=H)i7gF8 zEVN%cl*Cf8tj}i6Fi9m*nYWNDu-{GA4B`-|lAsa5Z$R$f2y}BEe148j1mt)(|Di#p z&-sua;esfI3OPITh|2RaCf)#KmsjmX1IcQCF6h8!zhq9#1%=DtzSUn<^3MM4eU18h zeQUJ{@xtd&i*Ovj}l>j zqL?A-kxkJK4#G-guq-Z@`=~U*TtaAFK*WmFSc^PSRU=~Ig#Clx3*Pd|)2V4=us>T$ zT6`1H7;RZBkh&4(2vQ=0J=_~*1_AHtr1ZGby_OY44{>P4Kl(^bnjBFzn|Fj`RPBH( z!+jtWjI2s)>A{4W%f+1iI^Psc^>N{U%9p;2L66X|n#Ao(H;6L&NUix2cS_^VkzART z4C{+la#nku(&aHm&5;P6i~|v6e3xaP*`Op*GwY>=XYPt)YTH+Qo!CA^-N4ZDGyq3$ z(KEFev0djc)EXdF=i4gxK`AByx?~N3$^;*gB2cT+Sbx{T~NT#?p?IDZ16<3jxZt zb;YlVXpnF(dqnvud2Z)|kl@$jd+Aw(MeWGtUc|QdE}z)r=(697=6NTI{lv>EnyTV~ z%LwE!gBG@JNHtd9%~f+Vi9*>#C7VK9 zLmW#m)~%gi$CWJH2fV6kZPDt&M`1UmYBmaUhaQ(V5~SlhQY?`}_i~vmGc|e=s&ff& zwW2u^q$s?F79Jg=^Ix^VE{ls8hRPMClu+D~Ix63w5?zz4(U4hykyN;UT9?G3yrR*0 z`!vB7z{eU{0L7X!!287ztAZ>tv+FMAlDAI?Sp({J;-xY;Pl9=yvYUj36`)jQCEjnQ z)l0Ieq_VZ!tuux+rV87rfScp_XTHZowbu@m27A`6I}eHF z*@_cdL7P6C4MqP89<5r?nX4J4UGhg?ys1-6s(L=ZHOC?OESrX2<*iEJcwb`;4*`8O zfrjG^jplEGgmNQ)#?~|$^ov7I(r0f@|0n-Yyt(?YdowLYb zW@JR}O!>&!mzZd1T!>dMk|N0X-mV@9*){G_)%e3AKI^l8*Gcq{OdTGi54pRy3U~rp zM9y}4aUDjaoMax37xZyv==ZaoHQr2VoVf%RZmNIy}x#q>q{$C9g zA~!9Q6)ZtpA?_PtR$}@77V`W!Zcc@B+i{UHuOpvAn*^O%4**Tea-OUD1_*BEx!7Cy yqfU|Bkau+S=>Py{d+fJ@-~nO)0iet$faK2v00011)2Ck)7dtQm000001X)@qoSJF? diff --git a/results/validation.md b/results/validation.md index 95c81bb..322f600 100644 --- a/results/validation.md +++ b/results/validation.md @@ -263,3 +263,4 @@ | [4xYE](4xYE.txt) | v0.9.41 T-HEAD Light Lichee Pi 4A confi | 0%/0% | 7.6Gi/7.4Gi | X | X | X | X | 2% | 0% | [check log](4xYE.txt) | | [4xwT](4xwT.txt) | v0.9.41 Microsoft Dev Kit 2023 | 0%/0% | 30Gi/29Gi | X | X | X | X | 0% | 0% | [check log](4xwT.txt) | | [4xwq](4xwq.txt) | v0.9.41 / N95 | 0%/0% | 15Gi/14Gi | X | X | X | X | 1% | 0% | [check log](4xwq.txt) | +| [4yNC](4yNC.txt) | v0.9.42 Google Homestar | 0%/0% | 3.8Gi/2.7Gi | X | X | X | X | 2% | 0% | [check log](4yNC.txt) |