From b9b9ab768179c34c10d7d3361a746822b4c7a9ef Mon Sep 17 00:00:00 2001 From: De Rouck Date: Mon, 16 Jun 2025 10:37:39 +0200 Subject: [PATCH 1/7] added skada.datasets.DomainAwareDataset to the doc --- docs/source/all.rst | 6 + docs/source/sg_execution_times.rst | 100 ++++ examples/skada_logo.pdf | Bin 0 -> 8388 bytes examples/skada_logo.svg | 686 +++++++++++++++++++++++++ examples/skada_logo_full.pdf | Bin 0 -> 35791 bytes examples/skada_logo_full.svg | 785 +++++++++++++++++++++++++++++ examples/skada_logo_full_white.pdf | Bin 0 -> 35735 bytes examples/skada_logo_full_white.svg | 765 ++++++++++++++++++++++++++++ skada/datasets/_base.py | 20 + 9 files changed, 2362 insertions(+) create mode 100644 docs/source/sg_execution_times.rst create mode 100644 examples/skada_logo.pdf create mode 100644 examples/skada_logo.svg create mode 100644 examples/skada_logo_full.pdf create mode 100644 examples/skada_logo_full.svg create mode 100644 examples/skada_logo_full_white.pdf create mode 100644 examples/skada_logo_full_white.svg diff --git a/docs/source/all.rst b/docs/source/all.rst index a562929d..49341d5c 100644 --- a/docs/source/all.rst +++ b/docs/source/all.rst @@ -242,6 +242,12 @@ Datasets :py:mod:`skada.datasets` :no-members: :no-inherited-members: +.. autosummary:: + :toctree: gen_modules/ + :template: class.rst + + DomainAwareDataset + .. autosummary:: :toctree: gen_modules/ :template: function.rst diff --git a/docs/source/sg_execution_times.rst b/docs/source/sg_execution_times.rst new file mode 100644 index 00000000..f211dec3 --- /dev/null +++ b/docs/source/sg_execution_times.rst @@ -0,0 +1,100 @@ + +:orphan: + +.. _sphx_glr_sg_execution_times: + + +Computation times +================= +**00:58.637** total execution time for 22 files **from all galleries**: + +.. container:: + + .. raw:: html + + + + + + + + .. list-table:: + :header-rows: 1 + :class: table table-striped sg-datatable + + * - Example + - Time + - Mem (MB) + * - :ref:`sphx_glr_auto_examples_deep_plot_divergence.py` (``../../examples/deep/plot_divergence.py``) + - 00:25.357 + - 0.0 + * - :ref:`sphx_glr_auto_examples_deep_plot_optimal_transport.py` (``../../examples/deep/plot_optimal_transport.py``) + - 00:11.750 + - 0.0 + * - :ref:`sphx_glr_auto_examples_deep_plot_adversarial.py` (``../../examples/deep/plot_adversarial.py``) + - 00:10.929 + - 0.0 + * - :ref:`sphx_glr_auto_examples_deep_plot_training_method.py` (``../../examples/deep/plot_training_method.py``) + - 00:10.601 + - 0.0 + * - :ref:`sphx_glr_auto_examples_datasets_plot_dataset_from_moons_distribution.py` (``../../examples/datasets/plot_dataset_from_moons_distribution.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_datasets_plot_shifted_dataset.py` (``../../examples/datasets/plot_shifted_dataset.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_datasets_plot_shifted_dataset_regression.py` (``../../examples/datasets/plot_shifted_dataset_regression.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_datasets_plot_variable_frequency_dataset.py` (``../../examples/datasets/plot_variable_frequency_dataset.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_deep_plot_deepdadataset.py` (``../../examples/deep/plot_deepdadataset.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_methods_plot_dasvm.py` (``../../examples/methods/plot_dasvm.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_methods_plot_jdot_da.py` (``../../examples/methods/plot_jdot_da.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_methods_plot_label_prop_da.py` (``../../examples/methods/plot_label_prop_da.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_methods_plot_monge_alignment_da.py` (``../../examples/methods/plot_monge_alignment_da.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_methods_plot_optimal_transport_da.py` (``../../examples/methods/plot_optimal_transport_da.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_methods_plot_reweighting.py` (``../../examples/methods/plot_reweighting.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_methods_plot_subspace.py` (``../../examples/methods/plot_subspace.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_plot_how_to_use_skada.py` (``../../examples/plot_how_to_use_skada.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_plot_method_comparison.py` (``../../examples/plot_method_comparison.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_plot_skada_logo.py` (``../../examples/plot_skada_logo.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_validation_plot_cross_val_score_for_da.py` (``../../examples/validation/plot_cross_val_score_for_da.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_validation_plot_cross_validation_for_da.py` (``../../examples/validation/plot_cross_validation_for_da.py``) + - 00:00.000 + - 0.0 + * - :ref:`sphx_glr_auto_examples_validation_plot_gridsearch_for_da.py` (``../../examples/validation/plot_gridsearch_for_da.py``) + - 00:00.000 + - 0.0 diff --git a/examples/skada_logo.pdf b/examples/skada_logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..20dd48ad5854bfec6db1de15ea1ccc5ed3d725ea GIT binary patch literal 8388 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πNkHMTyn;(xRO?P_? f5c2aS0{j!n3ybo^{!6`sH literal 0 HcmV?d00001 diff --git a/examples/skada_logo.svg b/examples/skada_logo.svg new file mode 100644 index 00000000..6b09e7c7 --- /dev/null +++ b/examples/skada_logo.svg @@ -0,0 +1,686 @@ + + + + + + + + 2025-06-16T10:21:49.804606 + image/svg+xml + + + Matplotlib v3.10.3, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/skada_logo_full.pdf b/examples/skada_logo_full.pdf new file mode 100644 index 0000000000000000000000000000000000000000..43407530535a80a417aa968d878b5d2ebc8db783 GIT binary patch literal 35791 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 + + + + + + + 2025-06-16T10:21:50.015760 + image/svg+xml + + + Matplotlib v3.10.3, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/skada_logo_full_white.pdf b/examples/skada_logo_full_white.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0482f14c58ecd0e8069b4bb36f816e9044d2412d GIT binary patch literal 35735 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 literal 0 HcmV?d00001 diff --git a/examples/skada_logo_full_white.svg b/examples/skada_logo_full_white.svg new file mode 100644 index 00000000..74c5c2ed --- /dev/null +++ b/examples/skada_logo_full_white.svg @@ -0,0 +1,765 @@ + + + + + + + + 2025-06-16T10:21:50.123952 + image/svg+xml + + + Matplotlib v3.10.3, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skada/datasets/_base.py b/skada/datasets/_base.py index 4deac02a..0b4a3dad 100644 --- a/skada/datasets/_base.py +++ b/skada/datasets/_base.py @@ -62,6 +62,26 @@ def get_data_home(data_home: Union[str, os.PathLike, None]) -> str: class DomainAwareDataset: + """ + Container carrying all dataset domains. + + This class allows to store and manipulate datasets from multiple domains, + keeping track of the domain information for each sample. + + Parameters + ---------- + domains : list of tuple or dict of tuple or None, optional + List or dictionary of domains to add at initialization. + Each domain can be a tuple (X, y) or (name, X, y). + + Attributes + ---------- + domains_ : list + List of domains added, each as a tuple (X, y) or (X,). + domain_names_ : dict + Dictionary mapping each domain name to its internal identifier. + """ + def __init__( self, # xxx(okachaiev): not sure if dictionary is a good format :thinking: From a4cc01cb9f0efae0e980f0ca92cfe512d66c5268 Mon Sep 17 00:00:00 2001 From: De Rouck Date: Mon, 16 Jun 2025 13:33:01 +0200 Subject: [PATCH 2/7] gitignore, doc generation --- .gitignore | 3 +- docs/source/sg_execution_times.rst | 100 ---- examples/skada_logo.pdf | Bin 8388 -> 0 bytes examples/skada_logo.svg | 686 ------------------------- examples/skada_logo_full.pdf | Bin 35791 -> 0 bytes examples/skada_logo_full.svg | 785 ----------------------------- examples/skada_logo_full_white.pdf | Bin 35735 -> 0 bytes examples/skada_logo_full_white.svg | 765 ---------------------------- 8 files changed, 2 insertions(+), 2337 deletions(-) delete mode 100644 docs/source/sg_execution_times.rst delete mode 100644 examples/skada_logo.pdf delete mode 100644 examples/skada_logo.svg delete mode 100644 examples/skada_logo_full.pdf delete mode 100644 examples/skada_logo_full.svg delete mode 100644 examples/skada_logo_full_white.pdf delete mode 100644 examples/skada_logo_full_white.svg diff --git a/.gitignore b/.gitignore index ed833eb7..b2155416 100644 --- a/.gitignore +++ b/.gitignore @@ -134,4 +134,5 @@ docs/source/gen_modules/ .vscode datasets - +docs/source/sg_execution_times.rst +examples/skada_logo* diff --git a/docs/source/sg_execution_times.rst b/docs/source/sg_execution_times.rst deleted file mode 100644 index f211dec3..00000000 --- a/docs/source/sg_execution_times.rst +++ /dev/null @@ -1,100 +0,0 @@ - -:orphan: - -.. _sphx_glr_sg_execution_times: - - -Computation times -================= -**00:58.637** total execution time for 22 files **from all galleries**: - -.. container:: - - .. raw:: html - - - - - - - - .. list-table:: - :header-rows: 1 - :class: table table-striped sg-datatable - - * - Example - - Time - - Mem (MB) - * - :ref:`sphx_glr_auto_examples_deep_plot_divergence.py` (``../../examples/deep/plot_divergence.py``) - - 00:25.357 - - 0.0 - * - :ref:`sphx_glr_auto_examples_deep_plot_optimal_transport.py` (``../../examples/deep/plot_optimal_transport.py``) - - 00:11.750 - - 0.0 - * - :ref:`sphx_glr_auto_examples_deep_plot_adversarial.py` (``../../examples/deep/plot_adversarial.py``) - - 00:10.929 - - 0.0 - * - :ref:`sphx_glr_auto_examples_deep_plot_training_method.py` (``../../examples/deep/plot_training_method.py``) - - 00:10.601 - - 0.0 - * - :ref:`sphx_glr_auto_examples_datasets_plot_dataset_from_moons_distribution.py` (``../../examples/datasets/plot_dataset_from_moons_distribution.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_datasets_plot_shifted_dataset.py` (``../../examples/datasets/plot_shifted_dataset.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_datasets_plot_shifted_dataset_regression.py` (``../../examples/datasets/plot_shifted_dataset_regression.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_datasets_plot_variable_frequency_dataset.py` (``../../examples/datasets/plot_variable_frequency_dataset.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_deep_plot_deepdadataset.py` (``../../examples/deep/plot_deepdadataset.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_methods_plot_dasvm.py` (``../../examples/methods/plot_dasvm.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_methods_plot_jdot_da.py` (``../../examples/methods/plot_jdot_da.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_methods_plot_label_prop_da.py` (``../../examples/methods/plot_label_prop_da.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_methods_plot_monge_alignment_da.py` (``../../examples/methods/plot_monge_alignment_da.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_methods_plot_optimal_transport_da.py` (``../../examples/methods/plot_optimal_transport_da.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_methods_plot_reweighting.py` (``../../examples/methods/plot_reweighting.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_methods_plot_subspace.py` (``../../examples/methods/plot_subspace.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_plot_how_to_use_skada.py` (``../../examples/plot_how_to_use_skada.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_plot_method_comparison.py` (``../../examples/plot_method_comparison.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_plot_skada_logo.py` (``../../examples/plot_skada_logo.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_validation_plot_cross_val_score_for_da.py` (``../../examples/validation/plot_cross_val_score_for_da.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_validation_plot_cross_validation_for_da.py` (``../../examples/validation/plot_cross_validation_for_da.py``) - - 00:00.000 - - 0.0 - * - :ref:`sphx_glr_auto_examples_validation_plot_gridsearch_for_da.py` (``../../examples/validation/plot_gridsearch_for_da.py``) - - 00:00.000 - - 0.0 diff --git a/examples/skada_logo.pdf b/examples/skada_logo.pdf deleted file mode 100644 index 20dd48ad5854bfec6db1de15ea1ccc5ed3d725ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8388 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πNkHMTyn;(xRO?P_? f5c2aS0{j!n3ybo^{!6`sH diff --git a/examples/skada_logo.svg b/examples/skada_logo.svg deleted file mode 100644 index 6b09e7c7..00000000 --- a/examples/skada_logo.svg +++ /dev/null @@ -1,686 +0,0 @@ - - - - - - - - 2025-06-16T10:21:49.804606 - image/svg+xml - - - Matplotlib v3.10.3, https://matplotlib.org/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/skada_logo_full.pdf b/examples/skada_logo_full.pdf deleted file mode 100644 index 43407530535a80a417aa968d878b5d2ebc8db783..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35791 zcmagEb97}*`z9Ql-RT%7wr$%<$Hs|myMvDHq&s#x>e#kz+x8^S^ZsVuZ|0A0omH#q zzUubgM|Evd1rae?MmiQa(y|pmX%ieHfB|4@XaUE=1EBxzZU+R=3mZ5YSlOBa=oJi1 zfsO#C4+SLvA0Hgh#`sf_O9RtIHc&0F9gg?Ei|QZcgILP6kdu0L#CC zf`OA0(7^`4`YFQEE1MY@o7_hnU9ppA{~hs5}4^xtjy-2R_F$^dOl zoyLk zzQKOKNm0PlliWaz5YV9(lP-?0y<_W^z4I*|i5T@KR-0B$`^z&Ev9PMFyuCb0&D%a)_fzYwU+vEmgvqzR78$i`%2NaR z-ujXG_onoK2GYJym+O3dZ@1g7^InM$%9ftx)cZG@$4{@76~1k6*H3$um@mj`9*FNd zJmTrawtP1;^Hg=o-mh=-^Qm(L?<0Zj4|n5HHxf-1mjQ9X)q-QY;tqFYMdI(qw-4 zW@p)6&$0_AYLcznw3Id+)MK8xE9TRH<+|6p@{X71uGGbHg-nGu#)qCWh5gPVIEjANuT=DFHGA0Z zytFklY8HFir*%4{?H+sEGP%6HKe;)ed~o9TE5$4dWcW_fd^uvXeP3Rl_=jeq*R|j0 zQ#JikC0}gN`6?E5&B?ZzSEL3+?d+Z2jpG4m2X>k8Ty(I8r2pywm78M6p9Rd zjrIe1R*)#`Pi0Q5lVA==t{N_t5jzvCpWN{$)+LE!TP&)^ob>TT*`)~Bi5;VKj@mqu^?!hAQJ{Ag3;Yq zwpqI++f=7m7a=B%@G{X1u?#J-&!;h|IJp{Ld-ahh*^{t%-m2TTzLu$t??)KvL%;m-DS?#`d-fv**nX z2dW4*$rg0ZDZP+WZunC9=SSVeOKUQpwQhlk_%J&g`(l@!SA0CniJGxHQqceJkfs--cvmq}8imXWYoZaQSF zt~S#z@1qL4zNszo8lq{=d>{*%JD{bqZRw?;OZ3(E;%)Zcmyr_dl^$2&FU|#Dh1NAT z0u`SjO7%P0<>u(~1(f_R3G|Vxvw9>21u8;JH!YN)ssRMEgY+O^jqPg(y6q79Z2kx_ zq?HlzTDnxBO4;~Xl0R`^4+WyUx>iK+GK48c3sXlh8X-g!L1G}k<*e7`Ro$H-N2mKG z=7IJ;B}$GNNU3JLKG4@Vu`s7_)=eHxsKPQxWlG zOtm5L>Vn}iiDVxF_n0_HQrv(1rS{&6mm$+GZHUi}oYbP~>cDO!;sFt_a7#bdoGJdTR%-WvO(q2)&N!pXuWQqt z-9V~GT28T(4UNMO3dTE@#}{Ax>h>NKQOm5Mt+nlh&FdGWu+?whqiXDSpJ#s<^7{>- zQ7Bi!qwf2qpux|1rb_xF-;OUv9aiZZ&|;V-ey!@A0x3~2;tw+U+dXgr;-ok}#78-z zjG;;!{xnI*eGoW1sQS~Wxn&_2#!=B#@Qa~h6-m2CXw*wD`hC>=Q6M>#B0#K_ zDpCCOA@cz(InGooN=U~AaiNg(3B-mN$+^?}IUFuQ<+avkNfzcHv@Vey;9HnYM#)9L z`|bP?i>xU<=y4u1;KuQ7?#9_P6c{DarLap5F|C-Sm0$BQvQQ8CDVW|9N_I)r{P+*V_nw642 zT8toEEdIDq3&doV&!y;qCwe)}u(e>in=E{DMoUqh4`q!pu~}G{2Slscj`9{>{HPM# z2;Y&pGj5aruG;aQ48T~gH|w(RW@=WxUDp`9K~0b7MlUTB30JGtnAQXpFdqL21@ps))p!6spZGF7 zamu(Bldutn?Ka0t7%wQ+D^n!)D>#D!#x&@_DUuRs5=2lc%B6-%e*(m;90p@+?y__d z@;b!JZyX0Noh35!zjLw)$q!tPgg^l%VkQEGp3s*m$nOTi5HQqXtz3^btaFHO?q!@V zCqz%1!ZA{%lodh^AVO}PAHRQR+!v>Qyb$J0HI<`L8W<}CjWH5or<~QHQB%Zwg1E5w z6YW^kGijT`4LIUA4Or$lL1-GS(v>gqnQQ~HYiiBK^L3VUSP}&+y_h4ABbVh&Idw^> zI#Z=l0*D;=oBcvjGC*h!8&7JC2I^!$K;2*3>tV3bM%bIp=tW-U|}jP@XZVwmk}Q6unQ*!hB4oYQGQU*$}Yr4tAyLmlRq z0zW{;Wyylb7#P^=vUPuwYH0Su5LOdetmhK##SJFQ`I`UjklNz6A?-~P6Ulf@%3+)H zvY$YyNe~tP>m4{QD?eoqb45uOTZ5F6z9{$CQSn=CB%&{jFwtMGG=895hKZNF4x@XJ z1+E`QwrORW@!RIr;4ZVaL^AxrtuX6%SgCDxK;Klf7em=o3hF4DOzICK6oPM#WHXRDgjFMUIk{!7qvo1D&`%n8A@sG<5TczLO`-6k&ZzVuX4H7&LMP|` z=CS|S;|Xh%jiuB5O3NCvp&qV33v~436leMKlaNWS{DB>ECAGTSP$?>;!|_+*+9v7W zV6hQ0B5?{o^OR_9aain@NZ;_)ObS*@+ub#|od8hsOD(2kEeb`O_|+X3aMdWs1;Zn# z00in?E!Zt66a!CriwSTy6UexDCoA??Y;Qw1-YXY8|B;$6Y|eL*3i$|KG-Y7R+Tur6 z)MdqPzXbA-_$G&8T>KN!;I|v{k#g8YUjz0%>_A8Qehu0GhDnOF&lf{Mpd$GDDm#i} zrXH*$O!zZ>Pm$H7C)7g}_M6!TbC|g+d&I^h4{2}hq<$r~<$VS)W27L5oH05;@noe0 zD(5e@(YiRF*j{MR5}}pmwbLd{`VM6umjiUK8uFG9+u#0R+D=@Ha`@YHEW=Vtf=yd} z_X;%Cz+3fix+Jo*O*h*5e4bso5OXM$)1j`c#J>iRg;^+$VQ@$y#L=}%TU%komC)!E zeM-t<{sP8LA_VJHs3k!N@%X^GcfRSEDwTJ8SI4SOx$J-wUl?l)eJhW*v@Ffrp34MprI;M(REFkRx^bz8Ir{mTNIX)#9`W*XAq0iQO;YA0ScY(W0YmwnnXw3aLuTX zYI(FlK-Ce%q_z7hAqAJrMYq4%rcesipY3GGee^wAFtX~(QkrNY zAP@8_Ch(#Xd@eGhQ2Mn7s-Q<|bA;S0>zTxshf-GfFfOb>JQK^-QWvgyOEu`7Sx5t+ zR!^?;6EnKQkSZ(16&dAJv(9_IPb%gccu^#e85fI!R*_wRKf?09#`CwC5orTMQ(~d; zOma{wp6`Nff8EfR!1fRa_mFNKq+<~4mRtdS3*BDfh!cY*QPp5?r6IEMH(9gDI%~Kg z(H|dXV6Fy{MI8yfiWDNV(IqfN%WN=zpr7LC=*329ssX8UMD$4Hb|M+`0~YK7!zQnTGI3E9{q_SRkIy02X9MvNBFo3T zEYn#b6oTm>W}_&&_el{N-Wy`na&aL62TK{(y6{{p3WPzFlX9Bd(LlkJI*%Y{FVi`v zx~lK2L-_UL%q@%CWFuX5ig9VKi;=;m13Nz7hyP?zxEiz%?rLqs$TLIwF79wR48`wF zUOxOe1V>*(%sGl(P4bRIYmMp(3vA|K4N!4x|0YLIxr8Zaat6R2hMUW!ubZQoO4?^g zpk%ay63+S2kTBD6>z;giaEwL`g55Rijumm52PLY@YpI^+&S9l#4T@T&D}CTGoQ}6d z--NRWULGGzx}_Ad=%H@w-VGzVZi9QR%1(V`507#|+EUbHAg&*^kbyesO3{?Jz*uR3 zTY3aF+Af^2AeCzCJe?o~hc!jvOK%JFBNT!jHmF@_t*qg7r|Pg6MTMPJp%;d@UY^;s zCmhQPrnVFcywvvUh6OIO&@Z=G?ei+(&@`M+qM1b6B%U4a+INPt}Gb{ zgP$yZ_>9Ml!^-Y~aBTAKJpO4tdL)D=Ws$PZUzAJ~5r>-Az6wz!P*2GFBdzYfv&Z5w$ zllOK{ihpsd+lV{md4xrroFVI2nyjS^8KWs7g4+vKJf94Lpa@18IyRfyWrZwX1EZ`y zGiUtkqjkz7VibLKjYfNER!>I0!u@p5`{P6<`e0M`IkNs+w1+9wmb6hu2eq8Tkg7ep zpWH}4+~0KQfkwnaaUH7rMH=``lfzZp*m;kj+)=h3;4gkU0^O2ucpMPxNEGTd3u0a& z{Y6u3Q*z!|Q_oqowKW`aw7B``oJG;%*(F-PdNskH*0hx{3EVvogNR97VH-}R1r(1z zpUm=_dzTOhC1=kRN4IHHC2HM8X(L>pV`Z?ocs!sXc>fq)ks`O#>63OAmohAi!toPox+NZALPSg z?GhBK!iH%ahO60G0CI~jUt2D7=}g z1q9%lk>!!zuACG0f$)w>Ait=(OUEA~4w{v2zuaWuJBWs{SX0fvwX*rk=3pPM^&Q^B znM$#-jm$KRxTiC7SLgf~V}EYJ5g@6lV^%%zgm&LF6NC|$OTRIn(@MKwQqV4~?_MKv zSWXHzg^YEmH@>?u37kVz$TFg091j;R%n7gM{|VH(GB?gsXkiQey^2cuoA>R0QH8gr zZc}gkk|Gw1ReH`sCw5JdN3zyu?oWS9dhQSX%K;FZ?s5M;XiQ^c7~CLGRjU~5G`S# zp)$D!h%`XIHSp#}du3*s-8ayWng4pGVBw7;q8$$#E8+yR==s+4r_bD0qrSzQVGZ_s zGx9cH9Cmn6Xc4~d-&6558kQ|u4-4GLpcc^iAzI^z0goL-rD3w1qn^Am@pVk^ZdL=rzyy=ysI2*mq6uf5u+N5wSiwqWFVQNbklqDuo?05+AP)9cGhl86Om zLPkLpVmEFmLD?seOR8LH{dHeu=gJ^NMRIvF|DHrT8FAdE1k7`&yGKpsOLacl^~h*} z-6GLkQCgIf-8|n9{b+pR^SiQJL^p~A4~8+5uYN{zsWLf_UMrOC zuBmghNSo%IzgqArN~`*U*Sapwdr*oR?NTYcb`yr_`ds^Ev~bo~GJGerTV3C`ygAVT zI8Nk^#f@IQVgdv2ppC=(Orhh(TT*~)d7!#04u0cOpp__9ys9)%>c{z~sjzvRm|y8@ zB?bIF2UU$*gKEwsJjICqk1r$zEU^r{mp-M$Y`)^zZ24YJ*>U~S!>hjr|MD-DN4@Ao zJ;=gnA@~PqhJ?Ay*y@S@p*VSL%p5{CY+v6KeZy{&1+b`>n``qzpzn>y=fF{wjzGHS_Qk_Fzv~gjvm;fRi>6W#iBf1_4H=nS5M6p zp!bpkJwB-vubjC039qpa(VEn-w7IK*EM^dEQNZ(@u4aoW{%Z(26p+>2AyUST*Z zzfRfXq2Z`JhNVxF`t|#Xp=^`SMKkCD8lUgWtt-L$iw@fypw@&`?#lbVk^tWvk{(Ao z?1a#*{W&?h{UM~irR{mNf8FPPTd!8k_hCz~wf&*4o$4mBy&SE*?IE$<>&D2D&f;g` z?AwWa{M(RT%)^r2bf~%SDZS3iLQCmuT%o(~`N_wDD{>%@r}ihk@t+g<{}3Jj9N&K) z>9a8~G5-(y@z1&cC#VI``QO+lm@X>*fia#r5`ygum(+xQ0k6b?W+1Z#ss{g2fo&A4z>3?iK=l^Z< zq4#Oa$iU3;uaghqqrGs6T-^e?6LFJNG8ZsiW35Vp0pbN(c+WIsqN2OG){ z-p&bVt@_b`|DxdjG5r5>UmtB_X5a+S|I36i0hm}AKIpXnh@XVvf0h6yHb%CO4FCTq zvItja^;xZHw$-W3^tdQl*AORH3G1e29JJV&Gdc6a7zHWK7^uTDx!vWAeI96@@#lV5 zcbzU?%ekl3nz<2PaMs3Z?D(S8Kv;>P&b36?fsr9-6g36quhUS~VCou+sTvxKF-66* z<=WPQ^3)PDX#i6UYG}_kQ@*V+fRWlC*{+3eCnX#D$T7|}kRXeo0(5);b^>Z@zsSVI z`}QcLF)t8UBUfr>KQLy2xla6@01?`=je}h)pur*B+mx>_^8q@-*Koy`?$sYwW0jJ*7#C28m$IZ=+0cW|9fty1MW|9$% zr%am`v;=?=Q^P%gaDmA#Fu8zqBkwdKF$3Z(O`ZHsQ_Pvt?19N02%;ZYo=7>c2H7$= zx`wcW0P+>2Xm9{L0ax(u-9G6(8k~6J{23G^)&Cv${{E~#uKq8P z1!btOh6GK>+ey{o)xiSoyEBQ7>ibKFwDH<^)~EWnk4!(LeE zI5au?W3hMWj!`P9->8F~*4&otOy3l`+SOT5$b*E!U>AW2a=jH}m_ORe=zPQA{5oi~ z{A6^5z=+Y&(RlJty@Lbzpv225BpV^`B8@-=h@7gbD!wWm$N((J6-%A5`%7q3GVwvB z=teFUZfJINZXj_7E-w7Q_z*6{oBz(X;RzC016Q;Ei&qx?OIVDbfM052F?9!ou>mmp z#))eIf$1F?YTv&mkz649TSl+|$nkc&uMabbX!LJAaWKces{%CHyWH8vYqds@9or^m9+0_Z~R$T?}}jW!cs${b9eL@ zOYcuFmEl#HiRJU_avLo!j*#=A0pJZvC-41g@Hg38=#GC_pR+}=)Qs%PLzlD`-tL7! zX;kTyRI>ogKx#GR;rG0$b$IOPd^1ZRvXYBkmB$PL$k&*}+x74bFqS&d@Cf*a%{NVO z|KsEF!o*s3X9iCi5jHtGzp9#=DvU1=#{vvH5D$L70mooFk7`Na>M5sq+MVej8LdbxE99ZrK*F0y4^sW{I*4qoObzdhH$ncGX}tz= zfYJ=fhr)N{m;f(Nz*jb4@H$zMk)GPg@Gp>t3u#;Q53V3OvBq!t~{Su3+|1Vb+nhiJ3xt>oLspDg^$Lg;-==7 zFDn<}Mn`X6v`BGuT&jC;Y6fH(Zf-n%#X5ULe+@v+zFo+*ZRqJm7c-o@@_IP* zR(oL#(Xam^5)F?VaPSpu8pBga|7c4dW<+ZX)}NCcPcqI7f9ds+&qu;Ns>`>%^{qRU#JFxzN4Bm5O9f~QufzenG2z*JS%rJXa zmk0r=ntXx!!Q(h6DN8kM9dLWb*9ZZUyq4q}lp(v4U;Lw2hu^RuY8>34I?HggJNuPB z7a1Q5E}xHucD5h`b-gLd$k6MD(v{mBV`mx9Csz51J!5%&_wcOQ=YsM&kq0#UF5-($ zj;?hrERK%NEu3Q2_oMGx04?uMc=4ALQoq5hD3xXP-Yk^A6;6W?u=e#%F5E2MiF-fJ zZ(LC@_(sunh?_q;x`Fb+4Y&7UY~(ia;OP5BKjpmOI=*{`g7OWGwD)6f+MIi#ELRs&!Au zeJo1)p&LuYoNpeaa}95Qu*BELl==w*xEoUliY#(`EBQ@>5{C5?@HqT<#s#O)Hv-!w>^ z_67L6(B42|S9lr6*b5MCAHd&6Ex*aLJ4}Kqi*oGgY11J*z2!Y0@hDhR@LVcBMs$vQ zSfkBwF3W0=x4G6}OW3=mtohU_NdM9$9Dmo=yD4DskG8s3ZK#qAt%|<}zv-k&xgEo z$K?vSd8M`IQ&ZD?Z;WA*9>H($^0YWkiwRdtsTAB=n=6oYYB1W1=Q%4CoJ|8<9WAhi z4-f2do6b+SvR4{E&-r083~y)F557>R!WI9iawqdY0H_da!KSWLANu-QHh^}-5$bi7 zluQPxL916|pIiQImP$xk=88u4aB;hu7rti$A;RgG2l;wIP^}y4^G>Di7YB@(4(1KV zL6yaaTS``Ww_;ay@}R#yr6uB*vt@7yO}@0+{sN_m#lo-0-V zat-jb;kqz}3g7sah9Uc<7;I~bo@o&^d)+@8E$sH{Q+eYe}PrYsbRQ%r>!nZIBMo*@&FbvcTy)!OmH{y zUGDtYl;79d@X2Z&jheVSzUIwHYKjq!Xv1G(I0q)!G83{UTgn!_PvTJ@=h$8>{6JF&v8H7;z^?aj zRboAr z7+^{to@$?ckPCb!c|Oq1&@^0(**3N8qEbAF8%o=i~mV%XcN-;6=Hl8|z{G^Lkc~zzf1L;md!}{9A`&40#2Pec4{E{nqcR5035t zgB-u8j33S6cGSk970%=C%J>TVDTR;%9T%~Er;`6VhNMOa3#K$qb9;|Rs&vRJQBVX2 zC>_tAL_NGXO(w{R-_4vgg-KjpO1cE7iHZ$Hq*Eq*=Wm(E;dF5vkft1B6_8eq7st)q zs3jbnb+)6ZW|_v;d13A_*GEk!NAN>lgGyQ2nGs=GK-bln0rv^%gocB58Jb}Iz|*xwXwpVn?u673M8wE&JpGTy z9Z80c-{%RL>wE7YCo3(f7wi${1}5z@d096OK_o7u!K+Z^{2(d{}ieHV`8p=j3!TV|* z1bNWsonTAvP~5TPnuNYx2^RHIu>Dp6wF`!$Btu7J=d_F?U^>I2VzoL25^%ZS`vpgh zT-8ttAVx&0BbSIC;WJ8X`WOOGY35mMI;qGhtod6GomY;m8QljBF%poo^YPa@80Cso zDb@7PtRv$^*mi#3x9N^ED@_Orcq{h_eid#hi=u>h9DW0uFd^Yw-|;=CNsfDHbo>}- zSbNIUgUh<7yfPj-43n&Q#*6T*F=$TA>-`m)S(?#y2YP!_I)`i%Ug6+%V8skej%5Z zVDBXcMyR5jT0+vTj;|enf3w_8h6XZN<8Ym0-Uy>3_fZthlUjQHs3|VCFko#4)|8pYPu@pcqTm5x$PlZD0rn}LURs5 zH}pGp;2a@1_#(v0Wz8pO)wS6>G1d z7ns)ytguYAR_I=i?+B2hM7Wo#tJt0etnoz4PjQ1ryc z*F{?|IOMK36~QP^%j9ggFgwn)k4^+`a`YP!nFNkesy-HK475(w+BR`*&PB|zxY%f6 zg=mOivz3Tg1_UJe2?YEP!svDzZ1XH2lAoj2*&!?7rgI)88%BNXosg_#nJgaV2K#Y~ zVpiduw2Rhd$1EMIcDz(?<+$v&Ag<-1_#5&dCNb;@4U-BV6J~7!bu|VoPs*z*OtMd^ zo2iKLbf0(&#Wu7^V^b>}$^|z9*+MwK5B`9wgtz@{C3vEW#tRH#UlNCV)fg){5Y@)3T7-Y7Bgk;OOLd<8RE(6M+Z)Ykj5_a_l z3N?I(iqL;)_{iqrJXi0QCgBNl2mxmU6JI=O2EWo{H|B1N^+Gt*X{0p^GR6F?m|F20 zvrc+ha5Bk&6dEi8E@6+o#74E=p6~RXwR{uq%1C!kcU~+Wh#oe~>+Nt3f<9#EY6F}zpLVa+@41#0MG2@>z)`lnrkNCPY6 zDQ_0{%3!xAh5e;MLgz$0IW^QvbJ|xeU#Dead|HAP3UvZqFXR=#sg#LKP^yq~-8618 zMxzM#d(b7oTm)*g0XJ(I!@U@TXg4d41xEweGN^wP+ zJO)v=E>%*0A6uJU-_fr0ngskXJSVIuY~9r|!22e1-IhUzXGP1}g3@VT;zWo4N+-xd zjI#0eSkue-*`^Qsw3x-zrge}{BMFmt6VJFu+PCOC=Y761gNOdcf%Ekr6=?5E#X;W8 zl<}#G)ju3c@ALG)J_2Qj2Syhq-zgyDV1^T6t39?iDKB{Lcz#0mI#JRWuDM^=)?Qp< z&p;FHQ$@X(??hU<-BGg)89kOyN*Y~{$pU1%NcEzecg=*zV`;*5UXck9psI@mBgW8f z&;#r`qn7TTGvxT)*H`MVE``X-*~5g0iI!wYtAG<9x>gQv*@&g{ZiJR)ECtyc&03y~ zBr0d2(1gTV>!Q0SbXI5&j^-7Yvf_;#Atqp>^f}QZmQXMbCFf;e(Vypl8z&^`&{EcH z-ZWlibVk0?cP5DPP=+ZDVU#g09WUzVH-*=zWOPX> zr1-$u+VIq@G>LuT5^1Z)XiRC7YrW5D?$D1PyNXmjV-7w4haeGKhu1e6O}eP-Iw&n( zaB7J2Fl*5@Z#V*Z|2Q^HgC8j+J$7ee--->?hg0D zRN8Hjn;j%XrRxh>W=Opoc8>FuIJLd$xf{dDCbeJmU=VDLyJ!7o3{SHDG9p~_old8L z8LY;?y!dy{kbgo3e{{E=Yph&n?8}mmL3T<&2Ewtil*X8w0UHp2vABUd5Bf{6z~0}T z-#kGD?CdRp6U(4ivFYcZ-dtBmY*fpL-y;{!TL}2EVlX@AB$A=5QPPyDK3r=mkvOp7 zB-pJ!&VA=aI_o!YR=~Yxj^2v})^T_(>bEg#x7(~nsg;zLX4<{6pj^CloHpBr*G&A_ zwuHYD#G}S$;tmHpt8;mXqkq@kzpdttp6-Vl7?5{j7_($QB@`~*ni_iX=Y{^YEJVU1 zLSmRtHFa;5{sQ;hKqekg!bRtW*2MjN^_>idpq*x+3m_}YELVm2Hd3}4-Uy}tg@Mg2 z8pNNJBQlBWNZxL3f;+3lp@o6zW;g#PRn2SfI~?3&#-A^0u5y8AHl*~`yvG_HozeJ2s4MSre#0= zR6=r17Q;K-JcaUEFcP9fXrk(-2Zr#WSdo7#h7+?;kX|ECwJ{DpJY$zHCbOD zkpH_eMQio83VoJWVNo{@;1oQ^ z^II|!RCx1z*wZLRcB#GY6om?EhtA{0@Q*HW3-&RawSstied%yth9BxO{MQJgV&BV0 zN#J5}m?uoF)}DTjNmQHl5*g7FQ(eo#SfW?SK_A?P*C#bw{Z6~Seq{ae{TGY!RP*d( zs;ysLQ~{GbB{AlHIaren&C_4qL9LL->05PzKKI`JkiRXb-*cD~RF1yw#*FS# z`0KZCgt_I5ALrytNJbZxjc&A7ia8!|Fi)g+BpF&zy`ir~x#G_i9NL*JUu^`IvGyM$ zU7EQsa=rzGYq3bLmevnqh%;nm-!;6HW6JffpBvICRz&>dXsJKYJ9e6G{mHCM#aYex z%P|&RL$%Vcol!>=T7+cgV*Irrdz>6vpC~g@+mM~!*iJ>{~l#()d*f0K9+gOMdXjY2JJR$Ert$vh1v4_ zJ^(A($~Yy|+nd9y*(Su5SJwzKST@DXh`;|~yPR$YrT}jlW`f0xWDE_{e=@DPMjeV0 zGSS3fdVNiS4;$H4Rlc4G<6A4p^DNhDU{an`2BENtNC*gDd>fd8kqMwZMb`U5yPnvH ziYq(9sfjFCZl>my0?H}yWoO2i(c zAa~S7I^SkY;s6QRbs1den|VQYwoQ1Czi=qt6)yjd(!Ybu z7$Bvgh$J&F&Q-pr*e~-==tJo>o$(^Bi-E@OYGqPBir;VlN_7Igy3BXtv0Y{!2WNdL zLUcPo=2&vw4CSk?WuP_q(&8bR9h~ETSSrABP3L$sma^8@Ed|RSd&hk+^z}*M?yE9s zfwy1uHW6|m2)>YFfc9f1p2Flp{~YP~lvzMVknMgJ8hfOEXla-27g7#bvHfp$qjXS* zo^NZIa=i?#{<{lL3)GTw5W^70TVMEEX2PNMdjtxRQS;(<)Y;jL9?lDtmzR=7B z)PDCD9&_=`L=i$tSovOhV1O{B$veQWX}g%}8MSuiXn^v4Wwc$AWX2;|8uuQH%ptqx z_gtMSozG0w+y3zs_pxnz_Z(cti{#;g8f zO>Dp(d$wW(d3jd0L2)EOy3SVt5BUM*^Pz-JYR>I93Pd6m7d3=t?UXHQho5ul_}pyi8y8n!xcj{77}Xtb${GhMdFelv7FM*((QAn=NwUIa8z| z)f%Ivo}{@?b|9Ojk*U}Qe3#f%1TuvB`NOOHl>_I^YTc@II~r}s+PpUIBd3q4KniPTiaVp_ZrutRr2-@`5i`kT#bkE3>U~daX-17px@fDNHqYd@w<;ht}65>EG|nDpIlC}R<6^jwWcwWo_h zQO$h1VaC#=Hz{Q7?=ABXix5M-JeOH(2;eg2=O~C&i)|U-(fwUEW9Z!CdPWypMz^ug zFS<5G-50|XI0_@?l@JFDBT0ng>`@V3`T4e)Ps|B(7WHuIerJp{ZTzW!|7*96z8`OC zUNy<4ml#C)bogyY-Eo-K*%&5l&+Z8<&H(R5qsj}*>D`0pbPLl+8!oV|R!F<4^WKn| zI1XR&kaxc&>RJnTJ9dj_HQ7>H3Qv7>w2Fhep7_E!640uKwtb^!+TtPce9LV2`~V9! zT0O;Jm94zxCkGyZW04;#GLlh*(vXOoVR}RuS6j z1b5Vv0-VNivc2sV?Y1gSFX0;U(P*fqw`0gTg^W;It4A)Kx|vqor#SE|y=v0LB6pXS zSZo|y+4J=_bCTSVoi9%htTMCxKxrCBogJ%;@7gU=qenD_UJL(Hb zsPDVcPrCS$JT~Ck^A)cTN%EZLcII!ji_ru4e27!#VwtX4h&@!(G_biG61u3t!5ca( zGXz|bUk|#(=BhlG&|Va@MQ_b)kkXlqZ6u8vS%APc%luRLzQ;T4Nj0~HF~ja~LUrn( zK12rfEmXYv>12`3A-eEdl&Uo86Sw;Z_JlE#t{c>>c20b&L;tP_i)N2Qme@_)eNp%d znr!e&z+&K2^-wNP@60(!gkqZ0SIk|k-qnPt9RCJ-AsMklI;y|z4a;5$BP!=!@bCUU zts^VA0~f?$rYuQ}H(P%;&)$?AEv7cX*W3m|9Kd^x1EYB;pw$sGy=RUu1**G@NwMp? z_Kb>aC2gec%OjZiB8P7}zOc>lwoK)+^UQG_xSsBrcN3k6R6pkzlX44?O+6Cu_z*QP ztn7jsrAtbSLwQ8WkQq^h=2aIQV#fU(q%2TlLnUDX%}2K?yT_dBQU)7kn}C7B9+o3m ze{~_TAu_Oe)4&}cSVH_}y32(^?iDhwrJS89G_6ft3842z(FWbdrsPcB6SEy4OL&{> zBvEC&*~EOGw_lQJO%+VR8|6+tuVt~GN;*uQ)ES*mpdSwxpST$|lY3E1aY2p{%At>%@zk8mjBS98R=dXbAlI;+Az7TW5?Wk)(Z9#eXeu*je$B2GC*k?5*hPayna zMG(>E(QSRT0$lJdF=Nh=tHR%d`3CUgCs=T8v@7aa*W4?{Z0~+jYNei3SS`%2671pp zX=;5~{(Ei+cLhfNq;T|Dm|DOJ**2%K9^8iby?%5yqgT)GcTtA(fPsG2S}fw=@h*O5 zLp1tXn_N=uV#sBFaD76$4SEKqRv~`=LvINS0xEOWfMs=nMcDXKO#8y3HPkyQzaYbA z&IO`8-kR7}vg%y(QB*v}RqYgb+wI>CaCq1S`!TUi=)d{dYfvYM*O6|DAn>^~-$IXDbdI*LM6wwgt8nW8(>8gWVI`TMP~F5E*enE|zGTHP zWnp?DsjDhK>t+c`P*mfnHA(8P>27fluc49I$P zb+hdAvRsx(F13~P+3W!RR5eaUG(NevsM|4^$@(!Q*!pm={U7>>jWQIC;u8WE5^<&s z`{MtLuXBpg1n3s+v~AnAZBE;^HEr9rZQHip{k1i1+s2*$Zh%?K=qW?;;p(b>^=ik)T7?TzNM^$^SMGNvm*SOji0qv@RBk}IxA5R* zeEptFZA`NN-~?GN_NrkyX{0|z>yPz)67OAelYA&|JgNM3e9w0&>F;i7j%pCJzZDyw zb_`x`Znc~iQ_SYn6q-;4<;Ts902`lMuV4O4WK zNDx0hglGX0{dN?&aMG8bhrf6v+L?>ljy|lB?!9suiqGz4h021>MLYBFVMdX6ezz@o z{Yox}QtmjfTN>bI=c>fDnw2Lm#$e-FkktZXUZiWDNyxnRPt11vb{6WYshV-EEnA;z zt2zeob)Yq3lx=$40#oMV7`p^cOO8aQtyD~KxYOb3AuXUIcImJ7A`%TNjoW#%>b&3P z>S6)+_8HQM8x2)|c?o*X)r;S%Gpld3V5fTrTn_8k@aO$e*CUT!y?fT&JOg97?0ibb zCt^*wTUHf=XUIR&KF;Wy23&UmKIo;ybo?UM1+^dP=hNGoykeaT_pdmFeUoT#H+U;V zk0IDKwjd*EjuTH`u__Re zq<#hTtLf;oL6x4kl!Kfzt6{$*AzLr$$#?V)Ai}*3BOa-ewVcFVD*tGz`q(_TzV(vc zc-MtITQFH1|2qO)Z>=(jhfv|+xOj5n6T$!F#E2-0k(um^aO4NaS!u?LR!tMJs1nw zj1XD!v*}R$==G&7oN{Z!mr^#BzoLN1*>FT5E?hRMn;1_{n5Zm#eb*FF+Jc_MHuQDe`ac4*i zWCdkD-BR+T3SzWMuPgbVr@Uti)D~2%tb@rm)#^&oZYeQT5&T`Q(pgYbph^w7VKd?3 z6p9+xnt>ui{B$(=2UXA^TnV1(R02cOuJk>*6_Lx&p^ZN#|0$*hz7W(&tqh**<^1dB zyFuEkI5)x8DaoM~{V;WM8qc72PI|EMcCFyL9L+E^RVDyK=kuj`Xtj6b!#Y8VBL@4V z#B0$4SvgcDV!pP?JbWt)$A=&i1=ze0TY>t9RNd(*k#*5B_gPz7B&nMmWkd4)uA9}9 zsnzv*=qQ9u2omB5RGq37)_!+u^(vP$;j<%=d(oNPW5+ZOY)BeGo5c>#x^uU%3_fSC!F#*Yu{huC+n~K5H*j(c&yFS_Tn)Pvis-|p zmh3k^379NL#Y_No*KCsK_tmQ&(*DEL%rxJQqCfM|@ng{cVVoFaou2;&L}v+y)+aga zxaVe->BZfO5xAB#V`^yB7At?QpmumkD9}uTJV`!p@;FC+&&DCX*0l%~$y9)|SuQ$| zYV8~(`8ISM(AQXjNn1z1NBM5NjiyWROT8ZD z-`L^J9#79e%2Wy;7`e%ouvk;7+41bBrY}};rxre;Dsk~TO6f@?{jD6u#A#TI!4o4>rnA{}C z*ff;nKhKXm0r^r37(AFGWzsJ{YC>lzc~3kSb*>N7{@(BGa0dm|Tvw$JiQ7TcYt z1Hla;`Q4>XAF}_edK@M8Og(V9kWp%%kd>EoHRiwslRkQCm@n`-uB0+rM2QgDm4%=& z8ISz#*32-2ys||MgVXr!s%Vp-@kFBY;Q{CFI3C#t&>!;!Lo^9{=?q4KB4Gff(Ej{o zChS6sg$K_lSkD2TrRm(EQf}{zj6;{uNu}B|6<>?yHi89l zZgy!&po}EqlM>R*^|TZxOIn}zgPoV=jom1uE~7rYLH)c1!tlu3be{I5#1kWNSxk*=OA1aKd14V;niT>B*z(j;`2 zi>ufVn?T(gfBdp_}rt?xSCN9j*e2` z!!PPVgqGPTb#=s|%wrktnw0ZB z13m)Fa(!0R)Fw9H&Fr@ERESeKXSaBO`&eXl&Tj`JhQL0IbN>j_zGmQmHErE-l+@EK zq4QaT;=c$mN3)F^+U3jVop`~oljUK`9%6AA1EWj5$^p#R&WRRzMF}J&Vj_-p@rwyV zT5CTF@gNYguM`9(H6(NDcd8koM*Wa|!Shhzlhycb8bdnoD8Zid5O=L`J<|O;cjFuI zdqA6s<7sJ4Oo-VE8@`RsW}_oPpPQ*#h4gHt6KLtbxuHR1ui}BJc`s!zAzUn>xOkeR zyho7Mo`OWY8@i@DQrc%-_F6}&v$uwer6U&#YS`C<>{v1st+eh~ct773!9Tw`agY`> zHgCO-N%Z?R%t$djE~<;)Cw@-qoPLF%0v2#wDkHVNakVPldkv!IkEiTy&AA78IJfgW z@?=yMeGb}0i})RtaktC)S&jJJQwBEnVc1B|$q;o<&d1a0SJG~58X`u8Z4iEJE%V-e z_R*<@Xwto>1xySdTZII!H7Ku9oKTQ_1kM;Rlpn*QE#ww;oLr+P6@Y)^SI()1CyH!w zD{`J`nXQo-H|<;;%cmvdrv^iLR+e)--;%%4aej5cfVD> z*4ByW)I7eYXNwV(a+T_WhPTc`{sw~WS!<)$YlF*8K&@ao6rU7{BVk&NPQYL&h2pMH zN)@j&I%BLa%=!1V&$`K!jnngtW{Y6joYzDuc;NsJ46?3738eR1R;-P1a?fK`Dp6_?DG+FK!1Ir9)4<(}Z zF6Z0mdH3H)LFhU2pX^+oSD{Cn6?9*y033KMy<$s9aYKR<^ob_OX6F-mI@Ih3)Df%} zJ^}zMXZW5~WpPpRkQGVk%i(epaaMs<^~xWmQgpovVydjZS(YXp@LOtpNJFF} zm$4a)(`Bv|JqL%OUh_>|v(JL-w8%v!;J~8=jn8Y{M>ddqPX8WRjF$YkqI>ks2h{mn z#|IajRmeo|Wsj$pTqv7zY?Pkuaey=_)Zb19ne6dg0jl6Y@x_*y9Z@x{Ba$Iav>Mpr$1V`V~^hcN8H)MaCyADZ6dSuwHWUb$&0}Yxyx2 zwZSBdb-xYC$gblkeNn|&o;8*{)Vs7-m1fUN?t0nv1apXOY8mK=H@(iHLTOx({QzWj zaoMNt{<(#XA8!y_hE<_MrRsgb89TnQqE{9P+L8i{uk-Wbk|5qxW{_8ZT9 z?Jp>8%e;^xq4S%mxA?5PkqzoEkLj+$B<64uSv1|w7Pxta@DUq!R4=NFt6oIV^v523 zuPVESLlR@M_B$iaE16;t949y}Of>Y3J~f2eO*u2NoW7)d2u+?tYh*1w5x-JD&4<8y zv}tt|HH$Fl<(Ux6NpzK?E}(7tuAN6wQ24&Ul%$feHd3^vA%8rDDTJsxnb&pQ7uw#_ z9bdbrwUvDrOV&}Zqr_6Y&};lh;5pw?ENW_fNx=%N4NIHu z+BZg43U!k-Q%z}04Y-@4$1Ygu3=F?C;C-@mqaQ0%-T9UmE1U!Cz^Oh4w+<5KEq<-o zFnG@IW1xKf9!d!h?`#v{&xjE8qLfOf&!VxyWHMA1rT z;=FOuf#Vz#rrb_jY79pBZs)K~Cdlk<3BxgLHjZf?Gm$;wkSgi{qSFK#jcK6{JrpVr zxMhHr_Q4%oLX?hNPZMO^JhI*US3|SusmL89LYRUH8iLYxmO3v8wed}%9Zj@t@SY!~ zTz5sT<{v2h*aki?e_PifQPW6K;i{i4iy~H*kqSY=ki6Eg`Iej?J!9f_)kEuuV#noH zJ3=(O6eg%3Z_l3SvoMTD@a6dxDfNiEn`@uxAmUe{+wJTVwVP(bxVmn>?gSqOaTEc+ z?C03!k?KfRn7OFHZa68o_1f>?(&W3KT^+jhVa0Yd=}@g`*v5ToLUAatN*wxg60O*L zre@{gbnYMRih z1WTI+WzFpqxW#tSlnhpAWhbYZZ2dL*O$jqC9hXZOh^RCZua}kNZwsN&pri;nN;=@P zLgDS&7`y7~*yWE*XUzMmZX{SZjy6>4B=mBF4-PaTDv7NA_5RppIo)r`HqaeQ8V}7` z`F0+27%dcBUALPyPYF7+>p`p)?r5dy{d%S}A=;amK#}w=IG0u!^%Fq>RMPQhUvG&Q z$2bFfF+{RWM^8VIIqxe@Xy9$Wt!`Bhz<&E)EWCuulTweo>U6Vp8s{SpaBKQcRC%v8F}Mca+JRRDb~jA)5~zBiG-%`ygdc%2 z4Nqxo)MoVEy+||m9SkINB8IMt8O%Tetx~5eM;l8|(|H5KJ&{{Jd8<~KjQZJU5*@!& zb|Jf+i~+q$A!1pT9zbw=DpqB4Zz=D9D6G{NS(3XoGdMq_WO;t9k*Q_89~t)s0@i=@ zx<_Q$gPv@oX=nNk?~VGm{VoRGLArw4JZ0ZueKmpf$vVAvp5^a1M!%g;{I^8ddEJo$ z2FjSNFjo`9XHCF030&CYvrQGc9Xu_|0@Wo&@BQHYUJLKzclmcZPrDZ6O&SMVkR0BN z-E*zBJ%uaE17Acp$GPWD`(`nvhIkR{h;N~NU{Jnp!%WolVJGhNZjidwVzw(;_*n~_ ziq=y@ohW>@`j2?je3&v<`4nGp8|NrF4J~*}hYyh+bb5WZgF1oCwA=@)Xvis*H9~|c zn~Sh2QBVdzteASt7Dm#P85y%(cNNtrQg{6e`%(J|aj|B@zdwsrqiM#T)v!|lho5`z&jB?z)9fWV9)l4?@60bJ zkf16sUzj3;Oq{DQ&IK2)v=K3}-{D#RSWwasPrfP`FnTD=W4-=UQy=|<16cR8P~c)}8aQpV+v?fvCHi%J(#7^GTUJWqo_&v)$wgg< z*f2y>{2KHS8!*{;_Nbxfw0>XqD$U*=MN0!(g$nd#P^8rkmYeND96R82hTH70n)5Gw zHjf%pA|p(a<`%v-LchlnV5ReR5*FF4M=mWk`O@1Y_g#)aX;9Y5q;TTu*4CWWuI7~` zFa{6fKK@afWDk%&>6Pp)#gpxwsENfp9AB5)1bA_uvD#WT;jcq>W9z&yAV1o&X2Y3? zrl}v&um`z^8$s^2=EhEOMbh>y)H(;e+D?IrXY6#VOf)0f{R4`%gi|nI#x*NQAaa36 zRPAS?ds^-IEfWu~^WB^jR~Kn&{4Os<->O-^f!pI_mgNMWWrN$A#uWaQOIo;&s;q7| zvCA3nEOYTE@ZqCbg#%6iebLHW~L%u#MMSLdlc#4-lvWRmL#C)<0RRhA(M0pcgqYrpS zy2I=ITcs0X>(QX=c+^d@71EAgl)a=%0_Z-MDz8XvZ}vC4wDTzvPpf?&T(hacL}tD_ z7i#9?bciX~*!o~fOoAvcKjUY8Ovi&935Mu5FMm*oFPIm({DNi^GPB82ztkBKTZmMp z&&gZARIxaAKDv4iTqa#0WP~HRXIOm6eSX-nw_d4`qvna~dWwvd!uwHLyV!2(l7m{` zaI%ugBhtsmPFh)|zpkHk2S7Rpv1pAbZitmg3JNsAo0`Xp4i9Iu?lo7*0Tp+lJQ;fghfF8z>1HZFCm3xuV0f-9Z@fxV`=G_)dVA1nQXf`!kmw0DSu z?~@{%AC)E$c|5768f*|Hd0GhaBYxlKYz|A!Q&*2R2t9H(m{?(CtZmrxSJ2wm7jjxz|31J{jmcFwb3YYJ$&IWdUl4`B$GRjl zJaW}PIawO70`fc2rv$cx&3f2tCkNJoO86IROwOlyqo`$%Ev<+|$F?t3#xp+x(1P?v zK+ar;EPobT`@@@EVJyvA-T0B$Al|4yGOYeUFJj&z%{8}m5H&ce zoZ42pkKpbf7IF_6t%NNzrN zm7+{clJ^tXrqpk(atnMMgc4`eLNFZ(1UFlzmLk`lq+0~OvOCmY&k9bg&Ql-lU-&mM zaPRrEh?Xf(`T$onRVeGJFefA#N)sM`PWj*a(7!39SIP&lxm*1f6V6cI>E3edv(j6u zhE6(s9T<>UVUz6^QlEH{f+Lr_(FPzG^lrI4Xyw&?AL!zj>Ey85jhB{J%sO14IO?e8 zE^WvVDl!83Y2Yj!&dPTvC8S63IdJV*At#tEke^1W`cyp|cyYAt!nN3%t$L%VV33;y zNO8U9Ii1k6s+o`0`^Jv^Ah4_}5ti1&>C49bg~zWh6-}^JIOn70A;8akoUS>hNrwpU zfBtx@?8=U*o5=}^M~<|*{;z$6s~i43O}=Gg1f{huF+}16`y5O#8KDZR%~&Q zGp1PPEipJF0$(KQgxQBSLDdMtja9Mk<`+_8&i5IX!c89LqHTRDd%BeYNk~84-7G(a zqqG>!!f=>6GCarOm*~(>kL14fzSPWne?bx8alOY_!{?EBREjAsp0&=9TBSt77|Oq@ zqcGwq*s8xaZgNZ-d`B4I7+MQmWFhXM;a_O;xyB&&`COrbHGCCwv)RvekYIZ&2sgm0rUO&DiMET$=Dq~W^;niD)e+W4$BoU1(*o6|AMh+*(v!Mt&hnED8|3JYWlCoCEyr!5X4m;FC}U zwwatS8N@*ynRr^eE)kj&Jk$VD04^@0_7k_P6390k-qF?a+zkke2@ zHtkoD9w1@CWAWf}xZ9M)(8j&KcSg^~yR-`HkZgus$1czM0yJ1j%LZnzyLMKJ#nvzd z+Whlb2yQuXZ|B=8l~>$~!?Mhev>YK31> z`IatI&{E+`mwA(h5;P63@+Ck1A_ZOl0uyI-!wQ-gS%dVD=2;D z0S)zip4X#yKx2Bx ztn7|UwZ)*1^c1*w`*1xzf!B9#4)0MU4n6tpdqOe6RX^^w1eHE0ez|A3h)t9#34RP70rR>pDJ)S<|dHRHGLA~2bI=FF`f{l^4X zNyRd2ucOa-vHlnKD=MzxhvnKIvVZ9aDP?pgacGB~FEFcd8TrtWq0sIx@tZz*szoeF zrcauH5h9Rh>l@zh5m>LW-!pR7-AIp|&2jcpARRXp>6_==QkUpV)3# z9XCOOEz}K(Vy}O}arS=;OP7H&|Ebpy=xh_;$UNQ*Q*CDym-di((GqOBay&SL!d;V) z^fL8bBb*B*{`7=W2mQPu=09 zF2c7Rlb$6W=H866gkjFZU2&!vd+L*ax^77u4sq(sJpGI0yO7UahGe5ndlH+{2WtS_ zWlLgvHc*Y!b#BaC!2dyx9yoVkQ;X+8q}CiBYH!v}>DmZ+R0#kdyy^JIVP3LbvB4aS zh^sQe8E$JT7>HChEfQcVrUsuZh;SZ<7=w089iM(F?Ym@HtEryMyK+#s$z2*J-XWt1 zGbE&HN`0(&yUZ6(xl89~lxhXRSNh-(r73o+wLuE_of;#cU@;HRDZ5js;r9CQ%Y0NF zeIQgcnLepuNf(7c=o{)wWWZ zkbs)W2^2YB(RiKK5C7Ugm(&om8j!uk5dT1H<%i(Hhx||Va zQm^C)zY*b%Amt-2XoDCUWzSXVVSv2|+pU#LxFPZSubXpj_%STVc*)nKv}#Br9YT87 zcg^oS+H48q%-8-_gF_-Hb6UTCAGo6oD|`lX5!Z*!c6P~7lV+F5ip!=;9v2@3CL*Y5 zp;lX9Ec--8kBG3x9aM~dTjQlq8~;nDG`I>6kSB`vRr!3oD@hT{PYBBaO2aSc_rlQwX;Msq9)fX(5pX8L^g)Uxux#a`j z+I%>cZ(afE4l^{r$;rHXxJ4OpyAEWevY7M|;lI7}Y`sy=u`0G>o;yT&U*R~6Z{ql; z@<-;Syn^Y$5>9=(Tq6Gx@re7LT^K`{gEZ#Im*^biYDivq*smVC4$c#afOV`?(M?iD|hH^F*;|e|ORX{$$ipS>a)C;bOZNI92!F*~3_ESdX*iLpAbhz-VG;7nG(D${QEUC;NdXfSUUW zfi-k>I7jj5#v-CHhgF?)UV(IpeZV~>)8rnh+l{u`E*q{oG^;9&F15$85QlaydBi+c zatNlaH_v``v}a@sV*B$08=58CO5yB+l2C#?>g|_UKT6dihgkJIzUUuNahjQ0 zJ*omo>Ax@>0sV4%z!}!asSU$1Crco8DF$$DM~tnt4>?wUaD-SP35zsZ7UUwa;|XqK zeDtS9CUI_&lUPyi2+qhh$~X@)vi4X1J(9H1_J@A9t{4R7!ei~lFVjZCC4=a%89(4U zNDx@e%GXVoeaWa~f!7VYFM}b7?=jQ$-AU3BY0-$k$CqBwR2p%jn2B@g(EB;Jp{ri2 zDQf~&0+9%T%V*r>M6IzP@(P8Ij@X`uhz@PyrYa|Ec$crxm#~M>BCef_*Buc|hx~^( za+14tcdtJYS7jrA!MO=S-6c$z)uH4FJL2V@V3-U9p1Fp6%)`>47d3F|NH%ml1@=d7 zqSpI+Y9Dg#3d|(kj+fC0Ak(4{WO6)(YMxO?leHzSJDCRx@O1(oSHbd*UQX;kYyyuf zVcHGR++PHggRikFX2APbpYE(IMXD%YNipHuv(CerQ?QjPkT6ULx?5Y39QqsPEs_28 zog7o>%9Hi!vY=Gh>Txk35YQT_U^bIGNYP{X?j3N^QTCclIA49*i*mZY5Wu3%_nz-e3v&{;= zpN|%D{yd9zgHV(V!07?P)Q?pV?hOb;#hc#K{qGT;x&i*yw6B|R>Q~Lr4 z_1|!`xM-aIf@^FHx8_UJ6;#^K@J|#KQ!N1J&)NOx9zij|EttqH!&@E0>Rn!PqTg!1 zb*Fj2U4`6QTjWOZtAm{GuR{iiXeN0?#0&=1x;);loax45h%$S<1H!=RTx&fm;^{PH#$)>EBI!X1u z?<_g-&aR09<1p02&iO}xps~7VBNCzbk#xvSrLXH{a`((orVk2@hp43VE&XzJ^lmm* z*H-AXeC1m+CyDb8b!xyk~(>nijSh`4| z%a2DpYDiv?W?RE?+9lVa03hv(U?X%aMDmK>hNNBNHjrZ3YTpb#Z**?1wtV3rl!VqF zzsNNM#n%_NcJJ{99|V$ibWpF1&Mvd_RTHfTuoluNcv(@w9EoV$0>G8FcSJHfvFgyG z9TW?j$*KGnt{mu-Yzvl7D*|S7hNb(0sHNtCN%~|pf-w)op8Lw?LS=U#o-eF~ax588 z8y`OuRCzdL$5`1@I+$FK7VFjxOtQH6ZlVqgH zSm!WE)lM=ttdscQ4nAmPkIYccH^vY2Em*%oQ=vqWKg3V&k zdoCsMa45gV#N%wPoCtS@(Q_noI1A`OXEBow%lYV`fWN6JN4UobU!Y;B%f7-!vjx`9 zah?SpP2X7Q!1+u1Df$y;K#8tg(rqM zskCMdp2R|ET-c(TH7pXc%if%{HF<7+7k}ub(NQn5Op-!_Kkj^)xSsy^{RFd-F(RXl ztg(K75#$4q|0r;G$+RxJKfe}%ReY#h=-5J$CXTBvhx4j^Iy78Ak7g!Od*FIBM4fil zr2JEqAQD&DfxbR+C@K|UpPZ{*K<+_-C->kKG|p`4%e)fnK|H_8aBpa&ywA{y^#5g! zlHz`-K+gLM`j*ezK07J*P_xGA$ak5Mu+-!%(8ik4|Ggrk72mqXSh+U*%-Nm^j*+o8 z&(7^-*H1%w2jz9y{Fut-gh*Pn5)>-yx|l4`V@oRX5DE`EHynsWdYjxnaWq~h6F4Ep zC)<8aT*`n=3VW2W^Ii(21R5Xgz4>ijL?qHAsrp(TA<*{~Y6i4IZu57Y{r;7Vtbp3| zkWAHv9QeeO)x~hF9ujta6=lS!FnkP$^Ct3p1vxdD$n{~-*rOCGO>BCG$Mb+x{OOb0 zO3Q+X>s5bAUJPer7>Y!kqO&*>5%DHuZk*S8^{1l?m9e!p;!>8&+%F4#bMj~44f%XS+B^sW=)wWA=#vH;d~(u1*QLCwd6*V zIOTQ?TRn0(b?+`Ii(9JCqOdYU+;K1SUQz0AB$J0pk2=^Q1d5vaY%L7Y?z@qmh(aRU zfgJghc3_T=@JokW-Dtdl9QOf^b4ZD9P`iQYr3yCQhfouM=@HXvq)|6c`pO?vwe&aQ zXLoQ4Ynmg^lx%{yjJ#jBLO7oCu#|8evuhDPCS2o@^iZyYgJTQl*?WUBPWB@~K!blr z0Fv_A#}!~na9Zcs*Pw^y&38p5D=RBk>|V$aCp@-)Ka)kj@Y@@7<~n?Y z5+2+)mFamoIJ)3;0R-lF3JDznf2?GePeEM!Z2q{fZ32p}0&@*vX6`DBxsEq}C{inj zXHX>VB@sUwvIvyda5NQgTm?kR38PzGb!9%N?t)rbwlyoRHHXi~XEc7Sclv>#kzhEp zlx6W2CLS@9ffFqDJEZP-8(+;zR)AFS{HM}A{#fE=&Re&=lk;{U^s{;7sCX^Z&tEXT z@U+JeuVBv-8?(SZzwoY@$Ua|PF4!k`l9F#ICx?I#(E6n@>X zpFG+#R+iNl&bBZ7%1{2ayd0;Lf87hY;$!kQ`Z>btkA>j5{iFAH&p@C1X=$zI_Z^be z${N)lmDNX(xcH|= z>VI}KHPJBFV7v-_@#J=$ID-@!CAV6B0YA@)csfu@<3_#KE}?-RkiZqV!XDkZON*^) zjvV6m@>7E_$T-*j`FS!A77*r%joqs`20d?ngC%_Qw4$$5C7xNDm#&%}NR-D9=KJBg z)o^-v#d(k z4#!}JV$Qd^qE;$3?@U?WZz!rI+M0vC+Cu(0H6{H$X$JN|Fpd6jyj}|D!sauBBk%@9 zY^ZmxQtWoMTW$Y%;PZkSHFv8l(lmrKY3sNCIni5-x_2nZvjtSc%E}om=k$3mDQ}?t zFTx)fO%A(;+BP~!>Rd_ed&rg(gf~ zYGR?JKJZX;I`TZR9+N@6RFq?2LTIK@L74S+y-MO;@s1lhoZ}Lx_j>bC%wc1aaZ_HG zy zzqKSqeGGh|F!Z8x@$eAoiEBpyt)}W-0-`;~CT`XZ4bq{#i+1(aR?=Jb-1dlFp?@nY zhql%RPTfNzp%DgaH)^O#5(v_P345Wwxk?7LwRgnE`Im{l>IyN}Kzqrc2htlpmpR0w zb>?^D#;i}0NE5FN9qRY>$D|oJ+cWBati&4+M154P|1yF`4}iFX zt0tWKwyB^Jk0szhuUh!Q5}%clW0w1xfh~2xv`xYn zVgcuXa#$9@Bcq?5kNV2EOwTHmSYCL&T2sCGs}(;s*leN7i&d@1SVUrxq+`SwuL&-W z>M|ZR#*3Jg!XGimfvCJ+Bd4llMaC*quUOKAr3RT8D&_OyJmCfNJ=4CqtMNc0!13SA z9HL8L=l5X{2C{r>a>a@mPnIU+n!XI#oY97cJ}1=!;ciA7ai$iap>`MizS-whPlgZy z;F#Oi;@4pHOLi3!fy^+QQyQ zmu3hcA3~TkLj9sE8GmX4lCj^?I@Txsh338T_P(?F;2SdQ?7-^LdvvuKxD|m?g`>L6 zI_0GefheU4nveo|5XaJdk~Seu zYN0Nm%zleCsuYLl*&t%C<}y0;0w}{4#+K{MIh4^dO)NqwM-$W)@f6g*cd09PcGVy7 zi%OiUWWD_E9u*VbV*{Uub-GMH{V(s@w7DGEsl$kRSd25dq&P-8Mpiv5P|n(FRtiQu z+83~Lt>jaRBQ|^u0{2X3oQ1okKAV;FCFERcUy>!fY>na|Uh#$O^n;~;Vjo1ukX55d zqj>w$;Bm)*w@<2}ZNT&$R*RI|pv|GPxe?{E!N7xQq`-A}wby-$RdrH8qD!83o)*bu z9+%J}58KInYb!PdlUaz)x8F|PZ6G!wKh1wo{4G5I%9!d)F~jdpxh1-+sbrXml_Ga9 zQ%)I#PLTV(&tsG_yRPLKiWIPk{%H&LRyJCO%*~(#oEJ^VidVfs4gi`zG8v-JUs?XP zXr8b~)XrJl^(1)8HoTB;>JSvZshn%a#~qC^)#G|Cw`AXV8hynkv%9Qt*@0Wsg-Pvez1S!^KApL>p zFeuauGJ0Qs6Fh;L7~ty-ru3{XH`dX$1*s@wiVD>Z@%zN>R+kz~ExU`fe@xEPmuu2@YoZ@tHLqHiEdv@bpr2| zs3#r5Mnqh-6d3IRsxqQY=aip4L@{odowkl|lDk9%v$2>4BtvJ2!u2+!lI5j{ zWf5oi>*Uq4)~LhcmCQ-1$h8vO-UHyj&TW-!q_RH`&UvHj?%1{Jxvc(oh;QaRX$SCa zhId)S;FaZ;kKQNygFXlr0Xk;JjHUZEG#9Cs)Kjd`gg$tz_LQMZt7kH5&0VTTLN9`! z82$qvte&}}*ZNHr+(0H|F%2x+6;S0*x!T+itMnz6hBIfyF}u7vX+{2`MWlYI;(eX3 zume}!;=H{vN`D=>EYXOw`<~Js?>w59hB8Z3@kPTjX72qVCgkk|3D)%?G7V@_QN>jXc~dWqWA9)W(R&E%Egdtt@tYn1id4dsbpKdi=RVSgFHmem|E$Jm(?` z-*`w^v0D0A$gZRP!$O(*YPmxK0v~psj7lhWq8Zr4sOjF*?rq9GK11XPzCg?pl)?Bg zwT?R8J>7IN(U};%Mg)aaI%wCh(Yt^l3xs=ss_@e7Eh(r$+`XQ8$kn>1}CYdKNNO;{Yu>~t@B)ny@rRSG@BN5h>uDMqg-&} zNtLwcMIRXXAxqSUyu{)SR0@fc@i-Obcv0{BJ1{QszWhxO(m~{~U4D{U(vr!v5`RY= z&kXk=@hLx@s8E>f^pZ{iMg1W*3j&Eyq)=wv`lWr49Sq#<}l4@cH!yqesEmP4)AI9fKJbaVI~jv65J zVHp#I!P7*qkfOnH#GyO6sa3$kom&G*74xa)PK*Ki)SY4#9p!lk_*1(rl9fZ){yaWf zqP7CN-koMxN7!3$BU+)FVK*#06GDn5Vi@7ptAe}R6u^P`9+evxdHPs8s>DUKUyXLX z!IUP88!WvTch=hs<6*UEC(kSFeEYUePUM;4br=ZZ-<0>eY+}*4im-gs(?d=ZMWoLR zm-I%Nd-1nIzDX|I-k%xcBvDM-!WPyEf@3C52nN9cD0!Kv3#|A*@0;_)z_=491P#E*|Ni*HN#UGA6lhlYyVV36DfqLpN%uGZ%Ag0D-7sd89Uum)D!FX8wy zZk*VMbls|do@8&kfIHA9u@nJ5HrG`4(lay{WypdN)O?|G{iIC| z<1}V-j9F|8iD^=>T|KI>Kx5+LG_G2k_0mbJCU;48BAwUwb)AxRd45rGg&w0waa!)o zkS|`r4Hbf$xKYyJ!_P?2!t*b1RY#NWWIFIojXQ~P8oc5lVvZc*m0K6lW6NNnY_X&&JOg)7fp8$uJ>bxuOa{|<{{K$?XD^@YP-_345V)*W|9 zi^eBr*#i8Sd!WQxkE5*jAZc$Z%Y5R9f<; zK$~GxsDBc#t=9yJBfUr^k}@W)mf)UaC^ydzQw5;!snkrBa| zxHyHO&^rFWHGfe3IpD8Q&DxSKW%hVw3bW#@qfQQkzX`u#lz(SKv?czj@m#$FsHLfC z|3jC{&H?MWL%9a2IEMeDnfl7gs4071bla$vA4;NS2`Vjg8(T6-nBridve5?>6zAnt z0ksoEh`Fs#N_N0Gmdq%ir4IRpm0aXJ)E8#67C!9QR0S$Ki_AAjmvs1!93mAC)6*?S~iJ6zo&@@yKsp7e3H~Q06Q{WScMNoZ8K`}q#na` zfMe^`q`EYlHB~tVwD7&dKy0lHNIHda<{dJmbk}!FaHSWp15bq=&g#*C?afCrnlGhJDFwkdPaL|5<>O2Rn zyi>MKrzrRi5UAMwr0LTc{>n9*$ymAwSQUB>HfDsDx zIK*z~&JiQK39XHo$fA@<2^v8m^b7d~~j6o2Ad1-~%} zdtPuQ7k;<3&UQ9e{ad<)_f~*u$Veh@MrNha&ibUj$uJi2^6r}%TC7nM*XD-RQ3^j0 zZN#JRiP_CmwZY(=#=Y;%^mnM)U=X;=r1(3!Dp)7JPMjpcCp9}3eeejid}(2n(%~pIXP*@V{DqerN_E=Ks%9 z4pwGPHV!7%e-5bs>|y#(I1EB8|7Un~m_XD6Nn{-+cyt&+tpMI;1+xRm*QN+x0qus~ zu4RTz5O$Fk$m71i%Z@%s(^vs`(-vv~f_1>IB7($ognv?2 zYBDgI;8E?CUz7`sKiJJmdgjI!X22M>FgI1uHAm**<^XSBf?RC`bQlrW7v)Z{=3_SG zaH;lt$lcTWG5xLC)41f>8bR;wrwQk(_4y<}WPHY`Y2$KO?>TdK^gG?BA4Ga*o4!sK z3f4(G{3}{3bnCTXshv|38GHB=#ojDnf8p(EuY3QzzVDHzj)z)iF@*1Ye*S|%d;e7y zIqugU5zmj^k1G&sFP7iY-cnq+L&Zn?o@?GGrrv9jtFUAZl$r>-uT8@@v7{g;za%F!NukVG&(J{6SVtkFq@d0_ZgZRXd4)* z8yKi-B9*BXMX70Az{~55xPUjhL4ksqsj0E4LYe|x3{*aXfI=Qr%-Gbx6c{R~V!-SF zfSyGcvji5tXkwNIzycaw40x{_hL{Pk;zLmfDs#UZ;m9W@ZAs>km!Lz{mjI z4g)h26AXWt7=UUC5J33X#26HjXkwjTlnEKGpc-=U}j+F^mA&e+rlJxmSE4L}t= zs$O#=Qw)27w-6$^xuhr&c - - - - - - - 2025-06-16T10:21:50.015760 - image/svg+xml - - - Matplotlib v3.10.3, https://matplotlib.org/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/skada_logo_full_white.pdf b/examples/skada_logo_full_white.pdf deleted file mode 100644 index 0482f14c58ecd0e8069b4bb36f816e9044d2412d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35735 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 diff --git a/examples/skada_logo_full_white.svg b/examples/skada_logo_full_white.svg deleted file mode 100644 index 74c5c2ed..00000000 --- a/examples/skada_logo_full_white.svg +++ /dev/null @@ -1,765 +0,0 @@ - - - - - - - - 2025-06-16T10:21:50.123952 - image/svg+xml - - - Matplotlib v3.10.3, https://matplotlib.org/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 540c427d55cace8dfd09a191fda9ccef9c327c46 Mon Sep 17 00:00:00 2001 From: De Rouck Date: Mon, 16 Jun 2025 14:03:18 +0200 Subject: [PATCH 3/7] corrected (X, y, name) --- skada/datasets/_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skada/datasets/_base.py b/skada/datasets/_base.py index 0b4a3dad..fa9ddece 100644 --- a/skada/datasets/_base.py +++ b/skada/datasets/_base.py @@ -72,7 +72,7 @@ class DomainAwareDataset: ---------- domains : list of tuple or dict of tuple or None, optional List or dictionary of domains to add at initialization. - Each domain can be a tuple (X, y) or (name, X, y). + Each domain can be a tuple (X, y) or (X, y, name). Attributes ---------- From c36ffd9bb1e85f2730653e12cb11a32a5223e3f9 Mon Sep 17 00:00:00 2001 From: De Rouck Date: Mon, 16 Jun 2025 14:10:51 +0200 Subject: [PATCH 4/7] added docstring --- skada/datasets/_base.py | 61 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/skada/datasets/_base.py b/skada/datasets/_base.py index fa9ddece..5cf194ab 100644 --- a/skada/datasets/_base.py +++ b/skada/datasets/_base.py @@ -81,7 +81,6 @@ class DomainAwareDataset: domain_names_ : dict Dictionary mapping each domain name to its internal identifier. """ - def __init__( self, # xxx(okachaiev): not sure if dictionary is a good format :thinking: @@ -102,6 +101,23 @@ def __init__( def add_domain( self, X, y=None, domain_name: Optional[str] = None ) -> "DomainAwareDataset": + """ + Add a new domain to the dataset. + + Parameters + ---------- + X : np.ndarray + Feature matrix for the domain. + y : np.ndarray or None, optional + Labels for the domain. If None, labels are not provided. + domain_name : str, optional + Name of the domain. If None, a unique name is autogenerated. + + Returns + ------- + self : DomainAwareDataset + The updated dataset. + """ if domain_name is not None: # check the name is unique # xxx(okachaiev): ValueError would be more appropriate @@ -116,6 +132,21 @@ def add_domain( def merge( self, dataset: "DomainAwareDataset", names_mapping: Optional[Mapping] = None ) -> "DomainAwareDataset": + """ + Merge another DomainAwareDataset into this one. + + Parameters + ---------- + dataset : DomainAwareDataset + The dataset to merge. + names_mapping : mapping, optional + Mapping from old domain names to new domain names. + + Returns + ------- + self : DomainAwareDataset + The updated dataset. + """ for domain_name in dataset.domain_names_: # xxx(okachaiev): this needs to be more flexible # as it should be possible to pass only X with y=None @@ -127,12 +158,40 @@ def merge( return self def get_domain(self, domain_name: str) -> Tuple[np.ndarray, Optional[np.ndarray]]: + """ + Retrieve the data and labels for a given domain. + + Parameters + ---------- + domain_name : str + Name of the domain to retrieve. + + Returns + ------- + domain : tuple + Tuple containing (X, y) or (X,) for the specified domain. + """ domain_id = self.domain_names_[domain_name] return self.domains_[domain_id - 1] def select_domain( self, sample_domain: np.ndarray, domains: Union[str, Iterable[str]] ) -> np.ndarray: + """ + Select samples belonging to one or more domains. + + Parameters + ---------- + sample_domain : np.ndarray + Array of domain labels for each sample. + domains : str or iterable of str + Domain name(s) to select. + + Returns + ------- + mask : np.ndarray + Boolean mask indicating selected samples. + """ return select_domain(self.domain_names_, sample_domain, domains) # xxx(okachaiev): i guess, if we are using names to pack domains into array, From 2ad0fae54438b151fa9e2864edc953bc3e714c4e Mon Sep 17 00:00:00 2001 From: De Rouck Date: Mon, 16 Jun 2025 14:14:40 +0200 Subject: [PATCH 5/7] edited style --- skada/datasets/_base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/skada/datasets/_base.py b/skada/datasets/_base.py index 5cf194ab..05e70633 100644 --- a/skada/datasets/_base.py +++ b/skada/datasets/_base.py @@ -81,6 +81,7 @@ class DomainAwareDataset: domain_names_ : dict Dictionary mapping each domain name to its internal identifier. """ + def __init__( self, # xxx(okachaiev): not sure if dictionary is a good format :thinking: From 9555b1a7b2482f6496106a43eec982416592e5ec Mon Sep 17 00:00:00 2001 From: De Rouck Date: Mon, 16 Jun 2025 14:21:43 +0200 Subject: [PATCH 6/7] pack test,train docstrings --- skada/datasets/_base.py | 57 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/skada/datasets/_base.py b/skada/datasets/_base.py index 05e70633..900c3739 100644 --- a/skada/datasets/_base.py +++ b/skada/datasets/_base.py @@ -318,10 +318,33 @@ def pack_train( return_X_y: bool = True, mask: Union[None, int, float] = None, ) -> PackedDatasetType: - """Same as `pack`. + """ + Aggregate source and target domains for training. + + This method is equivalent to :meth:`pack` with ``train=True``. + It masks the labels for target domains (with -1 or a custom mask value) + so that they are not available during training, as required for + domain adaptation scenarios. + + Parameters + ---------- + as_sources : list of str + List of domain names to be used as sources. + as_targets : list of str + List of domain names to be used as targets. + return_X_y : bool, default=True + If True, returns a tuple (X, y, sample_domain). Otherwise, + returns a :class:`sklearn.utils.Bunch` object. + mask : int or float, optional + Value to mask labels at training time. If None, uses -1 for integers + and np.nan for floats. - Masks labels for target domains with -1 so they are not available - at training time. + Returns + ------- + data : :class:`sklearn.utils.Bunch` + Dictionary-like object with attributes X, y, sample_domain, domain_names. + (X, y, sample_domain) : tuple if `return_X_y=True` + Tuple of (data, target, sample_domain). """ return self.pack( as_sources=as_sources, @@ -336,6 +359,34 @@ def pack_test( as_targets: List[str], return_X_y: bool = True, ) -> PackedDatasetType: + """ + Aggregate source and target domains for training. + + This method is equivalent to :meth:`pack` with ``train=True``. + It masks the labels for target domains (with -1 or a custom mask value) + so that they are not available during training, as required for + domain adaptation scenarios. + + Parameters + ---------- + as_sources : list of str + List of domain names to be used as sources. + as_targets : list of str + List of domain names to be used as targets. + return_X_y : bool, default=True + If True, returns a tuple (X, y, sample_domain). Otherwise, + returns a :class:`sklearn.utils.Bunch` object. + mask : int or float, optional + Value to mask labels at training time. If None, uses -1 for integers + and np.nan for floats. + + Returns + ------- + data : :class:`sklearn.utils.Bunch` + Dictionary-like object with attributes X, y, sample_domain, domain_names. + (X, y, sample_domain) : tuple if `return_X_y=True` + Tuple of (data, target, sample_domain). + """ return self.pack( as_sources=[], as_targets=as_targets, From b57ebf6f28e700b4aa4b0ac5f42a8317f779d25d Mon Sep 17 00:00:00 2001 From: De Rouck Date: Mon, 16 Jun 2025 14:57:25 +0200 Subject: [PATCH 7/7] corrected pack_test docstring --- skada/datasets/_base.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/skada/datasets/_base.py b/skada/datasets/_base.py index 900c3739..60f562de 100644 --- a/skada/datasets/_base.py +++ b/skada/datasets/_base.py @@ -360,25 +360,18 @@ def pack_test( return_X_y: bool = True, ) -> PackedDatasetType: """ - Aggregate source and target domains for training. + Aggregate target domains for testing. - This method is equivalent to :meth:`pack` with ``train=True``. - It masks the labels for target domains (with -1 or a custom mask value) - so that they are not available during training, as required for - domain adaptation scenarios. + This method is equivalent to :meth:`pack` with only target domains + and ``train=False``. Labels are not masked. Parameters ---------- - as_sources : list of str - List of domain names to be used as sources. as_targets : list of str List of domain names to be used as targets. return_X_y : bool, default=True If True, returns a tuple (X, y, sample_domain). Otherwise, returns a :class:`sklearn.utils.Bunch` object. - mask : int or float, optional - Value to mask labels at training time. If None, uses -1 for integers - and np.nan for floats. Returns -------