From 14eafc58125bc479af91519a7f78c6ccdb1b7401 Mon Sep 17 00:00:00 2001 From: Janosh Riebesell Date: Fri, 6 Sep 2024 15:47:07 -0400 Subject: [PATCH] Add metrics table download buttons (#135) * write metric table variants as PDFs and SVGs to site/static/figs * update site-internal terminology for hidden-by-default models from closed-source to non-compliant * add PDF and SVG static site assets for all metrics table variants * readme add how to cite info * CaptionedMetricsTable.svelte add download as PDF/SVG buttons --- data/mp/get_mp_traj.py | 2 +- models/orb/orb.yml | 2 +- pyproject.toml | 3 +- readme.md | 6 +- scripts/model_figs/metrics_tables.py | 55 +++++++++++++----- site/src/figs/metrics-table-first-10k.svelte | 6 +- .../src/figs/metrics-table-uniq-protos.svelte | 6 +- site/src/figs/metrics-table.svelte | 6 +- site/src/lib/CaptionedMetricsTable.svelte | 28 +++++++-- site/src/routes/+page.svelte | 12 ++-- site/src/routes/models/+page.svelte | 6 +- ...metrics-table-first-10k-only-compliant.pdf | Bin 0 -> 14205 bytes ...metrics-table-first-10k-only-compliant.svg | 1 + site/static/figs/metrics-table-first-10k.pdf | Bin 0 -> 14687 bytes site/static/figs/metrics-table-first-10k.svg | 1 + .../figs/metrics-table-only-compliant.pdf | Bin 0 -> 14937 bytes .../figs/metrics-table-only-compliant.svg | 1 + ...trics-table-uniq-protos-only-compliant.pdf | Bin 0 -> 19734 bytes ...trics-table-uniq-protos-only-compliant.svg | 1 + .../static/figs/metrics-table-uniq-protos.pdf | Bin 0 -> 21356 bytes .../static/figs/metrics-table-uniq-protos.svg | 1 + site/static/figs/metrics-table.pdf | Bin 0 -> 15570 bytes site/static/figs/metrics-table.svg | 1 + 23 files changed, 98 insertions(+), 40 deletions(-) create mode 100644 site/static/figs/metrics-table-first-10k-only-compliant.pdf create mode 100644 site/static/figs/metrics-table-first-10k-only-compliant.svg create mode 100644 site/static/figs/metrics-table-first-10k.pdf create mode 100644 site/static/figs/metrics-table-first-10k.svg create mode 100644 site/static/figs/metrics-table-only-compliant.pdf create mode 100644 site/static/figs/metrics-table-only-compliant.svg create mode 100644 site/static/figs/metrics-table-uniq-protos-only-compliant.pdf create mode 100644 site/static/figs/metrics-table-uniq-protos-only-compliant.svg create mode 100644 site/static/figs/metrics-table-uniq-protos.pdf create mode 100644 site/static/figs/metrics-table-uniq-protos.svg create mode 100644 site/static/figs/metrics-table.pdf create mode 100644 site/static/figs/metrics-table.svg diff --git a/data/mp/get_mp_traj.py b/data/mp/get_mp_traj.py index 17954994..478356af 100644 --- a/data/mp/get_mp_traj.py +++ b/data/mp/get_mp_traj.py @@ -118,7 +118,7 @@ # %% use gzip CLI to check all files for archive corruption for path in tqdm(glob(f"{module_dir}/mp-tasks/*.json.gz")): try: - subprocess.run(["gzip", "--test", path], check=True) # noqa: S607 + subprocess.run(["gzip", "--test", path], check=True) except subprocess.CalledProcessError as exc: print(f"{path} raised {exc.stderr}") # ask user to delete corrupted file diff --git a/models/orb/orb.yml b/models/orb/orb.yml index 102f80d9..d5b305f4 100644 --- a/models/orb/orb.yml +++ b/models/orb/orb.yml @@ -25,7 +25,7 @@ authors: # required (only name, other keys are optional) - name: Arthur Hussey affiliation: Orbital Materials -repo: https://github.com/orbital-materials/orb-models/ +repo: https://github.com/orbital-materials/orb-models url: "#" # placeholder doi: "#" # placeholder paper: "#" # placeholder diff --git a/pyproject.toml b/pyproject.toml index 47aef4b8..cb744287 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -106,7 +106,8 @@ ignore = [ "S108", "S310", "S311", - "S603", + "S603", # subprocess-without-shell-equals-true + "S607", # start-process-with-partial-path "T201", "TD", "TRY003", diff --git a/readme.md b/readme.md index 9e055acd..8ce69c98 100644 --- a/readme.md +++ b/readme.md @@ -25,7 +25,11 @@ Our results show that ML models have become robust enough to deploy them as tria -We welcome contributions that add new models to the leaderboard through GitHub PRs. See the [contributing guide](https://janosh.github.io/matbench-discovery/contribute) for details. +If you'd like to refer to Matbench Discovery in a publication, please cite the [preprint](https://doi.org/10.48550/arXiv.2308.14920): + +> Riebesell, Janosh, Rhys E. A. Goodall, Philipp Benner, Yuan Chiang, Bowen Deng, Alpha A. Lee, Anubhav Jain, and Kristin A. Persson. "Matbench Discovery -- A Framework to Evaluate Machine Learning Crystal Stability Predictions." arXiv, August 28, 2023. https://doi.org/10.48550/arXiv.2308.14920. + +We welcome new models additions to the leaderboard through GitHub PRs. See the [contributing guide](https://janosh.github.io/matbench-discovery/contribute) for details. If you're interested in joining this work, please reach out via [GitHub discussion](https://github.com/janosh/matbench-discovery/discussions) or [email](mailto:janosh.riebesell@gmail.com?subject=Collaborate%20on%20Matbench%20Discovery). diff --git a/scripts/model_figs/metrics_tables.py b/scripts/model_figs/metrics_tables.py index 3d905a02..91646f73 100644 --- a/scripts/model_figs/metrics_tables.py +++ b/scripts/model_figs/metrics_tables.py @@ -1,4 +1,8 @@ # %% +import itertools +import subprocess +from glob import glob + import numpy as np import pandas as pd import yaml @@ -7,7 +11,7 @@ from pymatviz.utils import si_fmt from sklearn.dummy import DummyClassifier -from matbench_discovery import DATA_DIR, PDF_FIGS, SCRIPTS, SITE_FIGS +from matbench_discovery import DATA_DIR, PDF_FIGS, ROOT, SCRIPTS, SITE_FIGS from matbench_discovery.data import DataFiles, df_wbm from matbench_discovery.enums import MbdKey, Open from matbench_discovery.metrics import stable_metrics @@ -33,11 +37,11 @@ date_added_col = "Date Added" df_met.loc[Key.train_set.label] = df_met.loc[date_added_col] = "" -hide_closed = False # hide proprietary models (openness != OSOD) -closed_models = [ +non_compliant_models = [ key for key, meta in MODEL_METADATA.items() - if meta.get("openness", Open.OSOD) != Open.OSOD + if meta.get("openness", Open.OSOD) + != Open.OSOD # TODO add `or uses_extra_training_data` ] with open(f"{DATA_DIR}/training-sets.yml") as file: @@ -51,7 +55,7 @@ # Add model version as hover tooltip to model name model_version = model_metadata.get("model_version", "") - css_cls = "proprietary" if model in closed_models else "" + css_cls = "non-compliant" if model in non_compliant_models else "" attrs = {"title": f"Version: {model_version}", "class": css_cls} html_attr_str = " ".join(f'{k}="{v}"' for k, v in attrs.items() if v) df_met.loc[Key.model_name.label, model] = f"{model}" @@ -205,18 +209,19 @@ ] show_cols = [*f"F1,DAF,Prec,Acc,TPR,TNR,MAE,RMSE,{R2_col}".split(","), *meta_cols] -for label, df_met in ( - ("", df_metrics), - ("-first-10k", df_metrics_10k), - ("-uniq-protos", df_metrics_uniq_protos), +for (label, df_met), show_non_compliant in itertools.product( + ( + ("", df_metrics), + ("-first-10k", df_metrics_10k), + ("-uniq-protos", df_metrics_uniq_protos), + ), + (True, False), ): # abbreviate long column names df_met = df_met.rename(index={"R2": R2_col, "Precision": "Prec", "Accuracy": "Acc"}) df_met.index.name = "Model" # only keep columns we want to show - df_table = df_met.drop(columns=closed_models if hide_closed else []).T.filter( - show_cols - ) + df_table = df_met.T.filter(show_cols) df_table = df_table.set_index(Key.model_name.label) df_table.index.name = None @@ -276,15 +281,37 @@ # draw line between classification and regression metrics styles=f"{col_selector} {{ border-left: 1px solid white; }}{hide_scroll_bar}", ) - suffix = "" if hide_closed else "-with-closed" + suffix = "" if show_non_compliant else "-only-compliant" + non_compliant_idx = [ # get index HTML strings of non-compliant models + idx + for idx in styler.index + if any(f">{model_name}<" in idx for model_name in non_compliant_models) + ] try: - df_to_pdf(styler, f"{PDF_FIGS}/metrics-table{label}{suffix}.pdf") + for pdf_path in (PDF_FIGS, f"{ROOT}/site/static/figs"): + df_to_pdf( + styler.hide([] if show_non_compliant else non_compliant_idx), + f"{pdf_path}/metrics-table{label}{suffix}.pdf", + ) except (ImportError, RuntimeError) as exc: print(f"df_to_pdf failed: {exc}") display(styler.set_caption(df_met.attrs.get("title"))) +try: + # convert PDFs in site/static/figs to SVGs + for pdf_path in glob(f"{ROOT}/site/static/figs/metrics-table*.pdf"): + subprocess.run( + ["pdf2svg", pdf_path, pdf_path.replace(".pdf", ".svg")], check=False + ) + + # svgo compress SVGs + subprocess.run(["svgo", "--multipass", f"{ROOT}/site/static/figs"], check=False) +except FileNotFoundError: # skip in CI where pdf2svg and svgo not installed + pass + + # %% PNG metrics table unused if False: try: diff --git a/site/src/figs/metrics-table-first-10k.svelte b/site/src/figs/metrics-table-first-10k.svelte index 06d10e79..efcd2169 100644 --- a/site/src/figs/metrics-table-first-10k.svelte +++ b/site/src/figs/metrics-table-first-10k.svelte @@ -358,7 +358,7 @@ - MatterSim + MatterSim 0.989 6.401 0.978 @@ -368,7 +368,7 @@ 0.906 - ORB + ORB 0.988 6.390 0.977 @@ -378,7 +378,7 @@ 0.908 - GNoME + GNoME 0.967 6.127 0.937 diff --git a/site/src/figs/metrics-table-uniq-protos.svelte b/site/src/figs/metrics-table-uniq-protos.svelte index 1cc20981..5b228066 100644 --- a/site/src/figs/metrics-table-uniq-protos.svelte +++ b/site/src/figs/metrics-table-uniq-protos.svelte @@ -412,7 +412,7 @@ - ORB + ORB 0.867 6.020 0.920 @@ -428,7 +428,7 @@ 2024-09-02 - MatterSim + MatterSim 0.859 5.646 0.863 @@ -444,7 +444,7 @@ 2024-06-16 - GNoME + GNoME 0.829 5.523 0.844 diff --git a/site/src/figs/metrics-table.svelte b/site/src/figs/metrics-table.svelte index bda8dbb5..cdf94348 100644 --- a/site/src/figs/metrics-table.svelte +++ b/site/src/figs/metrics-table.svelte @@ -432,7 +432,7 @@ - ORB + ORB 0.845 5.263 0.903 @@ -444,7 +444,7 @@ 0.804 - MatterSim + MatterSim 0.832 4.838 0.830 @@ -456,7 +456,7 @@ 0.809 - GNoME + GNoME 0.810 4.810 0.825 diff --git a/site/src/lib/CaptionedMetricsTable.svelte b/site/src/lib/CaptionedMetricsTable.svelte index a43ba1f7..f0d3bff8 100644 --- a/site/src/lib/CaptionedMetricsTable.svelte +++ b/site/src/lib/CaptionedMetricsTable.svelte @@ -2,14 +2,23 @@ import MetricsTable from '$figs/metrics-table-uniq-protos.svelte' import { pretty_num } from 'elementari' - export let show_proprietary = false + export let show_non_compliant = false let n_wbm_stable_uniq_protos = 32_942 let n_wbm_uniq_protos = 215_488 -
+
+
+ Download table as + {#each ['PDF', 'SVG'] as file_ext} + {@const suffix = show_non_compliant ? '' : '-only-compliant'} + + {file_ext} + {/each} +
Training size is the number of materials used to train the model. For models trained on DFT relaxations, we show the number of distinct frames in parentheses. In cases @@ -39,8 +48,19 @@ padding: 2pt 6pt; background-color: rgba(255, 255, 255, 0.07); } - /* hide rows () where any cell has a class of proprietary */ - figure.hide-prop :global(tr:has(.proprietary)) { + /* hide rows () where any cell has a class of non-compliant */ + figure.nide-non-compliant :global(tr:has(.non-compliant)) { display: none; } + div.downloads { + display: flex; + gap: 1ex; + justify-content: center; + margin: 1ex 0; + } + div.downloads a { + background-color: rgba(255, 255, 255, 0.1); + padding: 0 6pt; + border-radius: 4pt; + } diff --git a/site/src/routes/+page.svelte b/site/src/routes/+page.svelte index b493fbbf..19fbc6b4 100644 --- a/site/src/routes/+page.svelte +++ b/site/src/routes/+page.svelte @@ -7,7 +7,7 @@ import Icon from '@iconify/svelte' import { Toggle, Tooltip } from 'svelte-zoo' - let show_proprietary = false + let show_non_compliant = false const metadata = import.meta.glob(`$root/models/**/*.yml`, { eager: true, @@ -23,7 +23,7 @@ } const openness = md.openness ?? `OSOD` - if ((!best?.F1 || stats?.F1 > best?.F1) && (show_proprietary || openness == `OSOD`)) + if ((!best?.F1 || stats?.F1 > best?.F1) && (show_non_compliant || openness == `OSOD`)) return { ...stats, ...md } as ModelData return best @@ -36,8 +36,8 @@
{#if best_model} {@const { model_name, F1, R2, DAF, repo, paper } = best_model} - We find {model_name} (paper) to achieve the - highest F1 score of {F1}, R2 of {R2} + {model_name} (paper) achieves the highest F1 + score of {F1}, R2 of {R2} and a discovery acceleration factor (DAF) of {DAF} (i.e. a ~{Number(DAF).toFixed(1)}x higher rate of stable structures compared to dummy discovery in the already enriched test set containing 16% stable materials). @@ -45,7 +45,7 @@
- Show non-compliant models Models can be non-compliant for multiple reasons
@@ -61,6 +61,6 @@
- +
diff --git a/site/src/routes/models/+page.svelte b/site/src/routes/models/+page.svelte index 6d51a3b1..27d686f9 100644 --- a/site/src/routes/models/+page.svelte +++ b/site/src/routes/models/+page.svelte @@ -14,14 +14,14 @@ export let data let sort_by: keyof ModelStats | 'model_name' = `F1` - let show_proprietary: boolean = false + let show_non_compliant: boolean = false let show_details: boolean = false let order: 'asc' | 'desc' = `desc` let show_n_best: number = data.models.length // show only best models const min_models: number = 2 $: models = data.models - .filter((model) => show_proprietary || (model.openness ?? `OSOD`) == `OSOD`) + .filter((model) => show_non_compliant || (model.openness ?? `OSOD`) == `OSOD`) .sort((model_1, model_2) => { const [val_1, val_2] = [model_1[sort_by], model_2[sort_by]] if (typeof val_1 == `string`) { @@ -75,7 +75,7 @@

- Show proprietary models  + Show non-compliant models     Sort best models diff --git a/site/static/figs/metrics-table-first-10k-only-compliant.pdf b/site/static/figs/metrics-table-first-10k-only-compliant.pdf new file mode 100644 index 0000000000000000000000000000000000000000..34a00c4635fa99997329d7cd814405a61b1e28ee GIT binary patch literal 14205 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 literal 0 HcmV?d00001 diff --git a/site/static/figs/metrics-table-first-10k-only-compliant.svg b/site/static/figs/metrics-table-first-10k-only-compliant.svg new file mode 100644 index 00000000..5471ad40 --- /dev/null +++ b/site/static/figs/metrics-table-first-10k-only-compliant.svg @@ -0,0 +1 @@ + diff --git a/site/static/figs/metrics-table-first-10k.pdf b/site/static/figs/metrics-table-first-10k.pdf new file mode 100644 index 0000000000000000000000000000000000000000..158ea7b91d62ce52fd1e82d1f4705d8b32c09103 GIT binary patch literal 14687 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 CI1qyX literal 0 HcmV?d00001 diff --git a/site/static/figs/metrics-table-first-10k.svg b/site/static/figs/metrics-table-first-10k.svg new file mode 100644 index 00000000..f9199ed9 --- /dev/null +++ b/site/static/figs/metrics-table-first-10k.svg @@ -0,0 +1 @@ + diff --git a/site/static/figs/metrics-table-only-compliant.pdf b/site/static/figs/metrics-table-only-compliant.pdf new file mode 100644 index 0000000000000000000000000000000000000000..84d0424cb7b5481ebd63557fa6e61d0623cc3f51 GIT binary patch literal 14937 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 literal 0 HcmV?d00001 diff --git a/site/static/figs/metrics-table-only-compliant.svg b/site/static/figs/metrics-table-only-compliant.svg new file mode 100644 index 00000000..fcb941da --- /dev/null +++ b/site/static/figs/metrics-table-only-compliant.svg @@ -0,0 +1 @@ + diff --git a/site/static/figs/metrics-table-uniq-protos-only-compliant.pdf b/site/static/figs/metrics-table-uniq-protos-only-compliant.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4a0db7850bf2c4d38b5f72594d761600e5f02a6f GIT binary patch literal 19734 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 literal 0 HcmV?d00001 diff --git a/site/static/figs/metrics-table-uniq-protos-only-compliant.svg b/site/static/figs/metrics-table-uniq-protos-only-compliant.svg new file mode 100644 index 00000000..31302ac9 --- /dev/null +++ b/site/static/figs/metrics-table-uniq-protos-only-compliant.svg @@ -0,0 +1 @@ + diff --git a/site/static/figs/metrics-table-uniq-protos.pdf b/site/static/figs/metrics-table-uniq-protos.pdf new file mode 100644 index 0000000000000000000000000000000000000000..26d540be464642af4f615544844f8c88ff0380f9 GIT binary patch literal 21356 zcmcg!2RzkX+^_5rDumX}-ghr#Q^?55=HlYody|ojkjxU1Rido2M@B}75+!>pG9n}5 z{a^JwPmg-u_j$+Xy&vQMKlhy9`JUf8|Nr^@&f!v%l^22vqp7(Xo;H+HQ$s-zkb|i; zwU`)K)5{SLmchB=Y#l7YYB)>03kVK;s}5GiyW-4&au5PTycZXz#@m|{8&SjlYOUt% zVD4sycji5>b`f;m%E86e#mt%D=n8^DgduQYD9C_U#@WHq5pNDM^#VDXTM+M*an6hR_5k~SYD4^De;YtL<^-IygQq?UA&f<$Ffc$& z7-1v?i$#I3XrwS42}NQ-7z9!niiAP2hG2CESAe@92q0r;JkY~;Ap-+*aC0`py8xO1 z$kI#$@2U?5lm)Db_jEM`%Xzw<*VtLT9W($xxtgrXr}d4jDg-We=!3vfUdZ{}c*2imx}0$OKB?V0jC zWyFEA#i^yG`vjf^RbDm7wOL4Sx%J@c#D|fgm-^{CmU7p!S5omZNjyBv3|9}%i%pKG zYIV7)dUW<7RI6lNyH6DqtPRwC)X*A&PmV;(fTKxvl6SV-dwNG6Up*~*rs)-#rFUMm z-sUj<7;k9z9mnmhD<|vD?X359hk`=Zm--<(1T~pEQm1!!{Pf2@7F-@NQ8l8ki7QEE zs=2&o=55V)@tgv(b@*NXOCQFqu)E3Bxje^Z3qG;tz16(stq#dDs_cI`JNyE#Y9vZS z5(=(%V}EvBW=Yy6I29?UZrL{{&Nw&k^WpjVj)z>3FPR~iYL-e;X(0AbQ#6+fg)zD5 zQAfXIC9~(k^E4$o;?RB1to@p@^bToA$dei`GiVlEyP;c?BhAi#bH;Yokk^-o&UT^A zy1;E-;o(L|47ovNMp94uDtA?f(NNMEladK-uXj!%epFKiAz&Vs@mL&7|{jrB%ESk40iz-i>=QvzY3+M^M1bEe1 zDXIk}EH4rI$X-!gd#A35z?%>?{ghz!e6 zA(s?X#htdfS@+VaSWhP#!71yYnm&sh4oHEDNqwoxUkYQ{)>Ns@X{Hu*c(Y zoC^XoSKfObU*{uhY}-`2ilvHhEH-0cR(n4#ULh5EBIoQoMdKqK3Ti=dr(~8CFDp|~ zJK7v1S)Fnus}G;B=erOsV@4X_wzzWPX+}CGdd}dLTP5+Qs)Y|u zGx9!bizd-IbopK2Wd@R0%Utt)ECR`F@uO|g9Pds*h0|9!UaW-Q=aS-6;TY#t(bt^Z z=6aq&dG8&$ozEj3o_Mtk?0h3DIuRBVru6_~fuwBik8ae#%sGA#q!mxBl*c|uQH<6- z+~8C?fie1!mn$V{|M+acNz=Yi-=iLMrR|ZYN8W%ymZIe5!f^-*W4IW2g>Wr9qW<7l z4Yh_A3`^s;4oIFP%S(6K#uv}*O&B|_=7L)MtQ8rq#+?c-OhDbzam`uDjHedYWA9L4 zxVjR?a`kP7oJR0bS_+x!>G5iM5$e+(t)|@a@tq*Y46gbVaxP526X}g43Rdoo2A%mQ zoVR+?NqI!0M-ys^!=7eSEEs1K$se3xW0UCpBt+DAGfE>NM}4-dqw=N&lD7p=)aCbMMO;!?fO8m?mhzy9 z^q^eKG=jH9oDsPvB# zn>!j@r3G`~TgQxd$vCl*P68lJK0vFV!>04hF6r3h zU(k|+-k0Kisnn@<(#Gvp!eQK1PlFeSOjQDxV0&(>+hAo@r&7!i7^J_#!qG=kLuA`y=~iV9rs zxdTLl_K0piPCgnx)<->!!SHgJR(G2+l$w?o1>LSQZ-G>6W06S8Mz8FO2yc;i9fA8Y z;c9&eV6VcXjN|4lT5tGZ;S51X66(-M-sgY~6+P)|4!C*ao7`)_K}7U~u|&AgQ=^n~ zS&L##Rf5%QgB(HS(#tOhPqTqBy4%XxDGxqMh)C`Qu~>?hW=wBcTQdM+DnB}UhwbWw zZHrU2x(^Cz9X*q6fidFi(L1_Vm}0Nfaz7Uz_$nU6!c)cEOcJjQk-Bs)o)FFuvvLa) zb6M2pp;~+@LycZV`YY+C0Rl&(Yh01+?VfaA9#Og}Mu&vAuX{sVbI9ee{Z71lBH=CT zgQT&imaa-a%9gqW2;_yLOxx+j8$FqiOd2*c@9{}pcqz~sQ|(;S9h=SxsM+L(ub+7N zOZ{HWbdajMf!1Nk+;WW%m-H?@LvsRJA#0#jt-Gieyw4>!qH$u?g=HUYnQ`7&7yAJ` z&Hx_Y%64&>#8Y4p(Q!jqz@Dy7RKKBZ$A+&*m-o z$<+Wz-4hpf4*1ddNd$ZJq${GWt0IxdTst^cEa2eD5gqW=WGbGxF5c%ftU^@O&czdw zFIzzB*AhW4Y>boUErHdqf!>1#^%}HpH~>P7Gn@+(mg~g%3P|67dH+6d<^9<;K6McFg)F$`M#jd$dNR6|%l>$RX z$*C>r3lC>|NM|BybEQ00+~=M8=_WP>YO(J8Xcy|MGh!fNbQk{FYGQlw3k#&Fah>;E z^vG^k!d&O_m4b1PGiOHpZ+=+So7g#>29wI2s(ZXsXyx&pQo42G;X zxeEgyW~}F+h~L%Umh|9Re6mFDDCpsBo$D^5KV>MCZ>3+Ipew2NXPEw|lN~T>HtRcOPCyJYfkyAg61<42d>DV>-!aH?l?p*-hFK3aprWT@_Jii)ozpO?1y78 zak&6B58w60%LP{$bFQcasec)D{*YE>>|UUDErK^tHI|cyoi>ZpS5YkD!Ghm<&Q_;7 z+4bWsbX*TdQ{O%KOwE|ccC_K_G@DA}n&ZoMHo9ih#EAf|qPqzP>JG0&l&hq~GAy5< z(ngx=71%%1@~dIIIcmP*z1?Ga?)A)J-gg?*daKR!L6^g_8GtQw0FW%rHdjhM#e;H7sVHAKh}otUg`Hc z1o!Uo+gh>;A**93S9GWXr+->sa-g<-wKKPHgZ_pJ#S-oY+q5bebbiWcAVhoi1A0hxtZQpy3-z@xlkBsYXHRBR(wi@`?F>*^h7poM zV>jbqed}zWvvGL~ul$ZFV1h^5539ASap=T?EQUH>d-HDO6obpb6-Ao6TKEUsfUJsY!cI}=o5;x zt8;wxscqY@%JI=19r`zq-CWo|4xV3sWGLWY8YZ$-@mS)M5gUIt$YT9{Q=4F_QvZhS zXqF3W*ihjnKk3q;RUrqiYsI-^VsBw=!D+#jnt=|+!b(1ao9Z5`0$j9rDPDG29z`iI zv^0EO?V?vhl0yUHssoF)BDwM$M~zXUbQfOUzPB;PvU>f-?V^Cj?0N_7q+0=lh^af6 zHor)-?3L5$pDI}z&w~qBsjn!Kez0HtWV6~&M&dz3ZfaO%GP*!YGC)SMWeHEusuy^A z9RfP!8NthPi%q!US#@j@KK=c@*n=0NZu<_OnT>> zp-K6{Gc~ylV{}V-ykzdLB0`^L_HWJ38lJ5P96^(|k@P8b$*M~tG>ad2`(t8Jl7@DJk>=Lrl(ADV z-0sMjfhog+2&(KG)y<|6bDJOdrWkapLH(b zeYqT2iVam~0&g2&A7U*B4ZRO@pH5N=uzX!5=Pr8j=1Qo#wc#R#M@E&hpf}%5kLAxZ zy0XpEAJ`RMH-s}cm`F{&ain6;GpqsK{1VY8Yi}Amn5Gze;bFWAxO}j;B}RkbygqKg zMqf*y2KT?c?R?_fs{N&t!=qWp4eVd840TM2JbUI$Cnxv96>G}f7 zY)s#&!g%oTJcfVFWc(WK!2RXKDPj2@e=mvAt@;z!Iu3x?SkmB*rz5TSgC!maJWXli zK1rJCTlAEYC*^h5S&c99YG`=`6U2tyQU4v5yi=}Wa9U%~UF54|>=%fm^mN|B6 zjl`oW&Vc8`yPD@H#!Hs3)qL*f6BPDM9FCLPj;4(l7cGkQTf46zFwAYxV3SudalqZK zfJuAeI*Dfwy^nb7p!1P}NAifuPnJVl6qHttCMIO!i#y%lY}Q*`Ea)ei)9RJKHXN8g zxr4}Dc3wl-Yn%!=9$g*P60hv0bHp(j6?<1(Jb2d_@;P~QiRY`Pk*}fr@F!RDesHzt z@pF-Vva9c|JR@0YxW0b<{?l36)f}3@5uxgh7@9VCP5Ire71IK$7{3GoQwQsctH+OX zRQk?8y071CBsja6<5LiaPkNTba{c^BhG_FKW}%A6PZQ`_`W`aK+~$CeTV&DfE8UUc zt-J2q3p}ab(3#MiQjg?Q(ylIj+gQzX-WhTw(-)Bt9}_VcmsE?iu2t~PC8>9&YM!77 zadF8ItkgGVo@)7pze+GIxtk%nyazeWp|b%G8NPBxHxRVV|xqldPu_+ zC%Wc@RIGBR*e_^vc=sRE8+zN%^F)8`D*4ATsTNzx@mpjg(&D}Yeq?cQ&!KhG4-CdJ zr(X<&4teVEw+*CuDp~rB3vWTh@0=~8uXk;Vx{(9B$21*{B}gf) z6&q(Hd_AEvy|a?V)voU%Jq-K30(Ge3iYKW{-QQO|r+K8)_}XT8V40QP>Al^XOr*M7 zr>N@goxEKV#I3ON#C7l=i-&)#h!fW(iR+HU)y6-U$%$*7Kd;;VxtI#pkOEoYY+Z<} zkbh7hE`|Q6td6%N0Q9|hrGVvjJRexq*&Odou(#w@Fb5Vr39epzU=24%M_ardaUB=( z6A>tJCG~$#Wq)*lxabRXY3fQ06%gYE5U@1P1;1A;tD`5Scu_zb?`)2<#|cS0*qVbi z9klET#8p-hVsH5tEN2hg0V4qaF#@3rU|GD288CR9y(^K9i#~L3-PiEv(fkx=*o#v9 z4Tp?^Eb*TB1?)eEL##&ZjTn~z*7~8}SH6Mvnhxg`WR-D_f5HOGUIxJtFz{u47(^cp zg@S-zLpVwwjYb*5vHBQbr5c5SgHT9_Ap)b11p*@&1lkY@)knkOhDf+R8d!!$1400n z;|)<5eH02~h=%ARF&GdEiv^)j2tzbNAGkEcK=h#yBnGGq11h5pF-Uy`77apT;UEMO zWeBWrE68eixwzu(6znY=Kzr-tKXZmSgr8OG??c>MrB}h(;laO?4zaE@F>(NmPY4Df zh6}JDG!h6A0PEwHF2Lx3Z~|D0C>>W~IS?FjynrWIT7AF!E;rY`reFmiY(y}VvbO}{ zE)cK=fL9v?MWFWJ<6S|Bz4iJ%IKUD-9*9xwE%pCA5~70aAIU%I+C^ziIaL(_DQ5!C z_7_e2F4cdfX?szFziHY}af5%WX}^N`yAVLo?}Ps*JwrkufS$qiVQ3&kv`^l9cKmb1 zZI9M|HvOg3e+m5esP@E-Mi6C&1tEZt3y=P&)SkA$kuXCjR3Cvv0FDA-2u0{)pcq3aYOe$iI2br=uLN*f zC=3GdEhxbC0DcAy1)+e*8WN2Ju7O`96wm{xAp)od_#7k>4R|s*2n~2NGzJYqLH67k z3JYio24RRq?-9dduzOw&0yRX#^pQZIk%$J3)JFlqIvAi{a0KAsuz*G*0G|T5NuU@7 z0jR;?dkzi;I5;3w2*(1rfUl5Pm?0Jl&;eipm%rG+o;LlYJbN74FZSQrz;776X8=Ng z`~L3mh(iT<^;?IBLi}U_K&_uG0QFl7fFhuOn!uiG`N`qI_q*=BSn1EB*o&e5sl68o z_BLR3AX*K?buq#)Bpif+0wG+$v`}cQFcO%2Fc63^5(SvAv<48fy-b|{!BT(3@ukd& zVRWztSW8`j_{(eM>gwns0tQ>`E}R#k+us;e8jpD;NexL*W<% z42V?!%<%p5?>|DtV1*Hozo4S`AOq3o{}EK2E#4DnZw@$lVS*XX&PCYS%~aSNzYp8~ z8So#mK`_E-6bOw)5V;0$5h4tP#{nb20{?+I@4v-Ga|eR3gR>A~7f- z2n;R+L80MDA?!Yw`)9v@goy-l4FJUI`x7V>uqYV%{{!ex^W5I_@LzEh3L_%>11JiM7DgfdUrc=eRQg{4 zB`PL>>`$O*AlZfZUK20`jyx>}?%zzHQ;De?Wy{iO>M%VuY~};ME0i^l-@ktwmuVfCt3xn~L_5 zg8n-^g#eC|_~`M2r%1s4qhY{||36pMf6dc>Ju`jhDe!hkg!UIyAfpWW|AX{jPftIP zqA&omzkmYM022A%ot*w={QsJ#|9Xb{ffRuzLiGyj2uV<(q zKw&5%u)lZ;OayQsXYl_+Pk)-D)X|{*PuqJrem^Wu9e5N0eu(*h>VN_OKi@B*Ai%K# zmp?r-?mh4RX!dK?9r#C59vq9o0FD04z>CtMGSF!0ORG={x+HaoikJGDEF~%FVTC98 z;|&(?7@5qO)MOnCf~J}DA8DsmXw{>;p5WrC*}2Q?F3_Kd)fE zYLHeB_d6oy_~K|nLk*RzmZnHmN8cdXV^8wYb=5j1`U90nZXT|Cu@y#Bd#;=?-a-crF-8mogE75`+m-=_TE$5sf z84Fd|FLMS*ybg6*IE%Exv)|NdYBk8Vcdj@ww>rCY8y;HKuXwx!OBWmu#!IiPvHsk2i9>%?|M9jzq-OM#YX<&VZlQtS>fv++=#{6e}-%sXS6_<5)^SWsrDC$!pzv z8W@{YrfsUR1^Y4K%y*r?%8I%s=*8v5n5j7{nF!sOd8X)*F6R7)$g z>-QEJ6)lDQ*T%`-usnI=oTmT0F5ptUb`_H!A9F;ldj8uvY2Rn=+30lk*oqeinLbIL zD|?u*E#?2MhRmaW$e(9ddu={fJ#ogo>$2B+d>-QzSwHtQ)ouAi(_=>0E{|?zWqi_k z@u)Ll{b*EpxWcl;qwU$x51QV{UM)I#RyeZmTFNu-kEzmV22jt5XG+5PpSb(tR&M5P zeR=Do@94<2wLx;*Ms*@4v1e47Y1N>yj!M_UHr+g=$y22EvOGpa}__OU$%R*R9GZK(EhW; zd5t$~2Sm78cuw*=S19Mc9$-_62)ReXkxln7)w4f8J?xb@tRlsQHahG~a<`7XH^EiW zM~urEFS#peXEGYJ5qTt`#^=!Qnhd(D(S-5Z)*~`93Ch9a z-@YA+(1_*n@vivv_||>Z554VfI`H5I^-sGb`IY1i57pHQU<{q@ww|f_l-t$gvw#oo9SA} z(574p>ld++&;9(W2dkio*04Jh+tRcYH&dg0HfCB+us&c4OCD{UmChosiHPRWP(Kz^ z?&rFEg0(W#pa%M7b_uFW(48o(=0^0ZzV?xyb)$)m8pd*2cD6cwh`QFg)6>|~$Hr>W zI=Z95{&v2Z{!Hvv-L~=O`$EbdyV&TrQzFU+l@16 zf}Z#Jxt@-UWUid|&hDT}zMF8#+qCz+_4e{*<~Qn=BFFh79;Q^R4?k6B2J4wtI&e0$CG7`+QAq9N=JfN)?M?v&~Pp;IJXh zI(1|=;7obLBgHNjRsV-nZJG*S8R;vAJ|;gE0K51#l)Ii>Du|tE?16QiKTORZZcuan z43o~$)N(&ki~d;=XYa2UHQw3>h%S6KS1aV_9IRdvoyWS)^1iOLxsK)RUY~uLQY;C+ zU8grqQCi#Zd|Q4E1QIO8izRbxMm_2uq~p(@aIddE_5O==Sl2a7IL=6N&5TKqw4KaM zyvpm5iJnjNauXf*Yel`K7S0#CnX}EYKlDD-?`pmIv*F)G)xy4U? zhpFpl?tg;I(vRO6^g}2WUw=y>;)#T%h!1yWiYmA*uXY?kSu(EAec&`$QQKrbKx3(U zdYNOx(sg+4SpW2+kB8%?RW+K@r_QsyHfy{b)i33r7Nf6@I7{I%qP1rFsAoGZsT0Et zAH0QfZEDNV63UL|TG+7{K0UGG>{!>+Qsf~u+*CGxSLH=CoLlUD;TNfkz8zPoT&LCZ z#Yyr{UOFS{V0*zS^<*HvSr1IsT~Ioa-XkL5M$Niv@|gPk+{art-P{rkwD5Qvy65wUto*BL zgqZb_WN>%vaGS;fhMuK%9HJF+2d3O?%WGyp`WG43>_=zP zFH6fF?t@*o-iS#o*v#qUT~K4$T1aDdS+C#TU4Wlb@qTlC=prxph5O^5FX3}XFL244!K=)|Yp*y{6*W{Trx zRA&BMh^FJ(<@9J3x)nz*T2^t`#DRXY_a<4s&D@-gnrKzU;YNd&qcJsg_GC9H+3|rHHT)Kaflsc51@X3g z8_%qDl*Wlu^`ld7Y-SPPghze{4ehHA1^?GEHNKMR*A$rPmX%*feoCy+LeqL$YSwz3 zL62pych@np7qU2$lU$@4p%qst>AB)5{o;UyoMtq0AOzflX$Ay}Wo}w-3Ow&f`-PXJ1w%Y#g;I~GP zccMg9Ybj|qpeV~rm$aQ6&Oa3#g}->PCT3@-%JfXFwY!1jbLi42wS9A^WHl&;qMGMP z=T(vy)F-xP-_sad(HSpOe=e(<6s+)!>mW1*J5e?3qPa+OGD+@2kBtZ3%3Tpnh!XR1bf!348S)&{o?T~Zsf?TrrW^Ous7uer@0L%tt+6zWi?$CKco zw)>PTi=O4f$MM9Z#5zsC)-Zs0>66X|t zqi&?NyHtby@|d*2$4;7ngSK~=7MKD6M^HajP0!C^Le zch|HZUm2==J>S}zZro_}rQv|WV#>33PR?HIJR8Rz$~))WJ730O=#$s`k(F;g!_E~< zn>-yv|LJ~qg$4Xger@;=h(B3ki@e%#=XxIOgqbbf^`VX-yuF!vY$;b!%BQ~akgrCm z5-VmSx2O49@>n(IO`mdu_y&arHM*fW8|%Gnho1+x!=7hP=S<}c+09BG7xW~lEZ#k2 zn1?#>_C?{=AZ_;>CYV6Vw#bTQi*P*5mwa>VgUe^qs&iK&hEx{^%0Kk@C7f7;e`}+0 zCJ)6~@{VOiSC_vU^qu$|HJ4s?jnOers(|KPs@q*o5yANPtJhQQ?tJMDhrT*b-TXKV ze&?79b6VXM@BWAJhE#1OTi*IU!HWocO@oun1TG zl9cX(sOOf*>iosfp~}tR5jIy7#rhCj z?7QomaoX0~B{IXkf|23%ukO6O%6})6o9jmS+M4^~_`+?>-YJv;j)nmqO-aN8l*V$w1|H3QB~RI$6HbE94u`DbaEdGp~O%ls@LtMbNQ}uqFF3 z?o$*SvMopSTbzmxb9RV(gwuXwyYZaWK>Iq2@wD&2%R-#Pc1g?5vJ9VE#J%`?a%w7> zRqx1D>y?~1COT(tPj!&^Y<6nv@aeZM;Op>LrZ^2wnonTW`W&?e`4;%WGZXhTmu4PK z-3{}SQ7BD%oGnhiUHahN5{!nnbft%;TfrU~U7piY{ z4GWSjl6{ws2%S&LefAA_bvgQA$@xiqk{Q+@PjW4QMM~xU-ONtViljxgaQZ~=Ttm`5 zqiQPT(ur=tn-T`8Y9wV;$S~=2x)~1C38CzU-BX667L6+!-8qLJbG#CK%=$iPDNpJ} z_xRhaqz$SU+YVQ&!XkD!E!ChK;*r!NB)t%lOURXk?3er`uN0g}9^UJ!(0_2tCRl({ zpZ4i18ClAbw)`@o#cm_G0({<*PjmiiH3CYM-r5qo(Q`XsFOsknK1D)Z4S`x8}~MM_^KnG0tJ^<%tOqbG~ISDLig*Wy7G zO*{swSI&p6NyuLgTiMxYz_6UP2&=i;aAe$zH4NUCFz?JIbDj0G{KQOKKfw+a8eDI0 z+d_K^E2t6Osd^%u!hwgu^nS^DHz_W^2Or?15~@%z!RdXw-Q+Dyk&I^yL)E2nhAO!6pW0B9%g&aMHFq zQVJM(`moqrya_38w>r4vjKC$=FI247ma&Dc%Zxy>vC-LgYtChPwS9imYs1fPWSmxO zb@ody*=zmSDHDp<8q;y`BzL+j6*cdf=&7C^P6*xITev00&oL5pkVcLf*8AWa-koL1 zAMq5ehhfx}9FTDvmLsH%XZo*v63EcrGU7PFD$pad5PPB)Re0o4g+Mno(@cvPb3Sys zLcpAZm3<^|q2AAv`)=UY>_Bb88|Fn%_h_-}L#PgUoeb~`k8gjXss?e5F)lR{0bN9B)&-K1vrYO6gg0O7K zMkZJa8E!o6ZSCREx(`zlBW+N)c=6k8R2$wIsZ{)i+>T%pqS(ZARO}oUn(jNP*?N{- zBFXe|JK+j`Avv6x0~xB*Hh#MJrnSwS0RLm(`@vL-Z8sufV&p4O&7a&ZiHx|pgGBf~ zNY0JXU=PtB&MfO^bEoVl(+qpd+5xMISoU#=csVxX3OXxe?j0x9ii_6Zzj}al6q%Kp zA}&=+NPQR7ssBZpd>|`hdwk@$zcWk0v*uKc#ijhvNLyvzvfCPBHZ)hDGr=+&*THS* z+Y05Cz#I0(1!wMQdH&Uj9*Q-?XR!*}pLd=_KtC_Jx_q2;f<5A%ie$hG7A`WEd<*R` z8REQ~&$FB#{eks%+p39>Bid*6%tdes)tc=g9g&LjMTatYm$eE=Faa-Pw%f*Vum$=N|I@0ZQ04W1SJnFL z3VGOT$A+x7AIs1@=DmJqTPso>rxEL~BnBC0{U+*iLnHmdgFDhfM=8_IZ&b^?mzYke zI4?4D%3yHU?$widRe^_S^9hmH1pYn`SHvSFgUa#e1kB-3`#MyQq50JEmm{a}(Uf!j zS3Jv(h*7cBbXa7`vf&bBU&wKK3&qNTPA|y6O1Qf0EfIHj!>(tFw*6tf@+9SlrV>ZN zL^HB}C9sipnQp{lS&c4>>Q16nBbBG1_SngH8^gL_bZ;5utqXiE^zRT-!8%?(h(}CjTmOFdyEFuj*+T^~!=bo6XMZ z^p8IrSXwagmM@kMY>6&mb9?_VSJ9HZ&%|&GyZ(k%TO-zkajW_28Skx8?^CiAySnk@ zEcZifnfTL|Zb-EqG&h708f|X95EcwhnI#vku;S6%6dE<$X0M>#5PZgwRml-^=IGf^ z3I3AfhMVusPao{(NN8UvPSIkdAVo3o$eW_wN@1Nu&%r^BW2kWO+E z2Q425XoAgWYJubNy@sFGS#z5*xMz4y&r=wkbiacfk^$LXZoj?i_ALP}|01)aP2NtI+d`b=L^ivV^0VHab6I~zf z*h@~Vca2ou7tBdA`QiMDr`d5wm2zcU!{DAU?Qz}|DV43qdY6TB2W`W93EatLeJ_WO z+Mt&F1y?~D*C$5}cRAQTNZDydEo5IVCSwq4$vMy6`avyM^WK^qBq7wsD4jR(hVwg_ zya4)pIlL_5G1fbdXYy{6ix;MT^O^?7bnt&>-JH2g(X+W+ahvZH*>#)O5kdv`t4nAe zURbIufSG;XI^Ice(&DNU$u<*sEaJ>37bFQw1(HKOG zg)g)5H@3;D+VHvUt^qh5^2!uCt^R~~U$m8N$rs!PCBG&rV3Q(sR-c zH@{cw4J+K0OIY!C46$j`_FGD?bG{|C3Mz9QpI(ikXSIiHV7&qlt+r zco5{C6Ut$ls9vC=58{?38ka5%=r$Jt96QIMzQI>TmBW070grq$* zWqVSVG7TCS7?{hCF3Jda6)i={TX-OhiTd+(r5zin0Yx!=zy_^kRsW}*O(>=W3h6Mv zRiAS3s1$jmHt2}_3390iw8>(v)|6k2PuU7{o0#9)1mD62_a;jP1WLW@=or+wc+o&p z*-%Y4CMwEry6MA1@2?s>DIE$?H^7#6-+J>3dR@+RF!%}68?Rma(c^Wx$Q6QS@{7jNLyt)kamtHqznTx_Md15aiU7R$b4Y zkzcF^@U=lA&M)(xe%?r35}-#1p|n0#2>aqNSm=LQtgiDi9f8i#seHC5N-)g7!*T3r zHOkU_^y*XY0}67t8h`f?`BP5OKMMtc_*;0$Fuv11Q*R1UuH>H4PU|5jfVJcln>e0!tj zjr+rb_V=rAj1rx3 zr(Uzs?WdRBe5*9UU-Vz`sOz6^2=e4`)3&w1r| ztEU;5dGd6uUJR9bF$kVzE5&@llBQUiO|X^fwUyM%7%@m|*pQD&%#k}HG%#4~7CG5M zn_uvu^~qYPKp*Fk^k?T%g?JrRgUNoBBXre9??Qy{`&JY%Gtx#`&?q{Ei_%cToE@a< zPu|ES#b0Y;){IQ-4T|8#=&HRUrDxVOH}7c9ZRItsznU>+TYt6IywIeO(S5$_c%UbVld`SDnlq8+RU1ki$&{ zUbt8^Y17m0{h6-!Xj+Gr7hK<3*fc`gZN6Kt9QKvkJX8t3i+@zqSUTq}(R(^=`WQVu zuio#p;HMb*KWhOLjs4j)4OKU>+)ZNvo_CJDK||XN%56xdauJ|;-()Hz;i1~?#c5Pt>u@=rr5>U8-p)=@-IOKd3z}P1b-|rlNa*s0vQ({*aX++z!A9CHDTz-t;u<#J8 zx%;`We5ggNx!_5;f9p_+{e)k1TWSx!RZgqQKCFErC-SX3zk5rW``4Y@vHBG1H@19y zl&e(PwfN_oij>N7qX_mZTuh%_Hs+&nJa$DGKu3?!|N9D3Zzf!9+WEN;W z{Bnx(Vs8{nIH)G<=Ao<_mT;}l*(|xin&CH(aw4h7b-p-e(JoEtM%K%ypEn5rvqNEn z$FAQjx)7Ez*}|T|%NqEAi31&z!Qw@qdz|BZf;6AJ{Cs+#l>9t0>88&G%6wY}QBYxV z;8wu17uTN9cb%!zGMno!(H0(_!A{AwKfn(tq9)D#Qkw|_&U2Ty4|$4~R{f6aKcx@+ zGuL6nGk5+BNgs=;+|ArwFC&ev8gV#qK;R`s;_oQ`6z~6M%Fw^*@iCK8+^CpiYM{@Q z%K=&!5}n`C{V6#ApV0l=oAxmi5H;z61BW&a;C@GOf2P+T$2*3)c>;eCty@|zQ!4Mc21``5m2)TIKyW%{B>|Hp3{`PEVBtkPNlTn~(3TJc3#5f= zLZKpX;D>nHmIwqQ2HsZ_kQUH%@3<`DDOmqy)1PYo)YQRQ6Of^}mc5NVkf0_7>|p{j ze2E#$-~0P<8rNPOF))#(KMna`G6CnPto)y|!Oo7TSj2iFvJPf$#7$HRvgdf*+z93( zI5@@}g23U0a0m>bVo(d55Cr%LAz&D^860W>!ys_~RvzYNf8ua-bGF@6J##ZK{`@Cmn zcnX>0EpTqOt~>x=_iCGe=bbG<{QJdTJMdq$e#6m)OX@IMJ+wnY|@fOq&5E4R7l-}M4*n)*b0_TTWfc`8aZmJ=EK=yx?p#e9! zuM7^PJnt_-~fo1;zYY1}7f7wy!O5E5`mZAc^glGAxkayRROwr|p+>Q{Qep1fb`5tCN;wFM6B`-L7B$msv2 z9&jY#FJ(x~ul0y~YxehnC2n3Je*VM^g+PEr+WloP)URa-VwUc{wty1-Qbye4v%enZ zm+?X&7+|x{zIq7kFSY diff --git a/site/static/figs/metrics-table.pdf b/site/static/figs/metrics-table.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3d1833bc3a43ce75eae01fcb3323a1d9deaba160 GIT binary patch literal 15570 zcmb_@2RxPU`+sDUWJl^GTbw;?2a%cVtQ;INkG(=>WTdQAgpibxEo6^mXGCO+j8sO1 z{GX%GP@g{E@Avik|4!(6uIC=teO>SSI_JFa>*Cc^P!xfRqG@;=N*l^(XrLenh+u9@ zBPj{i@pi(4<#BE}dxAAs6K9Qg1;K%*T3~g&8_p7tgWxdYy|gq9-qDiSiH3OpM{i9R zf~C6!-bFx3Qw^kah2ZMuYT;tz>0y2AcI1fZ*<8!(nD2uXZ+KxN|n zA1bTi9j)E2fDjNQ2CQgf?}m2)E7}8^DBvv!mUy6#s~g~c2O6*B(&TmmPx-MhiJ|-S zSkmY*@eZ7Wsz$$Kjq)7pOd<7&y0I&hWW&kHL$VCy&s<;DrV16c@jcDHXQ2dS zDqLi6x$x!5t?gYz#BRv7_t&niI<4*A?ula$9;%w?xH4cWEb~opX_i@$X+vhmb#MK< zj8Y$a5c620b)#h#_J{-D^S#NcnugwTrOWC31=+oA&0P__!rP}G_|O#d=kSSfR1JB@ zn4g-+d3sCgIY`kVmElEx!;*6SEyWM45*bRuZyr>`u<86Oc}yfG>Mk%+KX+sicyXQm z31s`C&u5aj1?mp}5{NCcf1xYM^}IpXSK6PkoaAj18dz2G#EGZEu_>3bT5RrC7h0|P zNC_4sz}GY5<32&x`Y$GN9Y5yVD6g4uPnyTqBveg@uX`9$sX420VrYsw6p)ok&L~s+VT` zu6&wB2-FPUZ1il@*AHeKrJl;5`q=dB)177Zpi`y0E*v3~j0^mb4jawu#axZg?ifDe z^17=>kJAs|QpR)R%TbczSZ$ zp2jdMrF7f2Hxt6QwP33mRm>G!2&;=Z%+|$;>&c<%5koM$GR9BYw`%4FTzcpA#Wbzn z(~p|wGZXjFKpKN}Rkm!04MVtU=23ZjbJmB#Nv3q^{VE0~@DAl4dKGGN#y$;6DtS%O z2Lfav))ExBIUVyi61nQ^GROOuo}9s+?mA-*+Hfs2Sh;CJ9`Ovq$d;%o%e9kvO!#Od zLyDk4U>t$rJwl*i_$JnXOv1)(GGvX!E?%+et>V4DG&*aE>ysjvO^(nwgRd(ex4>jE z-3W>m9!aTSY9uu)n+A=Ip1jH(GR3&q$h@dLsagL9k)?M=w}r-BBTz1R853Sgul10h zoReqJ^g{`2WjbIO=57zV=98~9L*7`lJZ&_Bp1}%sotYBoy6@*+2eunvISm>~TYk)P zKZFKFAKE8~SD~HE%fVV9sa`hUJbc{O+c@9AwpXy?`e?zQLT{oA14bj$L$3Esii_Fj z^|CD)3L&ZhmG9P@w+2*~-giS9-n^rE>b-%AHM7gojPYXxnf3^crCv~g@e=zjv|)BW z*(7EJdZKaD-EFpW)JXNTy=z9ZAVXAp049n*Jc1ykSYy4Qq8Xmj@;+Q$b_f+!r#w7i zxkT%3Kg}5~2ABu1g&s|qA=p2!W>Io55b6L$UV0?nr^A7wj!Yv{dOwR!bfQ zNO^QR@rQ)g+P6Zghu?1?s2X`+haGCdGI^&;9F^L>p6fSm$ea~8MmI%{!ZJz!UM&MaKag!Z$udZJqG=D?&a0J?{K z*m{G=RzEKcvD=kifdGCcO1(bMnk+sM#tME6b$V*Pwl7@F*&-cJ05RW@g)?W5$Wnn! zrP}y{q^MP#%Pa&$NlGYUc;{8jjQTWzEfE2rV#+%vOotYgVw@1y5^~*KF-R*}sY$b1 z*SU%#-kdi>>Voq}$pJET#gW+!gh2D~%?z)xlJ`h)DkwjINRJau!@5Gsl&9bG2sFjS zOc>8a)4>pw)23v!fx|Zg4W>}1Rw!465qa-;?vIG*1#22}cWNd}&}F}Wts@@wfHV{{ z;>^JLAz@Vi4Pt+-O~qV?orjB~nj;&sz6>(J8JVXfxhc$t!sJzGC8JuoWvC@b1{hp9 zn9Wa5_f#5vK2hz4XFIeKmxFn|SW&tLIWo4v|gDemb^m*6@{~ z6}YV!az4>GEWt<7zXdwF(y}jEH(Jo$9vc9i@U*Ci-`q-RtIYn`41pUg8Qes7J(Y@1 zoaXHx?e)sAbmO6FZO(6n#$)k)cA;*{rhy$147Z9+j?Pe%QfWthU189DmwZ#~Sdhzc zrm!!Mit}kghpC}YqJ{6Z)&ZVPD(2dLtsLRCl_N(LCrJm-#^L~jsAdoAd%L%6NJKWQk1_46N`#eutlOv?A)JRXc_t^t+L?Qiqugle=m%w5}x@kP!9>#V@I<*$2 zLY*~AOnjAsTmX=i4(?3m3u8~CJ{>N0mXE8sZ=fM_#6XI;hb%y%FX))*j~m_0I=pO4 zbkAYu+4lOD*B({G=ls|2*Z6QS1L0D(dL32Hk7XCVZ8e6jXJzDvUrR{)NPCqre$u{` z>sI>X>`tL^ELYl(cyprJC|?{1vyuL;s!2YPux!1_qj7W+vVq_IUgSYvrcQ!WvP}U8ZL;7-fvxuq?pp!2W#+ zoAb;=wkA`|dXXMp**c;2b>h>VLo#LRWWY9>wr_P#UiGsXoc~&3K)tVDSH8+!L%-R7xF@bGd<(cM&V~5%&E?`jU*6&Gr@$pMX}f zW74G?Is&hXxjYp-;%+p{X>>KugsJzIgCAh1BV0}%^OS8_eOVKcb#aqr@4BT%&@DRe zg;wRgmy%0Q7!o77TECQ)KcK09KIDuczz4NYD|nuH?rze@a$1&6;v;$ghX1g(&27`E zPEZPyzki=0Izx(D&aKem#?A5Ue2=7AzJjM%uPzV!NU3W!`dDY0<=aL4STE5t=0{)6 zuGzjbApzH2uGY|IUFRd$4gzvV{QIGlT+3(d=&FXnwzdU5-4gbiLH6%gdTEEal{z~ZOZ zTvDV$P1{Bl468YK=KJ@Nj5VY6PnRn|kA+1-hL=`O-E_SEwY<^M z%l+yecqin6%<0cpi(mGC|9(mdEknH;Q=F#bG}yn@+Q{E%7oX0pGEsh-m!F%i|I!Y< z7URXns>#kzRi!i^U*6kv#+Oa=*G)z*EWPBavGdcJE4CT>_%Hsbs=lt9Jr`D1GTBq^zEDYOR=Pr6 zrM2S_Bq8}wB3Nd3q|-@q$G3u`>-y@5ME36dTBj3zjK=lI$+Zp9E57MGvBSt6rU%qG zkwfvRDMwpZl@e6DMJGQDFQH6~w;kUh2b4l)lMWqKly?~p@pT>k7*v0HabgOArL0ee%t-U0-D0?-1*sc_#$bxNrD5gDHbUSA*_+7n@3y zI~53QKH!K8tCPe#zOC%N@G+puWXdst!?m-=s|A{`9!)K``#J|VF>_1}+2d*u7Rig$ zn8I{B!R@rB&n^e^Ak!kf68jAlOZ%gq-cgCxrTVhb|EOiQ@4cRu#Vmbgkb&|-KPHCh zz4r9_r{PcSNhhY7wdB2bUZ0QSU~^yeV=V75IDLKqBdv+lxK(CF+fq`=X9RJSV0+q= zEuEcTQYE&#kd$IZ?){4K62|WS3zlb^ud`+v{WqGA8=pv&T~TS&Vy`wu-nITPDo^^t zXkB~`3R#rxGo{=h8zsFbo65tgl6Fl`Za4EIDD*8^m}k6T|0(%o8UMDBeBc9+^do0! z6JEq%rMuiI3w0jnng(m0t~tsn-%4994Mq@8*E7ZL+pj6Q-VTy6&P`?q`xF|0Pi`5c zwhV^1_>@Pi<0Z|c8f#uRoo@d6rP=VNJ5|0Gj_0{kwK@IKc>T%fYrciJGY2h6T1c@6ffS(~U7_vil-lPOjEJimYR63vM=Q z3+~g>#yM7Pl{go^3Vs(T>Gf!^_y)Fy(>rH+L7a^3gUaohdPn!T(#DTB;=@gLc4yWh!2Y86DBa3< ztwD!Tx6PL~>K%lYcxJ|+7c&zBLWBBGg*W2*wUC81QJgE4yOPqHD<19-zB;VTM(@6?&M^TcOdc}kOPB2A^#_%{7R=0NfKa6 zb2lQlMqCO6EQfQ&?~4uP&naoB3hUurEOCxF5jldrC0K``>u5t{LqISLppX{$oFi}t ztN{Gy3PjF>74WVWz~XU^Zp3k1jiCD^jLE^(93bZQ4fvBD^2!Rtd*TDwe^!Usj5r&S z$OFhR=ntj{=&wUiQdUsMIsK&;SV13zhC;#mMsOoI0%ih78KKcA6S$ZW1`YwCFmMnG z2{A!njKmNafQv$#AfZNRINSsYH$r1zKv!ZTmVVo$I#z?|AxU>&Ui>Jb9g2DH@! z0j%Y|@_2w{BO>evZ3d8Eco+z_PxBr0+OPB;QMZ3X&m|p0jdRMvSQi_d{Xein+&}*# zcJ}$YpRjX)vHM@K^G{`db^!=V+~!(DQ~VY=NC;#fIWROplK$fD{hj%fyZ;Ose{$A8 z&-J&vf3MZPv(X5U2n+%cr7$GmV)$>p4ag68n|Sw^w}Gy|bvFv=0YH`L?Y~LVKfL`b zF$z5p|F24J{}*>PMVG!c3qDBMcN{0!0}ifQ<_Wf(8(IP#6RdO;8||7zTt!LqRCu-~x$8 z0@uJV5(;=7YJxx;A(3bx6v2UQ4K%}`K`6+6JVJ>9n7|-Rkm&t^#4uteD2x#b0wsne zB*3Y|fqBs=BNzZ8I0A@L5F;@(5Z~ayF9f|Gv|zx0Xd}27pavjCios08h+Sd-1o!?< zJrD!-m;S3i{|>=_gZnoY+()(u5N7~rqd;QBl>zqnZ6HG-4nP}dbr9O9-$ENojD0__ z4cmvnzAArUd;fjm;3^Kh4{D)7|5)UKwYjzaty1aYCKNwwRQ23 zlq`N+g?h(z?2O;_jv2p7c8KJVF9WpzLq%?N4O!A&4S5}^q6AYrk4|bOF*_Ccra#N8 z9(BK*@!A_)Y@%NO;N9Wne3C|T`CCke;{^n+;vpD=g_pQKlW#iXgP)=E<*x|^wyx$iCB^={RjXz_rbNQ&Y& z4^#l@-5^&9Oj>?_o!(VGeiOp`NUrV9ZhR6aw}i(<_y^_wGcKs6(KQ}NVcm0`lJXC5 zc6Izt9Nv71RPmqMimkmA1JzrusxfWTjdRzZ@QC*k=Y3YpcA-4Xwp8flNb88vRNM5b zmz>h=xbvCGSyuNHdsFAjWfUiPFtbP3#u?ezax$gSbI6?R$n!$^;8(pD8y_<|1c`5= zM(HlgM_-4xm3x-^R>@YGVYPNH7>(6dUctU1J(Ny$h%f#HiG87(f<&QhqG5)f-Lpis z$CIo&8Q?QzKAoD-t7c}jyYnLH8Ic}cFTHcsg~y&p?;hU{TGEL#F)-lHA?uDWW=}tJ z>|S+K2P*j8m->$GvZc52-g!gf?`>w~U%uS+P2|tr%)iBY)G}FPrRJSM6$-ZSWM)9( z+66zfP_?MzmJBP?Q?B~K-pQ*CpA>jtr-VMQZCn&oFYAdKIsdSskNWD}ED-CNt0COS zEST6&o=S1bG5uORh+6NB2p9PdXI2TFir$Rc60x@0d_~*fN|<4s6rxvZZ7DCH?!S0v zmLMuD#tM}YSAa2`SeaYAoLKGjyeh13vW3FE=;_nx(N84G;T~ul%8bSfGIbYt)C<+zU|=yXFp!yW}Xry-Tdc(l0Nk(@?#=oiNBMS6knC+d6zv zM%g%tf{^&&K3oPX$VC?s*BSeU*QWi^)vK5b=~2s%6LG%5h}J;zXr-a-I;Jb(%mLvO z>N!D6NL#_@7X(goANoGDymNA@%Q{>MvkQX|Tl zX!aG@N^vbI8;J9b>Ju6*JDstyC!ieie0JUv>PD+`$^EvJaURlq1L3AC8TBjv*so>z zc}C=11xK-qZ#c)iS3abpO$q86pTCtqZcvDs86eReKF;z^ePm>kGL^Ibe8ER^DsWNO z`}uM-Jdhd$K5-mlTu61oEG8wwx{Gh zSKXfrJ`;TS)tR!B7nOuwWw0)#9<>pF!j@9-q*whx&@w&$5lTvx;D$B3+Tf49y^%fh z^-|wJq1_+KM#V$JdM@y-H5XNq*1b2|UWJZ1>t!?}Jc15~*mq5MXq4}A&(i0)U15%{ zJE|!yVfHw~(baV5)UH?Ri4`VNLCu>PTyv>&XIKqMISUvQI%*)$+k(QEPZV!Xo&0D$ zG~fY}=B<&mm~(bh5uzQ^+$0NHN+2PTj$TNrQzxJ2o_XPIz;c4DHdpe|4H_%Tfvkb#!=ZiHR}BRMJ&am4#OhC<1h?PlyDGyc{U|L!fv0dl*DpH(Q%X~@sm`Csc*MsY_Iz97KIMe;N%*|P4L@928o_P6^RPM*`4U5Yq2@vjHXM1 zk8T%dp?oq-=;>*h zo_B035*ngu=bX$m**N*sy4$Yc1lH3GG&8&2^w8F}_tnHXZ|^P5*R+w7W6vsDyJ(H2 zd@mmTMtvmxB*D|bdGxFxr+F`3d-!bAx_X+W{5Q;<8tH{?=>@*IMtY|dowM)9LZbcs zI_QP6WFIopex_d#_pB_xqq4N@fHO2QRCH~%FXLD(;=6zQ$@90jUMua^(MQo;dQiOA z)SaE=*m68#h)NE+-7T&2jDy7!%W0f89zcKAVMrN#YSJlc?KLhjrQT{WLS*DwQ+=)L zq=}|--lBQ1VvRYa;+ebMREm1XR|?CW65L?x4BS`KkMn^W2I}dP@^X{O4Ze2lG_2+J z4!(Gqbo+Mdodk;EciYj>mrg4rQ)vV5s%~}ru%%a}q|9shJ1g7ZPA8A8Q!|5w1x&hT zl*TKMXlz}_g>CkZyb>VEC=DPMxTr@igQ8(Z}W zJ2AGK{mALZczaqIx;M6BONY-*ELm`tBDId9KU#Rpn%(8)Fl_mFEV9#Y*lW;fQ&qAA zbfyT~==aQh`oqvn$6=!{EZ8ptv|-z>V|R0IY12NZ_mF+4`SDVpkM`jaZd$2qG3U#X zEdDG*hdG_rwAqUTnFb70iXiYY>&+;Zqon2^6y7o1Fc1=RoLqmeXK75(K7uEBn0A5H zu7Kwk1Ji3ihE|*3*IDx#p-i0{P?A;_^JVt0STi_pX@BKqsu(Y!K&Zpn-OYWis^4Sd z(&N3D!sm-B#qFkrx2bn8Fe*gjjkTMZw zoIf*gtQI2S{~4W8dn6s)^QOFKLDdOG*B~9jQIzl;wGeZ0wsn-<-TEU_ZQ_)_8HYAy zweka2Rh>l1dG&~F!zbQ0jpt~+5|hu{zAq^j%_$1F9-pEw9HE-FjSWrB6*~Jp&eyIp zVQOIc_OXlBcj&s+MW2{xdpSjeI>y>Eu3eZm4K=SED0$i3rQsoMDpjVH8gP81y%%vd zGb32r-`2Dy@ui-XZ_^A^e8RpV*^8T;wlKV}^L#m*;f%!>I=03Eth%agO{z`Gh<>2I z!mj4`k==2b&=u5*Br?>+sLamF%YO%&l9x0GxlJ zkUMtz5m`Q-Fs<^Ee=a8;v32g*#@kXsAF0JriK%AG!>_zfW@*bY-H8ls|6Cw)x=kaV zVP#Q9$Y_zUtCG)+Qs=oRPIvUSMJ{-4L|qKI#d23oFGa0jBy4@YA<3x$6?Y%@y5j4z zH)P%F$`Q=>c5QsvzND;ahia(C#%=KSMr}Ryh|w#!U@caeOR3Gy4mqo+iqM# za>J+?OIGA%a9lf+Jl$N9y@|1ksjcaPrVK>2ZpNHi0jvUX&brk$Fd|Vk!*eAjmUAuC zy6d9&vLZod{Bxh932J-qq;~X$dr_+=zt19WziX+&1l8KEHBM(=VHcP3qf6;NHS&D1 z(L$v2)J1p?+>PYA9LY)CV>YQOF^t#hLMNev@ilVj@WynF{}{+Ey7Y3a&xb&=7c~nR zYj?kYU(;JuehX>*sF!OL{Xyw|PBWlAA1 z_R^DXshaBPps}t22W6GfR%#!Uh6Y0Z#6qcPsp&_sDqVWUOJ!W9&ve|`6nGbn+8LT% ziHJ=aD_P&>E1Yo-L+9Vz_qurd#vQ_xI|S}p%2tpzUofGSRBsvcX;QbP)hUqP@56-; zbKi|WeX4)1K>ehi)#+qqgW1p_$_aU)khdFmK0}YpU-3EePT|zU+Q!}LIz*EiChipi zet8OKIjw#s#&4B(I>P&tmt?4o!k1TS(`Uw59t6^TM@UX>3U4i{P5TMwF0o(Kud7w7 z_N>#DTO)ZE$w6`Av>q9%kXxW3H81I=*=uugJ5$OkDAMf7_iH)y6-DAb-Kbz)NtqoR z+HZGF(o)$%<|-l|xz;^`n%jQ|Lc~}pg`xL{?)D*Kd_N(1TzoZ^dv=#5| z9ZRv}{3hX43?rExT6Fbmn>*|@OVbvz(}~$89X)!{3bcDP<;khM-;loh)YpIgCI^MX zPzS%sW$9j3)7EE~8DD-;zOHU(w4g8_$x7Cmanw10hUv0<@MlfgGs3pmtcL+X^6;R| zp(J{xQF#l5E8j>5bD~2yJjF3`*j(*Oaxi8t>i#92ewmk}FrTB_8sNV9M{T29->SZj z_N_?Nu572oxl%F6#ar@Co_9Gnpm^%`2#egNYJzZe`%2kB)5FF$nD_ZjfrYU{H+R*k z?6PX}u^wzssRE~-EZ|MIj4(H1GW-dRhFWsQLo(rz{Ji`;PFv7i;k5`qrWw8Hhg+LG zO%ONvCH$GAC83kILz`}F6>fam3lW%k)AQ|9^`8BqGlhx%lcdL$!rL+xU9&2)E8l4s zwtfwJIC>-35>G#Tn$bJ2YeN^jSe8RU+Ry zxU+kw=;=f}e9hBwDtC;+!gOeUdPNT2DosE`<)*kZOt}%JKva0unvdbj8r<^tx_OXYvsZ9yj-TW*<|k>pRJ& zl~{;qfb(5;bmA<9p@!fW)?9&vn0`C5>`uqxOJ{ABDzu>RXCoKnPpKX@?zc`8dN-nM zr~f7k?fAv#vdt^wOI^Ef<*Oo!Q{*6U2SF*nbg3k1Wi~@tef(z;?Gtx5Nh~?m%l(T! z9}c$mzJrJv5kk6{$lWqcmk%$S3}0l2k~XevU%o?Ap=cxQ@SbT?!za%4wqXzdlE{WR z!OhDbLb6H$x$&ap?ndAEF@oG7mq~9bfqZ4o=ga9gSc7_Vaws|Izs^9ocI4lXrS@Dnkt<{lGg`I{dvIsi80WI{JUL{Up|sfwf7O85 z-7xWx@Tii}ha5+rr#Kg>Ax{I_+#7u~Uua~yWxUx3QAy>X@iGsi~owcB*6jW^Yt`Np`oFibIr&L}yWy z(z?{-JAZ;T)yaDb_pij7y_cYL-O@0dll$DG>(4c=wlq&jgjQ^DXyu8szK@uVbv;4iOT8yWU^97uAaT*DW7#z?U zu!uf2H963#&v4|6!HnSDlj6_S&ZRttrIIVL+XhBlWx-x!>yl=kvNsX~^=PdprlzAJ6^uTeH)_=IuArnRgzwR&A6BH{ z%G_2yU3p{jFP0 z{(qp);K+k9*TT%w%*@Q%$;`|ga=tr9%_1OxQr7s+?R!aIE^-G22L?{l-6ABCFi$w* zv?+@00t|T1lxLDYOx~hDe7HRl3E_@i!dlO3~@a#}H3(c2E)$evt zW6GkV0h@HPRm02Qx1g9}D5S$OsXm#65la!J2Rf$6Nr8P#cTe)AE!FyEE_+cvGs~nc zaFST?z&&h0AaMDxKDwBG+2ezA zO>|XkBR$T&M}VCiK|v#XrMs?jWuQzKWF zA@r*xIRT<6(|IfD?R-l!Qqhm(3P+>d^@)lK0$5vVk?&3jc#=-NrZ44Q-|lqdbfxiP z->QFG!K`6-yZG|#>X*_vt(aNAOHUIQY}($W@>_prFI#ZivmP4z?wBQQDgb|wdOgO) zCw)da61fFS=yrICKQ;JO>m9Nc@44!HNq6u=ZR)u~+vL3$U96ccl0vMRy%}YNAoXxV zS}p9%Ws>9Lw#`AK+*-7-(<-c%iv5>vk@pS<<%avvy2v36Zb>L)kZ(l^7~Q%W^O6@E zDD<31K$G_l8Tpf$*fiM$V@Br3v8q9&x-QC^X(}1y`{JF)U99m-$Iz_I$qePdpPs^T z?A>F90X( z8Bm?(xd?;Tyz)<8)pl8cGH` z94r&Z_!b%P21W@RPtxw;WixBrK7A*v^FE}Ox8g$a#qv%=&y$O$jf|N=0`JHk+qr~y z%`i|Uf45r|;^-vYi)6ZV26oO{*u%0UD}kf==G`g$YN3Thk(e}{d1(ukXhM0!a%aA~ zlmAKIAsr0=H`4JOu+!p{nH^^CmX=45?*$nQ|<`N_ZnnFklf4hH-5)dP%0^0dptZS=kG0(Ioy}*dq)l;gnQ%nCt!8 z$|cGNm1@_PSwpM>_-rWUo?iL_D!I-hzoOP^Vnr!8XYe+-$2-wfcAiw(<50TlSsMm% z%NuGiDWlS*@cH38M?h^^OYP(g6dzseW7&tE%*EW0kmvNv&lf4@U8hrQR?17# zkBFPHg?1k2{ah4}$|@V#J#_uZ&E(&i@W6rEe=s4jFyyaO4kok8z2LpMaDy z5b5S2-0wy_a746!sQ70Q(qCtr2I^{m9{E6_m;*yg%6K{9EbM?oSaTp9#8HZWrK*-6 zWMe7Cua8uRs5{Byuh^XTalvc*Xy{n@*jb2K^2&->>XXjy`=c}yNCnVL@}5jwBN+dPKw_^T@&O+AlTd4 z05vkAVxmwHDEutQ$_2KQN?=rIomrg5nHmUXd&Y2?dXQ{5^;1r1I)Lth>gKt-5gy-_jMArAUJ?+48TxP z2>8#5{yaql%Bw)ciE-uxcQ+|+?mtEW>YRQ*4DbLL2M#O`xDx-f&P$5_UkbhW!GA35 zzsv_1^Y`-s9{59VNuZ55Q0!%6(T1hd?C3zqACr z1$5mn>LS)^{nxGsS{~?1aM1yLD6Q*g=Sc8$!~%&!HWvHkX+P%sqh@TsjUQdj@aW^iyI0*lyAT!CQWPRv|VR*>R%cek+=$H9>1mS`Ma1c$%?5QAFbL?FOR z1aDy}W(k~4<8YRc|J5Is7JupC4?Rl@F#boflq=v8D4>X?g}4>L#R2CAfd6lM zfB|IiOG^R|fg~$?y!1Y>vG#61F6?cH5EHk@Ia*8cdx==$t#I!4Zv22<_gh>3u${e) z^pA`Ee&D~y`i*7xMZm@Zj12y3TT0V_{*PY&cLV($i-3eJDSl64qyese$$|57!CTQl zfMfz1qWAV+7-HrT90jrh{Usyj&=6lB$G>H0;NA8Y88PeNR~Z5*0Q^-36bk+-L!gns z5&O^MA<#gY!!I%j1juS2%AkMi2LKRw+akXH)( z2Uz5vG8F0`YeQmSz{jtj`=Wq4%zw&&Y>r>s!G6;hi2^cGei;w_&vl^Cn19#+$Rzo7 zZBPjOA2x+TiHRyd&jE!&(ZA{kg`t3Km0#Oo#C}~bz?~6ONq*893WpPuseY9KNix66 z5SV|oLjcKd`|b99PUGf+1CrQWh;_r-Ha>U&yWsuYJmT9nkjX(H0EMgjm&yu8lJfFU zG=L*03;~58#N^LGF!I1Zm>dQ$4pt1VC@qOrgkTg=^72^3IS3jhuYiEc!Qpa>NC^C# f97+y?ktQY_xw_$8-1hehl&B32FYmbviZuTZgkjJJ literal 0 HcmV?d00001 diff --git a/site/static/figs/metrics-table.svg b/site/static/figs/metrics-table.svg new file mode 100644 index 00000000..1378203f --- /dev/null +++ b/site/static/figs/metrics-table.svg @@ -0,0 +1 @@ +