diff --git a/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-noreuse.csv b/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-noreuse.csv
index 25dfb6f3df12..e32478270c19 100644
--- a/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-noreuse.csv
+++ b/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-noreuse.csv
@@ -1,31 +1,220 @@
-binarytrees.lean,rss, 37224448
-binarytrees.lean,num_alloc, 2922
-binarytrees.lean,num_small_alloc, 1611361
-binarytrees.lean,num_dealloc, 101
-binarytrees.lean,num_small_dealloc, 1600945
-binarytrees.lean,num_segments, 7
-binarytrees.lean,num_pages, 3783
+rbmap_checkpoint.lean,rss, 2428108800
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683888
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673473
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428239872
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683888
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673473
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428239872
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683887
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673472
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428370944
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683887
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673472
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428239872
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683887
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673472
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+binarytrees.lean,rss, 183894016
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496446
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486030
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
binarytrees.lean,num_exports, 0
-binarytrees.lean,num_recycled_pages, 2448
-const_fold.lean,rss, 18219008
-const_fold.lean,num_alloc, 2876
-const_fold.lean,num_small_alloc, 109322
-const_fold.lean,num_dealloc, 55
-const_fold.lean,num_small_dealloc, 98906
-const_fold.lean,num_segments, 1
-const_fold.lean,num_pages, 797
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 184025088
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496446
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486030
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 183894016
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496446
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486030
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 183762944
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496447
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486031
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 183762944
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496447
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486031
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496447
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486031
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496447
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486031
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496447
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486031
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496447
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486031
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496447
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486031
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
const_fold.lean,num_exports, 0
-const_fold.lean,num_recycled_pages, 269
-deriv.lean,rss, 67502080
-deriv.lean,num_alloc, 2911
-deriv.lean,num_small_alloc, 3326017
-deriv.lean,num_dealloc, 87
-deriv.lean,num_small_dealloc, 3315585
-deriv.lean,num_segments, 8
-deriv.lean,num_pages, 7449
+const_fold.lean,num_recycled_pages, 610206
+deriv.lean,rss, 452329472
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927461
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917029
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
deriv.lean,num_exports, 0
-deriv.lean,num_recycled_pages, 6898
-liasolver.lean,rss, 50987008
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452460544
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927460
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917028
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452591616
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927460
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917028
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452591616
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927461
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917029
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452460544
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927460
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917028
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+liasolver.lean,rss, 50724864
+liasolver.lean,num_alloc, 65065
+liasolver.lean,num_small_alloc, 8261166
+liasolver.lean,num_dealloc, 36043
+liasolver.lean,num_small_dealloc, 8117401
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1426
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 52035584
+liasolver.lean,num_alloc, 65065
+liasolver.lean,num_small_alloc, 8261167
+liasolver.lean,num_dealloc, 36043
+liasolver.lean,num_small_dealloc, 8117402
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1426
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 52166656
+liasolver.lean,num_alloc, 65065
+liasolver.lean,num_small_alloc, 8261166
+liasolver.lean,num_dealloc, 36043
+liasolver.lean,num_small_dealloc, 8117401
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1426
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 52166656
+liasolver.lean,num_alloc, 65065
+liasolver.lean,num_small_alloc, 8261166
+liasolver.lean,num_dealloc, 36043
+liasolver.lean,num_small_dealloc, 8117401
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1426
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 52428800
liasolver.lean,num_alloc, 65065
liasolver.lean,num_small_alloc, 8261166
liasolver.lean,num_dealloc, 36043
@@ -34,30 +223,183 @@ liasolver.lean,num_segments, 2
liasolver.lean,num_pages, 1426
liasolver.lean,num_exports, 0
liasolver.lean,num_recycled_pages, 7583
-rbmap_fbip.lean,rss, 10616832
-rbmap_fbip.lean,num_alloc, 2867
-rbmap_fbip.lean,num_small_alloc, 11003
-rbmap_fbip.lean,num_dealloc, 52
-rbmap_fbip.lean,num_small_dealloc, 592
-rbmap_fbip.lean,num_segments, 1
-rbmap_fbip.lean,num_pages, 552
+qsort.lean,rss, 10878976
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953032
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942591
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 10878976
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953032
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942591
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 11010048
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953032
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942591
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 10747904
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953031
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942590
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 10878976
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953031
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942590
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+rbmap_fbip.lean,rss, 116785152
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356732
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346321
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 116916224
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356733
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346322
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
rbmap_fbip.lean,num_exports, 0
-rbmap_fbip.lean,num_recycled_pages, 0
-rbmap.lean,rss, 14942208
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 116916224
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356733
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346322
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 117047296
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356732
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346321
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 116916224
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356733
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346322
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap.lean,rss, 91881472
rbmap.lean,num_alloc, 2868
-rbmap.lean,num_small_alloc, 111009
+rbmap.lean,num_small_alloc, 2011011
rbmap.lean,num_dealloc, 53
-rbmap.lean,num_small_dealloc, 100598
-rbmap.lean,num_segments, 2
-rbmap.lean,num_pages, 1045
+rbmap.lean,num_small_dealloc, 2000600
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
rbmap.lean,num_exports, 0
-rbmap.lean,num_recycled_pages, 492
-unionfind.lean,rss, 13492224
-unionfind.lean,num_alloc, 2891
-unionfind.lean,num_small_alloc, 2956047
-unionfind.lean,num_dealloc, 69
-unionfind.lean,num_small_dealloc, 2945626
-unionfind.lean,num_segments, 1
-unionfind.lean,num_pages, 769
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91881472
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011011
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000600
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91881472
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011010
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000599
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91881472
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011011
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000600
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91881472
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011010
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000599
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+unionfind.lean,rss, 107331584
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416049
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405628
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107593728
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416049
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405628
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107724800
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416050
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405629
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107462656
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416049
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405628
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107724800
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416049
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405628
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
unionfind.lean,num_exports, 0
-unionfind.lean,num_recycled_pages, 679
+unionfind.lean,num_recycled_pages, 18257
diff --git a/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-reuse.csv b/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-reuse.csv
index 421ed6d2cd54..1867059792f4 100644
--- a/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-reuse.csv
+++ b/1-runs/run-2024-04-01---17-10-tcg40/outputs/benchmarks-allocator-log-reuse.csv
@@ -1,31 +1,220 @@
-binarytrees.lean,rss, 37355520
-binarytrees.lean,num_alloc, 2922
-binarytrees.lean,num_small_alloc, 1611361
-binarytrees.lean,num_dealloc, 101
-binarytrees.lean,num_small_dealloc, 1600945
-binarytrees.lean,num_segments, 7
-binarytrees.lean,num_pages, 3783
+rbmap_checkpoint.lean,rss, 2427715584
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683887
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673472
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428108800
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683888
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673473
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428239872
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683888
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673473
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428239872
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683887
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673472
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+rbmap_checkpoint.lean,rss, 2428239872
+rbmap_checkpoint.lean,num_alloc, 2874
+rbmap_checkpoint.lean,num_small_alloc, 60683887
+rbmap_checkpoint.lean,num_dealloc, 56
+rbmap_checkpoint.lean,num_small_dealloc, 60673472
+rbmap_checkpoint.lean,num_segments, 289
+rbmap_checkpoint.lean,num_pages, 295480
+rbmap_checkpoint.lean,num_exports, 0
+rbmap_checkpoint.lean,num_recycled_pages, 294927
+binarytrees.lean,rss, 183500800
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496447
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486031
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
binarytrees.lean,num_exports, 0
-binarytrees.lean,num_recycled_pages, 2448
-const_fold.lean,rss, 18087936
-const_fold.lean,num_alloc, 2876
-const_fold.lean,num_small_alloc, 109323
-const_fold.lean,num_dealloc, 55
-const_fold.lean,num_small_dealloc, 98907
-const_fold.lean,num_segments, 1
-const_fold.lean,num_pages, 797
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 183762944
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496446
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486030
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 183631872
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496446
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486030
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 183894016
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496447
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486031
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+binarytrees.lean,rss, 183762944
+binarytrees.lean,num_alloc, 2941
+binarytrees.lean,num_small_alloc, 305496446
+binarytrees.lean,num_dealloc, 120
+binarytrees.lean,num_small_dealloc, 305486030
+binarytrees.lean,num_segments, 26
+binarytrees.lean,num_pages, 21654
+binarytrees.lean,num_exports, 0
+binarytrees.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496446
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486030
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496446
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486030
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496446
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486030
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496446
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486030
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
+const_fold.lean,num_exports, 0
+const_fold.lean,num_recycled_pages, 610206
+const_fold.lean,rss, 183762944
+const_fold.lean,num_alloc, 2941
+const_fold.lean,num_small_alloc, 305496446
+const_fold.lean,num_dealloc, 120
+const_fold.lean,num_small_dealloc, 305486030
+const_fold.lean,num_segments, 26
+const_fold.lean,num_pages, 21654
const_fold.lean,num_exports, 0
-const_fold.lean,num_recycled_pages, 269
-deriv.lean,rss, 67371008
-deriv.lean,num_alloc, 2911
-deriv.lean,num_small_alloc, 3326016
-deriv.lean,num_dealloc, 87
-deriv.lean,num_small_dealloc, 3315584
-deriv.lean,num_segments, 8
-deriv.lean,num_pages, 7449
+const_fold.lean,num_recycled_pages, 610206
+deriv.lean,rss, 452329472
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927461
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917029
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
deriv.lean,num_exports, 0
-deriv.lean,num_recycled_pages, 6898
-liasolver.lean,rss, 49152000
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452329472
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927461
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917029
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452329472
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927461
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917029
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452329472
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927461
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917029
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+deriv.lean,rss, 452460544
+deriv.lean,num_alloc, 2915
+deriv.lean,num_small_alloc, 25927460
+deriv.lean,num_dealloc, 91
+deriv.lean,num_small_dealloc, 25917028
+deriv.lean,num_segments, 54
+deriv.lean,num_pages, 54403
+deriv.lean,num_exports, 0
+deriv.lean,num_recycled_pages, 53855
+liasolver.lean,rss, 48627712
+liasolver.lean,num_alloc, 65075
+liasolver.lean,num_small_alloc, 8261186
+liasolver.lean,num_dealloc, 36046
+liasolver.lean,num_small_dealloc, 8117410
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1425
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 50462720
+liasolver.lean,num_alloc, 65075
+liasolver.lean,num_small_alloc, 8261185
+liasolver.lean,num_dealloc, 36046
+liasolver.lean,num_small_dealloc, 8117409
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1425
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 50593792
+liasolver.lean,num_alloc, 65075
+liasolver.lean,num_small_alloc, 8261185
+liasolver.lean,num_dealloc, 36046
+liasolver.lean,num_small_dealloc, 8117409
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1425
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 50462720
+liasolver.lean,num_alloc, 65075
+liasolver.lean,num_small_alloc, 8261185
+liasolver.lean,num_dealloc, 36046
+liasolver.lean,num_small_dealloc, 8117409
+liasolver.lean,num_segments, 2
+liasolver.lean,num_pages, 1425
+liasolver.lean,num_exports, 0
+liasolver.lean,num_recycled_pages, 7583
+liasolver.lean,rss, 50331648
liasolver.lean,num_alloc, 65075
liasolver.lean,num_small_alloc, 8261186
liasolver.lean,num_dealloc, 36046
@@ -34,30 +223,183 @@ liasolver.lean,num_segments, 2
liasolver.lean,num_pages, 1425
liasolver.lean,num_exports, 0
liasolver.lean,num_recycled_pages, 7583
-rbmap_fbip.lean,rss, 10616832
-rbmap_fbip.lean,num_alloc, 2867
-rbmap_fbip.lean,num_small_alloc, 11003
-rbmap_fbip.lean,num_dealloc, 52
-rbmap_fbip.lean,num_small_dealloc, 592
-rbmap_fbip.lean,num_segments, 1
-rbmap_fbip.lean,num_pages, 552
+qsort.lean,rss, 10747904
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953032
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942591
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 10878976
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953031
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942590
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 10878976
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953031
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942590
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 10878976
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953032
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942591
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+qsort.lean,rss, 10747904
+qsort.lean,num_alloc, 1082080
+qsort.lean,num_small_alloc, 32953032
+qsort.lean,num_dealloc, 1079251
+qsort.lean,num_small_dealloc, 32942591
+qsort.lean,num_segments, 1
+qsort.lean,num_pages, 552
+qsort.lean,num_exports, 0
+qsort.lean,num_recycled_pages, 0
+rbmap_fbip.lean,rss, 116785152
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356732
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346321
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 116916224
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356733
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346322
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 116916224
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356733
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346322
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 116916224
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356733
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346322
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
rbmap_fbip.lean,num_exports, 0
-rbmap_fbip.lean,num_recycled_pages, 0
-rbmap.lean,rss, 14680064
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap_fbip.lean,rss, 116916224
+rbmap_fbip.lean,num_alloc, 2868
+rbmap_fbip.lean,num_small_alloc, 115356733
+rbmap_fbip.lean,num_dealloc, 53
+rbmap_fbip.lean,num_small_dealloc, 115346322
+rbmap_fbip.lean,num_segments, 14
+rbmap_fbip.lean,num_pages, 13477
+rbmap_fbip.lean,num_exports, 0
+rbmap_fbip.lean,num_recycled_pages, 63593
+rbmap.lean,rss, 91619328
rbmap.lean,num_alloc, 2868
-rbmap.lean,num_small_alloc, 111010
+rbmap.lean,num_small_alloc, 2011011
rbmap.lean,num_dealloc, 53
-rbmap.lean,num_small_dealloc, 100599
-rbmap.lean,num_segments, 2
-rbmap.lean,num_pages, 1045
+rbmap.lean,num_small_dealloc, 2000600
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
rbmap.lean,num_exports, 0
-rbmap.lean,num_recycled_pages, 492
-unionfind.lean,rss, 13365248
-unionfind.lean,num_alloc, 2891
-unionfind.lean,num_small_alloc, 2956048
-unionfind.lean,num_dealloc, 69
-unionfind.lean,num_small_dealloc, 2945627
-unionfind.lean,num_segments, 1
-unionfind.lean,num_pages, 769
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91750400
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011011
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000600
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91750400
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011011
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000600
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91750400
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011011
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000600
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+rbmap.lean,rss, 91881472
+rbmap.lean,num_alloc, 2868
+rbmap.lean,num_small_alloc, 2011010
+rbmap.lean,num_dealloc, 53
+rbmap.lean,num_small_dealloc, 2000599
+rbmap.lean,num_segments, 11
+rbmap.lean,num_pages, 10405
+rbmap.lean,num_exports, 0
+rbmap.lean,num_recycled_pages, 9852
+unionfind.lean,rss, 107331584
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416050
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405629
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107458560
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416049
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405628
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107593728
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416050
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405629
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107458560
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416050
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405629
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
+unionfind.lean,num_exports, 0
+unionfind.lean,num_recycled_pages, 18257
+unionfind.lean,rss, 107462656
+unionfind.lean,num_alloc, 2896
+unionfind.lean,num_small_alloc, 152416049
+unionfind.lean,num_dealloc, 74
+unionfind.lean,num_small_dealloc, 152405628
+unionfind.lean,num_segments, 10
+unionfind.lean,num_pages, 9428
unionfind.lean,num_exports, 0
-unionfind.lean,num_recycled_pages, 679
+unionfind.lean,num_recycled_pages, 18257
diff --git a/1-runs/run-2024-04-01---17-10-tcg40/plot-ctest-speedcenter-runtime-profile.ipynb b/1-runs/run-2024-04-01---17-10-tcg40/plot-ctest-speedcenter-runtime-profile.ipynb
index 20c804237d1f..8e9fcb8c4fba 100644
--- a/1-runs/run-2024-04-01---17-10-tcg40/plot-ctest-speedcenter-runtime-profile.ipynb
+++ b/1-runs/run-2024-04-01---17-10-tcg40/plot-ctest-speedcenter-runtime-profile.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 36,
+ "execution_count": 9,
"id": "305ca8eb-b873-4f3e-aa55-9d0adeab7fe9",
"metadata": {},
"outputs": [
@@ -22,6 +22,7 @@
"import matplotlib.pyplot as plt\n",
"from IPython.display import display, HTML\n",
"from datetime import timedelta\n",
+ "from scipy.stats import gmean\n",
"import seaborn as sns\n",
"import matplotlib\n",
"\n",
@@ -73,7 +74,7 @@
},
{
"cell_type": "code",
- "execution_count": 37,
+ "execution_count": 11,
"id": "56f9cc1a-76c5-488f-9fa2-a6eade40369d",
"metadata": {},
"outputs": [
@@ -113,33 +114,33 @@
"
\n",
" \n",
" 0 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" rss | \n",
- " 37224448 | \n",
+ " 2428108800 | \n",
"
\n",
" \n",
" 1 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_alloc | \n",
- " 2922 | \n",
+ " 2874 | \n",
"
\n",
" \n",
" 2 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_small_alloc | \n",
- " 1611361 | \n",
+ " 60683888 | \n",
"
\n",
" \n",
" 3 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_dealloc | \n",
- " 101 | \n",
+ " 56 | \n",
"
\n",
" \n",
" 4 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_small_dealloc | \n",
- " 1600945 | \n",
+ " 60673473 | \n",
"
\n",
" \n",
" ... | \n",
@@ -148,55 +149,55 @@
" ... | \n",
"
\n",
" \n",
- " 58 | \n",
+ " 400 | \n",
" unionfind.lean | \n",
" num_small_dealloc | \n",
- " 2945626 | \n",
+ " 152405628 | \n",
"
\n",
" \n",
- " 59 | \n",
+ " 401 | \n",
" unionfind.lean | \n",
" num_segments | \n",
- " 1 | \n",
+ " 10 | \n",
"
\n",
" \n",
- " 60 | \n",
+ " 402 | \n",
" unionfind.lean | \n",
" num_pages | \n",
- " 769 | \n",
+ " 9428 | \n",
"
\n",
" \n",
- " 61 | \n",
+ " 403 | \n",
" unionfind.lean | \n",
" num_exports | \n",
" 0 | \n",
"
\n",
" \n",
- " 62 | \n",
+ " 404 | \n",
" unionfind.lean | \n",
" num_recycled_pages | \n",
- " 679 | \n",
+ " 18257 | \n",
"
\n",
" \n",
"\n",
- "63 rows × 3 columns
\n",
+ "405 rows × 3 columns
\n",
""
],
"text/plain": [
- " File Metric Value\n",
- "0 binarytrees.lean rss 37224448\n",
- "1 binarytrees.lean num_alloc 2922\n",
- "2 binarytrees.lean num_small_alloc 1611361\n",
- "3 binarytrees.lean num_dealloc 101\n",
- "4 binarytrees.lean num_small_dealloc 1600945\n",
- ".. ... ... ...\n",
- "58 unionfind.lean num_small_dealloc 2945626\n",
- "59 unionfind.lean num_segments 1\n",
- "60 unionfind.lean num_pages 769\n",
- "61 unionfind.lean num_exports 0\n",
- "62 unionfind.lean num_recycled_pages 679\n",
+ " File Metric Value\n",
+ "0 rbmap_checkpoint.lean rss 2428108800\n",
+ "1 rbmap_checkpoint.lean num_alloc 2874\n",
+ "2 rbmap_checkpoint.lean num_small_alloc 60683888\n",
+ "3 rbmap_checkpoint.lean num_dealloc 56\n",
+ "4 rbmap_checkpoint.lean num_small_dealloc 60673473\n",
+ ".. ... ... ...\n",
+ "400 unionfind.lean num_small_dealloc 152405628\n",
+ "401 unionfind.lean num_segments 10\n",
+ "402 unionfind.lean num_pages 9428\n",
+ "403 unionfind.lean num_exports 0\n",
+ "404 unionfind.lean num_recycled_pages 18257\n",
"\n",
- "[63 rows x 3 columns]"
+ "[405 rows x 3 columns]"
]
},
"metadata": {},
@@ -238,33 +239,33 @@
" \n",
" \n",
" 0 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" rss | \n",
- " 37355520 | \n",
+ " 2427715584 | \n",
"
\n",
" \n",
" 1 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_alloc | \n",
- " 2922 | \n",
+ " 2874 | \n",
"
\n",
" \n",
" 2 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_small_alloc | \n",
- " 1611361 | \n",
+ " 60683887 | \n",
"
\n",
" \n",
" 3 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_dealloc | \n",
- " 101 | \n",
+ " 56 | \n",
"
\n",
" \n",
" 4 | \n",
- " binarytrees.lean | \n",
+ " rbmap_checkpoint.lean | \n",
" num_small_dealloc | \n",
- " 1600945 | \n",
+ " 60673472 | \n",
"
\n",
" \n",
" ... | \n",
@@ -273,55 +274,291 @@
" ... | \n",
"
\n",
" \n",
- " 58 | \n",
+ " 400 | \n",
" unionfind.lean | \n",
" num_small_dealloc | \n",
- " 2945627 | \n",
+ " 152405628 | \n",
"
\n",
" \n",
- " 59 | \n",
+ " 401 | \n",
" unionfind.lean | \n",
" num_segments | \n",
- " 1 | \n",
+ " 10 | \n",
"
\n",
" \n",
- " 60 | \n",
+ " 402 | \n",
" unionfind.lean | \n",
" num_pages | \n",
- " 769 | \n",
+ " 9428 | \n",
"
\n",
" \n",
- " 61 | \n",
+ " 403 | \n",
" unionfind.lean | \n",
" num_exports | \n",
" 0 | \n",
"
\n",
" \n",
- " 62 | \n",
+ " 404 | \n",
" unionfind.lean | \n",
" num_recycled_pages | \n",
- " 679 | \n",
+ " 18257 | \n",
+ "
\n",
+ " \n",
+ "\n",
+ "405 rows × 3 columns
\n",
+ ""
+ ],
+ "text/plain": [
+ " File Metric Value\n",
+ "0 rbmap_checkpoint.lean rss 2427715584\n",
+ "1 rbmap_checkpoint.lean num_alloc 2874\n",
+ "2 rbmap_checkpoint.lean num_small_alloc 60683887\n",
+ "3 rbmap_checkpoint.lean num_dealloc 56\n",
+ "4 rbmap_checkpoint.lean num_small_dealloc 60673472\n",
+ ".. ... ... ...\n",
+ "400 unionfind.lean num_small_dealloc 152405628\n",
+ "401 unionfind.lean num_segments 10\n",
+ "402 unionfind.lean num_pages 9428\n",
+ "403 unionfind.lean num_exports 0\n",
+ "404 unionfind.lean num_recycled_pages 18257\n",
+ "\n",
+ "[405 rows x 3 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " File | \n",
+ " Metric | \n",
+ " Value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " binarytrees.lean | \n",
+ " num_alloc | \n",
+ " 2.941000e+03 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " binarytrees.lean | \n",
+ " num_dealloc | \n",
+ " 1.200000e+02 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " binarytrees.lean | \n",
+ " num_exports | \n",
+ " 0.000000e+00 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " binarytrees.lean | \n",
+ " num_pages | \n",
+ " 2.165400e+04 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " binarytrees.lean | \n",
+ " num_recycled_pages | \n",
+ " 6.102060e+05 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 76 | \n",
+ " unionfind.lean | \n",
+ " num_recycled_pages | \n",
+ " 1.825700e+04 | \n",
+ "
\n",
+ " \n",
+ " 77 | \n",
+ " unionfind.lean | \n",
+ " num_segments | \n",
+ " 1.000000e+01 | \n",
+ "
\n",
+ " \n",
+ " 78 | \n",
+ " unionfind.lean | \n",
+ " num_small_alloc | \n",
+ " 1.524160e+08 | \n",
+ "
\n",
+ " \n",
+ " 79 | \n",
+ " unionfind.lean | \n",
+ " num_small_dealloc | \n",
+ " 1.524056e+08 | \n",
+ "
\n",
+ " \n",
+ " 80 | \n",
+ " unionfind.lean | \n",
+ " rss | \n",
+ " 1.074610e+08 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
81 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " File Metric Value\n",
+ "0 binarytrees.lean num_alloc 2.941000e+03\n",
+ "1 binarytrees.lean num_dealloc 1.200000e+02\n",
+ "2 binarytrees.lean num_exports 0.000000e+00\n",
+ "3 binarytrees.lean num_pages 2.165400e+04\n",
+ "4 binarytrees.lean num_recycled_pages 6.102060e+05\n",
+ ".. ... ... ...\n",
+ "76 unionfind.lean num_recycled_pages 1.825700e+04\n",
+ "77 unionfind.lean num_segments 1.000000e+01\n",
+ "78 unionfind.lean num_small_alloc 1.524160e+08\n",
+ "79 unionfind.lean num_small_dealloc 1.524056e+08\n",
+ "80 unionfind.lean rss 1.074610e+08\n",
+ "\n",
+ "[81 rows x 3 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " File | \n",
+ " Metric | \n",
+ " Value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " binarytrees.lean | \n",
+ " num_alloc | \n",
+ " 2.941000e+03 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " binarytrees.lean | \n",
+ " num_dealloc | \n",
+ " 1.200000e+02 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " binarytrees.lean | \n",
+ " num_exports | \n",
+ " 0.000000e+00 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " binarytrees.lean | \n",
+ " num_pages | \n",
+ " 2.165400e+04 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " binarytrees.lean | \n",
+ " num_recycled_pages | \n",
+ " 6.102060e+05 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 76 | \n",
+ " unionfind.lean | \n",
+ " num_recycled_pages | \n",
+ " 1.825700e+04 | \n",
+ "
\n",
+ " \n",
+ " 77 | \n",
+ " unionfind.lean | \n",
+ " num_segments | \n",
+ " 1.000000e+01 | \n",
+ "
\n",
+ " \n",
+ " 78 | \n",
+ " unionfind.lean | \n",
+ " num_small_alloc | \n",
+ " 1.524160e+08 | \n",
+ "
\n",
+ " \n",
+ " 79 | \n",
+ " unionfind.lean | \n",
+ " num_small_dealloc | \n",
+ " 1.524056e+08 | \n",
+ "
\n",
+ " \n",
+ " 80 | \n",
+ " unionfind.lean | \n",
+ " rss | \n",
+ " 1.075674e+08 | \n",
"
\n",
" \n",
"
\n",
- "
63 rows × 3 columns
\n",
+ "
81 rows × 3 columns
\n",
"
"
],
"text/plain": [
- " File Metric Value\n",
- "0 binarytrees.lean rss 37355520\n",
- "1 binarytrees.lean num_alloc 2922\n",
- "2 binarytrees.lean num_small_alloc 1611361\n",
- "3 binarytrees.lean num_dealloc 101\n",
- "4 binarytrees.lean num_small_dealloc 1600945\n",
- ".. ... ... ...\n",
- "58 unionfind.lean num_small_dealloc 2945627\n",
- "59 unionfind.lean num_segments 1\n",
- "60 unionfind.lean num_pages 769\n",
- "61 unionfind.lean num_exports 0\n",
- "62 unionfind.lean num_recycled_pages 679\n",
+ " File Metric Value\n",
+ "0 binarytrees.lean num_alloc 2.941000e+03\n",
+ "1 binarytrees.lean num_dealloc 1.200000e+02\n",
+ "2 binarytrees.lean num_exports 0.000000e+00\n",
+ "3 binarytrees.lean num_pages 2.165400e+04\n",
+ "4 binarytrees.lean num_recycled_pages 6.102060e+05\n",
+ ".. ... ... ...\n",
+ "76 unionfind.lean num_recycled_pages 1.825700e+04\n",
+ "77 unionfind.lean num_segments 1.000000e+01\n",
+ "78 unionfind.lean num_small_alloc 1.524160e+08\n",
+ "79 unionfind.lean num_small_dealloc 1.524056e+08\n",
+ "80 unionfind.lean rss 1.075674e+08\n",
"\n",
- "[63 rows x 3 columns]"
+ "[81 rows x 3 columns]"
]
},
"metadata": {},
@@ -334,12 +571,15 @@
"reuse = pd.read_csv('outputs/benchmarks-allocator-log-reuse.csv', \n",
" names=[\"File\", \"Metric\", \"Value\"])\n",
"print(\"noreuse\"); display(noreuse);\n",
- "print(\"reuse\"); display(reuse);"
+ "print(\"reuse\"); display(reuse);\n",
+ "\n",
+ "reuse = reuse.groupby(['File', 'Metric'])['Value'].apply(gmean).reset_index()\n",
+ "noreuse = noreuse.groupby(['File', 'Metric'])['Value'].apply(gmean).reset_index()"
]
},
{
"cell_type": "code",
- "execution_count": 38,
+ "execution_count": 12,
"id": "a8f14d78-1cf1-4d14-a128-76fa55975629",
"metadata": {},
"outputs": [
@@ -347,70 +587,88 @@
"name": "stdout",
"output_type": "stream",
"text": [
- " File Metric Value_reuse Value_no_reuse\n",
- "0 binarytrees.lean rss 37355520 37224448\n",
- "1 binarytrees.lean num_alloc 2922 2922\n",
- "2 binarytrees.lean num_small_alloc 1611361 1611361\n",
- "3 binarytrees.lean num_dealloc 101 101\n",
- "4 binarytrees.lean num_small_dealloc 1600945 1600945\n",
- "5 binarytrees.lean num_segments 7 7\n",
- "6 binarytrees.lean num_pages 3783 3783\n",
- "7 binarytrees.lean num_exports 0 0\n",
- "8 binarytrees.lean num_recycled_pages 2448 2448\n",
- "9 const_fold.lean rss 18087936 18219008\n",
- "10 const_fold.lean num_alloc 2876 2876\n",
- "11 const_fold.lean num_small_alloc 109323 109322\n",
- "12 const_fold.lean num_dealloc 55 55\n",
- "13 const_fold.lean num_small_dealloc 98907 98906\n",
- "14 const_fold.lean num_segments 1 1\n",
- "15 const_fold.lean num_pages 797 797\n",
- "16 const_fold.lean num_exports 0 0\n",
- "17 const_fold.lean num_recycled_pages 269 269\n",
- "18 deriv.lean rss 67371008 67502080\n",
- "19 deriv.lean num_alloc 2911 2911\n",
- "20 deriv.lean num_small_alloc 3326016 3326017\n",
- "21 deriv.lean num_dealloc 87 87\n",
- "22 deriv.lean num_small_dealloc 3315584 3315585\n",
- "23 deriv.lean num_segments 8 8\n",
- "24 deriv.lean num_pages 7449 7449\n",
- "25 deriv.lean num_exports 0 0\n",
- "26 deriv.lean num_recycled_pages 6898 6898\n",
- "27 liasolver.lean rss 49152000 50987008\n",
- "28 liasolver.lean num_alloc 65075 65065\n",
- "29 liasolver.lean num_small_alloc 8261186 8261166\n",
- "30 liasolver.lean num_dealloc 36046 36043\n",
- "31 liasolver.lean num_small_dealloc 8117410 8117401\n",
- "32 liasolver.lean num_segments 2 2\n",
- "33 liasolver.lean num_pages 1425 1426\n",
- "34 liasolver.lean num_exports 0 0\n",
- "35 liasolver.lean num_recycled_pages 7583 7583\n",
- "36 rbmap_fbip.lean rss 10616832 10616832\n",
- "37 rbmap_fbip.lean num_alloc 2867 2867\n",
- "38 rbmap_fbip.lean num_small_alloc 11003 11003\n",
- "39 rbmap_fbip.lean num_dealloc 52 52\n",
- "40 rbmap_fbip.lean num_small_dealloc 592 592\n",
- "41 rbmap_fbip.lean num_segments 1 1\n",
- "42 rbmap_fbip.lean num_pages 552 552\n",
- "43 rbmap_fbip.lean num_exports 0 0\n",
- "44 rbmap_fbip.lean num_recycled_pages 0 0\n",
- "45 rbmap.lean rss 14680064 14942208\n",
- "46 rbmap.lean num_alloc 2868 2868\n",
- "47 rbmap.lean num_small_alloc 111010 111009\n",
- "48 rbmap.lean num_dealloc 53 53\n",
- "49 rbmap.lean num_small_dealloc 100599 100598\n",
- "50 rbmap.lean num_segments 2 2\n",
- "51 rbmap.lean num_pages 1045 1045\n",
- "52 rbmap.lean num_exports 0 0\n",
- "53 rbmap.lean num_recycled_pages 492 492\n",
- "54 unionfind.lean rss 13365248 13492224\n",
- "55 unionfind.lean num_alloc 2891 2891\n",
- "56 unionfind.lean num_small_alloc 2956048 2956047\n",
- "57 unionfind.lean num_dealloc 69 69\n",
- "58 unionfind.lean num_small_dealloc 2945627 2945626\n",
- "59 unionfind.lean num_segments 1 1\n",
- "60 unionfind.lean num_pages 769 769\n",
- "61 unionfind.lean num_exports 0 0\n",
- "62 unionfind.lean num_recycled_pages 679 679\n"
+ " File Metric Value_reuse Value_no_reuse\n",
+ "0 binarytrees.lean num_alloc 2.941000e+03 2.941000e+03\n",
+ "1 binarytrees.lean num_dealloc 1.200000e+02 1.200000e+02\n",
+ "2 binarytrees.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "3 binarytrees.lean num_pages 2.165400e+04 2.165400e+04\n",
+ "4 binarytrees.lean num_recycled_pages 6.102060e+05 6.102060e+05\n",
+ "5 binarytrees.lean num_segments 2.600000e+01 2.600000e+01\n",
+ "6 binarytrees.lean num_small_alloc 3.054964e+08 3.054964e+08\n",
+ "7 binarytrees.lean num_small_dealloc 3.054860e+08 3.054860e+08\n",
+ "8 binarytrees.lean rss 1.837105e+08 1.838678e+08\n",
+ "9 const_fold.lean num_alloc 2.941000e+03 2.941000e+03\n",
+ "10 const_fold.lean num_dealloc 1.200000e+02 1.200000e+02\n",
+ "11 const_fold.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "12 const_fold.lean num_pages 2.165400e+04 2.165400e+04\n",
+ "13 const_fold.lean num_recycled_pages 6.102060e+05 6.102060e+05\n",
+ "14 const_fold.lean num_segments 2.600000e+01 2.600000e+01\n",
+ "15 const_fold.lean num_small_alloc 3.054964e+08 3.054964e+08\n",
+ "16 const_fold.lean num_small_dealloc 3.054860e+08 3.054860e+08\n",
+ "17 const_fold.lean rss 1.837629e+08 1.837629e+08\n",
+ "18 deriv.lean num_alloc 2.915000e+03 2.915000e+03\n",
+ "19 deriv.lean num_dealloc 9.100000e+01 9.100000e+01\n",
+ "20 deriv.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "21 deriv.lean num_pages 5.440300e+04 5.440300e+04\n",
+ "22 deriv.lean num_recycled_pages 5.385500e+04 5.385500e+04\n",
+ "23 deriv.lean num_segments 5.400000e+01 5.400000e+01\n",
+ "24 deriv.lean num_small_alloc 2.592746e+07 2.592746e+07\n",
+ "25 deriv.lean num_small_dealloc 2.591703e+07 2.591703e+07\n",
+ "26 deriv.lean rss 4.523557e+08 4.524867e+08\n",
+ "27 liasolver.lean num_alloc 6.507500e+04 6.506500e+04\n",
+ "28 liasolver.lean num_dealloc 3.604600e+04 3.604300e+04\n",
+ "29 liasolver.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "30 liasolver.lean num_pages 1.425000e+03 1.426000e+03\n",
+ "31 liasolver.lean num_recycled_pages 7.583000e+03 7.583000e+03\n",
+ "32 liasolver.lean num_segments 2.000000e+00 2.000000e+00\n",
+ "33 liasolver.lean num_small_alloc 8.261185e+06 8.261166e+06\n",
+ "34 liasolver.lean num_small_dealloc 8.117409e+06 8.117401e+06\n",
+ "35 liasolver.lean rss 5.009019e+07 5.190097e+07\n",
+ "36 qsort.lean num_alloc 1.082080e+06 1.082080e+06\n",
+ "37 qsort.lean num_dealloc 1.079251e+06 1.079251e+06\n",
+ "38 qsort.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "39 qsort.lean num_pages 5.520000e+02 5.520000e+02\n",
+ "40 qsort.lean num_recycled_pages 0.000000e+00 0.000000e+00\n",
+ "41 qsort.lean num_segments 1.000000e+00 1.000000e+00\n",
+ "42 qsort.lean num_small_alloc 3.295303e+07 3.295303e+07\n",
+ "43 qsort.lean num_small_dealloc 3.294259e+07 3.294259e+07\n",
+ "44 qsort.lean rss 1.082636e+07 1.087866e+07\n",
+ "45 rbmap.lean num_alloc 2.868000e+03 2.868000e+03\n",
+ "46 rbmap.lean num_dealloc 5.300000e+01 5.300000e+01\n",
+ "47 rbmap.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "48 rbmap.lean num_pages 1.040500e+04 1.040500e+04\n",
+ "49 rbmap.lean num_recycled_pages 9.852000e+03 9.852000e+03\n",
+ "50 rbmap.lean num_segments 1.100000e+01 1.100000e+01\n",
+ "51 rbmap.lean num_small_alloc 2.011011e+06 2.011011e+06\n",
+ "52 rbmap.lean num_small_dealloc 2.000600e+06 2.000600e+06\n",
+ "53 rbmap.lean rss 9.175036e+07 9.188147e+07\n",
+ "54 rbmap_checkpoint.lean num_alloc 2.874000e+03 2.874000e+03\n",
+ "55 rbmap_checkpoint.lean num_dealloc 5.600000e+01 5.600000e+01\n",
+ "56 rbmap_checkpoint.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "57 rbmap_checkpoint.lean num_pages 2.954800e+05 2.954800e+05\n",
+ "58 rbmap_checkpoint.lean num_recycled_pages 2.949270e+05 2.949270e+05\n",
+ "59 rbmap_checkpoint.lean num_segments 2.890000e+02 2.890000e+02\n",
+ "60 rbmap_checkpoint.lean num_small_alloc 6.068389e+07 6.068389e+07\n",
+ "61 rbmap_checkpoint.lean num_small_dealloc 6.067347e+07 6.067347e+07\n",
+ "62 rbmap_checkpoint.lean rss 2.428109e+09 2.428240e+09\n",
+ "63 rbmap_fbip.lean num_alloc 2.868000e+03 2.868000e+03\n",
+ "64 rbmap_fbip.lean num_dealloc 5.300000e+01 5.300000e+01\n",
+ "65 rbmap_fbip.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "66 rbmap_fbip.lean num_pages 1.347700e+04 1.347700e+04\n",
+ "67 rbmap_fbip.lean num_recycled_pages 6.359300e+04 6.359300e+04\n",
+ "68 rbmap_fbip.lean num_segments 1.400000e+01 1.400000e+01\n",
+ "69 rbmap_fbip.lean num_small_alloc 1.153567e+08 1.153567e+08\n",
+ "70 rbmap_fbip.lean num_small_dealloc 1.153463e+08 1.153463e+08\n",
+ "71 rbmap_fbip.lean rss 1.168900e+08 1.169162e+08\n",
+ "72 unionfind.lean num_alloc 2.896000e+03 2.896000e+03\n",
+ "73 unionfind.lean num_dealloc 7.400000e+01 7.400000e+01\n",
+ "74 unionfind.lean num_exports 0.000000e+00 0.000000e+00\n",
+ "75 unionfind.lean num_pages 9.428000e+03 9.428000e+03\n",
+ "76 unionfind.lean num_recycled_pages 1.825700e+04 1.825700e+04\n",
+ "77 unionfind.lean num_segments 1.000000e+01 1.000000e+01\n",
+ "78 unionfind.lean num_small_alloc 1.524160e+08 1.524160e+08\n",
+ "79 unionfind.lean num_small_dealloc 1.524056e+08 1.524056e+08\n",
+ "80 unionfind.lean rss 1.074610e+08 1.075674e+08\n"
]
}
],
@@ -423,7 +681,7 @@
},
{
"cell_type": "code",
- "execution_count": 43,
+ "execution_count": 15,
"id": "6c6fc924-32ba-4821-842b-a48c0489c96e",
"metadata": {},
"outputs": [
@@ -472,88 +730,110 @@
" \n",
" 0 | \n",
" liasolver.lean | \n",
- " 49152000 | \n",
- " 50987008 | \n",
- " 1835008 | \n",
- " 3.598972 | \n",
- " 0.035990 | \n",
+ " 5.009019e+07 | \n",
+ " 5.190097e+07 | \n",
+ " 1.810774e+06 | \n",
+ " 3.488902 | \n",
+ " 0.034889 | \n",
"
\n",
" \n",
" 1 | \n",
- " rbmap.lean | \n",
- " 14680064 | \n",
- " 14942208 | \n",
- " 262144 | \n",
- " 1.754386 | \n",
- " 0.017544 | \n",
+ " qsort.lean | \n",
+ " 1.082636e+07 | \n",
+ " 1.087866e+07 | \n",
+ " 5.230367e+04 | \n",
+ " 0.480792 | \n",
+ " 0.004808 | \n",
"
\n",
" \n",
" 2 | \n",
- " unionfind.lean | \n",
- " 13365248 | \n",
- " 13492224 | \n",
- " 126976 | \n",
- " 0.941105 | \n",
- " 0.009411 | \n",
+ " rbmap.lean | \n",
+ " 9.175036e+07 | \n",
+ " 9.188147e+07 | \n",
+ " 1.311094e+05 | \n",
+ " 0.142694 | \n",
+ " 0.001427 | \n",
"
\n",
" \n",
" 3 | \n",
- " const_fold.lean | \n",
- " 18087936 | \n",
- " 18219008 | \n",
- " 131072 | \n",
- " 0.719424 | \n",
- " 0.007194 | \n",
+ " unionfind.lean | \n",
+ " 1.074610e+08 | \n",
+ " 1.075674e+08 | \n",
+ " 1.064193e+05 | \n",
+ " 0.098933 | \n",
+ " 0.000989 | \n",
"
\n",
" \n",
" 4 | \n",
- " deriv.lean | \n",
- " 67371008 | \n",
- " 67502080 | \n",
- " 131072 | \n",
- " 0.194175 | \n",
- " 0.001942 | \n",
+ " binarytrees.lean | \n",
+ " 1.837105e+08 | \n",
+ " 1.838678e+08 | \n",
+ " 1.573089e+05 | \n",
+ " 0.085555 | \n",
+ " 0.000856 | \n",
"
\n",
" \n",
" 5 | \n",
- " rbmap_fbip.lean | \n",
- " 10616832 | \n",
- " 10616832 | \n",
- " 0 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
+ " deriv.lean | \n",
+ " 4.523557e+08 | \n",
+ " 4.524867e+08 | \n",
+ " 1.310644e+05 | \n",
+ " 0.028965 | \n",
+ " 0.000290 | \n",
"
\n",
" \n",
" 6 | \n",
- " binarytrees.lean | \n",
- " 37355520 | \n",
- " 37224448 | \n",
- " -131072 | \n",
- " -0.352113 | \n",
- " -0.003521 | \n",
+ " rbmap_fbip.lean | \n",
+ " 1.168900e+08 | \n",
+ " 1.169162e+08 | \n",
+ " 2.619677e+04 | \n",
+ " 0.022406 | \n",
+ " 0.000224 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " rbmap_checkpoint.lean | \n",
+ " 2.428109e+09 | \n",
+ " 2.428240e+09 | \n",
+ " 1.310791e+05 | \n",
+ " 0.005398 | \n",
+ " 0.000054 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " const_fold.lean | \n",
+ " 1.837629e+08 | \n",
+ " 1.837629e+08 | \n",
+ " 0.000000e+00 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
"
\n",
" \n",
"\n",
""
],
"text/plain": [
- " File Value_reuse Value_no_reuse absolute_diff %Decrease \\\n",
- "0 liasolver.lean 49152000 50987008 1835008 3.598972 \n",
- "1 rbmap.lean 14680064 14942208 262144 1.754386 \n",
- "2 unionfind.lean 13365248 13492224 126976 0.941105 \n",
- "3 const_fold.lean 18087936 18219008 131072 0.719424 \n",
- "4 deriv.lean 67371008 67502080 131072 0.194175 \n",
- "5 rbmap_fbip.lean 10616832 10616832 0 0.000000 \n",
- "6 binarytrees.lean 37355520 37224448 -131072 -0.352113 \n",
+ " File Value_reuse Value_no_reuse absolute_diff \\\n",
+ "0 liasolver.lean 5.009019e+07 5.190097e+07 1.810774e+06 \n",
+ "1 qsort.lean 1.082636e+07 1.087866e+07 5.230367e+04 \n",
+ "2 rbmap.lean 9.175036e+07 9.188147e+07 1.311094e+05 \n",
+ "3 unionfind.lean 1.074610e+08 1.075674e+08 1.064193e+05 \n",
+ "4 binarytrees.lean 1.837105e+08 1.838678e+08 1.573089e+05 \n",
+ "5 deriv.lean 4.523557e+08 4.524867e+08 1.310644e+05 \n",
+ "6 rbmap_fbip.lean 1.168900e+08 1.169162e+08 2.619677e+04 \n",
+ "7 rbmap_checkpoint.lean 2.428109e+09 2.428240e+09 1.310791e+05 \n",
+ "8 const_fold.lean 1.837629e+08 1.837629e+08 0.000000e+00 \n",
"\n",
- " xDecrease \n",
- "0 0.035990 \n",
- "1 0.017544 \n",
- "2 0.009411 \n",
- "3 0.007194 \n",
- "4 0.001942 \n",
- "5 0.000000 \n",
- "6 -0.003521 "
+ " %Decrease xDecrease \n",
+ "0 3.488902 0.034889 \n",
+ "1 0.480792 0.004808 \n",
+ "2 0.142694 0.001427 \n",
+ "3 0.098933 0.000989 \n",
+ "4 0.085555 0.000856 \n",
+ "5 0.028965 0.000290 \n",
+ "6 0.022406 0.000224 \n",
+ "7 0.005398 0.000054 \n",
+ "8 0.000000 0.000000 "
]
},
"metadata": {},
@@ -561,7 +841,7 @@
},
{
"data": {
- "image/png": "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uXIaPHiwUqRIocmTJ6tWrVpas2aNKlSoIEk6duyYKlSooHPnzqlr164qXLiwjh49qpkzZ+rixYtKkyaNe5hPP/20goODNWjQIEVFRUm6umHfrl071atXT8OGDdPFixc1btw4Va1aVVu3bnX/jZYsWaLff/9dHTp0ULZs2bRr1y5NnDhRu3bt0oYNG9zht3v37po5c6Z69eqlokWL6syZM1q7dq1++eUXlS1b9qbG7e+qV6+uTz/9VE899ZTq1q2r0NDQ69okNI6vvfaahgwZojp16qhHjx7avXu3xo0bpx9//FHff/+9UqdO7e7/7Nmzaty4sVq3bq2WLVtq3Lhxat26tT7//HP17dtX3bt31xNPPKERI0boscce0+HDhxUQEPCP037o0KFyuVx68cUXdfLkSY0ePVp16tTRtm3blDZtWknSjBkzdPHiRfXo0UOZM2fWxo0bNWbMGB05ckQzZsxwD+ufloWbma43o3fv3rrnnns0ePBgHThwQKNHj1avXr305Zdfutv8m+89ceKEqlSpoosXL+qZZ55R5syZNXXqVD3yyCOaOXOmmjdv7tH+7bffVooUKfTcc88pIiJCw4cP15NPPqkffvjhpsctoVoqVarkDn3BwcH69ttv1alTJ0VGRqpv376SpMjISH300Udq06aNunTpovPnz+vjjz9WvXr1tHHjRpUuXdpjuNOmTdP58+fVrVs3uVwuDR8+XI8++qh+//13j/nw/PnzevHFF907am7Wnj179Pjjj6t79+5q166dJk+erJYtW2rRokWqW7euJOnixYuqUaOGjh49qm7duilPnjxat26dBg4cqOPHj193g8Kk1L59+3ZVq1ZNqVOnVteuXZUvXz7t27dP8+fPv27nQatWrZQ/f36FhYVpy5Yt+uijjxQSEqJhw4Z5tFuzZo2+/vpr9ezZU5IUFhamxo0b64UXXtDYsWP19NNP6+zZsxo+fLg6duzosT5N6jIlSVeuXFG9evVUtWpVvfPOO0qXLl2Cf9sFCxboscce0+OPP65JkyYlevQ5JiZG9erVU3R0tHr37q1s2bLp6NGjWrBggc6dO6egoKB/mIo3Nnr0aPXu3VsZMmRw79TImjWrpJuftgDuMAMALxo8eLBJsjZt2nh0P3v2rEmyESNGJNrvnDlzTJL9+OOPN/yOdu3amSTbv3//DdtFRkZa1apVTZJJsmLFitmRI0fs8uXLVrRoUXv77beTPF7xRo8ebZLsq6++cneLioqyggULmiRbsWKFmZnFxcVZoUKFrF69ehYXF+due/HiRcufP7/VrVvX3S00NNRSpEiR4HjH9zt58mSTZFWrVrUrV664Pz9//rxlzJjRunTp4tFfeHi4BQUFeXS/ePHidcP/4osvTJKtXr3a3S0oKMh69uyZ6N/gZsYtMZKu+47ExvHkyZOWJk0ae/jhhy02Ntbd/YMPPjBJNmnSJHe3GjVqmCSbNm2au9uvv/5qkixFihS2YcMGd/fFixebJJs8efINa12xYoVJspw5c1pkZKS7+1dffWWS7L333vP4G/xdWFiYuVwuO3jwoJklbVm4mekav8xdK2/evNauXTv3+/i/bZ06dTymWb9+/SxlypR27ty5m/7ehPTt29ck2Zo1azzGJX/+/JYvXz739Iv/mxYpUsSio6Pdbd977z2TZDt27Ljh98SPz43WFZ06dbLs2bPb6dOnPbq3bt3agoKC3NPqypUrHjWYXZ1GWbNmtY4dO7q77d+/3yRZ5syZ7Y8//nB3nzdvnkmy+fPnewzjueees/z589ulS5fM7Oo0adSo0Q3HK17evHlNks2aNcvdLSIiwrJnz25lypRxd3vjjTcsffr09ttvv3n0P2DAAEuZMqUdOnTopmuvXr26BQQEuOfXeNfON/Hz3LV/HzOz5s2bW+bMmT26STI/Pz+P9fWECRNMkmXLls1jmRo4cOB16/akLFNmf/0uDBgw4Lr2NWrUsGLFipmZ2axZsyx16tTWpUsXj/VJQrZu3WqSbMaMGYm2if/bJrQekWSDBw92v4+fb68dv2LFilmNGjWu6zep0xaAd3B6OYD/hO7du3u8T5s2rdKkSaOVK1fq7NmzCfYTf43vggULbnjq+JQpU2Rm/3ikLyAgQKtWrdKuXbu0bds2bdu2TTlz5tTYsWMVHR2tfv366eeff9ZDDz2knDlzqm3btoqMjLzhML/55htlz55djz32mLtbunTp1LVrV49227Zt0549e/TEE0/ozJkzOn36tE6fPq2oqCjVrl1bq1evVlxcnOLi4jR37lw1adIkwdPc//4oqC5dungclVmyZInOnTunNm3auL/j9OnTSpkypSpWrOhximz80VhJunTpkk6fPq1KlSpJksep4xkzZtQPP/ygY8eOJfg3SOq43aq/j+PSpUsVExOjvn37etwcrEuXLgoMDLzu1OUMGTKodevW7vf333+/MmbMqCJFiqhixYru7vH///3335NUV2hoqMcR8ccee0zZs2fXN9984+527d84KipKp0+fVpUqVWRm2rp1q7vNPy0LNzNdb0bXrl095qlq1aopNjZWBw8evC3f+80336hChQruS0qkq9Oja9euOnDggH7++WeP9h06dPA4k6NatWqSkj5NEmNmmjVrlpo0aSIz8xiXevXqKSIiwj3Pp0yZ0l1DXFyc/vjjD125ckXly5e/7pIKSXr88cc9LltJqObffvtN7733nkaMGHHL19fnyJHD48yAwMBAhYaGauvWrQoPD5d09ShwtWrVdM8993iMY506dRQbG3vd/Sr+qfZTp05p9erV6tixo/LkyePR79/XRdL16/lq1arpzJkz161Ha9eu7bG+jl/2WrRo4bFMJbRMJmWZulaPHj2u6xbviy++0OOPP65u3bppwoQJ/3izwfgj2YsXL77utHmn3ey0BXBncXo5gP+E/Pnze7z38/PTsGHD9Oyzzypr1qyqVKmSGjdurNDQUPeplzVq1FCLFi00ZMgQjRo1SjVr1lSzZs30xBNP3PKGa4oUKVS0aFH3+9OnT+u1117TpEmT3I/wady4sUaMGKH+/furd+/emjp1aqLDO3jwoAoWLHjdBuj999/v8X7Pnj2SpHbt2iU6rIiICMXExCgyMjLJz5D9+981/ntq1aqVYPvAwED3///44w8NGTJE06dP18mTJ6+rJd7w4cPVrl075c6dW+XKlVPDhg0VGhqqe++996bG7dqN+5vx93GMD4R//xunSZNG9957r/vzeLly5bpu+gQFBSl37tzXdZOUaPD9u0KFCnm8d7lcKliwoMc1qIcOHdKgQYP09ddfXzfc+L9xUpaFm5muN+PvQSp+GsXX+m+/9+DBgx47NuIVKVLE/fm18/o/1XOrTp06pXPnzmnixImaOHFigm2uXQamTp2qkSNHXneviL/Pi0mtuU+fPqpSpYpatGhxy+OQ0Hrmvvvuk3T1OuJs2bJpz5492r59u4KDgxMcxt+X83+qPT7sJnV9dKPhXTuv/L1d/LKXlGUyKctUvFSpUnncB+Ja+/fvV9u2bdWyZUuNGTPmH8dNujr9+/fvr3fffVeff/65qlWrpkceeURt27b916eW/5ObnbYA7ixCN4D/hGuPTsTr27evmjRporlz52rx4sV69dVXFRYWpuXLl6tMmTJyuVyaOXOmNmzYoPnz52vx4sXq2LGjRo4cqQ0bNihDhgz/uq5XX31VZcuWVbNmzbRmzRodP35cw4cPl7+/v4YMGaL69etr8uTJ//pxS/FHekeMGHHdNaHxMmTIoD/++OOmhvv3v2v893z66acJXjeaKtVfPwutWrXSunXr9Pzzz6t06dLKkCGD4uLiVL9+fY8j061atVK1atU0Z84cfffddxoxYoSGDRum2bNnq0GDBkket1uV0LxzMxK7PjOx7vb/9xz4t2JjY1W3bl398ccfevHFF1W4cGGlT59eR48eVfv27T3+xv+0LNzMdL0Z//Q3cOp7b7WeWxU/Hm3btk1051DJkiUlSZ999pnat2+vZs2a6fnnn1dISIhSpkypsLAw7du376ZrXr58uRYtWqTZs2d77JC5cuWK/vzzTx04cECZMmW65R0n14qLi1PdunX1wgsvJPh5fEhPau03K6nDu9Vl8maWKenqDq3E1t3Zs2d3n5myadOmJN9Ac+TIkWrfvr3mzZun7777Ts8884zCwsK0YcOGBHfwxYuNjU3S8BNzs9MWwJ1F6Abwn1agQAE9++yzevbZZ7Vnzx6VLl1aI0eO1GeffeZuU6lSJVWqVElDhw7VtGnT9OSTT2r69Onq3Lnzv/run376SZMmTdLmzZslXb2B2T333ON+fm6OHDkUExOjU6dOuW9m83d58+bVzp07ZWYeG1u7d+++bjylq0cG69Spk2hNwcHBCgwM1M6dO29pnOK/JyQk5Ibfc/bsWS1btkxDhgzRoEGD3N3jj2z+Xfbs2fX000/r6aef1smTJ1W2bFkNHTpUDRo0SPK43S558+aVdPVvHH+0Xbp6k6P9+/ffkRqk6/9WZqa9e/e6w9uOHTv022+/aerUqR43iFuyZEmCw7vRspDU6Xq7/dvvzZs373XLgnT1btjxn98JwcHBCggIUGxs7D+Ox8yZM3Xvvfdq9uzZHsv04MGDb+m7Dx06JEl69NFHr/vs6NGjyp8/v0aNGuW+kVti9u7de916Jv7Gj/GnahcoUEAXLly4bfNI/PJ1q+uj2+1ml6kb8ff314IFC1SrVi3Vr19fq1atUrFixZLUb4kSJVSiRAm98sorWrdunR588EGNHz9eb775pvvo/t+fpPD3M3ASk1hov93TFsDtxTXdAP6TLl68qEuXLnl0K1CggAICAtyP2zp79ux1R0jij6Re+0iupD4y7O/69Omjzp07u0+dzJo1q06dOuU+2vzLL78oVapUypIlS6LDaNiwoY4dO+Z+BFX8uP39FNZy5cqpQIECeuedd3ThwoXrhhP/mKYUKVKoWbNmmj9/vjZt2nRdu386AlWvXj0FBgbqrbfeSvDvEf898UeU/j68v98BNzY29rpTNkNCQpQjRw73NEjquN0uderUUZo0afT+++971P/xxx8rIiJCjRo1uq3fl5hPPvlE58+fd7+fOXOmjh8/rgYNGkhK+G9sZnrvvfc8hpOUZSGp0/V2+7ff27BhQ23cuFHr1693d4uKitLEiROVL18+j0s9nJQyZUq1aNFCs2bNSjBAXjseCU23H374wWMcbkatWrU0Z86c617BwcEqX7685syZoyZNmvzjcI4dO6Y5c+a430dGRuqTTz5R6dKl3WchtGrVSuvXr9fixYuv6//cuXM3fBRWQoKDg1W9enVNmjTJvfMg3u06I+RmJHWZSqqgoCAtXrzY/RjEhM5kuFZkZOR1f8MSJUooRYoU7mU1MDBQWbJkue4a67FjxyappvTp018X2KXbP20B3F4c6Qbwn/Tbb7+pdu3aatWqlYoWLapUqVJpzpw5OnHihPumV1OnTtXYsWPVvHlzFShQQOfPn9f//vc/BQYGqmHDhu5hJfWRYdeaMWOGtm/frlmzZrm7Va5cWVmzZlXLli316KOP6p133tGjjz6a6CmP0tWbd33wwQcKDQ3V5s2blT17dn366afXPZomRYoU+uijj9SgQQMVK1ZMHTp0UM6cOXX06FGtWLFCgYGBmj9/viTprbfe0nfffacaNWqoa9euKlKkiI4fP64ZM2Zo7dq17hvMJSQwMFDjxo3TU089pbJly6p169YKDg7WoUOHtHDhQj344IP64IMPFBgYqOrVq2v48OG6fPmycubMqe+++0779+/3GN758+eVK1cuPfbYYypVqpQyZMigpUuX6scff9TIkSNvetxuh+DgYA0cONB9+v8jjzyi3bt3a+zYsXrggQfUtm3b2/ZdN5IpUyZVrVpVHTp00IkTJzR69GgVLFhQXbp0kSQVLlxYBQoU0HPPPaejR48qMDBQs2bNuu461KQsC0mdrrfbv/3eAQMG6IsvvlCDBg30zDPPKFOmTO5lddasWf/6so2/mzRpkhYtWnRd9z59+ujtt9/WihUrVLFiRXXp0kVFixbVH3/8oS1btmjp0qXunW2NGzfW7Nmz1bx5czVq1Ej79+/X+PHjVbRo0QR3Kv2TPHnyXHcNs3T1koKsWbOqWbNmSRrOfffdp06dOunHH39U1qxZNWnSJJ04cUKTJ092t3n++ef19ddfq3Hjxmrfvr3KlSunqKgo7dixQzNnztSBAwduuBMxIe+//76qVq2qsmXLqmvXrsqfP78OHDighQsXatu2bTc1rH8rqcvUzciSJYuWLFmiqlWrqk6dOlq7dq1y5syZYNvly5erV69eatmype677z5duXJFn376qXunTrzOnTvr7bffVufOnVW+fHmtXr06yY+jLFeunMaNG6c333xTBQsWVEhIiGrVquXItAVwG92x+6QDQALiHyVz6tQpj+6nT5+2nj17WuHChS19+vQWFBRkFStW9Hj01pYtW6xNmzaWJ08e8/Pzs5CQEGvcuLFt2rTJY1hJfWRYvIsXL1revHnt/fffv+6zH3/80cqWLWsBAQHWpEkTO3ny5D8O7+DBg/bII49YunTpLEuWLNanTx9btGiRxyPD4m3dutUeffRRy5w5s/n5+VnevHmtVatWtmzZsuuGGRoaasHBwebn52f33nuv9ezZ0/0oo396RNKKFSusXr16FhQUZP7+/lagQAFr3769x9/uyJEj1rx5c8uYMaMFBQVZy5Yt7dixYx6PtYmOjrbnn3/eSpUqZQEBAZY+fXorVaqUjR079rrvTOq4JUQ3eGRYYuP4wQcfWOHChS116tSWNWtW69Gjh509e9ajzbWPBrpWYo9rSqiOv4t/vNUXX3xhAwcOtJCQEEubNq01atTouscq/fzzz1anTh3LkCGDZcmSxbp06WI//fSTxyOFkrIsXPvd/zRdb+aRYX//28aP29/n26R8b2L27dtnjz32mGXMmNH8/f2tQoUKtmDBggS/9++PYrrR45euFT8+ib0OHz5sZmYnTpywnj17Wu7cuS116tSWLVs2q127tk2cONE9rLi4OHvrrbcsb9685ufnZ2XKlLEFCxZYu3btLG/evNfVltCj3q5dhhJzs48Ma9SokS1evNhKlixpfn5+Vrhw4QQfXXX+/HkbOHCgFSxY0NKkSWNZsmSxKlWq2DvvvGMxMTG3VPvOnTvd6wp/f3+7//777dVXX3V/nth6PqFHYiW0jCVWT0LzRVKWKbOrvwvp06dP8O+Z0Hph7969lj17ditSpMh14xHv999/t44dO1qBAgXM39/fMmXKZA899JAtXbrUo93FixetU6dOFhQUZAEBAdaqVSs7efJkkh4ZFh4ebo0aNbKAgACT5PH4sKRMWwDe4TLzwvk/AAAAAADcBbimGwAAAAAAhxC6AQAAAABwCKEbAAAAAACHELoBAAAAAHAIoRsAAAAAAIcQugEAAAAAcAih+x+YmSIjI8WT1QAAAAAAN4vQ/Q/Onz+voKAgnT9/3tulAAAAAAB8DKEbAAAAAACHELoBAAAAAHAIoRsAAAAAAIcQugEAAAAAcAihGwAAAAAAhxC6AQAAAABwCKEbAAAAAACHELoBAAAAAHAIoRsAAAAAAIcQugEAAAAAcAihGwAAAAAAhxC6AQAAAABwCKEbAAAAAO5iNWvWVN++fb1dRrKVytsFAAAAAMB/WZMxa+/o983vXTXJbZs0aaLLly9r0aJF1322Zs0aVa9eXT/99JNKlix5O0vETeBINwAAAAD4qE6dOmnJkiU6cuTIdZ9NnjxZ5cuX/88H7piYGG+X4ChCNwAAAAD4qMaNGys4OFhTpkzx6H7hwgXNmDFDzZo1U5s2bZQzZ06lS5dOJUqU0BdffHHDYbpcLs2dO9ejW8aMGT2+4/Dhw2rVqpUyZsyoTJkyqWnTpjpw4ECSam7fvr2aNWumoUOHKkeOHLr//vuTNMyEToNv1qyZ2rdv734/duxYFSpUSP7+/sqaNasee+wx92dxcXEKCwtT/vz5lTZtWpUqVUozZ85MUs3/BqEbAAAAAHxUqlSpFBoaqilTpsjM3N1nzJih2NhYtW3bVuXKldPChQu1c+dOde3aVU899ZQ2btx4y995+fJl1atXTwEBAVqzZo2+//57ZciQQfXr10/yUetly5Zp9+7dWrJkiRYsWHBbhrlp0yY988wzev3117V7924tWrRI1atXd38eFhamTz75ROPHj9euXbvUr18/tW3bVqtWrbqlv0NScU03AAAAAPiwjh07asSIEVq1apVq1qwp6eqp5S1atFDevHn13HPPudv27t1bixcv1ldffaUKFSrc0vd9+eWXiouL00cffSSXy+X+vowZM2rlypV6+OGH/3EY6dOn10cffaQ0adJIkj777LN/PcxDhw4pffr0aty4sQICApQ3b16VKVNGkhQdHa233npLS5cuVeXKlSVJ9957r9auXasJEyaoRo0at/S3SApCNwAAAAD4sMKFC6tKlSqaNGmSatasqb1792rNmjV6/fXXFRsbq7feektfffWVjh49qpiYGEVHRytdunS3/H0//fST9u7dq4CAAI/uly5d0r59+5I0jBIlSrgD9+0aZt26dZU3b17de++9ql+/vurXr6/mzZsrXbp02rt3ry5evKi6det69BMTE+MO5k4hdAMAAACAj+vUqZN69+6tDz/8UJMnT1aBAgVUo0YNDRs2TO+9955Gjx6tEiVKKH369Orbt+8NT9l2uVwep6pLV08pj3fhwgWVK1dOn3/++XX9BgcHJ6ne9OnTe7xPyjBTpEhxw7oCAgK0ZcsWrVy5Ut99950GDRqk1157TT/++KMuXLggSVq4cKFy5szpMQw/P78k1XyrCN0AAAAA4ONatWqlPn36aNq0afrkk0/Uo0cPuVwuff/992ratKnatm0r6erNxH777TcVLVo00WEFBwfr+PHj7vd79uzRxYsX3e/Lli2rL7/8UiEhIQoMDLwt9SdlmH+vKzY2Vjt37tRDDz3k7pYqVSrVqVNHderU0eDBg5UxY0YtX75cdevWlZ+fnw4dOuToqeQJ4UZqAAAAAODjMmTIoMcff1wDBw7U8ePH3Xf0LlSokJYsWaJ169bpl19+Ubdu3XTixIkbDqtWrVr64IMPtHXrVm3atEndu3dX6tSp3Z8/+eSTypIli5o2bao1a9Zo//79WrlypZ555pkEH12WFEkZZq1atbRw4UItXLhQv/76q3r06KFz5865h7FgwQK9//772rZtmw4ePKhPPvlEcXFxuv/++xUQEKDnnntO/fr109SpU7Vv3z5t2bJFY8aM0dSpU2+p5qQidAMAAABAMtCpUyedPXtW9erVU44cOSRJr7zyisqWLat69eqpZs2aypYtm5o1a3bD4YwcOVK5c+dWtWrV9MQTT+i5557zuAY8Xbp0Wr16tfLkyaNHH31URYoUUadOnXTp0qVbPvKdlGF27NhR7dq1U2hoqGrUqKF7773X4yh3xowZNXv2bNWqVUtFihTR+PHj9cUXX6hYsWKSpDfeeEOvvvqqwsLCVKRIEdWvX18LFy5U/vz5b6nm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x47eLssnEbqTsWtXnj/++KM6duyoCRMmKDg4WJ9//rnefPNNvf/+++rcubPSpEnj5WpxJ3z77bdavny5ihQp4l5pzpo1SxMnTpSZafTo0SpatCh7upO5jRs36vz581q3bp1effVVSVJ4eLieeOIJ7d+/X0uWLFHBggW9XCXulHnz5umJJ55QqVKlFB4ergsXLmjRokUqW7ast0uDw9hOQLxr54WXXnpJ48aNU9GiRfXbb7+pXr16evrpp1WlShUvV4k7IX5eOHXqlKpUqaKBAweqYMGCWrNmjV599VUNHz5czz33nLfL9DmpvF0AnBO/8hw5cqTOnTunBg0auFeYr732mtKkSaPevXvL5XKpU6dO/KAmc5s2bdJLL72kQ4cO6Z133nF3b9GihVwulyZOnKj+/ftr2LBhKlWqlBcrhZMuXLigDh066JdfflGnTp3c3bNly6Zp06apTZs2atiwoebPn89pZMlY/EbVpUuXtG7dOn3wwQdq3769jh49qn79+qlu3br69ttvVaFCBW+XCgexnYB48fPCli1btGfPHn377beqVKmS5s2bp9GjR2vEiBF67rnn9OCDD3q5UjjN5XLpu+++065du9S4cWO1a9dOKVOmVPXq1RUUFKQ+ffpIEsH7ZhmSvfbt25vL5bJGjRpZTEyMx2dvvfWWpUmTxoYPH26XL1/2UoW4U8aNG2dFihSxatWq2aFDhzw+mz17tpUtW9b69u3rpepwp2zatMkeeughu+++++zs2bNmZhYXF2dmZuHh4Va6dGkrVarUdesLJC8bNmywHDly2EMPPWTff/+9u/u5c+esZcuWlilTJtu4caMXK8SdwnYCzMymTp1qjRs3toYNG9rFixfd3efPn281a9a05s2be6wrkDxduXLFXnjhBXO5XFa2bFm7cuWKx+djxowxPz8/e/31171UoW8idCcz8RvO1/7/ypUr9uKLL1qaNGls1qxZ1/UzYMAAq1q1qke/8G2xsbGJfjZ+/HirUqWKPfXUU9cF71WrVt2wX/iehJbry5cv208//WTFihWzsmXL2oULFzzanjx50g4cOHBH68Sdt2fPHqtTp46lSJHCVq1aZWZ/rTsiIiKsTZs25nK5bNOmTd4sE7cZ2wlIzAcffGD58uWzHDly2E8//eTx2fz586127dpWvXp12759u5cqhJOuXb5Pnz5tb775pqVIkcI+++yz69oOHz7cMmXKZGfOnLmTJfo0rulORq69DvfKlSuKjo5W+vTp3Z/36NFDn3zyib744gs98sgjHv3a/59qaNxEy+ddOx/MmjVLu3btUnBwsEqWLOk+LezDDz/U9OnTlS9fPoWFhSlXrlyJDgO+K3553rBhg9atW6eoqCg1btxYZcqUkSTt2LFDrVu3lr+/v1avXq306dOzDriLmJn27t2rbt26ad++fVq3bp1y5szpngciIiLUt29fDRgwgEsNkgm2ExAvsek4bdo0DR06VBUrVtSzzz6rYsWKuT+bOXOmVq1apffee49thGTErnlk6LXT9dy5cwoLC9M777yjadOm6fHHH/fo7+zZs7rnnnvudLk+i9CdTFy7oIwaNUorVqzQsWPH1Lx5c/Xu3VuBgYGSpO7du+uzzz7T9OnT1bhxY49h8EPq+66dhi+++KI+++wzlShRQtHR0bp48aL69+/vXml++OGHmjFjhjJkyKBJkyYpJCTEm6XDIbNnz1aPHj1UuHBhpU2bVkuXLtX06dP12GOPSboavJ966ilFRkZq586dSpcunZcrhhPi1w3Hjh1TypQpFR0drTx58sjMtH//frVr105HjhzR2rVrlTNnTvdvCr8LyQfbCYh37bxw7NgxRUdHK0eOHPLz85Mk/e9//9P48eNVtmxZ9evXT0WLFr3hMOC74pfpZcuW6bPPPtPFixd133336Y033pB09T4wr7/+ukaOHKnp06erZcuWXq7Yh93R4+pw3MCBAy179uw2ePBg+/jjjy1lypTWq1cv27dvn7tNjx49zOVy2dq1a71YKZwUf4rYunXrzOzq9Tdp0qSxAgUK2KRJk9zt3n77bevRowenlCdT33//vYWEhNj//vc/MzM7dOiQuVwuS5s2rbubmdmWLVusUqVK9vvvv3urVDgo/pTBr7/+2kqXLm1FihSxnDlz2tSpU91t9u3bZ1WrVrVChQpdd9kJkhe2E+5u1/7eDxo0yCpWrGhp06a1p556ymOdMGHCBCtXrpx169bNtm3b5o1ScYfMmTPHgoKCrH379jZkyBDLkCGDtW/f3k6dOmVmZufPn7cBAwaYy+Wy2bNne7la30XoTkbmzJljBQsWtPXr15vZ1Q3ulClTWqpUqaxly5YeG9TcECX5unjxonXp0sXeffddMzObN2+eBQUF2SuvvGIt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vaWff/6ZwJ2MxE/jgQMHqlatWqpRo4YKFy6sSZMm6dSpU5KkVKlS6Y8//mA7IRm7NkStXLlSX331lXbu3KmTJ0+621y5ckUul0uXLl1SdHS0ypUrp6+++krDhg3zVtlwQPwynTlzZhUvXlyHDh1S586dtX37dve2RPy88s477+jKlStKmzatmjRpQuD2ljt/RjsSsnTpUsuRI4dt2LDBzK5el3HmzBnbvHmzHT161MyuPg7I5XLZM888481S4aDPPvvMMmbMaNu2bbMzZ85YTEyMNWnSxPLly2dTp061qKgoMzP79ddf7fnnn+d6rGTi3XfftcGDB7vfb9y40T3N9+zZ4+7eunVrK168uPv98ePHLSwszHbt2nUny4UXfP/99xYYGGgpUqRw/05c69lnn3U/lxvJR/wz1s3MFi5caMHBwTZ//nxbtWqVvfjiixYUFGRvvPGGRUZGmhnbCXeL559/3jJmzGi5c+e24OBga9y4sS1fvtz9+blz56xr1642evRo93PbzbiGO7n58ssvLUeOHNa9e3dr2LCh5cyZ08qVK2ebNm0ys6tZ4tdff7XMmTNb1apV3d3gHYTu/4gZM2ZY2bJl7cqVK7Z582Z79dVXrWDBghYSEmKPP/647d+/38zMtm3bxkozmfjwww9t8+bNHt3effdde+CBBywqKspjY+vhhx+2HDly2JQpU+zs2bMe/TA/+LZLly7Z4MGDPW6Stnv3buvdu7flyZPHHnroIXvllVcsNjbW9u7da1WqVLEPP/zQ3fba+QTJ2w8//GCZM2e2pk2b2rlz59zdL168aMOHD7fg4GALDw9noyoZ+vjjj23EiBE2YsQIj+4jR460tGnT2rfffmtmV38P2E5Ifq5dplesWGHFihWz1atX24ULF2zOnDnWokULq1Spkq1du9bMrj6jvXz58vbkk0+yPkimjh49aoULF7aRI0e6u82dO9caNWpk5cqVs23btpmZWXR0tC1fvtz27t3rrVLx/wjdXpDQRvK2bdvM5XLZww8/bJkzZ7b27dvbp59+ajNnzrTMmTO7V6Tx+EH1bStXrrTcuXNbp06dbPv27e7ub7/9thUsWND9Pv7I9oYNGyxNmjSWO3duW7hwoZmxtzI5iV8nrF271l5++WX38r1u3Tp79913LSQkxB588EHr3r271a1b17p37+7NcuGw+GX7119/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",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAMWCAYAAADs4eXxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAADCtElEQVR4nOzdd3iN9//H8ddJkMRIrARRm9pbBaWoEaNGW7PDrCqtVlVbOowOalPV6jC7qFKqWnuvKkppUdTelIQgSN6/P/xyvjkSGuR2jOfjunJxPudz7vt97vvc43Xu+9y3y8xMAAAAAAAg2fl4uwAAAAAAAO5WhG4AAAAAABxC6AYAAAAAwCGEbgAAAAAAHELoBgAAAADAIYRuAAAAAAAcQugGAAAAAMAhhG4AAAAAABxC6AYAAAAAwCGEbgB3FJfLpRdeeOGWjrNPnz5yuVy3dJw3KrFac+fOrTZt2ni0bd++XbVr11ZQUJBcLpemT58uSfrtt99UqVIlpUmTRi6XSxs2bLg1hd+m7qTpETfvjx8/7u1SElWtWjVVq1bN/Xj37t1yuVwaP36812rCjYubf4MHD/Z2KVdVrVo1FStWzNtlJJk3tm+JadOmjXLnzu3tMoC7CqEbABy0cuVK9enTR6dOnfJ2KR5at26tTZs26f3339eXX36pcuXK6eLFi2ratKn+/fdfDRs2TF9++aVy5crl7VK9humBm9WmTRulTZvW22UkycWLF1WkSJHbPkjj1jt79qz69OmjxYsXe7sU4I6VwtsFAMDdbOXKlerbt6/atGmj9OnTe6WGbdu2ycfnf9+xnjt3TqtWrdKbb77pcVRl69at2rNnjz7//HM988wz3ij1trJz506mh4Ny5cqlc+fOKWXKlN4uBZJGjhypvXv3ersM3AY+//xzxcbGuh+fPXtWffv2lSSPs1UAJB1HugG4RUVFebsEOMDPz88j2Bw7dkySEnwJcPTo0UTbb8ad/Jm6nulxJ79Pb3G5XPL395evr6+3S7nnHT16VO+8845ef/11b5dyzzEznTt3zttleEiZMqX8/Py8XQZwVyF0A/eouN9//vXXX3riiSeUIUMGVa5cWZJ0+PBhtW3bVvfdd5/8/PyULVs2NWrUSLt373a/fu3atQoPD1fmzJkVEBCgPHnyqF27dh7jOHTokLZu3aqLFy/+Zz2DBw9WpUqVlClTJgUEBKhs2bL6/vvvr9r/66+/VsGCBeXv76+yZctq6dKlHs+fPn1aXbt2Ve7cueXn56eQkBDVqlVL69ev9+g3ZcoUlS1bVgEBAcqcObOeeuopHThw4Jq1Xuu3qC6XS3369JF0eRq/+uqrkqQ8efLI5XLJ5XJ5TMevvvrKPf6MGTOqRYsW2rdv3zXHH2f58uV64IEH5O/vr3z58unTTz9NtF/833T36dPHfYr0q6++KpfL5X6+atWqkqSmTZvK5XJ5HNHYunWrmjRpoowZM8rf31/lypXTjz/+6DGe8ePHy+VyacmSJercubNCQkJ03333uZ//5ZdfVKVKFaVJk0bp0qVT/fr19eeff3oMI+503AMHDqhx48ZKmzatgoOD1b17d8XExHj0jY2N1YgRI1S8eHH5+/srODhYderU0dq1az363cg0vtb0iKtx586dqlevntKlS6cnn3xS0uXw/corryhHjhzy8/NTwYIFNXjwYJmZx/Djfrs5ZcoUFSlSRAEBAapYsaI2bdokSfr000+VP39++fv7q1q1ah6fmf9y/PhxNWvWTIGBgcqUKZNeeuklnT9/3qPPuHHj9PDDDyskJER+fn4qUqSIPvnkkwTDSspyHhsbq+HDh6to0aLy9/dXlixZ1LFjR508efKadSa2HF3v/L+R8cZZuHCh+/OYPn16NWrUSFu2bPHoE7ee3LFjh/tslaCgILVt21Znz55N0niS4tdff1WdOnUUFBSk1KlTq2rVqlqxYoVHnz179qhz584qWLCgAgIClClTJjVt2jTBZyNuOVyxYoW6deum4OBgpUmTRo8++qj7C7cr9ejRQwULFtRTTz11Q/UPGzZMuXLlUkBAgKpWrarNmzcn6HM965Ck1v7LL7+oatWqSpcunQIDA/XAAw/om2++SdDvr7/+UvXq1ZU6dWplz55dAwcO9Hh+8eLFcrlc+u6779S3b19lz55d6dKlU5MmTRQREaHo6Gh17dpVISEhSps2rdq2bavo6GiPYSR1mcqdO7ceeeQRzZkzR+XKlVNAQMBV192S9N5778nHx0cjR468ah9JmjdvnipXrqz06dMrbdq0KliwoN54440E0/bKz0vce49/6nj833Tv3r1bwcHBkqS+ffu6t2Nx2zkpafMWuNdxejlwj2vatKkKFCigfv36uYPB448/rj///FNdunRR7ty5dfToUc2bN0979+51P65du7aCg4PVo0cPpU+fXrt379a0adM8ht2zZ09NmDBBu3bt+s+LsowYMUINGzbUk08+qQsXLmjSpElq2rSpfvrpJ9WvX9+j75IlSzR58mS9+OKL8vPz08cff6w6depozZo17ovmPPfcc/r+++/1wgsvqEiRIjpx4oSWL1+uLVu2qEyZMpIu74S0bdtWDzzwgPr3768jR45oxIgRWrFihX7//febPuL72GOP6e+//9a3336rYcOGKXPmzJLk3oF5//339fbbb6tZs2Z65plndOzYMY0cOVIPPfTQf45/06ZN7nnQp08fXbp0Sb1791aWLFn+s6b06dPr5ZdfVsuWLVWvXj2lTZtWWbJkUfbs2dWvXz+9+OKLeuCBB9zD+vPPP/Xggw8qe/bs6tGjh9KkSaPvvvtOjRs31tSpU/Xoo496jKNz584KDg5Wr1693EeAv/zyS7Vu3Vrh4eEaMGCAzp49q08++USVK1fW77//7vH5iImJUXh4uMLCwjR48GDNnz9fQ4YMUb58+dSpUyd3v/bt22v8+PGqW7eunnnmGV26dEnLli3T6tWrVa5cuZuaxh07drzq9JCkS5cuKTw8XJUrV9bgwYOVOnVqmZkaNmyoRYsWqX379ipVqpTmzJmjV199VQcOHNCwYcM8xrFs2TL9+OOPev755yVJ/fv31yOPPKLXXntNH3/8sTp37qyTJ09q4MCBateunRYuXHjNeRunWbNmyp07t/r376/Vq1frww8/1MmTJzVx4kR3n08++URFixZVw4YNlSJFCs2cOVOdO3dWbGysu56kLucdO3Z0L0svvviidu3apY8++ki///67VqxYcd2njyd1/t/MeOfPn6+6desqb9686tOnj86dO6eRI0fqwQcf1Pr16xOsr5o1a6Y8efKof//+Wr9+vb744guFhIRowIAB1/XeErNw4ULVrVtXZcuWVe/eveXj4+MOcMuWLVP58uUlXb6o38qVK9WiRQvdd9992r17tz755BNVq1ZNf/31l1KnTu0x3C5duihDhgzq3bu3du/ereHDh+uFF17Q5MmTPfqtWbNGEyZM0PLly2/ogpETJ07U6dOn9fzzz+v8+fMaMWKEHn74YW3atOmG1yFJqX38+PFq166dihYtqp49eyp9+vT6/fffNXv2bD3xxBPufidPnlSdOnX02GOPqVmz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Fn3yySfavHmz+1v1a33DCdwu8uXLp1deeUWvvPKKtm/frlKlSmnIkCH66quv3H0qVKigChUq6P3339c333yjJ598UpMmTbruexpPnTpV/v7+mjNnjsdtSsaNG5do/7ijQ/H9/fffSp06tcfOdrZs2dS5c2d17txZR48eVZkyZfT++++rbt267it4b9u2TQ8//LDHsLZt2+Z+PjFxR11OnTrl0Z7Y0fGr7ejky5dPZqY8efLo/vvvv+q4EhMcHKyAgIBEp8O2bduua1j/JW/evJIu30KmZs2aNzSMfPnySZJCQkJueBiJDXPOnDn6999/r7pTejPT+EbkypVL8+fP1+nTpz2Odm/dutX9/K2wfft2j+3Mjh07FBsb6z6VfebMmYqOjtaPP/7ocWTvaqdkX2s5z5cvn+bPn68HH3zwmkEiud3MeOMv+1faunWrMmfOrDRp0iRLnf8lbtkIDAz8z2Xj+++/V+vWrTVkyBB32/nz5xOsh5Jq7969OnnypIoWLZrguX79+qlfv376/fffr/plQJyrrY/jPm/JsQ65Utx027x5820R6q53mbqW/Pnza+DAgapWrZrq1KmjBQsWJDh7JjE+Pj6qUaOGatSooaFDh6pfv3568803tWjRItWsWfO6tltXutp2zIl5C9ytOL38Jr3wwgtatWqVJk2apD/++ENNmzZVnTp13BuhmTNnKm/evPrpp5+UJ08e5c6dW8888wxHunHbOnv2bILbC+XLl0/p0qVzn1Z68uTJBEcJ4nbM4p96mtRbhsV9Cx//G/fdu3df9eccq1at8vgN4759+zRjxgzVrl1bvr6+iomJSXA6X0hIiEJDQ931lStXTiEhIRo9erRHzb/88ou2bNmS4Irp8QUGBipz5swJblP28ccfJ+gbt/N+5Y7OY489Jl9fX/Xt2zfBtDQznThx4qrj9/X1VXh4uKZPn669e/e627ds2aI5c+Zc9XU3IiQkRNWqVdOnn36qQ4cOJXj+arcgii88PFyBgYHq169fop+FpAzjSo8//rjMTH379k3wXNz0vJlpfCPq1aunmJgYffTRRx7tw4YNk8vluukzLJJq1KhRHo/jbjUUN/64o3bxp0lERESCL7mSspw3a9ZMMTExevfddxPUcenSpRsOhP/lZsabLVs2lSpVShMmTPDot3nzZs2dO1f16tVzoOLElS1bVvny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AgUKKE+ePHr77bcVGhrqDvYAAAAAANwKXg/dzZs317Fjx9SrVy8dPnxYpUqV0uzZs90XQtu7d698fP53kfVKlSrpm2++0VtvvaU33nhDBQoU0PTp01WsWDF3n9dee01RUVF69tlnderUKVWuXFmzZ8+Wv7//LX9/AAAAAIB7l9dDtyS98MILVz2dfPHixQnamjZtqqZNm151eC6XS++8847eeeed5CrxruPn56fevXsnOK0e3sH8uH0wL24vzI/bB/Pi9sG8uL0wP24fzIvbC/Pjf1xmZt4uAgAAAACAu5HPf3cBAAAAAAA3gtANAAAAAIBDCN0AAAAAADiE0A0AAAAAgEMI3QAAAAAAOITQDTiAmwLc/phHAAAAuBUI3XeJ2NjYJLXBebGxsXK5XJKk3bt36/Tp0zp37pwkgp63xE3348eP69SpUzIzuVwulhHc0/j8A4m72rLBNvzWY/8Wdwvu030XiI2NlY/P5e9Pli5dqnPnzun+++9Xnjx5vFzZve3tt9/W1KlTdenSJTVo0EAdO3bU/fff7w58uLWmT5+uHj16KCAgQJkyZdLUqVMVFBTk7bLuOYl9/uOvw3BrXLndcLlcypYtm/Lnzy8p8fkE57AM3D7iz4v58+crOjpaOXPmVPHixSWxbNxK7N/efuI+/3///bcuXLiglClTqmDBgt4u645A6L6L9OjRQ5988okyZMigY8eO6dNPP1Xz5s2VMmVKb5d2T4i/If7+++/1wgsv6KOPPtLq1av1+++/K2XKlBoyZIiKFi3KRvsWiZvOmzZtUpUqVfTaa68pICBA33zzjU6cOKE5c+aoQIEC3i7znhE3PxYvXqyVK1cqNjZWHTt2VHBwsLdLu6fEX/90795dkyZNUkREhMqWLatHH31UL730UoJ+cE786fz111/rzz//VOnSpVW+fHnlypXLy9XdW+LPi1deeUXffvutzp49q4IFC6pevXrq3bu3JL4kudXYv729TJ06VR07dlRQUJD+/fdfDRkyRO3atfN2Wbc/wx0rNjbW/f81a9ZYsWLFbMWKFfb3339b7969zdfX10aNGmXR0dFerPLe8/PPP1v37t1tzJgx7rbvv//eateubbVq1bI///zTzMxiYmK8VeI95ddff7X58+fbO++84247dOiQVa9e3XLnzm3bt2/3YnX3nunTp1vq1KmtYsWKlidPHgsODrZ169Z5u6x7RvztxurVq61UqVL266+/2rJly+z555+3MmXK2Pvvv59ofyS/+NO3Z8+elj59eqtUqZJlzpzZnnzySVuxYoUXq7u3xJ8Xa9eutQoVKtjatWtt8+bN9vrrr1vZsmWte/fuifZH8mL/9vYTN0+OHj1q+fPntzFjxtiSJUvsvffeM5fLZYMGDfJyhbc/QvddYPDgwfbWW2/Zq6++6tH+/vvvm4+Pj3388cesmG6R3377zUqVKmUZM2a0sWPHejw3depUCw8Pt/DwcNuwYYOXKry3nD592ooUKWIul8ueeeYZj+cOHTpk1apVswIFCtjWrVu9VOG9IW5jfe7cOXvttdds7NixFhsba/v27bMmTZpYxowZ7ddff/VylfeW7777zp588kmPELFv3z579dVXrXTp0tavXz8vVnfvWbdunTVp0sRWrVplZpe/nKpWrZo1btzYli9f7uXq7i2TJk2yJk2aWOfOnd1tJ06csL59+1qZMmU89rUI3s5i//b2MmfOHBs6dKh17drVLl265G4fOXKk+fj4ELz/A6H7LtCmTRtzuVxWv359u3Dhgsdz/fr1s1SpUtnAgQPt4sWLXqrw3vLJJ59Y4cKFrUqVKrZ3716P56ZNm2ZlypSxrl27eqm6e8/atWutevXqdv/999vJkyfN7H87SocPH7ZSpUpZyZIlEyw7SF6rV6+20NBQq169usfRu1OnTlnTpk0tY8aMtmbNGi9WeO84duyYNW7c2DJlymRNmjTxeG7//v326quvWrly5axHjx5eqvDeMmHCBHvkkUesXr16dvbsWXf7zJkzrVq1avboo49yxPsWiYiIsCeffNKyZMliNWvW9Hju33//tb59+9oDDzxgzz77rJcqvLewf3v7uHTpkr322mvmcrmsTJkyHqHb7HLw9vPz8zirEJ4I3XeY+N+qxv3/0qVL9vrrr1uqVKls6tSpCV7To0cPq1y5Mt/IJrNrnR4+evRoq1Spkj399NMJgveSJUs4tdwhiX3GL168aBs3brSiRYtamTJl7MyZMx59jx49art3776ldd6Ltm/fbjVr1jQfHx9bsmSJmf1vGYqIiLCWLVuay+WytWvXerPMu1Jiy8Vff/1lrVu3tvvuu88+++wzj+f2799vzz77rLVp04btxi3w0UcfWe7cuS00NNQ2btzo8dzMmTOtRo0a9tBDD9kff/zhpQrvXol9vvft22cvvPCC3XfffTZw4ECP5/7991975ZVXrG3btiwbyYz929tT/Gl7/Phxe++998zHx8e++uqrBH0HDhxoGTNmtBMnTtzKEu8YXEjtDhL/wh2XLl1SdHS00qRJ436+U6dOmjhxor799ls1bNjQ47X2/xcHMS6Mkyziz4upU6fqzz//VHBwsEqUKKEHH3xQkjRq1ChNmjRJuXPnVv/+/XXfffdddRi4eXGf7dWrV2vlypWKiorSI488otKlS0uSNm3apBYtWsjf319Lly5VmjRpWB5uITPTjh071LFjR+3cuVMrV65U9uzZ3fMgIiJCXbt2VY8ePbgSajKKv56Jjo6Wn5+fu+2vv/7SBx98oH/++Uft2rXzuBDOsWPHlDlzZrYbyexq0/Kbb77R+++/r7CwML3yyisqWrSo+7nvv/9eS5Ys0YgRI9hmJKP4y0ZUVJQCAgIUExOjlClTau/everfv782bNigpk2bqlu3bu7XnT59WmnTpmXZSEbs395+LN6tVeOvd06dOqX+/ftr8ODB+uabb9S8eXOP1508eVIZMmS41eXeEQjdd4j4H/phw4Zp0aJFOnjwoB599FF16dJFgYGBkqTnnntOX331lSZNmqRHHnnEYxiskJJH/On4+uuv66uvvlLx4sUVHR2ts2fPqlu3bu6V0KhRozRlyhSlTZtWY8eOVUhIiDdLv+tNmzZNnTp1UqFChRQQEKD58+dr0qRJatKkiaTLwfvpp59WZGSkNm/erNSpU3u54rtT3DJy8OBB+fr6um+5Y2batWuXWrdurf3792v58uXKnj27e/3GOip5xd9ujBw5UsuXL1dUVJSqV6+uDh06KDAwUJs2bdLgwYO1c+dOtW/fXm3btvUYBvMk+cSfHwcPHlR0dLRCQ0Pl5+cnSfr88881evRolSlTRi+//LKKFClyzWHgxsWfjkOHDtWSJUv077//qlatWmrfvr2yZ8+uXbt2aeDAgdqwYYOaN2+url27egyDZSN5sH97+4mbngsWLNBXX32ls2fP6v7779e7774rSTpz5ozeeecdDRkyRJMmTVLTpk29XPEd4pYdU0ey6Nmzp2XLls169+5tY8aMMV9fX3vhhRds586d7j6dOnUyl8vFxVccFndK4MqVK83s8u9ZUqVKZfny5fO4iNoHH3xgnTp14pRyh61YscJCQkLs888/NzOzvXv3msvlsoCAAHebmdn69eutQoUK9s8//3ir1Lta3KloP/74o5UqVcoKFy5s2bNntwkTJrj77Ny50ypXrmwFChRI8PMLJL/XX3/dMmfObP369bMuXbpYmTJlrGXLlu5rHGzatMnatGljBQoUsJkzZ3q32LtU/PV/r169LCwszAICAuzpp5/2WDY+/fRTK1u2rHXs2JELbt4CPXr0sMyZM9uIESPsrbfesgceeMDq1avn/snRrl27rHPnzpY3b16bNGmSl6u9u7F/e3v54YcfLCgoyNq0aWN9+/a1tGnTWps2bezYsWNmdvlCtT169DCXy2XTpk3zcrV3BkL3HeSHH36w/Pnzu69uumLFCvP19bUUKVJY06ZNPUIEF5Zw1tmzZ61Dhw42dOhQMzObMWOGBQUF2VtvvWVNmza1nDlzemyg44IIwdsZFy5csJEjR1qvXr3M7HLgzpkzp3Xu3Nlef/11S5kypX399dfu/lzt1Fk//fSTpU2b1oYPH24bN260N954w1wulw0ZMsTd559//rFixYpZyZIlE1yQBcnn66+/toIFC9pvv/1mZpfXVX5+fpYvXz5r2LChnTp1yswufxn17rvvMi8c1qtXLwsODrZp06bZ6tWrrVq1ala8eHEbOXKku8/nn39u9913n33wwQderPTuN3nyZCtUqJB72Zg1a5b5+flZoUKFrHr16u4vBLdv326DBg1i2XAQ+7e3lz/++MPy5ctno0aNMrPLF53NkiWLuVwuq1u3rh0/ftzMzCIjI61Xr172119/ebPcOwah+w4RExNjM2bMcC8AP//8s6VPn96++eYbW758uaVMmdI6depk27Zt83gdK6bkcbWLrezYscO2bdtm+fLls2HDhpnZ5Q15qlSpLF26dDZ9+vRrDgM3J/403bRpk/32228WFRVlDz30kHXo0MFiYmJs+/btliZNGnO5XB5HlOCMgwcPWr169dy3Dtm7d6/lzZvXwsLCzMfHxwYMGOD+8mnXrl22a9cuL1Z79/vmm2+sW7duZnY5cGfMmNE+/PBDGzVqlAUFBVmLFi0SXPSGcOGMZcuWWfHixW3p0qVmdvmimv7+/la5cmUrUaKEjR492t13xowZzAeH/fTTT+47ifz444+WKVMmGzVqlH355ZeWIUMGq1u3ru3YscPjNcyT5Mf+7e1n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f++VWu9Fq1atsqCgIPct2TZu3Ggul8t9EbULFy7Y+++/b+XLl7d69epxC6RkFLe+j1v/HzhwwCpXrmyzZs0yM7P58+db6tSpbcyYMe7XxMbG2qFDh2zdunVsNxwQPxSMGjXKsmbNasuWLTMzs9dee83SpUtnc+fONTOz33//3dq2bWsPPfSQPf7444S8ZHT69GkzuzwtY2Nj7ejRo1a9enX3bY3mzZtnadKksS+++MLjdSdPnrQtW7awbCQj9m9vT3HrqosXL9oTTzxhffr0MTOzPXv2WL58+ezZZ5/16H/gwAFbs2aNHT58+JbXejchdHtZkyZNrFOnTh4rlAMHDliWLFnsn3/+sUWLFlnatGndIS8qKsrefvttO3DggMdw2FDfvE2bNlmlSpWsZs2aNm/ePHf7woULrXLlyvbNN99YYGCge+NgdnnHtl27drZ9+3ZvlHxXO3v2rD366KOWMmVKj3tyRkdHW5UqVezDDz+0XLlyWceOHd07rPv27bOGDRvazz//7K2y71pbt241M0twEcHWrVub2eVbgOXIkcN94SGz/13oLiIiws6dO3frir3Lvf766/bMM8/Y+fPn3W3Hjh2zokWL2p49e2z69Oke241z587ZF198YZs3b/YYDl8OJo+1a9e6/x83TVu1amW9e/c2s8vBIjAw0H118qioKLtw4YJdunTJLl265LEDjJvTo0cPa9asmccV+SMjI6106dK2detWmzFjhseycf78efvss8885qEZ+1TJgf3b28vAgQPtqaeecj+OjY21qKgoK1iwoP3444926tQpy549uz377LPuddInn3zCl+XJiNDtZWPHjrVUqVJZz549PVZMLVq0sHr16iU4UrF//353AETyW7hwoTVs2NBq1KjhPiJhZla8eHFzuVz20UcfudvOnTtn9erVsyZNmnDak0OOHTtmbdu2tdSpU7uPGEVFRVnbtm0tbdq01qBBA4/+r7/+upUuXTrBRhs3Z/78+eZyuWzKlClm9r/g/cYbb1jdunXtwIEDljNnTo+N9eTJk+31118nSCSz6Oho69q1q1WsWNG6d+/uDt4HDhyw4sWLW+fOnS1jxozu2++YXf5CsX79+jZnzhxvlX3X6tWrl5UvX95++uknd1tMTIw1adLEZs2aZUuWLLG0adO6A/fFixdt9OjRNm3aNI9lg21I8ujVq5c9+OCD1rFjR3fwPnbsmJUpU8ZatmyZYNnYunWr1a1b12bMmOGtku9a7N/eXr7++mtLmTKlPf/88x7tL774oj333HOWPXt2e+6559zzKjIy0lq2bGnDhw/ni49kQui+DUyaNMlSpEhhPXr0cO9Affjhh5YjRw5r1KiRu9/p06etbt26Vr16dY5QJLP4OzwLFiywBg0aWI0aNdxHTP/66y8rUKCAVahQwcaNG2eff/651axZ04oVK5bgNE8kr2PHjlmrVq0sderUtmTJEjMz+/vvv61cuXL20EMPWb9+/WzSpEn27LPPWlBQEN/KOuDUqVPWtWtX8/Pz8zh9f9GiRVa9enXLmDGjtWvXzsz+txy89NJL1qpVK/epnrh5ceups2fPWu/evS0sLMxeeeUV91kEI0eONJfLZe3bt3e/5vTp01a/fn2rVasW2w0HrF692h5++GGrX7++x0+TXnjhBQsMDLTUqVPbV1995W4/fvy4Va9e3f0TDCSPuGUjNjbWBg8ebBUrVrRnn33Wjh8/bmaXvwRMmTKlNW3a1P2ayMhIq1evnj388MMsGw5h//b2cenSJZs6daqlTp3annvuOXf7hx9+aCEhIValShX3F1WxsbHWs2dPy5cvn/3zzz/eKvmuQ+i+TXz77beWIkUKe+2118zs8m8hX3rpJStevLiVK1fOWrZsaRUqVLCSJUu6T6VlxZS8rha84454b9++3WrUqGHFihWzBx980Fq3bs28uEXigndAQIAtWrTIzMw2b95s7dq1s8KFC1upUqWsQYMG9scff3i30LtYZGSkvfLKK+br6+sO3sePH7fHH3/csmfPbl9++aWZXb6v6htvvGHBwcHcF90BcV9qREVFWa9evSwsLMxefvlld/B+9dVXzeVy2dNPP21PPPGEVatWzYoVK8Zvhh0Qt81Yv369Va9e3eOIaWRkpPtCdidPnrSIiAg7dOiQ1alTxypUqMAZIA6I+2zHxsbaoEGDrGLFitahQwc7duyYmZl98MEH5nK5rFGjRtagQQOrWrWqFS9enO24w9i/vX1cunTJvv/+e0udOrXHtXBefvlly58/vzVs2NBefPFFa968uWXIkMF+//137xV7F3KZmXn7Cuq4bNKkSXr66afVtWtXDRo0SBcvXtSsWbM0f/58SVLu3LnVtWtXpUiRgtsmJIPo6Gj5+fl5tFm827Qs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",
"text/plain": [
"