From 23b59d112d50455884621dee981a605902fe440a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 20 Jul 2024 18:23:17 -0400 Subject: [PATCH 001/153] wip --- pyterrier/__init__.py | 12 +++--- pyterrier/batchretrieve.py | 51 +++++++++++----------- pyterrier/datasets.py | 8 ++-- pyterrier/java.py | 86 ++++++++++++++++++++++++++++++++++++++ pyterrier/utils.py | 37 ++++++++++++++++ setup.py | 5 +++ 6 files changed, 163 insertions(+), 36 deletions(-) create mode 100644 pyterrier/java.py diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 8198b684..426c9648 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -7,6 +7,11 @@ # definitive API used by others, now available before pt.init from .transformer import Transformer, Estimator, Indexer +from . import utils +from . import java + +from .batchretrieve import BatchRetrieve +TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve import importlib @@ -184,8 +189,6 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log globals()["list_datasets"] = list_datasets globals()["find_datasets"] = find_datasets # .batchretrieve - globals()["BatchRetrieve"] = BatchRetrieve - globals()["TerrierRetrieve"] = BatchRetrieve # TerrierRetrieve is an alias to BatchRetrieve globals()["Indexer"] = Indexer globals()["FeaturesBatchRetrieve"] = FeaturesBatchRetrieve # .index @@ -270,18 +273,17 @@ def started(): """ return(firstInit) +@java.required() def version(): """ Returns the version string from the underlying Terrier platform. """ - from jnius import autoclass - return autoclass("org.terrier.Version").VERSION + return java.autoclass("org.terrier.Version").VERSION def check_version(min, helper=False): """ Returns True iff the underlying Terrier version is no older than the requested version. """ - from jnius import autoclass from packaging.version import Version min = Version(str(min)) currentVer = Version((_helper_version if helper else version()).replace("-SNAPSHOT", "")) diff --git a/pyterrier/batchretrieve.py b/pyterrier/batchretrieve.py index 357a3116..d812b40c 100644 --- a/pyterrier/batchretrieve.py +++ b/pyterrier/batchretrieve.py @@ -1,14 +1,14 @@ -from jnius import autoclass, cast from typing import Union import pandas as pd import numpy as np -from . import tqdm, check_version, Transformer +from . import tqdm, Transformer from warnings import warn from .datasets import Dataset from .transformer import Symbol from .model import coerce_queries_dataframe, FIRST_RANK import concurrent from concurrent.futures import ThreadPoolExecutor +import pyterrier as pt def importProps(): from . import properties as props @@ -24,7 +24,6 @@ def _matchop(query): return False def _function2wmodel(function): - from . import autoclass from jnius import PythonJavaClass, java_method class PythonWmodelFunction(PythonJavaClass): @@ -46,11 +45,11 @@ def serializeFn(self): extend(use_dill=False) # keep both python and java representations around to prevent them being GCd in respective VMs self.pbyterep = pickle.dumps(self.fn) - self.jbyterep = autoclass("java.nio.ByteBuffer").wrap(self.pbyterep) + self.jbyterep = pt.java.autoclass("java.nio.ByteBuffer").wrap(self.pbyterep) return self.jbyterep callback = PythonWmodelFunction(function) - wmodel = autoclass("org.terrier.python.CallableWeightingModel")( callback ) + wmodel = pt.java.autoclass("org.terrier.python.CallableWeightingModel")( callback ) return callback, wmodel def _mergeDicts(defaults, settings): @@ -60,14 +59,14 @@ def _mergeDicts(defaults, settings): return KV def _parse_index_like(index_location): - JIR = autoclass('org.terrier.querying.IndexRef') - JI = autoclass('org.terrier.structures.Index') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + JI = pt.java.autoclass('org.terrier.structures.Index') from .index import TerrierIndexer if isinstance(index_location, JIR): return index_location if isinstance(index_location, JI): - return cast('org.terrier.structures.Index', index_location).getIndexRef() + return pt.java.cast('org.terrier.structures.Index', index_location).getIndexRef() if isinstance(index_location, str) or issubclass(type(index_location), TerrierIndexer): if issubclass(type(index_location), TerrierIndexer): return JIR.of(index_location.path) @@ -87,6 +86,7 @@ class BatchRetrieveBase(Transformer, Symbol): Attributes: verbose(bool): If True transform method will display progress """ + @pt.java.required() def __init__(self, verbose=0, **kwargs): super().__init__(kwargs) self.verbose = verbose @@ -203,16 +203,15 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do metadata(list): What metadata to retrieve """ super().__init__(kwargs) - from . import autoclass self.indexref = _parse_index_like(index_location) - self.appSetup = autoclass('org.terrier.utility.ApplicationSetup') + self.appSetup = pt.java.autoclass('org.terrier.utility.ApplicationSetup') self.properties = _mergeDicts(BatchRetrieve.default_properties, properties) - self.concurrentIL = autoclass("org.terrier.structures.ConcurrentIndexLoader") - if check_version(5.5) and "SimpleDecorateProcess" not in self.properties["querying.processes"]: + self.concurrentIL = pt.java.autoclass("org.terrier.structures.ConcurrentIndexLoader") + if pt.check_version(5.5) and "SimpleDecorateProcess" not in self.properties["querying.processes"]: self.properties["querying.processes"] += ",decorate:SimpleDecorateProcess" self.metadata = metadata self.threads = threads - self.RequestContextMatching = autoclass("org.terrier.python.RequestContextMatching") + self.RequestContextMatching = pt.java.autoclass("org.terrier.python.RequestContextMatching") self.search_context = {} if props is None: @@ -231,7 +230,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do self._callback = callback self.search_context['context_wmodel'] = wmodelinstance self.controls['context_wmodel'] = 'on' - elif isinstance(wmodel, autoclass("org.terrier.matching.models.WeightingModel")): + elif isinstance(wmodel, pt.java.autoclass("org.terrier.matching.models.WeightingModel")): self.search_context['context_wmodel'] = wmodel self.controls['context_wmodel'] = 'on' else: @@ -239,7 +238,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do if self.threads > 1: warn("Multi-threaded retrieval is experimental, YMMV.") - assert check_version(5.5), "Terrier 5.5 is required for multi-threaded retrieval" + assert pt.check_version(5.5), "Terrier 5.5 is required for multi-threaded retrieval" # we need to see if our indexref is concurrent. if not, we upgrade it using ConcurrentIndexLoader # this will upgrade the underlying index too. @@ -256,8 +255,8 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do raise ValueError("num_results must be None, 0 or positive") - MF = autoclass('org.terrier.querying.ManagerFactory') - self.RequestContextMatching = autoclass("org.terrier.python.RequestContextMatching") + MF = pt.java.autoclass('org.terrier.querying.ManagerFactory') + self.RequestContextMatching = pt.java.autoclass("org.terrier.python.RequestContextMatching") self.manager = MF._from_(self.indexref) def get_parameter(self, name : str): @@ -394,7 +393,7 @@ def transform(self, queries): scores_provided = "score" in queries.columns input_results = None if docno_provided or docid_provided: - assert check_version(5.3) + assert pt.check_version(5.3) input_results = queries # query is optional, and functionally dependent on qid. @@ -489,7 +488,7 @@ def __init__(self, innerclass, takes="queries", returns="docs", body_attr="body" self.verbose = verbose def transform(self, topics_and_res): - from . import DFIndexer, autoclass, IndexFactory + from . import DFIndexer, IndexFactory from .index import IndexingType documents = topics_and_res[["docno", self.body_attr]].drop_duplicates(subset="docno") indexref = DFIndexer(None, type=IndexingType.MEMORY, verbose=self.verbose).index(documents[self.body_attr], documents["docno"]) @@ -505,7 +504,7 @@ def transform(self, topics_and_res): index = index_docs else: index_background = IndexFactory.of(self.background_indexref) - index = autoclass("org.terrier.python.IndexWithBackground")(index_docs, index_background) + index = pt.java.autoclass("org.terrier.python.IndexWithBackground")(index_docs, index_background) topics = topics_and_res[["qid", "query"]].dropna(axis=0, subset=["query"]).drop_duplicates() @@ -624,8 +623,7 @@ def __init__(self, index_location, features, controls=None, properties=None, thr # check for terrier-core#246 bug usiung FatFull if self.wmodel is not None: - from . import check_version - assert check_version(5.9), "Terrier 5.9 is required for this functionality, see https://github.com/terrier-org/terrier-core/pull/246" + assert pt.check_version(5.9), "Terrier 5.9 is required for this functionality, see https://github.com/terrier-org/terrier-core/pull/246" if threads > 1: raise ValueError("Multi-threaded retrieval not yet supported by FeaturesBatchRetrieve") @@ -694,15 +692,14 @@ def transform(self, queries): scores_provided = "score" in queries.columns if docno_provided or docid_provided: #re-ranking mode - from . import check_version - assert check_version(5.3) + assert pt.check_version(5.3) input_results = queries # query is optional, and functionally dependent on qid. # Hence as long as one row has the query for each qid, # the rest can be None queries = input_results[["qid", "query"]].dropna(axis=0, subset=["query"]).drop_duplicates() - RequestContextMatching = autoclass("org.terrier.python.RequestContextMatching") + RequestContextMatching = pt.java.autoclass("org.terrier.python.RequestContextMatching") if not scores_provided and self.wmodel is None: raise ValueError("We're in re-ranking mode, but input does not have scores, and wmodel is None") @@ -762,8 +759,8 @@ def transform(self, queries): srq.setControl("matching", ",".join(["FatFeaturedScoringMatching","ScoringMatchingWithFat", srq.getControl("matching")])) self.manager.runSearchRequest(srq) - srq = cast('org.terrier.querying.Request', srq) - fres = cast('org.terrier.learning.FeaturedResultSet', srq.getResultSet()) + srq = pt.java.cast('org.terrier.querying.Request', srq) + fres = pt.java.cast('org.terrier.learning.FeaturedResultSet', srq.getResultSet()) feat_names = fres.getFeatureNames() docids=fres.getDocids() diff --git a/pyterrier/datasets.py b/pyterrier/datasets.py index 247b1825..a8d3997a 100644 --- a/pyterrier/datasets.py +++ b/pyterrier/datasets.py @@ -8,7 +8,7 @@ from warnings import warn import requests from .io import autoopen, touch -from . import tqdm, HOME_DIR +import pyterrier as pt import tarfile from warnings import warn @@ -123,7 +123,7 @@ def __init__(self, name, locations): def _configure(self, **kwargs): from os.path import expanduser - pt_home = HOME_DIR + pt_home = pt.HOME_DIR if pt_home is None: from os.path import expanduser userhome = expanduser("~") @@ -148,7 +148,7 @@ def download(URLs : Union[str,List[str]], filename : str, **kwargs): r = requests.get(url, allow_redirects=True, stream=True, **kwargs) r.raise_for_status() total = int(r.headers.get('content-length', 0)) - with pt.io.finalized_open(filename, 'b') as file, tqdm( + with pt.io.finalized_open(filename, 'b') as file, pt.tqdm( desc=basename, total=total, unit='iB', @@ -411,7 +411,7 @@ def get_corpus_iter(self, verbose=True, start=0, count=None): # tqdm support if verbose: - it = tqdm(it, desc=f'{self._irds_id} documents', total=total) + it = pt.tqdm(it, desc=f'{self._irds_id} documents', total=total) # rewrite to follow pyterrier std def gen(): diff --git a/pyterrier/java.py b/pyterrier/java.py new file mode 100644 index 00000000..eed13e8d --- /dev/null +++ b/pyterrier/java.py @@ -0,0 +1,86 @@ +from functools import wraps +from typing import Callable + +import pyterrier as pt + + +_terrier_version = None + +def set_terrier_version(version=None): + """ + Sets the terrier version to use. + version(str): Which version of Terrier to use. Default is `None`. + * If None, it will find the newest Terrier version released in MavenCentral and download it. + * If `"snapshot"`, will download the latest build from `Jitpack `_. + """ + global _terrier_version + if started(): + raise RuntimeError('pt.java.set_terrier_version is not available after pt.java.init() is called.') + _terrier_version = version + + +def _legacy_init(jnius_config): + """ + Calls pt.init if it hasn't already been called. + """ + if not pt.started(): + pt.init(version=_terrier_version) + + +@pt.utils.once() +def init() -> None: + # TODO: if we make java optional some day, should check here that it's installed. E.g., + # if find_spec('jnius_config') is None: + # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') + # return + + import jnius_config + for entry_point in pt.utils.entry_points('pyterrier.java.init'): + _init = entry_point.load() + _init(jnius_config) + import jnius + + +def started() -> bool: + """ + Returns True if pt.java.init() has been called. Otherwise False. + """ + return init.called() + + +def required(raise_on_not_started: bool = False) -> Callable: + """ + Wraps a function that requires the Java Virtual Machine to be started before running. If the JVM has not yet + been started, it runs pt.java.init() or raises an error, depending on the value of raise_on_not_started. + """ + def _required(fn: Callable) -> Callable: + @wraps(fn) + def _wrapper(*args, **kwargs): + if not started(): + if raise_on_not_started: + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + else: + init() + return fn(*args, **kwargs) + return _wrapper + return _required + + +# jnius wrappers: + +@required(raise_on_not_started=True) +def autoclass(*args, **kwargs): + """ + Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. + """ + import jnius + return jnius.autoclass(*args, **kwargs) + + +@required(raise_on_not_started=True) +def cast(*args, **kwargs): + """ + Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. + """ + import jnius + return jnius.cast(*args, **kwargs) diff --git a/pyterrier/utils.py b/pyterrier/utils.py index 6edce309..b6823330 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -1,3 +1,7 @@ +from typing import Callable, Tuple +from functools import wraps +from importlib.metadata import EntryPoint +from importlib.metadata import entry_points as eps import pandas as pd from collections import defaultdict from deprecated import deprecated @@ -72,3 +76,36 @@ def evaluate(res : pd.DataFrame, qrels : pd.DataFrame, metrics=['map', 'ndcg'], def mean_of_measures(result, measures=None, num_q = None): from .pipelines import _mean_of_measures return _mean_of_measures(result, measures=measures, num_q=num_q) + + +def once() -> Callable: + """ + Wraps a function that can only be called once. Subsequent calls will raise an error. + """ + def _once(fn: Callable) -> Callable: + called = False + + @wraps(fn) + def _wrapper(*args, **kwargs): + nonlocal called + if called: + raise ValueError(f"{fn.__name__} has already been run") + # how to handle errors? + res = fn(*args, **kwargs) + called = True + return res + _wrapper.called = lambda: called # type: ignore + return _wrapper + return _once + + +def entry_points(group: str) -> Tuple[EntryPoint, ...]: + """ + A shim for Python<=3.X to support importlib.metadata.entry_points(group). + + See for more details. + """ + try: + return tuple(eps(group=group)) + except TypeError: + return tuple(eps().get(group, tuple())) diff --git a/setup.py b/setup.py index be9968c1..5cd5803d 100644 --- a/setup.py +++ b/setup.py @@ -70,6 +70,11 @@ def get_version(rel_path): "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Operating System :: OS Independent", ], + entry_points={ + 'pyterrier.java.init': [ + 'legacy_init = pyterrier:java._legacy_init', + ], + }, install_requires=requirements, python_requires='>=3.8', ) From e474044a34e4d9ae83cb9d03f3447de03abf95e5 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 21 Jul 2024 08:19:57 +0000 Subject: [PATCH 002/153] integration --- pyterrier/__init__.py | 222 ++++++----------- pyterrier/bootstrap.py | 54 ----- pyterrier/cache.py | 4 +- pyterrier/index.py | 478 +++++++++++++++++++------------------ pyterrier/io.py | 14 ++ pyterrier/java.py | 133 +++++++++-- pyterrier/mavenresolver.py | 29 ++- pyterrier/rewrite.py | 20 +- pyterrier/terrier.py | 105 ++++++++ setup.py | 10 +- 10 files changed, 597 insertions(+), 472 deletions(-) create mode 100644 pyterrier/terrier.py diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 426c9648..83a1244b 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -1,48 +1,61 @@ __version__ = "0.10.1" import os +from deprecated import deprecated -from .bootstrap import _logging, setup_terrier, setup_jnius, is_windows +from .bootstrap import setup_jnius, is_windows from tqdm.auto import tqdm # definitive API used by others, now available before pt.init from .transformer import Transformer, Estimator, Indexer from . import utils from . import java +from . import terrier + +from . import anserini +from . import cache +from . import debug +from . import index +from . import io +from . import measures +from . import model +from . import new +from . import ltr +from . import parallel +from . import pipelines +from . import rewrite +from . import text +from . import transformer +from .datasets import get_dataset, find_datasets, list_datasets + +from .batchretrieve import BatchRetrieve, FeaturesBatchRetrieve +from .utils import Utils +from .bootstrap import IndexFactory +from .index import Indexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser +from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate from .batchretrieve import BatchRetrieve TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve import importlib -#sub modules -anserini = None -apply = None -cache = None -debug = None -index = None -io = None -ltr = None -measures = None -model = None -new = None -parallel = None -pipelines = None -rewrite = None -text = None -transformer = None - file_path = os.path.dirname(os.path.abspath(__file__)) -firstInit = False + +# will be set in java._legacy_post_init once java is loaded ApplicationSetup = None -IndexFactory = None -IndexRef = None properties = None + +# will be set in terrier._java_post_init once java is loaded +IndexRef = None HOME_DIR = None -init_args ={} + +# TODO +init_args = {} _helper_version = None + +@java.before_init() def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): """ Function necessary to be called before Terrier classes and methods can be used. @@ -81,91 +94,31 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log are in the "~/.pyterrier" (if they are not present, they will be downloaded the first time). Then you should set their versions when calling ``init()`` function. For example: ``pt.init(version = 5.5, helper_version = "0.0.6")``. """ - global firstInit - if firstInit: - raise RuntimeError("pt.init() has already been called. Check pt.started() before calling pt.init()") + + # Set the corresponding options + java.set_memory_limit(mem) + for package in boot_packages: + java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) + for opt in jvm_opts: + java.add_option(opt) + terrier.set_version(version) + terrier.set_helper_version(helper_version) + set_tqdm(tqdm) + + # TODO: missing no_download. Is this something like pt.java.set_offline(True)? + + java.init() + + java.set_log_level(logging) # check python version + # TODO: does this belong in init or somewhere else? import platform from packaging.version import Version if Version(platform.python_version()) < Version('3.7.0'): raise RuntimeError("From PyTerrier 0.8, Python 3.7 minimum is required, you currently have %s" % platform.python_version()) - set_tqdm(tqdm) - - global ApplicationSetup - global properties - global file_path - global HOME_DIR - - # we keep a local directory - if home_dir is not None: - HOME_DIR = home_dir - elif "PYTERRIER_HOME" in os.environ: - HOME_DIR = os.environ["PYTERRIER_HOME"] - else: - from os.path import expanduser - userhome = expanduser("~") - HOME_DIR = os.path.join(userhome, ".pyterrier") - if not os.path.exists(HOME_DIR): - os.mkdir(HOME_DIR) - - # get the initial classpath for the JVM - classpathTrJars, hlpr_ver = setup_terrier(HOME_DIR, version, helper_version = helper_version, boot_packages=boot_packages, force_download=not no_download) - global _helper_version - _helper_version = hlpr_ver - - if is_windows(): - if "JAVA_HOME" in os.environ: - java_home = os.environ["JAVA_HOME"] - fix = '%s\\jre\\bin\\server\\;%s\\jre\\bin\\client\\;%s\\bin\\server\\' % (java_home, java_home, java_home) - os.environ["PATH"] = os.environ["PATH"] + ";" + fix - - # Import pyjnius and other classes - import jnius_config - for jar in classpathTrJars: - jnius_config.add_classpath(jar) - if jvm_opts is not None: - for opt in jvm_opts: - jnius_config.add_options(opt) - if mem is not None: - jnius_config.add_options('-Xmx' + str(mem) + 'm') - from jnius import autoclass, cast - - # we only accept Java version 11 and newer; so anything starting 1. or 9. is too old - java_version = autoclass("java.lang.System").getProperty("java.version") - if java_version.startswith("1.") or java_version.startswith("9."): - raise RuntimeError("Pyterrier requires Java 11 or newer, we only found Java version %s;" - +" install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation", - java_version) - - tr_version = autoclass('org.terrier.Version') - version_string = tr_version.VERSION - if "BUILD_DATE" in dir(tr_version): - version_string += " (built by %s on %s)" % (tr_version.BUILD_USER, tr_version.BUILD_DATE) - import sys - print("PyTerrier %s has loaded Terrier %s and terrier-helper %s\n" % (__version__, version_string, _helper_version), file=sys.stderr) - properties = autoclass('java.util.Properties')() - ApplicationSetup = autoclass('org.terrier.utility.ApplicationSetup') - - from .batchretrieve import BatchRetrieve, FeaturesBatchRetrieve - from .utils import Utils - from .bootstrap import IndexFactory - from .datasets import get_dataset, find_datasets, list_datasets - from .index import Indexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser - from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate - # Make imports global - globals()["autoclass"] = autoclass - globals()["cast"] = cast - globals()["ApplicationSetup"] = ApplicationSetup - - # apply is an object, not a module, as it also has __get_attr__() implemented - from .apply import _apply - globals()['apply'] = _apply() - - for sub_module_name in ['anserini', 'cache', 'debug', 'index', 'io', 'measures', 'model', 'new', 'ltr', 'parallel', 'pipelines', 'rewrite', 'text', 'transformer']: - globals()[sub_module_name] = importlib.import_module('.' + sub_module_name, package='pyterrier') # append the python helpers if packages is None: @@ -180,38 +133,8 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log if redirect_io: # this ensures that the python stdout/stderr and the Java are matched redirect_stdouterr() - init_args["logging"] = logging - _logging(logging) - setup_jnius() - # .datasets - globals()["get_dataset"] = get_dataset - globals()["list_datasets"] = list_datasets - globals()["find_datasets"] = find_datasets - # .batchretrieve - globals()["Indexer"] = Indexer - globals()["FeaturesBatchRetrieve"] = FeaturesBatchRetrieve - # .index - globals()["TRECCollectionIndexer"] = TRECCollectionIndexer - globals()["FilesIndexer"] = FilesIndexer - globals()["DFIndexer"] = DFIndexer - globals()["DFIndexUtils"] = DFIndexUtils - globals()["IterDictIndexer"] = IterDictIndexer - globals()["IndexFactory"] = IndexFactory - globals()["IndexRef"] = autoclass("org.terrier.querying.IndexRef") - globals()["IndexingType"] = IndexingType - globals()["TerrierStemmer"] = TerrierStemmer - globals()["TerrierStopwords"] = TerrierStopwords - globals()["TerrierTokeniser"] = TerrierTokeniser - # .pipelines etc - globals()["Experiment"] = Experiment - globals()["Evaluate"] = Evaluate - globals()["GridScan"] = GridScan - globals()["GridSearch"] = GridSearch - globals()["KFoldGridSearch"] = KFoldGridSearch - globals()["Utils"] = Utils - - + setup_jnius() # we save the pt.init() arguments so that other processes, # started by joblib or ray can booted with same options @@ -223,7 +146,7 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log init_args["home_dir"] = home_dir init_args["boot_packages"] = boot_packages init_args["tqdm"] = tqdm - firstInit = True + def set_tqdm(type): """ @@ -271,7 +194,7 @@ def started(): if not pt.started(): pt.init() """ - return(firstInit) + return java.started() @java.required() def version(): @@ -296,6 +219,9 @@ def redirect_stdouterr(): from . import bootstrap bootstrap.redirect_stdouterr() + +@java.required() +@deprecated(version="0.11", reason="Use pt.java.set_log_level() instead") def logging(level): """ Set the logging level. Equivalent to setting the logging= parameter to init(). @@ -307,9 +233,10 @@ def logging(level): - `'DEBUG'`: show debugging, information, warnings and error messages """ - from . import bootstrap - bootstrap.logging(level) + java.set_log_level(level) + +@java.required() def set_property(k, v): """ Allows to set a property in Terrier's global properties configuration. Example:: @@ -326,6 +253,8 @@ def set_property(k, v): properties[str(k)] = str(v) ApplicationSetup.bootstrapInitialisation(properties) + +@java.required() def set_properties(kwargs): """ Allows to set many properties in Terrier's global properties configuration @@ -334,25 +263,28 @@ def set_properties(kwargs): properties[str(key)] = str(value) ApplicationSetup.bootstrapInitialisation(properties) + +@java.required() def run(cmd, args=[]): """ Allows to run a Terrier executable class, i.e. one that can be access from the `bin/terrier` commandline programme. """ - from jnius import autoclass - autoclass("org.terrier.applications.CLITool").main([cmd] + args) + java.autoclass("org.terrier.applications.CLITool").main([cmd] + args) + +@java.required() def extend_classpath(mvnpackages): """ Allows to add packages to Terrier's classpath after the JVM has started. """ - assert check_version(5.3), "Terrier 5.3 required for this functionality" if isinstance(mvnpackages, str): mvnpackages = [mvnpackages] - from jnius import autoclass, cast - thelist = autoclass("java.util.ArrayList")() - for pkg in mvnpackages: - thelist.add(pkg) - mvnr = ApplicationSetup.getPlugin("MavenResolver") - assert mvnr is not None - mvnr = cast("org.terrier.utility.MavenResolver", mvnr) - mvnr.addDependencies(thelist) + for package in mvnpackages: + terrier.extend_package(package) + + +# apply is an object, not a module, as it also has __get_attr__() implemented +def _(): + from .apply import _apply + globals()['apply'] = _apply() +_() diff --git a/pyterrier/bootstrap.py b/pyterrier/bootstrap.py index 99be0550..adbf1c99 100644 --- a/pyterrier/bootstrap.py +++ b/pyterrier/bootstrap.py @@ -3,7 +3,6 @@ stdout_ref = None stderr_ref = None -TERRIER_PKG = "org.terrier" SAVED_FNS=[] class IndexFactory: @@ -124,11 +123,6 @@ def of(indexlike, memory : Union[bool, List[str]] = False): return IndexFactory._load_into_memory(index, structures=memory) return IndexFactory._load_into_memory(index) -def logging(level): - from jnius import autoclass - autoclass("org.terrier.python.PTUtils").setLogLevel(level, None) -# make an alias -_logging = logging def new_indexref(s): from . import IndexRef @@ -338,54 +332,6 @@ def _index_corpusiter_direct_pretok(self): 'get_corpus_iter' : _index_corpusiter } -def setup_terrier(file_path, terrier_version=None, helper_version=None, boot_packages=[], force_download=True): - """ - Download Terrier's jar file for the given version at the given file_path - Called by pt.init() - - Args: - file_path(str): Where to download - terrier_version(str): Which version of Terrier - None is latest release; "snapshot" uses Jitpack to download a build of the current Github 5.x branch. - helper_version(str): Which version of the helper - None is latest - """ - # If version is not specified, find newest and download it - if terrier_version is None: - terrier_version = mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") - else: - terrier_version = str(terrier_version) # just in case its a float - # obtain the fat jar from Maven - # "snapshot" means use Jitpack.io to get a build of the current - # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT - if terrier_version == "snapshot": - trJar = mavenresolver.downloadfile("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", file_path, "jar-with-dependencies", force_download=force_download) - else: - trJar = mavenresolver.downloadfile(TERRIER_PKG, "terrier-assemblies", terrier_version, file_path, "jar-with-dependencies") - - # now the helper classes - if helper_version is None: - helper_version = mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") - else: - helper_version = str(helper_version) # just in case its a float - helperJar = mavenresolver.downloadfile(TERRIER_PKG, "terrier-python-helper", helper_version, file_path, "jar") - - classpath=[trJar, helperJar] - for b in boot_packages: - parts = b.split(":") - if len(parts) < 2 or len(parts) > 4: - raise ValueError("Invalid format for package %s" % b) - group = parts[0] - pkg = parts[1] - filetype = "jar" - version = None - if len(parts) > 2: - version = parts[2] - if len(parts) > 3: - filetype = parts[3] - #print((group, pkg, filetype, version)) - filename = mavenresolver.downloadfile(group, pkg, version, file_path, filetype) - classpath.append(filename) - - return classpath, helper_version def is_windows() -> bool: import platform diff --git a/pyterrier/cache.py b/pyterrier/cache.py index 4d72bc22..e0d46486 100644 --- a/pyterrier/cache.py +++ b/pyterrier/cache.py @@ -1,6 +1,6 @@ from . import Transformer import hashlib -from . import HOME_DIR +import pyterrier as pt import os from os import path import pandas as pd @@ -28,7 +28,7 @@ def sizeof_fmt(num): def init(): global CACHE_DIR - CACHE_DIR = path.join(HOME_DIR,"transformer_cache") + CACHE_DIR = path.join(pt.io.pyterrier_home(), "transformer_cache") def list_cache(): if CACHE_DIR is None: diff --git a/pyterrier/index.py b/pyterrier/index.py index ca719391..541adda0 100644 --- a/pyterrier/index.py +++ b/pyterrier/index.py @@ -2,7 +2,6 @@ This file contains all the indexers. """ -from jnius import autoclass, PythonJavaClass, java_method, cast from enum import Enum import pandas as pd from . import Indexer @@ -19,6 +18,7 @@ from collections import deque from typing import List, Dict, Union, Any import more_itertools +import pyterrier as pt StringReader = None HashMap = None @@ -41,6 +41,11 @@ IndexRef = None StructureMerger = None BlockStructureMerger = None +DocListIterator = None +PythonListIterator = None +FlatJSONDocumentIterator = None +TQDMCollection = None +TQDMSizeCollection = None # for backward compatibility class IterDictIndexerBase(Indexer): @@ -51,8 +56,8 @@ def __init__(self, *args, **kwargs): # lastdoc ensures that a Document instance from a Collection is not GCd before Java has used it. lastdoc=None -def run_autoclass(): - from . import check_version +def _java_post_init(jnius): + autoclass = pt.java.autoclass global StringReader global HashMap global TaggedDocument @@ -74,6 +79,11 @@ def run_autoclass(): global IndexRef global StructureMerger global BlockStructureMerger + global DocListIterator + global PythonListIterator + global FlatJSONDocumentIterator + global TQDMCollection + global TQDMSizeCollection StringReader = autoclass("java.io.StringReader") HashMap = autoclass("java.util.HashMap") @@ -86,7 +96,7 @@ def run_autoclass(): BlockIndexer = autoclass("org.terrier.structures.indexing.classical.BlockIndexer") BasicSinglePassIndexer = autoclass("org.terrier.structures.indexing.singlepass.BasicSinglePassIndexer") BlockSinglePassIndexer = autoclass("org.terrier.structures.indexing.singlepass.BlockSinglePassIndexer") - BasicMemoryIndexer = autoclass("org.terrier.realtime.memory.MemoryIndexer" if check_version("5.7") else "org.terrier.python.MemoryIndexer") + BasicMemoryIndexer = autoclass("org.terrier.realtime.memory.MemoryIndexer" if pt.check_version("5.7") else "org.terrier.python.MemoryIndexer") Collection = autoclass("org.terrier.indexing.Collection") Arrays = autoclass("java.util.Arrays") Array = autoclass('java.lang.reflect.Array') @@ -97,15 +107,218 @@ def run_autoclass(): StructureMerger = autoclass("org.terrier.structures.merging.StructureMerger") BlockStructureMerger = autoclass("org.terrier.structures.merging.BlockStructureMerger") + class DocListIterator(jnius.PythonJavaClass): + dpl_class = autoclass("org.terrier.structures.indexing.DocumentPostingList") + tuple_class = autoclass("org.terrier.structures.collections.MapEntry") + __javainterfaces__ = [ + 'java/util/Iterator', + ] + + def __init__(self, pyiterator): + self.pyiterator = pyiterator + self.hasnext = True + self.lastdoc = None + import pyterrier as pt + self.tr57 = not pt.check_version("5.8") + + @staticmethod + def pyDictToMap(a_dict): #returns Map + rtr = HashMap() + for k,v in a_dict.items(): + rtr.put(k, v) + return rtr + + def pyDictToMapEntry(self,doc_dict : Dict[str,Any]): #returns Map.Entry, DocumentPostingList>> + dpl = DocListIterator.dpl_class() + # this works around a bug in the counting of doc lengths in Tr 5.7 + if self.tr57: + for t, tf in doc_dict["toks"].items(): + for i in range(int(tf)): + dpl.insert(t) + else: # this code for 5.8 onwards + for t, tf in doc_dict["toks"].items(): + dpl.insert(int(tf), t) + + # we cant make the toks column into the metaindex as it isnt a string. remove it. + del doc_dict["toks"] + return DocListIterator.tuple_class(DocListIterator.pyDictToMap(doc_dict), dpl) + + @jnius.java_method('()Z') + def hasNext(self): + return self.hasnext + + @jnius.java_method('()Ljava/lang/Object;') + def next(self): + try: + doc_dict = next(self.pyiterator) + except StopIteration as se: + self.hasnext = False + # terrier will ignore a null return from an iterator + return None + # keep this around to prevent being GCd before Java can read it + self.lastdoc = self.pyDictToMapEntry(doc_dict) + return self.lastdoc + + + class TQDMCollection(jnius.PythonJavaClass): + __javainterfaces__ = ['org/terrier/indexing/Collection'] + + def __init__(self, collection): + super(TQDMCollection, self).__init__() + assert isinstance(collection, autoclass("org.terrier.indexing.MultiDocumentFileCollection")) + self.collection = collection + size = self.collection.FilesToProcess.size() + from . import tqdm + self.pbar = tqdm(total=size, unit="files") + self.last = -1 + + @jnius.java_method('()Z') + def nextDocument(self): + rtr = self.collection.nextDocument() + filenum = self.collection.FileNumber + if filenum > self.last: + self.pbar.update(filenum - self.last) + self.last = filenum + return rtr + + @jnius.java_method('()V') + def reset(self): + self.pbar.reset() + self.collection.reset() + + @jnius.java_method('()V') + def close(self): + self.pbar.close() + self.collection.close() + + @jnius.java_method('()Z') + def endOfCollection(self): + return self.collection.endOfCollection() + + @jnius.java_method('()Lorg/terrier/indexing/Document;') + def getDocument(self): + global lastdoc + lastdoc = self.collection.getDocument() + return lastdoc + + class PythonListIterator(jnius.PythonJavaClass): + __javainterfaces__ = ['java/util/Iterator'] + + def __init__(self, text, meta, convertFn, len=None, index=0): + super(PythonListIterator, self).__init__() + self.text = text + self.meta = meta + self.index = index + self.convertFn = convertFn + if len is None: + self.len = len(self.text) + else: + self.len = len + + @jnius.java_method('()V') + def remove(): + # 1 + pass + + @jnius.java_method('(Ljava/util/function/Consumer;)V') + def forEachRemaining(action): + # 1 + pass + + @jnius.java_method('()Z') + def hasNext(self): + return self.index < self.len + + @jnius.java_method('()Ljava/lang/Object;') + def next(self): + text = self.text[self.index] + meta = self.meta.__next__() + self.index += 1 + global lastdoc + if self.convertFn is not None: + lastdoc = self.convertFn(text, meta) + else: + lastdoc = [text, meta] + return lastdoc + + class FlatJSONDocumentIterator(jnius.PythonJavaClass): + __javainterfaces__ = ['java/util/Iterator'] + + def __init__(self, it): + super(FlatJSONDocumentIterator, self).__init__() + self._it = it + # easiest way to support hasNext is just to start consuming right away, I think + self._next = next(self._it, StopIteration) + + @jnius.java_method('()V') + def remove(): + # 1 + pass + + @jnius.java_method('(Ljava/util/function/Consumer;)V') + def forEachRemaining(action): + # 1 + pass + + @jnius.java_method('()Z') + def hasNext(self): + return self._next is not StopIteration + + @jnius.java_method('()Ljava/lang/Object;') + def next(self): + result = self._next + self._next = next(self._it, StopIteration) + if result is not StopIteration: + global lastdoc + lastdoc = FlatJSONDocument(json.dumps(result)) + return lastdoc + return None + + class TQDMSizeCollection(jnius.PythonJavaClass): + __javainterfaces__ = ['org/terrier/indexing/Collection'] + + def __init__(self, collection, total): + super(TQDMSizeCollection, self).__init__() + self.collection = collection + from . import tqdm + self.pbar = tqdm(total=total, unit="documents") + + @jnius.java_method('()Z') + def nextDocument(self): + rtr = self.collection.nextDocument() + self.pbar.update() + return rtr + + @jnius.java_method('()V') + def reset(self): + self.pbar.reset() + self.collection.reset() + + @jnius.java_method('()V') + def close(self): + self.pbar.close() + self.collection.close() + + @jnius.java_method('()Z') + def endOfCollection(self): + return self.collection.endOfCollection() + + @jnius.java_method('()Lorg/terrier/indexing/Document;') + def getDocument(self): + global lastdoc + lastdoc = self.collection.getDocument() + return lastdoc + + + type_to_class = { 'trec' : 'org.terrier.indexing.TRECCollection', 'trecweb' : 'org.terrier.indexing.TRECWebCollection', 'warc' : 'org.terrier.indexing.WARC10Collection' } +@pt.java.required() def createCollection(files_path : List[str], coll_type : str = 'trec', props = {}): - if StringReader is None: - run_autoclass() if coll_type in type_to_class: collectionClzName = type_to_class[coll_type] else: @@ -115,15 +328,15 @@ def createCollection(files_path : List[str], coll_type : str = 'trec', props = { for k, v in props.items(): _props[k] = v ApplicationSetup.getProperties().putAll(_props) - cls_string = autoclass("java.lang.String")._class - cls_list = autoclass("java.util.List")._class + cls_string = pt.java.autoclass("java.lang.String")._class + cls_list = pt.java.autoclass("java.util.List")._class if len(files_path) == 0: raise ValueError("list files_path cannot be empty") asList = createAsList(files_path) - colObj = autoclass("org.terrier.indexing.CollectionFactory").loadCollections( + colObj = pt.java.autoclass("org.terrier.indexing.CollectionFactory").loadCollections( collectionClzName, [cls_list, cls_string, cls_string, cls_string], - [asList, autoclass("org.terrier.utility.TagSet").TREC_DOC_TAGS, "", ""]) + [asList, pt.java.autoclass("org.terrier.utility.TagSet").TREC_DOC_TAGS, "", ""]) return colObj def treccollection2textgen( @@ -321,6 +534,7 @@ def _to_class(this): if isinstance(this, str): return this + @pt.java.required() def stem(self, tok): if self not in _stemmer_cache: clz_name = self._to_class(self) @@ -334,7 +548,7 @@ def stem(self, word): clz_name = f'org.terrier.terms.{clz_name}' # stemmers are termpipeline objects, and these have chained constructors # pass None to use the appropriate constructor - _stemmer_cache[self] = autoclass(clz_name)(None) + _stemmer_cache[self] = pt.java.autoclass(clz_name)(None) return _stemmer_cache[self].stem(tok) class TerrierStopwords(Enum): @@ -374,8 +588,7 @@ def _indexing_config(this, stopword_list : Union[List[str], None], termpipelines # this hook updates the index's properties to handle the python stopwords list def _hook(pyindexer, index): - from . import cast - pindex = cast("org.terrier.structures.PropertiesIndex", index) + pindex = pt.java.cast("org.terrier.structures.PropertiesIndex", index) # store the stopwords into the Index's properties pindex.setIndexProperty("pyterrier.stopwords", ",".join(stopword_list_esc)) @@ -461,8 +674,6 @@ def __init__(self, index_path : str, *args, tokeniser (TerrierTokeniser): the stemmer to apply. Default is ``TerrierTokeniser.english``. type (IndexingType): the specific indexing procedure to use. Default is ``IndexingType.CLASSIC``. """ - if StringReader is None: - run_autoclass() if type is IndexingType.MEMORY: self.path = None else: @@ -640,7 +851,6 @@ class DFIndexUtils: @staticmethod def get_column_lengths(df): - import math meta2len = dict([(v, df[v].apply(lambda r: len(str(r)) if r!=None else 0).max())for v in df.columns.values]) # nan values can arise if df is empty. Here we take a metalength of 1 instead. meta2len = {k : 1 if math.isnan(l) else l for k, l in meta2len.items()} @@ -648,8 +858,6 @@ def get_column_lengths(df): @staticmethod def create_javaDocIterator(text, *args, **kwargs): - if HashMap is None: - run_autoclass() all_metadata = {} for i, arg in enumerate(args): @@ -702,6 +910,7 @@ class DFIndexer(TerrierIndexer): Use this Indexer if you wish to index a pandas.Dataframe """ + @pt.java.required() def index(self, text, *args, **kwargs): """ Index the specified @@ -722,11 +931,11 @@ def index(self, text, *args, **kwargs): self.meta = meta_lengths # make a Collection class for Terrier - javaDocCollection = autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) + javaDocCollection = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) if self.verbose: javaDocCollection = TQDMSizeCollection(javaDocCollection, len(text)) index = self.createIndexer() - index.index(autoclass("org.terrier.python.PTUtils").makeCollection(javaDocCollection)) + index.index(pt.java.autoclass("org.terrier.python.PTUtils").makeCollection(javaDocCollection)) global lastdoc lastdoc = None javaDocCollection.close() @@ -740,80 +949,6 @@ def index(self, text, *args, **kwargs): return index.getIndex().getIndexRef() return IndexRef.of(self.index_dir + "/data.properties") -class PythonListIterator(PythonJavaClass): - __javainterfaces__ = ['java/util/Iterator'] - - def __init__(self, text, meta, convertFn, len=None, index=0): - super(PythonListIterator, self).__init__() - self.text = text - self.meta = meta - self.index = index - self.convertFn = convertFn - if len is None: - self.len = len(self.text) - else: - self.len = len - - @java_method('()V') - def remove(): - # 1 - pass - - @java_method('(Ljava/util/function/Consumer;)V') - def forEachRemaining(action): - # 1 - pass - - @java_method('()Z') - def hasNext(self): - return self.index < self.len - - @java_method('()Ljava/lang/Object;') - def next(self): - text = self.text[self.index] - meta = self.meta.__next__() - self.index += 1 - global lastdoc - if self.convertFn is not None: - lastdoc = self.convertFn(text, meta) - else: - lastdoc = [text, meta] - return lastdoc - -class FlatJSONDocumentIterator(PythonJavaClass): - __javainterfaces__ = ['java/util/Iterator'] - - def __init__(self, it): - super(FlatJSONDocumentIterator, self).__init__() - if FlatJSONDocument is None: - run_autoclass() - self._it = it - # easiest way to support hasNext is just to start consuming right away, I think - self._next = next(self._it, StopIteration) - - @java_method('()V') - def remove(): - # 1 - pass - - @java_method('(Ljava/util/function/Consumer;)V') - def forEachRemaining(action): - # 1 - pass - - @java_method('()Z') - def hasNext(self): - return self._next is not StopIteration - - @java_method('()Ljava/lang/Object;') - def next(self): - result = self._next - self._next = next(self._it, StopIteration) - if result is not StopIteration: - global lastdoc - lastdoc = FlatJSONDocument(json.dumps(result)) - return lastdoc - return None class _BaseIterDictIndexer(TerrierIndexer, Indexer): def __init__(self, index_path, *args, meta = {'docno' : 20}, meta_reverse=['docno'], pretokenised=False, threads=1, **kwargs): @@ -916,6 +1051,7 @@ class _IterDictIndexer_nofifo(_BaseIterDictIndexer): Use this Indexer if you wish to index an iter of dicts (possibly with multiple fields). This version is used for Windows -- which doesn't support the faster fifo implementation. """ + @pt.java.required() def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None): """ Index the specified iter of dicts with the (optional) specified fields @@ -953,7 +1089,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None # we need to prevent collectionIterator from being GCd collectionIterator = FlatJSONDocumentIterator(self._filter_iterable(it, fields)) - javaDocCollection = autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) + javaDocCollection = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) # remove once 5.7 is now the minimum version from . import check_version indexer.index(javaDocCollection if check_version("5.7") else [javaDocCollection]) @@ -970,7 +1106,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None from . import IndexFactory indexref = IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: - sindex = autoclass("org.terrier.structures.Index") + sindex = pt.java.autoclass("org.terrier.structures.Index") sindex.setIndexLoadingProfileAsRetrieval(False) index = IndexFactory.of(indexref) for hook in self.cleanup_hooks: @@ -986,6 +1122,7 @@ class _IterDictIndexer_fifo(_BaseIterDictIndexer): This version is optimized by using multiple threads and POSIX fifos to tranfer data, which ends up being much faster. """ + @pt.java.required() def index(self, it, fields=('text',), meta=None, meta_lengths=None): """ Index the specified iter of dicts with the (optional) specified fields @@ -996,11 +1133,11 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): meta(list[str]): keys to be considered as metdata meta_lengths(list[int]): length of metadata, defaults to 512 characters """ - CollectionFromDocumentIterator = autoclass("org.terrier.python.CollectionFromDocumentIterator") - JsonlDocumentIterator = autoclass("org.terrier.python.JsonlDocumentIterator") + CollectionFromDocumentIterator = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator") + JsonlDocumentIterator = pt.java.autoclass("org.terrier.python.JsonlDocumentIterator") if self.pretokenised: - JsonlTokenisedIterator = autoclass("org.terrier.python.JsonlPretokenisedIterator") - ParallelIndexer = autoclass("org.terrier.python.ParallelIndexer") + JsonlTokenisedIterator = pt.java.autoclass("org.terrier.python.JsonlPretokenisedIterator") + ParallelIndexer = pt.java.autoclass("org.terrier.python.ParallelIndexer") if meta is not None: warn('specifying meta and meta_lengths in IterDictIndexer.index() is deprecated, use constructor instead', DeprecationWarning, 2) @@ -1059,7 +1196,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): indexref = IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: - sindex = autoclass("org.terrier.structures.Index") + sindex = pt.java.autoclass("org.terrier.structures.Index") sindex.setIndexLoadingProfileAsRetrieval(False) index = IndexFactory.of(indexref) sindex.setIndexLoadingProfileAsRetrieval(True) @@ -1143,7 +1280,7 @@ def __init__(self, self.meta_reverse = meta_reverse self.meta_tags = meta_tags - + @pt.java.required() def index(self, files_path : Union[str,List[str]]): """ Index the specified TREC formatted files @@ -1158,15 +1295,14 @@ def index(self, files_path : Union[str,List[str]]): _TaggedDocumentSetup(self.meta, self.meta_tags) colObj = createCollection(files_path, self.collection) - if self.verbose and isinstance(colObj, autoclass("org.terrier.indexing.MultiDocumentFileCollection")): - colObj = cast("org.terrier.indexing.MultiDocumentFileCollection", colObj) + if self.verbose and isinstance(colObj, pt.java.autoclass("org.terrier.indexing.MultiDocumentFileCollection")): + colObj = pt.java.cast("org.terrier.indexing.MultiDocumentFileCollection", colObj) colObj = TQDMCollection(colObj) - import pyterrier as pt # remove once 5.7 is now the minimum version if pt.check_version("5.7"): index.index(colObj) else: - index.index(autoclass("org.terrier.python.PTUtils").makeCollection(colObj)) + index.index(pt.java.autoclass("org.terrier.python.PTUtils").makeCollection(colObj)) global lastdoc lastdoc = None colObj.close() @@ -1226,133 +1362,3 @@ def index(self, files_path : Union[str,List[str]]): if self.type is IndexingType.MEMORY: return index.getIndex().getIndexRef() return IndexRef.of(self.index_dir + "/data.properties") - -class TQDMSizeCollection(PythonJavaClass): - __javainterfaces__ = ['org/terrier/indexing/Collection'] - - def __init__(self, collection, total): - super(TQDMSizeCollection, self).__init__() - self.collection = collection - from . import tqdm - self.pbar = tqdm(total=total, unit="documents") - - @java_method('()Z') - def nextDocument(self): - rtr = self.collection.nextDocument() - self.pbar.update() - return rtr - - @java_method('()V') - def reset(self): - self.pbar.reset() - self.collection.reset() - - @java_method('()V') - def close(self): - self.pbar.close() - self.collection.close() - - @java_method('()Z') - def endOfCollection(self): - return self.collection.endOfCollection() - - @java_method('()Lorg/terrier/indexing/Document;') - def getDocument(self): - global lastdoc - lastdoc = self.collection.getDocument() - return lastdoc - -class DocListIterator(PythonJavaClass): - dpl_class = autoclass("org.terrier.structures.indexing.DocumentPostingList") - tuple_class = autoclass("org.terrier.structures.collections.MapEntry") - __javainterfaces__ = [ - 'java/util/Iterator', - ] - - def __init__(self, pyiterator): - self.pyiterator = pyiterator - self.hasnext = True - self.lastdoc = None - import pyterrier as pt - self.tr57 = not pt.check_version("5.8") - - @staticmethod - def pyDictToMap(a_dict): #returns Map - rtr = HashMap() - for k,v in a_dict.items(): - rtr.put(k, v) - return rtr - - def pyDictToMapEntry(self,doc_dict : Dict[str,Any]): #returns Map.Entry, DocumentPostingList>> - dpl = DocListIterator.dpl_class() - # this works around a bug in the counting of doc lengths in Tr 5.7 - if self.tr57: - for t, tf in doc_dict["toks"].items(): - for i in range(int(tf)): - dpl.insert(t) - else: # this code for 5.8 onwards - for t, tf in doc_dict["toks"].items(): - dpl.insert(int(tf), t) - - # we cant make the toks column into the metaindex as it isnt a string. remove it. - del doc_dict["toks"] - return DocListIterator.tuple_class(DocListIterator.pyDictToMap(doc_dict), dpl) - - @java_method('()Z') - def hasNext(self): - return self.hasnext - - @java_method('()Ljava/lang/Object;') - def next(self): - try: - doc_dict = next(self.pyiterator) - except StopIteration as se: - self.hasnext = False - # terrier will ignore a null return from an iterator - return None - # keep this around to prevent being GCd before Java can read it - self.lastdoc = self.pyDictToMapEntry(doc_dict) - return self.lastdoc - - -class TQDMCollection(PythonJavaClass): - __javainterfaces__ = ['org/terrier/indexing/Collection'] - - def __init__(self, collection): - super(TQDMCollection, self).__init__() - assert isinstance(collection, autoclass("org.terrier.indexing.MultiDocumentFileCollection")) - self.collection = collection - size = self.collection.FilesToProcess.size() - from . import tqdm - self.pbar = tqdm(total=size, unit="files") - self.last = -1 - - @java_method('()Z') - def nextDocument(self): - rtr = self.collection.nextDocument() - filenum = self.collection.FileNumber - if filenum > self.last: - self.pbar.update(filenum - self.last) - self.last = filenum - return rtr - - @java_method('()V') - def reset(self): - self.pbar.reset() - self.collection.reset() - - @java_method('()V') - def close(self): - self.pbar.close() - self.collection.close() - - @java_method('()Z') - def endOfCollection(self): - return self.collection.endOfCollection() - - @java_method('()Lorg/terrier/indexing/Document;') - def getDocument(self): - global lastdoc - lastdoc = self.collection.getDocument() - return lastdoc - diff --git a/pyterrier/io.py b/pyterrier/io.py index 3d220e25..ab543763 100644 --- a/pyterrier/io.py +++ b/pyterrier/io.py @@ -399,3 +399,17 @@ def read_qrels(file_path): "letor" : (_read_results_letor, _write_results_letor), "minimal" : (None, _write_results_minimal) } + + +def pyterrier_home() -> str: + """ + Returns pyterrier's home directory. By default this is ~/.pyterrier, but it can also be set with the PYTERRIER_HOME + env variable. + """ + if "PYTERRIER_HOME" in os.environ: + home = os.environ["PYTERRIER_HOME"] + else: + home = os.path.expanduser('~/.pyterrier') + if not os.path.exists(home): + os.makedirs(home) + return home diff --git a/pyterrier/java.py b/pyterrier/java.py index eed13e8d..51f49248 100644 --- a/pyterrier/java.py +++ b/pyterrier/java.py @@ -1,51 +1,71 @@ from functools import wraps -from typing import Callable +import os +from typing import Callable, Optional +from pyterrier import mavenresolver import pyterrier as pt -_terrier_version = None +_started = False -def set_terrier_version(version=None): - """ - Sets the terrier version to use. - version(str): Which version of Terrier to use. Default is `None`. - * If None, it will find the newest Terrier version released in MavenCentral and download it. - * If `"snapshot"`, will download the latest build from `Jitpack `_. - """ - global _terrier_version - if started(): - raise RuntimeError('pt.java.set_terrier_version is not available after pt.java.init() is called.') - _terrier_version = version - -def _legacy_init(jnius_config): - """ - Calls pt.init if it hasn't already been called. - """ - if not pt.started(): - pt.init(version=_terrier_version) +def _legacy_post_init(jnius): + pt.HOME_DIR = pt.io.pyterrier_home() + pt.properties = autoclass('java.util.Properties')() + pt.ApplicationSetup = autoclass('org.terrier.utility.ApplicationSetup') + pt.autoclass = jnius.autoclass + pt.cast = jnius.cast @pt.utils.once() def init() -> None: + global _started # TODO: if we make java optional some day, should check here that it's installed. E.g., # if find_spec('jnius_config') is None: # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') # return + if pt.is_windows(): + if "JAVA_HOME" in os.environ: + java_home = os.environ["JAVA_HOME"] + fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' + os.environ["PATH"] = os.environ["PATH"] + ";" + fix + import jnius_config - for entry_point in pt.utils.entry_points('pyterrier.java.init'): - _init = entry_point.load() - _init(jnius_config) + + for entry_point in pt.utils.entry_points('pyterrier.java.pre_init'): + _pre_init = entry_point.load() + _pre_init(jnius_config) + + if _mem is not None: + jnius_config.add_options('-Xmx' + str(_mem) + 'm') + + for opt in _options: + jnius_config.add_options(opt) + + for jar in _jars: + jnius_config.add_classpath(jar) + import jnius + _started = True + + set_log_level(_log_level) + + java_version = autoclass("java.lang.System").getProperty("java.version") + if java_version.startswith("1.") or java_version.startswith("9."): + raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" + + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") + + for entry_point in pt.utils.entry_points('pyterrier.java.post_init'): + _post_init = entry_point.load() + _post_init(jnius) def started() -> bool: """ Returns True if pt.java.init() has been called. Otherwise False. """ - return init.called() + return _started def required(raise_on_not_started: bool = False) -> Callable: @@ -66,6 +86,21 @@ def _wrapper(*args, **kwargs): return _required +def before_init() -> Callable: + """ + Wraps a function that can only be run before the Java Virtual Machine has started. If the JVM has already started, + an error is raised. + """ + def _before_init(fn: Callable) -> Callable: + @wraps(fn) + def _wrapper(*args, **kwargs): + if started(): + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + return fn(*args, **kwargs) + return _wrapper + return _before_init + + # jnius wrappers: @required(raise_on_not_started=True) @@ -84,3 +119,53 @@ def cast(*args, **kwargs): """ import jnius return jnius.cast(*args, **kwargs) + + +# Settings + + +_jars = [] +_options = [] +_mem = None +_log_level = 'WARN' + +@before_init() +def add_jar(jar_path): + _jars.append(jar_path) + + +@before_init() +def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): + if version is None or version == 'snapshot': + version = mavenresolver.latest_version_num(org_name, package_name) + file_name = mavenresolver.downloadfile(org_name, package_name, version, pt.io.pyterrier_home(), file_type) + add_jar(file_name) + + +@before_init() +def set_memory_limit(mem: Optional[float]): + global _mem + _mem = mem + + +@before_init() +def add_option(option: str): + _options.append(option) + + +def set_log_level(level): + """ + Set the logging level. The following string values are allowed, corresponding + to Java logging levels: + + - `'ERROR'`: only show error messages + - `'WARN'`: only show warnings and error messages (default) + - `'INFO'`: show information, warnings and error messages + - `'DEBUG'`: show debugging, information, warnings and error messages + + Unlike other java settings, this can be changed either before or after init() has been called. + """ + global _log_level + _log_level = level + if started(): + autoclass("org.terrier.python.PTUtils").setLogLevel(level, None) diff --git a/pyterrier/mavenresolver.py b/pyterrier/mavenresolver.py index 0007c28f..bded3683 100644 --- a/pyterrier/mavenresolver.py +++ b/pyterrier/mavenresolver.py @@ -1,7 +1,11 @@ from xml.dom import minidom import urllib.request +from packaging.version import Version +from pathlib import Path import wget import os +import re +import pyterrier as pt MAVEN_BASE_URL = "https://repo1.maven.org/maven2/" JITPACK_BASE_URL = "https://jitpack.io/" @@ -63,9 +67,28 @@ def latest_version_num(orgName, packageName): return("-SNAPSHOT") url_str = MAVEN_BASE_URL + orgName + "/" + packageName + "/maven-metadata.xml" - with urllib.request.urlopen(url_str) as url: - xml_str = url.read() + try: + with urllib.request.urlopen(url_str) as url: + xml_str = url.read() + except urllib.error.URLError: + # no internet connection, use the latest version found locally. + version = latest_local_version_num(packageName) + if version is None: + raise # version not found, re-raise the URLError error + else: + return version xmldoc = minidom.parseString(xml_str) obs_values = xmldoc.getElementsByTagName("latest") version = obs_values[0].firstChild.nodeValue - return(version) + return version + + +def latest_local_version_num(packageName): + versions = [] + for jar_path in Path(pt.io.pyterrier_home()).glob(f'{packageName}-*.jar'): + match = re.search(rf'{packageName}-([0-9]+(\.[0-9]+)+).*.jar', jar_path.name) + if match: + versions.append(Version(match.group(1))) + if len(versions) > 0: + return str(max(versions)) + return None # no local version found diff --git a/pyterrier/rewrite.py b/pyterrier/rewrite.py index 46e313b7..01756f27 100644 --- a/pyterrier/rewrite.py +++ b/pyterrier/rewrite.py @@ -1,5 +1,4 @@ import pyterrier as pt -from jnius import cast import pandas as pd from .batchretrieve import _parse_index_like from . import Transformer @@ -9,11 +8,20 @@ from typing import List,Union from types import FunctionType -TerrierQLParser = pt.autoclass("org.terrier.querying.TerrierQLParser")() -TerrierQLToMatchingQueryTerms = pt.autoclass("org.terrier.querying.TerrierQLToMatchingQueryTerms")() -QueryResultSet = pt.autoclass("org.terrier.matching.QueryResultSet") -DependenceModelPreProcess = pt.autoclass("org.terrier.querying.DependenceModelPreProcess") +TerrierQLParser = None +TerrierQLToMatchingQueryTerms = None +QueryResultSet = None +DependenceModelPreProcess = None +def _java_post_init(jnius): + global TerrierQLParser + global TerrierQLToMatchingQueryTerms + global QueryResultSet + global DependenceModelPreProcess + TerrierQLParser = pt.java.autoclass("org.terrier.querying.TerrierQLParser")() + TerrierQLToMatchingQueryTerms = pt.java.autoclass("org.terrier.querying.TerrierQLToMatchingQueryTerms")() + QueryResultSet = pt.java.autoclass("org.terrier.matching.QueryResultSet") + DependenceModelPreProcess = pt.java.autoclass("org.terrier.querying.DependenceModelPreProcess") _terrier_prf_package_loaded = False @@ -300,7 +308,7 @@ def transform(self, topics_and_res): qid = row.qid query = row.query srq = self.manager.newSearchRequest(qid, query) - rq = cast("org.terrier.querying.Request", srq) + rq = pt.java.cast("org.terrier.querying.Request", srq) self.qe.configureIndex(rq.getIndex()) self._configure_request(rq) diff --git a/pyterrier/terrier.py b/pyterrier/terrier.py new file mode 100644 index 00000000..0ae2c061 --- /dev/null +++ b/pyterrier/terrier.py @@ -0,0 +1,105 @@ +import sys +from typing import Optional +import pyterrier as pt +from . import mavenresolver + +TERRIER_PKG = "org.terrier" + + +_CONFIGURATION = { + 'terrier_version': None, + 'helper_version': None, + 'boot_packages': [], + 'force_download': True, + 'prf_version': None, +} + +_resolved_helper_version = None + + +@pt.java.before_init() +def configure(terrier_version=None, helper_version=None, boot_packages=[], force_download=True): + _CONFIGURATION.update({ + 'terrier_version': terrier_version, + 'helper_version': helper_version, + 'boot_packages': boot_packages, + 'force_download': force_download, + }) + + +@pt.java.before_init() +def set_terrier_version(version: Optional[str] = None): + _CONFIGURATION['terrier_version'] = version + + +@pt.java.before_init() +def set_helper_version(version: Optional[str] = None): + _CONFIGURATION['helper_version'] = version + + +@pt.java.before_init() +def enable_prf(version: Optional[str] = None): + pt.java.add_package('com.github.terrierteam', 'terrier-prf', version) + + + +def _java_pre_init(jnius_config): + global _resolved_helper_version + """ + Download Terrier's jar file for the given version at the given file_path + Called by pt.init() + + Args: + file_path(str): Where to download + terrier_version(str): Which version of Terrier - None is latest release; "snapshot" uses Jitpack to download a build of the current Github 5.x branch. + helper_version(str): Which version of the helper - None is latest + """ + # If version is not specified, find newest and download it + if _CONFIGURATION['terrier_version'] is None: + terrier_version = mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") + else: + terrier_version = str(_CONFIGURATION['terrier_version']) # just in case its a float + + # obtain the fat jar from Maven + # "snapshot" means use Jitpack.io to get a build of the current + # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT + if terrier_version == "snapshot": + trJar = mavenresolver.downloadfile("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=_CONFIGURATION['force_download']) + else: + trJar = mavenresolver.downloadfile(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") + pt.java.add_jar(trJar) + + # now the helper classes + if _CONFIGURATION['helper_version'] is None or _CONFIGURATION['helper_version'] == 'snapshot': + helper_version = mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") + else: + helper_version = str(_CONFIGURATION['helper_version']) # just in case its a float + _resolved_helper_version = helper_version + pt.java.add_package(TERRIER_PKG, "terrier-python-helper", helper_version) + + +def _java_post_init(jnius): + tr_version = pt.java.autoclass('org.terrier.Version') + + version_string = tr_version.VERSION + if "BUILD_DATE" in dir(tr_version): + version_string += f" (built by {tr_version.BUILD_USER} on {tr_version.BUILD_DATE})" + + print(f"PyTerrier {pt.__version__} has loaded Terrier {version_string} and " + f"terrier-helper {_resolved_helper_version}\n", file=sys.stderr) + + pt.IndexRef = pt.java.autoclass("org.terrier.querying.IndexRef") + + +@pt.java.required() +def extend_package(package): + """ + Allows to add packages to Terrier's classpath after the JVM has started. + """ + assert pt.check_version(5.3), "Terrier 5.3 required for this functionality" + package_list = pt.java.autoclass("java.util.ArrayList")() + package_list.add(package) + mvnr = pt.ApplicationSetup.getPlugin("MavenResolver") + assert mvnr is not None + mvnr = pt.java.cast("org.terrier.utility.MavenResolver", mvnr) + mvnr.addDependencies(package_list) diff --git a/setup.py b/setup.py index 5cd5803d..baacff19 100644 --- a/setup.py +++ b/setup.py @@ -71,8 +71,14 @@ def get_version(rel_path): "Operating System :: OS Independent", ], entry_points={ - 'pyterrier.java.init': [ - 'legacy_init = pyterrier:java._legacy_init', + 'pyterrier.java.pre_init': [ + 'terrier = pyterrier:terrier._java_pre_init', + ], + 'pyterrier.java.post_init': [ + 'terrier = pyterrier:terrier._java_post_init', + 'index = pyterrier:index._java_post_init', + 'rewrite = pyterrier:rewrite._java_post_init', + 'legacy = pyterrier:java._legacy_post_init', ], }, install_requires=requirements, From cebba5e26a8a578deda25ed61166ec0be03d9278 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 21 Jul 2024 08:22:18 +0000 Subject: [PATCH 003/153] wip --- pyterrier/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 83a1244b..6cc3ba40 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -101,7 +101,7 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) for opt in jvm_opts: java.add_option(opt) - terrier.set_version(version) + terrier.set_terrier_version(version) terrier.set_helper_version(helper_version) set_tqdm(tqdm) From 8bddd31486a3a653c19150688d4eb34343a088d4 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Fri, 26 Jul 2024 13:05:23 +0100 Subject: [PATCH 004/153] this call no longer needed --- tests/test_iterdictindex_pretok.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_iterdictindex_pretok.py b/tests/test_iterdictindex_pretok.py index fb87f6e5..b91e2f48 100644 --- a/tests/test_iterdictindex_pretok.py +++ b/tests/test_iterdictindex_pretok.py @@ -12,7 +12,6 @@ class TestIterDictIndexerPreTok(TempDirTestCase): def test_dpl(self): - pt.index.run_autoclass() it1 = [ {'docno': 'd1', 'url': 'url1', "toks" : {"a" : 1, "b" : 2}} ] From 78c4ed2f7bf8e8455ebb7d6124402863c2980cd8 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Fri, 26 Jul 2024 13:29:50 +0100 Subject: [PATCH 005/153] resolve helper version differently --- pyterrier/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 6cc3ba40..cb8fdf82 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -208,8 +208,12 @@ def check_version(min, helper=False): Returns True iff the underlying Terrier version is no older than the requested version. """ from packaging.version import Version + from . import terrier + currentVer = terrier._resolved_helper_version if helper else version() + assert currentVer is not None, "Could not obtain Terrier version (helpher=%s)" % str(helper) + currentVer = Version(currentVer.replace("-SNAPSHOT", "")) + min = Version(str(min)) - currentVer = Version((_helper_version if helper else version()).replace("-SNAPSHOT", "")) return currentVer >= min def redirect_stdouterr(): From 56463f20a67fb19ecd9c5f2594d362ff814b4322 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 26 Jul 2024 15:17:00 +0100 Subject: [PATCH 006/153] split terrier out into a subpackage --- pyterrier/terrier/__init__.py | 8 ++++++++ pyterrier/{terrier.py => terrier/java.py} | 6 +++--- setup.py | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 pyterrier/terrier/__init__.py rename pyterrier/{terrier.py => terrier/java.py} (97%) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py new file mode 100644 index 00000000..d91a32f5 --- /dev/null +++ b/pyterrier/terrier/__init__.py @@ -0,0 +1,8 @@ +# java stuff +from pyterrier.terrier import java +from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package + +__all__ = [ + # java stuff + 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_package', +] diff --git a/pyterrier/terrier.py b/pyterrier/terrier/java.py similarity index 97% rename from pyterrier/terrier.py rename to pyterrier/terrier/java.py index 0ae2c061..d5363821 100644 --- a/pyterrier/terrier.py +++ b/pyterrier/terrier/java.py @@ -1,7 +1,7 @@ import sys from typing import Optional import pyterrier as pt -from . import mavenresolver +from pyterrier import mavenresolver TERRIER_PKG = "org.terrier" @@ -43,7 +43,7 @@ def enable_prf(version: Optional[str] = None): -def _java_pre_init(jnius_config): +def _pre_init(jnius_config): global _resolved_helper_version """ Download Terrier's jar file for the given version at the given file_path @@ -78,7 +78,7 @@ def _java_pre_init(jnius_config): pt.java.add_package(TERRIER_PKG, "terrier-python-helper", helper_version) -def _java_post_init(jnius): +def _post_init(jnius): tr_version = pt.java.autoclass('org.terrier.Version') version_string = tr_version.VERSION diff --git a/setup.py b/setup.py index baacff19..b0b8004a 100644 --- a/setup.py +++ b/setup.py @@ -72,10 +72,10 @@ def get_version(rel_path): ], entry_points={ 'pyterrier.java.pre_init': [ - 'terrier = pyterrier:terrier._java_pre_init', + 'terrier = pyterrier.terrier.java:_pre_init', ], 'pyterrier.java.post_init': [ - 'terrier = pyterrier:terrier._java_post_init', + 'terrier = pyterrier.terrier.java:_post_init', 'index = pyterrier:index._java_post_init', 'rewrite = pyterrier:rewrite._java_post_init', 'legacy = pyterrier:java._legacy_post_init', From 9dd2a37dd3a295980ba6403551cc962145c18436 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 26 Jul 2024 15:30:56 +0100 Subject: [PATCH 007/153] perhaps a nicer way to maintain a set of classes? --- pyterrier/java.py | 21 ++++++++++++++++++++- pyterrier/terrier/__init__.py | 4 ++-- pyterrier/terrier/java.py | 8 +++++++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/pyterrier/java.py b/pyterrier/java.py index 51f49248..446208e8 100644 --- a/pyterrier/java.py +++ b/pyterrier/java.py @@ -1,6 +1,6 @@ from functools import wraps import os -from typing import Callable, Optional +from typing import Callable, Optional, Dict from pyterrier import mavenresolver import pyterrier as pt @@ -169,3 +169,22 @@ def set_log_level(level): _log_level = level if started(): autoclass("org.terrier.python.PTUtils").setLogLevel(level, None) + + +class JavaClasses: + def __init__(self, mapping: Dict[str, str]): + self._mapping = mapping + + def __dir__(self): + return list(self._mapping.keys()) + + @required(raise_on_not_started=True) + def __getattr__(self, key): + if key not in self._mapping: + return AttributeError(f'{self} has no attribute {key!r}') + return autoclass(self._mapping[key]) + + +J = pt.java.JavaClasses({ + 'ArrayList': 'java.util.ArrayList', +}) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index d91a32f5..6232df1c 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,8 +1,8 @@ # java stuff from pyterrier.terrier import java -from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package +from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J __all__ = [ # java stuff - 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_package', + 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_package', 'J', ] diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index d5363821..d4300b89 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -97,9 +97,15 @@ def extend_package(package): Allows to add packages to Terrier's classpath after the JVM has started. """ assert pt.check_version(5.3), "Terrier 5.3 required for this functionality" - package_list = pt.java.autoclass("java.util.ArrayList")() + package_list = pt.java.J.ArrayList() package_list.add(package) mvnr = pt.ApplicationSetup.getPlugin("MavenResolver") assert mvnr is not None mvnr = pt.java.cast("org.terrier.utility.MavenResolver", mvnr) mvnr.addDependencies(package_list) + + +# Terrier-specific classes +J = pt.java.JavaClasses({ + 'IndexRef': 'org.terrier.querying.IndexRef', +}) From 1b50854451576a59270e049d455bfd88adf4ee82 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 26 Jul 2024 15:49:09 +0100 Subject: [PATCH 008/153] oops --- pyterrier/java.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyterrier/java.py b/pyterrier/java.py index 446208e8..21577ed8 100644 --- a/pyterrier/java.py +++ b/pyterrier/java.py @@ -185,6 +185,6 @@ def __getattr__(self, key): return autoclass(self._mapping[key]) -J = pt.java.JavaClasses({ +J = JavaClasses({ 'ArrayList': 'java.util.ArrayList', }) From df3898220ed90db79b437ce0ecdb672b1f1354ad Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 26 Jul 2024 16:02:20 +0100 Subject: [PATCH 009/153] move general java stuff to its own subpackage --- pyterrier/__init__.py | 12 ++++++------ pyterrier/{java.py => java/__init__.py} | 4 ++-- pyterrier/{ => java}/bootstrap.py | 1 - pyterrier/{ => java}/mavenresolver.py | 0 pyterrier/parallel.py | 6 ++---- pyterrier/terrier/java.py | 9 ++++----- tests/test_dunder.py | 2 +- tests/test_maven.py | 2 +- 8 files changed, 16 insertions(+), 20 deletions(-) rename pyterrier/{java.py => java/__init__.py} (98%) rename pyterrier/{ => java}/bootstrap.py (99%) rename pyterrier/{ => java}/mavenresolver.py (100%) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index cb8fdf82..1b22e717 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -3,12 +3,14 @@ import os from deprecated import deprecated -from .bootstrap import setup_jnius, is_windows +from pyterrier import utils +from pyterrier.utils import Utils + +from pyterrier.java.bootstrap import setup_jnius, is_windows from tqdm.auto import tqdm # definitive API used by others, now available before pt.init from .transformer import Transformer, Estimator, Indexer -from . import utils from . import java from . import terrier @@ -29,8 +31,7 @@ from .datasets import get_dataset, find_datasets, list_datasets from .batchretrieve import BatchRetrieve, FeaturesBatchRetrieve -from .utils import Utils -from .bootstrap import IndexFactory +from pyterrier.java.bootstrap import IndexFactory from .index import Indexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate @@ -220,8 +221,7 @@ def redirect_stdouterr(): """ Ensure that stdout and stderr have been redirected. Equivalent to setting the redirect_io parameter to init() as `True`. """ - from . import bootstrap - bootstrap.redirect_stdouterr() + java.bootstrap.redirect_stdouterr() @java.required() diff --git a/pyterrier/java.py b/pyterrier/java/__init__.py similarity index 98% rename from pyterrier/java.py rename to pyterrier/java/__init__.py index 21577ed8..a181b4d8 100644 --- a/pyterrier/java.py +++ b/pyterrier/java/__init__.py @@ -1,9 +1,9 @@ from functools import wraps import os from typing import Callable, Optional, Dict -from pyterrier import mavenresolver - import pyterrier as pt +from pyterrier.java import bootstrap +from pyterrier.java import mavenresolver _started = False diff --git a/pyterrier/bootstrap.py b/pyterrier/java/bootstrap.py similarity index 99% rename from pyterrier/bootstrap.py rename to pyterrier/java/bootstrap.py index adbf1c99..c7a76862 100644 --- a/pyterrier/bootstrap.py +++ b/pyterrier/java/bootstrap.py @@ -1,4 +1,3 @@ -from . import mavenresolver from typing import Union, List stdout_ref = None diff --git a/pyterrier/mavenresolver.py b/pyterrier/java/mavenresolver.py similarity index 100% rename from pyterrier/mavenresolver.py rename to pyterrier/java/mavenresolver.py diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index 7131d310..5f589d71 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -41,8 +41,7 @@ def _check_ray(): def parallel_lambda(function, inputs, jobs, backend='joblib'): - from .bootstrap import is_windows - if is_windows(): + if pt.java.bootstrap.is_windows(): raise ValueError("No support for parallelisation on Windows") if backend not in SUPPORTED_BACKENDS: raise ValueError("Backend of %s unknown, only %s supported." % str(SUPPORTED_BACKENDS)) @@ -71,8 +70,7 @@ def __init__(self, parent, n_jobs, backend='joblib', **kwargs): self.parent = parent self.n_jobs = n_jobs self.backend = backend - from .bootstrap import is_windows - if is_windows(): + if pt.java.bootstrap.is_windows(): raise ValueError("No support for parallelisation on Windows") if self.backend not in SUPPORTED_BACKENDS: raise ValueError("Backend of %s unknown, only %s supported." % str(SUPPORTED_BACKENDS)) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index d4300b89..e17395db 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -1,7 +1,6 @@ import sys from typing import Optional import pyterrier as pt -from pyterrier import mavenresolver TERRIER_PKG = "org.terrier" @@ -56,7 +55,7 @@ def _pre_init(jnius_config): """ # If version is not specified, find newest and download it if _CONFIGURATION['terrier_version'] is None: - terrier_version = mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") + terrier_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") else: terrier_version = str(_CONFIGURATION['terrier_version']) # just in case its a float @@ -64,14 +63,14 @@ def _pre_init(jnius_config): # "snapshot" means use Jitpack.io to get a build of the current # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT if terrier_version == "snapshot": - trJar = mavenresolver.downloadfile("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=_CONFIGURATION['force_download']) + trJar = pt.java.mavenresolver.downloadfile("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=_CONFIGURATION['force_download']) else: - trJar = mavenresolver.downloadfile(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") + trJar = pt.java.mavenresolver.downloadfile(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") pt.java.add_jar(trJar) # now the helper classes if _CONFIGURATION['helper_version'] is None or _CONFIGURATION['helper_version'] == 'snapshot': - helper_version = mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") + helper_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") else: helper_version = str(_CONFIGURATION['helper_version']) # just in case its a float _resolved_helper_version = helper_version diff --git a/tests/test_dunder.py b/tests/test_dunder.py index a35df932..634398f1 100644 --- a/tests/test_dunder.py +++ b/tests/test_dunder.py @@ -12,7 +12,7 @@ def test_callable_wmodel_dunders(self): lambdafn = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() callback, wmodel = _function2wmodel(lambdafn) - from pyterrier.bootstrap import javabytebuffer2array + from pyterrier.java.bootstrap import javabytebuffer2array byterep = javabytebuffer2array(wmodel.scoringClass.serializeFn()) import dill as pickle from dill import extend diff --git a/tests/test_maven.py b/tests/test_maven.py index a7d9ecdb..776eedd5 100644 --- a/tests/test_maven.py +++ b/tests/test_maven.py @@ -1,5 +1,5 @@ -from pyterrier import mavenresolver +from pyterrier.java import mavenresolver import unittest import shutil import tempfile From c13ac38d27829c81701051d2c78b82d346b10af1 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 26 Jul 2024 16:22:31 +0100 Subject: [PATCH 010/153] move batchretrieve.py -> terrier/retriever.py --- pyterrier/__init__.py | 18 +++++---- pyterrier/anserini.py | 2 +- pyterrier/java/bootstrap.py | 4 +- pyterrier/rewrite.py | 3 +- pyterrier/terrier/__init__.py | 7 ++++ .../retriever.py} | 38 +++++++++---------- pyterrier/text.py | 28 +++++++------- tests/test_dunder.py | 3 +- tests/test_operators.py | 3 +- tests/test_scoring.py | 11 +++--- 10 files changed, 59 insertions(+), 58 deletions(-) rename pyterrier/{batchretrieve.py => terrier/retriever.py} (97%) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 1b22e717..dade1023 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -6,13 +6,18 @@ from pyterrier import utils from pyterrier.utils import Utils +# definitive API used by others, now available before pt.init +from .transformer import Transformer, Estimator, Indexer + +from pyterrier import java from pyterrier.java.bootstrap import setup_jnius, is_windows + +from pyterrier import terrier +from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve + from tqdm.auto import tqdm -# definitive API used by others, now available before pt.init -from .transformer import Transformer, Estimator, Indexer -from . import java -from . import terrier + from . import anserini from . import cache @@ -30,14 +35,11 @@ from . import transformer from .datasets import get_dataset, find_datasets, list_datasets -from .batchretrieve import BatchRetrieve, FeaturesBatchRetrieve + from pyterrier.java.bootstrap import IndexFactory from .index import Indexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate -from .batchretrieve import BatchRetrieve -TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve - import importlib diff --git a/pyterrier/anserini.py b/pyterrier/anserini.py index 825dbab9..1f67cfef 100644 --- a/pyterrier/anserini.py +++ b/pyterrier/anserini.py @@ -1,6 +1,6 @@ from .model import coerce_queries_dataframe -from .batchretrieve import BatchRetrieveBase +from pyterrier.terrier.retriever import BatchRetrieveBase from warnings import warn import pandas as pd from . import tqdm diff --git a/pyterrier/java/bootstrap.py b/pyterrier/java/bootstrap.py index c7a76862..20a52f04 100644 --- a/pyterrier/java/bootstrap.py +++ b/pyterrier/java/bootstrap.py @@ -1,4 +1,5 @@ from typing import Union, List +import pyterrier as pt stdout_ref = None stderr_ref = None @@ -141,8 +142,7 @@ def new_callable_wmodel(byterep): #we need to prevent these functions from being GCd. global SAVED_FNS SAVED_FNS.append(fn) - from .batchretrieve import _function2wmodel - callback, wmodel = _function2wmodel(fn) + callback, wmodel = pt.terrier.retriever._function2wmodel(fn) SAVED_FNS.append(callback) #print("Stored lambda fn %s and callback in SAVED_FNS, now %d stored" % (str(fn), len(SAVED_FNS))) return wmodel diff --git a/pyterrier/rewrite.py b/pyterrier/rewrite.py index 01756f27..16219775 100644 --- a/pyterrier/rewrite.py +++ b/pyterrier/rewrite.py @@ -1,6 +1,5 @@ import pyterrier as pt import pandas as pd -from .batchretrieve import _parse_index_like from . import Transformer from .index import TerrierTokeniser from . import tqdm @@ -212,7 +211,7 @@ def __init__(self, index_like, fb_terms=10, fb_docs=3, qeclass="org.terrier.quer self.qe = pt.autoclass(qeclass)() else: self.qe = qeclass - self.indexref = _parse_index_like(index_like) + self.indexref = pt.terrier.retriever._parse_index_like(index_like) self.properties = properties for k,v in properties.items(): pt.ApplicationSetup.setProperty(k, str(v)) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 6232df1c..d8ed91eb 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,8 +1,15 @@ # java stuff from pyterrier.terrier import java from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J +from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve + +TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve + __all__ = [ # java stuff 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_package', 'J', + + # retrieval + 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', ] diff --git a/pyterrier/batchretrieve.py b/pyterrier/terrier/retriever.py similarity index 97% rename from pyterrier/batchretrieve.py rename to pyterrier/terrier/retriever.py index d812b40c..0a0c808a 100644 --- a/pyterrier/batchretrieve.py +++ b/pyterrier/terrier/retriever.py @@ -1,17 +1,16 @@ from typing import Union import pandas as pd import numpy as np -from . import tqdm, Transformer from warnings import warn -from .datasets import Dataset -from .transformer import Symbol -from .model import coerce_queries_dataframe, FIRST_RANK +from pyterrier.datasets import Dataset +from pyterrier.transformer import Symbol +from pyterrier.model import coerce_queries_dataframe, FIRST_RANK import concurrent from concurrent.futures import ThreadPoolExecutor import pyterrier as pt def importProps(): - from . import properties as props + from pyterrier import properties as props # Make import global globals()["props"] = props props = None @@ -61,7 +60,7 @@ def _mergeDicts(defaults, settings): def _parse_index_like(index_location): JIR = pt.java.autoclass('org.terrier.querying.IndexRef') JI = pt.java.autoclass('org.terrier.structures.Index') - from .index import TerrierIndexer + from pyterrier.index import TerrierIndexer if isinstance(index_location, JIR): return index_location @@ -79,7 +78,7 @@ def _parse_index_like(index_location): or an pyterrier.index.TerrierIndexer object''' ) -class BatchRetrieveBase(Transformer, Symbol): +class BatchRetrieveBase(pt.Transformer, Symbol): """ A base class for retrieval @@ -95,10 +94,10 @@ def _from_dataset(dataset : Union[str,Dataset], clz, variant : str = None, version='latest', - **kwargs) -> Transformer: + **kwargs) -> pt.Transformer: - from . import get_dataset - from .io import autoopen + from pyterrier import get_dataset + from pyterrier.io import autoopen import os import json @@ -221,7 +220,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do self.controls = _mergeDicts(BatchRetrieve.default_controls, controls) if wmodel is not None: - from .transformer import is_lambda, is_function + from pyterrier.transformer import is_lambda, is_function if isinstance(wmodel, str): self.controls["wmodel"] = wmodel elif is_lambda(wmodel) or is_function(wmodel): @@ -427,7 +426,7 @@ def _one_row(*args, **kwargs): # as these futures complete, wait and add their results iter = concurrent.futures.as_completed(future_results) if self.verbose: - iter = tqdm(iter, desc=str(self), total=queries.shape[0], unit="q") + iter = pt.tqdm(iter, desc=str(self), total=queries.shape[0], unit="q") for future in iter: res = future.result() @@ -435,7 +434,7 @@ def _one_row(*args, **kwargs): else: iter = queries.itertuples() if self.verbose: - iter = tqdm(iter, desc=str(self), total=queries.shape[0], unit="q") + iter = pt.tqdm(iter, desc=str(self), total=queries.shape[0], unit="q") for row in iter: res = self._retrieve_one(row, input_results, docno_provided=docno_provided, docid_provided=docid_provided, scores_provided=scores_provided) results.extend(res) @@ -465,7 +464,7 @@ def setControl(self, control, value): -class TextIndexProcessor(Transformer): +class TextIndexProcessor(pt.Transformer): ''' Creates a new MemoryIndex based on the contents of documents passed to it. It then creates a new instance of the innerclass and passes the topics to that. @@ -488,8 +487,8 @@ def __init__(self, innerclass, takes="queries", returns="docs", body_attr="body" self.verbose = verbose def transform(self, topics_and_res): - from . import DFIndexer, IndexFactory - from .index import IndexingType + from pyterrier import DFIndexer, IndexFactory + from pyterrier.index import IndexingType documents = topics_and_res[["docno", self.body_attr]].drop_duplicates(subset="docno") indexref = DFIndexer(None, type=IndexingType.MEMORY, verbose=self.verbose).index(documents[self.body_attr], documents["docno"]) docno2docid = { docno:id for id, docno in enumerate(documents["docno"]) } @@ -714,7 +713,7 @@ def transform(self, queries): queries['qid'] = queries['qid'].astype(str) newscores=[] - for row in tqdm(queries.itertuples(), desc=str(self), total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): + for row in pt.tqdm(queries.itertuples(), desc=str(self), total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): qid = str(row.qid) query = row.query if len(query) == 0: @@ -798,9 +797,8 @@ def __str__(self): rewrites_setup = False def setup_rewrites(): - from .batchretrieve import BatchRetrieve, FeaturesBatchRetrieve - from .transformer import rewrite_rules - from .ops import FeatureUnionPipeline, ComposedPipeline + from pyterrier.transformer import rewrite_rules + from pyterrier.ops import FeatureUnionPipeline, ComposedPipeline from matchpy import ReplacementRule, Wildcard, Pattern, CustomConstraint #three arbitrary "things". x = Wildcard.dot('x') diff --git a/pyterrier/text.py b/pyterrier/text.py index 51a2dbce..5704b6f5 100644 --- a/pyterrier/text.py +++ b/pyterrier/text.py @@ -1,5 +1,4 @@ -from pyterrier.transformer import Transformer -from . import Transformer +import pyterrier as pt from pyterrier.datasets import IRDSDataset import more_itertools from collections import defaultdict @@ -15,7 +14,7 @@ def get_text( indexlike, metadata : Union[str,List[str]] = "body", by_query : bool = False, - verbose : bool = False) -> Transformer: + verbose : bool = False) -> pt.Transformer: """ A utility transformer for obtaining the text from the text of documents (or other document metadata) from Terrier's MetaIndex or an IRDSDataset docstore. @@ -129,7 +128,7 @@ def add_text_function_docids(res): return add_text_function_docids -def scorer(*args, **kwargs) -> Transformer: +def scorer(*args, **kwargs) -> pt.Transformer: """ This allows scoring of the documents with respect to a query, without creating an index first. This is an alias to pt.TextScorer(). Internally, a Terrier memory index is created, before being @@ -163,10 +162,9 @@ def scorer(*args, **kwargs) -> Transformer: textscorerTfIdf = pt.text.scorer(body_attr="text", wmodel="TF_IDF", background_index=index) """ - import pyterrier as pt - return pt.batchretrieve.TextScorer(*args, **kwargs) + return pt.terrier.retriever.TextScorer(*args, **kwargs) -def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='title', tokenizer=None, **kwargs) -> Transformer: +def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='title', tokenizer=None, **kwargs) -> pt.Transformer: r""" A useful transformer for splitting long documents into smaller passages within a pipeline. This applies a *sliding* window over the text, where each passage is the give number of tokens long. Passages can overlap, if the stride is set smaller than the length. In @@ -235,28 +233,28 @@ def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='ti **kwargs ) -def max_passage() -> Transformer: +def max_passage() -> pt.Transformer: """ Scores each document based on the maximum score of any constituent passage. Applied after a sliding window transformation has been scored. """ return MaxPassage() -def mean_passage() -> Transformer: +def mean_passage() -> pt.Transformer: """ Scores each document based on the mean score of all constituent passages. Applied after a sliding window transformation has been scored. """ return MeanPassage() -def first_passage() -> Transformer: +def first_passage() -> pt.Transformer: """ Scores each document based on score of the first passage of that document. Note that this transformer is rarely used in conjunction with the sliding window transformer, as all passages would required to be scored, only for the first one to be used. """ return FirstPassage() -def kmaxavg_passage(k : int) -> Transformer: +def kmaxavg_passage(k : int) -> pt.Transformer: """ Scores each document based on the average score of the top scoring k passages. Generalises combination of mean_passage() and max_passage(). Proposed in [Chen2020]. @@ -275,11 +273,11 @@ def slidingWindow(sequence : list, winSize : int, step : int) -> list: return [x for x in list(more_itertools.windowed(sequence,n=winSize, step=step)) if x[-1] is not None] def snippets( - text_scorer_pipe : Transformer, + text_scorer_pipe : pt.Transformer, text_attr : str = "text", summary_attr : str = "summary", num_psgs : int = 5, - joinstr : str ='...') -> Transformer: + joinstr : str ='...') -> pt.Transformer: """ Applies query-biased summarisation (snippet), by applying the specified text scoring pipeline. @@ -335,7 +333,7 @@ def _qbsjoin(docres): return pt.apply.generic(_qbsjoin) -class DePassager(Transformer): +class DePassager(pt.Transformer): def __init__(self, agg="max", **kwargs): super().__init__(**kwargs) @@ -405,7 +403,7 @@ def __init__(self, **kwargs): super().__init__(**kwargs) -class SlidingWindowPassager(Transformer): +class SlidingWindowPassager(pt.Transformer): def __init__(self, text_attr='body', title_attr='title', passage_length=150, passage_stride=75, join=' ', prepend_title=True, tokenizer=None, **kwargs): super().__init__(**kwargs) diff --git a/tests/test_dunder.py b/tests/test_dunder.py index 634398f1..44966fd1 100644 --- a/tests/test_dunder.py +++ b/tests/test_dunder.py @@ -8,9 +8,8 @@ class TestDunder(TempDirTestCase): def test_callable_wmodel_dunders(self): testPosting = pt.autoclass("org.terrier.structures.postings.BasicPostingImpl")(0,1) - from pyterrier.batchretrieve import _function2wmodel lambdafn = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() - callback, wmodel = _function2wmodel(lambdafn) + callback, wmodel = pt.terrier.retriever._function2wmodel(lambdafn) from pyterrier.java.bootstrap import javabytebuffer2array byterep = javabytebuffer2array(wmodel.scoringClass.serializeFn()) diff --git a/tests/test_operators.py b/tests/test_operators.py index df82b5b7..810fd8b0 100644 --- a/tests/test_operators.py +++ b/tests/test_operators.py @@ -292,7 +292,6 @@ def _check(expression): def test_feature_union_multi(self): import pyterrier.ops as pto - import pyterrier.batchretrieve mock0 = pt.Transformer.from_df(pd.DataFrame([["q1", "doc1", 0], ["q1", "doc2", 0]], columns=["qid", "docno", "score"]), uniform=True) mock1 = pt.Transformer.from_df(pd.DataFrame([["q1", "doc1", 5], ["q1", "doc2", 0]], columns=["qid", "docno", "score"]), uniform=True) @@ -338,7 +337,7 @@ def test_feature_union_multi(self): self.assertEqual(2, len(mock12a.models)) self.assertEqual(2, len(mock12a.models)) - pyterrier.batchretrieve.setup_rewrites() + pt.terrier.retriever.setup_rewrites() mock123_simple = mock123a.compile() self.assertIsNotNone(mock123_simple) diff --git a/tests/test_scoring.py b/tests/test_scoring.py index ea1aecb1..e7d62390 100644 --- a/tests/test_scoring.py +++ b/tests/test_scoring.py @@ -39,7 +39,7 @@ def _test_scoring_text(self, dataset, index, wmodel): output1 = br1(input) self.assertTrue( "body" in output1.columns ) input2 = output1[["qid", "query", "docno", "body"]] - br2 = pt.batchretrieve.TextScorer(background_index=index, wmodel=wmodel, verbose=True) + br2 = pt.terrier.retriever.TextScorer(background_index=index, wmodel=wmodel, verbose=True) output2 = br2(input2) self.assertTrue( "score" in output2.columns ) @@ -52,7 +52,7 @@ def _test_scoring_text(self, dataset, index, wmodel): def test_scoring_manual_empty(self): input = pd.DataFrame([["q1", "fox", "d1", ""]], columns=["qid", "query", "docno", "body"]) - from pyterrier.batchretrieve import TextScorer + from pyterrier.terrier.retriever import TextScorer scorer = TextScorer(wmodel="Tf") rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -62,7 +62,7 @@ def test_scoring_manual_empty(self): def test_scoring_manual(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - from pyterrier.batchretrieve import TextScorer + from pyterrier.terrier.retriever import TextScorer scorer = TextScorer(wmodel="Tf") rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -78,7 +78,7 @@ def test_scoring_manual(self): def test_scoring_manual_background(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - from pyterrier.batchretrieve import TextScorer + from pyterrier.terrier.retriever import TextScorer scorer = TextScorer(wmodel="Tf", background_index=pt.get_dataset("vaswani").get_index()) rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -94,8 +94,7 @@ def test_scoring_manual_background(self): def test_scoring_qe(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - from pyterrier.batchretrieve import TextScorer - scorer = pt.batchretrieve.TextIndexProcessor(pt.rewrite.Bo1QueryExpansion, takes="docs", returns="queries") + scorer = pt.terrier.retriever.TextIndexProcessor(pt.rewrite.Bo1QueryExpansion, takes="docs", returns="queries") rtr = scorer(input) self.assertTrue("qid" in rtr.columns) self.assertTrue("query" in rtr.columns) From a9aa472fa1d71c5f79477b05f0aef9d831c9f77a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 26 Jul 2024 16:23:30 +0100 Subject: [PATCH 011/153] should fix broken build --- pyterrier/java/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index a181b4d8..99dc4bbc 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -49,6 +49,7 @@ def init() -> None: import jnius _started = True + bootstrap.setup_jnius() set_log_level(_log_level) java_version = autoclass("java.lang.System").getProperty("java.version") From 44a8fab7465ae82f9be376588990c52ea9a209e7 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 26 Jul 2024 16:30:21 +0100 Subject: [PATCH 012/153] wip --- pyterrier/java/bootstrap.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pyterrier/java/bootstrap.py b/pyterrier/java/bootstrap.py index 20a52f04..661ef899 100644 --- a/pyterrier/java/bootstrap.py +++ b/pyterrier/java/bootstrap.py @@ -125,8 +125,7 @@ def of(indexlike, memory : Union[bool, List[str]] = False): def new_indexref(s): - from . import IndexRef - return IndexRef.of(s) + return pt.IndexRef.of(s) def new_wmodel(bytes): from . import autoclass From ecef7530f3c1c0e7adc660168a6b32aca5b610b1 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 12:20:49 +0100 Subject: [PATCH 013/153] fix some tests --- pyterrier/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index dade1023..eff1b848 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -212,7 +212,7 @@ def check_version(min, helper=False): """ from packaging.version import Version from . import terrier - currentVer = terrier._resolved_helper_version if helper else version() + currentVer = terrier.java._resolved_helper_version if helper else version() assert currentVer is not None, "Could not obtain Terrier version (helpher=%s)" % str(helper) currentVer = Version(currentVer.replace("-SNAPSHOT", "")) From 0a22452510e6fb41e6dd7eba2f019a38c66838d8 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 12:26:24 +0100 Subject: [PATCH 014/153] fix more tests --- pyterrier/java/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 99dc4bbc..7a644398 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -13,6 +13,7 @@ def _legacy_post_init(jnius): pt.HOME_DIR = pt.io.pyterrier_home() pt.properties = autoclass('java.util.Properties')() pt.ApplicationSetup = autoclass('org.terrier.utility.ApplicationSetup') + pt.ApplicationSetup.bootstrapInitialisation(pt.properties) pt.autoclass = jnius.autoclass pt.cast = jnius.cast From 7e020d5c80530042ac06e063a31413fca9899968 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 12:39:21 +0100 Subject: [PATCH 015/153] wip --- pyterrier/__init__.py | 2 +- pyterrier/datasets.py | 4 +--- pyterrier/java/__init__.py | 14 ++++++++++---- pyterrier/terrier/java.py | 12 ++++++------ setup.py | 2 +- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index eff1b848..95135f13 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -204,7 +204,7 @@ def version(): """ Returns the version string from the underlying Terrier platform. """ - return java.autoclass("org.terrier.Version").VERSION + return terrier.J.Version.VERSION def check_version(min, helper=False): """ diff --git a/pyterrier/datasets.py b/pyterrier/datasets.py index a8d3997a..0d87f574 100644 --- a/pyterrier/datasets.py +++ b/pyterrier/datasets.py @@ -371,7 +371,6 @@ def get_index(self, variant=None, **kwargs): variant="ex1" thedir = self._get_all_files("index", variant=variant, **kwargs) return thedir - #return pt.autoclass("org.terrier.querying.IndexRef").of(os.path.join(thedir, "data.properties")) def __repr__(self): return "RemoteDataset for %s, with %s" % (self.name, str(list(self.locations.keys()))) @@ -462,8 +461,7 @@ def get_topics(self, variant=None, tokenise_query=True): # apply pyterrier tokenisation (otherwise the queries may not play well with batchretrieve) if tokenise_query and 'query' in df: - import pyterrier as pt - tokeniser = pt.autoclass("org.terrier.indexing.tokenisation.Tokeniser").getTokeniser() + tokeniser = pt.terrier.J.Tokenizer.getTokeniser() def pt_tokenise(text): return ' '.join(tokeniser.getTokens(text)) df['query'] = df['query'].apply(pt_tokenise) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 7a644398..0e3cf748 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -11,8 +11,8 @@ def _legacy_post_init(jnius): pt.HOME_DIR = pt.io.pyterrier_home() - pt.properties = autoclass('java.util.Properties')() - pt.ApplicationSetup = autoclass('org.terrier.utility.ApplicationSetup') + pt.properties = J.Properties() + pt.ApplicationSetup = J.ApplicationSetup pt.ApplicationSetup.bootstrapInitialisation(pt.properties) pt.autoclass = jnius.autoclass pt.cast = jnius.cast @@ -170,12 +170,13 @@ def set_log_level(level): global _log_level _log_level = level if started(): - autoclass("org.terrier.python.PTUtils").setLogLevel(level, None) + J.PTUtils.setLogLevel(level, None) class JavaClasses: def __init__(self, mapping: Dict[str, str]): self._mapping = mapping + self._cache = {} def __dir__(self): return list(self._mapping.keys()) @@ -184,9 +185,14 @@ def __dir__(self): def __getattr__(self, key): if key not in self._mapping: return AttributeError(f'{self} has no attribute {key!r}') - return autoclass(self._mapping[key]) + if key not in self._cache: + self._cache[key] = autoclass(self._mapping[key]) + return self._cache[key] J = JavaClasses({ 'ArrayList': 'java.util.ArrayList', + 'Properties': 'java.util.Properties', + 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', + 'PTUtils': 'org.terrier.python.PTUtils', }) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index e17395db..80bf4569 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -78,16 +78,14 @@ def _pre_init(jnius_config): def _post_init(jnius): - tr_version = pt.java.autoclass('org.terrier.Version') - - version_string = tr_version.VERSION - if "BUILD_DATE" in dir(tr_version): - version_string += f" (built by {tr_version.BUILD_USER} on {tr_version.BUILD_DATE})" + version_string = J.Version.VERSION + if "BUILD_DATE" in dir(J.Version): + version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" print(f"PyTerrier {pt.__version__} has loaded Terrier {version_string} and " f"terrier-helper {_resolved_helper_version}\n", file=sys.stderr) - pt.IndexRef = pt.java.autoclass("org.terrier.querying.IndexRef") + pt.IndexRef = J.IndexRef @pt.java.required() @@ -107,4 +105,6 @@ def extend_package(package): # Terrier-specific classes J = pt.java.JavaClasses({ 'IndexRef': 'org.terrier.querying.IndexRef', + 'Version': 'org.terrier.Version', + 'Tokenizer': 'org.terrier.indexing.tokenisation.Tokeniser', }) diff --git a/setup.py b/setup.py index b0b8004a..a9b83ee2 100644 --- a/setup.py +++ b/setup.py @@ -75,10 +75,10 @@ def get_version(rel_path): 'terrier = pyterrier.terrier.java:_pre_init', ], 'pyterrier.java.post_init': [ + 'legacy = pyterrier.java:_legacy_post_init', 'terrier = pyterrier.terrier.java:_post_init', 'index = pyterrier:index._java_post_init', 'rewrite = pyterrier:rewrite._java_post_init', - 'legacy = pyterrier:java._legacy_post_init', ], }, install_requires=requirements, From 13b020ebbddcd10bca04f052f805a60b852ec67b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 13:49:55 +0100 Subject: [PATCH 016/153] new global place for java configurations, allowing them to be passed to new processes easier --- pyterrier/__init__.py | 12 ---------- pyterrier/java/__init__.py | 41 ++++++++++++++++++--------------- pyterrier/java/config.py | 33 ++++++++++++++++++++++++++ pyterrier/parallel.py | 18 +++++++++++---- pyterrier/terrier/java.py | 33 +++++++++----------------- setup.py | 10 ++++---- tests/anserini/test_anserini.py | 2 -- tests/base.py | 4 ---- tests/test_pool.py | 17 +++++++------- 9 files changed, 94 insertions(+), 76 deletions(-) create mode 100644 pyterrier/java/config.py diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 95135f13..c81e136f 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -54,7 +54,6 @@ HOME_DIR = None # TODO -init_args = {} _helper_version = None @@ -138,17 +137,6 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log redirect_stdouterr() setup_jnius() - - # we save the pt.init() arguments so that other processes, - # started by joblib or ray can booted with same options - init_args["version"] = version - init_args["mem"] = mem - init_args["packages"] = packages - init_args["jvm_opts"] = jvm_opts - init_args["redirect_io"] = redirect_io - init_args["home_dir"] = home_dir - init_args["boot_packages"] = boot_packages - init_args["tqdm"] = tqdm def set_tqdm(type): diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 0e3cf748..8c3887d9 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -4,6 +4,8 @@ import pyterrier as pt from pyterrier.java import bootstrap from pyterrier.java import mavenresolver +from pyterrier.java import config +from pyterrier.java.config import configure _started = False @@ -38,22 +40,24 @@ def init() -> None: _pre_init = entry_point.load() _pre_init(jnius_config) - if _mem is not None: - jnius_config.add_options('-Xmx' + str(_mem) + 'm') + cfg = configure() - for opt in _options: + if cfg['mem'] is not None: + jnius_config.add_options('-Xmx' + str(cfg['mem']) + 'm') + + for opt in cfg['options']: jnius_config.add_options(opt) - for jar in _jars: + for jar in cfg['jars']: jnius_config.add_classpath(jar) import jnius _started = True bootstrap.setup_jnius() - set_log_level(_log_level) + set_log_level(cfg['log_level']) - java_version = autoclass("java.lang.System").getProperty("java.version") + java_version = J.System.getProperty("java.version") if java_version.startswith("1.") or java_version.startswith("9."): raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") @@ -123,17 +127,14 @@ def cast(*args, **kwargs): return jnius.cast(*args, **kwargs) -# Settings - +# config -_jars = [] -_options = [] -_mem = None -_log_level = 'WARN' @before_init() def add_jar(jar_path): - _jars.append(jar_path) + jars = configure()['jars'] + jars.append(jar_path) + configure(jars=jars) @before_init() @@ -146,13 +147,14 @@ def add_package(org_name: str = None, package_name: str = None, version: str = N @before_init() def set_memory_limit(mem: Optional[float]): - global _mem - _mem = mem + configure(mem=mem) @before_init() def add_option(option: str): - _options.append(option) + options = configure()['options'] + options.append(option) + configure(options=options) def set_log_level(level): @@ -167,9 +169,9 @@ def set_log_level(level): Unlike other java settings, this can be changed either before or after init() has been called. """ - global _log_level - _log_level = level - if started(): + if not started(): + configure(log_level=level) + else: J.PTUtils.setLogLevel(level, None) @@ -195,4 +197,5 @@ def __getattr__(self, key): 'Properties': 'java.util.Properties', 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', 'PTUtils': 'org.terrier.python.PTUtils', + 'System': 'java.lang.System', }) diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py new file mode 100644 index 00000000..8e8b7e61 --- /dev/null +++ b/pyterrier/java/config.py @@ -0,0 +1,33 @@ +from typing import Dict, Any +from copy import deepcopy +import pyterrier.java + +_CONFIGS = {} + +def register(name, config: Dict[str, Any]): + assert name not in _CONFIGS + _CONFIGS[name] = deepcopy(config) + + @pyterrier.java.before_init() + def _configure(**settings: Any): + for key, value in settings.items(): + if key not in _CONFIGS[name]: + raise AttributeError(f'{key!r} not defined as a java setting for {name!r}') + _CONFIGS[name][name] = value + return deepcopy(_CONFIGS[name]) + + return _configure + +configure = register('pyterrier.java', { + 'jars': [], + 'options': [], + 'mem': None, + 'log_level': 'WARN', +}) + +def get_configs(): + return deepcopy(_CONFIGS) + +def set_configs(configs): + for key, value in configs: + _CONFIGS[key] = value diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index 5f589d71..d2e5566b 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -1,6 +1,7 @@ from . import Transformer import pandas as pd import pyterrier as pt +from warnings import warn SUPPORTED_BACKENDS=["joblib", "ray"] @@ -31,6 +32,15 @@ def _pt_init(args): from warnings import warn warn("Avoiding reinit of PyTerrier") + +def _java_init_with_configs(configs) -> None: + if not pt.java.started(): + pt.java.config.set_configs(configs) + pt.java.init() + else: + warn("Avoiding reinit of PyTerrier") + + def _check_ray(): try: import ray @@ -52,13 +62,13 @@ def parallel_lambda(function, inputs, jobs, backend='joblib'): def _parallel_lambda_ray(function, inputs, jobs): from ray.util.multiprocessing import Pool - with Pool(jobs, lambda args: pt.init(**args), pt.init_args) as pool: + with Pool(jobs, _java_init_with_configs, pt.java.config.get_configs()) as pool: return pool.map(function, inputs) def _parallel_lambda_joblib(function, inputs, jobs): from joblib import Parallel, delayed with Parallel(n_jobs=jobs) as parallel: - parallel_mp = _joblib_with_initializer(parallel, _pt_init, pt.init_args) + parallel_mp = _joblib_with_initializer(parallel, _java_init_with_configs, pt.java.config.get_configs()) return parallel_mp( delayed(function)(input) for input in inputs) @@ -80,12 +90,12 @@ def __init__(self, parent, n_jobs, backend='joblib', **kwargs): def _transform_joblib(self, splits): from joblib import Parallel, delayed with Parallel(n_jobs=self.n_jobs) as parallel: - results = _joblib_with_initializer(parallel, _pt_init, pt.init_args)(delayed(self.parent)(topics) for topics in splits) + results = _joblib_with_initializer(parallel, _java_init_with_configs, pt.java.config.get_configs())(delayed(self.parent)(topics) for topics in splits) return pd.concat(results) def _transform_ray(self, splits): from ray.util.multiprocessing import Pool - with Pool(self.n_jobs, _pt_init, pt.init_args) as pool: + with Pool(self.n_jobs, _java_init_with_configs, pt.java.config.get_configs()) as pool: results = pool.map(lambda topics : self.parent(topics), splits) return pd.concat(results) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 80bf4569..b20b248e 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -4,36 +4,24 @@ TERRIER_PKG = "org.terrier" +_resolved_helper_version = None -_CONFIGURATION = { +configure = pt.java.config.register('pt.terrier.java', { 'terrier_version': None, 'helper_version': None, 'boot_packages': [], 'force_download': True, - 'prf_version': None, -} - -_resolved_helper_version = None - - -@pt.java.before_init() -def configure(terrier_version=None, helper_version=None, boot_packages=[], force_download=True): - _CONFIGURATION.update({ - 'terrier_version': terrier_version, - 'helper_version': helper_version, - 'boot_packages': boot_packages, - 'force_download': force_download, - }) +}) @pt.java.before_init() def set_terrier_version(version: Optional[str] = None): - _CONFIGURATION['terrier_version'] = version + configure(terrier_version=version) @pt.java.before_init() def set_helper_version(version: Optional[str] = None): - _CONFIGURATION['helper_version'] = version + configure(helper_version=version) @pt.java.before_init() @@ -54,25 +42,26 @@ def _pre_init(jnius_config): helper_version(str): Which version of the helper - None is latest """ # If version is not specified, find newest and download it - if _CONFIGURATION['terrier_version'] is None: + cfg = configure() + if cfg['terrier_version'] is None: terrier_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") else: - terrier_version = str(_CONFIGURATION['terrier_version']) # just in case its a float + terrier_version = str(cfg['terrier_version']) # just in case its a float # obtain the fat jar from Maven # "snapshot" means use Jitpack.io to get a build of the current # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT if terrier_version == "snapshot": - trJar = pt.java.mavenresolver.downloadfile("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=_CONFIGURATION['force_download']) + trJar = pt.java.mavenresolver.downloadfile("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=cfg['force_download']) else: trJar = pt.java.mavenresolver.downloadfile(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") pt.java.add_jar(trJar) # now the helper classes - if _CONFIGURATION['helper_version'] is None or _CONFIGURATION['helper_version'] == 'snapshot': + if cfg['helper_version'] is None or cfg['helper_version'] == 'snapshot': helper_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") else: - helper_version = str(_CONFIGURATION['helper_version']) # just in case its a float + helper_version = str(cfg['helper_version']) # just in case its a float _resolved_helper_version = helper_version pt.java.add_package(TERRIER_PKG, "terrier-python-helper", helper_version) diff --git a/setup.py b/setup.py index a9b83ee2..a66df5fe 100644 --- a/setup.py +++ b/setup.py @@ -72,13 +72,13 @@ def get_version(rel_path): ], entry_points={ 'pyterrier.java.pre_init': [ - 'terrier = pyterrier.terrier.java:_pre_init', + 'terrier = pyterrier.terrier.java : _pre_init', ], 'pyterrier.java.post_init': [ - 'legacy = pyterrier.java:_legacy_post_init', - 'terrier = pyterrier.terrier.java:_post_init', - 'index = pyterrier:index._java_post_init', - 'rewrite = pyterrier:rewrite._java_post_init', + 'legacy = pyterrier.java : _legacy_post_init', + 'terrier = pyterrier.terrier.java : _post_init', + 'index = pyterrier.index : _java_post_init', + 'rewrite = pyterrier.rewrite : _java_post_init', ], }, install_requires=requirements, diff --git a/tests/anserini/test_anserini.py b/tests/anserini/test_anserini.py index 2434673c..c0df9870 100644 --- a/tests/anserini/test_anserini.py +++ b/tests/anserini/test_anserini.py @@ -24,8 +24,6 @@ def __init__(self, *args, **kwargs): if not pt.started(): pt.init(version=terrier_version, logging="DEBUG", boot_packages=["io.anserini:anserini:%s:fatjar" % anserini_version]) self.here = os.path.dirname(os.path.realpath(__file__)) - assert "version" in pt.init_args - assert pt.init_args["version"] == terrier_version def test_anserini_vaswani(self): self.skip_pyserini() diff --git a/tests/base.py b/tests/base.py index 501cd234..4aadb9c8 100644 --- a/tests/base.py +++ b/tests/base.py @@ -23,10 +23,6 @@ def __init__(self, *args, **kwargs): # jvm_opts=['-ea'] can be added here to ensure that all Java assertions are met self.here = os.path.dirname(os.path.realpath(__file__)) - # check that pt.init() is saving its arguments - assert "version" in pt.init_args - assert pt.init_args["version"] == terrier_version - def skip_windows(self): if BaseTestCase.is_windows(): diff --git a/tests/test_pool.py b/tests/test_pool.py index ceac6913..5493b7b3 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -38,31 +38,32 @@ def test_br_multiprocess(self): # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ from multiprocess import Pool - def starter(**initargs): - if not pt.started(): + def starter(configs): + if not pt.java.started(): print("pt booted") - pt.init(*initargs) + pt.java.config.set_configs(configs) + pt.java.init() - with Pool(None, starter, pt.init_args, 1) as pool: + with Pool(None, starter, pt.java.config.get_configs(), 1) as pool: for res in pool.map(lambda topics : br(topics), [t, t, t]): pd.testing.assert_frame_equal(res1, res) def test_br_ray(self): - from pyterrier.parallel import _pt_init + from pyterrier.parallel import _java_init_with_configs self.skipTest("disabling ray") vaswani = pt.datasets.get_dataset("vaswani") br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) t = vaswani.get_topics().head() res1 = br(t).sort_values(["qid", "docno"]) from ray.util.multiprocessing import Pool - with Pool(4, lambda: _pt_init(pt.init_args)) as pool: + with Pool(4, lambda configs: _java_init_with_configs(configs), pt.java.get_configs()) as pool: for res in pool.map(lambda topics : br(topics), [t, t, t]): res = res.sort_values(["qid", "docno"]) pd.testing.assert_frame_equal(res1, res) def test_br_joblib(self): self.skip_windows() - from pyterrier.parallel import _joblib_with_initializer, _pt_init + from pyterrier.parallel import _joblib_with_initializer, _java_init_with_configs vaswani = pt.datasets.get_dataset("vaswani") br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) @@ -71,7 +72,7 @@ def test_br_joblib(self): from joblib import Parallel, delayed with Parallel(n_jobs=2) as parallel: - results = _joblib_with_initializer(parallel, lambda: _pt_init(pt.init_args))(delayed(br)(topics) for topics in [t,t,t]) + results = _joblib_with_initializer(parallel, lambda configs: _java_init_with_configs(configs), pt.java.config.get_configs())(delayed(br)(topics) for topics in [t,t,t]) self.assertTrue(3, len(results)) for res in results: res = res.sort_values(["qid", "docno"]) From af930ce850817a404ac25e551f5caccc03ff0525 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 13:55:24 +0100 Subject: [PATCH 017/153] fixing a few config errors --- pyterrier/java/__init__.py | 5 ++--- pyterrier/java/config.py | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 8c3887d9..3f5a43fd 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -4,9 +4,6 @@ import pyterrier as pt from pyterrier.java import bootstrap from pyterrier.java import mavenresolver -from pyterrier.java import config -from pyterrier.java.config import configure - _started = False @@ -128,6 +125,8 @@ def cast(*args, **kwargs): # config +from pyterrier.java import config +from pyterrier.java.config import configure @before_init() diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 8e8b7e61..06abe785 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -1,6 +1,6 @@ from typing import Dict, Any from copy import deepcopy -import pyterrier.java +from pyterrier import java _CONFIGS = {} @@ -8,12 +8,12 @@ def register(name, config: Dict[str, Any]): assert name not in _CONFIGS _CONFIGS[name] = deepcopy(config) - @pyterrier.java.before_init() + @java.before_init() def _configure(**settings: Any): for key, value in settings.items(): if key not in _CONFIGS[name]: raise AttributeError(f'{key!r} not defined as a java setting for {name!r}') - _CONFIGS[name][name] = value + _CONFIGS[name][key] = value return deepcopy(_CONFIGS[name]) return _configure From 24ef0eed6e988a5c5dab32fb7e0a0310ed48f3d2 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 19:31:03 +0100 Subject: [PATCH 018/153] wip --- pyterrier/java/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 06abe785..1f679979 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -28,6 +28,6 @@ def _configure(**settings: Any): def get_configs(): return deepcopy(_CONFIGS) -def set_configs(configs): - for key, value in configs: +def set_configs(configs: Dict[str, Dict[str, Any]]): + for key, value in configs.items(): _CONFIGS[key] = value From ff08773a309a222d32eb719e7ae6ae8f0641528f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 19:38:25 +0100 Subject: [PATCH 019/153] wip --- pyterrier/java/config.py | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 1f679979..212aabc3 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -1,22 +1,36 @@ from typing import Dict, Any from copy import deepcopy -from pyterrier import java _CONFIGS = {} +class Configuration: + def __init__(self, name): + self.name = name + + def get(self, key): + return self()[key] + + def set(self, key, value): + self()(**{key: value}) + + def append(self, key, value): + res = self.get(key) + res.append(value) + self(**{key: res}) + + def __call__(self, **settings: Any): + for key, value in settings.items(): + if key not in _CONFIGS[self.name]: + raise AttributeError(f'{key!r} not defined as a java setting for {self.name!r}') + _CONFIGS[self.name][key] = value + return deepcopy(_CONFIGS[self.name]) + + def register(name, config: Dict[str, Any]): assert name not in _CONFIGS _CONFIGS[name] = deepcopy(config) + return Configuration(name) - @java.before_init() - def _configure(**settings: Any): - for key, value in settings.items(): - if key not in _CONFIGS[name]: - raise AttributeError(f'{key!r} not defined as a java setting for {name!r}') - _CONFIGS[name][key] = value - return deepcopy(_CONFIGS[name]) - - return _configure configure = register('pyterrier.java', { 'jars': [], @@ -25,9 +39,11 @@ def _configure(**settings: Any): 'log_level': 'WARN', }) + def get_configs(): return deepcopy(_CONFIGS) + def set_configs(configs: Dict[str, Dict[str, Any]]): for key, value in configs.items(): _CONFIGS[key] = value From f825aa7887d04f50ee6d34979e7c9c37990ce801 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 27 Jul 2024 19:38:31 +0100 Subject: [PATCH 020/153] wip --- pyterrier/java/__init__.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 3f5a43fd..3f8d28f8 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -131,9 +131,7 @@ def cast(*args, **kwargs): @before_init() def add_jar(jar_path): - jars = configure()['jars'] - jars.append(jar_path) - configure(jars=jars) + configure.append('jars', jar_path) @before_init() @@ -151,9 +149,7 @@ def set_memory_limit(mem: Optional[float]): @before_init() def add_option(option: str): - options = configure()['options'] - options.append(option) - configure(options=options) + configure.append('options', option) def set_log_level(level): From 2baaf0971f76c9cceb098fc3e6764e957af95dcc Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 09:03:26 +0100 Subject: [PATCH 021/153] debugging messages --- pyterrier/java/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 3f8d28f8..9b09fe0c 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -42,9 +42,12 @@ def init() -> None: if cfg['mem'] is not None: jnius_config.add_options('-Xmx' + str(cfg['mem']) + 'm') + from warnings import warn + warn(f'options: {cfg['options']}') for opt in cfg['options']: jnius_config.add_options(opt) + warn(f'jars: {cfg['jars']}') for jar in cfg['jars']: jnius_config.add_classpath(jar) From 6f263263ef9cd7fae1664de34a020822dae02636 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 09:05:10 +0100 Subject: [PATCH 022/153] python version compat --- pyterrier/java/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 9b09fe0c..00257ced 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -43,11 +43,11 @@ def init() -> None: jnius_config.add_options('-Xmx' + str(cfg['mem']) + 'm') from warnings import warn - warn(f'options: {cfg['options']}') + warn(f'options: {cfg["options"]}') for opt in cfg['options']: jnius_config.add_options(opt) - warn(f'jars: {cfg['jars']}') + warn(f'jars: {cfg["jars"]}') for jar in cfg['jars']: jnius_config.add_classpath(jar) From 1f16c033ec1caa7982da576753645b1e78ea829c Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 09:16:39 +0100 Subject: [PATCH 023/153] warnings get collapsed? --- pyterrier/java/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 00257ced..c6854850 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -42,12 +42,12 @@ def init() -> None: if cfg['mem'] is not None: jnius_config.add_options('-Xmx' + str(cfg['mem']) + 'm') - from warnings import warn - warn(f'options: {cfg["options"]}') + import sys + sys.stderr.write(f'options: {cfg["options"]}\n') for opt in cfg['options']: jnius_config.add_options(opt) - warn(f'jars: {cfg["jars"]}') + sys.stderr.write(f'jars: {cfg["jars"]}\n') for jar in cfg['jars']: jnius_config.add_classpath(jar) From 3ee91174d18c236cc7a247caf129dffacda34a86 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 09:28:01 +0100 Subject: [PATCH 024/153] debugging --- pyterrier/parallel.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index d2e5566b..1f61668e 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -35,6 +35,7 @@ def _pt_init(args): def _java_init_with_configs(configs) -> None: if not pt.java.started(): + warn(f'Starting java parallel with configs {configs}') pt.java.config.set_configs(configs) pt.java.init() else: From bfc6553a68c9bc1859099e734e92b58f2748b9bb Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 15:41:33 +0100 Subject: [PATCH 025/153] isolate test failures --- tests/test_parallel.py | 86 +++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/tests/test_parallel.py b/tests/test_parallel.py index c8b31895..beaba7cf 100644 --- a/tests/test_parallel.py +++ b/tests/test_parallel.py @@ -1,46 +1,46 @@ -from .base import BaseTestCase -import pyterrier as pt -class TestParallel(BaseTestCase): +# from .base import BaseTestCase +# import pyterrier as pt +# class TestParallel(BaseTestCase): - def test_parallel_joblib_experiment(self): - self.skip_windows() - dataset = pt.get_dataset("vaswani") - br = pt.BatchRetrieve(dataset.get_index()) - df = pt.Experiment( - [br, br.parallel(3)], - dataset.get_topics(), - dataset.get_qrels(), - ["map", "mrt"] - ) - self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) +# def test_parallel_joblib_experiment(self): +# self.skip_windows() +# dataset = pt.get_dataset("vaswani") +# br = pt.BatchRetrieve(dataset.get_index()) +# df = pt.Experiment( +# [br, br.parallel(3)], +# dataset.get_topics(), +# dataset.get_qrels(), +# ["map", "mrt"] +# ) +# self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) - def test_parallel_joblib_experiment_br_callback(self): - self.skip_windows() - dataset = pt.get_dataset("vaswani") - Tf = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() - br = pt.BatchRetrieve(dataset.get_index(), wmodel=Tf) - df = pt.Experiment( - [br, br.parallel(3)], - dataset.get_topics().head(4), - dataset.get_qrels(), - ["map", "mrt"] - ) - self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) +# def test_parallel_joblib_experiment_br_callback(self): +# self.skip_windows() +# dataset = pt.get_dataset("vaswani") +# Tf = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() +# br = pt.BatchRetrieve(dataset.get_index(), wmodel=Tf) +# df = pt.Experiment( +# [br, br.parallel(3)], +# dataset.get_topics().head(4), +# dataset.get_qrels(), +# ["map", "mrt"] +# ) +# self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) - def test_parallel_joblib_ops(self): - self.skip_windows() - dataset = pt.get_dataset("vaswani") - topics = dataset.get_topics().head(3) - dph = pt.BatchRetrieve(dataset.get_index()) - tf = pt.BatchRetrieve(dataset.get_index(), wmodel="Tf") - for pipe in [ - dph, - dph % 10, - dph >> tf, - dph + tf, - pt.apply.query(lambda row: row["query"] + " chemical") >> dph - ]: - res1 = pipe(topics) - res2 = pipe.parallel(3)(topics) - self.assertEqual(len(res1), len(res2)) - \ No newline at end of file +# def test_parallel_joblib_ops(self): +# self.skip_windows() +# dataset = pt.get_dataset("vaswani") +# topics = dataset.get_topics().head(3) +# dph = pt.BatchRetrieve(dataset.get_index()) +# tf = pt.BatchRetrieve(dataset.get_index(), wmodel="Tf") +# for pipe in [ +# dph, +# dph % 10, +# dph >> tf, +# dph + tf, +# pt.apply.query(lambda row: row["query"] + " chemical") >> dph +# ]: +# res1 = pipe(topics) +# res2 = pipe.parallel(3)(topics) +# self.assertEqual(len(res1), len(res2)) +# From b639cee505709b3aa0a13e1ff2f5be92e9e93f70 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 15:49:42 +0100 Subject: [PATCH 026/153] isolate test failures --- tests/test_pool.py | 132 ++++++++++++++++++++++----------------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/tests/test_pool.py b/tests/test_pool.py index 5493b7b3..d47c3606 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -1,80 +1,80 @@ -from .base import BaseTestCase -import pandas as pd -import pickle -import pyterrier as pt -import datetime -class TestPool(BaseTestCase): +# from .base import BaseTestCase +# import pandas as pd +# import pickle +# import pyterrier as pt +# import datetime +# class TestPool(BaseTestCase): - def test_br_parallel(self): - self.skip_windows() - vaswani = pt.datasets.get_dataset("vaswani") - br = pt.BatchRetrieve(vaswani.get_index()) %2 - t = vaswani.get_topics() +# def test_br_parallel(self): +# self.skip_windows() +# vaswani = pt.datasets.get_dataset("vaswani") +# br = pt.BatchRetrieve(vaswani.get_index()) %2 +# t = vaswani.get_topics() - a = datetime.datetime.now() - res = br(t) +# a = datetime.datetime.now() +# res = br(t) - b = datetime.datetime.now() +# b = datetime.datetime.now() - res2 = pt.parallel.PoolParallelTransformer(br, 3)(t) - c = datetime.datetime.now() +# res2 = pt.parallel.PoolParallelTransformer(br, 3)(t) +# c = datetime.datetime.now() - print("Sequential: %d" % ((b-a).total_seconds()) ) - print("Parallel: %d" % ((c-b).total_seconds()) ) +# print("Sequential: %d" % ((b-a).total_seconds()) ) +# print("Parallel: %d" % ((c-b).total_seconds()) ) - #indexes can differ, so we drop from both - res = res.sort_values(["qid", "docno"]).reset_index(drop=True) - res2 = res2.sort_values(["qid", "docno"]).reset_index(drop=True) - self.assertEqual(len(res), len(res2)) - pd.testing.assert_frame_equal(res, res2) +# #indexes can differ, so we drop from both +# res = res.sort_values(["qid", "docno"]).reset_index(drop=True) +# res2 = res2.sort_values(["qid", "docno"]).reset_index(drop=True) +# self.assertEqual(len(res), len(res2)) +# pd.testing.assert_frame_equal(res, res2) - def test_br_multiprocess(self): - return - vaswani = pt.datasets.get_dataset("vaswani") - br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) - t = vaswani.get_topics().head() - res1 = br(t) - # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... - # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ - from multiprocess import Pool +# def test_br_multiprocess(self): +# return +# vaswani = pt.datasets.get_dataset("vaswani") +# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) +# t = vaswani.get_topics().head() +# res1 = br(t) +# # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... +# # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ +# from multiprocess import Pool - def starter(configs): - if not pt.java.started(): - print("pt booted") - pt.java.config.set_configs(configs) - pt.java.init() +# def starter(configs): +# if not pt.java.started(): +# print("pt booted") +# pt.java.config.set_configs(configs) +# pt.java.init() - with Pool(None, starter, pt.java.config.get_configs(), 1) as pool: - for res in pool.map(lambda topics : br(topics), [t, t, t]): - pd.testing.assert_frame_equal(res1, res) +# with Pool(None, starter, pt.java.config.get_configs(), 1) as pool: +# for res in pool.map(lambda topics : br(topics), [t, t, t]): +# pd.testing.assert_frame_equal(res1, res) - def test_br_ray(self): - from pyterrier.parallel import _java_init_with_configs - self.skipTest("disabling ray") - vaswani = pt.datasets.get_dataset("vaswani") - br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) - t = vaswani.get_topics().head() - res1 = br(t).sort_values(["qid", "docno"]) - from ray.util.multiprocessing import Pool - with Pool(4, lambda configs: _java_init_with_configs(configs), pt.java.get_configs()) as pool: - for res in pool.map(lambda topics : br(topics), [t, t, t]): - res = res.sort_values(["qid", "docno"]) - pd.testing.assert_frame_equal(res1, res) +# def test_br_ray(self): +# from pyterrier.parallel import _java_init_with_configs +# self.skipTest("disabling ray") +# vaswani = pt.datasets.get_dataset("vaswani") +# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) +# t = vaswani.get_topics().head() +# res1 = br(t).sort_values(["qid", "docno"]) +# from ray.util.multiprocessing import Pool +# with Pool(4, lambda configs: _java_init_with_configs(configs), pt.java.get_configs()) as pool: +# for res in pool.map(lambda topics : br(topics), [t, t, t]): +# res = res.sort_values(["qid", "docno"]) +# pd.testing.assert_frame_equal(res1, res) - def test_br_joblib(self): - self.skip_windows() - from pyterrier.parallel import _joblib_with_initializer, _java_init_with_configs +# def test_br_joblib(self): +# self.skip_windows() +# from pyterrier.parallel import _joblib_with_initializer, _java_init_with_configs - vaswani = pt.datasets.get_dataset("vaswani") - br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) - t = vaswani.get_topics().head() - res1 = br(t).sort_values(["qid", "docno"]) +# vaswani = pt.datasets.get_dataset("vaswani") +# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) +# t = vaswani.get_topics().head() +# res1 = br(t).sort_values(["qid", "docno"]) - from joblib import Parallel, delayed - with Parallel(n_jobs=2) as parallel: - results = _joblib_with_initializer(parallel, lambda configs: _java_init_with_configs(configs), pt.java.config.get_configs())(delayed(br)(topics) for topics in [t,t,t]) - self.assertTrue(3, len(results)) - for res in results: - res = res.sort_values(["qid", "docno"]) - pd.testing.assert_frame_equal(res1, res) +# from joblib import Parallel, delayed +# with Parallel(n_jobs=2) as parallel: +# results = _joblib_with_initializer(parallel, lambda configs: _java_init_with_configs(configs), pt.java.config.get_configs())(delayed(br)(topics) for topics in [t,t,t]) +# self.assertTrue(3, len(results)) +# for res in results: +# res = res.sort_values(["qid", "docno"]) +# pd.testing.assert_frame_equal(res1, res) From 71009c58bff3e8862d89010b8656fb424d4b14e1 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 16:05:18 +0100 Subject: [PATCH 027/153] isolation --- pyterrier/java/__init__.py | 15 +++++++++++++++ tests/test_pool.py | 35 +++++++++++++++++------------------ 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index c6854850..8c4d2c60 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,6 +1,7 @@ from functools import wraps import os from typing import Callable, Optional, Dict +from warnings import warn import pyterrier as pt from pyterrier.java import bootstrap from pyterrier.java import mavenresolver @@ -197,3 +198,17 @@ def __getattr__(self, key): 'PTUtils': 'org.terrier.python.PTUtils', 'System': 'java.lang.System', }) + + +# Parallel + +def parallel_init(configs) -> None: + if not pt.java.started(): + warn(f'Starting java parallel with configs {configs}') + pt.java.config.set_configs(configs) + pt.java.init() + else: + warn("Avoiding reinit of PyTerrier") + +def parallel_init_args() -> None: + return (config.get_configs(),) diff --git a/tests/test_pool.py b/tests/test_pool.py index d47c3606..90019776 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -1,9 +1,9 @@ -# from .base import BaseTestCase -# import pandas as pd -# import pickle -# import pyterrier as pt -# import datetime -# class TestPool(BaseTestCase): +from .base import BaseTestCase +import pandas as pd +import pickle +import pyterrier as pt +import datetime +class TestPool(BaseTestCase): # def test_br_parallel(self): # self.skip_windows() @@ -48,18 +48,17 @@ # for res in pool.map(lambda topics : br(topics), [t, t, t]): # pd.testing.assert_frame_equal(res1, res) -# def test_br_ray(self): -# from pyterrier.parallel import _java_init_with_configs -# self.skipTest("disabling ray") -# vaswani = pt.datasets.get_dataset("vaswani") -# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) -# t = vaswani.get_topics().head() -# res1 = br(t).sort_values(["qid", "docno"]) -# from ray.util.multiprocessing import Pool -# with Pool(4, lambda configs: _java_init_with_configs(configs), pt.java.get_configs()) as pool: -# for res in pool.map(lambda topics : br(topics), [t, t, t]): -# res = res.sort_values(["qid", "docno"]) -# pd.testing.assert_frame_equal(res1, res) + def test_br_ray(self): + self.skipTest("disabling ray") + vaswani = pt.datasets.get_dataset("vaswani") + br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) + t = vaswani.get_topics().head() + res1 = br(t).sort_values(["qid", "docno"]) + from ray.util.multiprocessing import Pool + with Pool(4, pt.java.parallel_init, pt.java.parallel_init_args()) as pool: + for res in pool.map(lambda topics : br(topics), [t, t, t]): + res = res.sort_values(["qid", "docno"]) + pd.testing.assert_frame_equal(res1, res) # def test_br_joblib(self): # self.skip_windows() From d0cc67155c054950a4aedc470f0c45db07b45afb Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 16:11:17 +0100 Subject: [PATCH 028/153] refactor --- pyterrier/java/__init__.py | 27 ++++++++++++++++----------- pyterrier/java/config.py | 9 --------- pyterrier/parallel.py | 18 ++++-------------- tests/test_pool.py | 10 ++-------- 4 files changed, 22 insertions(+), 42 deletions(-) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 8c4d2c60..a099c8bd 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,6 +1,7 @@ from functools import wraps +from copy import deepcopy import os -from typing import Callable, Optional, Dict +from typing import Callable, Optional, Dict, Tuple, Any from warnings import warn import pyterrier as pt from pyterrier.java import bootstrap @@ -202,13 +203,17 @@ def __getattr__(self, key): # Parallel -def parallel_init(configs) -> None: - if not pt.java.started(): - warn(f'Starting java parallel with configs {configs}') - pt.java.config.set_configs(configs) - pt.java.init() - else: - warn("Avoiding reinit of PyTerrier") - -def parallel_init_args() -> None: - return (config.get_configs(),) +def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: + if started: + if not pt.java.started(): + warn(f'Starting java parallel with configs {configs}') + config._CONFIGS = configs + init() + else: + warn("Avoiding reinit of PyTerrier") + +def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: + return ( + started(), + deepcopy(config._CONFIGS), + ) diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 212aabc3..141f9791 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -38,12 +38,3 @@ def register(name, config: Dict[str, Any]): 'mem': None, 'log_level': 'WARN', }) - - -def get_configs(): - return deepcopy(_CONFIGS) - - -def set_configs(configs: Dict[str, Dict[str, Any]]): - for key, value in configs.items(): - _CONFIGS[key] = value diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index 1f61668e..2df58ce7 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -1,7 +1,6 @@ from . import Transformer import pandas as pd import pyterrier as pt -from warnings import warn SUPPORTED_BACKENDS=["joblib", "ray"] @@ -33,15 +32,6 @@ def _pt_init(args): warn("Avoiding reinit of PyTerrier") -def _java_init_with_configs(configs) -> None: - if not pt.java.started(): - warn(f'Starting java parallel with configs {configs}') - pt.java.config.set_configs(configs) - pt.java.init() - else: - warn("Avoiding reinit of PyTerrier") - - def _check_ray(): try: import ray @@ -63,13 +53,13 @@ def parallel_lambda(function, inputs, jobs, backend='joblib'): def _parallel_lambda_ray(function, inputs, jobs): from ray.util.multiprocessing import Pool - with Pool(jobs, _java_init_with_configs, pt.java.config.get_configs()) as pool: + with Pool(jobs, pt.java.parallel_init, pt.java.parallel_init_args()) as pool: return pool.map(function, inputs) def _parallel_lambda_joblib(function, inputs, jobs): from joblib import Parallel, delayed with Parallel(n_jobs=jobs) as parallel: - parallel_mp = _joblib_with_initializer(parallel, _java_init_with_configs, pt.java.config.get_configs()) + parallel_mp = _joblib_with_initializer(parallel, pt.java.parallel_init, pt.java.parallel_init_args()) return parallel_mp( delayed(function)(input) for input in inputs) @@ -91,12 +81,12 @@ def __init__(self, parent, n_jobs, backend='joblib', **kwargs): def _transform_joblib(self, splits): from joblib import Parallel, delayed with Parallel(n_jobs=self.n_jobs) as parallel: - results = _joblib_with_initializer(parallel, _java_init_with_configs, pt.java.config.get_configs())(delayed(self.parent)(topics) for topics in splits) + results = _joblib_with_initializer(parallel, pt.java.parallel_init, pt.java.parallel_init_args())(delayed(self.parent)(topics) for topics in splits) return pd.concat(results) def _transform_ray(self, splits): from ray.util.multiprocessing import Pool - with Pool(self.n_jobs, _java_init_with_configs, pt.java.config.get_configs()) as pool: + with Pool(self.n_jobs, pt.java.parallel_init, pt.java.parallel_init_args()) as pool: results = pool.map(lambda topics : self.parent(topics), splits) return pd.concat(results) diff --git a/tests/test_pool.py b/tests/test_pool.py index 90019776..cb2a2480 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -38,13 +38,7 @@ class TestPool(BaseTestCase): # # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ # from multiprocess import Pool -# def starter(configs): -# if not pt.java.started(): -# print("pt booted") -# pt.java.config.set_configs(configs) -# pt.java.init() - -# with Pool(None, starter, pt.java.config.get_configs(), 1) as pool: +# with Pool(None, pt.java.parallel_init, pt.java.parallel_init_args(), 1) as pool: # for res in pool.map(lambda topics : br(topics), [t, t, t]): # pd.testing.assert_frame_equal(res1, res) @@ -71,7 +65,7 @@ def test_br_ray(self): # from joblib import Parallel, delayed # with Parallel(n_jobs=2) as parallel: -# results = _joblib_with_initializer(parallel, lambda configs: _java_init_with_configs(configs), pt.java.config.get_configs())(delayed(br)(topics) for topics in [t,t,t]) +# results = _joblib_with_initializer(parallel, pt.java.parallel_init, pt.java.parallel_init_args())(delayed(br)(topics) for topics in [t,t,t]) # self.assertTrue(3, len(results)) # for res in results: # res = res.sort_values(["qid", "docno"]) From e8301fe2817dd279817b5238010e8b0bc9d6d1a5 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 16:12:37 +0100 Subject: [PATCH 029/153] ray test was disabled :( --- tests/test_pool.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/test_pool.py b/tests/test_pool.py index cb2a2480..8868b0de 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -28,32 +28,32 @@ class TestPool(BaseTestCase): # self.assertEqual(len(res), len(res2)) # pd.testing.assert_frame_equal(res, res2) -# def test_br_multiprocess(self): -# return -# vaswani = pt.datasets.get_dataset("vaswani") -# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) -# t = vaswani.get_topics().head() -# res1 = br(t) -# # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... -# # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ -# from multiprocess import Pool - -# with Pool(None, pt.java.parallel_init, pt.java.parallel_init_args(), 1) as pool: -# for res in pool.map(lambda topics : br(topics), [t, t, t]): -# pd.testing.assert_frame_equal(res1, res) - - def test_br_ray(self): - self.skipTest("disabling ray") + def test_br_multiprocess(self): + return vaswani = pt.datasets.get_dataset("vaswani") br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) t = vaswani.get_topics().head() - res1 = br(t).sort_values(["qid", "docno"]) - from ray.util.multiprocessing import Pool - with Pool(4, pt.java.parallel_init, pt.java.parallel_init_args()) as pool: + res1 = br(t) + # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... + # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ + from multiprocess import Pool + + with Pool(None, pt.java.parallel_init, pt.java.parallel_init_args(), 1) as pool: for res in pool.map(lambda topics : br(topics), [t, t, t]): - res = res.sort_values(["qid", "docno"]) pd.testing.assert_frame_equal(res1, res) +# def test_br_ray(self): +# self.skipTest("disabling ray") +# vaswani = pt.datasets.get_dataset("vaswani") +# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) +# t = vaswani.get_topics().head() +# res1 = br(t).sort_values(["qid", "docno"]) +# from ray.util.multiprocessing import Pool +# with Pool(4, pt.java.parallel_init, pt.java.parallel_init_args()) as pool: +# for res in pool.map(lambda topics : br(topics), [t, t, t]): +# res = res.sort_values(["qid", "docno"]) +# pd.testing.assert_frame_equal(res1, res) + # def test_br_joblib(self): # self.skip_windows() # from pyterrier.parallel import _joblib_with_initializer, _java_init_with_configs From 0f4d290476c6fb0ae6ede228b3e984ec14f37f4a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 16:15:16 +0100 Subject: [PATCH 030/153] uggh so was multiprocess :( --- tests/test_pool.py | 54 +++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/tests/test_pool.py b/tests/test_pool.py index 8868b0de..6139b28e 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -28,19 +28,19 @@ class TestPool(BaseTestCase): # self.assertEqual(len(res), len(res2)) # pd.testing.assert_frame_equal(res, res2) - def test_br_multiprocess(self): - return - vaswani = pt.datasets.get_dataset("vaswani") - br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) - t = vaswani.get_topics().head() - res1 = br(t) - # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... - # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ - from multiprocess import Pool - - with Pool(None, pt.java.parallel_init, pt.java.parallel_init_args(), 1) as pool: - for res in pool.map(lambda topics : br(topics), [t, t, t]): - pd.testing.assert_frame_equal(res1, res) +# def test_br_multiprocess(self): +# return +# vaswani = pt.datasets.get_dataset("vaswani") +# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) +# t = vaswani.get_topics().head() +# res1 = br(t) +# # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... +# # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ +# from multiprocess import Pool +# +# with Pool(None, pt.java.parallel_init, pt.java.parallel_init_args(), 1) as pool: +# for res in pool.map(lambda topics : br(topics), [t, t, t]): +# pd.testing.assert_frame_equal(res1, res) # def test_br_ray(self): # self.skipTest("disabling ray") @@ -54,20 +54,20 @@ def test_br_multiprocess(self): # res = res.sort_values(["qid", "docno"]) # pd.testing.assert_frame_equal(res1, res) -# def test_br_joblib(self): -# self.skip_windows() -# from pyterrier.parallel import _joblib_with_initializer, _java_init_with_configs + def test_br_joblib(self): + self.skip_windows() + from pyterrier.parallel import _joblib_with_initializer -# vaswani = pt.datasets.get_dataset("vaswani") -# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) -# t = vaswani.get_topics().head() -# res1 = br(t).sort_values(["qid", "docno"]) + vaswani = pt.datasets.get_dataset("vaswani") + br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) + t = vaswani.get_topics().head() + res1 = br(t).sort_values(["qid", "docno"]) -# from joblib import Parallel, delayed -# with Parallel(n_jobs=2) as parallel: -# results = _joblib_with_initializer(parallel, pt.java.parallel_init, pt.java.parallel_init_args())(delayed(br)(topics) for topics in [t,t,t]) -# self.assertTrue(3, len(results)) -# for res in results: -# res = res.sort_values(["qid", "docno"]) -# pd.testing.assert_frame_equal(res1, res) + from joblib import Parallel, delayed + with Parallel(n_jobs=2) as parallel: + results = _joblib_with_initializer(parallel, pt.java.parallel_init, pt.java.parallel_init_args())(delayed(br)(topics) for topics in [t,t,t]) + self.assertTrue(3, len(results)) + for res in results: + res = res.sort_values(["qid", "docno"]) + pd.testing.assert_frame_equal(res1, res) From ed2ece009853a410ba65b191990f1278ce015dfe Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 16:20:14 +0100 Subject: [PATCH 031/153] wip --- pyterrier/parallel.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index 2df58ce7..9f43967d 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -15,11 +15,12 @@ def _joblib_with_initializer(p, _f_init, args=None): if args is None: f_init = _f_init else: - f_init = lambda: _f_init(args) + def f_init(): + _f_init(*args) def new_init(): origin_init() f_init() - p.with_initializer=True + p.with_initializer = True p._backend._workers._initializer = new_init if callable(origin_init) else f_init return p From 42205b5f21a289078e5974ebb1f466e4cada423a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 16:28:03 +0100 Subject: [PATCH 032/153] wip --- pyterrier/parallel.py | 5 +-- tests/test_pool.py | 83 +++++++++++++++++++++---------------------- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index 9f43967d..5a154782 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -92,14 +92,15 @@ def _transform_ray(self, splits): return pd.concat(results) def transform(self, topics_and_res): - from .model import split_df - splits = split_df(topics_and_res, self.n_jobs) + splits = pt.model.split_df(topics_and_res, self.n_jobs) rtr = None if self.backend == 'joblib': rtr = self._transform_joblib(splits) if self.backend == 'ray': rtr = self._transform_ray(splits) + else: + raise RuntimeError(f'Unsupported backend: {self.backend}') return rtr def __repr__(self): diff --git a/tests/test_pool.py b/tests/test_pool.py index 6139b28e..3c955499 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -5,54 +5,54 @@ import datetime class TestPool(BaseTestCase): -# def test_br_parallel(self): -# self.skip_windows() -# vaswani = pt.datasets.get_dataset("vaswani") -# br = pt.BatchRetrieve(vaswani.get_index()) %2 -# t = vaswani.get_topics() + def test_br_parallel(self): + self.skip_windows() + vaswani = pt.datasets.get_dataset("vaswani") + br = pt.BatchRetrieve(vaswani.get_index()) %2 + t = vaswani.get_topics() -# a = datetime.datetime.now() -# res = br(t) + a = datetime.datetime.now() + res = br(t) -# b = datetime.datetime.now() + b = datetime.datetime.now() -# res2 = pt.parallel.PoolParallelTransformer(br, 3)(t) -# c = datetime.datetime.now() + res2 = pt.parallel.PoolParallelTransformer(br, 3)(t) + c = datetime.datetime.now() -# print("Sequential: %d" % ((b-a).total_seconds()) ) -# print("Parallel: %d" % ((c-b).total_seconds()) ) + print("Sequential: %d" % ((b-a).total_seconds()) ) + print("Parallel: %d" % ((c-b).total_seconds()) ) -# #indexes can differ, so we drop from both -# res = res.sort_values(["qid", "docno"]).reset_index(drop=True) -# res2 = res2.sort_values(["qid", "docno"]).reset_index(drop=True) -# self.assertEqual(len(res), len(res2)) -# pd.testing.assert_frame_equal(res, res2) + #indexes can differ, so we drop from both + res = res.sort_values(["qid", "docno"]).reset_index(drop=True) + res2 = res2.sort_values(["qid", "docno"]).reset_index(drop=True) + self.assertEqual(len(res), len(res2)) + pd.testing.assert_frame_equal(res, res2) -# def test_br_multiprocess(self): -# return -# vaswani = pt.datasets.get_dataset("vaswani") -# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) -# t = vaswani.get_topics().head() -# res1 = br(t) -# # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... -# # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ -# from multiprocess import Pool -# -# with Pool(None, pt.java.parallel_init, pt.java.parallel_init_args(), 1) as pool: -# for res in pool.map(lambda topics : br(topics), [t, t, t]): -# pd.testing.assert_frame_equal(res1, res) + def test_br_multiprocess(self): + return + vaswani = pt.datasets.get_dataset("vaswani") + br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) + t = vaswani.get_topics().head() + res1 = br(t) + # Fortunately, there is a fork of the multiprocessing module called multiprocess that works just fine .... + # multiprocess uses dill instead of pickle to serialize Python objects. https://jstaf.github.io/hpc-python/parallel/ + from multiprocess import Pool + + with Pool(None, pt.java.parallel_init, pt.java.parallel_init_args(), 1) as pool: + for res in pool.map(lambda topics : br(topics), [t, t, t]): + pd.testing.assert_frame_equal(res1, res) -# def test_br_ray(self): -# self.skipTest("disabling ray") -# vaswani = pt.datasets.get_dataset("vaswani") -# br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) -# t = vaswani.get_topics().head() -# res1 = br(t).sort_values(["qid", "docno"]) -# from ray.util.multiprocessing import Pool -# with Pool(4, pt.java.parallel_init, pt.java.parallel_init_args()) as pool: -# for res in pool.map(lambda topics : br(topics), [t, t, t]): -# res = res.sort_values(["qid", "docno"]) -# pd.testing.assert_frame_equal(res1, res) + def test_br_ray(self): + self.skipTest("disabling ray") + vaswani = pt.datasets.get_dataset("vaswani") + br = pt.BatchRetrieve(vaswani.get_index(), wmodel="BM25", controls={"c" : 0.75}, num_results=15) + t = vaswani.get_topics().head() + res1 = br(t).sort_values(["qid", "docno"]) + from ray.util.multiprocessing import Pool + with Pool(4, pt.java.parallel_init, pt.java.parallel_init_args()) as pool: + for res in pool.map(lambda topics : br(topics), [t, t, t]): + res = res.sort_values(["qid", "docno"]) + pd.testing.assert_frame_equal(res1, res) def test_br_joblib(self): self.skip_windows() @@ -70,4 +70,3 @@ def test_br_joblib(self): for res in results: res = res.sort_values(["qid", "docno"]) pd.testing.assert_frame_equal(res1, res) - From 78ab681fc078cf187cd2f03299b6ddc6b39844e8 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 16:32:35 +0100 Subject: [PATCH 033/153] whoops --- pyterrier/parallel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index 5a154782..0e5ae5b2 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -97,7 +97,7 @@ def transform(self, topics_and_res): rtr = None if self.backend == 'joblib': rtr = self._transform_joblib(splits) - if self.backend == 'ray': + elif self.backend == 'ray': rtr = self._transform_ray(splits) else: raise RuntimeError(f'Unsupported backend: {self.backend}') From 9385ffa13a7f9716cb127feea5a0cff19dc1a1bc Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 17:36:58 +0100 Subject: [PATCH 034/153] given it works for me, seems to be platform-dependent? Worth trying --- .github/workflows/push.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index c0b93066..57042e19 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -13,6 +13,7 @@ jobs: build: strategy: + fail-fast: false matrix: python-version: ['3.8', '3.11'] java: [11, 13] From d968def631e83e2d402a6c86fab605c280daf7b3 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 17:51:19 +0100 Subject: [PATCH 035/153] okay, so only breaking on macos-latest. Let's disable that for now so we can make progress elsewhere --- .github/workflows/push.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 57042e19..86f0a37f 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -13,17 +13,16 @@ jobs: build: strategy: - fail-fast: false matrix: python-version: ['3.8', '3.11'] java: [11, 13] os: ['ubuntu-latest', 'macos-13', 'windows-latest'] terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', - include: - - os: 'macos-latest' - python-version: '3.9' - java: 11 - terrier: 'snapshot' + # include: + # - os: 'macos-latest' + # python-version: '3.9' + # java: 11 + # terrier: 'snapshot' runs-on: ${{ matrix.os }} steps: From 06af94afc618f352e2de2ed95fd682f8e6682c9a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 18:19:45 +0100 Subject: [PATCH 036/153] splitting out some general java vs terrier stuff --- pyterrier/__init__.py | 6 +- pyterrier/java/__init__.py | 35 +-- pyterrier/java/bootstrap.py | 396 ----------------------------- pyterrier/java/utils.py | 92 +++++++ pyterrier/parallel.py | 4 +- pyterrier/terrier/__init__.py | 4 + pyterrier/terrier/index_factory.py | 120 +++++++++ pyterrier/terrier/java.py | 193 ++++++++++++++ pyterrier/utils.py | 5 + tests/base.py | 7 +- tests/test_dunder.py | 3 +- tests/test_iterdictindex.py | 2 +- tests/test_iterdictindex_pretok.py | 2 +- 13 files changed, 440 insertions(+), 429 deletions(-) delete mode 100644 pyterrier/java/bootstrap.py create mode 100644 pyterrier/java/utils.py create mode 100644 pyterrier/terrier/index_factory.py diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index c81e136f..a20537db 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -10,10 +10,9 @@ from .transformer import Transformer, Estimator, Indexer from pyterrier import java -from pyterrier.java.bootstrap import setup_jnius, is_windows from pyterrier import terrier -from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve +from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory from tqdm.auto import tqdm @@ -36,7 +35,6 @@ from .datasets import get_dataset, find_datasets, list_datasets -from pyterrier.java.bootstrap import IndexFactory from .index import Indexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate @@ -136,8 +134,6 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log # this ensures that the python stdout/stderr and the Java are matched redirect_stdouterr() - setup_jnius() - def set_tqdm(type): """ diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index a099c8bd..20f985b7 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -6,6 +6,7 @@ import pyterrier as pt from pyterrier.java import bootstrap from pyterrier.java import mavenresolver +from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array _started = False @@ -18,6 +19,21 @@ def _legacy_post_init(jnius): pt.autoclass = jnius.autoclass pt.cast = jnius.cast + jnius.protocol_map['java.util.Map$Entry'] = { + '__getitem__' : _mapentry_getitem, + '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), + '__len__' : lambda self: 2 + } + + +# Map$Entry can be decoded like a tuple +def _mapentry_getitem(self, i): + if i == 0: + return self.getKey() + if i == 1: + return self.getValue() + raise IndexError() + @pt.utils.once() def init() -> None: @@ -27,7 +43,7 @@ def init() -> None: # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') # return - if pt.is_windows(): + if pt.utils.is_windows(): if "JAVA_HOME" in os.environ: java_home = os.environ["JAVA_HOME"] fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' @@ -175,22 +191,9 @@ def set_log_level(level): J.PTUtils.setLogLevel(level, None) -class JavaClasses: - def __init__(self, mapping: Dict[str, str]): - self._mapping = mapping - self._cache = {} - - def __dir__(self): - return list(self._mapping.keys()) - - @required(raise_on_not_started=True) - def __getattr__(self, key): - if key not in self._mapping: - return AttributeError(f'{self} has no attribute {key!r}') - if key not in self._cache: - self._cache[key] = autoclass(self._mapping[key]) - return self._cache[key] +# Classes +from pyterrier.java.utils import JavaClasses J = JavaClasses({ 'ArrayList': 'java.util.ArrayList', diff --git a/pyterrier/java/bootstrap.py b/pyterrier/java/bootstrap.py deleted file mode 100644 index 661ef899..00000000 --- a/pyterrier/java/bootstrap.py +++ /dev/null @@ -1,396 +0,0 @@ -from typing import Union, List -import pyterrier as pt - -stdout_ref = None -stderr_ref = None -SAVED_FNS=[] - -class IndexFactory: - """ - The ``of()`` method of this factory class allows to load a Terrier `Index `_. - - NB: This class "shades" the native Terrier `IndexFactory `_ class - it offers essential the same API, - except that the ``of()`` method contains a memory kwarg, that can be used to load additional index data structures into memory. - - Terrier data structures that can be loaded into memory: - - 'inverted' - the inverted index, contains posting lists for each term. In the default configuration, this is read in from disk in chunks. - - 'lexicon' - the dictionary. By default, a binary search of the on-disk structure is used, so loading into memory can enhance speed. - - 'meta' - metadata about documents. Used as the final stage of retrieval, one seek for each retrieved document. - - 'direct' - contains posting lists for each document. No speed advantage for loading into memory unless pseudo-relevance feedback is being used. - - 'document' - contains document lengths, which are anyway loaded into memory. No speed advantage for loading into memory unless pseudo-relevance feedback is being used. - """ - - @staticmethod - def _load_into_memory(index, structures=['lexicon', 'direct', 'inverted', 'meta'], load=False): - - REWRITES = { - 'meta' : { - # both metaindex implementations have the same property - 'org.terrier.structures.ZstdCompressedMetaIndex' : { - 'index.meta.index-source' : 'fileinmem', - 'index.meta.data-source' : 'fileinmem'}, - - 'org.terrier.structures.CompressingMetaIndex' : { - 'index.meta.index-source' : 'fileinmem', - 'index.meta.data-source' : 'fileinmem'} - }, - 'lexicon' : { - 'org.terrier.structures.FSOMapFileLexicon' : { - 'index.lexicon.data-source' : 'fileinmem' - } - }, - 'direct' : { - 'org.terrier.structures.bit.BitPostingIndex' : { - 'index.direct.data-source' : 'fileinmem'} - }, - 'inverted' : { - 'org.terrier.structures.bit.BitPostingIndex' : { - 'index.inverted.data-source' : 'fileinmem'} - }, - } - if "direct" in structures: - REWRITES['document'] = { - # we have to be sensitive to the presence of fields or not - # NB: loading these structures into memory only benefit direct index access - 'org.terrier.structures.FSADocumentIndex' : { - 'index.document.class' : 'FSADocumentIndexInMem' - }, - 'org.terrier.structures.FSAFieldDocumentIndex' : { - 'index.document.class' : 'FSADocumentIndexInMemFields' - } - } - - from . import cast - pindex = cast("org.terrier.structures.IndexOnDisk", index) - load_profile = pindex.getIndexLoadingProfileAsRetrieval() - dirty_structures = set() - for s in structures: - if not pindex.hasIndexStructure(s): - continue - clz = pindex.getIndexProperty(f"index.{s}.class", "notfound") - if not clz in REWRITES[s]: - raise ValueError(f"Cannot load structure {s} into memory, underlying class {clz} is not supported") - - # we only reload an index structure if a property has changed - dirty = False - for k, v in REWRITES[s][clz].items(): - if pindex.getIndexProperty(k, "notset") != v: - pindex.setIndexProperty(k, v) - dirty_structures.add(s) - - # if the document index is reloaded, the inverted index should be reloaded too - # NB: the direct index needs reloaded too, but this option is only available IF - # the direct index is setup - if s == "document": - dirty_structures.add("inverted") - - # remove the old data structures from memory - for s in dirty_structures: - if pindex.structureCache.containsKey(s): - pindex.structureCache.remove(s) - - # force the index structures to be loaded now - if load: - for s in dirty_structures: - pindex.getIndexStructure(s) - - # dont allow the index properties to be rewritten - pindex.dirtyProperties = False - return index - - @staticmethod - def of(indexlike, memory : Union[bool, List[str]] = False): - """ - Loads an index. Returns a Terrier `Index `_ object. - - Args: - indexlike(str or IndexRef): Where is the index located - memory(bool or List[str]): If the index should be loaded into memory. Use `True` for all structures, or a list of structure names. - """ - from . import autoclass - IOD = autoclass("org.terrier.structures.IndexOnDisk") - load_profile = IOD.getIndexLoadingProfileAsRetrieval() - - if memory or (isinstance(memory, list) and len(memory) > 0): #MEMORY CAN BE A LIST? - IOD.setIndexLoadingProfileAsRetrieval(False) - index = autoclass("org.terrier.structures.IndexFactory").of(indexlike) - - # noop if memory is False - IOD.setIndexLoadingProfileAsRetrieval(load_profile) - if not memory: - return index - if isinstance(memory, list): - return IndexFactory._load_into_memory(index, structures=memory) - return IndexFactory._load_into_memory(index) - - -def new_indexref(s): - return pt.IndexRef.of(s) - -def new_wmodel(bytes): - from . import autoclass - serUtils = autoclass("org.terrier.python.Serialization") - return serUtils.deserialize(bytes, autoclass("org.terrier.utility.ApplicationSetup").getClass("org.terrier.matching.models.WeightingModel") ) - -def new_callable_wmodel(byterep): - import dill as pickle - from dill import extend - #see https://github.com/SeldonIO/alibi/issues/447#issuecomment-881552005 - extend(use_dill=False) - fn = pickle.loads(byterep) - #we need to prevent these functions from being GCd. - global SAVED_FNS - SAVED_FNS.append(fn) - callback, wmodel = pt.terrier.retriever._function2wmodel(fn) - SAVED_FNS.append(callback) - #print("Stored lambda fn %s and callback in SAVED_FNS, now %d stored" % (str(fn), len(SAVED_FNS))) - return wmodel - -def javabytebuffer2array(buffer): - assert buffer is not None - def unsign(signed): - return signed + 256 if signed < 0 else signed - return bytearray([ unsign(buffer.get(offset)) for offset in range(buffer.capacity()) ]) - -def setup_jnius(): - from jnius import protocol_map # , autoclass - - def _iterableposting_next(self): - ''' dunder method for iterating IterablePosting ''' - nextid = self.next() - # 2147483647 is IP.EOL. fix this once static fields can be read from instances. - if 2147483647 == nextid: - raise StopIteration() - return self - - # Map$Entry can be decoded like a tuple - def MEgetitem(self, i): - if i == 0: - return self.getKey() - if i == 1: - return self.getValue() - raise IndexError() - - protocol_map['java.util.Map$Entry'] = { - '__getitem__' : MEgetitem, - '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), - '__len__' : lambda self: 2 - } - - protocol_map["org.terrier.structures.postings.IterablePosting"] = { - '__iter__': lambda self: self, - '__next__': lambda self: _iterableposting_next(self), - '__str__': lambda self: self.toString() - } - - protocol_map["org.terrier.structures.CollectionStatistics"] = { - '__str__': lambda self: self.toString() - } - - protocol_map["org.terrier.structures.LexiconEntry"] = { - '__str__': lambda self: self.toString() - } - - def _lexicon_getitem(self, term): - ''' dunder method for accessing Lexicon ''' - rtr = self.getLexiconEntry(term) - if rtr is None: - raise KeyError() - return rtr - - protocol_map["org.terrier.structures.Lexicon"] = { - '__getitem__': _lexicon_getitem, - '__contains__': lambda self, term: self.getLexiconEntry(term) is not None, - '__len__': lambda self: self.numberOfEntries() - } - - def index_ref_reduce(self): - return ( - new_indexref, - (str(self.toString()),), - None - ) - - protocol_map["org.terrier.querying.IndexRef"] = { - '__reduce__' : index_ref_reduce, - '__getstate__' : lambda self : None, - } - - - # handles the pickling of WeightingModel classes, which are themselves usually Serializable in Java - def wmodel_reduce(self): - from . import autoclass - serUtils = autoclass("org.terrier.python.Serialization") - serialized = bytes(serUtils.serialize(self)) - return ( - new_wmodel, - (serialized, ), - None - ) - - protocol_map["org.terrier.matching.models.WeightingModel"] = { - '__reduce__' : wmodel_reduce, - '__getstate__' : lambda self : None, - } - - def callable_wmodel_reduce(self): - from . import autoclass - # get bytebuffer representation of lambda - # convert bytebyffer to python bytearray - serlzd = self.scoringClass.serializeFn() - bytesrep = javabytebuffer2array(serlzd) - del(serlzd) - return ( - new_callable_wmodel, - (bytesrep, ), - None - ) - - protocol_map["org.terrier.python.CallableWeightingModel"] = { - '__reduce__' : callable_wmodel_reduce, - '__getstate__' : lambda self : None, - } - - def _index_add(self, other): - from . import autoclass - fields_1 = self.getCollectionStatistics().getNumberOfFields() - fields_2 = self.getCollectionStatistics().getNumberOfFields() - if fields_1 != fields_2: - raise ValueError("Cannot document-wise merge indices with different numbers of fields (%d vs %d)" % (fields_1, fields_2)) - blocks_1 = self.getCollectionStatistics().hasPositions() - blocks_2 = other.getCollectionStatistics().hasPositions() - if blocks_1 != blocks_2: - raise ValueError("Cannot document-wise merge indices with and without positions (%r vs %r)" % (blocks_1, blocks_2)) - multiindex_cls = autoclass("org.terrier.realtime.multi.MultiIndex") - return multiindex_cls([self, other], blocks_1, fields_1 > 0) - - def _index_corpusiter(self, return_toks=True): - def _index_corpusiter_meta(self): - meta_inputstream = self.getIndexStructureInputStream("meta") - keys = self.getMetaIndex().getKeys() - keys_offset = { k: offset for offset, k in enumerate(keys) } - while meta_inputstream.hasNext(): - item = meta_inputstream.next() - yield {k : item[keys_offset[k]] for k in keys_offset} - - def _index_corpusiter_direct_pretok(self): - import sys - MIN_PYTHON = (3, 8) - if sys.version_info < MIN_PYTHON: - raise NotImplementedError("Sorry, Python 3.8+ is required for this functionality") - - meta_inputstream = self.getIndexStructureInputStream("meta") - keys = self.getMetaIndex().getKeys() - keys_offset = { k: offset for offset, k in enumerate(keys) } - keys_offset = {'docno' : keys_offset['docno'] } - direct_inputstream = self.getIndexStructureInputStream("direct") - lex = self.getLexicon() - - ip = None - while (ip := direct_inputstream.getNextPostings()) is not None: # this is the next() method - - # yield empty toks dicts for empty documents - for skipped in range(0, direct_inputstream.getEntriesSkipped()): - meta = meta_inputstream.next() - rtr = {k : meta[keys_offset[k]] for k in keys_offset} - rtr['toks'] = {} - yield rtr - - toks = {} - while ip.next() != ip.EOL: - t, _ = lex[ip.getId()] - toks[t] = ip.getFrequency() - meta = meta_inputstream.next() - rtr = {'toks' : toks} - rtr.update({k : meta[keys_offset[k]] for k in keys_offset}) - yield rtr - - # yield for trailing empty documents - for skipped in range(0, direct_inputstream.getEntriesSkipped()): - meta = meta_inputstream.next() - rtr = {k : meta[keys_offset[k]] for k in keys_offset} - rtr['toks'] = {} - yield rtr - - if return_toks: - if not self.hasIndexStructureInputStream("direct"): - raise ValueError("No direct index input stream available, cannot use return_toks=True") - return _index_corpusiter_direct_pretok(self) - return _index_corpusiter_meta(self) - - protocol_map["org.terrier.structures.Index"] = { - # this means that len(index) returns the number of documents in the index - '__len__': lambda self: self.getCollectionStatistics().getNumberOfDocuments(), - - # document-wise composition of indices: adding more documents to an index, by merging two indices with - # different numbers of documents. This implemented by the overloading the `+` Python operator - '__add__': _index_add, - - # get_corpus_iter returns a yield generator that return {"docno": "d1", "toks" : {'a' : 1}} - 'get_corpus_iter' : _index_corpusiter - } - - -def is_windows() -> bool: - import platform - return platform.system() == 'Windows' - -def is_binary(f): - import io - return isinstance(f, (io.RawIOBase, io.BufferedIOBase)) - -def redirect_stdouterr(): - from jnius import autoclass, PythonJavaClass, java_method - - # TODO: encodings may be a probem here - class MyOut(PythonJavaClass): - __javainterfaces__ = ['org.terrier.python.OutputStreamable'] - - def __init__(self, pystream): - super(MyOut, self).__init__() - self.pystream = pystream - self.binary = is_binary(pystream) - - @java_method('()V') - def close(self): - self.pystream.close() - - @java_method('()V') - def flush(self): - self.pystream.flush() - - @java_method('([B)V', name='write') - def writeByteArray(self, byteArray): - # TODO probably this could be faster. - for c in byteArray: - self.writeChar(c) - - @java_method('([BII)V', name='write') - def writeByteArrayIntInt(self, byteArray, offset, length): - # TODO probably this could be faster. - for i in range(offset, offset + length): - self.writeChar(byteArray[i]) - - @java_method('(I)V', name='write') - def writeChar(self, chara): - if self.binary: - return self.pystream.write(bytes([chara])) - return self.pystream.write(chr(chara)) - - # we need to hold lifetime references to stdout_ref/stderr_ref, to ensure - # they arent GCd. This prevents a crash when Java callsback to GCd py obj - - global stdout_ref - global stderr_ref - import sys - stdout_ref = MyOut(sys.stdout) - stderr_ref = MyOut(sys.stderr) - jls = autoclass("java.lang.System") - jls.setOut( - autoclass('java.io.PrintStream')( - autoclass('org.terrier.python.ProxyableOutputStream')(stdout_ref), - signature="(Ljava/io/OutputStream;)V")) - jls.setErr( - autoclass('java.io.PrintStream')( - autoclass('org.terrier.python.ProxyableOutputStream')(stderr_ref), - signature="(Ljava/io/OutputStream;)V")) diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py new file mode 100644 index 00000000..548ed039 --- /dev/null +++ b/pyterrier/java/utils.py @@ -0,0 +1,92 @@ +import pyterrier as pt +from typing import Dict + + +stdout_ref = None +stderr_ref = None + + +def _is_binary(f): + import io + return isinstance(f, (io.RawIOBase, io.BufferedIOBase)) + + +def redirect_stdouterr(): + from jnius import autoclass, PythonJavaClass, java_method + + # TODO: encodings may be a probem here + class MyOut(PythonJavaClass): + __javainterfaces__ = ['org.terrier.python.OutputStreamable'] + + def __init__(self, pystream): + super(MyOut, self).__init__() + self.pystream = pystream + self.binary = _is_binary(pystream) + + @java_method('()V') + def close(self): + self.pystream.close() + + @java_method('()V') + def flush(self): + self.pystream.flush() + + @java_method('([B)V', name='write') + def writeByteArray(self, byteArray): + # TODO probably this could be faster. + for c in byteArray: + self.writeChar(c) + + @java_method('([BII)V', name='write') + def writeByteArrayIntInt(self, byteArray, offset, length): + # TODO probably this could be faster. + for i in range(offset, offset + length): + self.writeChar(byteArray[i]) + + @java_method('(I)V', name='write') + def writeChar(self, chara): + if self.binary: + return self.pystream.write(bytes([chara])) + return self.pystream.write(chr(chara)) + + # we need to hold lifetime references to stdout_ref/stderr_ref, to ensure + # they arent GCd. This prevents a crash when Java callsback to GCd py obj + + global stdout_ref + global stderr_ref + import sys + stdout_ref = MyOut(sys.stdout) + stderr_ref = MyOut(sys.stderr) + jls = autoclass("java.lang.System") + jls.setOut( + autoclass('java.io.PrintStream')( + autoclass('org.terrier.python.ProxyableOutputStream')(stdout_ref), + signature="(Ljava/io/OutputStream;)V")) + jls.setErr( + autoclass('java.io.PrintStream')( + autoclass('org.terrier.python.ProxyableOutputStream')(stderr_ref), + signature="(Ljava/io/OutputStream;)V")) + + +def bytebuffer_to_array(buffer): + assert buffer is not None + def unsign(signed): + return signed + 256 if signed < 0 else signed + return bytearray([ unsign(buffer.get(offset)) for offset in range(buffer.capacity()) ]) + + +class JavaClasses: + def __init__(self, mapping: Dict[str, str]): + self._mapping = mapping + self._cache = {} + + def __dir__(self): + return list(self._mapping.keys()) + + @pt.java.required(raise_on_not_started=True) + def __getattr__(self, key): + if key not in self._mapping: + return AttributeError(f'{self} has no attribute {key!r}') + if key not in self._cache: + self._cache[key] = pt.java.autoclass(self._mapping[key]) + return self._cache[key] diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index 0e5ae5b2..d1dbadee 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -43,7 +43,7 @@ def _check_ray(): def parallel_lambda(function, inputs, jobs, backend='joblib'): - if pt.java.bootstrap.is_windows(): + if pt.utils.is_windows(): raise ValueError("No support for parallelisation on Windows") if backend not in SUPPORTED_BACKENDS: raise ValueError("Backend of %s unknown, only %s supported." % str(SUPPORTED_BACKENDS)) @@ -72,7 +72,7 @@ def __init__(self, parent, n_jobs, backend='joblib', **kwargs): self.parent = parent self.n_jobs = n_jobs self.backend = backend - if pt.java.bootstrap.is_windows(): + if pt.utils.is_windows(): raise ValueError("No support for parallelisation on Windows") if self.backend not in SUPPORTED_BACKENDS: raise ValueError("Backend of %s unknown, only %s supported." % str(SUPPORTED_BACKENDS)) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index d8ed91eb..4bd7c517 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -2,6 +2,7 @@ from pyterrier.terrier import java from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve +from pyterrier.terrier.index_factory import IndexFactory TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve @@ -12,4 +13,7 @@ # retrieval 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', + + # misc + 'IndexFactory', ] diff --git a/pyterrier/terrier/index_factory.py b/pyterrier/terrier/index_factory.py new file mode 100644 index 00000000..2c33e982 --- /dev/null +++ b/pyterrier/terrier/index_factory.py @@ -0,0 +1,120 @@ +from typing import Union, List + + +class IndexFactory: + """ + The ``of()`` method of this factory class allows to load a Terrier `Index `_. + + NB: This class "shades" the native Terrier `IndexFactory `_ class - it offers essential the same API, + except that the ``of()`` method contains a memory kwarg, that can be used to load additional index data structures into memory. + + Terrier data structures that can be loaded into memory: + - 'inverted' - the inverted index, contains posting lists for each term. In the default configuration, this is read in from disk in chunks. + - 'lexicon' - the dictionary. By default, a binary search of the on-disk structure is used, so loading into memory can enhance speed. + - 'meta' - metadata about documents. Used as the final stage of retrieval, one seek for each retrieved document. + - 'direct' - contains posting lists for each document. No speed advantage for loading into memory unless pseudo-relevance feedback is being used. + - 'document' - contains document lengths, which are anyway loaded into memory. No speed advantage for loading into memory unless pseudo-relevance feedback is being used. + """ + + @staticmethod + def _load_into_memory(index, structures=['lexicon', 'direct', 'inverted', 'meta'], load=False): + + REWRITES = { + 'meta' : { + # both metaindex implementations have the same property + 'org.terrier.structures.ZstdCompressedMetaIndex' : { + 'index.meta.index-source' : 'fileinmem', + 'index.meta.data-source' : 'fileinmem'}, + + 'org.terrier.structures.CompressingMetaIndex' : { + 'index.meta.index-source' : 'fileinmem', + 'index.meta.data-source' : 'fileinmem'} + }, + 'lexicon' : { + 'org.terrier.structures.FSOMapFileLexicon' : { + 'index.lexicon.data-source' : 'fileinmem' + } + }, + 'direct' : { + 'org.terrier.structures.bit.BitPostingIndex' : { + 'index.direct.data-source' : 'fileinmem'} + }, + 'inverted' : { + 'org.terrier.structures.bit.BitPostingIndex' : { + 'index.inverted.data-source' : 'fileinmem'} + }, + } + if "direct" in structures: + REWRITES['document'] = { + # we have to be sensitive to the presence of fields or not + # NB: loading these structures into memory only benefit direct index access + 'org.terrier.structures.FSADocumentIndex' : { + 'index.document.class' : 'FSADocumentIndexInMem' + }, + 'org.terrier.structures.FSAFieldDocumentIndex' : { + 'index.document.class' : 'FSADocumentIndexInMemFields' + } + } + + from . import cast + pindex = cast("org.terrier.structures.IndexOnDisk", index) + load_profile = pindex.getIndexLoadingProfileAsRetrieval() + dirty_structures = set() + for s in structures: + if not pindex.hasIndexStructure(s): + continue + clz = pindex.getIndexProperty(f"index.{s}.class", "notfound") + if not clz in REWRITES[s]: + raise ValueError(f"Cannot load structure {s} into memory, underlying class {clz} is not supported") + + # we only reload an index structure if a property has changed + dirty = False + for k, v in REWRITES[s][clz].items(): + if pindex.getIndexProperty(k, "notset") != v: + pindex.setIndexProperty(k, v) + dirty_structures.add(s) + + # if the document index is reloaded, the inverted index should be reloaded too + # NB: the direct index needs reloaded too, but this option is only available IF + # the direct index is setup + if s == "document": + dirty_structures.add("inverted") + + # remove the old data structures from memory + for s in dirty_structures: + if pindex.structureCache.containsKey(s): + pindex.structureCache.remove(s) + + # force the index structures to be loaded now + if load: + for s in dirty_structures: + pindex.getIndexStructure(s) + + # dont allow the index properties to be rewritten + pindex.dirtyProperties = False + return index + + @staticmethod + def of(indexlike, memory : Union[bool, List[str]] = False): + """ + Loads an index. Returns a Terrier `Index `_ object. + + Args: + indexlike(str or IndexRef): Where is the index located + memory(bool or List[str]): If the index should be loaded into memory. Use `True` for all structures, or a list of structure names. + """ + from . import autoclass + IOD = autoclass("org.terrier.structures.IndexOnDisk") + load_profile = IOD.getIndexLoadingProfileAsRetrieval() + + if memory or (isinstance(memory, list) and len(memory) > 0): #MEMORY CAN BE A LIST? + IOD.setIndexLoadingProfileAsRetrieval(False) + index = autoclass("org.terrier.structures.IndexFactory").of(indexlike) + + # noop if memory is False + IOD.setIndexLoadingProfileAsRetrieval(load_profile) + if not memory: + return index + if isinstance(memory, list): + return IndexFactory._load_into_memory(index, structures=memory) + return IndexFactory._load_into_memory(index) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index b20b248e..2a9bfc83 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -4,6 +4,8 @@ TERRIER_PKG = "org.terrier" +_SAVED_FNS = [] + _resolved_helper_version = None configure = pt.java.config.register('pt.terrier.java', { @@ -76,6 +78,196 @@ def _post_init(jnius): pt.IndexRef = J.IndexRef + jnius.protocol_map["org.terrier.structures.postings.IterablePosting"] = { + '__iter__': lambda self: self, + '__next__': lambda self: _iterableposting_next(self), + '__str__': lambda self: self.toString() + } + + jnius.protocol_map["org.terrier.structures.CollectionStatistics"] = { + '__str__': lambda self: self.toString() + } + + jnius.protocol_map["org.terrier.structures.LexiconEntry"] = { + '__str__': lambda self: self.toString() + } + + jnius.protocol_map["org.terrier.structures.Lexicon"] = { + '__getitem__': _lexicon_getitem, + '__contains__': lambda self, term: self.getLexiconEntry(term) is not None, + '__len__': lambda self: self.numberOfEntries() + } + + jnius.protocol_map["org.terrier.querying.IndexRef"] = { + '__reduce__' : _index_ref_reduce, + '__getstate__' : lambda self : None, + } + + jnius.protocol_map["org.terrier.matching.models.WeightingModel"] = { + '__reduce__' : _wmodel_reduce, + '__getstate__' : lambda self : None, + } + + jnius.protocol_map["org.terrier.python.CallableWeightingModel"] = { + '__reduce__' : _callable_wmodel_reduce, + '__getstate__' : lambda self : None, + } + + jnius.protocol_map["org.terrier.structures.Index"] = { + # this means that len(index) returns the number of documents in the index + '__len__': lambda self: self.getCollectionStatistics().getNumberOfDocuments(), + + # document-wise composition of indices: adding more documents to an index, by merging two indices with + # different numbers of documents. This implemented by the overloading the `+` Python operator + '__add__': _index_add, + + # get_corpus_iter returns a yield generator that return {"docno": "d1", "toks" : {'a' : 1}} + 'get_corpus_iter' : _index_corpusiter + } + + +def _new_indexref(s): + return pt.IndexRef.of(s) + + +def _new_wmodel(bytes): + from . import autoclass + serUtils = autoclass("org.terrier.python.Serialization") + return serUtils.deserialize(bytes, autoclass("org.terrier.utility.ApplicationSetup").getClass("org.terrier.matching.models.WeightingModel") ) + + +def _new_callable_wmodel(byterep): + import dill as pickle + from dill import extend + #see https://github.com/SeldonIO/alibi/issues/447#issuecomment-881552005 + extend(use_dill=False) + fn = pickle.loads(byterep) + #we need to prevent these functions from being GCd. + global _SAVED_FNS + _SAVED_FNS.append(fn) + callback, wmodel = pt.terrier.retriever._function2wmodel(fn) + _SAVED_FNS.append(callback) + #print("Stored lambda fn %s and callback in SAVED_FNS, now %d stored" % (str(fn), len(SAVED_FNS))) + return wmodel + + +def _iterableposting_next(self): + ''' dunder method for iterating IterablePosting ''' + nextid = self.next() + # 2147483647 is IP.EOL. fix this once static fields can be read from instances. + if 2147483647 == nextid: + raise StopIteration() + return self + + +def _lexicon_getitem(self, term): + ''' dunder method for accessing Lexicon ''' + rtr = self.getLexiconEntry(term) + if rtr is None: + raise KeyError() + return rtr + + +def _index_ref_reduce(self): + return ( + _new_indexref, + (str(self.toString()),), + None + ) + + +# handles the pickling of WeightingModel classes, which are themselves usually Serializable in Java +def _wmodel_reduce(self): + serialized = bytes(J.Serialization.serialize(self)) + return ( + _new_wmodel, + (serialized, ), + None + ) + + +def _callable_wmodel_reduce(self): + # get bytebuffer representation of lambda + # convert bytebyffer to python bytearray + serlzd = self.scoringClass.serializeFn() + bytesrep = pt.java.bytebuffer_to_array(serlzd) + del(serlzd) + return ( + _new_callable_wmodel, + (bytesrep, ), + None + ) + + +def _index_add(self, other): + from . import autoclass + fields_1 = self.getCollectionStatistics().getNumberOfFields() + fields_2 = self.getCollectionStatistics().getNumberOfFields() + if fields_1 != fields_2: + raise ValueError("Cannot document-wise merge indices with different numbers of fields (%d vs %d)" % (fields_1, fields_2)) + blocks_1 = self.getCollectionStatistics().hasPositions() + blocks_2 = other.getCollectionStatistics().hasPositions() + if blocks_1 != blocks_2: + raise ValueError("Cannot document-wise merge indices with and without positions (%r vs %r)" % (blocks_1, blocks_2)) + multiindex_cls = autoclass("org.terrier.realtime.multi.MultiIndex") + return multiindex_cls([self, other], blocks_1, fields_1 > 0) + + +def _index_corpusiter(self, return_toks=True): + def _index_corpusiter_meta(self): + meta_inputstream = self.getIndexStructureInputStream("meta") + keys = self.getMetaIndex().getKeys() + keys_offset = { k: offset for offset, k in enumerate(keys) } + while meta_inputstream.hasNext(): + item = meta_inputstream.next() + yield {k : item[keys_offset[k]] for k in keys_offset} + + def _index_corpusiter_direct_pretok(self): + import sys + MIN_PYTHON = (3, 8) + if sys.version_info < MIN_PYTHON: + raise NotImplementedError("Sorry, Python 3.8+ is required for this functionality") + + meta_inputstream = self.getIndexStructureInputStream("meta") + keys = self.getMetaIndex().getKeys() + keys_offset = { k: offset for offset, k in enumerate(keys) } + keys_offset = {'docno' : keys_offset['docno'] } + direct_inputstream = self.getIndexStructureInputStream("direct") + lex = self.getLexicon() + + ip = None + while (ip := direct_inputstream.getNextPostings()) is not None: # this is the next() method + + # yield empty toks dicts for empty documents + for skipped in range(0, direct_inputstream.getEntriesSkipped()): + meta = meta_inputstream.next() + rtr = {k : meta[keys_offset[k]] for k in keys_offset} + rtr['toks'] = {} + yield rtr + + toks = {} + while ip.next() != ip.EOL: + t, _ = lex[ip.getId()] + toks[t] = ip.getFrequency() + meta = meta_inputstream.next() + rtr = {'toks' : toks} + rtr.update({k : meta[keys_offset[k]] for k in keys_offset}) + yield rtr + + # yield for trailing empty documents + for skipped in range(0, direct_inputstream.getEntriesSkipped()): + meta = meta_inputstream.next() + rtr = {k : meta[keys_offset[k]] for k in keys_offset} + rtr['toks'] = {} + yield rtr + + if return_toks: + if not self.hasIndexStructureInputStream("direct"): + raise ValueError("No direct index input stream available, cannot use return_toks=True") + return _index_corpusiter_direct_pretok(self) + return _index_corpusiter_meta(self) + + @pt.java.required() def extend_package(package): @@ -96,4 +288,5 @@ def extend_package(package): 'IndexRef': 'org.terrier.querying.IndexRef', 'Version': 'org.terrier.Version', 'Tokenizer': 'org.terrier.indexing.tokenisation.Tokeniser', + 'Serialization': 'org.terrier.python.Serialization', }) diff --git a/pyterrier/utils.py b/pyterrier/utils.py index b6823330..55dd3250 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -1,4 +1,5 @@ from typing import Callable, Tuple +import platform from functools import wraps from importlib.metadata import EntryPoint from importlib.metadata import entry_points as eps @@ -109,3 +110,7 @@ def entry_points(group: str) -> Tuple[EntryPoint, ...]: return tuple(eps(group=group)) except TypeError: return tuple(eps().get(group, tuple())) + + +def is_windows() -> bool: + return platform.system() == 'Windows' diff --git a/tests/base.py b/tests/base.py index 4aadb9c8..3e92b1e0 100644 --- a/tests/base.py +++ b/tests/base.py @@ -25,20 +25,15 @@ def __init__(self, *args, **kwargs): def skip_windows(self): - if BaseTestCase.is_windows(): + if pt.utils.is_windows(): self.skipTest("Test disabled on Windows") - @staticmethod - def is_windows() -> bool: - import platform - return platform.system() == 'Windows' class TempDirTestCase(BaseTestCase): def setUp(self): self.test_dir = tempfile.mkdtemp() def tearDown(self): - import shutil try: shutil.rmtree(self.test_dir) except: diff --git a/tests/test_dunder.py b/tests/test_dunder.py index 44966fd1..8c82b15f 100644 --- a/tests/test_dunder.py +++ b/tests/test_dunder.py @@ -11,8 +11,7 @@ def test_callable_wmodel_dunders(self): lambdafn = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() callback, wmodel = pt.terrier.retriever._function2wmodel(lambdafn) - from pyterrier.java.bootstrap import javabytebuffer2array - byterep = javabytebuffer2array(wmodel.scoringClass.serializeFn()) + byterep = pt.java.bytebuffer_to_array(wmodel.scoringClass.serializeFn()) import dill as pickle from dill import extend #see https://github.com/SeldonIO/alibi/issues/447#issuecomment-881552005 diff --git a/tests/test_iterdictindex.py b/tests/test_iterdictindex.py index 4d7aeafc..aa36ff83 100644 --- a/tests/test_iterdictindex.py +++ b/tests/test_iterdictindex.py @@ -25,7 +25,7 @@ def _make_check_index(self, n, index_type, fields=('text',), meta=('docno', 'url pt.index._IterDictIndexer_fifo(self.test_dir, type=index_type, threads=4, meta=meta), pt.index._IterDictIndexer_nofifo(self.test_dir, type=index_type, meta=meta), ] - if BaseTestCase.is_windows(): + if pt.utils.is_windows(): indexers = [indexers[-1]] for indexer in indexers: with self.subTest(indexer=indexer): diff --git a/tests/test_iterdictindex_pretok.py b/tests/test_iterdictindex_pretok.py index b91e2f48..2a598ec4 100644 --- a/tests/test_iterdictindex_pretok.py +++ b/tests/test_iterdictindex_pretok.py @@ -91,7 +91,7 @@ def _make_pretok_index(self, n, index_type, meta=('docno', 'url')): pt.index._IterDictIndexer_fifo(self.test_dir, type=index_type, threads=4, meta=meta, pretokenised=True), pt.index._IterDictIndexer_nofifo(self.test_dir, type=index_type, meta=meta, pretokenised=True), ] - if BaseTestCase.is_windows(): + if pt.utils.is_windows(): indexers = [indexers[-1]] for indexer in indexers: with self.subTest(indexer=indexer): From 0fd81085798bd13b85f986c6fc1c1ca225a5ab47 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 18:25:19 +0100 Subject: [PATCH 037/153] forgot to remove bootstrap --- pyterrier/__init__.py | 2 +- pyterrier/java/__init__.py | 7 ++++--- pyterrier/java/utils.py | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index a20537db..0247cc07 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -207,7 +207,7 @@ def redirect_stdouterr(): """ Ensure that stdout and stderr have been redirected. Equivalent to setting the redirect_io parameter to init() as `True`. """ - java.bootstrap.redirect_stdouterr() + java.redirect_stdouterr() @java.required() diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 20f985b7..978cecfc 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -4,9 +4,7 @@ from typing import Callable, Optional, Dict, Tuple, Any from warnings import warn import pyterrier as pt -from pyterrier.java import bootstrap from pyterrier.java import mavenresolver -from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array _started = False @@ -72,7 +70,6 @@ def init() -> None: import jnius _started = True - bootstrap.setup_jnius() set_log_level(cfg['log_level']) java_version = J.System.getProperty("java.version") @@ -191,6 +188,10 @@ def set_log_level(level): J.PTUtils.setLogLevel(level, None) +# Utils +from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array + + # Classes from pyterrier.java.utils import JavaClasses diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 548ed039..f95c92cf 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -1,4 +1,5 @@ import pyterrier as pt +from pyterrier.java import required from typing import Dict @@ -83,7 +84,7 @@ def __init__(self, mapping: Dict[str, str]): def __dir__(self): return list(self._mapping.keys()) - @pt.java.required(raise_on_not_started=True) + @required(raise_on_not_started=True) def __getattr__(self, key): if key not in self._mapping: return AttributeError(f'{self} has no attribute {key!r}') From ea115a84bcaec5671cb69ae8ffe51f9f8918f8fb Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 18:33:05 +0100 Subject: [PATCH 038/153] wip --- pyterrier/terrier/index_factory.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pyterrier/terrier/index_factory.py b/pyterrier/terrier/index_factory.py index 2c33e982..b607d4e5 100644 --- a/pyterrier/terrier/index_factory.py +++ b/pyterrier/terrier/index_factory.py @@ -1,4 +1,5 @@ from typing import Union, List +import pyterrier as pt class IndexFactory: @@ -103,16 +104,14 @@ def of(indexlike, memory : Union[bool, List[str]] = False): indexlike(str or IndexRef): Where is the index located memory(bool or List[str]): If the index should be loaded into memory. Use `True` for all structures, or a list of structure names. """ - from . import autoclass - IOD = autoclass("org.terrier.structures.IndexOnDisk") - load_profile = IOD.getIndexLoadingProfileAsRetrieval() + load_profile = pt.terrier.J.IndexOnDisk.getIndexLoadingProfileAsRetrieval() if memory or (isinstance(memory, list) and len(memory) > 0): #MEMORY CAN BE A LIST? - IOD.setIndexLoadingProfileAsRetrieval(False) - index = autoclass("org.terrier.structures.IndexFactory").of(indexlike) + pt.terrier.J.IndexOnDisk.setIndexLoadingProfileAsRetrieval(False) + index = pt.terrier.J.IndexFactory.of(indexlike) # noop if memory is False - IOD.setIndexLoadingProfileAsRetrieval(load_profile) + pt.terrier.J.IndexOnDisk.setIndexLoadingProfileAsRetrieval(load_profile) if not memory: return index if isinstance(memory, list): From cade2ece68cc81b1f7bf125a15642f664841e27e Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 18:33:09 +0100 Subject: [PATCH 039/153] wip --- pyterrier/terrier/java.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 2a9bfc83..d71a4d1d 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -289,4 +289,6 @@ def extend_package(package): 'Version': 'org.terrier.Version', 'Tokenizer': 'org.terrier.indexing.tokenisation.Tokeniser', 'Serialization': 'org.terrier.python.Serialization', + 'IndexOnDisk': 'org.terrier.structures.IndexOnDisk', + 'IndexFactory': 'org.terrier.structures.IndexFactory', }) From a7f64fd37e30e831016bc9974be0b2b3b837d070 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 18:39:56 +0100 Subject: [PATCH 040/153] import --- pyterrier/terrier/index_factory.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pyterrier/terrier/index_factory.py b/pyterrier/terrier/index_factory.py index b607d4e5..b21b3469 100644 --- a/pyterrier/terrier/index_factory.py +++ b/pyterrier/terrier/index_factory.py @@ -57,8 +57,7 @@ def _load_into_memory(index, structures=['lexicon', 'direct', 'inverted', 'meta' } } - from . import cast - pindex = cast("org.terrier.structures.IndexOnDisk", index) + pindex = pt.java.cast("org.terrier.structures.IndexOnDisk", index) load_profile = pindex.getIndexLoadingProfileAsRetrieval() dirty_structures = set() for s in structures: From 342873f6c34a4b506397c7b70bced4ee3b321b43 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 18:47:52 +0100 Subject: [PATCH 041/153] imports :( --- pyterrier/terrier/java.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index d71a4d1d..748a23ac 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -130,10 +130,8 @@ def _new_indexref(s): return pt.IndexRef.of(s) -def _new_wmodel(bytes): - from . import autoclass - serUtils = autoclass("org.terrier.python.Serialization") - return serUtils.deserialize(bytes, autoclass("org.terrier.utility.ApplicationSetup").getClass("org.terrier.matching.models.WeightingModel") ) +def _new_wmodel(b): + return J.Serialization.deserialize(b, pt.ApplicationSetup.getClass("org.terrier.matching.models.WeightingModel")) def _new_callable_wmodel(byterep): @@ -200,7 +198,6 @@ def _callable_wmodel_reduce(self): def _index_add(self, other): - from . import autoclass fields_1 = self.getCollectionStatistics().getNumberOfFields() fields_2 = self.getCollectionStatistics().getNumberOfFields() if fields_1 != fields_2: @@ -209,8 +206,7 @@ def _index_add(self, other): blocks_2 = other.getCollectionStatistics().hasPositions() if blocks_1 != blocks_2: raise ValueError("Cannot document-wise merge indices with and without positions (%r vs %r)" % (blocks_1, blocks_2)) - multiindex_cls = autoclass("org.terrier.realtime.multi.MultiIndex") - return multiindex_cls([self, other], blocks_1, fields_1 > 0) + return J.MultiIndex([self, other], blocks_1, fields_1 > 0) def _index_corpusiter(self, return_toks=True): @@ -223,7 +219,6 @@ def _index_corpusiter_meta(self): yield {k : item[keys_offset[k]] for k in keys_offset} def _index_corpusiter_direct_pretok(self): - import sys MIN_PYTHON = (3, 8) if sys.version_info < MIN_PYTHON: raise NotImplementedError("Sorry, Python 3.8+ is required for this functionality") @@ -291,4 +286,5 @@ def extend_package(package): 'Serialization': 'org.terrier.python.Serialization', 'IndexOnDisk': 'org.terrier.structures.IndexOnDisk', 'IndexFactory': 'org.terrier.structures.IndexFactory', + 'MultiIndex': 'org.terrier.realtime.multi.MultiIndex', }) From c54bd40655881e0dbee52407c41bf5c67fd8e337 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 19:14:42 +0100 Subject: [PATCH 042/153] weird --- pyterrier/terrier/java.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 748a23ac..44bd97eb 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -69,13 +69,6 @@ def _pre_init(jnius_config): def _post_init(jnius): - version_string = J.Version.VERSION - if "BUILD_DATE" in dir(J.Version): - version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" - - print(f"PyTerrier {pt.__version__} has loaded Terrier {version_string} and " - f"terrier-helper {_resolved_helper_version}\n", file=sys.stderr) - pt.IndexRef = J.IndexRef jnius.protocol_map["org.terrier.structures.postings.IterablePosting"] = { @@ -125,6 +118,13 @@ def _post_init(jnius): 'get_corpus_iter' : _index_corpusiter } + version_string = J.Version.VERSION + if "BUILD_DATE" in dir(J.Version): + version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" + + print(f"X PyTerrier {pt.__version__} has loaded Terrier {version_string} and " + f"terrier-helper {_resolved_helper_version}\n", file=sys.stderr) + def _new_indexref(s): return pt.IndexRef.of(s) From 8c636d95fc91b7c9b08971d87e5c6e391510a4e5 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 19:14:52 +0100 Subject: [PATCH 043/153] eps --- pyterrier/utils.py | 14 ++++++++++++-- setup.py | 10 +++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/pyterrier/utils.py b/pyterrier/utils.py index 55dd3250..beae2243 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -103,13 +103,23 @@ def _wrapper(*args, **kwargs): def entry_points(group: str) -> Tuple[EntryPoint, ...]: """ A shim for Python<=3.X to support importlib.metadata.entry_points(group). + Also ensures that no duplicates (by name) are returned. See for more details. """ try: - return tuple(eps(group=group)) + orig_res = tuple(eps(group=group)) except TypeError: - return tuple(eps().get(group, tuple())) + orig_res = tuple(eps().get(group, tuple())) + + names = set() + res = [] + for ep in orig_res: + if ep.name not in names: + res.append(ep) + names.add(ep.name) + + return tuple(res) def is_windows() -> bool: diff --git a/setup.py b/setup.py index a66df5fe..7808c78b 100644 --- a/setup.py +++ b/setup.py @@ -72,13 +72,13 @@ def get_version(rel_path): ], entry_points={ 'pyterrier.java.pre_init': [ - 'terrier = pyterrier.terrier.java : _pre_init', + 'terrier = pyterrier.terrier.java:_pre_init', ], 'pyterrier.java.post_init': [ - 'legacy = pyterrier.java : _legacy_post_init', - 'terrier = pyterrier.terrier.java : _post_init', - 'index = pyterrier.index : _java_post_init', - 'rewrite = pyterrier.rewrite : _java_post_init', + 'core = pyterrier.java._init:_post_init', + 'terrier = pyterrier.terrier.java:_post_init', + 'index = pyterrier.index:_java_post_init', + 'rewrite = pyterrier.rewrite:_java_post_init', ], }, install_requires=requirements, From 90890698ee2aa9b4429a70ad251fdb694c1ebd04 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 19:17:48 +0100 Subject: [PATCH 044/153] wip --- pyterrier/java/__init__.py | 163 +------------------------------------ pyterrier/java/_init.py | 156 +++++++++++++++++++++++++++++++++++ 2 files changed, 158 insertions(+), 161 deletions(-) create mode 100644 pyterrier/java/_init.py diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 978cecfc..8c5994d6 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,148 +1,7 @@ -from functools import wraps -from copy import deepcopy -import os -from typing import Callable, Optional, Dict, Tuple, Any -from warnings import warn +from typing import Optional import pyterrier as pt from pyterrier.java import mavenresolver - -_started = False - - -def _legacy_post_init(jnius): - pt.HOME_DIR = pt.io.pyterrier_home() - pt.properties = J.Properties() - pt.ApplicationSetup = J.ApplicationSetup - pt.ApplicationSetup.bootstrapInitialisation(pt.properties) - pt.autoclass = jnius.autoclass - pt.cast = jnius.cast - - jnius.protocol_map['java.util.Map$Entry'] = { - '__getitem__' : _mapentry_getitem, - '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), - '__len__' : lambda self: 2 - } - - -# Map$Entry can be decoded like a tuple -def _mapentry_getitem(self, i): - if i == 0: - return self.getKey() - if i == 1: - return self.getValue() - raise IndexError() - - -@pt.utils.once() -def init() -> None: - global _started - # TODO: if we make java optional some day, should check here that it's installed. E.g., - # if find_spec('jnius_config') is None: - # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') - # return - - if pt.utils.is_windows(): - if "JAVA_HOME" in os.environ: - java_home = os.environ["JAVA_HOME"] - fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' - os.environ["PATH"] = os.environ["PATH"] + ";" + fix - - import jnius_config - - for entry_point in pt.utils.entry_points('pyterrier.java.pre_init'): - _pre_init = entry_point.load() - _pre_init(jnius_config) - - cfg = configure() - - if cfg['mem'] is not None: - jnius_config.add_options('-Xmx' + str(cfg['mem']) + 'm') - - import sys - sys.stderr.write(f'options: {cfg["options"]}\n') - for opt in cfg['options']: - jnius_config.add_options(opt) - - sys.stderr.write(f'jars: {cfg["jars"]}\n') - for jar in cfg['jars']: - jnius_config.add_classpath(jar) - - import jnius - _started = True - - set_log_level(cfg['log_level']) - - java_version = J.System.getProperty("java.version") - if java_version.startswith("1.") or java_version.startswith("9."): - raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" - + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") - - for entry_point in pt.utils.entry_points('pyterrier.java.post_init'): - _post_init = entry_point.load() - _post_init(jnius) - - -def started() -> bool: - """ - Returns True if pt.java.init() has been called. Otherwise False. - """ - return _started - - -def required(raise_on_not_started: bool = False) -> Callable: - """ - Wraps a function that requires the Java Virtual Machine to be started before running. If the JVM has not yet - been started, it runs pt.java.init() or raises an error, depending on the value of raise_on_not_started. - """ - def _required(fn: Callable) -> Callable: - @wraps(fn) - def _wrapper(*args, **kwargs): - if not started(): - if raise_on_not_started: - raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') - else: - init() - return fn(*args, **kwargs) - return _wrapper - return _required - - -def before_init() -> Callable: - """ - Wraps a function that can only be run before the Java Virtual Machine has started. If the JVM has already started, - an error is raised. - """ - def _before_init(fn: Callable) -> Callable: - @wraps(fn) - def _wrapper(*args, **kwargs): - if started(): - raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') - return fn(*args, **kwargs) - return _wrapper - return _before_init - - -# jnius wrappers: - -@required(raise_on_not_started=True) -def autoclass(*args, **kwargs): - """ - Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. - """ - import jnius - return jnius.autoclass(*args, **kwargs) - - -@required(raise_on_not_started=True) -def cast(*args, **kwargs): - """ - Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. - """ - import jnius - return jnius.cast(*args, **kwargs) - - -# config +from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, before_init, autoclass, cast from pyterrier.java import config from pyterrier.java.config import configure @@ -203,21 +62,3 @@ def set_log_level(level): 'PTUtils': 'org.terrier.python.PTUtils', 'System': 'java.lang.System', }) - - -# Parallel - -def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: - if started: - if not pt.java.started(): - warn(f'Starting java parallel with configs {configs}') - config._CONFIGS = configs - init() - else: - warn("Avoiding reinit of PyTerrier") - -def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: - return ( - started(), - deepcopy(config._CONFIGS), - ) diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py new file mode 100644 index 00000000..6a3ef480 --- /dev/null +++ b/pyterrier/java/_init.py @@ -0,0 +1,156 @@ +import os +from warnings import warn +from functools import wraps +from typing import Dict, Any, Tuple, Callable +from copy import deepcopy +import pyterrier as pt +import pyterrier.java.config + + +_started = False + + +def _post_init(jnius): + pt.HOME_DIR = pt.io.pyterrier_home() + pt.properties = pt.java.J.Properties() + pt.ApplicationSetup = pt.java.J.ApplicationSetup + pt.ApplicationSetup.bootstrapInitialisation(pt.properties) + pt.autoclass = jnius.autoclass + pt.cast = jnius.cast + + jnius.protocol_map['java.util.Map$Entry'] = { + '__getitem__' : _mapentry_getitem, + '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), + '__len__' : lambda self: 2 + } + + +# Map$Entry can be decoded like a tuple +def _mapentry_getitem(self, i): + if i == 0: + return self.getKey() + if i == 1: + return self.getValue() + raise IndexError() + + +@pt.utils.once() +def init() -> None: + global _started + # TODO: if we make java optional some day, should check here that it's installed. E.g., + # if find_spec('jnius_config') is None: + # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') + # return + + if pt.utils.is_windows(): + if "JAVA_HOME" in os.environ: + java_home = os.environ["JAVA_HOME"] + fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' + os.environ["PATH"] = os.environ["PATH"] + ";" + fix + + import jnius_config + + for entry_point in pt.utils.entry_points('pyterrier.java.pre_init'): + _pre_init = entry_point.load() + _pre_init(jnius_config) + + cfg = pt.java.configure() + + if cfg['mem'] is not None: + jnius_config.add_options('-Xmx' + str(cfg['mem']) + 'm') + + for opt in cfg['options']: + jnius_config.add_options(opt) + + for jar in cfg['jars']: + jnius_config.add_classpath(jar) + + import jnius + _started = True + + pt.java.set_log_level(cfg['log_level']) + + java_version = pt.java.J.System.getProperty("java.version") + if java_version.startswith("1.") or java_version.startswith("9."): + raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" + + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") + + for entry_point in pt.utils.entry_points('pyterrier.java.post_init'): + _post_init = entry_point.load() + _post_init(jnius) + + +def started() -> bool: + """ + Returns True if pt.java.init() has been called. Otherwise False. + """ + return _started + + +def required(raise_on_not_started: bool = False) -> Callable: + """ + Wraps a function that requires the Java Virtual Machine to be started before running. If the JVM has not yet + been started, it runs pt.java.init() or raises an error, depending on the value of raise_on_not_started. + """ + def _required(fn: Callable) -> Callable: + @wraps(fn) + def _wrapper(*args, **kwargs): + if not started(): + if raise_on_not_started: + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + else: + init() + return fn(*args, **kwargs) + return _wrapper + return _required + + + +def before_init() -> Callable: + """ + Wraps a function that can only be run before the Java Virtual Machine has started. If the JVM has already started, + an error is raised. + """ + def _before_init(fn: Callable) -> Callable: + @wraps(fn) + def _wrapper(*args, **kwargs): + if started(): + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + return fn(*args, **kwargs) + return _wrapper + return _before_init + + +def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: + if started: + if not pt.java.started(): + warn(f'Starting java parallel with configs {configs}') + pyterrier.java.config._CONFIGS = configs + init() + else: + warn("Avoiding reinit of PyTerrier") + + +def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: + return ( + started(), + deepcopy(pyterrier.java.config._CONFIGS), + ) + + +@required(raise_on_not_started=True) +def autoclass(*args, **kwargs): + """ + Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. + """ + import jnius + return jnius.autoclass(*args, **kwargs) + + +@required(raise_on_not_started=True) +def cast(*args, **kwargs): + """ + Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. + """ + import jnius + return jnius.cast(*args, **kwargs) From 613a38e0ef8e59f3e6b62c7c292b36a0c527c847 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 21:23:04 +0100 Subject: [PATCH 045/153] IndexRef was being loaded before the protocol_map was set --- pyterrier/index.py | 13 +++++-------- pyterrier/terrier/java.py | 6 +++--- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/pyterrier/index.py b/pyterrier/index.py index 541adda0..765989f4 100644 --- a/pyterrier/index.py +++ b/pyterrier/index.py @@ -38,7 +38,6 @@ ApplicationSetup = None Properties = None CLITool = None -IndexRef = None StructureMerger = None BlockStructureMerger = None DocListIterator = None @@ -76,7 +75,6 @@ def _java_post_init(jnius): global ApplicationSetup global Properties global CLITool - global IndexRef global StructureMerger global BlockStructureMerger global DocListIterator @@ -103,7 +101,6 @@ def _java_post_init(jnius): ApplicationSetup = autoclass('org.terrier.utility.ApplicationSetup') Properties = autoclass('java.util.Properties') CLITool = autoclass("org.terrier.applications.CLITool") - IndexRef = autoclass('org.terrier.querying.IndexRef') StructureMerger = autoclass("org.terrier.structures.merging.StructureMerger") BlockStructureMerger = autoclass("org.terrier.structures.merging.BlockStructureMerger") @@ -947,7 +944,7 @@ def index(self, text, *args, **kwargs): if self.type is IndexingType.MEMORY: return index.getIndex().getIndexRef() - return IndexRef.of(self.index_dir + "/data.properties") + return pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") class _BaseIterDictIndexer(TerrierIndexer, Indexer): @@ -1104,7 +1101,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None indexref = index.getIndexRef() else: from . import IndexFactory - indexref = IndexRef.of(self.index_dir + "/data.properties") + indexref = pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: sindex = pt.java.autoclass("org.terrier.structures.Index") sindex.setIndexLoadingProfileAsRetrieval(False) @@ -1193,7 +1190,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): indexref = None from . import IndexFactory - indexref = IndexRef.of(self.index_dir + "/data.properties") + indexref = pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: sindex = pt.java.autoclass("org.terrier.structures.Index") @@ -1313,7 +1310,7 @@ def index(self, files_path : Union[str,List[str]]): if self.type is IndexingType.MEMORY: return index.getIndex().getIndexRef() - return IndexRef.of(self.index_dir + "/data.properties") + return pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") class FilesIndexer(TerrierIndexer): ''' @@ -1361,4 +1358,4 @@ def index(self, files_path : Union[str,List[str]]): if self.type is IndexingType.MEMORY: return index.getIndex().getIndexRef() - return IndexRef.of(self.index_dir + "/data.properties") + return pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 44bd97eb..92d575b3 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -69,8 +69,6 @@ def _pre_init(jnius_config): def _post_init(jnius): - pt.IndexRef = J.IndexRef - jnius.protocol_map["org.terrier.structures.postings.IterablePosting"] = { '__iter__': lambda self: self, '__next__': lambda self: _iterableposting_next(self), @@ -118,11 +116,13 @@ def _post_init(jnius): 'get_corpus_iter' : _index_corpusiter } + pt.IndexRef = J.IndexRef + version_string = J.Version.VERSION if "BUILD_DATE" in dir(J.Version): version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" - print(f"X PyTerrier {pt.__version__} has loaded Terrier {version_string} and " + print(f"PyTerrier {pt.__version__} has loaded Terrier {version_string} and " f"terrier-helper {_resolved_helper_version}\n", file=sys.stderr) From 4ed1aa3d0522e630ebccec86405fa84bdcb9c1c7 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 21:33:22 +0100 Subject: [PATCH 046/153] re-enable test_parallel --- tests/test_parallel.py | 86 +++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/tests/test_parallel.py b/tests/test_parallel.py index beaba7cf..2ce82124 100644 --- a/tests/test_parallel.py +++ b/tests/test_parallel.py @@ -1,46 +1,46 @@ -# from .base import BaseTestCase -# import pyterrier as pt -# class TestParallel(BaseTestCase): +from .base import BaseTestCase +import pyterrier as pt +class TestParallel(BaseTestCase): -# def test_parallel_joblib_experiment(self): -# self.skip_windows() -# dataset = pt.get_dataset("vaswani") -# br = pt.BatchRetrieve(dataset.get_index()) -# df = pt.Experiment( -# [br, br.parallel(3)], -# dataset.get_topics(), -# dataset.get_qrels(), -# ["map", "mrt"] -# ) -# self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) + def test_parallel_joblib_experiment(self): + self.skip_windows() + dataset = pt.get_dataset("vaswani") + br = pt.BatchRetrieve(dataset.get_index()) + df = pt.Experiment( + [br, br.parallel(3)], + dataset.get_topics(), + dataset.get_qrels(), + ["map", "mrt"] + ) + self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) -# def test_parallel_joblib_experiment_br_callback(self): -# self.skip_windows() -# dataset = pt.get_dataset("vaswani") -# Tf = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() -# br = pt.BatchRetrieve(dataset.get_index(), wmodel=Tf) -# df = pt.Experiment( -# [br, br.parallel(3)], -# dataset.get_topics().head(4), -# dataset.get_qrels(), -# ["map", "mrt"] -# ) -# self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) + def test_parallel_joblib_experiment_br_callback(self): + self.skip_windows() + dataset = pt.get_dataset("vaswani") + Tf = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() + br = pt.BatchRetrieve(dataset.get_index(), wmodel=Tf) + df = pt.Experiment( + [br, br.parallel(3)], + dataset.get_topics().head(4), + dataset.get_qrels(), + ["map", "mrt"] + ) + self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) -# def test_parallel_joblib_ops(self): -# self.skip_windows() -# dataset = pt.get_dataset("vaswani") -# topics = dataset.get_topics().head(3) -# dph = pt.BatchRetrieve(dataset.get_index()) -# tf = pt.BatchRetrieve(dataset.get_index(), wmodel="Tf") -# for pipe in [ -# dph, -# dph % 10, -# dph >> tf, -# dph + tf, -# pt.apply.query(lambda row: row["query"] + " chemical") >> dph -# ]: -# res1 = pipe(topics) -# res2 = pipe.parallel(3)(topics) -# self.assertEqual(len(res1), len(res2)) -# + def test_parallel_joblib_ops(self): + self.skip_windows() + dataset = pt.get_dataset("vaswani") + topics = dataset.get_topics().head(3) + dph = pt.BatchRetrieve(dataset.get_index()) + tf = pt.BatchRetrieve(dataset.get_index(), wmodel="Tf") + for pipe in [ + dph, + dph % 10, + dph >> tf, + dph + tf, + pt.apply.query(lambda row: row["query"] + " chemical") >> dph + ]: + res1 = pipe(topics) + res2 = pipe.parallel(3)(topics) + self.assertEqual(len(res1), len(res2)) + From a214c653bd28e52d502330f1f1a814b44d019480 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 21:33:33 +0100 Subject: [PATCH 047/153] refactoring java __init__.py --- pyterrier/java/__init__.py | 65 ++++---------------------------------- pyterrier/java/utils.py | 54 +++++++++++++++++++++++++++++-- 2 files changed, 58 insertions(+), 61 deletions(-) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 8c5994d6..ad01e452 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,64 +1,11 @@ -from typing import Optional -import pyterrier as pt from pyterrier.java import mavenresolver from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, before_init, autoclass, cast from pyterrier.java import config from pyterrier.java.config import configure +from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array, JavaClasses, J, add_jar, add_package, set_memory_limit, add_option, set_log_level - -@before_init() -def add_jar(jar_path): - configure.append('jars', jar_path) - - -@before_init() -def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): - if version is None or version == 'snapshot': - version = mavenresolver.latest_version_num(org_name, package_name) - file_name = mavenresolver.downloadfile(org_name, package_name, version, pt.io.pyterrier_home(), file_type) - add_jar(file_name) - - -@before_init() -def set_memory_limit(mem: Optional[float]): - configure(mem=mem) - - -@before_init() -def add_option(option: str): - configure.append('options', option) - - -def set_log_level(level): - """ - Set the logging level. The following string values are allowed, corresponding - to Java logging levels: - - - `'ERROR'`: only show error messages - - `'WARN'`: only show warnings and error messages (default) - - `'INFO'`: show information, warnings and error messages - - `'DEBUG'`: show debugging, information, warnings and error messages - - Unlike other java settings, this can be changed either before or after init() has been called. - """ - if not started(): - configure(log_level=level) - else: - J.PTUtils.setLogLevel(level, None) - - -# Utils -from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array - - -# Classes - -from pyterrier.java.utils import JavaClasses - -J = JavaClasses({ - 'ArrayList': 'java.util.ArrayList', - 'Properties': 'java.util.Properties', - 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', - 'PTUtils': 'org.terrier.python.PTUtils', - 'System': 'java.lang.System', -}) +__all__ = [ + 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', + 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', + 'redirect_stdouterr', 'required', 'set_log_level', 'set_memory_limit', 'started', +] diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index f95c92cf..75cbe504 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -1,6 +1,6 @@ import pyterrier as pt -from pyterrier.java import required -from typing import Dict +from pyterrier.java import required, before_init, started, configure, mavenresolver +from typing import Dict, Optional stdout_ref = None @@ -76,6 +76,47 @@ def unsign(signed): return bytearray([ unsign(buffer.get(offset)) for offset in range(buffer.capacity()) ]) +@before_init() +def add_jar(jar_path): + configure.append('jars', jar_path) + + +@before_init() +def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): + if version is None or version == 'snapshot': + version = mavenresolver.latest_version_num(org_name, package_name) + file_name = mavenresolver.downloadfile(org_name, package_name, version, pt.io.pyterrier_home(), file_type) + add_jar(file_name) + + +@before_init() +def set_memory_limit(mem: Optional[float]): + configure(mem=mem) + + +@before_init() +def add_option(option: str): + configure.append('options', option) + + +def set_log_level(level): + """ + Set the logging level. The following string values are allowed, corresponding + to Java logging levels: + + - `'ERROR'`: only show error messages + - `'WARN'`: only show warnings and error messages (default) + - `'INFO'`: show information, warnings and error messages + - `'DEBUG'`: show debugging, information, warnings and error messages + + Unlike other java settings, this can be changed either before or after init() has been called. + """ + if not started(): + configure(log_level=level) + else: + J.PTUtils.setLogLevel(level, None) + + class JavaClasses: def __init__(self, mapping: Dict[str, str]): self._mapping = mapping @@ -91,3 +132,12 @@ def __getattr__(self, key): if key not in self._cache: self._cache[key] = pt.java.autoclass(self._mapping[key]) return self._cache[key] + + +J = JavaClasses({ + 'ArrayList': 'java.util.ArrayList', + 'Properties': 'java.util.Properties', + 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', + 'PTUtils': 'org.terrier.python.PTUtils', + 'System': 'java.lang.System', +}) From a0ec531d386ba3278459fd4f25c4bd1a393c9f4b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 21:44:49 +0100 Subject: [PATCH 048/153] more cleanup --- pyterrier/__init__.py | 35 ++++++++++++----------------------- pyterrier/java/__init__.py | 4 ++-- pyterrier/java/_init.py | 2 ++ pyterrier/java/config.py | 1 + pyterrier/java/utils.py | 5 +++++ pyterrier/terrier/java.py | 1 + 6 files changed, 23 insertions(+), 25 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 0247cc07..6313847b 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -97,6 +97,8 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log # Set the corresponding options java.set_memory_limit(mem) + java.set_redirect_io(redirect_io) + java.set_log_level(logging) for package in boot_packages: java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) for opt in jvm_opts: @@ -109,31 +111,12 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log java.init() - java.set_log_level(logging) - - # check python version - # TODO: does this belong in init or somewhere else? - import platform - from packaging.version import Version - if Version(platform.python_version()) < Version('3.7.0'): - raise RuntimeError("From PyTerrier 0.8, Python 3.7 minimum is required, you currently have %s" % platform.python_version()) - - # Make imports global - - # append the python helpers - if packages is None: - packages = [] - # Import other java packages - if packages != []: + if packages: pkgs_string = ",".join(packages) properties.put("terrier.mvn.coords", pkgs_string) ApplicationSetup.bootstrapInitialisation(properties) - if redirect_io: - # this ensures that the python stdout/stderr and the Java are matched - redirect_stdouterr() - def set_tqdm(type): """ @@ -259,7 +242,7 @@ def run(cmd, args=[]): """ Allows to run a Terrier executable class, i.e. one that can be access from the `bin/terrier` commandline programme. """ - java.autoclass("org.terrier.applications.CLITool").main([cmd] + args) + java.terrier.J.CLITool.main([cmd] + args) @java.required() @@ -273,8 +256,14 @@ def extend_classpath(mvnpackages): terrier.extend_package(package) -# apply is an object, not a module, as it also has __get_attr__() implemented def _(): - from .apply import _apply + # apply is an object, not a module, as it also has __get_attr__() implemented + from pyterrier.apply import _apply globals()['apply'] = _apply() + + # check python version + import platform + from packaging.version import Version + if Version(platform.python_version()) < Version('3.7.0'): + raise RuntimeError("From PyTerrier 0.8, Python 3.7 minimum is required, you currently have %s" % platform.python_version()) _() diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index ad01e452..6115bdb8 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -2,10 +2,10 @@ from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, before_init, autoclass, cast from pyterrier.java import config from pyterrier.java.config import configure -from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array, JavaClasses, J, add_jar, add_package, set_memory_limit, add_option, set_log_level +from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array, JavaClasses, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level __all__ = [ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', - 'redirect_stdouterr', 'required', 'set_log_level', 'set_memory_limit', 'started', + 'redirect_stdouterr', 'required', 'set_log_level', 'set_memory_limit', 'set_redirect_io', 'started', ] diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 6a3ef480..0c24e946 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -69,6 +69,8 @@ def init() -> None: _started = True pt.java.set_log_level(cfg['log_level']) + if cfg['redirect_io']: + pt.java.redirect_stdouterr() java_version = pt.java.J.System.getProperty("java.version") if java_version.startswith("1.") or java_version.startswith("9."): diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 141f9791..82c0f020 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -37,4 +37,5 @@ def register(name, config: Dict[str, Any]): 'options': [], 'mem': None, 'log_level': 'WARN', + 'redirect_io': True, }) diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 75cbe504..001777f1 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -99,6 +99,11 @@ def add_option(option: str): configure.append('options', option) +@before_init() +def set_redirect_io(redirect_io: bool): + configure(redirect_io=redirect_io) + + def set_log_level(level): """ Set the logging level. The following string values are allowed, corresponding diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 92d575b3..19d80cbb 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -287,4 +287,5 @@ def extend_package(package): 'IndexOnDisk': 'org.terrier.structures.IndexOnDisk', 'IndexFactory': 'org.terrier.structures.IndexFactory', 'MultiIndex': 'org.terrier.realtime.multi.MultiIndex', + 'CLITool': 'org.terrier.applications.CLITool', }) From 8907465012532c224d8cbb792971e1029d8a7659 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 22:07:40 +0100 Subject: [PATCH 049/153] move ApplicationSetup to terrier scope --- pyterrier/__init__.py | 41 ++---------------------------- pyterrier/java/_init.py | 3 --- pyterrier/java/utils.py | 1 - pyterrier/terrier/__init__.py | 4 +-- pyterrier/terrier/java.py | 48 +++++++++++++++++++++++++++++++++-- 5 files changed, 50 insertions(+), 47 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 6313847b..b3e18d6b 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -12,7 +12,7 @@ from pyterrier import java from pyterrier import terrier -from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory +from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run from tqdm.auto import tqdm @@ -114,8 +114,7 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log # Import other java packages if packages: pkgs_string = ",".join(packages) - properties.put("terrier.mvn.coords", pkgs_string) - ApplicationSetup.bootstrapInitialisation(properties) + set_property("terrier.mvn.coords", pkgs_string) def set_tqdm(type): @@ -209,42 +208,6 @@ def logging(level): java.set_log_level(level) -@java.required() -def set_property(k, v): - """ - Allows to set a property in Terrier's global properties configuration. Example:: - - pt.set_property("termpipelines", "") - - While Terrier has a variety of properties -- as discussed in its - `indexing `_ - and `retrieval `_ - configuration guides -- in PyTerrier, we aim to expose Terrier configuration through appropriate - methods or arguments. So this method should be seen as a safety-valve - a way to override the - Terrier configuration not explicitly supported by PyTerrier. - """ - properties[str(k)] = str(v) - ApplicationSetup.bootstrapInitialisation(properties) - - -@java.required() -def set_properties(kwargs): - """ - Allows to set many properties in Terrier's global properties configuration - """ - for key, value in kwargs.items(): - properties[str(key)] = str(value) - ApplicationSetup.bootstrapInitialisation(properties) - - -@java.required() -def run(cmd, args=[]): - """ - Allows to run a Terrier executable class, i.e. one that can be access from the `bin/terrier` commandline programme. - """ - java.terrier.J.CLITool.main([cmd] + args) - - @java.required() def extend_classpath(mvnpackages): """ diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 0c24e946..5f87f90c 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -12,9 +12,6 @@ def _post_init(jnius): pt.HOME_DIR = pt.io.pyterrier_home() - pt.properties = pt.java.J.Properties() - pt.ApplicationSetup = pt.java.J.ApplicationSetup - pt.ApplicationSetup.bootstrapInitialisation(pt.properties) pt.autoclass = jnius.autoclass pt.cast = jnius.cast diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 001777f1..79686efa 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -142,7 +142,6 @@ def __getattr__(self, key): J = JavaClasses({ 'ArrayList': 'java.util.ArrayList', 'Properties': 'java.util.Properties', - 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', 'PTUtils': 'org.terrier.python.PTUtils', 'System': 'java.lang.System', }) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 4bd7c517..ea1f5b40 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,6 +1,6 @@ # java stuff from pyterrier.terrier import java -from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J +from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J, set_property, set_properties, run from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve from pyterrier.terrier.index_factory import IndexFactory @@ -15,5 +15,5 @@ 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', # misc - 'IndexFactory', + 'IndexFactory', 'set_property', 'set_properties', 'run', ] diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 19d80cbb..7cb1673a 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -8,6 +8,8 @@ _resolved_helper_version = None +_properties = None + configure = pt.java.config.register('pt.terrier.java', { 'terrier_version': None, 'helper_version': None, @@ -69,6 +71,8 @@ def _pre_init(jnius_config): def _post_init(jnius): + global _properties + jnius.protocol_map["org.terrier.structures.postings.IterablePosting"] = { '__iter__': lambda self: self, '__next__': lambda self: _iterableposting_next(self), @@ -117,6 +121,9 @@ def _post_init(jnius): } pt.IndexRef = J.IndexRef + _properties = pt.properties = pt.java.J.Properties() + pt.ApplicationSetup = J.ApplicationSetup + J.ApplicationSetup.bootstrapInitialisation(_properties) version_string = J.Version.VERSION if "BUILD_DATE" in dir(J.Version): @@ -131,7 +138,7 @@ def _new_indexref(s): def _new_wmodel(b): - return J.Serialization.deserialize(b, pt.ApplicationSetup.getClass("org.terrier.matching.models.WeightingModel")) + return J.Serialization.deserialize(b, J.ApplicationSetup.getClass("org.terrier.matching.models.WeightingModel")) def _new_callable_wmodel(byterep): @@ -272,14 +279,51 @@ def extend_package(package): assert pt.check_version(5.3), "Terrier 5.3 required for this functionality" package_list = pt.java.J.ArrayList() package_list.add(package) - mvnr = pt.ApplicationSetup.getPlugin("MavenResolver") + mvnr = J.ApplicationSetup.getPlugin("MavenResolver") assert mvnr is not None mvnr = pt.java.cast("org.terrier.utility.MavenResolver", mvnr) mvnr.addDependencies(package_list) +@pt.java.required() +def set_property(k, v): + """ + Allows to set a property in Terrier's global properties configuration. Example:: + + pt.set_property("termpipelines", "") + + While Terrier has a variety of properties -- as discussed in its + `indexing `_ + and `retrieval `_ + configuration guides -- in PyTerrier, we aim to expose Terrier configuration through appropriate + methods or arguments. So this method should be seen as a safety-valve - a way to override the + Terrier configuration not explicitly supported by PyTerrier. + """ + _properties[str(k)] = str(v) + J.ApplicationSetup.bootstrapInitialisation(_properties) + + +@pt.java.required() +def set_properties(kwargs): + """ + Allows to set many properties in Terrier's global properties configuration + """ + for key, value in kwargs.items(): + _properties[str(key)] = str(value) + J.ApplicationSetup.bootstrapInitialisation(_properties) + + +@pt.java.required() +def run(cmd, args=[]): + """ + Allows to run a Terrier executable class, i.e. one that can be access from the `bin/terrier` commandline programme. + """ + J.CLITool.main([cmd] + args) + + # Terrier-specific classes J = pt.java.JavaClasses({ + 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', 'IndexRef': 'org.terrier.querying.IndexRef', 'Version': 'org.terrier.Version', 'Tokenizer': 'org.terrier.indexing.tokenisation.Tokeniser', From 8255096512b76bc93a922cc55e383f706a350b28 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sun, 28 Jul 2024 22:15:25 +0100 Subject: [PATCH 050/153] cleanup --- pyterrier/__init__.py | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index b3e18d6b..fcd66c3f 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -1,23 +1,20 @@ __version__ = "0.10.1" -import os from deprecated import deprecated from pyterrier import utils from pyterrier.utils import Utils -# definitive API used by others, now available before pt.init from .transformer import Transformer, Estimator, Indexer from pyterrier import java +from pyterrier.java import started, redirect_stdouterr # for backward compat, maybe remove/deprecate some day? from pyterrier import terrier from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run from tqdm.auto import tqdm - - from . import anserini from . import cache from . import debug @@ -34,23 +31,18 @@ from . import transformer from .datasets import get_dataset, find_datasets, list_datasets - from .index import Indexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate -import importlib - -file_path = os.path.dirname(os.path.abspath(__file__)) +# will be set in java._post_init once java is loaded +HOME_DIR = None -# will be set in java._legacy_post_init once java is loaded +# will be set in terrier.java._post_init once java is loaded +IndexRef = None ApplicationSetup = None properties = None -# will be set in terrier._java_post_init once java is loaded -IndexRef = None -HOME_DIR = None - # TODO _helper_version = None @@ -155,16 +147,6 @@ def set_tqdm(type): tqdm.pandas() -def started(): - """ - Returns `True` if `init()` has already been called, false otherwise. Typical usage:: - - import pyterrier as pt - if not pt.started(): - pt.init() - """ - return java.started() - @java.required() def version(): """ @@ -185,12 +167,6 @@ def check_version(min, helper=False): min = Version(str(min)) return currentVer >= min -def redirect_stdouterr(): - """ - Ensure that stdout and stderr have been redirected. Equivalent to setting the redirect_io parameter to init() as `True`. - """ - java.redirect_stdouterr() - @java.required() @deprecated(version="0.11", reason="Use pt.java.set_log_level() instead") From 36871c7599cc89e6560230c484f77a16509f8797 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 08:58:15 +0100 Subject: [PATCH 051/153] explanation --- pyterrier/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index fcd66c3f..237167bb 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -195,6 +195,7 @@ def extend_classpath(mvnpackages): terrier.extend_package(package) +# Additional setup performed in a function to avoid polluting the namespace with other imports def _(): # apply is an object, not a module, as it also has __get_attr__() implemented from pyterrier.apply import _apply From 5e0cd4a56b1c7842c70797004edee98a0b7e0f6c Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 12:10:53 +0100 Subject: [PATCH 052/153] anserini --- .github/workflows/anserini.yml | 5 +- pyterrier/__init__.py | 3 +- pyterrier/anserini/__init__.py | 4 + pyterrier/anserini/java.py | 88 +++++++++++++++++++ .../{anserini.py => anserini/retriever.py} | 86 ++++-------------- pyterrier/java/config.py | 2 +- pyterrier/java/mavenresolver.py | 2 +- pyterrier/java/utils.py | 2 +- pyterrier/terrier/java.py | 4 +- pyterrier/utils.py | 4 + setup.py | 2 + tests/anserini/test_anserini.py | 7 +- tests/test_maven.py | 4 +- 13 files changed, 131 insertions(+), 82 deletions(-) create mode 100644 pyterrier/anserini/__init__.py create mode 100644 pyterrier/anserini/java.py rename pyterrier/{anserini.py => anserini/retriever.py} (57%) diff --git a/.github/workflows/anserini.yml b/.github/workflows/anserini.yml index e72d9d98..0df9cb3b 100644 --- a/.github/workflows/anserini.yml +++ b/.github/workflows/anserini.yml @@ -15,7 +15,8 @@ jobs: strategy: matrix: python-version: ['3.10'] - java: [13] + anserini-version: ['0.19.0', '0.22.0', '0.25.0', '0.36.0'] + java: [21] os: ['ubuntu-latest'] terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', @@ -63,5 +64,5 @@ jobs: env: TERRIER_VERSION: ${{ matrix.terrier }} run: | - pip install pyserini==0.22.0 faiss-cpu torch + pip install pyserini==${{ matrix.anserini-version }} faiss-cpu torch pytest --durations=20 -p no:faulthandler tests/anserini/ diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 237167bb..5a90ff4b 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -13,9 +13,10 @@ from pyterrier import terrier from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run +from pyterrier import anserini + from tqdm.auto import tqdm -from . import anserini from . import cache from . import debug from . import index diff --git a/pyterrier/anserini/__init__.py b/pyterrier/anserini/__init__.py new file mode 100644 index 00000000..919d9f25 --- /dev/null +++ b/pyterrier/anserini/__init__.py @@ -0,0 +1,4 @@ +from pyterrier.anserini.java import is_installed, set_version, required, J +from pyterrier.anserini.retriever import AnseriniBatchRetrieve + +__all__ = ['is_installed', 'set_version', 'required', 'AnseriniBatchRetrieve', 'J'] diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py new file mode 100644 index 00000000..b93d6b27 --- /dev/null +++ b/pyterrier/anserini/java.py @@ -0,0 +1,88 @@ +import os +from glob import glob +from typing import Callable, Optional +from functools import wraps +import pyterrier as pt + + +configure = pt.java.config.register('pyterrier.anserini', { + 'version': None, +}) + + +def _pre_init(jnius_config): + if not is_installed(): + # pyserini not installed, do nothing + return + + if configure.get('version') is None: + jar = _get_pyserini_jar() + else: + # download and use the anserini version specified by the user + jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure.get('version'), 'fatjar') + + if jar is None: + raise RuntimeError('Could not find anserini jar') + else: + jnius_config.add_classpath(jar) + + +def _post_init(jnius): + # Temporarily disable the configure_classpath while pyserini is init'd, otherwise it will try to reconfigure jnius + import pyserini.setup + _configure_classpath = pyserini.setup.configure_classpath + try: + pyserini.setup.configure_classpath = pt.utils.noop + import pyserini.search.lucene # load the package + finally: + pyserini.setup.configure_classpath = _configure_classpath + + +def is_installed(): + try: + import pyserini.setup # try to load + except ImportError: + return False + return True + + +def _get_pyserini_jar() -> Optional[str]: + # find the anserini jar distributed with pyserini + # Adapted from pyserini/setup.py and pyserini/pyclass.py + import pyserini.setup + jar_root = os.path.join(os.path.split(pyserini.setup.__file__)[0], 'resources/jars/') + paths = glob(os.path.join(jar_root, 'anserini-*-fatjar.jar')) + if not paths: + return None + latest_jar = max(paths, key=os.path.getctime) + return latest_jar + + +@pt.java.before_init() +def set_version(version: str): + configure.set('version', version) + + +def required() -> Callable: + """ + Wraps a function that requires pyserini to be installed before running (raises error if not installed). If the JVM + has not yet been started, it runs pt.java.init(), too, similar to pt.java.required(). + """ + def _required(fn: Callable) -> Callable: + @wraps(fn) + def _wrapper(*args, **kwargs): + if not is_installed(): + raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') + if not pt.java.started(): + pt.java.init() + return fn(*args, **kwargs) + return _wrapper + return _required + + +J = pt.java.JavaClasses({ + 'ClassicSimilarity': 'org.apache.lucene.search.similarities.ClassicSimilarity', + 'BM25Similarity': 'org.apache.lucene.search.similarities.BM25Similarity', + 'LMDirichletSimilarity': 'org.apache.lucene.search.similarities.LMDirichletSimilarity', + 'IndexReaderUtils': 'io.anserini.index.IndexReaderUtils', +}) diff --git a/pyterrier/anserini.py b/pyterrier/anserini/retriever.py similarity index 57% rename from pyterrier/anserini.py rename to pyterrier/anserini/retriever.py index 1f67cfef..4123e941 100644 --- a/pyterrier/anserini.py +++ b/pyterrier/anserini/retriever.py @@ -1,53 +1,15 @@ -from .model import coerce_queries_dataframe - -from pyterrier.terrier.retriever import BatchRetrieveBase from warnings import warn import pandas as pd -from . import tqdm - -anserini_monkey=False -def _init_anserini(): - global anserini_monkey - if anserini_monkey: - return - - # jnius monkypatching - import jnius_config - anserini_found = False - for j in jnius_config.get_classpath(): - if "anserini" in j: - anserini_found = True - break - assert anserini_found, 'Anserini jar not found: you should start PyTerrier, e.g. with '\ - + 'pt.init(boot_packages=["io.anserini:anserini:0.22.0:fatjar"])' - import pyserini.setup - pyserini.setup.configure_classpath = lambda x: x - jnius_config.set_classpath = lambda x: x - anserini_monkey = True - return - - #this is the Anserini early rank cutoff rule - from matchpy import Wildcard, ReplacementRule, Pattern - from .transformer import RankCutoffTransformer, rewrite_rules - x = Wildcard.dot('x') - _brAnserini = Wildcard.symbol('_brAnserini', AnseriniBatchRetrieve) - - def set_k(_brAnserini, x): - _brAnserini.k = int(x.value) - return _brAnserini +import pyterrier as pt +from pyterrier.anserini.java import required - rewrite_rules.append(ReplacementRule( - Pattern(RankCutoffTransformer(_brAnserini, x) ), - set_k - )) - - -class AnseriniBatchRetrieve(BatchRetrieveBase): +class AnseriniBatchRetrieve(pt.Transformer): """ - Allows retrieval from an Anserini index. To use this class, PyTerrier should have been started using `pt.init(boot_packages=["io.anserini:anserini:0.22.0:fatjar"])`. + Allows retrieval from an Anserini index. To use this class, you must first enable anserini using `pt.anserini.enable()`. """ - def __init__(self, index_location, k=1000, wmodel="BM25", **kwargs): + @required() + def __init__(self, index_location, k=1000, wmodel="BM25", verbose=False): """ Construct an AnseriniBatchRetrieve retrieve from pyserini.search.lucene.LuceneSearcher. @@ -61,33 +23,26 @@ def __init__(self, index_location, k=1000, wmodel="BM25", **kwargs): * `"TFIDF"` - Lucene's `ClassicSimilarity `_. k(int): number of results to return. Default is 1000. """ - super().__init__(kwargs) self.index_location = index_location self.k = k - _init_anserini() + self.wmodel = wmodel + self.verbose = verbose from pyserini.search.lucene import LuceneSearcher self.searcher = LuceneSearcher(index_location) - self.wmodel = wmodel self._setsimilarty(wmodel) def __reduce__(self): return ( self.__class__, - (self.index_location, self.k, self.wmodel), + (self.index_location, self.k, self.wmodel, self.verbose), self.__getstate__() ) def __getstate__(self): - return { - 'k' : self.k, - 'wmodel' : self.wmodel, - 'index_location' : self.index_location, - } + return {} def __setstate__(self, d): - self.k = d["k"] - self.wmodel = d["wmodel"] - self.index_location = d["index_location"] + pass def _setsimilarty(self, wmodel): if wmodel == "BM25": @@ -95,19 +50,17 @@ def _setsimilarty(self, wmodel): elif wmodel == "QLD": self.searcher.object.set_qld(1000.0) elif wmodel == "TFIDF": - from jnius import autoclass - self.searcher.object.similarty = autoclass("org.apache.lucene.search.similarities.ClassicSimilarity")() + self.searcher.object.similarty = pt.anserini.J.ClassicSimilarity() else: raise ValueError("wmodel %s not support in AnseriniBatchRetrieve" % wmodel) def _getsimilarty(self, wmodel): - from jnius import autoclass if wmodel == "BM25": - return autoclass("org.apache.lucene.search.similarities.BM25Similarity")(0.9, 0.4)#(self.searcher.object.bm25_k1, self.searcher.object.bm25_b) + return pt.anserini.J.BM25Similarity(0.9, 0.4)#(self.searcher.object.bm25_k1, self.searcher.object.bm25_b) elif wmodel == "QLD": - return autoclass("org.apache.lucene.search.similarities.LMDirichletSimilarity")(1000.0)# (self.searcher.object.ql_mu) + return pt.anserini.J.LMDirichletSimilarity(1000.0)# (self.searcher.object.ql_mu) elif wmodel == "TFIDF": - return autoclass("org.apache.lucene.search.similarities.ClassicSimilarity")() + return pt.anserini.J.ClassicSimilarity() else: raise ValueError("wmodel %s not support in AnseriniBatchRetrieve" % wmodel) @@ -130,19 +83,18 @@ def transform(self, queries): results=[] if not isinstance(queries, pd.DataFrame): warn(".transform() should be passed a dataframe. Use .search() to execute a single query.", DeprecationWarning, 2) - queries=coerce_queries_dataframe(queries) + queries=pt.model.coerce_queries_dataframe(queries) docno_provided = "docno" in queries.columns docid_provided = "docid" in queries.columns if docid_provided and not docno_provided: raise KeyError("Anserini doesnt expose Lucene's internal docids, you need the docnos") if docno_provided: #we are re-ranking - from . import autoclass - indexreaderutils = autoclass("io.anserini.index.IndexReaderUtils") + indexreaderutils = pt.anserini.J.IndexReaderUtils indexreader = self.searcher.object.reader rank = 0 last_qid = None sim = self._getsimilarty(self.wmodel) - for row in tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="d") if self.verbose else queries.itertuples(): + for row in pt.tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="d") if self.verbose else queries.itertuples(): qid = str(row.qid) query = row.query docno = row.docno @@ -153,7 +105,7 @@ def transform(self, queries): results.append([qid, query, docno, rank, score]) else: #we are searching, no candidate set provided - for row in tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): + for row in pt.tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): rank = 0 qid = str(row.qid) query = row.query diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 82c0f020..99ee9af2 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -11,7 +11,7 @@ def get(self, key): return self()[key] def set(self, key, value): - self()(**{key: value}) + self(**{key: value}) def append(self, key, value): res = self.get(key) diff --git a/pyterrier/java/mavenresolver.py b/pyterrier/java/mavenresolver.py index bded3683..d75e5f1a 100644 --- a/pyterrier/java/mavenresolver.py +++ b/pyterrier/java/mavenresolver.py @@ -11,7 +11,7 @@ JITPACK_BASE_URL = "https://jitpack.io/" # obtain a file from maven -def downloadfile(orgName, packageName, version, file_path, artifact="jar", force_download=False): +def get_package_jar(orgName, packageName, version, file_path, artifact="jar", force_download=False): orgName = orgName.replace(".", "/") suffix = "" ext = "jar" diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 79686efa..418d65bb 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -85,7 +85,7 @@ def add_jar(jar_path): def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): if version is None or version == 'snapshot': version = mavenresolver.latest_version_num(org_name, package_name) - file_name = mavenresolver.downloadfile(org_name, package_name, version, pt.io.pyterrier_home(), file_type) + file_name = mavenresolver.get_package_jar(org_name, package_name, version, pt.io.pyterrier_home(), file_type) add_jar(file_name) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 7cb1673a..9b74c8ce 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -56,9 +56,9 @@ def _pre_init(jnius_config): # "snapshot" means use Jitpack.io to get a build of the current # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT if terrier_version == "snapshot": - trJar = pt.java.mavenresolver.downloadfile("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=cfg['force_download']) + trJar = pt.java.mavenresolver.get_package_jar("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=cfg['force_download']) else: - trJar = pt.java.mavenresolver.downloadfile(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") + trJar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") pt.java.add_jar(trJar) # now the helper classes diff --git a/pyterrier/utils.py b/pyterrier/utils.py index beae2243..d73a0b49 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -124,3 +124,7 @@ def entry_points(group: str) -> Tuple[EntryPoint, ...]: def is_windows() -> bool: return platform.system() == 'Windows' + + +def noop(*args, **kwargs): + pass diff --git a/setup.py b/setup.py index 7808c78b..2521a8ce 100644 --- a/setup.py +++ b/setup.py @@ -73,12 +73,14 @@ def get_version(rel_path): entry_points={ 'pyterrier.java.pre_init': [ 'terrier = pyterrier.terrier.java:_pre_init', + 'anserini = pyterrier.anserini.java:_pre_init', ], 'pyterrier.java.post_init': [ 'core = pyterrier.java._init:_post_init', 'terrier = pyterrier.terrier.java:_post_init', 'index = pyterrier.index:_java_post_init', 'rewrite = pyterrier.rewrite:_java_post_init', + 'anserini = pyterrier.anserini.java:_post_init', ], }, install_requires=requirements, diff --git a/tests/anserini/test_anserini.py b/tests/anserini/test_anserini.py index c0df9870..2168cfe6 100644 --- a/tests/anserini/test_anserini.py +++ b/tests/anserini/test_anserini.py @@ -6,12 +6,9 @@ class AnseriniTestCase(unittest.TestCase): def skip_pyserini(self): - try: - import pyserini.setup - pt.anserini._init_anserini() - except BaseException as e: + if not pt.anserini.is_installed(): if os.environ.get("ANSERINI_TESTING", None) is not None: - raise e + raise RuntimeError('pyserini not installed') else: self.skipTest("Test disabled due to lack of Pyserini") diff --git a/tests/test_maven.py b/tests/test_maven.py index 776eedd5..191c1a7e 100644 --- a/tests/test_maven.py +++ b/tests/test_maven.py @@ -28,11 +28,11 @@ def testVersion(self): def testDownload(self): ver = mavenresolver.latest_version_num("org.terrier", "terrier-python-helper") - jar = mavenresolver.downloadfile("org.terrier", "terrier-python-helper", ver, self.test_dir) + jar = mavenresolver.get_package_jar("org.terrier", "terrier-python-helper", ver, self.test_dir) self.assertTrue(path.exists(jar)) def testJitpack(self): - jar = mavenresolver.downloadfile("com.github.terrierteam", "terrier-ciff", "-SNAPSHOT", self.test_dir) + jar = mavenresolver.get_package_jar("com.github.terrierteam", "terrier-ciff", "-SNAPSHOT", self.test_dir) self.assertTrue(path.exists(jar)) if __name__ == "__main__": From aae99ef96ebc94dbebfc1acf2dfe0841e23db31e Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 13:00:22 +0100 Subject: [PATCH 053/153] I think pyserini==0.25.0 is a bad build somehow, based on the error message --- .github/workflows/anserini.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/anserini.yml b/.github/workflows/anserini.yml index 0df9cb3b..432ce9db 100644 --- a/.github/workflows/anserini.yml +++ b/.github/workflows/anserini.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: python-version: ['3.10'] - anserini-version: ['0.19.0', '0.22.0', '0.25.0', '0.36.0'] + anserini-version: ['==0.19.0', '==0.22.0', '==0.36.0', ''] java: [21] os: ['ubuntu-latest'] terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', @@ -64,5 +64,5 @@ jobs: env: TERRIER_VERSION: ${{ matrix.terrier }} run: | - pip install pyserini==${{ matrix.anserini-version }} faiss-cpu torch + pip install pyserini${{ matrix.anserini-version }} faiss-cpu torch pytest --durations=20 -p no:faulthandler tests/anserini/ From 60e265e39cef950e6821fc0c96201a3d4ef6da4a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 13:01:30 +0100 Subject: [PATCH 054/153] also disable anserini.java._post_init if not installed --- pyterrier/anserini/java.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index b93d6b27..dfa44acd 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -28,6 +28,10 @@ def _pre_init(jnius_config): def _post_init(jnius): + if not is_installed(): + # pyserini not installed, do nothing + return + # Temporarily disable the configure_classpath while pyserini is init'd, otherwise it will try to reconfigure jnius import pyserini.setup _configure_classpath = pyserini.setup.configure_classpath From 0858a8853c4e6181562df8bf85e3a119a43cbf6f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 15:22:40 +0100 Subject: [PATCH 055/153] allow pt.java.required to be used as a function too --- pyterrier/__init__.py | 8 ++-- pyterrier/anserini/java.py | 34 ++++++++-------- pyterrier/anserini/retriever.py | 2 +- pyterrier/apply.py | 19 ++++----- pyterrier/datasets.py | 14 +------ pyterrier/index.py | 12 +++--- pyterrier/java/__init__.py | 5 ++- pyterrier/java/_init.py | 71 ++++++++++++++++++++------------- pyterrier/java/utils.py | 14 +++---- pyterrier/terrier/java.py | 14 +++---- pyterrier/terrier/retriever.py | 2 +- 11 files changed, 102 insertions(+), 93 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 5a90ff4b..b3a96122 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -48,7 +48,7 @@ _helper_version = None -@java.before_init() +@java.before_init def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): """ Function necessary to be called before Terrier classes and methods can be used. @@ -148,7 +148,7 @@ def set_tqdm(type): tqdm.pandas() -@java.required() +@java.required def version(): """ Returns the version string from the underlying Terrier platform. @@ -169,7 +169,7 @@ def check_version(min, helper=False): return currentVer >= min -@java.required() +@java.required @deprecated(version="0.11", reason="Use pt.java.set_log_level() instead") def logging(level): """ @@ -185,7 +185,7 @@ def logging(level): java.set_log_level(level) -@java.required() +@java.required def extend_classpath(mvnpackages): """ Allows to add packages to Terrier's classpath after the JVM has started. diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index dfa44acd..a1aa7cad 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -1,6 +1,6 @@ import os from glob import glob -from typing import Callable, Optional +from typing import Callable, Optional, Union from functools import wraps import pyterrier as pt @@ -61,27 +61,29 @@ def _get_pyserini_jar() -> Optional[str]: latest_jar = max(paths, key=os.path.getctime) return latest_jar - -@pt.java.before_init() +@pt.java.before_init def set_version(version: str): configure.set('version', version) -def required() -> Callable: +def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: """ - Wraps a function that requires pyserini to be installed before running (raises error if not installed). If the JVM - has not yet been started, it runs pt.java.init(), too, similar to pt.java.required(). + Can act as either a standalone function or a function wrapper. + Requires pyserini to be installed (raises error if not installed). If the JVM has not yet been started, it runs + pt.java.init(), too, similar to pt.java.required(). """ - def _required(fn: Callable) -> Callable: - @wraps(fn) - def _wrapper(*args, **kwargs): - if not is_installed(): - raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') - if not pt.java.started(): - pt.java.init() - return fn(*args, **kwargs) - return _wrapper - return _required + if fn is None: + return required(pt.utils.noop)() + + @wraps(fn) + def _wrapper(*args, **kwargs): + if not is_installed(): + raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') + if not pt.java.started(): + pt.java.init() + return fn(*args, **kwargs) + + return _wrapper J = pt.java.JavaClasses({ diff --git a/pyterrier/anserini/retriever.py b/pyterrier/anserini/retriever.py index 4123e941..557fa5cd 100644 --- a/pyterrier/anserini/retriever.py +++ b/pyterrier/anserini/retriever.py @@ -8,7 +8,7 @@ class AnseriniBatchRetrieve(pt.Transformer): """ Allows retrieval from an Anserini index. To use this class, you must first enable anserini using `pt.anserini.enable()`. """ - @required() + @required def __init__(self, index_location, k=1000, wmodel="BM25", verbose=False): """ Construct an AnseriniBatchRetrieve retrieve from pyserini.search.lucene.LuceneSearcher. diff --git a/pyterrier/apply.py b/pyterrier/apply.py index 02380898..115ad138 100644 --- a/pyterrier/apply.py +++ b/pyterrier/apply.py @@ -1,7 +1,9 @@ +from functools import partial from typing import Callable, Any, Dict, Union, Sequence -from .apply_base import ApplyDocumentScoringTransformer, ApplyQueryTransformer, ApplyDocFeatureTransformer, ApplyForEachQuery, ApplyGenericTransformer, Transformer import numpy.typing as npt import pandas as pd +import pyterrier as pt +from pyterrier.apply_base import ApplyDocumentScoringTransformer, ApplyQueryTransformer, ApplyDocFeatureTransformer, ApplyForEachQuery, ApplyGenericTransformer def _bind(instance, func, as_name=None): """ @@ -15,7 +17,7 @@ def _bind(instance, func, as_name=None): setattr(instance, as_name, bound_method) return bound_method -def query(fn : Callable[[pd.Series], str], *args, **kwargs) -> Transformer: +def query(fn : Callable[[pd.Series], str], *args, **kwargs) -> pt.Transformer: """ Create a transformer that takes as input a query, and applies a supplied function to compute a new query formulation. @@ -57,7 +59,7 @@ def _remove_stops(q): """ return ApplyQueryTransformer(fn, *args, **kwargs) -def doc_score(fn : Union[Callable[[pd.Series], float], Callable[[pd.DataFrame], Sequence[float]]], *args, batch_size=None, **kwargs) -> Transformer: +def doc_score(fn : Union[Callable[[pd.Series], float], Callable[[pd.DataFrame], Sequence[float]]], *args, batch_size=None, **kwargs) -> pt.Transformer: """ Create a transformer that takes as input a ranked documents dataframe, and applies a supplied function to compute a new score. Ranks are automatically computed. doc_score() can operate row-wise, or batch-wise, depending on whether batch_size is set. @@ -88,7 +90,7 @@ def _doclen(df): """ return ApplyDocumentScoringTransformer(fn, *args, batch_size=batch_size, **kwargs) -def doc_features(fn : Callable[[pd.Series], npt.NDArray[Any]], *args, **kwargs) -> Transformer: +def doc_features(fn : Callable[[pd.Series], npt.NDArray[Any]], *args, **kwargs) -> pt.Transformer: """ Create a transformer that takes as input a ranked documents dataframe, and applies the supplied function to each document to compute feature scores. @@ -117,7 +119,7 @@ def _features(row): """ return ApplyDocFeatureTransformer(fn, *args, **kwargs) -def rename(columns : Dict[str,str], *args, errors='raise', **kwargs) -> Transformer: +def rename(columns : Dict[str,str], *args, errors='raise', **kwargs) -> pt.Transformer: """ Creates a transformer that renames columns in a dataframe. @@ -131,7 +133,7 @@ def rename(columns : Dict[str,str], *args, errors='raise', **kwargs) -> Transfor """ return ApplyGenericTransformer(lambda df: df.rename(columns=columns, errors=errors), *args, **kwargs) -def generic(fn : Callable[[pd.DataFrame], pd.DataFrame], *args, batch_size=None, **kwargs) -> Transformer: +def generic(fn : Callable[[pd.DataFrame], pd.DataFrame], *args, batch_size=None, **kwargs) -> pt.Transformer: """ Create a transformer that changes the input dataframe to another dataframe in an unspecified way. @@ -154,7 +156,7 @@ def generic(fn : Callable[[pd.DataFrame], pd.DataFrame], *args, batch_size=None, """ return ApplyGenericTransformer(fn, *args, batch_size=batch_size, **kwargs) -def by_query(fn : Callable[[pd.DataFrame], pd.DataFrame], *args, batch_size=None, **kwargs) -> Transformer: +def by_query(fn : Callable[[pd.DataFrame], pd.DataFrame], *args, batch_size=None, **kwargs) -> pt.Transformer: """ As `pt.apply.generic()` except that fn receives a dataframe for one query at at time, rather than all results at once. If batch_size is set, fn will receive no more than batch_size documents for any query. The verbose kwargs controls whether @@ -173,10 +175,9 @@ def __init__(self): _bind(self, lambda self, fn, *args, **kwargs : generic(fn, *args, **kwargs), as_name='generic') def __getattr__(self, item): - from functools import partial return partial(generic_apply, item) -def generic_apply(name, *args, drop=False, **kwargs) -> Transformer: +def generic_apply(name, *args, drop=False, **kwargs) -> pt.Transformer: if drop: return ApplyGenericTransformer(lambda df : df.drop(name, axis=1), *args, **kwargs) diff --git a/pyterrier/datasets.py b/pyterrier/datasets.py index 0d87f574..19c8939b 100644 --- a/pyterrier/datasets.py +++ b/pyterrier/datasets.py @@ -1,5 +1,4 @@ import urllib.request -import wget import os import pandas as pd from .transformer import is_lambda @@ -10,9 +9,7 @@ from .io import autoopen, touch import pyterrier as pt import tarfile -from warnings import warn -import pyterrier TERRIER_DATA_BASE="http://data.terrier.org/indices/" STANDARD_TERRIER_INDEX_FILES = [ @@ -135,7 +132,6 @@ def _configure(self, **kwargs): @staticmethod def download(URLs : Union[str,List[str]], filename : str, **kwargs): - import pyterrier as pt basename = os.path.basename(filename) if isinstance(URLs, str): @@ -331,7 +327,6 @@ def _describe_component(self, component): return True def get_corpus(self, **kwargs): - import pyterrier as pt return list(filter(lambda f : not f.endswith(".complete"), pt.io.find_files(self._get_all_files("corpus", **kwargs)))) def get_corpus_iter(self, **kwargs): @@ -345,14 +340,12 @@ def get_corpus_lang(self): return None def get_qrels(self, variant=None): - import pyterrier as pt filename, type = self._get_one_file("qrels", variant) if type == "direct": return filename return pt.io.read_qrels(filename) def get_topics(self, variant=None, **kwargs): - import pyterrier as pt file, filetype = self._get_one_file("topics", variant) if filetype is None or filetype in pt.io.SUPPORTED_TOPICS_FORMATS: return pt.io.read_topics(file, format=filetype, **kwargs) @@ -366,7 +359,6 @@ def get_topics_lang(self): return None def get_index(self, variant=None, **kwargs): - import pyterrier as pt if self.name == "50pct" and variant is None: variant="ex1" thedir = self._get_all_files("index", variant=variant, **kwargs) @@ -461,11 +453,11 @@ def get_topics(self, variant=None, tokenise_query=True): # apply pyterrier tokenisation (otherwise the queries may not play well with batchretrieve) if tokenise_query and 'query' in df: + pt.java.required() # java is required for this path tokeniser = pt.terrier.J.Tokenizer.getTokeniser() def pt_tokenise(text): return ' '.join(tokeniser.getTokens(text)) df['query'] = df['query'].apply(pt_tokenise) - return df def get_topics_lang(self): @@ -742,7 +734,6 @@ def msmarco_document_generate(dataset): # remove WT- prefix from topics def remove_prefix(self, component, variant): - import pyterrier as pt topics_file, type = self._get_one_file("topics_prefixed", variant) if type in pt.io.SUPPORTED_TOPICS_FORMATS: topics = pt.io.read_topics(topics_file, type) @@ -754,7 +745,6 @@ def remove_prefix(self, component, variant): # a function to fix the namedpage TREC Web tracks 2001 and 2002 def parse_desc_only(self, component, variant): - import pyterrier as pt file, type = self._get_one_file("topics_desc_only", variant=variant) topics = pt.io.read_topics(file, format="trec", whitelist=["DESC"], blacklist=None) topics["qid"] = topics.apply(lambda row: row["qid"].replace("NP", ""), axis=1) @@ -1032,7 +1022,7 @@ def _merge_years(self, component, variant): #"index": # [(filename, VASWANI_INDEX_BASE + filename) for filename in STANDARD_TERRIER_INDEX_FILES + ["data.meta-0.fsomapfile"]], "info_url" : "http://ir.dcs.gla.ac.uk/resources/test_collections/npl/", - "corpus_iter" : lambda dataset, **kwargs : pyterrier.index.treccollection2textgen(dataset.get_corpus(), num_docs=11429, verbose=kwargs.get("verbose", False)) + "corpus_iter" : lambda dataset, **kwargs : pt.index.treccollection2textgen(dataset.get_corpus(), num_docs=11429, verbose=kwargs.get("verbose", False)) } DATASET_MAP = { diff --git a/pyterrier/index.py b/pyterrier/index.py index 765989f4..1d2b42d7 100644 --- a/pyterrier/index.py +++ b/pyterrier/index.py @@ -314,7 +314,7 @@ def getDocument(self): 'warc' : 'org.terrier.indexing.WARC10Collection' } -@pt.java.required() +@pt.java.required def createCollection(files_path : List[str], coll_type : str = 'trec', props = {}): if coll_type in type_to_class: collectionClzName = type_to_class[coll_type] @@ -531,7 +531,7 @@ def _to_class(this): if isinstance(this, str): return this - @pt.java.required() + @pt.java.required def stem(self, tok): if self not in _stemmer_cache: clz_name = self._to_class(self) @@ -907,7 +907,7 @@ class DFIndexer(TerrierIndexer): Use this Indexer if you wish to index a pandas.Dataframe """ - @pt.java.required() + @pt.java.required def index(self, text, *args, **kwargs): """ Index the specified @@ -1048,7 +1048,7 @@ class _IterDictIndexer_nofifo(_BaseIterDictIndexer): Use this Indexer if you wish to index an iter of dicts (possibly with multiple fields). This version is used for Windows -- which doesn't support the faster fifo implementation. """ - @pt.java.required() + @pt.java.required def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None): """ Index the specified iter of dicts with the (optional) specified fields @@ -1119,7 +1119,7 @@ class _IterDictIndexer_fifo(_BaseIterDictIndexer): This version is optimized by using multiple threads and POSIX fifos to tranfer data, which ends up being much faster. """ - @pt.java.required() + @pt.java.required def index(self, it, fields=('text',), meta=None, meta_lengths=None): """ Index the specified iter of dicts with the (optional) specified fields @@ -1277,7 +1277,7 @@ def __init__(self, self.meta_reverse = meta_reverse self.meta_tags = meta_tags - @pt.java.required() + @pt.java.required def index(self, files_path : Union[str,List[str]]): """ Index the specified TREC formatted files diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 6115bdb8..9d23b28d 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,5 +1,5 @@ from pyterrier.java import mavenresolver -from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, before_init, autoclass, cast +from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast from pyterrier.java import config from pyterrier.java.config import configure from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array, JavaClasses, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level @@ -7,5 +7,6 @@ __all__ = [ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', - 'redirect_stdouterr', 'required', 'set_log_level', 'set_memory_limit', 'set_redirect_io', 'started', + 'redirect_stdouterr', 'required', 'required_raise', 'set_log_level', 'set_memory_limit', 'set_redirect_io', + 'started', ] diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 5f87f90c..e54590ae 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -1,7 +1,7 @@ import os from warnings import warn from functools import wraps -from typing import Dict, Any, Tuple, Callable +from typing import Dict, Any, Tuple, Callable, Optional, Union from copy import deepcopy import pyterrier as pt import pyterrier.java.config @@ -86,38 +86,53 @@ def started() -> bool: return _started -def required(raise_on_not_started: bool = False) -> Callable: +def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: """ - Wraps a function that requires the Java Virtual Machine to be started before running. If the JVM has not yet - been started, it runs pt.java.init() or raises an error, depending on the value of raise_on_not_started. + Requires the Java Virtual Machine to be started. If the JVM has not yet been started, it runs pt.java.init(). + + Can be used as either a standalone function or a function decorator. """ - def _required(fn: Callable) -> Callable: - @wraps(fn) - def _wrapper(*args, **kwargs): - if not started(): - if raise_on_not_started: - raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') - else: - init() - return fn(*args, **kwargs) - return _wrapper - return _required + if fn is None: + return required(pt.utils.noop)() + @wraps(fn) + def _wrapper(*args, **kwargs): + if not started(): + init() + return fn(*args, **kwargs) + return _wrapper -def before_init() -> Callable: +def required_raise(fn: Optional[Callable] = None) -> Union[Callable, bool]: """ - Wraps a function that can only be run before the Java Virtual Machine has started. If the JVM has already started, - an error is raised. + Similar to `pt.java.required`, but raises an error if called before pt.java.init(). """ - def _before_init(fn: Callable) -> Callable: - @wraps(fn) - def _wrapper(*args, **kwargs): - if started(): - raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') - return fn(*args, **kwargs) - return _wrapper - return _before_init + if fn is None: + return required_raise(pt.utils.noop)() + + @wraps(fn) + def _wrapper(*args, **kwargs): + if not started(): + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + return fn(*args, **kwargs) + return _wrapper + + +def before_init(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + If the JVM has already started, an error is raised. + + Can be used as either a standalone function or a function decorator. + """ + if fn is None: + return before_init(pt.utils.noop)() + + @wraps(fn) + def _wrapper(*args, **kwargs): + if started(): + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + return fn(*args, **kwargs) + return _wrapper def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: @@ -137,7 +152,7 @@ def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: ) -@required(raise_on_not_started=True) +@required_raise def autoclass(*args, **kwargs): """ Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. @@ -146,7 +161,7 @@ def autoclass(*args, **kwargs): return jnius.autoclass(*args, **kwargs) -@required(raise_on_not_started=True) +@required_raise def cast(*args, **kwargs): """ Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 418d65bb..b5a0e3a7 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -1,5 +1,5 @@ import pyterrier as pt -from pyterrier.java import required, before_init, started, configure, mavenresolver +from pyterrier.java import required_raise, before_init, started, configure, mavenresolver from typing import Dict, Optional @@ -76,12 +76,12 @@ def unsign(signed): return bytearray([ unsign(buffer.get(offset)) for offset in range(buffer.capacity()) ]) -@before_init() +@before_init def add_jar(jar_path): configure.append('jars', jar_path) -@before_init() +@before_init def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): if version is None or version == 'snapshot': version = mavenresolver.latest_version_num(org_name, package_name) @@ -89,17 +89,17 @@ def add_package(org_name: str = None, package_name: str = None, version: str = N add_jar(file_name) -@before_init() +@before_init def set_memory_limit(mem: Optional[float]): configure(mem=mem) -@before_init() +@before_init def add_option(option: str): configure.append('options', option) -@before_init() +@before_init def set_redirect_io(redirect_io: bool): configure(redirect_io=redirect_io) @@ -130,7 +130,7 @@ def __init__(self, mapping: Dict[str, str]): def __dir__(self): return list(self._mapping.keys()) - @required(raise_on_not_started=True) + @required_raise def __getattr__(self, key): if key not in self._mapping: return AttributeError(f'{self} has no attribute {key!r}') diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 9b74c8ce..6c8016fb 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -18,17 +18,17 @@ }) -@pt.java.before_init() +@pt.java.before_init def set_terrier_version(version: Optional[str] = None): configure(terrier_version=version) -@pt.java.before_init() +@pt.java.before_init def set_helper_version(version: Optional[str] = None): configure(helper_version=version) -@pt.java.before_init() +@pt.java.before_init def enable_prf(version: Optional[str] = None): pt.java.add_package('com.github.terrierteam', 'terrier-prf', version) @@ -271,7 +271,7 @@ def _index_corpusiter_direct_pretok(self): -@pt.java.required() +@pt.java.required def extend_package(package): """ Allows to add packages to Terrier's classpath after the JVM has started. @@ -285,7 +285,7 @@ def extend_package(package): mvnr.addDependencies(package_list) -@pt.java.required() +@pt.java.required def set_property(k, v): """ Allows to set a property in Terrier's global properties configuration. Example:: @@ -303,7 +303,7 @@ def set_property(k, v): J.ApplicationSetup.bootstrapInitialisation(_properties) -@pt.java.required() +@pt.java.required def set_properties(kwargs): """ Allows to set many properties in Terrier's global properties configuration @@ -313,7 +313,7 @@ def set_properties(kwargs): J.ApplicationSetup.bootstrapInitialisation(_properties) -@pt.java.required() +@pt.java.required def run(cmd, args=[]): """ Allows to run a Terrier executable class, i.e. one that can be access from the `bin/terrier` commandline programme. diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 0a0c808a..44a44aa4 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -85,7 +85,7 @@ class BatchRetrieveBase(pt.Transformer, Symbol): Attributes: verbose(bool): If True transform method will display progress """ - @pt.java.required() + @pt.java.required def __init__(self, verbose=0, **kwargs): super().__init__(kwargs) self.verbose = verbose From feddbc01b6f71f7e7e82c1f8f1a7f4576c2dad41 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 16:26:49 +0100 Subject: [PATCH 056/153] update pt.io for pt.java --- pyterrier/io.py | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/pyterrier/io.py b/pyterrier/io.py index ab543763..84b76324 100644 --- a/pyterrier/io.py +++ b/pyterrier/io.py @@ -1,13 +1,17 @@ +import re import os +from types import GeneratorType +import xml.etree.ElementTree as ET +import numpy as np import pandas as pd from contextlib import contextmanager +import pyterrier as pt def coerce_dataframe(obj): if isinstance(obj, pd.DataFrame): return obj - import types - if isinstance(obj, types.GeneratorType): + if isinstance(obj, GeneratorType): #its a generator, lets assume it generates dataframes rtr=[] for x in obj: @@ -41,7 +45,6 @@ def find_files(dir): Returns: paths(list): A list of the paths to the files """ - import os lst = [] files = [] for (dirpath, dirnames, filenames) in os.walk(dir, followlinks=True): @@ -131,7 +134,6 @@ def touch(fname, mode=0o666, dir_fd=None, **kwargs): Eqiuvalent to touch command on linux. Implementation from https://stackoverflow.com/a/1160227 """ - import os flags = os.O_CREAT | os.O_APPEND with os.fdopen(os.open(fname, flags=flags, mode=mode, dir_fd=dir_fd)) as f: os.utime(f.fileno() if os.utime in os.supports_fd else fname, @@ -179,7 +181,6 @@ def read_results(filename, format="trec", topics=None, dataset=None, **kwargs): if dataset is not None: assert topics is None, "Cannot provide both dataset and topics" if isinstance(dataset, str): - import pyterrier as pt dataset = pt.get_dataset(dataset) topics = dataset.get_topics() if topics is not None: @@ -195,8 +196,6 @@ def _parse_line(l): # my $label = shift @parts; # my %hash = map {split /:/, $_} @parts; # return ($label, $comment, %hash); - import re - import numpy as np line, comment = l.split("#") line = line.strip() parts = re.split(r'\s+|:', line) @@ -299,11 +298,10 @@ def read_topics(filename, format="trec", **kwargs): raise ValueError("Format %s not known, supported types are %s" % (format, str(SUPPORTED_TOPICS_FORMATS.keys()))) return SUPPORTED_TOPICS_FORMATS[format](filename, **kwargs) +@pt.java.required def _read_topics_trec(file_path, doc_tag="TOP", id_tag="NUM", whitelist=["TITLE"], blacklist=["DESC","NARR"]): - from jnius import autoclass - from . import check_version - assert check_version("5.3") - trecquerysource = autoclass('org.terrier.applications.batchquerying.TRECQuery') + assert pt.check_version("5.3") + trecquerysource = pt.java.autoclass('org.terrier.applications.batchquerying.TRECQuery') tqs = trecquerysource( [file_path], doc_tag, id_tag, whitelist, blacklist, # help jnius select the correct constructor @@ -316,6 +314,7 @@ def _read_topics_trec(file_path, doc_tag="TOP", id_tag="NUM", whitelist=["TITLE" topics_dt = pd.DataFrame(topics_lst,columns=['qid','query']) return topics_dt +@pt.java.required def _read_topics_trecxml(filename, tags=["query", "question", "narrative"], tokenise=True): """ Parse a file containing topics in TREC-like XML format @@ -326,14 +325,11 @@ def _read_topics_trecxml(filename, tags=["query", "question", "narrative"], toke Returns: pandas.Dataframe with columns=['qid','query'] """ - import xml.etree.ElementTree as ET - import pandas as pd tags=set(tags) topics=[] tree = ET.parse(filename) root = tree.getroot() - from jnius import autoclass - tokeniser = autoclass("org.terrier.indexing.tokenisation.Tokeniser").getTokeniser() + tokeniser = pt.java.autoclass("org.terrier.indexing.tokenisation.Tokeniser").getTokeniser() for child in root.iter('topic'): try: qid = child.attrib["number"] @@ -349,6 +345,7 @@ def _read_topics_trecxml(filename, tags=["query", "question", "narrative"], toke topics.append((str(qid), query.strip())) return pd.DataFrame(topics, columns=["qid", "query"]) +@pt.java.required def _read_topics_singleline(filepath, tokenise=True): """ Parse a file containing topics, one per line. This function uses Terrier, so supports reading direct from URLs. @@ -362,10 +359,8 @@ def _read_topics_singleline(filepath, tokenise=True): pandas.Dataframe with columns=['qid','query'] """ rows = [] - from jnius import autoclass - from . import check_version - assert check_version("5.3") - slqIter = autoclass("org.terrier.applications.batchquerying.SingleLineTRECQuery")(filepath, tokenise) + assert pt.check_version("5.3") + slqIter = pt.java.autoclass("org.terrier.applications.batchquerying.SingleLineTRECQuery")(filepath, tokenise) for q in slqIter: rows.append([slqIter.getQueryId(), q]) return pd.DataFrame(rows, columns=["qid", "query"]) From 85b92cdb0f08df1f97c29b8b5ba37d8f326f1b43 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 16:29:26 +0100 Subject: [PATCH 057/153] update pt.ltr for pt.java --- pyterrier/ltr.py | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/pyterrier/ltr.py b/pyterrier/ltr.py index f8b92502..5293dc61 100644 --- a/pyterrier/ltr.py +++ b/pyterrier/ltr.py @@ -1,14 +1,12 @@ - -from . import Transformer, Estimator -from .apply import doc_score, doc_features -from .model import add_ranks from typing import Sequence, Union, Tuple -import numpy as np, pandas as pd +import numpy as np +import pandas as pd +import pyterrier as pt FeatureList = Union[Sequence[int], int] -class AblateFeatures(Transformer): +class AblateFeatures(pt.Transformer): def __init__(self, fids: FeatureList): self.fids = fids if isinstance(fids, list) else [fids] @@ -27,7 +25,7 @@ def _reset(row): topics_and_res["features"] = topics_and_res.apply(_reset, axis=1) return topics_and_res -class KeepFeatures(Transformer): +class KeepFeatures(pt.Transformer): def __init__(self, fids : FeatureList): self.fids = fids if isinstance(fids, list) else [fids] @@ -40,7 +38,7 @@ def transform(self, topics_and_res): topics_and_res["features"] = topics_and_res.apply(lambda row: row["features"][self.fids], axis=1) return topics_and_res -class RegressionTransformer(Estimator): +class RegressionTransformer(pt.Estimator): """ This class simplifies the use of Scikit-learn's techniques for learning-to-rank. """ @@ -93,7 +91,7 @@ def transform(self, test_DF): raise ValueError("Expected %d features, but found %d features" % (len(self.learner.feature_importances_), found_numf)) test_DF["score"] = self.learner.predict(np.stack(test_DF["features"].values)) - return add_ranks(test_DF) + return pt.model.add_ranks(test_DF) class LTRTransformer(RegressionTransformer): """ @@ -146,7 +144,7 @@ def _count_by_topic(res : pd.DataFrame) -> Tuple[Sequence[int], pd.DataFrame]: ) self.num_f = tr_res.iloc[0].features.shape[0] -class FastRankEstimator(Estimator): +class FastRankEstimator(pt.Estimator): """ This class simplifies the use of FastRank's techniques for learning-to-rank. """ @@ -212,9 +210,9 @@ def transform(self, topics_and_docs_Test): rtr = dataset.predict_scores(self.model) scores = [rtr[i] for i in range(len(rtr))] test_DF["score"] = scores - return add_ranks(test_DF) + return pt.model.add_ranks(test_DF) -def ablate_features(fids : FeatureList) -> Transformer: +def ablate_features(fids : FeatureList) -> pt.Transformer: """ Ablates features (sets feature value to 0) from a pipeline. This is useful for performing feature ablation studies, whereby a feature is removed from the pipeline @@ -225,7 +223,7 @@ def ablate_features(fids : FeatureList) -> Transformer: """ return AblateFeatures(fids) -def keep_features(fids : FeatureList) -> Transformer: +def keep_features(fids : FeatureList) -> pt.Transformer: """ Reduces the features in a pipeline to only those mentioned. This is useful for performing feature ablation studies, whereby only some features are kept @@ -236,7 +234,7 @@ def keep_features(fids : FeatureList) -> Transformer: """ return KeepFeatures(fids) -def feature_to_score(fid : int) -> Transformer: +def feature_to_score(fid : int) -> pt.Transformer: """ Applies a specified feature for ranking. Useful for evaluating which of a number of pre-computed features are useful for ranking. @@ -244,9 +242,9 @@ def feature_to_score(fid : int) -> Transformer: Args: fid: a single feature id that should be kept """ - return doc_score(lambda row : row["features"][fid]) + return pt.apply.doc_score(lambda row : row["features"][fid]) -def apply_learned_model(learner, form : str = 'regression', **kwargs) -> Transformer: +def apply_learned_model(learner, form : str = 'regression', **kwargs) -> pt.Transformer: """ Results in a transformer that can take in documents that have a "features" column, and pass that to the specified learner via its transform() function, to obtain the @@ -267,7 +265,7 @@ def apply_learned_model(learner, form : str = 'regression', **kwargs) -> Transfo return FastRankEstimator(learner, **kwargs) return RegressionTransformer(learner, **kwargs) -def score_to_feature() -> Transformer: +def score_to_feature() -> pt.Transformer: """ Takes the document's "score" from the score attribute, and uses it as a single feature. In particular, a feature union operator does not use any score of the documents in the @@ -284,4 +282,4 @@ def score_to_feature() -> Transformer: three_features = cands >> (bm25f ** pl2f ** pt.ltr.score_to_feature()) """ - return doc_features(lambda row : np.array(row["score"])) \ No newline at end of file + return pt.apply.doc_features(lambda row : np.array(row["score"])) From bb35f2b3397f3a06b79799c151f6ffb0bd450998 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 16:30:37 +0100 Subject: [PATCH 058/153] update pt.model for pt.java --- pyterrier/model.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pyterrier/model.py b/pyterrier/model.py index 279e7cd9..f17a15c3 100644 --- a/pyterrier/model.py +++ b/pyterrier/model.py @@ -1,3 +1,5 @@ +import re +import math import numpy as np import pandas as pd from typing import List, Sequence @@ -68,7 +70,6 @@ def query_columns(df : pd.DataFrame, qid=True) -> Sequence[str]: rtr.append("qid") if "query" in columns: rtr.append("query") - import re query_col_re = re.compile('^query_[\\d]+') for c in columns: if query_col_re.search(c): @@ -222,8 +223,6 @@ def split_df(df : pd.DataFrame, N) -> List[pd.DataFrame]: type = "D" else: raise ValueError("Dataframe is not of type D,Q,R") - - from math import ceil def chunks(df, n): """Yield successive n-sized chunks from df.""" @@ -231,13 +230,13 @@ def chunks(df, n): yield df.iloc[ i: min(len(df),i + n)] if type == "Q" or type == "D": - splits = list( chunks(df, ceil(len(df)/N))) + splits = list( chunks(df, math.ceil(len(df)/N))) return splits rtr = [] grouper = df.groupby("qid") this_group = [] - chunk_size = ceil(len(grouper)/N) + chunk_size = math.ceil(len(grouper)/N) for qid, group in grouper: this_group.append(group) if len(this_group) == chunk_size: From 6b334539b89eb787cc87283a37fc2b9a9aca5a1f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 16:31:39 +0100 Subject: [PATCH 059/153] Revert "update pt.model for pt.java" This reverts commit bb35f2b3397f3a06b79799c151f6ffb0bd450998. --- pyterrier/model.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pyterrier/model.py b/pyterrier/model.py index f17a15c3..279e7cd9 100644 --- a/pyterrier/model.py +++ b/pyterrier/model.py @@ -1,5 +1,3 @@ -import re -import math import numpy as np import pandas as pd from typing import List, Sequence @@ -70,6 +68,7 @@ def query_columns(df : pd.DataFrame, qid=True) -> Sequence[str]: rtr.append("qid") if "query" in columns: rtr.append("query") + import re query_col_re = re.compile('^query_[\\d]+') for c in columns: if query_col_re.search(c): @@ -223,6 +222,8 @@ def split_df(df : pd.DataFrame, N) -> List[pd.DataFrame]: type = "D" else: raise ValueError("Dataframe is not of type D,Q,R") + + from math import ceil def chunks(df, n): """Yield successive n-sized chunks from df.""" @@ -230,13 +231,13 @@ def chunks(df, n): yield df.iloc[ i: min(len(df),i + n)] if type == "Q" or type == "D": - splits = list( chunks(df, math.ceil(len(df)/N))) + splits = list( chunks(df, ceil(len(df)/N))) return splits rtr = [] grouper = df.groupby("qid") this_group = [] - chunk_size = math.ceil(len(grouper)/N) + chunk_size = ceil(len(grouper)/N) for qid, group in grouper: this_group.append(group) if len(this_group) == chunk_size: From 6ec9135a08abaab13ee614eb5d47c71f9fb364eb Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 16:32:03 +0100 Subject: [PATCH 060/153] Revert "update pt.ltr for pt.java" This reverts commit 85b92cdb0f08df1f97c29b8b5ba37d8f326f1b43. --- pyterrier/ltr.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/pyterrier/ltr.py b/pyterrier/ltr.py index 5293dc61..f8b92502 100644 --- a/pyterrier/ltr.py +++ b/pyterrier/ltr.py @@ -1,12 +1,14 @@ + +from . import Transformer, Estimator +from .apply import doc_score, doc_features +from .model import add_ranks from typing import Sequence, Union, Tuple -import numpy as np -import pandas as pd -import pyterrier as pt +import numpy as np, pandas as pd FeatureList = Union[Sequence[int], int] -class AblateFeatures(pt.Transformer): +class AblateFeatures(Transformer): def __init__(self, fids: FeatureList): self.fids = fids if isinstance(fids, list) else [fids] @@ -25,7 +27,7 @@ def _reset(row): topics_and_res["features"] = topics_and_res.apply(_reset, axis=1) return topics_and_res -class KeepFeatures(pt.Transformer): +class KeepFeatures(Transformer): def __init__(self, fids : FeatureList): self.fids = fids if isinstance(fids, list) else [fids] @@ -38,7 +40,7 @@ def transform(self, topics_and_res): topics_and_res["features"] = topics_and_res.apply(lambda row: row["features"][self.fids], axis=1) return topics_and_res -class RegressionTransformer(pt.Estimator): +class RegressionTransformer(Estimator): """ This class simplifies the use of Scikit-learn's techniques for learning-to-rank. """ @@ -91,7 +93,7 @@ def transform(self, test_DF): raise ValueError("Expected %d features, but found %d features" % (len(self.learner.feature_importances_), found_numf)) test_DF["score"] = self.learner.predict(np.stack(test_DF["features"].values)) - return pt.model.add_ranks(test_DF) + return add_ranks(test_DF) class LTRTransformer(RegressionTransformer): """ @@ -144,7 +146,7 @@ def _count_by_topic(res : pd.DataFrame) -> Tuple[Sequence[int], pd.DataFrame]: ) self.num_f = tr_res.iloc[0].features.shape[0] -class FastRankEstimator(pt.Estimator): +class FastRankEstimator(Estimator): """ This class simplifies the use of FastRank's techniques for learning-to-rank. """ @@ -210,9 +212,9 @@ def transform(self, topics_and_docs_Test): rtr = dataset.predict_scores(self.model) scores = [rtr[i] for i in range(len(rtr))] test_DF["score"] = scores - return pt.model.add_ranks(test_DF) + return add_ranks(test_DF) -def ablate_features(fids : FeatureList) -> pt.Transformer: +def ablate_features(fids : FeatureList) -> Transformer: """ Ablates features (sets feature value to 0) from a pipeline. This is useful for performing feature ablation studies, whereby a feature is removed from the pipeline @@ -223,7 +225,7 @@ def ablate_features(fids : FeatureList) -> pt.Transformer: """ return AblateFeatures(fids) -def keep_features(fids : FeatureList) -> pt.Transformer: +def keep_features(fids : FeatureList) -> Transformer: """ Reduces the features in a pipeline to only those mentioned. This is useful for performing feature ablation studies, whereby only some features are kept @@ -234,7 +236,7 @@ def keep_features(fids : FeatureList) -> pt.Transformer: """ return KeepFeatures(fids) -def feature_to_score(fid : int) -> pt.Transformer: +def feature_to_score(fid : int) -> Transformer: """ Applies a specified feature for ranking. Useful for evaluating which of a number of pre-computed features are useful for ranking. @@ -242,9 +244,9 @@ def feature_to_score(fid : int) -> pt.Transformer: Args: fid: a single feature id that should be kept """ - return pt.apply.doc_score(lambda row : row["features"][fid]) + return doc_score(lambda row : row["features"][fid]) -def apply_learned_model(learner, form : str = 'regression', **kwargs) -> pt.Transformer: +def apply_learned_model(learner, form : str = 'regression', **kwargs) -> Transformer: """ Results in a transformer that can take in documents that have a "features" column, and pass that to the specified learner via its transform() function, to obtain the @@ -265,7 +267,7 @@ def apply_learned_model(learner, form : str = 'regression', **kwargs) -> pt.Tran return FastRankEstimator(learner, **kwargs) return RegressionTransformer(learner, **kwargs) -def score_to_feature() -> pt.Transformer: +def score_to_feature() -> Transformer: """ Takes the document's "score" from the score attribute, and uses it as a single feature. In particular, a feature union operator does not use any score of the documents in the @@ -282,4 +284,4 @@ def score_to_feature() -> pt.Transformer: three_features = cands >> (bm25f ** pl2f ** pt.ltr.score_to_feature()) """ - return pt.apply.doc_features(lambda row : np.array(row["score"])) + return doc_features(lambda row : np.array(row["score"])) \ No newline at end of file From ab379dcb44f0f86fc9b79adc38643e887ec3424e Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:09:44 +0100 Subject: [PATCH 061/153] move rewrite.py and index.py under terrier/ and update for pt.java --- pyterrier/__init__.py | 5 +- pyterrier/java/utils.py | 4 + pyterrier/terrier/__init__.py | 9 ++ pyterrier/{ => terrier}/index.py | 148 +++++++++-------------------- pyterrier/terrier/java.py | 26 +++++ pyterrier/{ => terrier}/rewrite.py | 86 +++++++---------- setup.py | 11 +-- 7 files changed, 127 insertions(+), 162 deletions(-) rename pyterrier/{ => terrier}/index.py (91%) rename pyterrier/{ => terrier}/rewrite.py (90%) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index b3a96122..5b150ede 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -11,7 +11,7 @@ from pyterrier.java import started, redirect_stdouterr # for backward compat, maybe remove/deprecate some day? from pyterrier import terrier -from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run +from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from pyterrier import anserini @@ -19,7 +19,6 @@ from . import cache from . import debug -from . import index from . import io from . import measures from . import model @@ -27,12 +26,10 @@ from . import ltr from . import parallel from . import pipelines -from . import rewrite from . import text from . import transformer from .datasets import get_dataset, find_datasets, list_datasets -from .index import Indexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index b5a0e3a7..f40140ed 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -144,4 +144,8 @@ def __getattr__(self, key): 'Properties': 'java.util.Properties', 'PTUtils': 'org.terrier.python.PTUtils', 'System': 'java.lang.System', + 'StringReader': 'java.io.StringReader', + 'HashMap': 'java.util.HashMap', + 'Arrays': 'java.util.Arrays', + 'Array': 'java.lang.reflect.Array', }) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index ea1f5b40..3cfcfb91 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -3,6 +3,9 @@ from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J, set_property, set_properties, run from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve from pyterrier.terrier.index_factory import IndexFactory +from pyterrier.terrier import index +from pyterrier.terrier.index import FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser +from pyterrier.terrier import rewrite TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve @@ -14,6 +17,12 @@ # retrieval 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', + # indexing + 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', + + # rewriting + 'rewrite', + # misc 'IndexFactory', 'set_property', 'set_properties', 'run', ] diff --git a/pyterrier/index.py b/pyterrier/terrier/index.py similarity index 91% rename from pyterrier/index.py rename to pyterrier/terrier/index.py index 1d2b42d7..82932d0e 100644 --- a/pyterrier/index.py +++ b/pyterrier/terrier/index.py @@ -4,7 +4,6 @@ from enum import Enum import pandas as pd -from . import Indexer import os import enum import json @@ -20,26 +19,12 @@ import more_itertools import pyterrier as pt -StringReader = None -HashMap = None -TaggedDocument = None -FlatJSONDocument = None -Tokeniser = None -TRECCollection = None -SimpleFileCollection = None -BasicIndexer = None -BlockIndexer = None -Collection = None -BasicSinglePassIndexer = None -BlockSinglePassIndexer = None -BasicMemoryIndexer = None -Arrays = None -Array = None -ApplicationSetup = None -Properties = None -CLITool = None -StructureMerger = None -BlockStructureMerger = None + +# TODO: ensure functions are properly marked up with @pt.java.required +# TODO: some stuff doesn't seem like they belong here, like TerrierTokeniser and TerrierStopwords. Move this out? + + +# These classes are only defined after pt.java.init() DocListIterator = None PythonListIterator = None FlatJSONDocumentIterator = None @@ -47,66 +32,24 @@ TQDMSizeCollection = None # for backward compatibility -class IterDictIndexerBase(Indexer): +class IterDictIndexerBase(pt.Indexer): @deprecated(version="0.9", reason="Use pt.Indexer instead of IterDictIndexerBase") def __init__(self, *args, **kwargs): - super(Indexer, self).__init__(*args, **kwargs) + super(pt.Indexer, self).__init__(*args, **kwargs) # lastdoc ensures that a Document instance from a Collection is not GCd before Java has used it. -lastdoc=None +lastdoc = None def _java_post_init(jnius): - autoclass = pt.java.autoclass - global StringReader - global HashMap - global TaggedDocument - global FlatJSONDocument - global Tokeniser - global TRECCollection - global SimpleFileCollection - global BasicIndexer - global BlockIndexer - global BasicSinglePassIndexer - global BlockSinglePassIndexer - global BasicMemoryIndexer - global Collection - global Arrays - global Array - global ApplicationSetup - global Properties - global CLITool - global StructureMerger - global BlockStructureMerger global DocListIterator global PythonListIterator global FlatJSONDocumentIterator global TQDMCollection global TQDMSizeCollection - StringReader = autoclass("java.io.StringReader") - HashMap = autoclass("java.util.HashMap") - TaggedDocument = autoclass("org.terrier.indexing.TaggedDocument") - FlatJSONDocument = autoclass("org.terrier.indexing.FlatJSONDocument") - Tokeniser = autoclass("org.terrier.indexing.tokenisation.Tokeniser") - TRECCollection = autoclass("org.terrier.indexing.TRECCollection") - SimpleFileCollection = autoclass("org.terrier.indexing.SimpleFileCollection") - BasicIndexer = autoclass("org.terrier.structures.indexing.classical.BasicIndexer") - BlockIndexer = autoclass("org.terrier.structures.indexing.classical.BlockIndexer") - BasicSinglePassIndexer = autoclass("org.terrier.structures.indexing.singlepass.BasicSinglePassIndexer") - BlockSinglePassIndexer = autoclass("org.terrier.structures.indexing.singlepass.BlockSinglePassIndexer") - BasicMemoryIndexer = autoclass("org.terrier.realtime.memory.MemoryIndexer" if pt.check_version("5.7") else "org.terrier.python.MemoryIndexer") - Collection = autoclass("org.terrier.indexing.Collection") - Arrays = autoclass("java.util.Arrays") - Array = autoclass('java.lang.reflect.Array') - ApplicationSetup = autoclass('org.terrier.utility.ApplicationSetup') - Properties = autoclass('java.util.Properties') - CLITool = autoclass("org.terrier.applications.CLITool") - StructureMerger = autoclass("org.terrier.structures.merging.StructureMerger") - BlockStructureMerger = autoclass("org.terrier.structures.merging.BlockStructureMerger") - class DocListIterator(jnius.PythonJavaClass): - dpl_class = autoclass("org.terrier.structures.indexing.DocumentPostingList") - tuple_class = autoclass("org.terrier.structures.collections.MapEntry") + dpl_class = pt.java.autoclass("org.terrier.structures.indexing.DocumentPostingList") + tuple_class = pt.java.autoclass("org.terrier.structures.collections.MapEntry") __javainterfaces__ = [ 'java/util/Iterator', ] @@ -120,7 +63,7 @@ def __init__(self, pyiterator): @staticmethod def pyDictToMap(a_dict): #returns Map - rtr = HashMap() + rtr = pt.java.J.HashMap() for k,v in a_dict.items(): rtr.put(k, v) return rtr @@ -162,7 +105,7 @@ class TQDMCollection(jnius.PythonJavaClass): def __init__(self, collection): super(TQDMCollection, self).__init__() - assert isinstance(collection, autoclass("org.terrier.indexing.MultiDocumentFileCollection")) + assert isinstance(collection, pt.java.autoclass("org.terrier.indexing.MultiDocumentFileCollection")) self.collection = collection size = self.collection.FilesToProcess.size() from . import tqdm @@ -267,7 +210,7 @@ def next(self): self._next = next(self._it, StopIteration) if result is not StopIteration: global lastdoc - lastdoc = FlatJSONDocument(json.dumps(result)) + lastdoc = pt.terrier.J.FlatJSONDocument(json.dumps(result)) return lastdoc return None @@ -321,10 +264,10 @@ def createCollection(files_path : List[str], coll_type : str = 'trec', props = { else: collectionClzName = coll_type collectionClzName = collectionClzName.split(",") - _props = HashMap() + _props = pt.java.J.HashMap() for k, v in props.items(): _props[k] = v - ApplicationSetup.getProperties().putAll(_props) + pt.terrier.J.ApplicationSetup.getProperties().putAll(_props) cls_string = pt.java.autoclass("java.lang.String")._class cls_list = pt.java.autoclass("java.util.List")._class if len(files_path) == 0: @@ -336,6 +279,7 @@ def createCollection(files_path : List[str], coll_type : str = 'trec', props = { [asList, pt.java.autoclass("org.terrier.utility.TagSet").TREC_DOC_TAGS, "", ""]) return colObj +@pt.java.required def treccollection2textgen( files : List[str], meta : List[str] = ["docno"], @@ -408,13 +352,13 @@ def _TaggedDocumentSetup( abstract_names=meta_tags.keys() abstract_lengths=[str(meta[name]) for name in abstract_names] - ApplicationSetup.setProperty("TaggedDocument.abstracts", ",".join(abstract_names)) + pt.terrier.J.ApplicationSetup.setProperty("TaggedDocument.abstracts", ",".join(abstract_names)) # The tags from which to save the text. ELSE is special tag name, which means anything not consumed by other tags. - ApplicationSetup.setProperty("TaggedDocument.abstracts.tags", ",".join(abstract_tags)) + pt.terrier.J.ApplicationSetup.setProperty("TaggedDocument.abstracts.tags", ",".join(abstract_tags)) # The max lengths of the abstracts. Abstracts will be truncated to this length. Defaults to empty. - ApplicationSetup.setProperty("TaggedDocument.abstracts.lengths", ",".join(abstract_lengths)) + pt.terrier.J.ApplicationSetup.setProperty("TaggedDocument.abstracts.lengths", ",".join(abstract_lengths)) # Should the tags from which we create abstracts be case-sensitive - ApplicationSetup.setProperty("TaggedDocument.abstracts.tags.casesensitive", "false") + pt.terrier.J.ApplicationSetup.setProperty("TaggedDocument.abstracts.tags.casesensitive", "false") def _FileDocumentSetup( @@ -437,8 +381,8 @@ def _FileDocumentSetup( abstract_length = meta[meta_name_for_abstract] - ApplicationSetup.setProperty("FileDocument.abstract", meta_name_for_abstract) - ApplicationSetup.setProperty("FileDocument.abstract.length", str(abstract_length)) + pt.terrier.J.ApplicationSetup.setProperty("FileDocument.abstract", meta_name_for_abstract) + pt.terrier.J.ApplicationSetup.setProperty("FileDocument.abstract.length", str(abstract_length)) @@ -450,9 +394,9 @@ def createAsList(files_path : Union[str, List[str]]): Created Java List """ if isinstance(files_path, str): - asList = Arrays.asList(files_path) + asList = pt.java.J.Arrays.asList(files_path) elif isinstance(files_path, list): - asList = Arrays.asList(*files_path) + asList = pt.java.J.Arrays.asList(*files_path) else: raise ValueError(f"{files_path}: {type(files_path)} must be a List[str] or str") return asList @@ -684,7 +628,7 @@ def __init__(self, index_path : str, *args, self.stemmer = TerrierStemmer._to_obj(stemmer) self.stopwords, self.stopword_list = TerrierStopwords._to_obj(stopwords) self.tokeniser = TerrierTokeniser._to_obj(tokeniser) - self.properties = Properties() + self.properties = pt.java.J.Properties() self.setProperties(**self.default_properties) self.overwrite = overwrite self.verbose = verbose @@ -739,7 +683,7 @@ def createIndexer(self): """ Indexer, _ = self.indexerAndMergerClasses() - if Indexer is BasicMemoryIndexer: + if Indexer is pt.terrier.J.BasicMemoryIndexer: index = Indexer() else: index = Indexer(self.index_dir, "data") @@ -781,28 +725,28 @@ def indexerAndMergerClasses(self): self.properties['tokeniser'] = TerrierTokeniser._to_class(self.tokeniser) # inform terrier of all properties - ApplicationSetup.getProperties().putAll(self.properties) + pt.terrier.J.ApplicationSetup.getProperties().putAll(self.properties) # now create the indexers if self.type is IndexingType.SINGLEPASS: if self.blocks: - Indexer = BlockSinglePassIndexer - Merger = BlockStructureMerger + Indexer = pt.terrier.J.BlockSinglePassIndexer + Merger = pt.terrier.J.BlockStructureMerger else: - Indexer = BasicSinglePassIndexer - Merger = StructureMerger + Indexer = pt.terrier.J.BasicSinglePassIndexer + Merger = pt.terrier.J.StructureMerger elif self.type is IndexingType.CLASSIC: if self.blocks: - Indexer = BlockIndexer - Merger = BlockStructureMerger + Indexer = pt.terrier.J.BlockIndexer + Merger = pt.terrier.J.BlockStructureMerger else: - Indexer = BasicIndexer - Merger = StructureMerger + Indexer = pt.terrier.J.BasicIndexer + Merger = pt.terrier.J.StructureMerger elif self.type is IndexingType.MEMORY: if self.blocks: raise Exception("Memory indexing with positions not yet implemented") else: - Indexer = BasicMemoryIndexer + Indexer = pt.terrier.J.BasicMemoryIndexer Merger = None else: raise Exception("Unknown indexer type") @@ -816,7 +760,7 @@ def getIndexStats(self): Note: Does not work with notebooks at the moment """ - CLITool.main(["indexstats", "-I" + self.path]) + pt.terrier.J.CLITool.main(["indexstats", "-I" + self.path]) def getIndexUtil(self, util): """ @@ -841,7 +785,7 @@ def getIndexUtil(self, util): """ if not util.startswith("-"): util = "-" + util - CLITool.main(["indexutil", "-I" + self.path, util]) + pt.terrier.J.CLITool.main(["indexutil", "-I" + self.path, util]) class DFIndexUtils: @@ -884,12 +828,12 @@ def create_javaDocIterator(text, *args, **kwargs): def convertDoc(text_row, meta_column): if text_row is None: text_row = "" - hashmap = HashMap() + hashmap = pt.java.J.HashMap() for column, value in meta_column[1].items(): if value is None: value = "" hashmap.put(column, value) - return TaggedDocument(StringReader(text_row), hashmap, Tokeniser.getTokeniser()) + return pt.terrier.J.TaggedDocument(pt.java.J.StringReader(text_row), hashmap, pt.terrier.J.Tokeniser.getTokeniser()) df = pd.DataFrame.from_dict(all_metadata, orient="columns") lengths = DFIndexUtils.get_column_lengths(df) @@ -947,7 +891,7 @@ def index(self, text, *args, **kwargs): return pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") -class _BaseIterDictIndexer(TerrierIndexer, Indexer): +class _BaseIterDictIndexer(TerrierIndexer, pt.Indexer): def __init__(self, index_path, *args, meta = {'docno' : 20}, meta_reverse=['docno'], pretokenised=False, threads=1, **kwargs): """ @@ -956,7 +900,7 @@ def __init__(self, index_path, *args, meta = {'docno' : 20}, meta_reverse=['docn meta(Dict[str,int]): What metadata for each document to record in the index, and what length to reserve. Metadata fields will be truncated to this length. Defaults to `{"docno" : 20}`. meta_reverse(List[str]): What metadata shoudl we be able to resolve back to a docid. Defaults to `["docno"]`, """ - Indexer.__init__(self) + pt.Indexer.__init__(self) TerrierIndexer.__init__(self, index_path, *args, **kwargs) self.threads = threads self.meta = meta @@ -1149,7 +1093,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): Indexer, Merger = self.indexerAndMergerClasses() assert self.threads > 0, "threads must be positive" - if Indexer is BasicMemoryIndexer: + if Indexer is pt.terrier.J.BasicMemoryIndexer: assert self.threads == 1, 'IterDictIndexer does not support multiple threads for IndexingType.MEMORY' if self.threads > 1: warn('Using multiple threads results in a non-deterministic ordering of document in the index. For deterministic behavior, use threads=1') @@ -1172,7 +1116,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): threading.Thread(target=self._write_fifos, args=(self._filter_iterable(it, fields), fifos), daemon=True).start() # Different process for memory indexer (still taking advantage of faster fifos) - if Indexer is BasicMemoryIndexer: + if Indexer is pt.terrier.J.BasicMemoryIndexer: indexer = Indexer() if self.pretokenised: indexer.indexDocuments(j_collections) @@ -1345,7 +1289,7 @@ def index(self, files_path : Union[str,List[str]]): _TaggedDocumentSetup(self.meta, self.meta_tags) _FileDocumentSetup(self.meta, self.meta_tags) - simpleColl = SimpleFileCollection(asList, False) + simpleColl = pt.terrier.J.SimpleFileCollection(asList, False) # remove once 5.7 is now the minimum version from . import check_version index.index(simpleColl if check_version("5.7") else [simpleColl]) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 6c8016fb..cd23667d 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -332,4 +332,30 @@ def run(cmd, args=[]): 'IndexFactory': 'org.terrier.structures.IndexFactory', 'MultiIndex': 'org.terrier.realtime.multi.MultiIndex', 'CLITool': 'org.terrier.applications.CLITool', + 'ApplyTermPipeline': 'org.terrier.querying.ApplyTermPipeline', + 'ManagerFactory': 'org.terrier.querying.ManagerFactory', + 'Request': 'org.terrier.querying.Request', + + # Indexing + 'TaggedDocument': 'org.terrier.indexing.TaggedDocument', + 'FlatJSONDocument': 'org.terrier.indexing.FlatJSONDocument', + 'Tokeniser': 'org.terrier.indexing.tokenisation.Tokeniser', + 'TRECCollection': 'org.terrier.indexing.TRECCollection', + 'SimpleFileCollection': 'org.terrier.indexing.SimpleFileCollection', + 'BasicIndexer': 'org.terrier.structures.indexing.classical.BasicIndexer', + 'BlockIndexer': 'org.terrier.structures.indexing.classical.BlockIndexer', + 'BasicSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BasicSinglePassIndexer', + 'BlockSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BlockSinglePassIndexer', + 'BasicMemoryIndexer': 'org.terrier.realtime.memory.MemoryIndexer" if pt.check_version("5.7") else "org.terrier.python.MemoryIndexer', + 'Collection': 'org.terrier.indexing.Collection', + 'StructureMerger': 'org.terrier.structures.merging.StructureMerger', + 'BlockStructureMerger': 'org.terrier.structures.merging.BlockStructureMerger', + + # PRF + 'TerrierQLParser': 'org.terrier.querying.TerrierQLParser', + 'TerrierQLToMatchingQueryTerms': 'org.terrier.querying.TerrierQLToMatchingQueryTerms', + 'QueryResultSet': 'org.terrier.matching.QueryResultSet', + 'DependenceModelPreProcess': 'org.terrier.querying.DependenceModelPreProcess', + 'RM3': 'org.terrier.querying.RM3', + 'AxiomaticQE': 'org.terrier.querying.AxiomaticQE', }) diff --git a/pyterrier/rewrite.py b/pyterrier/terrier/rewrite.py similarity index 90% rename from pyterrier/rewrite.py rename to pyterrier/terrier/rewrite.py index 16219775..97e4d122 100644 --- a/pyterrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -1,27 +1,12 @@ -import pyterrier as pt import pandas as pd -from . import Transformer -from .index import TerrierTokeniser -from . import tqdm from warnings import warn from typing import List,Union from types import FunctionType +import pyterrier as pt +from pyterrier.terrier.index import TerrierTokeniser - -TerrierQLParser = None -TerrierQLToMatchingQueryTerms = None -QueryResultSet = None -DependenceModelPreProcess = None -def _java_post_init(jnius): - global TerrierQLParser - global TerrierQLToMatchingQueryTerms - global QueryResultSet - global DependenceModelPreProcess - TerrierQLParser = pt.java.autoclass("org.terrier.querying.TerrierQLParser")() - TerrierQLToMatchingQueryTerms = pt.java.autoclass("org.terrier.querying.TerrierQLToMatchingQueryTerms")() - QueryResultSet = pt.java.autoclass("org.terrier.matching.QueryResultSet") - DependenceModelPreProcess = pt.java.autoclass("org.terrier.querying.DependenceModelPreProcess") - +# TODO: replace _check_terrier_prf with a @pt.terrier.java.required_prf or similar +# TODO: make sure @pt.java.required on all necessary functions _terrier_prf_package_loaded = False _terrier_prf_message = 'terrier-prf jar not found: you should start PyTerrier with '\ @@ -39,7 +24,7 @@ def _check_terrier_prf(): break assert _terrier_prf_package_loaded, _terrier_prf_message -def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', matchop=False) -> Transformer: +def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', matchop=False) -> pt.Transformer: """ Applies tokenisation to the query. By default, queries obtained from ``pt.get_dataset().get_topics()`` are @@ -80,7 +65,7 @@ def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', m tokeniser = TerrierTokeniser._to_class(tokeniser) if "." not in tokeniser: tokeniser = 'org.terrier.indexing.tokenisation.' + tokeniser - tokenobj = pt.autoclass(tokeniser)() + tokenobj = pt.java.autoclass(tokeniser)() _query_fn = tokenobj.getTokens def _join_str(input : Union[str,List[str]]): @@ -97,7 +82,7 @@ def _join_str_matchop(input : List[str]): return pt.apply.query(lambda r: _join_str(_query_fn(r.query))) -def reset() -> Transformer: +def reset() -> pt.Transformer: """ Undoes a previous query rewriting operation. This results in the query formulation stored in the `"query_0"` attribute being moved to the `"query"` attribute, and, if present, the `"query_1"` being moved to @@ -116,7 +101,7 @@ def reset() -> Transformer: from .model import pop_queries return pt.apply.generic(lambda topics: pop_queries(topics)) -class SDM(Transformer): +class SDM(pt.Transformer): ''' Implements the sequential dependence model, which Terrier supports using its Indri/Galagoo compatible matchop query language. The rewritten query is derived using @@ -126,14 +111,14 @@ class SDM(Transformer): The original query is saved in the `"query_0"` column, which can be restored using `pt.rewrite.reset()`. ''' + @pt.java.required def __init__(self, verbose = 0, remove_stopwords = True, prox_model = None, **kwargs): super().__init__(**kwargs) self.verbose = 0 self.prox_model = prox_model self.remove_stopwords = remove_stopwords - from . import check_version - assert check_version("5.3") - self.ApplyTermPipeline_stopsonly = pt.autoclass("org.terrier.querying.ApplyTermPipeline")("Stopwords") + assert pt.check_version("5.3") + self.ApplyTermPipeline_stopsonly = pt.terrier.J.ApplyTermPipeline('Stopwords') def __repr__(self): return "SDM()" @@ -144,17 +129,17 @@ def transform(self, topics_and_res): queries = ranked_documents_to_queries(topics_and_res) # instantiate the DependenceModelPreProcess, specifying a proximity model if specified - sdm = DependenceModelPreProcess() if self.prox_model is None else DependenceModelPreProcess(self.prox_model) + sdm = pt.terrier.J.DependenceModelPreProcess() if self.prox_model is None else pt.terrier.J.DependenceModelPreProcess(self.prox_model) - for row in tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): + for row in pt.tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): qid = row.qid query = row.query # parse the querying into a MQT - rq = pt.autoclass("org.terrier.querying.Request")() + rq = pt.terrier.J.Request() rq.setQueryID(qid) rq.setOriginalQuery(query) - TerrierQLParser.process(None, rq) - TerrierQLToMatchingQueryTerms.process(None, rq) + pt.terrier.J.TerrierQLParser().process(None, rq) + pt.terrier.J.TerrierQLToMatchingQueryTerms().process(None, rq) if self.remove_stopwords: self.ApplyTermPipeline_stopsonly.process(None, rq) @@ -192,7 +177,7 @@ class SequentialDependence(SDM): ''' pass -class QueryExpansion(Transformer): +class QueryExpansion(pt.Transformer): ''' A base class for applying different types of query expansion using Terrier's classes. This transformer changes the query. It must be followed by a Terrier Retrieve() transformer. @@ -204,21 +189,22 @@ class QueryExpansion(Transformer): ''' + @pt.java.required def __init__(self, index_like, fb_terms=10, fb_docs=3, qeclass="org.terrier.querying.QueryExpansion", verbose=0, properties={}, **kwargs): super().__init__(**kwargs) self.verbose = verbose if isinstance(qeclass, str): - self.qe = pt.autoclass(qeclass)() + self.qe = pt.java.autoclass(qeclass)() else: self.qe = qeclass self.indexref = pt.terrier.retriever._parse_index_like(index_like) self.properties = properties for k,v in properties.items(): pt.ApplicationSetup.setProperty(k, str(v)) - self.applytp = pt.autoclass("org.terrier.querying.ApplyTermPipeline")() + self.applytp = pt.terrier.J.ApplyTermPipeline() self.fb_terms = fb_terms self.fb_docs = fb_docs - self.manager = pt.autoclass("org.terrier.querying.ManagerFactory")._from_(self.indexref) + self.manager = pt.terrier.J.ManagerFactory._from_(self.indexref) def __reduce__(self): return ( @@ -242,11 +228,11 @@ def __getstate__(self): def __setstate__(self, d): self.fb_terms = d["fb_terms"] self.fb_docs = d["fb_docs"] - self.qe = pt.autoclass(d['qeclass'])() + self.qe = pt.java.autoclass(d['qeclass'])() self.properties.update(d["properties"]) for key,value in d["properties"].items(): self.appSetup.setProperty(key, str(value)) - self.manager = pt.autoclass("org.terrier.querying.ManagerFactory")._from_(self.indexref) + self.manager = pt.terrier.J.ManagerFactory._from_(self.indexref) def _populate_resultset(self, topics_and_res, qid, index): @@ -281,7 +267,7 @@ def _populate_resultset(self, topics_and_res, qid, index): warn("%d feedback docnos for qid %s could not be found in the index" % (skipped, qid)) else: raise ValueError("Input resultset has neither docid nor docno") - return QueryResultSet(docids, scores, occurrences) + return pt.terrier.J.QueryResultSet(docids, scores, occurrences) def __repr__(self): return "QueryExpansion(" + ",".join([ @@ -303,7 +289,7 @@ def transform(self, topics_and_res): queries = ranked_documents_to_queries(topics_and_res) #queries = topics_and_res[query_columns(topics_and_res, qid=True)].dropna(axis=0, subset=query_columns(topics_and_res, qid=False)).drop_duplicates() - for row in tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): + for row in pt.tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): qid = row.qid query = row.query srq = self.manager.newSearchRequest(qid, query) @@ -315,8 +301,8 @@ def transform(self, topics_and_res): rq.setResultSet(self._populate_resultset(topics_and_res, qid, rq.getIndex())) - TerrierQLParser.process(None, rq) - TerrierQLToMatchingQueryTerms.process(None, rq) + pt.terrier.J.TerrierQLParser.process(None, rq) + pt.terrier.J.TerrierQLToMatchingQueryTerms().process(None, rq) # how to make sure this happens/doesnt happen when appropriate. self.applytp.process(None, rq) # to ensure weights are identical to Terrier @@ -418,7 +404,7 @@ def __init__(self, *args, fb_terms=10, fb_docs=3, fb_lambda=0.6, **kwargs): fb_lambda(float): lambda in RM3, i.e. importance of relevance model viz feedback model. Defaults to 0.6. """ _check_terrier_prf() - rm = pt.autoclass("org.terrier.querying.RM3")() + rm = pt.terrier.J.RM3() self.fb_lambda = fb_lambda kwargs["qeclass"] = rm super().__init__(*args, fb_terms=fb_terms, fb_docs=fb_docs, **kwargs) @@ -462,7 +448,7 @@ def __init__(self, *args, fb_terms=10, fb_docs=3, **kwargs): fb_docs(int): number of feedback documents to consider. Terrier's default setting is 3 feedback documents. """ _check_terrier_prf() - rm = pt.autoclass("org.terrier.querying.AxiomaticQE")() + rm = pt.terrier.J.AxiomaticQE() self.fb_terms = fb_terms self.fb_docs = fb_docs kwargs["qeclass"] = rm @@ -473,7 +459,7 @@ def transform(self, queries_and_docs): self.qe.fbDocs = self.fb_docs return super().transform(queries_and_docs) -def stash_results(clear=True) -> Transformer: +def stash_results(clear=True) -> pt.Transformer: """ Stashes (saves) the current retrieved documents for each query into the column `"stashed_results_0"`. This means that they can be restored later by using `pt.rewrite.reset_results()`. @@ -485,14 +471,14 @@ def stash_results(clear=True) -> Transformer: """ return _StashResults(clear) -def reset_results() -> Transformer: +def reset_results() -> pt.Transformer: """ Applies a transformer that undoes a `pt.rewrite.stash_results()` transformer, thereby restoring the ranked documents. """ return _ResetResults() -class _StashResults(Transformer): +class _StashResults(pt.Transformer): def __init__(self, clear, *args, **kwargs): super().__init__(*args, **kwargs) @@ -528,7 +514,7 @@ def transform(self, topics_and_res: pd.DataFrame) -> pd.DataFrame: def __repr__(self): return "pt.rewrite.stash_results()" -class _ResetResults(Transformer): +class _ResetResults(pt.Transformer): def transform(self, topics_with_saved_docs : pd.DataFrame) -> pd.DataFrame: if "stashed_results_0" not in topics_with_saved_docs.columns: @@ -548,7 +534,7 @@ def transform(self, topics_with_saved_docs : pd.DataFrame) -> pd.DataFrame: def __repr__(self): return "pt.rewrite.reset_results()" -def linear(weightCurrent : float, weightPrevious : float, format="terrierql", **kwargs) -> Transformer: +def linear(weightCurrent : float, weightPrevious : float, format="terrierql", **kwargs) -> pt.Transformer: """ Applied to make a linear combination of the current and previous query formulation. The implementation is tied to the underlying query language used by the retrieval/re-ranker transformers. Two of Terrier's @@ -575,7 +561,7 @@ def linear(weightCurrent : float, weightPrevious : float, format="terrierql", ** """ return _LinearRewriteMix([weightCurrent, weightPrevious], format, **kwargs) -class _LinearRewriteMix(Transformer): +class _LinearRewriteMix(pt.Transformer): def __init__(self, weights : List[float], format : str = 'terrierql', **kwargs): super().__init__(**kwargs) @@ -612,4 +598,4 @@ def transform(self, topics_and_res): return newDF def __repr__(self): - return "pt.rewrite.linear()" \ No newline at end of file + return "pt.rewrite.linear()" diff --git a/setup.py b/setup.py index 2521a8ce..ccee73f5 100644 --- a/setup.py +++ b/setup.py @@ -72,15 +72,14 @@ def get_version(rel_path): ], entry_points={ 'pyterrier.java.pre_init': [ - 'terrier = pyterrier.terrier.java:_pre_init', + 'terrier = pyterrier.terrier.java:_pre_init', 'anserini = pyterrier.anserini.java:_pre_init', ], 'pyterrier.java.post_init': [ - 'core = pyterrier.java._init:_post_init', - 'terrier = pyterrier.terrier.java:_post_init', - 'index = pyterrier.index:_java_post_init', - 'rewrite = pyterrier.rewrite:_java_post_init', - 'anserini = pyterrier.anserini.java:_post_init', + 'core = pyterrier.java._init:_post_init', + 'terrier = pyterrier.terrier.java:_post_init', + 'terrier.index = pyterrier.terrier.index:_java_post_init', + 'anserini = pyterrier.anserini.java:_post_init', ], }, install_requires=requirements, From 8fa0158435eeb58571a8a28b1fea584a61649f0f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:20:11 +0100 Subject: [PATCH 062/153] fix tests --- pyterrier/__init__.py | 10 +++++----- pyterrier/java/utils.py | 5 ++++- pyterrier/terrier/__init__.py | 4 ++-- pyterrier/terrier/java.py | 2 +- pyterrier/terrier/retriever.py | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 5b150ede..1703e17b 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -193,15 +193,15 @@ def extend_classpath(mvnpackages): terrier.extend_package(package) -# Additional setup performed in a function to avoid polluting the namespace with other imports +# Additional setup performed in a function to avoid polluting the namespace with other imports like platform def _(): - # apply is an object, not a module, as it also has __get_attr__() implemented - from pyterrier.apply import _apply - globals()['apply'] = _apply() - # check python version import platform from packaging.version import Version if Version(platform.python_version()) < Version('3.7.0'): raise RuntimeError("From PyTerrier 0.8, Python 3.7 minimum is required, you currently have %s" % platform.python_version()) + + # apply is an object, not a module, as it also has __get_attr__() implemented + from pyterrier.apply import _apply + globals()['apply'] = _apply() _() diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index f40140ed..428ce502 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -135,7 +135,10 @@ def __getattr__(self, key): if key not in self._mapping: return AttributeError(f'{self} has no attribute {key!r}') if key not in self._cache: - self._cache[key] = pt.java.autoclass(self._mapping[key]) + clz = self._mapping[key] + if callable(clz): + clz = clz() + self._cache[key] = pt.java.autoclass(clz) return self._cache[key] diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 3cfcfb91..103bf824 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -4,7 +4,7 @@ from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier import index -from pyterrier.terrier.index import FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser +from pyterrier.terrier.index import TerrierIndexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from pyterrier.terrier import rewrite TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve @@ -18,7 +18,7 @@ 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', # indexing - 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', + 'index', 'TerrierIndexer', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', # rewriting 'rewrite', diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index cd23667d..bfd059b0 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -346,7 +346,7 @@ def run(cmd, args=[]): 'BlockIndexer': 'org.terrier.structures.indexing.classical.BlockIndexer', 'BasicSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BasicSinglePassIndexer', 'BlockSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BlockSinglePassIndexer', - 'BasicMemoryIndexer': 'org.terrier.realtime.memory.MemoryIndexer" if pt.check_version("5.7") else "org.terrier.python.MemoryIndexer', + 'BasicMemoryIndexer': lambda: 'org.terrier.realtime.memory.MemoryIndexer' if pt.check_version("5.7") else 'org.terrier.python.MemoryIndexer', 'Collection': 'org.terrier.indexing.Collection', 'StructureMerger': 'org.terrier.structures.merging.StructureMerger', 'BlockStructureMerger': 'org.terrier.structures.merging.BlockStructureMerger', diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 44a44aa4..86c95291 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -60,7 +60,7 @@ def _mergeDicts(defaults, settings): def _parse_index_like(index_location): JIR = pt.java.autoclass('org.terrier.querying.IndexRef') JI = pt.java.autoclass('org.terrier.structures.Index') - from pyterrier.index import TerrierIndexer + from pyterrier.terrier import TerrierIndexer if isinstance(index_location, JIR): return index_location From d7d03c415be4f31246775eedc7442c2ab0da0ae5 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:32:14 +0100 Subject: [PATCH 063/153] fix more tests --- pyterrier/terrier/index.py | 25 ++++++++----------------- pyterrier/terrier/retriever.py | 2 +- pyterrier/terrier/rewrite.py | 25 +++++++++---------------- tests/test_dfindex.py | 22 +++++++++++----------- tests/test_iterdictindex.py | 30 +++++++++++++++--------------- tests/test_iterdictindex_pretok.py | 10 +++++----- 6 files changed, 49 insertions(+), 65 deletions(-) diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index 82932d0e..037ee016 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -58,7 +58,6 @@ def __init__(self, pyiterator): self.pyiterator = pyiterator self.hasnext = True self.lastdoc = None - import pyterrier as pt self.tr57 = not pt.check_version("5.8") @staticmethod @@ -108,8 +107,7 @@ def __init__(self, collection): assert isinstance(collection, pt.java.autoclass("org.terrier.indexing.MultiDocumentFileCollection")) self.collection = collection size = self.collection.FilesToProcess.size() - from . import tqdm - self.pbar = tqdm(total=size, unit="files") + self.pbar = pt.tqdm(total=size, unit="files") self.last = -1 @jnius.java_method('()Z') @@ -220,8 +218,7 @@ class TQDMSizeCollection(jnius.PythonJavaClass): def __init__(self, collection, total): super(TQDMSizeCollection, self).__init__() self.collection = collection - from . import tqdm - self.pbar = tqdm(total=total, unit="documents") + self.pbar = pt.tqdm(total=total, unit="documents") @jnius.java_method('()Z') def nextDocument(self): @@ -518,8 +515,7 @@ def _indexing_config(this, stopword_list : Union[List[str], None], termpipelines if this == TerrierStopwords.terrier: termpipelines.append('Stopwords') if this == TerrierStopwords.custom: - from . import check_version - assert check_version("5.8"), "Terrier 5.8 required" + assert pt.check_version("5.8"), "Terrier 5.8 required" assert stopword_list is not None, "expected to receive a stopword list" stopword_list_esc = [t.replace(",", "\\,") for t in stopword_list ] @@ -907,8 +903,7 @@ def __init__(self, index_path, *args, meta = {'docno' : 20}, meta_reverse=['docn self.meta_reverse = meta_reverse self.pretokenised = pretokenised if self.pretokenised: - from pyterrier import check_version - assert check_version(5.7), "Terrier too old, this requires 5.7" + assert pt.check_version(5.7), "Terrier too old, this requires 5.7" # we disable stemming and stopwords for pretokenised indices self.stemmer = None self.stopwords = None @@ -1032,8 +1027,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None collectionIterator = FlatJSONDocumentIterator(self._filter_iterable(it, fields)) javaDocCollection = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) # remove once 5.7 is now the minimum version - from . import check_version - indexer.index(javaDocCollection if check_version("5.7") else [javaDocCollection]) + indexer.index(javaDocCollection if pt.check_version("5.7") else [javaDocCollection]) global lastdoc lastdoc = None self.index_called = True @@ -1044,12 +1038,11 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None index = indexer.getIndex() indexref = index.getIndexRef() else: - from . import IndexFactory indexref = pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: sindex = pt.java.autoclass("org.terrier.structures.Index") sindex.setIndexLoadingProfileAsRetrieval(False) - index = IndexFactory.of(indexref) + index = pt.terrier.IndexFactory.of(indexref) for hook in self.cleanup_hooks: hook(self, index) sindex.setIndexLoadingProfileAsRetrieval(True) @@ -1133,13 +1126,12 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): ParallelIndexer.buildParallel(j_collections, self.index_dir, Indexer, Merger) indexref = None - from . import IndexFactory indexref = pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: sindex = pt.java.autoclass("org.terrier.structures.Index") sindex.setIndexLoadingProfileAsRetrieval(False) - index = IndexFactory.of(indexref) + index = pt.terrier.IndexFactory.of(indexref) sindex.setIndexLoadingProfileAsRetrieval(True) for hook in self.cleanup_hooks: @@ -1291,8 +1283,7 @@ def index(self, files_path : Union[str,List[str]]): simpleColl = pt.terrier.J.SimpleFileCollection(asList, False) # remove once 5.7 is now the minimum version - from . import check_version - index.index(simpleColl if check_version("5.7") else [simpleColl]) + index.index(simpleColl if pt.check_version("5.7") else [simpleColl]) global lastdoc lastdoc = None self.index_called = True diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 86c95291..6d315aba 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -488,7 +488,7 @@ def __init__(self, innerclass, takes="queries", returns="docs", body_attr="body" def transform(self, topics_and_res): from pyterrier import DFIndexer, IndexFactory - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType documents = topics_and_res[["docno", self.body_attr]].drop_duplicates(subset="docno") indexref = DFIndexer(None, type=IndexingType.MEMORY, verbose=self.verbose).index(documents[self.body_attr], documents["docno"]) docno2docid = { docno:id for id, docno in enumerate(documents["docno"]) } diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index 97e4d122..fcc084e9 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -98,8 +98,7 @@ def reset() -> pt.Transformer: fullranker = firststage >> pt.rewrite.reset() >> secondstage """ - from .model import pop_queries - return pt.apply.generic(lambda topics: pop_queries(topics)) + return pt.apply.generic(lambda topics: pt.model.pop_queries(topics)) class SDM(pt.Transformer): ''' @@ -125,8 +124,7 @@ def __repr__(self): def transform(self, topics_and_res): results = [] - from .model import ranked_documents_to_queries, push_queries - queries = ranked_documents_to_queries(topics_and_res) + queries = pt.model.ranked_documents_to_queries(topics_and_res) # instantiate the DependenceModelPreProcess, specifying a proximity model if specified sdm = pt.terrier.J.DependenceModelPreProcess() if self.prox_model is None else pt.terrier.J.DependenceModelPreProcess(self.prox_model) @@ -164,7 +162,7 @@ def transform(self, topics_and_res): results.append([qid, new_query]) new_queries = pd.DataFrame(results, columns=["qid", "query"]) # restore any other columns, e.g. put back docs if we are re-ranking - return new_queries.merge(push_queries(topics_and_res, inplace=True) , on="qid") + return new_queries.merge(pt.model.push_queries(topics_and_res, inplace=True) , on="qid") class SequentialDependence(SDM): ''' @@ -285,8 +283,7 @@ def transform(self, topics_and_res): results = [] - from .model import push_queries, ranked_documents_to_queries - queries = ranked_documents_to_queries(topics_and_res) + queries = pt.model.ranked_documents_to_queries(topics_and_res) #queries = topics_and_res[query_columns(topics_and_res, qid=True)].dropna(axis=0, subset=query_columns(topics_and_res, qid=False)).drop_duplicates() for row in pt.tqdm(queries.itertuples(), desc=self.name, total=queries.shape[0], unit="q") if self.verbose else queries.itertuples(): @@ -317,7 +314,7 @@ def transform(self, topics_and_res): new_query = new_query[:-1] results.append([qid, new_query]) new_queries = pd.DataFrame(results, columns=["qid", "query"]) - return push_queries(queries, inplace=True).merge(new_queries, on="qid") + return pt.model.push_queries(queries, inplace=True).merge(new_queries, on="qid") class DFRQueryExpansion(QueryExpansion): @@ -485,14 +482,13 @@ def __init__(self, clear, *args, **kwargs): self.clear = clear def transform(self, topics_and_res: pd.DataFrame) -> pd.DataFrame: - from .model import document_columns, query_columns if "stashed_results_0" in topics_and_res.columns: raise ValueError("Cannot apply pt.rewrite.stash_results() more than once") - doc_cols = document_columns(topics_and_res) + doc_cols = pt.model.document_columns(topics_and_res) rtr = [] if self.clear: - query_cols = query_columns(topics_and_res) + query_cols = pt.model.query_columns(topics_and_res) for qid, groupDf in topics_and_res.groupby("qid"): documentsDF = groupDf[doc_cols] queryDf = groupDf[query_cols].iloc[0] @@ -519,8 +515,7 @@ class _ResetResults(pt.Transformer): def transform(self, topics_with_saved_docs : pd.DataFrame) -> pd.DataFrame: if "stashed_results_0" not in topics_with_saved_docs.columns: raise ValueError("Cannot apply pt.rewrite.reset_results() without pt.rewrite.stash_results() - column stashed_results_0 not found") - from .model import query_columns - query_cols = query_columns(topics_with_saved_docs) + query_cols = pt.model.query_columns(topics_with_saved_docs) rtr = [] for row in topics_with_saved_docs.itertuples(): docsdf = pd.DataFrame.from_records(row.stashed_results_0) @@ -585,15 +580,13 @@ def _matchopql(self, row): row["query_1"]) def transform(self, topics_and_res): - from .model import push_queries - fn = None if self.format == "terrierql": fn = self._terrierql elif self.format == "matchopql": fn = self._matchopql - newDF = push_queries(topics_and_res) + newDF = pt.model.push_queries(topics_and_res) newDF["query"] = newDF.apply(fn, axis=1) return newDF diff --git a/tests/test_dfindex.py b/tests/test_dfindex.py index 20b55c62..cbc473ad 100644 --- a/tests/test_dfindex.py +++ b/tests/test_dfindex.py @@ -18,7 +18,7 @@ def _create_index(self, type, dfText, dfMeta): return indexref def _make_check_index(self, n, index_type, include_urls=False): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType import pandas as pd df = pd.DataFrame({ 'docno': ['1', '2', '3'], @@ -127,43 +127,43 @@ def test_badinvocation(self): ref = pt.DFIndexer(self.test_dir).index(df_docids["body"], df_docnos['docno']) def test_createindex1_two_metadata(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.CLASSIC, include_urls=True) def test_createindex1(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.CLASSIC) def test_createindex2(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(2, IndexingType.CLASSIC) def test_createindex3(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(3, IndexingType.CLASSIC) def test_createindex1_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.SINGLEPASS) def test_createindex2_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(2, IndexingType.SINGLEPASS) def test_createindex3_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(3, IndexingType.SINGLEPASS) def test_createindex1_memory(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.MEMORY) def test_createindex2_memory(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(2, IndexingType.MEMORY) def test_createindex3_memory(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(3, IndexingType.MEMORY) if __name__ == "__main__": diff --git a/tests/test_iterdictindex.py b/tests/test_iterdictindex.py index aa36ff83..1ae0cfe6 100644 --- a/tests/test_iterdictindex.py +++ b/tests/test_iterdictindex.py @@ -18,7 +18,7 @@ def _create_index(self, it, fields, type, indexer): return indexref def _make_check_index(self, n, index_type, fields=('text',), meta=('docno', 'url', 'title')): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType # Test both versions: _fifo (for UNIX) and _nofifo (for Windows) indexers = [ pt.index._IterDictIndexer_fifo(self.test_dir, type=index_type, meta=meta), @@ -93,61 +93,61 @@ def test_checkjavaDocIterator(self): self.assertFalse(jIter1.hasNext()) def test_createindex1(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.CLASSIC) def test_createindex2(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(2, IndexingType.CLASSIC) def test_createindex3(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(3, IndexingType.CLASSIC) def test_createindex1_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.SINGLEPASS) def test_createindex2_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(2, IndexingType.SINGLEPASS) def test_createindex3_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(3, IndexingType.SINGLEPASS) # Issue #43 # def test_createindex3_memory(self): - # from pyterrier.index import IndexingType + # from pyterrier.terrier.index import IndexingType # self._make_check_index(3, IndexingType.MEMORY) # def test_createindex1_2fields_memory(self): - # from pyterrier.index import IndexingType + # from pyterrier.terrier.index import IndexingType # self._make_check_index(1, IndexingType.MEMORY, fields=['text', 'title']) def test_createindex1_2fields(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.CLASSIC, fields=['text', 'title']) def test_createindex2_2fields(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(2, IndexingType.CLASSIC, fields=['text', 'title']) def test_createindex3_2fields(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(3, IndexingType.CLASSIC, fields=['text', 'title']) def test_createindex1_single_pass_2fields(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(1, IndexingType.SINGLEPASS, fields=['text', 'title']) def test_createindex2_single_pass_2fields(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(2, IndexingType.SINGLEPASS, fields=['text', 'title']) def test_createindex3_single_pass_2fields(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_check_index(3, IndexingType.SINGLEPASS, fields=['text', 'title']) def test_meta_init(self): diff --git a/tests/test_iterdictindex_pretok.py b/tests/test_iterdictindex_pretok.py index 2a598ec4..31714721 100644 --- a/tests/test_iterdictindex_pretok.py +++ b/tests/test_iterdictindex_pretok.py @@ -84,7 +84,7 @@ def _make_pretok_index(self, n, index_type, meta=('docno', 'url')): if not pt.check_version("5.7") or not pt.check_version("0.0.7", helper=True): self.skipTest("Requires Terrier 5.7 and helper 0.0.7") - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType # Test both versions: _fifo (for UNIX) and _nofifo (for Windows) indexers = [ pt.index._IterDictIndexer_fifo(self.test_dir, type=index_type, meta=meta, pretokenised=True), @@ -129,7 +129,7 @@ def _make_pretok_index(self, n, index_type, meta=('docno', 'url')): os.mkdir(self.test_dir) def test_pretok_createindex1_basic(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType from jnius import JavaException try: self._make_pretok_index(1, IndexingType.CLASSIC) @@ -138,11 +138,11 @@ def test_pretok_createindex1_basic(self): raise ja def test_pretok_createindex2_basic(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType self._make_pretok_index(2, IndexingType.CLASSIC) def test_pretok_createindex1_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType from jnius import JavaException try: self._make_pretok_index(1, IndexingType.SINGLEPASS) @@ -151,7 +151,7 @@ def test_pretok_createindex1_single_pass(self): raise ja def test_pretok_createindex2_single_pass(self): - from pyterrier.index import IndexingType + from pyterrier.terrier.index import IndexingType from jnius import JavaException try: self._make_pretok_index(2, IndexingType.SINGLEPASS) From 7bdbedce40e33265a1bb3c197a54e436235b745a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:34:51 +0100 Subject: [PATCH 064/153] update text.py for pt.java --- pyterrier/text.py | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/pyterrier/text.py b/pyterrier/text.py index 5704b6f5..9cb730f0 100644 --- a/pyterrier/text.py +++ b/pyterrier/text.py @@ -1,15 +1,15 @@ -import pyterrier as pt from pyterrier.datasets import IRDSDataset import more_itertools from collections import defaultdict import re -from pyterrier.model import add_ranks -import pandas as pd import numpy as np +import pandas as pd from typing import List, Union from warnings import warn +import pyterrier as pt +@pt.java.required def get_text( indexlike, metadata : Union[str,List[str]] = "body", @@ -33,9 +33,8 @@ def get_text( >> pt.text.scorer(wmodel="DPH") ) """ - import pyterrier as pt - JIR = pt.autoclass('org.terrier.querying.IndexRef') - JI = pt.autoclass('org.terrier.structures.Index') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + JI = pt.java.autoclass('org.terrier.structures.Index') if isinstance(metadata, str): metadata = [metadata] @@ -81,7 +80,6 @@ def add_text_function_docids(res): docids = res.docid.values.tolist() # indexed by docid then keys allmeta = metaindex.getItems(metadata, docids) - import numpy as np # get transpose to make easier for insertion back into dataframe? allmeta = np.array(allmeta).T for i, k in enumerate(metadata): @@ -303,7 +301,6 @@ def snippets( retr_pipe = br >> pt.text.snippets(psg_scorer) """ - import pyterrier as pt tsp = ( pt.apply.rename({'qid' : 'oldqid'}) >> pt.apply.qid(lambda row: row['oldqid'] + '-' + row['docno']) @@ -313,7 +310,6 @@ def snippets( ) def _qbsjoin(docres): - import pandas as pd if len(docres) == 0: docres[summary_attr] = pd.Series(dtype='str') return docres @@ -360,19 +356,17 @@ def transform(self, topics_and_res): if self.agg == 'mean': rtr = topics_and_res.groupby(['qid', 'olddocno'])['score'].mean().reset_index().rename(columns={'olddocno' : 'docno'}) - from .model import query_columns #add query columns back - rtr = rtr.merge(topics_and_res[query_columns(topics_and_res)].drop_duplicates(), on='qid') + rtr = rtr.merge(topics_and_res[pt.model.query_columns(topics_and_res)].drop_duplicates(), on='qid') if self.agg == 'kmaxavg': rtr = topics_and_res.groupby(['qid', 'olddocno'])['score'].apply(lambda ser: ser.nlargest(self.K).mean()).reset_index().rename(columns={'olddocno' : 'docno'}) - from .model import query_columns #add query columns back - rtr = rtr.merge(topics_and_res[query_columns(topics_and_res)].drop_duplicates(), on='qid') + rtr = rtr.merge(topics_and_res[pt.model.query_columns(topics_and_res)].drop_duplicates(), on='qid') if "docid" in rtr.columns: rtr = rtr.drop(columns=['docid']) - rtr = add_ranks(rtr) + rtr = pt.model.add_ranks(rtr) return rtr class KMaxAvgPassage(DePassager): @@ -480,8 +474,7 @@ def applyPassaging(self, df, labels=True): if len(df) == 0: return pd.DataFrame(columns=['qid', 'query', 'docno', self.text_attr, 'score', 'rank']) - from pyterrier import tqdm - with tqdm('passsaging', total=len(df), desc='passaging', leave=False) as pbar: + with pt.tqdm('passsaging', total=len(df), desc='passaging', leave=False) as pbar: for index, row in df.iterrows(): pbar.update(1) qid = row['qid'] From f38e7aa65f571bd7d24dd60fa41f11040a563a6e Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:38:45 +0100 Subject: [PATCH 065/153] fix more tests --- pyterrier/terrier/rewrite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index fcc084e9..f8b01cec 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -298,7 +298,7 @@ def transform(self, topics_and_res): rq.setResultSet(self._populate_resultset(topics_and_res, qid, rq.getIndex())) - pt.terrier.J.TerrierQLParser.process(None, rq) + pt.terrier.J.TerrierQLParser().process(None, rq) pt.terrier.J.TerrierQLToMatchingQueryTerms().process(None, rq) # how to make sure this happens/doesnt happen when appropriate. self.applytp.process(None, rq) From 79eec88afbb3fc8c2705462a944af68cfa373331 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:48:07 +0100 Subject: [PATCH 066/153] import cleanup in __init__.py --- pyterrier/__init__.py | 55 ++++++++++------- pyterrier/utils.py | 134 ++++++++++++++++++++---------------------- 2 files changed, 98 insertions(+), 91 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 1703e17b..a3003acd 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -3,9 +3,7 @@ from deprecated import deprecated from pyterrier import utils -from pyterrier.utils import Utils - -from .transformer import Transformer, Estimator, Indexer +from pyterrier.transformer import Transformer, Estimator, Indexer from pyterrier import java from pyterrier.java import started, redirect_stdouterr # for backward compat, maybe remove/deprecate some day? @@ -14,24 +12,23 @@ from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from pyterrier import anserini - -from tqdm.auto import tqdm - -from . import cache -from . import debug -from . import io -from . import measures -from . import model -from . import new -from . import ltr -from . import parallel -from . import pipelines -from . import text -from . import transformer -from .datasets import get_dataset, find_datasets, list_datasets - -from .pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate - +from pyterrier import cache +from pyterrier import debug +from pyterrier import io +from pyterrier import measures +from pyterrier import model +from pyterrier import new +from pyterrier import ltr +from pyterrier import parallel +from pyterrier import pipelines +from pyterrier import text +from pyterrier import transformer +from pyterrier import datasets +from pyterrier.datasets import get_dataset, find_datasets, list_datasets +from pyterrier.pipelines import Experiment, GridScan, GridSearch, KFoldGridSearch, Evaluate + +# old name +Utils = utils # will be set in java._post_init once java is loaded HOME_DIR = None @@ -107,7 +104,7 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log set_property("terrier.mvn.coords", pkgs_string) -def set_tqdm(type): +def set_tqdm(type=None): """ Set the tqdm progress bar type that Pyterrier will use internally. Many PyTerrier transformations can be expensive to apply in some settings - users can @@ -204,4 +201,18 @@ def _(): # apply is an object, not a module, as it also has __get_attr__() implemented from pyterrier.apply import _apply globals()['apply'] = _apply() + + set_tqdm() _() + +__all__ = [ + 'java', 'terrier', 'anserini', 'cache', 'debug', 'io', 'measures', 'model', 'new', 'ltr', 'parallel', 'pipelines', + 'text', 'transformer', 'datasets', 'get_dataset', 'find_datasets', 'list_datasets', 'Experiment', 'GridScan', + 'GridSearch', 'KFoldGridSearch', 'Evaluate', + 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'started', 'redirect_stdouterr', + 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'set_property', 'set_properties', + 'run', 'rewrite', 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', + 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', + 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'set_tqdm', 'version', 'check_version', + 'logging', 'extend_classpath', +] diff --git a/pyterrier/utils.py b/pyterrier/utils.py index d73a0b49..8e643751 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -8,75 +8,71 @@ from deprecated import deprecated -class Utils: - # THIS CLASS WILL BE REMOVED IN A FUTURE RELEASE - - @staticmethod - @deprecated(version="0.9") - def convert_qrels_to_dict(df): - """ - Convert a qrels dataframe to dictionary for use in pytrec_eval - - Args: - df(pandas.Dataframe): The dataframe to convert - - Returns: - dict: {qid:{docno:label,},} - """ - run_dict_pytrec_eval = defaultdict(dict) - for row in df.itertuples(): - run_dict_pytrec_eval[row.qid][row.docno] = int(row.label) - return(run_dict_pytrec_eval) - - @staticmethod - @deprecated(version="0.9") - def convert_qrels_to_dataframe(qrels_dict) -> pd.DataFrame: - """ - Convert a qrels dictionary to a dataframe - - Args: - qrels_dict(Dict[str, Dict[str, int]]): {qid:{docno:label,},} - - Returns: - pd.DataFrame: columns=['qid', 'docno', 'label'] - """ - result = {'qid': [], 'docno': [], 'label': []} - for qid in qrels_dict: - for docno, label in qrels_dict[qid]: - result['qid'].append(qid) - result['docno'].append(docno) - result['label'].append(label) - - return pd.DataFrame(result) - - @staticmethod - @deprecated(version="0.9") - def convert_res_to_dict(df): - """ - Convert a result dataframe to dictionary for use in pytrec_eval - - Args: - df(pandas.Dataframe): The dataframe to convert - - Returns: - dict: {qid:{docno:score,},} - """ - run_dict_pytrec_eval = defaultdict(dict) - for row in df.itertuples(): - run_dict_pytrec_eval[row.qid][row.docno] = float(row.score) - return(run_dict_pytrec_eval) - - @staticmethod - @deprecated(version="0.9", reason="Use pt.Evaluate instead") - def evaluate(res : pd.DataFrame, qrels : pd.DataFrame, metrics=['map', 'ndcg'], perquery=False): - from .pipelines import Evaluate - return Evaluate(res, qrels, metrics=metrics, perquery=perquery) - - @staticmethod - @deprecated(version="0.9") - def mean_of_measures(result, measures=None, num_q = None): - from .pipelines import _mean_of_measures - return _mean_of_measures(result, measures=measures, num_q=num_q) +@deprecated(version="0.9") +def convert_qrels_to_dict(df): + """ + Convert a qrels dataframe to dictionary for use in pytrec_eval + + Args: + df(pandas.Dataframe): The dataframe to convert + + Returns: + dict: {qid:{docno:label,},} + """ + run_dict_pytrec_eval = defaultdict(dict) + for row in df.itertuples(): + run_dict_pytrec_eval[row.qid][row.docno] = int(row.label) + return(run_dict_pytrec_eval) + + +@deprecated(version="0.9") +def convert_qrels_to_dataframe(qrels_dict) -> pd.DataFrame: + """ + Convert a qrels dictionary to a dataframe + + Args: + qrels_dict(Dict[str, Dict[str, int]]): {qid:{docno:label,},} + + Returns: + pd.DataFrame: columns=['qid', 'docno', 'label'] + """ + result = {'qid': [], 'docno': [], 'label': []} + for qid in qrels_dict: + for docno, label in qrels_dict[qid]: + result['qid'].append(qid) + result['docno'].append(docno) + result['label'].append(label) + + return pd.DataFrame(result) + + +@deprecated(version="0.9") +def convert_res_to_dict(df): + """ + Convert a result dataframe to dictionary for use in pytrec_eval + + Args: + df(pandas.Dataframe): The dataframe to convert + + Returns: + dict: {qid:{docno:score,},} + """ + run_dict_pytrec_eval = defaultdict(dict) + for row in df.itertuples(): + run_dict_pytrec_eval[row.qid][row.docno] = float(row.score) + return(run_dict_pytrec_eval) + + +@deprecated(version="0.9", reason="Use pt.Evaluate instead") +def evaluate(res : pd.DataFrame, qrels : pd.DataFrame, metrics=['map', 'ndcg'], perquery=False): + from .pipelines import Evaluate + return Evaluate(res, qrels, metrics=metrics, perquery=perquery) + + +@deprecated(version="0.9") +def mean_of_measures(result, measures=None, num_q = None): + from .pipelines import _mean_of_measures + return _mean_of_measures(result, measures=measures, num_q=num_q) def once() -> Callable: From 459624c571288ee9f1cf4809231e65f1b6bb2eb9 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:48:50 +0100 Subject: [PATCH 067/153] fix broken test --- tests/test_iterdictindex_pretok.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_iterdictindex_pretok.py b/tests/test_iterdictindex_pretok.py index 31714721..a6ec3edc 100644 --- a/tests/test_iterdictindex_pretok.py +++ b/tests/test_iterdictindex_pretok.py @@ -19,7 +19,7 @@ def test_dpl(self): {'docno': 'd1', 'url': 'url1', "toks" : {"a" : 1, "b" : 2}}, {'docno': 'd2', 'url': 'url1', "toks" : {"a" : 1, "b" : 1}} ] - from pyterrier.index import DocListIterator + from pyterrier.terrier.index import DocListIterator iterator = DocListIterator(iter(it1)) self.assertTrue(iterator.hasNext()) From b88832f9d6b7f0b94df06fa6f1ae09b35e617737 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 17:51:45 +0100 Subject: [PATCH 068/153] more cleanup --- pyterrier/apply_base.py | 17 +++++++---------- pyterrier/pipelines.py | 11 +++++------ 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/pyterrier/apply_base.py b/pyterrier/apply_base.py index bdd69449..8a30c403 100644 --- a/pyterrier/apply_base.py +++ b/pyterrier/apply_base.py @@ -1,7 +1,7 @@ from .transformer import Transformer -from . import tqdm from .model import add_ranks, split_df import pandas as pd +import pyterrier as pt class ApplyTransformerBase(Transformer): """ @@ -34,12 +34,11 @@ def transform(self, res): import math, pandas as pd from pyterrier.model import split_df - from . import tqdm it = res.groupby("qid") lastqid = None if self.verbose: - it = tqdm(it, unit='query') + it = pt.tqdm(it, unit='query') try: if self.batch_size is None: query_dfs = [] @@ -109,7 +108,7 @@ def _transform_rowwise(self, outputRes): outputRes["score"] = pd.Series(dtype='float64') return outputRes if self.verbose: - tqdm.pandas(desc="pt.apply.doc_score", unit="d") + pt.tqdm.pandas(desc="pt.apply.doc_score", unit="d") outputRes["score"] = outputRes.progress_apply(fn, axis=1).astype('float64') else: outputRes["score"] = outputRes.apply(fn, axis=1).astype('float64') @@ -132,10 +131,9 @@ def transform(self, inputRes): import math from .model import split_df - from . import tqdm num_chunks = math.ceil( len(inputRes) / self.batch_size ) iterator = split_df(inputRes, num_chunks) - iterator = tqdm(iterator, desc="pt.apply", unit='row') + iterator = pt.tqdm(iterator, desc="pt.apply", unit='row') rtr = pd.concat([self._transform_batchwise(chunk_df) for chunk_df in iterator]) rtr = add_ranks(rtr) return rtr @@ -166,7 +164,7 @@ def transform(self, inputRes): fn = self.fn outputRes = inputRes.copy() if self.verbose: - tqdm.pandas(desc="pt.apply.doc_features", unit="d") + pt.tqdm.pandas(desc="pt.apply.doc_features", unit="d") outputRes["features"] = outputRes.progress_apply(fn, axis=1) else: outputRes["features"] = outputRes.apply(fn, axis=1) @@ -212,7 +210,7 @@ def transform(self, inputRes): outputRes = inputRes.copy() try: if self.verbose: - tqdm.pandas(desc="pt.apply.query", unit="d") + pt.tqdm.pandas(desc="pt.apply.query", unit="d") outputRes["query"] = outputRes.progress_apply(fn, axis=1) else: outputRes["query"] = outputRes.apply(fn, axis=1) @@ -263,11 +261,10 @@ def transform(self, inputRes): # batching import math, pandas as pd from pyterrier.model import split_df - from . import tqdm num_chunks = math.ceil( len(inputRes) / self.batch_size ) iterator = split_df(inputRes, num_chunks) if self.verbose: - iterator = tqdm(iterator, desc="pt.apply", unit='row') + iterator = pt.tqdm(iterator, desc="pt.apply", unit='row') rtr = pd.concat([self.fn(chunk_df) for chunk_df in iterator]) return rtr diff --git a/pyterrier/pipelines.py b/pyterrier/pipelines.py index 8188ad08..07621708 100644 --- a/pyterrier/pipelines.py +++ b/pyterrier/pipelines.py @@ -7,6 +7,7 @@ from .model import coerce_dataframe_types import ir_measures from ir_measures.measures import BaseMeasure +import pyterrier as pt MEASURE_TYPE=Union[str,BaseMeasure] MEASURES_TYPE=Sequence[MEASURE_TYPE] @@ -154,8 +155,7 @@ def _run_and_evaluate( from .io import read_results, write_results if pbar is None: - from . import tqdm - pbar = tqdm(disable=True) + pbar = pt.tqdm(disable=True) metrics, rev_mapping = _convert_measures(metrics) qrels = qrels.rename(columns={'qid': 'query_id', 'docno': 'doc_id', 'label': 'relevance'}) @@ -448,7 +448,6 @@ def _apply_round(measure, value): eval_metrics.remove("mrt") # progress bar construction - from . import tqdm tqdm_args={ 'disable' : not verbose, 'unit' : 'system', @@ -461,7 +460,7 @@ def _apply_round(measure, value): # round number of batches up for each system tqdm_args['total'] = math.ceil((len(topics) / batch_size)) * len(retr_systems) - with tqdm(**tqdm_args) as pbar: + with pt.tqdm(**tqdm_args) as pbar: # run and evaluate each system for name, system in zip(names, retr_systems): save_file = None @@ -844,7 +843,7 @@ def GridScan( """ import itertools - from . import Utils, tqdm + from . import Utils if verbose and jobs > 1: from warnings import warn @@ -891,7 +890,7 @@ def _evaluate_several_settings(inputs : List[Tuple]): eval_list = [] #for each combination of parameter values if jobs == 1: - for v in tqdm(combinations, total=len(combinations), desc="GridScan", mininterval=0.3) if verbose else combinations: + for v in pt.tqdm(combinations, total=len(combinations), desc="GridScan", mininterval=0.3) if verbose else combinations: parameter_list, eval_scores = _evaluate_one_setting(keys, v) eval_list.append( (parameter_list, eval_scores) ) else: From 3fd8de150006aa7035f17f5fede9f569d416a423 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 18:32:48 +0100 Subject: [PATCH 069/153] fix broken test --- tests/test_iterdictindex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_iterdictindex.py b/tests/test_iterdictindex.py index 1ae0cfe6..661535ba 100644 --- a/tests/test_iterdictindex.py +++ b/tests/test_iterdictindex.py @@ -76,7 +76,7 @@ def test_checkjavaDocIterator(self): {'docno': '3', 'url': 'url3', 'text': 'The body may perhaps compensates for the loss', 'title': 'Best of Viktor Prowoll'}, ] - from pyterrier.index import FlatJSONDocumentIterator + from pyterrier.terrier import FlatJSONDocumentIterator it1 = itertools.islice(it, 1) jIter1 = FlatJSONDocumentIterator(it1) From 9c0924af5149faa3147a809bad05c8ac6de4d910 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 18:39:23 +0100 Subject: [PATCH 070/153] fix broken test --- tests/test_iterdictindex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_iterdictindex.py b/tests/test_iterdictindex.py index 661535ba..088364da 100644 --- a/tests/test_iterdictindex.py +++ b/tests/test_iterdictindex.py @@ -76,7 +76,7 @@ def test_checkjavaDocIterator(self): {'docno': '3', 'url': 'url3', 'text': 'The body may perhaps compensates for the loss', 'title': 'Best of Viktor Prowoll'}, ] - from pyterrier.terrier import FlatJSONDocumentIterator + from pyterrier.terrier.index import FlatJSONDocumentIterator it1 = itertools.islice(it, 1) jIter1 = FlatJSONDocumentIterator(it1) From b69e310abb188bb805510c41fa6f51648a267c05 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 18:57:03 +0100 Subject: [PATCH 071/153] make java configuration object more pythonic --- pyterrier/anserini/java.py | 6 +++--- pyterrier/java/_init.py | 14 ++++++-------- pyterrier/java/config.py | 8 +++++++- pyterrier/java/utils.py | 6 +++--- pyterrier/terrier/java.py | 23 ++++++++++------------- 5 files changed, 29 insertions(+), 28 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index a1aa7cad..c45b3e62 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -15,11 +15,11 @@ def _pre_init(jnius_config): # pyserini not installed, do nothing return - if configure.get('version') is None: + if configure['version'] is None: jar = _get_pyserini_jar() else: # download and use the anserini version specified by the user - jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure.get('version'), 'fatjar') + jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure['version'], 'fatjar') if jar is None: raise RuntimeError('Could not find anserini jar') @@ -63,7 +63,7 @@ def _get_pyserini_jar() -> Optional[str]: @pt.java.before_init def set_version(version: str): - configure.set('version', version) + configure['version'] = version def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index e54590ae..a69338ee 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -51,22 +51,20 @@ def init() -> None: _pre_init = entry_point.load() _pre_init(jnius_config) - cfg = pt.java.configure() + if pt.java.configure['mem'] is not None: + jnius_config.add_options('-Xmx' + str(pt.java.configure['mem']) + 'm') - if cfg['mem'] is not None: - jnius_config.add_options('-Xmx' + str(cfg['mem']) + 'm') - - for opt in cfg['options']: + for opt in pt.java.configure['options']: jnius_config.add_options(opt) - for jar in cfg['jars']: + for jar in pt.java.configure['jars']: jnius_config.add_classpath(jar) import jnius _started = True - pt.java.set_log_level(cfg['log_level']) - if cfg['redirect_io']: + pt.java.set_log_level(pt.java.configure['log_level']) + if pt.java.configure['redirect_io']: pt.java.redirect_stdouterr() java_version = pt.java.J.System.getProperty("java.version") diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 99ee9af2..38b0f281 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -8,7 +8,7 @@ def __init__(self, name): self.name = name def get(self, key): - return self()[key] + return deepcopy(_CONFIGS[self.name][key]) def set(self, key, value): self(**{key: value}) @@ -18,6 +18,12 @@ def append(self, key, value): res.append(value) self(**{key: res}) + def __getitem__(self, key): + return self.get(key) + + def __setitem__(self, key, value): + self.set(key, value) + def __call__(self, **settings: Any): for key, value in settings.items(): if key not in _CONFIGS[self.name]: diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 428ce502..b4391553 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -91,7 +91,7 @@ def add_package(org_name: str = None, package_name: str = None, version: str = N @before_init def set_memory_limit(mem: Optional[float]): - configure(mem=mem) + configure['mem'] = mem @before_init @@ -101,7 +101,7 @@ def add_option(option: str): @before_init def set_redirect_io(redirect_io: bool): - configure(redirect_io=redirect_io) + configure['redirect_io'] = redirect_io def set_log_level(level): @@ -117,7 +117,7 @@ def set_log_level(level): Unlike other java settings, this can be changed either before or after init() has been called. """ if not started(): - configure(log_level=level) + configure['log_level'] = level else: J.PTUtils.setLogLevel(level, None) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index bfd059b0..ca3a20c0 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -6,8 +6,6 @@ _SAVED_FNS = [] -_resolved_helper_version = None - _properties = None configure = pt.java.config.register('pt.terrier.java', { @@ -20,12 +18,12 @@ @pt.java.before_init def set_terrier_version(version: Optional[str] = None): - configure(terrier_version=version) + configure['terrier_version'] = version @pt.java.before_init def set_helper_version(version: Optional[str] = None): - configure(helper_version=version) + configure['helper_version'] = version @pt.java.before_init @@ -35,7 +33,6 @@ def enable_prf(version: Optional[str] = None): def _pre_init(jnius_config): - global _resolved_helper_version """ Download Terrier's jar file for the given version at the given file_path Called by pt.init() @@ -46,27 +43,27 @@ def _pre_init(jnius_config): helper_version(str): Which version of the helper - None is latest """ # If version is not specified, find newest and download it - cfg = configure() - if cfg['terrier_version'] is None: + if configure['terrier_version'] is None: terrier_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") else: - terrier_version = str(cfg['terrier_version']) # just in case its a float + terrier_version = str(configure['terrier_version']) # just in case its a float + configure['terrier_version'] = terrier_version # save this specific version # obtain the fat jar from Maven # "snapshot" means use Jitpack.io to get a build of the current # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT if terrier_version == "snapshot": - trJar = pt.java.mavenresolver.get_package_jar("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=cfg['force_download']) + trJar = pt.java.mavenresolver.get_package_jar("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=configure['force_download']) else: trJar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") pt.java.add_jar(trJar) # now the helper classes - if cfg['helper_version'] is None or cfg['helper_version'] == 'snapshot': + if configure['helper_version'] is None or configure['helper_version'] == 'snapshot': helper_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") else: - helper_version = str(cfg['helper_version']) # just in case its a float - _resolved_helper_version = helper_version + helper_version = str(configure['helper_version']) # just in case its a float + configure['helper_version'] = helper_version # save this specific version pt.java.add_package(TERRIER_PKG, "terrier-python-helper", helper_version) @@ -130,7 +127,7 @@ def _post_init(jnius): version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" print(f"PyTerrier {pt.__version__} has loaded Terrier {version_string} and " - f"terrier-helper {_resolved_helper_version}\n", file=sys.stderr) + f"terrier-helper {configure['helper_version']}\n", file=sys.stderr) def _new_indexref(s): From 803560a8463093b708b8a8f69aca446b01bf4ef3 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 19:24:24 +0100 Subject: [PATCH 072/153] moved check_version under pt.terrier and deprecated the one in the main namespace --- pyterrier/__init__.py | 27 +++----------------- pyterrier/io.py | 4 +-- pyterrier/terrier/__init__.py | 4 +-- pyterrier/terrier/index.py | 12 ++++----- pyterrier/terrier/java.py | 40 ++++++++++++++++++++++++++++-- pyterrier/terrier/retriever.py | 10 ++++---- pyterrier/terrier/rewrite.py | 2 +- tests/test_br.py | 12 ++++----- tests/test_fbr.py | 4 +-- tests/test_files_indexer.py | 3 +-- tests/test_iterdictindex_pretok.py | 4 +-- tests/test_rewrite.py | 6 ++--- 12 files changed, 71 insertions(+), 57 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index a3003acd..1d016748 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -9,7 +9,7 @@ from pyterrier.java import started, redirect_stdouterr # for backward compat, maybe remove/deprecate some day? from pyterrier import terrier -from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser +from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser, version, check_version, check_helper_version from pyterrier import anserini from pyterrier import cache @@ -140,27 +140,6 @@ def set_tqdm(type=None): else: raise ValueError("Unknown tqdm type %s" % str(type)) tqdm.pandas() - - -@java.required -def version(): - """ - Returns the version string from the underlying Terrier platform. - """ - return terrier.J.Version.VERSION - -def check_version(min, helper=False): - """ - Returns True iff the underlying Terrier version is no older than the requested version. - """ - from packaging.version import Version - from . import terrier - currentVer = terrier.java._resolved_helper_version if helper else version() - assert currentVer is not None, "Could not obtain Terrier version (helpher=%s)" % str(helper) - currentVer = Version(currentVer.replace("-SNAPSHOT", "")) - - min = Version(str(min)) - return currentVer >= min @java.required @@ -212,7 +191,7 @@ def _(): 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'started', 'redirect_stdouterr', 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'set_property', 'set_properties', 'run', 'rewrite', 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', - 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', - 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'set_tqdm', 'version', 'check_version', + 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', 'version', + 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'set_tqdm', 'version', 'check_version', 'check_helper_version', 'logging', 'extend_classpath', ] diff --git a/pyterrier/io.py b/pyterrier/io.py index 84b76324..940fecda 100644 --- a/pyterrier/io.py +++ b/pyterrier/io.py @@ -300,7 +300,7 @@ def read_topics(filename, format="trec", **kwargs): @pt.java.required def _read_topics_trec(file_path, doc_tag="TOP", id_tag="NUM", whitelist=["TITLE"], blacklist=["DESC","NARR"]): - assert pt.check_version("5.3") + assert pt.terrier.check_version("5.3") trecquerysource = pt.java.autoclass('org.terrier.applications.batchquerying.TRECQuery') tqs = trecquerysource( [file_path], doc_tag, id_tag, whitelist, blacklist, @@ -359,7 +359,7 @@ def _read_topics_singleline(filepath, tokenise=True): pandas.Dataframe with columns=['qid','query'] """ rows = [] - assert pt.check_version("5.3") + assert pt.terrier.check_version("5.3") slqIter = pt.java.autoclass("org.terrier.applications.batchquerying.SingleLineTRECQuery")(filepath, tokenise) for q in slqIter: rows.append([slqIter.getQueryId(), q]) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 103bf824..da4abaeb 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,6 +1,6 @@ # java stuff from pyterrier.terrier import java -from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J, set_property, set_properties, run +from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J, set_property, set_properties, run, version, check_version, check_helper_version from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier import index @@ -12,7 +12,7 @@ __all__ = [ # java stuff - 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_package', 'J', + 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_package', 'J', 'version', 'check_version', 'check_helper_version', # retrieval 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index 037ee016..967d930f 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -58,7 +58,7 @@ def __init__(self, pyiterator): self.pyiterator = pyiterator self.hasnext = True self.lastdoc = None - self.tr57 = not pt.check_version("5.8") + self.tr57 = not pt.terrier.check_version("5.8") @staticmethod def pyDictToMap(a_dict): #returns Map @@ -515,7 +515,7 @@ def _indexing_config(this, stopword_list : Union[List[str], None], termpipelines if this == TerrierStopwords.terrier: termpipelines.append('Stopwords') if this == TerrierStopwords.custom: - assert pt.check_version("5.8"), "Terrier 5.8 required" + assert pt.terrier.check_version("5.8"), "Terrier 5.8 required" assert stopword_list is not None, "expected to receive a stopword list" stopword_list_esc = [t.replace(",", "\\,") for t in stopword_list ] @@ -903,7 +903,7 @@ def __init__(self, index_path, *args, meta = {'docno' : 20}, meta_reverse=['docn self.meta_reverse = meta_reverse self.pretokenised = pretokenised if self.pretokenised: - assert pt.check_version(5.7), "Terrier too old, this requires 5.7" + assert pt.terrier.check_version(5.7), "Terrier too old, this requires 5.7" # we disable stemming and stopwords for pretokenised indices self.stemmer = None self.stopwords = None @@ -1027,7 +1027,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None collectionIterator = FlatJSONDocumentIterator(self._filter_iterable(it, fields)) javaDocCollection = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) # remove once 5.7 is now the minimum version - indexer.index(javaDocCollection if pt.check_version("5.7") else [javaDocCollection]) + indexer.index(javaDocCollection if pt.terrier.check_version("5.7") else [javaDocCollection]) global lastdoc lastdoc = None self.index_called = True @@ -1232,7 +1232,7 @@ def index(self, files_path : Union[str,List[str]]): colObj = pt.java.cast("org.terrier.indexing.MultiDocumentFileCollection", colObj) colObj = TQDMCollection(colObj) # remove once 5.7 is now the minimum version - if pt.check_version("5.7"): + if pt.terrier.check_version("5.7"): index.index(colObj) else: index.index(pt.java.autoclass("org.terrier.python.PTUtils").makeCollection(colObj)) @@ -1283,7 +1283,7 @@ def index(self, files_path : Union[str,List[str]]): simpleColl = pt.terrier.J.SimpleFileCollection(asList, False) # remove once 5.7 is now the minimum version - index.index(simpleColl if pt.check_version("5.7") else [simpleColl]) + index.index(simpleColl if pt.terrier.check_version("5.7") else [simpleColl]) global lastdoc lastdoc = None self.index_called = True diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index ca3a20c0..5b97fc27 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -1,4 +1,5 @@ import sys +from packaging.version import Version from typing import Optional import pyterrier as pt @@ -273,7 +274,7 @@ def extend_package(package): """ Allows to add packages to Terrier's classpath after the JVM has started. """ - assert pt.check_version(5.3), "Terrier 5.3 required for this functionality" + assert check_version(5.3), "Terrier 5.3 required for this functionality" package_list = pt.java.J.ArrayList() package_list.add(package) mvnr = J.ApplicationSetup.getPlugin("MavenResolver") @@ -318,6 +319,41 @@ def run(cmd, args=[]): J.CLITool.main([cmd] + args) +@pt.java.required +def version(): + """ + Returns the version string from the underlying Terrier platform. + """ + return J.Version.VERSION + + +@pt.java.required +def check_version(min): + """ + Returns True iff the underlying Terrier version is no older than the requested version. + """ + current_ver = version() + assert current_ver is not None, "Could not obtain Terrier version" + current_ver = Version(current_ver.replace("-SNAPSHOT", "")) + + min = Version(str(min)) + return current_ver >= min + + +@pt.java.required +def check_helper_version(min): + """ + Returns True iff the underlying Terrier helper version is no older than the requested version. + """ + current_ver = configure['helper_version'] + assert current_ver is not None, "Could not obtain Terrier helper version" + current_ver = Version(current_ver.replace("-SNAPSHOT", "")) + + min = Version(str(min)) + return current_ver >= min + + + # Terrier-specific classes J = pt.java.JavaClasses({ 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', @@ -343,7 +379,7 @@ def run(cmd, args=[]): 'BlockIndexer': 'org.terrier.structures.indexing.classical.BlockIndexer', 'BasicSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BasicSinglePassIndexer', 'BlockSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BlockSinglePassIndexer', - 'BasicMemoryIndexer': lambda: 'org.terrier.realtime.memory.MemoryIndexer' if pt.check_version("5.7") else 'org.terrier.python.MemoryIndexer', + 'BasicMemoryIndexer': lambda: 'org.terrier.realtime.memory.MemoryIndexer' if check_version("5.7") else 'org.terrier.python.MemoryIndexer', 'Collection': 'org.terrier.indexing.Collection', 'StructureMerger': 'org.terrier.structures.merging.StructureMerger', 'BlockStructureMerger': 'org.terrier.structures.merging.BlockStructureMerger', diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 6d315aba..ebd09a30 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -206,7 +206,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do self.appSetup = pt.java.autoclass('org.terrier.utility.ApplicationSetup') self.properties = _mergeDicts(BatchRetrieve.default_properties, properties) self.concurrentIL = pt.java.autoclass("org.terrier.structures.ConcurrentIndexLoader") - if pt.check_version(5.5) and "SimpleDecorateProcess" not in self.properties["querying.processes"]: + if pt.terrier.check_version(5.5) and "SimpleDecorateProcess" not in self.properties["querying.processes"]: self.properties["querying.processes"] += ",decorate:SimpleDecorateProcess" self.metadata = metadata self.threads = threads @@ -237,7 +237,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do if self.threads > 1: warn("Multi-threaded retrieval is experimental, YMMV.") - assert pt.check_version(5.5), "Terrier 5.5 is required for multi-threaded retrieval" + assert pt.terrier.check_version(5.5), "Terrier 5.5 is required for multi-threaded retrieval" # we need to see if our indexref is concurrent. if not, we upgrade it using ConcurrentIndexLoader # this will upgrade the underlying index too. @@ -392,7 +392,7 @@ def transform(self, queries): scores_provided = "score" in queries.columns input_results = None if docno_provided or docid_provided: - assert pt.check_version(5.3) + assert pt.terrier.check_version(5.3) input_results = queries # query is optional, and functionally dependent on qid. @@ -622,7 +622,7 @@ def __init__(self, index_location, features, controls=None, properties=None, thr # check for terrier-core#246 bug usiung FatFull if self.wmodel is not None: - assert pt.check_version(5.9), "Terrier 5.9 is required for this functionality, see https://github.com/terrier-org/terrier-core/pull/246" + assert pt.terrier.check_version(5.9), "Terrier 5.9 is required for this functionality, see https://github.com/terrier-org/terrier-core/pull/246" if threads > 1: raise ValueError("Multi-threaded retrieval not yet supported by FeaturesBatchRetrieve") @@ -691,7 +691,7 @@ def transform(self, queries): scores_provided = "score" in queries.columns if docno_provided or docid_provided: #re-ranking mode - assert pt.check_version(5.3) + assert pt.terrier.check_version(5.3) input_results = queries # query is optional, and functionally dependent on qid. diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index f8b01cec..88c3c53f 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -116,7 +116,7 @@ def __init__(self, verbose = 0, remove_stopwords = True, prox_model = None, **kw self.verbose = 0 self.prox_model = prox_model self.remove_stopwords = remove_stopwords - assert pt.check_version("5.3") + assert pt.terrier.check_version("5.3") self.ApplyTermPipeline_stopsonly = pt.terrier.J.ApplyTermPipeline('Stopwords') def __repr__(self): diff --git a/tests/test_br.py b/tests/test_br.py index 6d210943..094a1972 100644 --- a/tests/test_br.py +++ b/tests/test_br.py @@ -24,7 +24,7 @@ def parse_query_result(filename): class TestBatchRetrieve(BaseTestCase): def test_candidate_set_one_doc(self): - if not pt.check_version("5.3"): + if not pt.terrier.check_version("5.3"): self.skipTest("Requires Terrier 5.3") indexloc = self.here + "/fixtures/index/data.properties" # docid 50 == docno 51 @@ -108,7 +108,7 @@ def test_br_empty(self): self.assertEqual(0, len(result)) def test_candidate_set_two_doc(self): - if not pt.check_version("5.3"): + if not pt.terrier.check_version("5.3"): self.skipTest("Requires Terrier 5.3") indexloc = self.here + "/fixtures/index/data.properties" @@ -178,7 +178,7 @@ def test_num_results(self): result = retr.transform(input) self.assertEqual(len(result), 10) - if not pt.check_version("5.5"): + if not pt.terrier.check_version("5.5"): return retr = pt.BatchRetrieve(indexref, num_results=1001) @@ -208,7 +208,7 @@ def test_num_python_wmodel(self): def test_threading_manualref(self): - if not pt.check_version("5.5"): + if not pt.terrier.check_version("5.5"): self.skipTest("Requires Terrier 5.5") topics = pt.get_dataset("vaswani").get_topics().head(8) @@ -225,7 +225,7 @@ def test_threading_manualref(self): result = retr.transform(topics) def test_threading_selfupgrade(self): - if not pt.check_version("5.5"): + if not pt.terrier.check_version("5.5"): self.skipTest("Requires Terrier 5.5") topics = pt.get_dataset("vaswani").get_topics().head(10) @@ -238,7 +238,7 @@ def test_threading_selfupgrade(self): def test_terrier_retrieve_alias(self): # based off test_candidate_set_one_doc - if not pt.check_version("5.3"): + if not pt.terrier.check_version("5.3"): self.skipTest("Requires Terrier 5.3") indexloc = self.here + "/fixtures/index/data.properties" # docid 50 == docno 51 diff --git a/tests/test_fbr.py b/tests/test_fbr.py index d7c49e25..75b6bb5a 100644 --- a/tests/test_fbr.py +++ b/tests/test_fbr.py @@ -24,7 +24,7 @@ def test_compile_to_fbr(self): def test_fbr_reranking(self): - if not pt.check_version("5.4"): + if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") # this test examines the use of ScoringMatchingWithFat JIR = pt.autoclass('org.terrier.querying.IndexRef') @@ -67,7 +67,7 @@ def test_fbr_reranking(self): self.assertEqual(result1F1_map, result2F1_map) def test_fbr_reranking2(self): - if not pt.check_version("5.4"): + if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 JIR = pt.autoclass('org.terrier.querying.IndexRef') diff --git a/tests/test_files_indexer.py b/tests/test_files_indexer.py index 02e4eaba..27d9768a 100644 --- a/tests/test_files_indexer.py +++ b/tests/test_files_indexer.py @@ -44,8 +44,7 @@ def test_2_docs_title_body_meta(self): # test title has been recorded in metaindex self.assertEqual("test title", index.getMetaIndex().getItem("title", html_pos)) - from pyterrier import check_version - if not check_version("5.5"): + if not pt.terrier.check_version("5.5"): return # test bodies have been recorded in metaindex diff --git a/tests/test_iterdictindex_pretok.py b/tests/test_iterdictindex_pretok.py index a6ec3edc..1523b47f 100644 --- a/tests/test_iterdictindex_pretok.py +++ b/tests/test_iterdictindex_pretok.py @@ -55,7 +55,7 @@ def test_dpl(self): def test_json_pretok_iterator(self): - if not pt.check_version("5.7") or not pt.check_version("0.0.7", helper=True): + if not pt.terrier.check_version("5.7") or not pt.terrier.check_helper_version("0.0.7"): raise SkipTest("Requires Terrier 5.7 and helper 0.0.7") it = [ @@ -81,7 +81,7 @@ def test_json_pretok_iterator(self): self.assertEqual(1, pl.getFrequency("a")) def _make_pretok_index(self, n, index_type, meta=('docno', 'url')): - if not pt.check_version("5.7") or not pt.check_version("0.0.7", helper=True): + if not pt.terrier.check_version("5.7") or not pt.terrier.check_helper_version("0.0.7"): self.skipTest("Requires Terrier 5.7 and helper 0.0.7") from pyterrier.terrier.index import IndexingType diff --git a/tests/test_rewrite.py b/tests/test_rewrite.py index 4b117742..627e831c 100644 --- a/tests/test_rewrite.py +++ b/tests/test_rewrite.py @@ -128,12 +128,12 @@ def test_reset_with_docs(self): self.assertEqual(outputDF.iloc[3]["query"], "one two") def test_sdm_freq(self): - if not pt.check_version("5.3"): + if not pt.terrier.check_version("5.3"): self.skipTest("Requires Terrier 5.3") self._sdm(True) def test_sdm(self): - if not pt.check_version("5.3"): + if not pt.terrier.check_version("5.3"): self.skipTest("Requires Terrier 5.3") self._sdm(False) @@ -289,7 +289,7 @@ def test_tokenise(self): self.assertEqual('a b', pt.rewrite.tokenise(lambda q : q.split('/')).search("a/b").iloc[0].query) def test_qe(self): - if not pt.check_version("5.3"): + if not pt.terrier.check_version("5.3"): self.skipTest("Requires Terrier 5.3") dataset = pt.datasets.get_dataset("vaswani") indexref = dataset.get_index() From 6daaab7972fcb7bb1c3fbb0291ef0031b08d83f8 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 19:45:30 +0100 Subject: [PATCH 073/153] deprecation in the main namespace --- pyterrier/__init__.py | 36 ++++++++--------------------------- pyterrier/terrier/__init__.py | 4 ++-- pyterrier/terrier/java.py | 9 ++++++--- 3 files changed, 16 insertions(+), 33 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 1d016748..c9b9911f 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -9,7 +9,7 @@ from pyterrier.java import started, redirect_stdouterr # for backward compat, maybe remove/deprecate some day? from pyterrier import terrier -from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser, version, check_version, check_helper_version +from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from pyterrier import anserini from pyterrier import cache @@ -142,31 +142,11 @@ def set_tqdm(type=None): tqdm.pandas() -@java.required -@deprecated(version="0.11", reason="Use pt.java.set_log_level() instead") -def logging(level): - """ - Set the logging level. Equivalent to setting the logging= parameter to init(). - The following string values are allowed, corresponding to Java logging levels: - - - `'ERROR'`: only show error messages - - `'WARN'`: only show warnings and error messages (default) - - `'INFO'`: show information, warnings and error messages - - `'DEBUG'`: show debugging, information, warnings and error messages - - """ - java.set_log_level(level) - - -@java.required -def extend_classpath(mvnpackages): - """ - Allows to add packages to Terrier's classpath after the JVM has started. - """ - if isinstance(mvnpackages, str): - mvnpackages = [mvnpackages] - for package in mvnpackages: - terrier.extend_package(package) +# deprecated functions explored to the main namespace, which will be removed in a future version +logging = deprecated(version='0.11.0', reason="use pt.java.set_log_level(...) instead")(java.set_log_level) +version = deprecated(version='0.11.0', reason="use pt.terrier.version() instead")(terrier.version) +check_version = deprecated(version='0.11.0', reason="use pt.terrier.check_version(...) instead")(terrier.check_version) +extend_classpath = deprecated(version='0.11.0', reason="use pt.terrier.extend_classpath(...) instead")(terrier.extend_classpath) # Additional setup performed in a function to avoid polluting the namespace with other imports like platform @@ -191,7 +171,7 @@ def _(): 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'started', 'redirect_stdouterr', 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'set_property', 'set_properties', 'run', 'rewrite', 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', - 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', 'version', - 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'set_tqdm', 'version', 'check_version', 'check_helper_version', + 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', + 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'set_tqdm', 'version', 'check_version', 'logging', 'extend_classpath', ] diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index da4abaeb..72bac572 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,6 +1,6 @@ # java stuff from pyterrier.terrier import java -from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_package, J, set_property, set_properties, run, version, check_version, check_helper_version +from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier import index @@ -12,7 +12,7 @@ __all__ = [ # java stuff - 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_package', 'J', 'version', 'check_version', 'check_helper_version', + 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', # retrieval 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 5b97fc27..925ba830 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -1,6 +1,6 @@ import sys from packaging.version import Version -from typing import Optional +from typing import Optional, Union, List import pyterrier as pt TERRIER_PKG = "org.terrier" @@ -270,13 +270,16 @@ def _index_corpusiter_direct_pretok(self): @pt.java.required -def extend_package(package): +def extend_classpath(packages: Union[str, List[str]]): """ Allows to add packages to Terrier's classpath after the JVM has started. """ + if isinstance(packages, str): + packages = [packages] assert check_version(5.3), "Terrier 5.3 required for this functionality" package_list = pt.java.J.ArrayList() - package_list.add(package) + for package in packages: + package_list.add(package) mvnr = J.ApplicationSetup.getPlugin("MavenResolver") assert mvnr is not None mvnr = pt.java.cast("org.terrier.utility.MavenResolver", mvnr) From 8191a8e98a0914b186fc132367d665ba6f9aa899 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 19:46:04 +0100 Subject: [PATCH 074/153] helper_version stuff is sorted in a previous commit --- pyterrier/__init__.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index c9b9911f..dc5392ee 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -38,9 +38,6 @@ ApplicationSetup = None properties = None -# TODO -_helper_version = None - @java.before_init def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): From d854228720314ac9c7afe5683dc0c69873495a94 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 19:50:49 +0100 Subject: [PATCH 075/153] more main namespace deprecation --- pyterrier/__init__.py | 49 +++++++------------------------------------ pyterrier/utils.py | 37 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 42 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index dc5392ee..5c98eb40 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -89,7 +89,7 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log java.add_option(opt) terrier.set_terrier_version(version) terrier.set_helper_version(helper_version) - set_tqdm(tqdm) + utils.set_tqdm(tqdm) # TODO: missing no_download. Is this something like pt.java.set_offline(True)? @@ -101,49 +101,12 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log set_property("terrier.mvn.coords", pkgs_string) -def set_tqdm(type=None): - """ - Set the tqdm progress bar type that Pyterrier will use internally. - Many PyTerrier transformations can be expensive to apply in some settings - users can - view progress by using the verbose=True kwarg to many classes, such as BatchRetrieve. - - The `tqdm `_ progress bar can be made prettier when using appropriately configured Jupyter notebook setups. - We use this automatically when Google Colab is detected. - - Allowable options for type are: - - - `'tqdm'`: corresponds to the standard text progresss bar, ala `from tqdm import tqdm`. - - `'notebook'`: corresponds to a notebook progress bar, ala `from tqdm.notebook import tqdm` - - `'auto'`: allows tqdm to decide on the progress bar type, ala `from tqdm.auto import tqdm`. Note that this works fine on Google Colab, but not on Jupyter unless the `ipywidgets have been installed `_. - """ - global tqdm - - import sys - if type is None: - if 'google.colab' in sys.modules: - type = 'notebook' - else: - type = 'tqdm' - - if type == 'tqdm': - from tqdm import tqdm as bartype - tqdm = bartype - elif type == 'notebook': - from tqdm.notebook import tqdm as bartype - tqdm = bartype - elif type == 'auto': - from tqdm.auto import tqdm as bartype - tqdm = bartype - else: - raise ValueError("Unknown tqdm type %s" % str(type)) - tqdm.pandas() - - # deprecated functions explored to the main namespace, which will be removed in a future version logging = deprecated(version='0.11.0', reason="use pt.java.set_log_level(...) instead")(java.set_log_level) version = deprecated(version='0.11.0', reason="use pt.terrier.version() instead")(terrier.version) check_version = deprecated(version='0.11.0', reason="use pt.terrier.check_version(...) instead")(terrier.check_version) extend_classpath = deprecated(version='0.11.0', reason="use pt.terrier.extend_classpath(...) instead")(terrier.extend_classpath) +set_tqdm = deprecated(version='0.11.0', reason="use pt.utils.set_tqdm(...) instead")(utils.set_tqdm) # Additional setup performed in a function to avoid polluting the namespace with other imports like platform @@ -158,7 +121,7 @@ def _(): from pyterrier.apply import _apply globals()['apply'] = _apply() - set_tqdm() + utils.set_tqdm() _() __all__ = [ @@ -169,6 +132,8 @@ def _(): 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'set_property', 'set_properties', 'run', 'rewrite', 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', - 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'set_tqdm', 'version', 'check_version', - 'logging', 'extend_classpath', + 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', + + # Deprecated: + 'logging', 'version', 'check_version', 'extend_classpath', 'set_tqdm', ] diff --git a/pyterrier/utils.py b/pyterrier/utils.py index 8e643751..90f206d4 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -1,3 +1,4 @@ +import sys from typing import Callable, Tuple import platform from functools import wraps @@ -6,6 +7,7 @@ import pandas as pd from collections import defaultdict from deprecated import deprecated +import pyterrier as pt @deprecated(version="0.9") @@ -124,3 +126,38 @@ def is_windows() -> bool: def noop(*args, **kwargs): pass + + +def set_tqdm(type=None): + """ + Set the tqdm progress bar type that Pyterrier will use internally. + Many PyTerrier transformations can be expensive to apply in some settings - users can + view progress by using the verbose=True kwarg to many classes, such as BatchRetrieve. + + The `tqdm `_ progress bar can be made prettier when using appropriately configured Jupyter notebook setups. + We use this automatically when Google Colab is detected. + + Allowable options for type are: + + - `'tqdm'`: corresponds to the standard text progresss bar, ala `from tqdm import tqdm`. + - `'notebook'`: corresponds to a notebook progress bar, ala `from tqdm.notebook import tqdm` + - `'auto'`: allows tqdm to decide on the progress bar type, ala `from tqdm.auto import tqdm`. Note that this works fine on Google Colab, but not on Jupyter unless the `ipywidgets have been installed `_. + """ + if type is None: + if 'google.colab' in sys.modules: + type = 'notebook' + else: + type = 'tqdm' + + if type == 'tqdm': + from tqdm import tqdm as bartype + pt.tqdm = bartype + elif type == 'notebook': + from tqdm.notebook import tqdm as bartype + pt.tqdm = bartype + elif type == 'auto': + from tqdm.auto import tqdm as bartype + pt.tqdm = bartype + else: + raise ValueError(f"Unknown tqdm type {type}") + pt.tqdm.pandas() From 460098005cb2a224511c79051635b72127aa95ac Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 20:00:54 +0100 Subject: [PATCH 076/153] doesn't look like we need global properties --- pyterrier/__init__.py | 13 +++++++------ pyterrier/terrier/java.py | 2 +- pyterrier/terrier/retriever.py | 8 -------- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 5c98eb40..7e54240e 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -9,7 +9,7 @@ from pyterrier.java import started, redirect_stdouterr # for backward compat, maybe remove/deprecate some day? from pyterrier import terrier -from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, set_property, set_properties, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser +from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from pyterrier import anserini from pyterrier import cache @@ -36,7 +36,6 @@ # will be set in terrier.java._post_init once java is loaded IndexRef = None ApplicationSetup = None -properties = None @java.before_init @@ -98,7 +97,7 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log # Import other java packages if packages: pkgs_string = ",".join(packages) - set_property("terrier.mvn.coords", pkgs_string) + terrier.set_property("terrier.mvn.coords", pkgs_string) # deprecated functions explored to the main namespace, which will be removed in a future version @@ -107,6 +106,8 @@ def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, log check_version = deprecated(version='0.11.0', reason="use pt.terrier.check_version(...) instead")(terrier.check_version) extend_classpath = deprecated(version='0.11.0', reason="use pt.terrier.extend_classpath(...) instead")(terrier.extend_classpath) set_tqdm = deprecated(version='0.11.0', reason="use pt.utils.set_tqdm(...) instead")(utils.set_tqdm) +set_property = deprecated(version='0.11.0', reason="use pt.terrier.set_property(...) instead")(terrier.set_property) +set_properties = deprecated(version='0.11.0', reason="use pt.terrier.set_properties(...) instead")(terrier.set_properties) # Additional setup performed in a function to avoid polluting the namespace with other imports like platform @@ -129,11 +130,11 @@ def _(): 'text', 'transformer', 'datasets', 'get_dataset', 'find_datasets', 'list_datasets', 'Experiment', 'GridScan', 'GridSearch', 'KFoldGridSearch', 'Evaluate', 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'started', 'redirect_stdouterr', - 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'set_property', 'set_properties', + 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'run', 'rewrite', 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', - 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', + 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'apply', # Deprecated: - 'logging', 'version', 'check_version', 'extend_classpath', 'set_tqdm', + 'logging', 'version', 'check_version', 'extend_classpath', 'set_tqdm', 'set_property', 'set_properties', ] diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 925ba830..39fa0fde 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -119,7 +119,7 @@ def _post_init(jnius): } pt.IndexRef = J.IndexRef - _properties = pt.properties = pt.java.J.Properties() + _properties = pt.java.J.Properties() pt.ApplicationSetup = J.ApplicationSetup J.ApplicationSetup.bootstrapInitialisation(_properties) diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index ebd09a30..5c8d0cf7 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -9,12 +9,6 @@ from concurrent.futures import ThreadPoolExecutor import pyterrier as pt -def importProps(): - from pyterrier import properties as props - # Make import global - globals()["props"] = props -props = None - _matchops = ["#combine", "#uw", "#1", "#tag", "#prefix", "#band", "#base64", "#syn"] def _matchop(query): for m in _matchops: @@ -213,8 +207,6 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do self.RequestContextMatching = pt.java.autoclass("org.terrier.python.RequestContextMatching") self.search_context = {} - if props is None: - importProps() for key, value in self.properties.items(): self.appSetup.setProperty(str(key), str(value)) From 3ddb3868dd227bed8d0dd0f4b92e37bc14e77548 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 21:07:01 +0100 Subject: [PATCH 077/153] further cleanup of main namespace --- pyterrier/__init__.py | 76 +++------------------------------- pyterrier/datasets.py | 8 +--- pyterrier/java/__init__.py | 4 +- pyterrier/java/_init.py | 66 ++++++++++++++++++++++++++++- pyterrier/parallel.py | 8 ---- pyterrier/terrier/__init__.py | 4 +- pyterrier/terrier/java.py | 2 +- pyterrier/terrier/retriever.py | 7 ++-- pyterrier/terrier/rewrite.py | 2 +- tests/base.py | 20 ++++----- tests/test_init.py | 4 +- tests/test_iterdictindex.py | 6 +-- 12 files changed, 95 insertions(+), 112 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 7e54240e..753ef928 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -6,7 +6,7 @@ from pyterrier.transformer import Transformer, Estimator, Indexer from pyterrier import java -from pyterrier.java import started, redirect_stdouterr # for backward compat, maybe remove/deprecate some day? +from pyterrier.java import redirect_stdouterr # for backward compat, maybe remove/deprecate some day? from pyterrier import terrier from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser @@ -30,77 +30,13 @@ # old name Utils = utils -# will be set in java._post_init once java is loaded -HOME_DIR = None - # will be set in terrier.java._post_init once java is loaded IndexRef = None -ApplicationSetup = None - - -@java.before_init -def init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): - """ - Function necessary to be called before Terrier classes and methods can be used. - Loads the Terrier .jar file and imports classes. Also finds the correct version of Terrier to download if no version is specified. - - Args: - version(str): Which version of Terrier to download. Default is `None`. - - * If None, find the newest Terrier released version in MavenCentral and download it. - * If `"snapshot"`, will download the latest build from `Jitpack `_. - - mem(str): Maximum memory allocated for the Java virtual machine heap in MB. Corresponds to java `-Xmx` commandline argument. Default is 1/4 of physical memory. - boot_packages(list(str)): Extra maven package coordinates files to load before starting Java. Default=`[]`. There is more information about loading packages in the `Terrier documentation `_ - packages(list(str)): Extra maven package coordinates files to load, using the Terrier classloader. Default=`[]`. See also `boot_packages` above. - jvm_opts(list(str)): Extra options to pass to the JVM. Default=`[]`. For instance, you may enable Java assertions by setting `jvm_opts=['-ea']` - redirect_io(boolean): If True, the Java `System.out` and `System.err` will be redirected to Pythons sys.out and sys.err. Default=True. - logging(str): the logging level to use: - - * Can be one of `'INFO'`, `'DEBUG'`, `'TRACE'`, `'WARN'`, `'ERROR'`. The latter is the quietest. - * Default is `'WARN'`. - - home_dir(str): the home directory to use. Default to PYTERRIER_HOME environment variable. - tqdm: The `tqdm `_ instance to use for progress bars within PyTerrier. Defaults to tqdm.tqdm. Available options are `'tqdm'`, `'auto'` or `'notebook'`. - helper_version(str): Which version of the helper. - - - **Locating the Terrier .jar file:** PyTerrier is not tied to a specific version of Terrier and will automatically locate and download a recent Terrier .jar file. However, inevitably, some functionalities will require more recent Terrier versions. - - * If set, PyTerrier uses the `version` init kwarg to determine the .jar file to look for. - * If the `version` init kwarg is not set, Terrier will query MavenCentral to determine the latest Terrier release. - * If `version` is set to `"snapshot"`, the latest .jar file build derived from the `Terrier Github repository `_ will be downloaded from `Jitpack `_. - * Otherwise the local (`~/.mvn`) and MavenCentral repositories are searched for the jar file at the given version. - In this way, the default setting is to download the latest release of Terrier from MavenCentral. The user is also able to use a locally installed copy in their private Maven repository, or track the latest build of Terrier from Jitpack. - - If you wish to run PyTerrier in an offline enviroment, you should ensure that the "terrier-assemblies-{your version}-jar-with-dependencies.jar" and "terrier-python-helper-{your helper version}.jar" - are in the "~/.pyterrier" (if they are not present, they will be downloaded the first time). Then you should set their versions when calling ``init()`` function. For example: - ``pt.init(version = 5.5, helper_version = "0.0.6")``. - """ - - # Set the corresponding options - java.set_memory_limit(mem) - java.set_redirect_io(redirect_io) - java.set_log_level(logging) - for package in boot_packages: - java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) - for opt in jvm_opts: - java.add_option(opt) - terrier.set_terrier_version(version) - terrier.set_helper_version(helper_version) - utils.set_tqdm(tqdm) - - # TODO: missing no_download. Is this something like pt.java.set_offline(True)? - - java.init() - - # Import other java packages - if packages: - pkgs_string = ",".join(packages) - terrier.set_property("terrier.mvn.coords", pkgs_string) # deprecated functions explored to the main namespace, which will be removed in a future version +init = deprecated(version='0.11.0', reason='No longer needed, java is started automatically. To force initialization early, use pt.java.init() instead.')(java.legacy_init) +started = deprecated(version='0.11.0', reason="use pt.java.started() instead")(java.started) logging = deprecated(version='0.11.0', reason="use pt.java.set_log_level(...) instead")(java.set_log_level) version = deprecated(version='0.11.0', reason="use pt.terrier.version() instead")(terrier.version) check_version = deprecated(version='0.11.0', reason="use pt.terrier.check_version(...) instead")(terrier.check_version) @@ -129,12 +65,12 @@ def _(): 'java', 'terrier', 'anserini', 'cache', 'debug', 'io', 'measures', 'model', 'new', 'ltr', 'parallel', 'pipelines', 'text', 'transformer', 'datasets', 'get_dataset', 'find_datasets', 'list_datasets', 'Experiment', 'GridScan', 'GridSearch', 'KFoldGridSearch', 'Evaluate', - 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'started', 'redirect_stdouterr', + 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'redirect_stdouterr', 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'run', 'rewrite', 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', - 'HOME_DIR', 'IndexRef', 'ApplicationSetup', 'properties', 'init', 'apply', + 'IndexRef', 'ApplicationSetup', 'properties', 'apply', # Deprecated: - 'logging', 'version', 'check_version', 'extend_classpath', 'set_tqdm', 'set_property', 'set_properties', + 'init', 'started', 'logging', 'version', 'check_version', 'extend_classpath', 'set_tqdm', 'set_property', 'set_properties', ] diff --git a/pyterrier/datasets.py b/pyterrier/datasets.py index 19c8939b..d6e47265 100644 --- a/pyterrier/datasets.py +++ b/pyterrier/datasets.py @@ -119,13 +119,7 @@ def __init__(self, name, locations): self.password = None def _configure(self, **kwargs): - from os.path import expanduser - pt_home = pt.HOME_DIR - if pt_home is None: - from os.path import expanduser - userhome = expanduser("~") - pt_home = os.path.join(userhome, ".pyterrier") - self.corpus_home = os.path.join(pt_home, "corpora", self.name) + self.corpus_home = os.path.join(pt.io.pyterrier_home(), "corpora", self.name) if 'user' in kwargs: self.user = kwargs['user'] self.password = kwargs['password'] diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 9d23b28d..bbcfa62c 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,5 +1,5 @@ from pyterrier.java import mavenresolver -from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast +from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init from pyterrier.java import config from pyterrier.java.config import configure from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array, JavaClasses, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level @@ -8,5 +8,5 @@ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', 'redirect_stdouterr', 'required', 'required_raise', 'set_log_level', 'set_memory_limit', 'set_redirect_io', - 'started', + 'started', 'legacy_init', ] diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index a69338ee..4ebdfe94 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -11,7 +11,6 @@ def _post_init(jnius): - pt.HOME_DIR = pt.io.pyterrier_home() pt.autoclass = jnius.autoclass pt.cast = jnius.cast @@ -128,7 +127,7 @@ def before_init(fn: Optional[Callable] = None) -> Union[Callable, bool]: @wraps(fn) def _wrapper(*args, **kwargs): if started(): - raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + raise RuntimeError(f'You can only call {fn} before either you start using java or call pt.java.init()') return fn(*args, **kwargs) return _wrapper @@ -166,3 +165,66 @@ def cast(*args, **kwargs): """ import jnius return jnius.cast(*args, **kwargs) + + +@before_init +def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): + """ + Function that can be called before Terrier classes and methods can be used. + Loads the Terrier .jar file and imports classes. Also finds the correct version of Terrier to download if no version is specified. + + Args: + version(str): Which version of Terrier to download. Default is `None`. + + * If None, find the newest Terrier released version in MavenCentral and download it. + * If `"snapshot"`, will download the latest build from `Jitpack `_. + + mem(str): Maximum memory allocated for the Java virtual machine heap in MB. Corresponds to java `-Xmx` commandline argument. Default is 1/4 of physical memory. + boot_packages(list(str)): Extra maven package coordinates files to load before starting Java. Default=`[]`. There is more information about loading packages in the `Terrier documentation `_ + packages(list(str)): Extra maven package coordinates files to load, using the Terrier classloader. Default=`[]`. See also `boot_packages` above. + jvm_opts(list(str)): Extra options to pass to the JVM. Default=`[]`. For instance, you may enable Java assertions by setting `jvm_opts=['-ea']` + redirect_io(boolean): If True, the Java `System.out` and `System.err` will be redirected to Pythons sys.out and sys.err. Default=True. + logging(str): the logging level to use: + + * Can be one of `'INFO'`, `'DEBUG'`, `'TRACE'`, `'WARN'`, `'ERROR'`. The latter is the quietest. + * Default is `'WARN'`. + + home_dir(str): the home directory to use. Default to PYTERRIER_HOME environment variable. + tqdm: The `tqdm `_ instance to use for progress bars within PyTerrier. Defaults to tqdm.tqdm. Available options are `'tqdm'`, `'auto'` or `'notebook'`. + helper_version(str): Which version of the helper. + + + **Locating the Terrier .jar file:** PyTerrier is not tied to a specific version of Terrier and will automatically locate and download a recent Terrier .jar file. However, inevitably, some functionalities will require more recent Terrier versions. + + * If set, PyTerrier uses the `version` init kwarg to determine the .jar file to look for. + * If the `version` init kwarg is not set, Terrier will query MavenCentral to determine the latest Terrier release. + * If `version` is set to `"snapshot"`, the latest .jar file build derived from the `Terrier Github repository `_ will be downloaded from `Jitpack `_. + * Otherwise the local (`~/.mvn`) and MavenCentral repositories are searched for the jar file at the given version. + In this way, the default setting is to download the latest release of Terrier from MavenCentral. The user is also able to use a locally installed copy in their private Maven repository, or track the latest build of Terrier from Jitpack. + + If you wish to run PyTerrier in an offline enviroment, you should ensure that the "terrier-assemblies-{your version}-jar-with-dependencies.jar" and "terrier-python-helper-{your helper version}.jar" + are in the "~/.pyterrier" (if they are not present, they will be downloaded the first time). Then you should set their versions when calling ``init()`` function. For example: + ``pt.init(version = 5.5, helper_version = "0.0.6")``. + """ + + # Set the corresponding options + pt.java.set_memory_limit(mem) + pt.java.set_redirect_io(redirect_io) + pt.java.set_log_level(logging) + for package in boot_packages: + pt.java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) + for opt in jvm_opts: + pt.java.add_option(opt) + pt.terrier.set_version(version) + pt.terrier.set_helper_version(helper_version) + if tqdm is not None: + pt.utils.set_tqdm(tqdm) + + # TODO: missing no_download. Is this something like pt.java.set_offline(True)? + + pt.java.init() + + # Import other java packages + if packages: + pkgs_string = ",".join(packages) + pt.terrier.set_property("terrier.mvn.coords", pkgs_string) diff --git a/pyterrier/parallel.py b/pyterrier/parallel.py index d1dbadee..68989fb1 100644 --- a/pyterrier/parallel.py +++ b/pyterrier/parallel.py @@ -24,14 +24,6 @@ def new_init(): p._backend._workers._initializer = new_init if callable(origin_init) else f_init return p -def _pt_init(args): - import pyterrier as pt - if not pt.started(): - pt.init(no_download=True, **args) - else: - from warnings import warn - warn("Avoiding reinit of PyTerrier") - def _check_ray(): try: diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 72bac572..7edb7221 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,6 +1,6 @@ # java stuff from pyterrier.terrier import java -from pyterrier.terrier.java import configure, set_terrier_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version +from pyterrier.terrier.java import configure, set_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier import index @@ -12,7 +12,7 @@ __all__ = [ # java stuff - 'java', 'configure', 'set_terrier_version', 'set_helper_version', 'enable_prf', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', + 'java', 'configure', 'set_version', 'set_helper_version', 'enable_prf', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', # retrieval 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 39fa0fde..825de166 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -18,7 +18,7 @@ @pt.java.before_init -def set_terrier_version(version: Optional[str] = None): +def set_version(version: Optional[str] = None): configure['terrier_version'] = version diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 5c8d0cf7..7927654d 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -197,7 +197,6 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do """ super().__init__(kwargs) self.indexref = _parse_index_like(index_location) - self.appSetup = pt.java.autoclass('org.terrier.utility.ApplicationSetup') self.properties = _mergeDicts(BatchRetrieve.default_properties, properties) self.concurrentIL = pt.java.autoclass("org.terrier.structures.ConcurrentIndexLoader") if pt.terrier.check_version(5.5) and "SimpleDecorateProcess" not in self.properties["querying.processes"]: @@ -208,7 +207,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do self.search_context = {} for key, value in self.properties.items(): - self.appSetup.setProperty(str(key), str(value)) + pt.terrier.J.ApplicationSetup.setProperty(str(key), str(value)) self.controls = _mergeDicts(BatchRetrieve.default_controls, controls) if wmodel is not None: @@ -287,7 +286,7 @@ def __setstate__(self, d): self.search_context = d["context"] self.properties.update(d["properties"]) for key,value in d["properties"].items(): - self.appSetup.setProperty(key, str(value)) + pt.terrier.J.ApplicationSetup.setProperty(key, str(value)) def _retrieve_one(self, row, input_results=None, docno_provided=False, docid_provided=False, scores_provided=False): rank = FIRST_RANK @@ -645,7 +644,7 @@ def __setstate__(self, d): self.wmodel = d["wmodel"] self.properties.update(d["properties"]) for key,value in d["properties"].items(): - self.appSetup.setProperty(key, str(value)) + pt.terrier.J.ApplicationSetup.setProperty(key, str(value)) #TODO consider the context state? @staticmethod diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index 88c3c53f..2c60f35d 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -198,7 +198,7 @@ def __init__(self, index_like, fb_terms=10, fb_docs=3, qeclass="org.terrier.quer self.indexref = pt.terrier.retriever._parse_index_like(index_like) self.properties = properties for k,v in properties.items(): - pt.ApplicationSetup.setProperty(k, str(v)) + pt.terrier.J.ApplicationSetup.setProperty(k, str(v)) self.applytp = pt.terrier.J.ApplyTermPipeline() self.fb_terms = fb_terms self.fb_docs = fb_docs diff --git a/tests/base.py b/tests/base.py index 3e92b1e0..71dfa6c7 100644 --- a/tests/base.py +++ b/tests/base.py @@ -1,17 +1,16 @@ import unittest import os -import pyterrier as pt - import tempfile import shutil -import os +import pyterrier as pt class BaseTestCase(unittest.TestCase): def __init__(self, *args, **kwargs): super(BaseTestCase, self).__init__(*args, **kwargs) - terrier_version = os.environ.get("TERRIER_VERSION", None) - terrier_helper_version = os.environ.get("TERRIER_HELPER_VERSION", None) - if not pt.started(): + self.here = os.path.dirname(os.path.realpath(__file__)) + if not pt.java.started(): + terrier_version = os.environ.get("TERRIER_VERSION", None) + terrier_helper_version = os.environ.get("TERRIER_HELPER_VERSION", None) # display for debugging what is being used if terrier_version is not None: @@ -19,10 +18,11 @@ def __init__(self, *args, **kwargs): if terrier_helper_version is not None: print("Testing with Terrier Helper version " + terrier_helper_version) - pt.init(version=terrier_version, logging="DEBUG", helper_version=terrier_helper_version) - # jvm_opts=['-ea'] can be added here to ensure that all Java assertions are met - self.here = os.path.dirname(os.path.realpath(__file__)) - + pt.terrier.set_version(terrier_version) + pt.terrier.set_helper_version(terrier_helper_version) + pt.java.set_log_level("DEBUG") + # pt.java.add_option('-ea') can be added here to ensure that all Java assertions are met + pt.java.init() def skip_windows(self): if pt.utils.is_windows(): diff --git a/tests/test_init.py b/tests/test_init.py index 7a8c71f2..e1219436 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -5,5 +5,5 @@ class TestInit(BaseTestCase): def test_set_property(self): - pt.set_property("arbitrary.property", 40) - self.assertEqual("40", pt.ApplicationSetup.appProperties.getProperty("arbitrary.property", "none")) + pt.terrier.set_property("arbitrary.property", 40) + self.assertEqual("40", pt.terrier.J.ApplicationSetup.appProperties.getProperty("arbitrary.property", "none")) diff --git a/tests/test_iterdictindex.py b/tests/test_iterdictindex.py index 088364da..57742a72 100644 --- a/tests/test_iterdictindex.py +++ b/tests/test_iterdictindex.py @@ -188,7 +188,7 @@ def test_check_nostemmer_utf_toks(self): self.assertEqual("", index.getIndexProperty("termpipelines", "bla")) self.assertTrue("før" in index.getLexicon()) # restore setting after test - pt.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") + pt.terrier.J.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") def test_check_customstops(self): if not pt.check_version("5.8"): @@ -249,7 +249,7 @@ def test_check_nostemmer(self): self.assertTrue("r" in index.getLexicon()) # restore setting after test - pt.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") + pt.terrier.J.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") self.assertEqual("", index.getIndexProperty("termpipelines", "bla")) def test_check_weakstemmer(self): @@ -267,7 +267,7 @@ def test_check_weakstemmer(self): self.assertEqual(3, index.getDocumentIndex().getDocumentLength(0)) #ran money playing index = pt.cast("org.terrier.structures.IndexOnDisk", index) # restore setting after test - pt.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") + pt.terrier.J.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") self.assertEqual("Stopwords,WeakPorterStemmer", index.getIndexProperty("termpipelines", "bla")) if __name__ == "__main__": From 8ab397e9610ceb513f782539b57bfbf5683a5933 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 21:24:32 +0100 Subject: [PATCH 078/153] split out terrier stemmer, tokeniser, and stopwords --- pyterrier/terrier/__init__.py | 6 +- pyterrier/terrier/index.py | 166 +-------------------------------- pyterrier/terrier/stemmer.py | 87 +++++++++++++++++ pyterrier/terrier/stopwords.py | 54 +++++++++++ pyterrier/terrier/tokeniser.py | 35 +++++++ 5 files changed, 184 insertions(+), 164 deletions(-) create mode 100644 pyterrier/terrier/stemmer.py create mode 100644 pyterrier/terrier/stopwords.py create mode 100644 pyterrier/terrier/tokeniser.py diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 7edb7221..928ce72f 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -3,6 +3,9 @@ from pyterrier.terrier.java import configure, set_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve from pyterrier.terrier.index_factory import IndexFactory +from pyterrier.terrier.stemmer import TerrierStemmer +from pyterrier.terrier.tokeniser import TerrierTokeniser +from pyterrier.terrier.stopwords import TerrierStopwords from pyterrier.terrier import index from pyterrier.terrier.index import TerrierIndexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser from pyterrier.terrier import rewrite @@ -18,11 +21,12 @@ 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', # indexing - 'index', 'TerrierIndexer', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', + 'index', 'TerrierIndexer', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', # rewriting 'rewrite', # misc + 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', 'IndexFactory', 'set_property', 'set_properties', 'run', ] diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index 967d930f..8bb416d2 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -18,10 +18,12 @@ from typing import List, Dict, Union, Any import more_itertools import pyterrier as pt +from pyterrier.terrier.stemmer import TerrierStemmer +from pyterrier.terrier.tokeniser import TerrierTokeniser +from pyterrier.terrier.stopwords import TerrierStopwords # TODO: ensure functions are properly marked up with @pt.java.required -# TODO: some stuff doesn't seem like they belong here, like TerrierTokeniser and TerrierStopwords. Move this out? # These classes are only defined after pt.java.init() @@ -409,168 +411,6 @@ class IndexingType(enum.Enum): SINGLEPASS = 2 #: A single-pass indexing regime, which builds an inverted index directly. No direct index structure is created. Typically is faster than classical indexing. MEMORY = 3 #: An in-memory index. No persistent index is created. -_stemmer_cache = {} -class TerrierStemmer(Enum): - """ - This enum provides an API for the stemmers available in Terrier. The stemming configuration is saved in the index - and loaded at retrieval time. `Snowball `_ stemmers for various languages - `are available in Terrier `_. - - It can also be used to access the stemmer:: - - stemmer = pt.TerrierStemmer.porter - stemmed_word = stemmer.stem('abandoned') - - """ - none = 'none' #: Apply no stemming - porter = 'porter' #: Apply Porter's English stemmer - weakporter = 'weakporter' #: Apply a weak version of Porter's English stemmer - # available snowball stemmers in Terrier - danish = 'danish' #: Snowball Danish stemmer - finnish = 'finnish' #: Snowball Finnish stemmer - german = 'german' #: Snowball German stemmer - hungarian = 'hungarian' #: Snowball Hungarian stemmer - norwegian = 'norwegian' #: Snowball Norwegian stemmer - portugese = 'portugese' #: Snowball Portuguese stemmer - swedish = 'swedish' #: Snowball Swedish stemmer - turkish = 'turkish' #: Snowball Turkish stemmer - - @staticmethod - def _to_obj(this): - try: - return TerrierStemmer(this) - except ValueError: - return this - - @staticmethod - def _to_class(this): - if this is None or this == TerrierStemmer.none: - return None - if this == TerrierStemmer.porter: - return 'PorterStemmer' - if this == TerrierStemmer.weakporter: - return 'WeakPorterStemmer' - - # snowball stemmers - if this == TerrierStemmer.danish: - return 'DanishSnowballStemmer' - if this == TerrierStemmer.finnish: - return 'FinnishSnowballStemmer' - if this == TerrierStemmer.german: - return 'GermanSnowballStemmer' - if this == TerrierStemmer.hungarian: - return 'HungarianSnowballStemmer' - if this == TerrierStemmer.norwegian: - return 'NorwegianSnowballStemmer' - if this == TerrierStemmer.portugese: - return 'PortugueseSnowballStemmer' - if this == TerrierStemmer.swedish: - return 'SwedishSnowballStemmer' - if this == TerrierStemmer.turkish: - return 'TurkishSnowballStemmer' - - if isinstance(this, str): - return this - - @pt.java.required - def stem(self, tok): - if self not in _stemmer_cache: - clz_name = self._to_class(self) - if clz_name is None: - class NoOpStem(): - def stem(self, word): - return word - _stemmer_cache[self] = NoOpStem() - else: - if '.' not in clz_name: - clz_name = f'org.terrier.terms.{clz_name}' - # stemmers are termpipeline objects, and these have chained constructors - # pass None to use the appropriate constructor - _stemmer_cache[self] = pt.java.autoclass(clz_name)(None) - return _stemmer_cache[self].stem(tok) - -class TerrierStopwords(Enum): - """ - This enum provides an API for the stopword configuration used during indexing with Terrier - """ - - none = 'none' #: No Stemming - terrier = 'terrier' #: Apply Terrier's standard stopword list - custom = 'custom' #: Apply PyTerrierCustomStopwordList.Indexing for indexing, and PyTerrierCustomStopwordList.Retrieval for retrieval - - @staticmethod - def _to_obj(this): - if isinstance(this, list): - rtr = TerrierStopwords('custom') - return rtr, list(this) - try: - return TerrierStopwords(this), None - except ValueError: - return this, None - - @staticmethod - def _indexing_config(this, stopword_list : Union[List[str], None], termpipelines : List[str], properties : Dict[str,str], hooks : List): - if this is None or this == TerrierStopwords.none: - pass - if this == TerrierStopwords.terrier: - termpipelines.append('Stopwords') - if this == TerrierStopwords.custom: - assert pt.terrier.check_version("5.8"), "Terrier 5.8 required" - assert stopword_list is not None, "expected to receive a stopword list" - - stopword_list_esc = [t.replace(",", "\\,") for t in stopword_list ] - - properties["pyterrier.stopwords"] = ",".join(stopword_list_esc) - termpipelines.append('org.terrier.python.PyTerrierCustomStopwordList$Indexing') - - # this hook updates the index's properties to handle the python stopwords list - def _hook(pyindexer, index): - pindex = pt.java.cast("org.terrier.structures.PropertiesIndex", index) - # store the stopwords into the Index's properties - pindex.setIndexProperty("pyterrier.stopwords", ",".join(stopword_list_esc)) - - # change the stopwords list implementation: the Indexing variant obtains - # stopwords from the global ApplicationSetup properties, while the - # Retrieval variant obtains them from the *Index* properties instead - pindex.setIndexProperty("termpipelines", - pindex.getIndexProperty('termpipelines', None) - .replace('org.terrier.python.PyTerrierCustomStopwordList$Indexing', - 'org.terrier.python.PyTerrierCustomStopwordList$Retrieval')) - pindex.flush() - hooks.append(_hook) - -class TerrierTokeniser(Enum): - """ - This enum provides an API for the tokeniser configuration used during indexing with Terrier. - """ - - whitespace = 'whitespace' #: Tokenise on whitespace only - english = 'english' #: Terrier's standard tokeniser, designed for English - utf = 'utf' #: A variant of Terrier's standard tokeniser, similar to English, but with UTF support. - twitter = 'twitter' #: Like utf, but keeps hashtags etc - identity = 'identity' #: Performs no tokenisation - strings are kept as is. - - @staticmethod - def _to_obj(this): - try: - return TerrierTokeniser(this) - except ValueError: - return this - - @staticmethod - def _to_class(this): - if this == TerrierTokeniser.whitespace: - return 'WhitespaceTokeniser' - if this == TerrierTokeniser.english: - return 'EnglishTokeniser' - if this == TerrierTokeniser.utf: - return 'UTFTokeniser' - if this == TerrierTokeniser.twitter: - return 'UTFTwitterTokeniser' - if this == TerrierTokeniser.identity: - return 'IdentityTokeniser' - if isinstance(this, str): - return this class TerrierIndexer: """ diff --git a/pyterrier/terrier/stemmer.py b/pyterrier/terrier/stemmer.py new file mode 100644 index 00000000..3b111994 --- /dev/null +++ b/pyterrier/terrier/stemmer.py @@ -0,0 +1,87 @@ +from enum import Enum +import pyterrier as pt + + +_stemmer_cache = {} + + +class TerrierStemmer(Enum): + """ + This enum provides an API for the stemmers available in Terrier. The stemming configuration is saved in the index + and loaded at retrieval time. `Snowball `_ stemmers for various languages + `are available in Terrier `_. + + It can also be used to access the stemmer:: + + stemmer = pt.TerrierStemmer.porter + stemmed_word = stemmer.stem('abandoned') + + """ + none = 'none' #: Apply no stemming + porter = 'porter' #: Apply Porter's English stemmer + weakporter = 'weakporter' #: Apply a weak version of Porter's English stemmer + # available snowball stemmers in Terrier + danish = 'danish' #: Snowball Danish stemmer + finnish = 'finnish' #: Snowball Finnish stemmer + german = 'german' #: Snowball German stemmer + hungarian = 'hungarian' #: Snowball Hungarian stemmer + norwegian = 'norwegian' #: Snowball Norwegian stemmer + portugese = 'portugese' #: Snowball Portuguese stemmer + swedish = 'swedish' #: Snowball Swedish stemmer + turkish = 'turkish' #: Snowball Turkish stemmer + + @staticmethod + def _to_obj(this): + try: + return TerrierStemmer(this) + except ValueError: + return this + + @staticmethod + def _to_class(this): + if this is None or this == TerrierStemmer.none: + return None + if this == TerrierStemmer.porter: + return 'PorterStemmer' + if this == TerrierStemmer.weakporter: + return 'WeakPorterStemmer' + + # snowball stemmers + if this == TerrierStemmer.danish: + return 'DanishSnowballStemmer' + if this == TerrierStemmer.finnish: + return 'FinnishSnowballStemmer' + if this == TerrierStemmer.german: + return 'GermanSnowballStemmer' + if this == TerrierStemmer.hungarian: + return 'HungarianSnowballStemmer' + if this == TerrierStemmer.norwegian: + return 'NorwegianSnowballStemmer' + if this == TerrierStemmer.portugese: + return 'PortugueseSnowballStemmer' + if this == TerrierStemmer.swedish: + return 'SwedishSnowballStemmer' + if this == TerrierStemmer.turkish: + return 'TurkishSnowballStemmer' + + if isinstance(this, str): + return this + + @pt.java.required + def stem(self, tok): + if self not in _stemmer_cache: + clz_name = self._to_class(self) + if clz_name is None: + _stemmer_cache[self] = _NoOpStem() + else: + if '.' not in clz_name: + clz_name = f'org.terrier.terms.{clz_name}' + # stemmers are termpipeline objects, and these have chained constructors + # pass None to use the appropriate constructor + _stemmer_cache[self] = pt.java.autoclass(clz_name)(None) + return _stemmer_cache[self].stem(tok) + + +class _NoOpStem(): + def stem(self, word): + return word diff --git a/pyterrier/terrier/stopwords.py b/pyterrier/terrier/stopwords.py new file mode 100644 index 00000000..0934f552 --- /dev/null +++ b/pyterrier/terrier/stopwords.py @@ -0,0 +1,54 @@ +from enum import Enum +from typing import Union, List, Dict +import pyterrier as pt + + +class TerrierStopwords(Enum): + """ + This enum provides an API for the stopword configuration used during indexing with Terrier + """ + + none = 'none' #: No Stopwords + terrier = 'terrier' #: Apply Terrier's standard stopword list + custom = 'custom' #: Apply PyTerrierCustomStopwordList.Indexing for indexing, and PyTerrierCustomStopwordList.Retrieval for retrieval + + @staticmethod + def _to_obj(this): + if isinstance(this, list): + rtr = TerrierStopwords('custom') + return rtr, list(this) + try: + return TerrierStopwords(this), None + except ValueError: + return this, None + + @staticmethod + def _indexing_config(this, stopword_list : Union[List[str], None], termpipelines : List[str], properties : Dict[str,str], hooks : List): + if this is None or this == TerrierStopwords.none: + pass + if this == TerrierStopwords.terrier: + termpipelines.append('Stopwords') + if this == TerrierStopwords.custom: + assert pt.terrier.check_version("5.8"), "Terrier 5.8 required" + assert stopword_list is not None, "expected to receive a stopword list" + + stopword_list_esc = [t.replace(",", "\\,") for t in stopword_list ] + + properties["pyterrier.stopwords"] = ",".join(stopword_list_esc) + termpipelines.append('org.terrier.python.PyTerrierCustomStopwordList$Indexing') + + # this hook updates the index's properties to handle the python stopwords list + def _hook(pyindexer, index): + pindex = pt.java.cast("org.terrier.structures.PropertiesIndex", index) + # store the stopwords into the Index's properties + pindex.setIndexProperty("pyterrier.stopwords", ",".join(stopword_list_esc)) + + # change the stopwords list implementation: the Indexing variant obtains + # stopwords from the global ApplicationSetup properties, while the + # Retrieval variant obtains them from the *Index* properties instead + pindex.setIndexProperty("termpipelines", + pindex.getIndexProperty('termpipelines', None) + .replace('org.terrier.python.PyTerrierCustomStopwordList$Indexing', + 'org.terrier.python.PyTerrierCustomStopwordList$Retrieval')) + pindex.flush() + hooks.append(_hook) diff --git a/pyterrier/terrier/tokeniser.py b/pyterrier/terrier/tokeniser.py new file mode 100644 index 00000000..73f59bf8 --- /dev/null +++ b/pyterrier/terrier/tokeniser.py @@ -0,0 +1,35 @@ +from enum import Enum + + +class TerrierTokeniser(Enum): + """ + This enum provides an API for the tokeniser configuration used during indexing with Terrier. + """ + + whitespace = 'whitespace' #: Tokenise on whitespace only + english = 'english' #: Terrier's standard tokeniser, designed for English + utf = 'utf' #: A variant of Terrier's standard tokeniser, similar to English, but with UTF support. + twitter = 'twitter' #: Like utf, but keeps hashtags etc + identity = 'identity' #: Performs no tokenisation - strings are kept as is. + + @staticmethod + def _to_obj(this): + try: + return TerrierTokeniser(this) + except ValueError: + return this + + @staticmethod + def _to_class(this): + if this == TerrierTokeniser.whitespace: + return 'WhitespaceTokeniser' + if this == TerrierTokeniser.english: + return 'EnglishTokeniser' + if this == TerrierTokeniser.utf: + return 'UTFTokeniser' + if this == TerrierTokeniser.twitter: + return 'UTFTwitterTokeniser' + if this == TerrierTokeniser.identity: + return 'IdentityTokeniser' + if isinstance(this, str): + return this From a9583f936e9c3a78fb56b1dfcf07fa30480c6b6f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 21:47:24 +0100 Subject: [PATCH 079/153] removed autoclasses from index.py --- pyterrier/java/utils.py | 2 ++ pyterrier/terrier/index.py | 42 +++++++++++++++++--------------------- pyterrier/terrier/java.py | 11 ++++++++++ 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index b4391553..3cfd9b37 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -151,4 +151,6 @@ def __getattr__(self, key): 'HashMap': 'java.util.HashMap', 'Arrays': 'java.util.Arrays', 'Array': 'java.lang.reflect.Array', + 'String': 'java.lang.String', + 'List': 'java.util.List', }) diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index 8bb416d2..1bf1d0d1 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -1,11 +1,9 @@ """ This file contains all the indexers. """ - from enum import Enum import pandas as pd import os -import enum import json import tempfile import contextlib @@ -50,8 +48,6 @@ def _java_post_init(jnius): global TQDMSizeCollection class DocListIterator(jnius.PythonJavaClass): - dpl_class = pt.java.autoclass("org.terrier.structures.indexing.DocumentPostingList") - tuple_class = pt.java.autoclass("org.terrier.structures.collections.MapEntry") __javainterfaces__ = [ 'java/util/Iterator', ] @@ -70,7 +66,7 @@ def pyDictToMap(a_dict): #returns Map return rtr def pyDictToMapEntry(self,doc_dict : Dict[str,Any]): #returns Map.Entry, DocumentPostingList>> - dpl = DocListIterator.dpl_class() + dpl = pt.terrier.J.DocumentPostingList() # this works around a bug in the counting of doc lengths in Tr 5.7 if self.tr57: for t, tf in doc_dict["toks"].items(): @@ -82,7 +78,7 @@ def pyDictToMapEntry(self,doc_dict : Dict[str,Any]): #returns Map.Entry`_ @@ -708,11 +704,11 @@ def index(self, text, *args, **kwargs): self.meta = meta_lengths # make a Collection class for Terrier - javaDocCollection = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) + javaDocCollection = pt.terrier.J.CollectionFromDocumentIterator(collectionIterator) if self.verbose: javaDocCollection = TQDMSizeCollection(javaDocCollection, len(text)) index = self.createIndexer() - index.index(pt.java.autoclass("org.terrier.python.PTUtils").makeCollection(javaDocCollection)) + index.index(pt.terrier.J.PTUtils.makeCollection(javaDocCollection)) global lastdoc lastdoc = None javaDocCollection.close() @@ -865,7 +861,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None # we need to prevent collectionIterator from being GCd collectionIterator = FlatJSONDocumentIterator(self._filter_iterable(it, fields)) - javaDocCollection = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator")(collectionIterator) + javaDocCollection = pt.terrier.J.CollectionFromDocumentIterator(collectionIterator) # remove once 5.7 is now the minimum version indexer.index(javaDocCollection if pt.terrier.check_version("5.7") else [javaDocCollection]) global lastdoc @@ -880,7 +876,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None, threads=None else: indexref = pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: - sindex = pt.java.autoclass("org.terrier.structures.Index") + sindex = pt.terrier.J.Index sindex.setIndexLoadingProfileAsRetrieval(False) index = pt.terrier.IndexFactory.of(indexref) for hook in self.cleanup_hooks: @@ -907,11 +903,11 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): meta(list[str]): keys to be considered as metdata meta_lengths(list[int]): length of metadata, defaults to 512 characters """ - CollectionFromDocumentIterator = pt.java.autoclass("org.terrier.python.CollectionFromDocumentIterator") - JsonlDocumentIterator = pt.java.autoclass("org.terrier.python.JsonlDocumentIterator") + CollectionFromDocumentIterator = pt.terrier.J.CollectionFromDocumentIterator + JsonlDocumentIterator = pt.terrier.J.JsonlDocumentIterator if self.pretokenised: - JsonlTokenisedIterator = pt.java.autoclass("org.terrier.python.JsonlPretokenisedIterator") - ParallelIndexer = pt.java.autoclass("org.terrier.python.ParallelIndexer") + JsonlTokenisedIterator = pt.terrier.J.JsonlPretokenisedIterator + ParallelIndexer = pt.terrier.J.ParallelIndexer if meta is not None: warn('specifying meta and meta_lengths in IterDictIndexer.index() is deprecated, use constructor instead', DeprecationWarning, 2) @@ -969,7 +965,7 @@ def index(self, it, fields=('text',), meta=None, meta_lengths=None): indexref = pt.terrier.J.IndexRef.of(self.index_dir + "/data.properties") if len(self.cleanup_hooks) > 0: - sindex = pt.java.autoclass("org.terrier.structures.Index") + sindex = pt.terrier.J.Index sindex.setIndexLoadingProfileAsRetrieval(False) index = pt.terrier.IndexFactory.of(indexref) sindex.setIndexLoadingProfileAsRetrieval(True) @@ -1068,14 +1064,14 @@ def index(self, files_path : Union[str,List[str]]): _TaggedDocumentSetup(self.meta, self.meta_tags) colObj = createCollection(files_path, self.collection) - if self.verbose and isinstance(colObj, pt.java.autoclass("org.terrier.indexing.MultiDocumentFileCollection")): + if self.verbose and isinstance(colObj, pt.terrier.J.MultiDocumentFileCollection): colObj = pt.java.cast("org.terrier.indexing.MultiDocumentFileCollection", colObj) colObj = TQDMCollection(colObj) # remove once 5.7 is now the minimum version if pt.terrier.check_version("5.7"): index.index(colObj) else: - index.index(pt.java.autoclass("org.terrier.python.PTUtils").makeCollection(colObj)) + index.index(pt.terrier.J.PTUtils.makeCollection(colObj)) global lastdoc lastdoc = None colObj.close() diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 825de166..6adbe4b1 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -386,6 +386,17 @@ def check_helper_version(min): 'Collection': 'org.terrier.indexing.Collection', 'StructureMerger': 'org.terrier.structures.merging.StructureMerger', 'BlockStructureMerger': 'org.terrier.structures.merging.BlockStructureMerger', + 'DocumentPostingList': 'org.terrier.structures.indexing.DocumentPostingList', + 'MapEntry': 'org.terrier.structures.collections.MapEntry', + 'MultiDocumentFileCollection': 'org.terrier.indexing.MultiDocumentFileCollection', + 'CollectionFactory': 'org.terrier.indexing.CollectionFactory', + 'TagSet': 'org.terrier.utility.TagSet', + 'CollectionFromDocumentIterator': 'org.terrier.python.CollectionFromDocumentIterator', + 'PTUtils': 'org.terrier.python.PTUtils', + 'Index': 'org.terrier.structures.Index', + 'JsonlDocumentIterator': 'org.terrier.python.JsonlDocumentIterator', + 'JsonlPretokenisedIterator': 'org.terrier.python.JsonlPretokenisedIterator', + 'ParallelIndexer': 'org.terrier.python.ParallelIndexer', # PRF 'TerrierQLParser': 'org.terrier.querying.TerrierQLParser', From 348c48e24639171e8527047aec1f45254aee35be Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Mon, 29 Jul 2024 21:53:06 +0100 Subject: [PATCH 080/153] added missing pt.java.required in index.py --- pyterrier/terrier/index.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index 1bf1d0d1..7aaac2e9 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -21,9 +21,6 @@ from pyterrier.terrier.stopwords import TerrierStopwords -# TODO: ensure functions are properly marked up with @pt.java.required - - # These classes are only defined after pt.java.init() DocListIterator = None PythonListIterator = None @@ -335,6 +332,7 @@ def treccollection2textgen( yield rtr +@pt.java.required def _TaggedDocumentSetup( meta : Dict[str,int], #mapping from meta-key to length meta_tags : Dict[str,str] #mapping from meta-key to tag @@ -356,6 +354,7 @@ def _TaggedDocumentSetup( pt.terrier.J.ApplicationSetup.setProperty("TaggedDocument.abstracts.tags.casesensitive", "false") +@pt.java.required def _FileDocumentSetup( meta : Dict[str,int], #mapping from meta-key to length meta_tags : Dict[str,str] #mapping from meta-key to tag @@ -381,7 +380,7 @@ def _FileDocumentSetup( - +@pt.java.required def createAsList(files_path : Union[str, List[str]]): """ Helper method to be used by child indexers to add files to Java List @@ -423,6 +422,7 @@ class TerrierIndexer: "trec.collection.class": "TRECCollection", } + @pt.java.required def __init__(self, index_path : str, *args, blocks : bool = False, overwrite: bool = False, @@ -629,6 +629,7 @@ def get_column_lengths(df): meta2len = {k : 1 if math.isnan(l) else l for k, l in meta2len.items()} return meta2len + @pt.java.required @staticmethod def create_javaDocIterator(text, *args, **kwargs): @@ -1104,6 +1105,7 @@ def __init__(self, index_path, *args, meta={"docno" : 20, "filename" : 512}, met self.meta_reverse = meta_reverse self.meta_tags = meta_tags + @pt.java.required def index(self, files_path : Union[str,List[str]]): """ Index the specified files. From ea19a42b7828932e6723b525750655c8711c6a27 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 10:15:48 +0100 Subject: [PATCH 081/153] flake8 extension to check for missing pt.java.required annotations --- .github/workflows/style.yml | 23 ++++++ deleteme/x.pkl | Bin 0 -> 6835025 bytes extras/pyterrier-flake8-ext/README.md | 4 + .../pyterrier_flake8_ext/__init__.py | 5 ++ .../pyterrier_flake8_ext/java_check.py | 78 ++++++++++++++++++ extras/pyterrier-flake8-ext/setup.py | 39 +++++++++ 6 files changed, 149 insertions(+) create mode 100644 .github/workflows/style.yml create mode 100644 deleteme/x.pkl create mode 100644 extras/pyterrier-flake8-ext/README.md create mode 100644 extras/pyterrier-flake8-ext/pyterrier_flake8_ext/__init__.py create mode 100644 extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py create mode 100644 extras/pyterrier-flake8-ext/setup.py diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml new file mode 100644 index 00000000..f077a08c --- /dev/null +++ b/.github/workflows/style.yml @@ -0,0 +1,23 @@ +name: Code Style Checks + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: 'ubuntu-latest' + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: pt.java.required checks + run: | + pip install flake8 ./extras/pyterrier-flake8-ext/ + flake8 pyterrier --select=PT --show-source --statistics --count diff --git a/deleteme/x.pkl b/deleteme/x.pkl new file mode 100644 index 0000000000000000000000000000000000000000..285bee1c4062624cfe02a732d22ee55327510725 GIT binary patch literal 6835025 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

mjq0 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%0A!U%d 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�l_x>ugD^L>P9Kp^b|+;{3uC^` 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

Pe9c>>Xz&`PG56R{KJr23VoY~H%2aZzZ`sH6@ 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 z z`lnJQHhJT>QJZ>vA#W(Q%5{POjsc>~B_e=2`N<@pW?!BL*3ygz&dZF`zXvoc)InA|ZS_m@1oSHrqBe?Xr5 zvZs<3?U5q>Jr^I?H!{qocyIloQ9156{n+Bi8uy5Nmhbk6e8K>ieMn7{Z&ma%+s(Cs zad|VsYCLj~6%p1SP!4LbnDMuk+|FAQYsbd&Ycue^!lW_yWL_V@Bf1aq?@j2fWh0}E z47H)&-8Fd!YLoEOF5Zz!YkX{8dP*lNGB13_^{{Bb373b(UY0AVEq&j%-KyvGe)J=e z;PR*&xGZmS0QT3+kIfP3n#_BV4)1Xc_S4yWRq3c#6|6W95u{RxuqSCtCr~3Dv%xIF zog9^5`c9?)iYpsV|3x~E)lpsc0QzP^n^CK3SU^44Q99(8iv~joOrZ6vW+XOm~%;vObP_cS#?goCD#JagR{s zh|?Z`a*s&LV@$uq!#p$zx(Iv%LGB`&Zx?TB=g@qY{3&O>-jjcMzx+AFUf>ZCK`-!# zi11$E>%yLHl6eUnwKmdu+y9!=Fi0RE-HA=RX@`P3wZ+VgF%|Ou&CY6+pj&X^;dm9xk_W)>e zyD{BgX3DBMDy#kUD+~QKUAXBUFqA^NE4QQUcb56-8Z=0?Yk-@s0dC6a8oU*xu7Q?A z*Wd)XYp5OyV+(ne@xDsHmm2t?N$>p|3Bf%`bOM(X>UjA$^+&0NL^>8&@!K&<*QtfT z%A^kwOo$P2qKgPEB+{{{kVSY4iAs3qbd)27kucJoD@fGT5rwiHM?%=oGlhM2bGov} z$cs$`mdlNWjFiYR7LB`z>3OHARMifi(7uu84(Dov-eAxxr)pD5kl|svgUh#;d9peV zO5@5N@_`Tt4~*M|f@s!&(`cuhU`7PxIhd=K7MS?6wBXdB+0sJ3!RZ7&cb;BAOds^0 z-#f8qq?bn<^`eNGEiybVvQ8ISkBer$s&sjBSo=kWSE@tPB13Tmw7EvUHZ8v@rB8gP z+m2o%V$K#ZuMsifwj+MVFX?CVi=jVn6W;0(t;m3j3kY6oP_GpUzJR|`6&-AzgKk=x zk&e-e%3QB>(l*2DfK*bN4a2~g1#nN9p<<|0o3kh;{&2EUM4WGRmHs(@B!UE|yQCx` z#aC%WXr`+>YI(BvRMwJdKC;%Cth-cJxBPg-`b$G$wwZZc^vF%ZO1Q0ytke*=6cV{w zLsgMWG!eN@T^YHDPKn%^u86%(;5p3vI#GtY1HP6tZ6B=nt0l7u)+a>_!TO|#3Bk(G zxFY>*t}yi32J7n$>h&VQgLOg`Ed^_&^I#oQy6RwsfnWvLgVh*11S^~bA)FqpkGe`B zSRK1r)B4Q{cp45p|@kE6aPfk6vc#@l^X4d)rguoL|KOxF^ zJUx*#Z68mMt0l9Er>8{>@$|Ha3Gu|w#8dj&Tw&<5ji)yl)Eh*C$I}a5d7<-*bRJL7 zDcz)avXc-n5KjPmJQ+iWc!HC7g45&aU9M7yr%31Vq!K)yqS78u∋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�G_#d6BMdS4Rs{<-UYLe@Ld`Rwawoq9(i?|XmZdUqBE zy(|0PrcK0&>`P6{OGV2S=8&FcEZ)qXzr!FN7}i37VZ=cttw=C(_9;|Sr1K25Oz8+| zjju@LYaptV##hwY*FfeMU&TJrWoG_mqW5ysyVv#JkWWBHIz}h7ixUgI!{+^*+aib@ z(?c>dynt8?KIX8H0?cIwbEUwLOP-n(>s&~&We*tGn?~-{B?fCp5%C%!pej!-OqCZ! zm&k7Sge-35jr_fHRP;KNdxOBTxpiKpqPF6L9yb~TsVFl9MIG@bvt+F*syhcD@R}N? zLXa)-bQf(UQ{_tV4iE}*85q3NK*Bg)h4jjg<-*YLDz~|GET8tEE*Dl-nlBgJUftZ{ zCq$*6L{vblN}ENG-gw9ya+LvGC77)FV$Ib>&6Vn?^pEN#I?!m+pmE%i$hvW+3WI^6 zCJf%KDMQfD5j{y8oWUBSR05e8pLRR(iv zM5IHa+3c!Bv}%HZ;TMQLPEm#mL?5-Q#a>N75c@#TFHlWe)F-|2W4Z9is_7a-yGBHL zHPuv9shT34S5v>zl_$}m8-$0-0NeX=<#9tJs;{Kp=Z1C`W<$#ZYR0<^s1f5J(+1Qh zqycsMAmMxu1zsokoM*W%)W(6NWcTrOQ;nEmJRM#~++cOEK?JbRMs*)F0dYK?TU^m6 z&hg1fByeO23B4kL+kh`o6^GhO2Wyix`6_v_xe=)eQ2LsOotlrP_8W(tJnk*hb*+vD=ASmzDTDKq4{|a$4U*uF5i0DZVku=s1$ot&#zspB2#o zRV1P-&Fhp#<-CYd3VwD2-!q$3#6_ftw&?)g5NZG?x*5@53glX<+7BPz2t z4E=;zvw7fV@c_dt-hKI=D;+!#>3DY-PyK7B(vgT1f}8%?!GZ@O-3Fn`n<$g?y)@B@i$tXRCBv7>PVu);L&*sz|rT z%BN$mfz#NvP!=Y zUhu3n9-r4JPt?y**$cyh%M)t%?AcYl^(KnDilnL=s?-ZP74h|FLnmZ#r`W@-q`Tf}$b9O#BI3IcL z{D#X5&X08N{Glu_JAcVY{lVdZu~G9qeE1%Gf|g2CKKE=yrgreXS`sPnJs8vuzQ0dp z_sWmzdoMf!-)}Xjt-<#XxG#e5Bc1zxGW%lAz6S^2BhP*R0+$zjAL-op&&%?%@0Sja z4NM)7>w@Nd7;!!VJn)s#T^pf2@YR$^f%C!ez@Jdzz4D_v-wThx`P&R?TX6oX-5J68 zks?-Oex!5fzc$Ou&hI%;pY-oJ!Gz-hr!OGtmC4;2VLjce z8Ic0VgW)$kU#^0C1+KBc z&Z?(X)51g3zB0`Q9?qhYoh@Xz~pA@k9%c^`elz;STfnhBWtdkUrpTJ5# z%>`?ns6Iz}jt7m8&n-`LLza@o_S6>wx zo-7uRPY_t*l&g}yc>K5tt_an&GgeOdi;^b_v|oYrSp9KF{j@`@LQkyvoklz~jXuUI z48$r79;?bwQKRyyP7gi!h*kJJR;LRJu?hpR3WLY0GR)|X5UU^%s~~u+u3V9pdWv=% zVij^?6>^VNC9kl|V-+T16(*0>P8lAn&=RZAdaRlNiB(F8RZ2Zp&9PQWtWxT+`lD2@ zGkT*O9IHhH!LeFEJUE`z;gA>{&=VZcdm@`gAA!aejv{LU2G%a6s71Y{G8AbBA=D2;!FMwK~>1N;KqWGG6*w5~<@?=gOt>Wh(>K zOF>UE_9qFd@9b|#l~vvj&PzhqNvS1qm{*Hzn7JcMn%|@~&7dXEJ2H2Ab57ST;6Bs1 zSx6^A-j=xwp2mL#aeO%oaqCJ9K0k<%OiZ#uk-}A8FBFWD)LyNw=nu->o%7whJK6kt zvgqn-ns=#jr3Ir%=To=c*$LT&c~h%!O!FooG~a;3)D3y8a5EfumdR@`Y1CRf(x;Bq z^O4v+e{UA5gUv|9(jvZ8&D@t!ca|3M<(&#szVS<;JF+@17mn?1`puG4%yrz;^*($s z!IndE7LNc!!vw|;qm7tHny2QYqLGeCFLpLNoe_yxJH}MiNy8@UOu1V-->`YI+5Y4Z zHV?ScVaqqt`IhfwRyv2su>5Et0uNihVEdM@@_2oKVzWVbeqdJB3fw#HSd} zQ-X;PyNO}7Khix(;tOc-(^IF$A zJj5L7=selQ`NcwKo5e*US_VzEZD8$%a$?92Ek(i$g^&dKs*F~Qw8}#fxcFEqy87y( za(OjJTsr9NC0|yDf=&etUtN4iCHKmY<-#W#2&Wp(sUpNv5CtD_g&)n2Lq4!E%-9d9B5bvUmhUP=-(0LmmN85CPb_K`2NCkE+=6Re1`Z zXat;QLQV@2@CWXLkP0H5N5Dr5AH)b)s1X1I5dg49fH73ncGYi{5dba`0Io;C|LY2e z2#9nZ0iP=rwg`ws9s!>*u=eqi2V@+WR<5_zNB2$2XIixLj%?H&S>aPNVRN*E3RVYr z1p`9`V+wo8RPg^+m|pp@Txb>Cxo{Uoc(ZiIeFC^br1gn3mYz`hYi4WnIr4`Y7wNn+ z{>x6|A`w|0)xWGnGaP5Np3omKU{rs)Xv1kAyz_SnU|u7P)5R!OKY=02NaWv9J%-{4 zBhnEy82{}~qaqRAYt~6e7?iut-Zz`k^BrV7&7htpdNbxn@5fE=_DXq$Q#J~>w04B= z&_@nDjs^dgEvRfO@UV4`6co-po`oW+Z=HWvQG10=?S-AfT*?0JIl_Plc8VvOh0ZXX zGena2Lq9in#1Ab+I?qBs%TAa%iG-m#I3y?J;TYV%Xr-N#32htDW8e!fDGm|iwecpI{ zwk&%xbBB2&+{_!{_SwrxnLG3RP*!m)ufW695gwdCFe;C`DWdw+QFV$GuC-4c)nsj< zAP|qpIFhO3*@knr;CMWqq4t%gj*-r%j;CioWG~K=o55k~h&-PN4CV4#j<{Eqoa6&aC`f-`_?+=}mE0>omJ6R~9Gqu3 z=Y=>JaW{lGh;$wY&B6^K4kZ1gIU@`N0l+?EFovoMullVr2*72=0Its%4!Oc%#t`Xz z#&EDu*n%Ju`HW%8!NQy|(s^~ZGFTA=Va^B(b4K*^Iis?81Vm7uGpdI?0-zuQz}O%$ zLS}EM*k1XuT=+yIV4dNt6Cs`nUg16nXJR6q_l_^iKA5=z!)Og0dPn4W@Aw**7kbA? z=e^@2S)TTek;r>TRm!~_)%M=;B?{9kI;aoPWnR7G1;%)RFnaI!ri41L-VqpjM_{~n zeAImrddEoTz2n;ef2xwp4;E2qaqz?! z+<0S#1vg%^@ddZLo1WoG_mqPH)&Em~zO zK0nBV_eh7IS*2L0bgcMPwjy{~W&;~FGmnR6MD=C1qZL)3M4@J2_hmM<(wEt&eB#zA zo@k1S&!u>ZI>DU~zGoikJVhOsoiKBH2?IB9NLxJ5f@7F5o$T^L3y5^S%(f=W(-shk zNG}A7D&<~|YOfOt2EWHBOt0vmK13G^&4=Z4$;Sv$k11>jjXUJjTmFL7$?1uRW@~J; ze_XykGPb`zALp3%ah}E}{3AQ^Qm20+=W3DhG?Br(9o*hT%QKUf-Cv40U9F&{cjlw! z@5ny7iqYFdACiAJzaWPcA^u25;m0Zbr2JRqzCp#xO!4f~HKI00c6mU9)3NNlU9D;j zHNyv6BHhVC$NuY;PWRVH);*L+=U1&RS2`M6?gbWJzWz!(Nd?bZ(}4v-;z@Zt1R^R6 zfHcKR6}4AX*My7-6cRxfrNaN8{d9%tNH2t+ZgcxP{N!{u3LSpB#pym@_LI}yC3M() zv(lCQwCJMs7nMA9w`p--i7R@_ai1*|cHemd4*-tairBMm^l6j6SIyg84^4NEyo|B_2ZAK z56uar%dFIoKbm8$lz4>Kk3SAr#AqfZrl@(I`dC(qDIG<5%z1f;*UC#T?H;-}JMy?u zz)AbOGI63_eBmeJKm8=~0$x5*c|!R_rM}Ubo^iWL*cmO|B#7taLzMgsYWlg1TG^`F zOX-P+hWYT3o}=7k2%7}h_rqT6Z7bxW+{@*^a(=qX@)KyhKmuB?)$dz1hK8EgYK!JI zp-AW9{br+UOjUp}8YZ8U_lGyn2#RL?`n z!ti#_*mzySPlKDc6$ozL#9-Kg_3sa!E7+QElwSiAeG5!pC&rXrvEZQJM??mx5OUTR zvkdn^)PiJ5{r!5HKFiR9Y9iG;LX40^ zKs?dZoFF%~F86YlH^*xea+YM%NP4%85y-8E!FBx;L`{VJRZ_FO4v_s6o>zvsR}_Hx zG-1Y!Z)D%*#@6%lNlBqGyN1!q+_Z`%Q{Nw$RN5r5Q#k3s#5OBs5VWQ%Ka}@yZlxHg~5&0 z!;dASa+-hF*g+4S+s%2mi!mNL%aW4ic2$+-f=_@Uh=3tgW9#wmld!%P>AWQ#+v$@? zM8}53s*}b})S2>N^n7C{Ub*+!d9v#rws<0)H-Jb$&)bG!o_U zs*R{LBMe=msO8rHC=6CsSM8$li81|(7YTElRV;VaR~hyh348X64MqS%4*(2}hKfC3 zRUB%DrS?eY6??AI*gZ)^Cq zNqATv1lzYYjA!N~vQ~gCIKZIS0E6HliQM4&gix z1N|baHRbZqi?~dS2~M@a2aizDYlFeF(Gz@hW?)t*R z@&wpkQ_ABt6;ZvW)B>+5D5xngyr#CO++O*yTo`JqI*lygOZPf8y~B9#5a8t&0<{D@ zuN(pllObSyjc3^X7xru;owuuf*?-z$Mj|SduvDEiheVwz5BAPCGIyH!J4J7g%$Dih zUTUYEiz#2EX68+cy1&pq#AjIXfrmvVB=`)+cxH~yApy2b0tOQYFz_1D`2yE+iHubb z?9La1A~Br`A^N;RNgIWSg$RV%V{CR z1uW|f+V`53#j`>LC2wQ{ypEutj!=)hK^?tR#rDdN<-%M?<((yVeb`wFAnYtP-@r=>fs{nJ`V|uYjJ4d9wSX9PSsQiwka`!!^x2s9) zF*Wi!UdPSo#{2cvnU{zF{Q43Ra8+K!<7ZrzeipfS!*Da?*UL+TjkZF*RCswC@TCG7 z)&=<)$np_K|+Y6R2vymAvOq75jQ?bwX6@?ip)?EvtH!hUdR{4)m zliOL~`BD~IRXP5;02r)SBZ#pyg8teC?KAg8A{t!A_dHXmA~5TOBAXp42uTF7fJ?Of znF{KaAGPkhkThlf&--oJ*{=Mn%uBBlOdm0PQ!&$S7v;$G@(jz)1eH$P^U@eFzas(j zLHU1u^(a#1Mqf^WBqdT{KjAY?y&#u4dfsX!cIxbqz`{h~qrqDb%&)6Z4KoSq_)56OR~L>=kL_Mu>4ivUz# z#x{nk7U1a#Ha6s7^G}4h!(-5@SdKc##adi0reBrxL4rSeTbnjyRRHa zR4;MlbOO>5M`w2JMO*Tfw~>1PxQsdH+Lyjo#9bibUMp&O_kT>XzI!ySQ18qwnqDUY zh^E(JckWC1nP^Hsn>!45*1q)h!b@NJdVvgmDL(_5el9~ENnd(cU`Zl}MVj}e=URLe zeQ6}}zVsX=>IhaFS;9bH3aa;|#xPT`!banV&HK`eT$$grbRCJV7e|n4726{=Bp0z*d% zjCZ6rD@^W4Ba!!?H)UB>72;hGtn{DYd;fX6<9q)ZiM;<*eD58j2HtY?3ur0teOSqQMUj)z}T2-=4<3dq&6mriUA2621E-#`|Vk&A!p` z$-Oi3BabC2;(_W$p*A3FJOUd%!p6H{W4UN!iLmi!%0_K<;<7ancw1jxC~A>#F%y2+ zC)_`SEcgEK!}D6ZTF)P7JwS`^rNtwqMJd=jP>}qlwHOiFYiA}VM~A0}o1c3J~+^NvHUq&2FGKnZy0^m={bR`t?iA|yT_W1sqrl` zi>LgLAa1YZ~ukZ>>_cfP_ZIbl+8aJ zT7H@E6aw6QVh12-!(O{cXH?c1HlR=acXizTha7LdgwDHkXm3E_RXn35py)^4wsc-(P^-a2zQh&Bn9}U#E zB+e7o6XeI-u$5!&F0cyYM9O0VL(d6(g@$)H396II3KG%X_Jn54tF3z~`-B!L^!5Xh zbIG6PdQSh6IPz^;EKHvz%}BxS2(FN3u27k(84zD4-^x~!wVtt+ zZ@idKE2%9`>O4`coGq-bsq>6Qe1AK`lIse_Ksa$2u-vRAWxnv0m=u>RWuTfM^9$0( z-kn~JQwW@$K_oCdVAX05C9olfAS~=vh(`4}5m7?VPvotrhLGEc#*Pr+6CvlF{8xMY zAa3hdv$5z`_F!8hBAO zup%Dkh`bG!A*MKJiC5inu7MN7)uvP)bw z!&s{@QDnxBOktYB z)lB!n$%xL1bFA>LIL8TR8BQHp9D?4m$H)#=Ez@2khNmmBQv?!2?yfU`(0Rl<)v+*b z!gBK~n~^f6Ma82=IY?1dC;c`6*|kH{>>ScDLR0yoOd0M!H`?0MKnTph*mPiTr6)58FTTsmMU=Z%T&#resL05*flr*$nk?e7}i~ zS62_nA>gnEqhph@y7 z3G_^E6bRpvf?aIMEL9(RzQcQh7VcML2C$`IZ!*%v8?*^R&p*TgqxvT)igVqsZY2#X z>IshOE@Y_Y_9gKSC#q*H47o(bHO`t8EU>`ZJDs)6Y$;?#S8E^D7@pbN7#otWgiMVN z4~;kWFfX;(qLc}pO4}D-AiDXi+l#yWjNms~g z(g0sVdI$VOR7f$tx0eX}Y3if6tfFWuPY@l@B@EZQL`nb5pzx0y{S9Ddj8ctHnDCwg ziR-A2(6+V&Sf=eRInZ}gr#Qk}kwVIWe&3jQB$+2yq2iDRC=Tz&!CAn;EV;kejI34Y zl#EU5y?rUzyM`$0%hrBAqz0ZNjy&WCvb|fE;aFcU$udw9ZvH^YcAHEmcR4&oVI_3B zx3yUa;Vxe@{sybH-5@>5`cs3X|2!HpkY8&hoz#^QAK7T2e4OWeFqf7yNY%Gz>nR&Q z6-PcIYs^cQd zBvw}yiP;vc8j=Z9k_94TasEJfvIin5q(HdzSe>$V351G6AXFR=gaJqAL%V}R&bLB( zn6wiHy~jBtQm`2kPJV~OC*US90;0i^KGhkkHtZ<~8d4TWJ5b;W$^u<0pCIWsCgUVYG0EW-)8~JNY5l9D z?UVnY{X_8cQ(f~?NPfQ6G++363F&@*u0bxy&(BVNuEg+jZPu0iq=j2a3E<~S!2R3^ zh?PqE?&rp=`?V`+0S$Pzk<$nrm1J$+xezW)|SvnbwpPzOAI( zx362c)|3Fgtpr@{MnJSy(s$nuteS5t2wG7J?%P)=3!T2*KCF{>Tw4*{wGGi+yCmJ= z+Ie7!fv?>&DN%$V!iaXdD_RQnksG?*&5^Y^FCo3V4;dth zbhJWstNa+8U9srbO5X)GEbn(EWs-TMezsBG0H)2jlmyiWFLHbJB;!lUc$lzkcEVCf zvhS&py@Yhxch4icVj;WIci9cgWiKha?4vIG?CK+EH4Em{EY8?E*DfO*!TWGeUUMsYmnW^T$)x){|hp# zm`cG`OkwmTiA+~R_QeN+r z`A!^@!q*vdgVm8q8zm&)&LETe6@x4zz;tpX#bR$nIj0vSEH!j>oa`F~2A@|wN_(9f z4&|mzyN9*36qU6FcE+>?Hp7_#zC-yca;tW^5w3XhS z_1Sh^n@c;!5N-7a$J|l0+RSajvVuzFGvc?IrZ@1bK02JLbCrhrXwqAy2}YS;4km4{ zo}Q33J!LB<+)6T{Gz5iCd?4DkV+Uvf1{rqtM??F+zA%IAcD%^~uTafShhd7H81=YO z3gZ)K>nt{mDn#r~K%^eo85-u;6?swW9E*sTEQ(4YB^#eMnHRn*qGVVYRx*7-JR`#j zL)i@Vgv3vooffjl_bLGmUUry|e^RiIisB|;G+Lb}XF9xCaoIdkT&DFIuBBfkdA8WF z)aR6Zw~&<<-eRDtIyokmXsbw1topNsbIkIj;xa&HxHje~$C12e!+&Dr2dm85C8V$4 zf5jlnP}qreuCu^%c__`W+;>aLEYl~gneQqDDWDYOESW$g7l_M4!BcSY2$oztzMhvK z2g~%l7|+1EQm~Id(!{q-ybb(ngHfzbq_crnhdl<~2$qeWwfVbGlgQqCXasC2q;p;0 zQ689BaI@b=jp|=`_#in18D8 zEq*i&;Y%?E`HK|H9cbe}O_+rQol^xg1f6B>J5sRE7owP+Tc5x zZnMIjUJ5BwTpI^xUi~J)(I7?e}Y-RNH$AIKKzM6jx)$I!e+^)VsWfP=`%r3SlyG&&V_(d z%Vi4Lk$Y-`oaNF6*`6g8J0qyYh82aOUn`7<{l_bet>ONM){Dw`RJZgxQtm zbxMJtp)L4=;pKNe=y;K|aGO#e!Rj9!Vb`i(v<@QhE!DHCFEJEVq}0gR zl$vYTs5!^6F{;syactUA0%#`^=%Srp35y+al5%sBtnEe%ZhF3}NDAqA+J1AF=#TA{ zNt7IszM_bJ7_}3z`khUhlVJ^QiiJwW@FO+zVz7>_7{0V=7|hfoRrC>I(AYh0Rv27a{Art-2HQ&&r5>19hM5EYq64qY!k_iolKM75po>4` z2!|`eCR>dI za_cHOY_&V(3QF#|&ecmplkYJ}LKobZSEts>c9zL`!q$Ww#>*SZk`ir5?qr(yZwU=O zS~T?XygD^RGNI_PKfP7ZQ?Io+rx3AU1JNbUMLo1vjgIr#)uG7=?Ic8p3p~6@Ae;X8#h>*Q7rgAmz4Ib7p9amtpI`eYNKk242oZ zvhJsioa^lPfMQtgWF;d+FSKo1Fl{RY+LnTS?qNP{SI-m1LJYppwJZf2M4BeG-);_QiLI=! zD+Vc%Vw_(zRE+sAiQ~MYJke3emJ@HD3MovKmT@Af&CH?@m_-`~VqUYnAerS!ZWbxn z30mlX{ou`_gjg z#NLHs__6bVQP+brFH_u09G92;5$C%>oc5COhCF3veX<0-NK*|`0|z9FJ64pRJvPiasEWJ%KWQZcc%pKQXGm!bSb0_!qbdWSk=le1r@_rd#S8r zOiZOcZ>7d0PpOgX&>M^zYcyqR)T6|}clX7uPJS7TwFNF6(ZZGm^1BRv_jWRTu9IVv zK9P$I$L6R{43n3Z0#T2xk2k03+=EEYoULGAh5_&vDWoG57b%5qxlrABm4$mH$*#GQ zJW7}%bY5jl>Ev@iPe9m+RRVjQxFQ1cJV(6XUjn;*FEijW<-9&kmlUhd`8hKv*|6&7 zEIo~TMGkc(x?hFt-luzZPK;&mGAJ@GI+HN*~`> zPJDUQuxfn2x{(IEdcIO4i&bhIPlMYj<6#58+G_x@Ip2Ywe!Lkk_^%{GN`ZR#fca-2NG{w0XDcA)L zXy5NLYBi)|bt0V&;d&6SCkNw^hjlW#?%g^2{}y_$cARrmtcpv)z8Z*vUtqkIj+Wi4 zRji90>$>2chUN46lJZjohMx8%x!`A8C|b|7N?WEL!~DElBH6nW(`r3hi}h&j1zKPE zy;}uBcM%BP%@|PU<>))oHCo-48{*o?u>4P!jb=v{Cr}L=KT@zw5*U2g&8F4x7pvj# zC0ZT%Qy}<@K#9N1wtHv_+eWZt+s?3@EuCg#d^&}7H?%mgDTU;1zZ5N+&vNynJ{CI^ zjYp;w?PxIv;smtR(2|aZ2-b?hS;&Opd9G58%rH4e{#O_?x@mPzm|<=mDBqB(Dq7MV zxG5ysBn?SH3}G)v9VRZK6=>Hg3hHyHEoC&R6eVmO8G`9Ft&*%tp;tyY3&D>V>x0#| zlOjsUBLxyqe^-EPFB_e<&o-H&OK1iG-0B_CKAAIS=20w^t=#y?XIS3jO3Eh-WeoDR zsO&B$96~FsNX{TL!BPq~S*75G+ba@6>;0kmWF%nMSeb)XIs^Pz}pHwxmqQ#~6QNl)I-FuoSSk|$?9Ssk999KpKxViKDoVx&ZX?5-sceRNwsS%s5@BPW$x9M%hrIq@L!aZV^(1gcD8wW!&r3@2!q?M}g)2 zyQKWgf=O3hl!5A`I zT_jecj0?0{XFsK@UbaJyKkYwD-`x!tiTc!g?ake>{e9DWCnx1jPT#&(bG%QEjY*k0 z0Upm>SDWPsk~Vv1@Cs{I%&yg#Jys{Jl*jVw4I$S?2HwY>y6G}wO<~*4@pT0 z>08j(86=&PH`ksz*=F;*8t=Q`dx-|X}OcPlCM%4Y&>vFw(}Q`U)8yKIdq4vz#X z4*h`zwty3jQDsAiVz3LO7=F>kFuVsT3}P#c-*kDJa?*VOFPY-hv!b&r3{%fB^stw) zkTF8pIN#}TL?Y2)jL`bn4)vJZ*kqYR>!TQc#NsC7WBxJZve*m9_wLy#Lx#M;O{e3k zp9~rc9#fPJ){&&p+s{!U*xY4obc`u;^u1{A{Z8t>ppo55s@A=-@krVDImdmz;Bww; z(r}CMs5ImQj`D&6#RsF3>l&=YlPxQ%W)|&E}fo9*nhJ@D1=J4pQ z(dNjO)H$?u%%-iA-=x;PbCeu5f=1q8iucZ;KsdJ&0w}2^b8gih&K2az&hJwa^RH55E2T<^Eg>budKZ!O z!^VqjNXr){?ur}IC9rps4;e7yMGBlLElY=dQ}U6m>L^X_L?{EKD+~m`Wi-Fqaf`fk zr}A>X5+aLHLi8|FgU)1Z5-!bFo?Au!3dHmE5?v_25YfjV7qRvb+>O7_T} zjy-^9u|^<;wB`GUNsxq3L`_9%0ln(2F z+Lo`47#(6@*$(yS?+YdY8TvuSxL2bQhI=X4aF1-?j2bDO@|Cx=nvx8TP7}cyaMLw-CEqNnr5%MJ!ez7(EKKT+!pDqV(>D#_bDue|8FN+i7nihRo>64{@`Tpt9&i!F8;IixFb?c^Lrz)jmHCen=Nk}GCl1GD;OcJ+JDeVV?mA+wC z@_4C0Boj&qprqm~UaBSV(+HOQ)RQkUn8riGY6Q!|YWIjbkRs}@ctn+gEjG~5KSq;x zi>TSU?`u7xO2O8-5$XF%V*ZGl1vDi@ZmNX5EBw3hGFW{~3L%dyA>EOGXpjdJPP2}v zG+9K`)|tf;;r`ob9!xk@LWD{s#DtGtBFf9Bfw zY=<@?UXoCA>@=CMZ5*Leh$ zLW-bAsOI==QI-^BZlhR4P{rC1#5XLLtE7x;A^TdTd@vDI>5w;RTkJO`Iz-U29qQ5F z8k67yAD!_ zJB)mEN-Lmm72*(y{=D5KB@BErAjG~m(G(LADfCLdVJ^0HVXj=gUqXL8#H^&~IZEot zf)w6dHbp%;JU4oCmux#Q%lhVfIq$gtrS&r(NvK5PIp>o0viiG9kMM;^vg@lL7 zC~pAMCS*#2YC1^Est;i>elPTx&PX8*#`i}-=H5j;cDiv-b7*9AiskN+i6+yWnZBl+ z3eUcppiMAJY7C4H*Vs)^uQRhTFy7qQXm ze&fMMVFh9omO^hoKuNb*PgE1oVIx@b<^O|j{62SMDI_<3rCF*tQ&&Q|8^1h2wwI1h zi^cquNeRrB7}|TO0eAIe#loh_jGs+0EZ2ES8E;4D4;y9qbftT;lAs!Gzr?B!!IR(b zo-Bpr$#0B;%Xd@dMa^{dy_%_MehYn`#BEScPz$S}8Y|V+3d)rk6FzxE_TpqDUdl#y@DL zeI(7GTB}2NRs;VDa>R3mp7BbpI&Z6qJb} z5sIPui^@dz&Xp-v3Ggz55*RKBh$EHssYdT6r0ZQ_q9R5F2EG5D@!*|Hfml<}b^uD+ z&pMYH3CE3K$qyr#-bGZ8rGrGstb=rVYv&$Q%7~JWW{bGLhG|*El|ovA_={-TY@t5k z53Y_ruJ|NSiqDh@t$i!uN37TZ6@_l0D4YUID6Z&|EV(?2Hns|w$hxmhe9epzcJ#h3 zhrRqXS*<9YsvvqRUvxa${HJ+E!6y~PlQu&s*o-vUp6-oW4vJqIHGYYV5}} zQBw|(SUG3~MH&aLm6FR*fuWQ9(2VCjNrC7hN(dmjh^Z!ak)T2PM+8g#BU}2=c?Pqj z2$p6^^)vhS+Q!(JEuIgt7*AfrnDY@-3?(Vpaef*+>?B+9%xC#^TUyx~tPN0F zSB0k&(bvaZUsA9!8u~}LzB;z<0#k~_hOr_Y5tuS0W2z(z#C%M(SMY_;YvuHWoATq% zniOox4{Jw9*5>#`prUeAP*Is4CsbpwBo4%U3|8R-U})_(oHZ#}QV;#dMb@qr1E%M` zg4Ps?-mgfkK_nz&sw4}c;OW=fGr{S=8v4O50>OqFDTn3t*W zh%8L~rZXi48^oZ$H8Pcd1Sh@LqF5w?ibW!ru#BscE)a>US!rU&z*~md^10bh!Y@mj zQb_Aemngr!I{$XDZXCJdAX=T1mS>a-d4^K)>m){nfu(GPdgObuw!#UHZd+ZMVt)%p ziL6qvKt~AKR;$>D;xemZ5!DpS7wQbl6kF2urMke{!@;RvR&0O-!7=xzoGU5Va|dvB zgL9RQ^EFF9xdxRGD^p5{69tU;J4{2xr!q@O4n8tmJ7yLYlVHOgg?B$t{2xzr3yClUn?*r}6}-+UG`EtPsYggL3j zis;4>BK3v&hM%_`h)t1|BISH-4qL@xl*5Dj9Z#m5gs(7#T*MvKimDc)6KH zN1pmugM0QgW?JES;LpJ-6H6(`OU-t-U4JBc+K)kJfp9)<)aBh{(tgO2KJQ&b3Z@4< z;O)j>N8a7hp%oREQ&eWJ8LCYWO6u;>Z&B)mpFACDFW=di8E(n(uo!C;onWgiuzrf; z7`iz|*#Ho@&cUnUi>?MKBsDx*tA@_-q`2roaS;+d1YFZYN!||!yf5mZ^X;m%R8co> zzgh5t`IImdOl_Oth!uoS7~g~Kp5f+b+#xMteTx2ZgOw1`xpp;Q$WeNmy=^}j_}h_Q z*7355o?@NlSe&M1@yf6~ zF-;UaM9p3;Fj)1Y84oX$&jK3{$y~LuS)1GD-1uVkAJi!-i_MC~r-r4_+kb0d(y$69 zBjwu)CSA@b1J(2&b35xl+6ZAp8v!EqpDY*AFh&{?!BYH{$GduNAC+kJssom^=>;K4 z1Q)S&El2Vg9IU=0 z&QJ@R06RZ_KNr^VAT1I2?$Szy#QS)0=~eaGiJMri}TZtQ1Fi`A(i0>9QrmVIFO zOGR%VJ~3&h6Xp9*Q|)}rpkJiVm#h42rUW2?`@4CY4(!^2)l)#p%Kl`03_(h!%LSiCNdSc=XS z3~l1V(8Oi64if@0M*36l4N^#t;svzSP?mTp2Ej!!@ONaHg^?YvRScr5Vh~+xF|sun z#UQ#W2GKQPsBe_dxmWrY*1)W<**xxe$*jV=pV{D;y`1%Dh|j!B3U!rTY&Wg@sQ5mCO^J%##Z;#J#c^>Jy{PeYHLcLOs2y-^?GX=_bl0 z)k&d69%FOc{PD*u9sU~H;v+p$=IjXryb-OYkyzcWkyo>@ zoj0OCSZw~fHzI}9$e1^x)ie^TyEUSTX5L81JdxxZG{UO26l|nLU6bC3R?|qVPL1Hw zF`{X`??zidwBR2@W`syl{UEZKtT%rXmdRqIkg}M2l;wlSVw4P7jFRyz#>mi{%Vs=_ znK8|1X1IHS3)f+H3w3`B-qEKNdi$9w;JiO?M2oM3myo9h7khz0mWzC05R3GQbV~n; z1(r`FOUgb9J>MvIvPd6^*RDA! z*l8R*@fFH-x1smW^)cEgI#+QNoje~ufAu`-R4gLCVtM{!Sgy{Jvgbd>m~{b#Kyanv z`HyKdn|Q0kk^e-n?mZ<7saY8Qw)YGvSkJ(8Z!#fq*)9jms;8$k=x?FHnzj^D?|Qq@ z$WE43nb#=}V~*mmI)rTkjtU_kV0=iM|v`hy3F_wWRMTI|Kzw*=RhgjAB= zjGz#7e<}3#12La=+iN&0c%wbp6_1wu$n`9Rbh`GGsOLw6c7Cnask3oj2{GwXLcWi9 zW|Tf3=d-WQD;gV#ipByCN(*Rp13_jQ#XZMyc?<;8Y_%ry(Y>=hZlq{?48s|Y*|8*x zff7qT3@c2O7WLy_XIRq<_~yOhU+-*e4{cm*_>W`}Ec>*z;@s#sca}KmoA-$k=DLc+ z=AjgN`x}CUCz*ZClN16^iV&G69YXf|WA`X2SoVSXwwY)}_FF>s1tnf%kYv9d8|od| zaMDs7>6IdnKxx~j3q`DZgHmjSZmKYh+6qH53x7{l7#j%cJ~6&o>T?3@m@5Gi#6&fDH1wYy7Y47H6-)Gk}MEOWR|0J0?ZUTQb<#1&!mi!?)$MB z9wFHb_f1yKS-*r{*a(jxX(POP(XnFb&(sVGnPRWzOC8*Ckb-@7oi^@t`)M`wV|Ak6 zY<)vgt8We%vq!+mqE5(Z`BY2#R7cGkdUlZQ<|RUbBT!OEr{ks$gTkyAkkSZuwg3cw zRtn^SN`Z&4P<=~<@m04MWcN;rY%cpap3-6IRO$GEOrt|6D%+tR6B?(OSnH!C)T7ir zDv6!%JttUYYjrOlvnj6VRsD>_nlC>Ml@Rl!AoFj#na5)eT7hd=McG1Ks7v}%>NY+M zLLMqou+z@y>t59tubdS6X+Qp&#yA&+C#NRv869cz_b%D#o9>$!?~{kn3=M=1u;Ct>*5tT6bI z!f*ru;a_OXbk1v1D}gW0N!;SpELpCtB4fx177SURXt!4l%adE9a+y6{9CWk)K`MBi;dv}W1V53Zl>{Op%`rYOjn&0 z(mws?t;w&py68UmEz&6g5-TO(iPe{kK=RvQt%$)4Lou*EiM?U?LZ4E_J_^Gum$WLd zW$BuNU~~mxFBTJiRvRwUwP5$yHWMpFB0Wt=)}c$XKqTeHxTLw3nt=!wX{EkZLaM(L zfg+>_iH^}|R$7xL^GTK2ddsu19s`0DdSy-3#Q958J`R(xGMg(FIi6x|EUQuJlsnMUC1cZWveAw|hXoR3Bh4gss_o7D16y}tH z2~Ab@H1&pie2OfC?SCG z91}WvPS6c*6T#eV4svW6LMgN-g*3MO*p!l7ob~ zXZo4zDGm$1N|&J|!@=DDDZ6?h7bcR`rLHwYl@FwJ@rFkb%6~V zvmpua1ep~ES@xcwnutaCQu-_iCoK1Zk_Qg75N4Jc!#bGpwEx-1x<7G=u9 zUN%xG)*X)ZoC3=YS5h7l7?xQcXOw646x=~E8cuarf#IW>!rbaGcL_|=gOiAAqB@zV zU@V%kB`|p1CR3%y6>WzhQ3}2N0O58=DGm&EV3s{0A_owJ}*UyV^p zM?&q@1gc24E=eyeoOBu1naRqUv(o9n+cT)CRApC@XTVquZ1NICn>Xp^ezlcYAFSqYa_yFR8$t3gIl0p#bTPR zSR{c7%Y`Z_`^|#8l(HwJ-PiKc%c4q$;al5cX&wa{9b#nJ4)rLnY3=COWQqauXvrXl zC-&?d9dB@DhF6is=nZ0vSnb_uB1Dz-t&g>y(V7YW+9zp| zgq_W;`@;{ z?}G!a7t0^@m+D@lDS29#2MTlrfquUmo=8BYkd|N`RQzuJ{C=lW`ZjpzBXO!wAN6df;BU=(u3}T>S zuq=Tk48s!xg&|#180-$R&ZO=1(YCxvud<+q&6W}0V}klv4e zGjf@CzigdI(TLRAfDgI>EgD_T!yuyI46q8$i8w57;NJHXCi2W6jKzP$I0+<*>P$}y zRZ-|>ur%c=l0vVXy|*#{3$CJ`bT71o^d;8MMHMYzAx=pU!?iIY0tv>KjYL$JFPld8 z$Tt*&{oFc?s9?e3{Gz)uC#B~-@D2)t@Ij{5_^UddyWvp$A0Mkqt!R( z)v2w8UrACbyPeA3(8zxjjog`6r$*TERrF}OdjvgM-o{FWzGEqe+(#0L`|=!srlX{{ zIV3x=t=}#BXySBFT86w2*+7;;dLC%mDXis52dd9g6p1q?igaYqy&;+IOR_)+_qsd$ z1qsR3E*PlKp_Zh%>}#AiDfG&Mj+uDv+`K6gdQ+rT1(NYrk_Ezf`zmZD&qz6Me@OST z!@RB2Lp*o~Trwe(f@zS>a;$RM8mx{?aiE0s$@S3&NiLBr6tsXZDHaoHrBBL-FBz5x z{E{+LH#);6qZ~+JWF+8j6eHiUg*BI|lnxz9>9Cc{ zaQK88Rh5tkjZzZnDWsH0P` zaF){{O=5-f$xbI3`3oE4YKgMF)p53$I5s&@kVv*)Kv?3uu)9irn9DWbv{@sDpDUc7 zLaxMIwiv7}?{EUQ2>}*^uQ37%BRl1+7`HpdvkDB4efELazXNx->?wo)q-j$l7|g_=99({pSSI=Y+mY zsCcRxv&@)MPfn$1ZGV|XsmVNA{@P(SRJ+4mW6)khSJf17n}U9y=5T)!V@(0a(h54h z$>53*+4?1OZ$*%NSQ#KEPY4vv%XLzPD zVfvGtK31j%i{wXM9%%3kU*{NF?vE~=8J)=<*VC4-4#WuqsB>6b4rfpm;;I1g)WF-F zId7L{m5DdWnH1G+MF2^bH-E}KgZjDs>1n~A&JF%_u6Tgw0;7TDeC@x^i^3o(*Q@lt zvHVRp6emrnd&Boc$E03$c#q`Ip6#Vmlw_F?D8vxkDavHyZVgB1{3d8mfP zWz&4dv4g!Q2gIui#GJkJ0|bZalL~VPnenOs9H~!^p;4gdnbo6&o6dgO@$O~u#B~4G z;GbK?J$#knK#gom<#F)rD;SC=lN9-zE}|HoGY)0B5Tg)mbtBp@DP`%fR3a7VROV7` zh@Ihlsa+|xbZ6^$)}6g$dcAk&v10zvf3`Ft$)VV;R~oV*>ymVYScjw40wX!7l1Q^$B!35%T2q?GyCtTyjWtx;aF64WHfA4`B@5BJ1m&tLzesnOnGyxnKN=Q5FRVk8DozX>W2sYy)RH7=-jo>R=`sr zOQke0hS!CZy3CQ3I$@Et>9myX0M#4KF2;Jy9F;z!3=H7b0W&xtp(ZO zINm0ebUbq$>v*|iQ7;{@3U2vu-Nr%7htlJMM;<2%@uBpKDonT3Eb7(gqw>m&4W-b) zpYW5fxWUqFw1D%W^pB#!W(}Ql4pqfadb}{eP^Rx4l${(xh_m7)inN z7;AVQD}i7n1;XcqUo*;cvR90x5Mii;h|dqdUBlkWIFgnul52vyMRZGFHQbyBY=S$Zs$ zNadBeR2yPfI8ji2Ahm91{n@*v*U#IZeX4bmG|LEck`P`iToWi3of_8G796s}BbY)( zADmQb90tU^E0vn8GkrCM)f~>JTFV_Sn`-57KGj-kaP?Cy5O9CQ@u`*}cr?yQo>2&F znxx(pLVc#m-EobrZYWD}ZdaK1^#xLW!ps^Wg)46iQnv1@0rCa6qmqbow?tHy6*zfH z!jd0a^4$A)Z)ryj5R$>pv8koRKfd8qnMOj@_tFf(m6^BeJ88yz4uLwM5mL8my)|lV z=aos}Ep3GftycNk@4(G|-r4E-Rb2*$Ra~B)jp(JyVBTa%mPv)ND&1T75 z4(G|-HiyfSxg5@uxoZ-8(V6pP4jhISc<^M-aNJvSs-Dc5&^d&w*^{}8wB5&)%+WB( z9ISaVXJn;!Q|WDbGG~rsA&Yvtkt5TMf?Lj=%$*t#PYpgp@ZX`rEIgTm2E!#ZJej-0 z4VEQyIh-eRPmczB49VPS!T`zKX~KXfb34rxUo*J4u3GV;pRdA1xwyWooT(!uHC2 zycj>mw~=Qp(v_3=o@=-5xF$`1XyEM7Iwx-FXK&WleeE2GvjPOCap3O_Ie&79RGFu; zD}Ou38pFF6!r#(cw%>BYwvs`X?$N;Yfx$;+F?eNw*d7>sXU?FU4pMX~6N4=7yY-(S z#NFx5H_hp($9KIxbNYi#z0VA!&XlG+_5P4?IT%y#9LQ7eM-8Z3iWBn+T@WEjh6wA9 zwB+Ia_=* zx-L_1Qesl?jEJV*lLody)?0PMFs{uCq1KYUJDb&I$8eQo@6Ig`^t}4k%NFT>+DjVJ zXWGkdl#}(crxd@q(6e)5Wd8xq5HD&k+rDRVVrnK;F4eDCO085bZH$dJrc+&yKEc>t zIk{gh?@f(1r-XQ8+J0O-NmFB^i&FP_$=A?X3Lg*fmev{Q?zAA(Q>fb$U zuaGZIO!BQ|{cz4knQw2Bh0R|1dvyOgYmuL5QGaS3BP}007eT&Y#Zq=4xFir z1ofwk;G*^_)Ae;z6WQl4mhCa?w0m|op{a-_7; zBhB(Ag{+-5?`e*SenKS-Xl2Gg?bC4W#S^k8sYI6sS(XaXm8Kkif|UL=FR5jd@)Cgf zOY5li;>nQ%!pgEha+#3S&lK5Dkkp^%Cpq2PJHrQSlta09tLEeA&*8=)KS54^%E-y5 zMy?raOiy3i+!g(|wZ45MirhXv(!BTP(McIo#${Wqy%fz)o6GkM$VXfwMtkw7$Z>9a z$?(j*bcmiCCK@BLR+{S(Z{cSKr_{fiW3nSi|GF`(VcgtaJhJP6M6p{$DRN{$798y@ zh`vDM>Egl(c*)4FtvNI^WNuNNmY|y%F&43?K3%Gp7(>^{TOb)jyY`L`!~e>wW@e^F zH6;{zun3eDH& zB%VCI(O$8;xqsiplx+6NzfBX4@_0d6tjsSPY|29Xcx1n|yEPJk*92|=rlT%uuf9%1 z;~q$dp_j?d(iGiv60zk2czgK*Sr*Gy%WcYu@v;5-Z9L&-QX}3H`Dbic;-~zp^_=!9 zeRf5!n;aNuubJ6D*_7b5N55%CcO>&f4#qwdg&fbPTP~BYxj?-Sq91rLeVS4~fk-j!6-UOppeP4%|SfDJK;MDHCl6I031 zLd~3G<&M2Or-!FTC1AVDii(r@!NyOS=Am#B+jRl^ZDP=+(_^E<;xKeExqma$kQkf@ zwU>@e49gJE?%6#$K5_u{KkzBEf`a)hK0Cx-)~%@2t_ z7Ej0*YZkSaTs2aJ2CrT^#R-7}S({6Cj!KY>Es}u2;yHZ)l4QhFxF#n6rsGEjL z`hvKLo)xl5G_@>yVK`8KnQ*zgH5>%r)oQs4GRr?FSe{up!wUp92m$o)`_lHfd_HVq za=-WZ9PAhYL*m~RFuKx|{MR^fLdPXeObF1OO)7&Bt@pL=X|~snG>0dq8sfo{HAp{x z_JQ{DDUA!$;!~;wdff`)lF;V?VSkWnz4TIv^h1r2k)e^jVxP&@^Fq}Ngflq&h4Al( z+C6fEOrrBk0$n+~DZSXfDur06?<=V9;el3L5V_;?ihAuqkO_p3ogvkzQY1C|QR!-+ z68oddyz|Ev+sh@IH1ADHlnb+p&FZT=`474)F%oLI>L7q`LcpE;r>c^5+aWuW~K}q1T+(JtTD$1`8lkFL8Oj1hEKaYWk zH9`Uriw_|XRi}ieyTqcZPwOol)ymewWQ@B{41%$t9HLOgOMcz^P@Ru^Z-N?u2x=h^ zRTmmBGHURBKMycDB;!53;R1(T9#v$~CW%rl|pMQG0nvaFeG$)Lt_=)tqF$t7)@zq)2xl zv2b}Hdv(yrQ%p!R6NeDtkIK|0^W|JW*GR3nbTFcMCG~hO*wl+xx{K6%2OSCTU|k8s z3k5NR*Xjo4Y5p|AeF7RpSZIU@TkQyzZvA)Yu{n_U*r!Dc*QO~RS3xCGLf_-+(*yl# zsT8s%949dvJh3ga==oA{R(`Jyly;`OMLs_E?Cpm)mpkYHG3yQwjUNb85vWxF&Oz&%qkB0OV zWI7V9xx*W>Yc3~$Zg4=8$uvhjnu7xM^EqI9g^u%6GHnl@$c6_L*hBOH%r~aG$Ei5h zdmKj(kYPN54A~}OXP+x>sW$2nDhCZIP_;LyY&e9F+8nytDS*N6phI#*llZ43XVvq) z$#vLDQryYC(?hbn9f$uM>B)i5=cdLjug-xk5g>wsap-o*Ww=xz2n?n*vkUdERq8Xl z$a;o+vwJFqu=%D9-XAXxG}+6Q?_8*gUmE3=#hB*Q%=YPliJ5_kahX3_gwK(}vO)E5 zk~i6MMt;n280Be*H4(%&92Y;Q%1jRNUt&}@3Yy6dI+dC1wLwuI%?;itPwlJT*o{6s z5dLK)+^r9{e8kDp6_1cmV`dDsBZV3s@@8XmyuC)#&+8h)G6{-_e2#IFVBp4Ybd1Fl zagiy9dz`?bqSqT7-M&_>;IOL=H$D^^j;l4NdR8I5c@_0|6%?pXnyns^#-k?Y>_U8pPj)+Lw@^aPm$k=9fETz>6rh*=qNl3AJOR@_6EIh1X^`jjoq zhQege`f@%Q^a)MZ>ABm6G>1)k;=1-D5fLoT~zADblsOQ^vII%jgB@2M7Hmb z2!#K2VLHl_8pvQn$aqroV^`DtNliJNXEZ-bYFco&gAN%D?RiGCNUkM`LyhO%E{F3Z z=D$*V*6ng2PhyNISAWj7Co!faQ$O{nA9g|#gZd9;tmzG;*qQdRX0=Q9%B0C0&eN5Z z2G@051&3}3ZBJJW#|6!)db+aQsOs06R7%i8x-y581*_v^M+cdX7DUfgj#8@KI$}-K zja?FI;(%A!I0r>N3X!QpX4>cbUyW(DrIePqy8?w;{WiHsI$7tb8y|oE|0K{Mb?vh;wfS zZcsZT;svhuPbanKa8D9AMns;IlP-+ft!w5$^j~s^bDh}l)Ds&JIL5^-a}m2)fHJYu z0$`knN{rQY8Ccj6WMVV?_W= zI&KWc9^uQU+ATmJ0)pUcUb7IwCGyn769Wc=WNM260vCupYUdvCVDx~xa52|F3N_e- znlF{V+-yExU7Vs+4(AKyFLk&}>ft;Ge%Rn7qUWxcuaQHYL^9AvC;kl5yG>~HP8h?0$38vrVk)++) zp%Qm6o>&(L)pdNW)Zz+eF>?j#-J;ab>k7Uu&f#wmPZaTda`RT@sasAJN1&KVK?6^Q zhEHxD35Jd9;yDo0FXVeywCbGe;(kCK`W_?R7wG5f;yK*bq6r^yawdFT+@v)%Qt#UE zb@91+l+RrVtDMpYm+LM*1^Q6bWXcSZ{(Q3$OoAqu?2DnAkD7dQYz=}%ECb6G8nBER zCrKs#V$7JJIkVKy=P&tun2R_F$^mG1nNLPR>!L>zc|%AYp@GXl!(HZg+@#rjIEV9C z@EL<6yNf-$cC{a5LIREWeAtlPA9C{N1~r)|rY7oLRO;tdQ&`l+A5IRqTvu^__~OFU zw8LqK%5YpkIaRtIeq=(J zf~ZG9P@q03=ujrDoKA-tC!u`?@-3G&o3!R|K56~SI$5(dc5vt}(Dq5I;kc|hRiCte z-KcI9w8WaPvCkP9vUw|4N)d~DAU<#X2PNDs#?Cd|LXCMV)Q%LDGne@nS5h`_&Eb6B z`hADX=B+uL&s)D|a9!uE;E=V!gU?$H$Ca5=^?9qwY>q>{>mxQ2Ko}0Ae!gv1_gm_DS#O0dH_)L= zZ)K*nYDrjl%4WAY91~Y&S}P1L&2Dob7M}2kWlk)c-R5vN3mo}J&s@YvDwD)M?}7}b zgZCW*K}`6uDRHCxSXQQhP)@y==`i)mh%l|1XDX%pYzsSV@_1>0sT9{heJa(f!gilZ zZ7^kYpGtY~B))GBl5$bpljxH}1G`(R%iEs?2Hm^cAX-VFSC zMLXH3-DTng?qvbjmtg{rLGk1cP`)X6=;=Z6HgN)!*FPn>Qw!8Xc|_Eeo$ z60octCQj74j;{@_U=}l1pdMEMoBDZO!6#1KuL6;q{+c%pEy|)KAh)F_{7PiH8oQ2+VF|f zTs_J&TmtEt0hjL@dZN5LYI3fL6PSccFn!`QY4Xi6aRQ4-29_%{U>P$`l1f5{F=K+} z%u+v}zvL4qZf2q+zBK4Ab59hsE_%#%8ED`#&~TS|uA4NQIOT923+^|#`6o^w6B1~| zCr*a!{*aSDH>k-(F*Q-|qEbJvnzD%#S6sn8TUvL2cyM8Aa<^jQ1Q{#|8J{@4)HRi* zVmX{ooE}b^iYD-}-)S>(g0@eb4969eQ}v0H31JG#h4hJ&b(llRf42mcZ4rJv|9!2? znoXQ?IG;GZrcTyu;sg%e1=>DwG8~sRr|J`@R~yxhf@anP-6u|SMuu$SbWXtKp(&p@ zy;TW!i?MSJw@_o^1T~*Hz1x+PO`LK#pEy0@aM{Euhx3Wky9}=D#0eboHF)reli|2B zbE-aZGMUYBsHb;8!6#0K?l|WKYTN;K$N7lMnoXQ?IG;FuILew&oWkf20uv_)`@|_A z3_q5M6Lgt4LDwfvzwHcX6Q>-`Cr+P^42NyO9LOh5pK@Z^#3_fnS)v&er%%pB%qLDJ zu}_>JgX!SiCr%$SG8^T`vNA=?a^l3ihKW-~go%?L-!({m%3LpzUMdZ7vPNj>t?F>q zPj1}FMLKp#?0)s>EB?>kuU-)^8OQ6@1CQZqwO(}IAVS&I@xw$J>kjd1_2$;v;Ee0@ zTi|-(SB^Pvkl|myjw^rVREA7X6L{z4V1s2l9@tam4tqdf3-^%l#IA4LJGz3ITtr z81d%zVNX3!14BZ%TwtzOm?N%|3umKpAy_Ws?vR^$a_Me17xb`Yf^war94>d%Zl0Q$ zlykwO(!XlppDOT61^ya^=X`sBmjki0soy5hJpwKJu(cPUuaT?Eb{Uzc4{C0&ZfhUe znA$lyBbRpfZ;>w&!rA_GmDMzQd(i0a&>DBQpW`-a_l)bJ%TC^7NB?^Q^mKx5miM4b zJIx5(5|JS;h-6le7WONPNd+rHGh9JN1(hkRIE6ABno}?|))MGvvXYVHSbV{`2U<}I zjvnAe?CLqf)0?ebvZr9|d;5C@V6mB?JVd^&)v5udgLl8gz1~g-$U*sNi`FygEn>y_ z?sJPc0$F#Tdwibz+#AHH?b#ZhieM8BfgT`QJjVOn7SQe&W$TjJJ?=EM#!j6*nmu;x z6~Z7IXLMX84AMnjkHuS03*91z;5HyW@mlqXHF6^*)2BH_4$cM{Hh#@)r>N^4<|GjC z-Jc6G0@0x)?^kaE@WR0QMG4S-DQD!#QjO|gEsSgsS(D7v;5w*s-+Y&a<*J;Sl$TX- zV)xOlet1@ou51u3+LHuJ1%?wPv@I|Vb#t*;>;6XTSJmTzWTbFvVVr7qNf@4R;{R6@ zhAaW_hepaIK_42ipM2n78H~HoXI*UI<{=OU?vU*;(EC`vZeD`RvS&s%NMErehO|+i z8L^)rr$5b0E_)y+rAGJ+OyXVo+Ko9JRQ0EfYL~}L%7mtPwq&mSK}N%xM@^2LJ0-a! z#HPzzSB8=do_0_E+SXH~L-FF;vBEnqt`Q>%LEBSqkzH$^4bL9KT;p_2N~d3{W7gUklxz#0t>DudxYlI+rv{D{EbZsOAhS%^*#(NP6E^7x93STb`NlXr#W{e+df1YGlh zdn3)IGDhDj3G^MU=Z4=N5FqsVqVVq*w{C1bG{9By4U*d18!Ie9(j}n$R{TPq$#__B zUMl~6`9SLx^2dhFHwE$Mc~GXV8{QbC;iWP%5LWfbIq51Nq#L$w5{TK4&m@Qqf|GFF zw(_(|gNKKLc(=6b8b2*-oS7qyhi3&_pU@bve9!I?-u&_)KvNFsJ^JGUi7L^%G2;-d z`=dPGSy9dAoKi^_5#=>nuM*r>XX?j2;KnJ4VO#r~3T6*46XxB2LblM6eUNl==Z2({ z>;sKnszT{R(52)!!FV+Bt@TXVm*h@|)Q4EKXrx*; zV!SrAVE$6~Xu*pIq%S5>|0JVxL7>CsS!DU4v|>}htyxWMp`0CZFBBVpEh4$#)X*=m z_j`k>KOmi~E)2NlR|S)<5}`c?{Z#M=+C8nN-0~EzKPtTCVCw?||It0%)U|k0PynR3 z^F@nXIuct~J#wJc8l7y&6NNR9^kz|2wb&t-%X2UKYGMsAM}$Os)gl8XP$lP1yrohy zQ_kh7flGRoEVxwbLfh2}DP+w$9BVm96Rrmiv{y_u8)KakIW#joBwC%AjBK{ATDz>kG!HZrIqk~@A}Jt;aLr#K5O|Ro(ZY0YVJh8`7PS{|-xWI!=jeG6 zP8|N$aarKWUla2;yyS9vgb#e2tTMKjvlt{f+rrJUHHgofo$EyW)gnIrhdIs;=4kg+ zje8ods2tMW>r97SE-$T3%}5}qAxi>|Ju+c52NN_^2CXjRtDpv=_s1%)6d_q{% zsv$S;hsnI_!m8oWJ(AMOS|9w-&DIDtvePvpW*EQ13ozXV_PKl*YMd^H8oZ&jE2Ao! za@SNpKb3 zHJaDn)q~P*F!uUjY|gN`vEO78O0>{7U^1^SSZ$wBYvtMIr47tW8&4ETFaqZxq*t6G ze<}`;RIif%$vRcmX+ggzpg*NR7d_;(slD6pe zWa$NCe2%~%h5NkU5Xg}uJ9&5nhlBHQw6(x-W#&{FT+r8hU74MgNmY+QOPhk0Hf37+ zOc1>Kh!lc?ayVDe{|a#JBT>-o!5ls1cx>XLr{6NXQcqb_0f!Tb@N{K?<9f=eUKRB8 zn?|*4lFI)PJ@p1X^=5kda*)3|PYOX#IowgwI2|UuC^OJL96gOq+%;s+qt~E>DS7q9 zsG>3^EWLKy)wez+g?5_bZVPO=dJWfAl{4g#?DMXw&dUE0Rq??tx-{p9yyN{RE@;$T)-i>iKR z=>9e<%!&HMFFXg+ZLqBi{Jsv8e@v0h2fE-YyWk@02-t^#)g{WI!@f+l!k`(U^W>p@ zG>Cm8qtlI@W6hDiiSfSMgP~)t1v&PiICAOB5=PEDWZoddH7Z$V4VE8*q!Lf?M`$eR zL0R}I4FDm28hoK#2F9mwRfh|%>Wjdv*|G@i)wnx5oWI;{(|8dpK=Pme|0^CVc^`3R zVuD_w-+@>ndSsb=iJ0RER`NDVF@1G|L(t&}U$^gq#1nQ#5W7K;PiBPgg76a`me8N( zC)n|!k)?s)(nOG-AgDjhOEBM&F2AFpJJRKMG&t)!x4^#nZd=fZx?DKZ&3F6Bzo8*V z#3HGMpSsJ>1$Oyl$x0EQi66WB^2w6yU_iO8Z3Y3FbH6~JBWDA%b9(8xrdAgG)}GTl ziXgIGTqu9iyVyOi+aJHW+y1y-K9nikTwCrp*&L%a*!Gu2ceHM6ZM<>aVItR+tzHU8 z_iq#4oBe>Bdx&Vdr{5zg-HcyOr>o@*U6I3w_PvFnq>IZi&6F{vLWIqUXjWB1MS zMWp7`4(Zc-*g#5R$_}fweR)P}B%D_^O+@x41Vj!#W25o_!LwR3uC@YLE-C?hyDTxp z#TxM+;X!0g+EtQ*>(a?-61`QE+Pr)K$C~F_9L>K@I)Sgk%Ll8X zh*`C-jHCnc$xoI{%O`1a`OfwRxK2YadspB&;VciV6?o@4-bD#7+%=I&d>R~Tq;)6WRk{u!8L>W+}2)>ibj z0Uh@V=tBIrWZ2G$^MI;cA8UO$gn^GrzWNzS;`w2)20$n1hVd^%YEfhm)4j0e#>h`r_3Nx7S0fe+a>M(GlXx_#A3s=7UMm7Kxv zY18HVUoY*j{QY`qC)~nou~VDCm+YOAck&`IGb4ac7N!WIC2+XW9ijPL9?;?5bO*Fw z=Z@gb06vz8mrr3Owicf!Phmww)<=DON!8Ma*C?34Y(zKOjv zeG|L-_QK_m2zmU+I!9?s~!SRDqML+#FG0{&#Z~R#~Vix9oLon|f1lKQF9%GZ# zq{_^~z+++HgN3VE@VSvez{nu@<@i|$g`L5`&R_&PhbEf3Yh6mS_`I#b%-~^W@Pe6Z zSQAU<2v{0~VCmTiTW%4n?rYp5mf0sK6Z(dy8q+QI6J$m^BURHaIi`0>-{_10$*X7? zFBlur!Pv7&ueo7DzWlepPreJrSEkfU5CSuU_;Y4v7hWt)EtaPCxd& zmVV+KmIfY61Mile1)p0Q1S}1LTY45kVQDZ%0>-WOQ@@64P*6?N_=~q#orjEkkk_DB}8-+=hdB_YL#= zJKO6zCzmxyr&>p=h75^(p{~7xSrg37k@=n4jf%2!tiJgo4;a!+87V~^#T6IZt!`}2jP~0a7Q{x(hnwaP^62sw> zL+zy0a(gy>y2C0j$SP%+4nCzj@?o(4>-HK=VyEP*uv2_h_F1hThN>TxBi}3=KM;t& zIPmq-d2IZW0ROTA-XjaLJU>9ZJjfFEt4)@vtTM^sYVa=i3PI&%iExfY;}WEaFmy@k z=Zs7FXJst)eS1KEdlqf{Lmu-*1tNMvw5E3?4E?mpY`Dh-{k+HE3We(TPJ&LM&Dae$ z{*Hj*xK8udc_#p!n)Ieq>Tx$HQ13c@Vdz)&8cNpn$o|ei=bb`ljnJWYhfjvw*eC@+LT6tCh9wlBDS*2u!; zjWV3*;$_agW01_rI#2bv$bEQJAScUHI0VDbI$8NT$j(pr!yhjSZ$Ey|SJI3F&- z!o*Pbr%3`gt>FtGciI#CX4D+cJL-Q$1q7q!K;BVJTsJBZ7!}^VqlPblY?L3%%0o5kBZ1B% znNioff-cepZQl0tgew%Glh_aCkQHDVJ=}FFU)=zV| za|DildP3wlSRn_(?)1~+0rJJ{Y;_0)!cL%I@3rU~touMQbKHGx^sV6jiwiiBsai<=q3z0jAqh}#t z`1}PurY=45GyqhlY&78$ye9^w>jBiP35WBkoi)+Ge4C4`zq(s`*aGKsFu;5c27Epj zJ|{+oAmOd6tB{2fs&XvS{`mp}9T?v^(_R_8Lp%2OFc)JZxiQVvfOP7bdbV zSg;?RW`gZixA9qyZBtVdzNaaz*dR`89xwds7nW}2)cvi|yNsU?vZaVlM)cphtJqrT z#KkAO?-dSMLwv7ra8!`@z94U$?B+ncFo}rw8c-o(oa}2O~LNSSe(M%Za0;6s!INs(DkeCYS$MyoLzbFXo zoeA~@bHS#m0N58M*uh1>9!jw3Y)r>=!w3f@hIb@nq99J*Vw$!_hIemda5VcK_3#eA zmnM=-CrmcKwt!_BpAq2=1-uXMQ2dbuL9vh?ygT-Q2^@49a}T`p9!hVLR-)X((S~Pm!~3rZO@{Yh6PiA}|Bi{fzcV2ZDYhb<59;ZY7{!R!nJ#fykwM$z)^L2# zi&T9u|FChd2J;W;-$yr?zgK$4VE$f_zz6eB8~t3lj6gn^f69Q0u2q9M2n^;>^}*Z_ zykC)|59WVhBnJd73q>Pl_Dz#$gfmbykos@ zCnxblst1falj-KSvWMiNK-xDjluMm5Rql+E;;)A+j>j-;eJ}-;y#!)j1^Mp5uC=Zm zd9Xu;Q2tL9c&?RqotJwsDZO>l8>PqY3Pp|;cKz%A&ikwE#yD4yT*;3{mpSBb%mvA~ ziiVCi$YMxyyK`t)C6O};CW#ll49oReN_(wP&b>FiDg=(F{Q<)Dy4XZKEj)Ie=$e)X zOD*Z|>8Zc%$5ObKVC+26*;A{|hI*BV!ZO+@bH-IEW*kS3ke%fz_{iz-|&SJmowme|jK)M{E3H?(Qd6~ylSi-VvhsRu5sW3QM zcm2fF!<*z>_0&jfYLgt-ogJE)m1~tZsm<>k-!?LR$jUj^kA_RIt)!X-cK=c#ZgX%Z zrYwYOycCqR2O2lkSb!=7N|%RqayP(Y12hj}bx&DZSMMoqBzdr{QKBJz$7FwaQPwnE zf@2MW;5N4gH}lp3l6?>c>1!kVyEWJI*5O?)c$oWEXTZC-y)Pq_GNrT5om*ED@-pu6s^CmS1-yU#aYLD#Ha8w|gmSOJK13b4=6$69l8HAT)cV zy|QI)q360KRkm~gEWOAa<*e^*Qk?NSnYt_GZWbA5LJ>#PCW3M$_J)8wSh7uCYaauV zw=N|h0+zfkXUFBeXk_SeR@l&qu#Ckg!-^1-cOF(}ql$jC#I{p3S_7AoHcDIt>`2*s?J<(c}SgJ6bVaGXC;M5c= zy2q!}#fB)GN+zE#&HClb2a*j%Zm2U9^2u8Hj_Oph5x?4rADD~yd`FXw#+cK1RY8Ni zUad$NsZAc2c8S!^qvlqNaf1`w4dfxaLHe3Uts5u?ZlDgFa@QVJ%Q_1Lfsz(1&tV=ao$!+(3!D8}t#cIk9Z0 zSYJ^eOV&?15bJAKvA(wd@Y1cn%&jjE+4}D{_o=nMVqks6aO?MBMC&UG)>jm_ejiF< zeZ?7aoKEVw;nZ6Hnv^6dB7=Z3bL;mp3n!R?)N3jY#jW3max`a{jW)(tahgRx@*2N8 z?-J>oFF95rX&uJiLR7b# zQkBz`)}4LHZl+gDYZRi=JP_G#nozYmeCby%5%^R2CnPJ&g{r=B>*-rn_{#-Ay^w+8 z<%wcd)~Mn&6bNlur+G_GpiUkflIsy?TJn~dyl=;AVm*1&hT6pG6dSMgk`6L?9P{g@ zwwz~utID$g=jDl0L?TMdb>Q8Vx(_btqGxAd$=XS=E}jd^E}JfJHY6NMK6RYhA1=T* zC2;&MgSX~P0KaPeR7KWRJgS9Kb$ge(j$UsjHkW^^*AF|#FV}PD(e}vDw>IFo$ zC1!V*MC@)mmxM-H1J>?m*Y)Pc&>OZ3=?&u%y}2Ourn}tk1kL?+Nc@KWJjEebj!bh8 zXj-3Y-yN1B8mrTD4OR@PYDguN0@Po1pTE=;4IyKxicW9M_O;mDhrra#5`>BirwchXB-j z2lZC?BaiecFQV9|Vo3LCEbJ7Gt-G(N)gUDH>$nURiWOZ4pHI{LtvBk3^q z3c)s4>#D7HY}vba$JRPvMu#jV7j?uw&`JzmZKUQL8|s|ZEzWnqP&iixy2bBw(bk&9 z_f5@KU5W54UNQJCgJ(RcbF(`39xIT$FtKN}C06cF>^o1Fhor#>M`@l&x!2*=*Tb<@ zj|1OraOH4UCsfqQHA$!&l2H4dSvVJfP!4xX66!?;_p^&0jv%r%F=I}qXNib?rOi3e zn7iXq6&1sPmF*EB+`^0o_|s04(ip_X;7)b3%zRqo{%S~ZQ=EI!m}_mXJS0;_IQO7K z1~-=ns3;Zt%%04TJ$-UdFO@9N}Dy(lmVJ- z%_+BS1)3{465cKln87*~AzVGT2?S;sG1db@IO~qaY=%~6SZ011;5P}Z4**he(;=E+ zl!Du_Y}7wZSj)8vQjx0evgo`zX|nycWU~n5Bj@8;Z*qdF*rJqNC+>jy5h$qey%SjZ zF!%;n0garA_eS(%Ea-I#+{G&!?#A5i0PBjk?PEX8E4arEaXF}=88xz`37HBog>JDGJ&3M?6 z9+4#03K-w@hmkD$6~SMI=u_EI71o5Lov%U`N&~gB%vV-Z3bRSL?i>`ho_W*s#8~S& zkB*JrbcJ3hGd}a2pv8A4{Pz|39LzyJ#suVhzqI1>Z#QpQjI*s5bnfQlK2LYHkIdt2 zz~gMdyR-GdM`r^8X9K~Vtq-AaHZX8DFx=VtF#4Shw8sIPf0gsOX?>^QCAAJl2d<+Elu|9;t$H3sE9~e`q zzkL|}J_Z^C8fZSC8Cso>{a)o`;NfH7xsUa+3uQt9G#>-OeXI}RXo`eN85e`{$Xq?2 zw?wEUW)cY>(0YZN&)Mi40~#XufR?l<&PFTFMr%2s`7y?ZK;Tao3Iyi@$#iVywaqcw znVG#kPwe$4jH)U9qJ(&n5cVnk2kNK`Z{0Uingb1lg9a5N=8Kgpv{>nscF2$}PPi8fF4;V^&(Q8ItWIA?K|^)`gw{Gq;7pz8CUthcMu1rv zB*Kvw($jP1RV5fy(4b6+1&m6So$r(!7-WEFkg0`#ws=dBh(H6Lguf16lH4r59G_6& zT?MckDt3@_GFh2sDB3X;>}X%eP=0Dm%1efLi69On!k5fzrMeZ|S*asXlY=Yz*$L{a ztd6d9d*u^j%GKfgyx1m(%jd-kxMvDIw79XdYmN~2JMIKP201LIGF(&O_(Cd5d2P{W zQ)bi&?LnDKUD9qy>fIpfJxfS29^8~V+C4SBY(6a?z1giFEjD+ENR-6r_2!yh`&mU9 z3+y!nxVV}O!MhwuG8EuHHyX(SMaOwSr|}s2dui$~H*9F%a_ha zY_9<2E=P5`QuYZ%R;N2XjPPp=O-&Q0ZyF=}&_Zm?PT#p-CVU%AIxl4Iuk_YEeheof zuenTUlcDm#HlH!yq_jJO1y1xLkho_bB+6e1WJr31Y^l@A#w5c=AxCb7BH!T(50%mg z=atg8R|@Z3FZoKfeOL9h^A>?f{s#fZI2e(m!sutMvo{H{)a%(>8P9btvsXblm#vPM zlXhAf`ks(wi}ZU!*5!IvB-{CK@>jEStMOQzOGEUMM3iI|FMOX8mD`Ee%20bp>(LRZ zuJ~vW;VIJ7xAz)6Wn^>h2*mb0-e{6iRE+&doA+T5$}w5#w%V`+6DLFiK3sk{3EK%4 zjBtLs_ctpcRTK}42uetckA>|qkdnmC7a(!|V=Dgsi}Zuy@4rYthz9iYsnn0E_#1(| z`1=P{C&CtQc9p(ci-m)&qTxi61Ebd8U!KGy-N)8n$P#3P z^sbF^V~l|t`F=)lbw`r!8A+ajLRdf5VLguMuDE2a&L>Qwsvi9@{d?YeG)o9ZrEeyG z`liTxj>yXZ^H&Ldp*LgBN=kypdD3TSc%|m=Or+x0g$PHWG5-Fo!4Wv~xjm@Z0Tx#Y zDn|U8vj`hw5f1HS7OKCVTNnOLPMgSn!INn$i#rEyPY7;HjCTq_?D?<8`1f;>EWKu+ z+Pot{vmgu5mK8*DtheaLzZf~Q1)Du|lEy52vB%L}!~L>)={c`qEhPN|iDEO!^S}C~ zPcPFV9M?F&f2f4c(mT1~B>jIx>F-L|G|nM?=WC|)DrD{LF;(4ULZ3;rk6Wn~5Yx=T z(3ojcXhd%Jzga=eK5XkU+8Mj(7wt^k79#bP9bXj^AOD(g|5b3AF`>O&#ag%;;mdSr zP>p~FOAw5HqIE65vl)TBMzh9%2#!3`_-%6_kYGa9t2Bn-Lq#O%RT`7s^g=s&fr3|Q z=F>~H`2SWy{FWekDs$$%N~w!&A3mVQq8@7JiFyc{^OJhQ>tfQL;e7Fbp2LO3e}wZ@ z?YbIGx|v!0gTvw<8GP|?IIhe{m5drkus)kIX-An*pnV}HtCaa~3Gv^8GB2E0nb{Xy zh0s8S&_IQF*k!Jo>vJ_K!g*G3X{DNY5P#9{{0L9W$>66v!)3pe>;)-wvh5%YID+Bwe*ZYzVy7YPG#*swj31% z7Hv=^N2QAiVW_6y(61v1u-b$G{!2V;b+MXh&W%8vC&1!c>cr~(UPu;_sRka{A)r?S zbNE(>z@5EwSAySDz`Na|KrFve2%Q%nDUEYeJ|qYu#`CriLh{hA5_HmE26CcGl;(jc{0-CCXqW zZCY|fpqm8aJhY7vVTz0tmL{8&exwmT*;oCAp-d-!z5(=8Rhq7hIQXf3Iqm2 z7++?L8WTg0joDzGCy{ghfjH*^bx%1+d~*BGB+7q^DD1BhByV!P+>!k{!Z8V=zc)DC zu6j6@E5ym`9d36$92GqL{RzebiP)P(({zs_7{Qa!Gv@p+ zR4NU5pHgXf?rk(Y0HbnR!i4~Q+=LuZbnJ-;G-i7)V9IPP-+B9fGS>Hnln=f?layA? zsS(Hr-=C_}n9r#oF!(~%2j7ISxPcY|473pNIrW!ZET2;&kk6^VSSMEfoC-Q~Dm;8n zP3YN>`TJV}XLBm>KBpSI8!ZatbEh0W^# zbCxpwz1W@K5V^tnhVVR7yalWeD9_$PW_tOC1REqioC6XAZbqVzsmrluI&f%t9tgZX z;5{o}ggr~Y_hT=@j!!J{HQ0X;(pHWC2tC*5-IR3Hi0L$YT@HC7!cU) z2Z0h-Ekbb&28`i^aj3wkJI|62=z+(Ls&G2Dz{{1CZakm|g1qyn2&{=~MLW6!dXQ#c z9$EZ_$3C^rdq58gV~N763gM_p&`OX%|8Z$0_C9N7Ta4AeCg@oGYl7}p|L1wE4m?%| z-mTsTAFU1oRtLeY-iJ_F9Sp1vhFje*>a3nm%7KT~!E>wkaf&D9K)~uCxYhd*HXYT6 zc_59|A?;T0BVBh=4n&L%;$z9!sq^{=-pIL(hW`_h(%m9?sAZDi(v(x&ch1vbg8FK-a{U?D~BM{6q zHW%0==W~U(^IBw@X=*2#@H*?xe-_$IkpC>SPfN6)pHAG4L>=f|3DlE11C4U*NDy}yazuzT69n(x;Cbd9=6Q(Y-a~u#Jk90mUdSbF zS}r6#BNLMOB0hT`cix@X#bxU398=b2=a^FwCyL-Z-B{s<^aw|?&OwA72A6kXBM>DK zmX6PJV&Q;6gxfA~EFHJcM-1b$ZnQmZmei2AFv(3Tu4!B5zN7{M=b>k}3j}WX+ z+lYJEMt_+WUnWGz>7583Xs@3vd8u}JB6YdQ!?c6M_b264OSK5(OSO9|&D5T}>4bAA zptEp;$AyWoe+2q`SzNlNHE zkc%!6Zl}Ou{C4h$ZTd$bw*S!R!9=Wk%6K}lbsP7eSI4y?&I^ma_!X^L zg<@R$w^NV1CrUuwB|POt`f7}h2;TMI%3Ys#Oz6D3WK4x0#$JW|gfl)hpETP(J~MU1 zy$t4#v^h!p@yxtR9_50E(dJ010)h1G#EF!bE*g?YZzOxGKwwVmQ-p9eZ50SS*R*Z6 zgaV;UZ)gv;oPPr#kIf&>y16k?yD`}oiT@wh&GPZqqt$8L2+0}~$^RrP#HQj1gjXZ{ z=L~2-4rZC;@S-tDzBz5t-rQZ$86TMy7dTN)U!0PDJ-wrw>1Xn3>}LrPR<6$yA{TSr z%x$t^W)-5G?+0X2U_XS zx6A-XbwS2W!i_2PCgJ93(Fv>Vov^m=V@DuQu#YpKa`Q=6faAC=2xQk#Wh^7k5<7@P<2HngnT4#0hK}nl|loRlBb>TDm_gv zh`KH5btGqZ5z9CF&oiu=Gl@VyC-Hc$@W5;d+R~Uv?iK;SBdjBCC?K!}VtN7PRAV?G zKbDQhV5sLLQqKv7+K|*yd3*$NLtSh@JszJ71ponvc zr4|v+O>>38MbiYyFb!1QGzr>F6Un)0OmsI55SRuMZkh{?;eh;DHfGcKSRjPJ#4=#|sI)D~(>Ylll4T;C4@btq zRT+i$;pkaLX+X%EDq(Ys!_k&RYD>`It|W1#!3g9U+-X4d8Uz6iLe({x5Ekv_&_I{a za4)|nNfy04!nv34Gq~vG>0S~)+nD7}oA+Ey!|nspfK7#W?#+8Y@Bh?<^;E&~&HJ|U?5X#p4{ys?$bBIKDhVd2 zRDED*s8oG6Xc=_2PSk_06TJtkjx;qDlck z<%l?Jc)uPtKa|*n53fjjhGQ=SlNbwM6-6O@1v_b!1{58ez=p=4qQxdHem~jvq?qkO z>Xan$D_t=w#tz9fQEr$B>dWGnFHSF@a_<0Kd@c3b8oflg^+_+r!u1k`pg4!WzSQ;7 z+nDv@6OrZoxY+6>4n)dBAEytFH4n80?bL@}vbX39JkLsYJuBHC0e;M+t1j@gw}$;T zPB1v)2gcJylv)gZaX(^k0SOqK7puk4)kMU&B4J!N7lwWsG-7N?7;IEz9yJ$uZs^&R zil;1QbV02v0(yEwqRD8E&;PvY#t%jTaeabd1jn{-QivW7ag`abau=Q0_v6sb?!@C= zrvJQN3%64Ne^=tj1{X5*!58a0Fz!tlFDfv6OAH9ko+HCx(TkS+#Ri!5Nk_AGE(Dx2 zdBi_{;r}M*D@y~nQ?Jz0z<_YtD4Yg_(~Y?_z|VNM{#>%GFAa=~hGd+iG;mJBJx56T zZtrg;BlVmr8mc*EUN<(Lm4@JTLYhHqosedvVOskGvrT?IB?2+VFo1p{0d)rkcZg=T zjSS6beY7|C&$_-Rr%Rn@L0s1qEYaF&C+>Heb9iDn# z`}!_>*WqQaPPl&qO3zIk{WRvE7{>t-!;Weq4vo1d#S2>Y0&irXF>J{WH1KR_>`RLL zVr0NMPH)T%I8y|w8;YPH44*XArP}=5MC#mN^S@4tZF{~Gf!yX_N+`XZbg*jOypz)-@#aC8Izqj4ONAI-qti2jXDVPN^zOIxmy zW)m-b22I>S$5V*xO&r|9{~S4BVK~q@2ZwoG2nG)(8VqE_; zvANKBiPU*Q%7=~rl}uN;Py})p`fdX1p3^sMj8DXYBOT_?nLB7|69L5TGg2ENb) z`F*)AVb$H^&8Z`IPUbrkxcYqg-Fs&bnuzbmh z1gB%&S$9T>9FH?ftY?r+==Ppb;-r$i^9`0JC!ci86=Nfu8_ zgijN~o-A%o_F3qqet&5h8jJ|gV84XEZAm()hW7|W?9j*O8ju87xRI&4iVh4M53;^Y zOc>SB5Dx(5k+R-u;Xb*~9?3&#D;`Bu7bRl(;kU}SS zx?kLq4+}*&-Y`PwU6oqGsi$N!q8}VyN`N+JQ!f9EAeFx5HJ)7463!F9o@?ukmjT}r2V9KpDgpf z%mIb5MB!D1aO6+4l0QNJacLzsC(Ue&vHDIy$Lc!;-L3w{d8`gRRtMg#-UlD84gyvO z!L8nhP*@!dtPX}--7xB`o?qqw537UcR`25!U*-S-tApTH??X7cmpLGf)gkRx?;~CJ zG6#ql8^p(wu~X;8*tBA7TK#2?B^dh-LC4s42)Y~lUGo?lc#I9a8@mra8XE+R4T2lH z51}wN7()r8llp5Ib;iywbAX4j;pE2d;}l=!00Coz;KuGlII8=Hp^UAe+$_3~bKChp zQ6{K%K{zBl#FG}p>a=2YTFVgkB@$BshTSC)zC^OA!14^AD!iTfF-`4 zMcs9`jW%bVzxU4Fev@OK0kxQTr|{hBUoZfy?T9Xn%<~A>oFHK$ja;2P*DSo!ZVE_P!eFoHHIG!m+s+$Uttjkek z+C!I@niB6#z27UscuM>Y>%jhac00o1EeQQjxuZihHS4Ufzsa444maJv&o}bEllXO4 z$>&#ghm(R4n4}mN{kP22P6|dK2CXcat24@uk+AUBjLd)tV(x=LG#-O4_a##Mf-a9= zn~GLpc@g1!dGUkXtwrk+IxIQh$6AbK?rP`v=W-A$IcbFRVSS~+ zlMV)c4(EHz>oPy{#z@Qu1QW{D7{x}>sPR-IGaxdUHzEs-L5*|H3i63rn-%U&$oC4e z&k9dh%8Q>BpuwyF4WAV*b!CKEA;S5ra7m?%y2=3<%nDHUSs`KMSs@*A1eRF=Sf3RP z)@Oyt-)9Bus|}H~Gb=!0F|$G^jZu_e?n}7$39iow*VO1S4{%{d0GSy9WOslYE5(Ev z;bQqQc@{X#2;lgPU^wnHk*d!KCX#hGihPVS!u_fD_lqz-BW$w{6f;7E^BLjR+|fmc zA9R=z;O8^KPUjcGFT(j`up{%c@QXk`8JJM6$tbo@2DccQ0g=JH23d}AGI$`7dLXFr z9`9C|3?iIQ2K#ci7Oh6;Fd4wlCxeHaUziLcoKFT1W`3r|2;`H23FT^xV*6yU$H)wb z45mh8p)rhNOU+LnOr#zRYHWMA!i7)~&b{$q?$)B!2pzl;e(sGE&M$algmZ5k%lu4@ z5y-vKgmN`TvE3Vojm&_^U}{8`WAw%sCQ>g9YWyMZR`A9M=ic~e?$)B!2pzl;e(sGg zcYeVeBbfqK)q?*FPr`lgPLHBpwOsT;#-3aH& z)~^|yF2QsDl(q*!AlHJh@9QLlnv#I^IkTb!1SW|DORf*ONIP=!4F`wgI5y5?96Upd zLf??A^lqaxAmmMnu%VF|!jxF&Oc)$za_B`klO)B9bEYAojWZ32B<@U4s+e;-({Ech zmf}pq!Uks=7B<0|_!(!?pOYRE^`$yfE0Jmm2Y03~xaEQ~ML2h+&l_BiGo@r41e^)N z?o0_`0cQdeCjrx)=`UTR;7k$Doyj=3Gex1@nf}-)4G4KtB5d55Oo?^Qgu!tphhBs; zU9(tcdRS=VOb?4B?o3}%G3R!szp-vC#hKc|24`vuo8V0Rj5F!a$(a)Mr8?6{A~hl$ z+?oEvEf<_A!nrej$KZOLX_*~d00C!$usc&iSiqUU#F@Z!XZkM}DL7Mvb7wLR?o3f= zccy4Ls#Zg5&&(j09KPReJX7VB7tgwMso=a5L{ zGxMqwDJ{+ISj)A&=QM0h1v^Z6qrwKq8WlFdvG^Is(w~!KCF)Cctg%FDOgOk>oo9j; zQ(lB~$69A_J&u*8JP>d!2)kn?gasT6OdJbLcdVx;k-BU5?%4gjJGS2?A6obGuo3=Q zq79}#mGUOBuN)g$)iiDQtp+@iPvlKPR0e>PvO77bj9L77p%U&q>ydIaP#n2fNAO zdK@fGgCO8w5OxPk2n#qEm^c`i?qJ(pq>JPsrFjv~9m_blV@09eu{Il}0U>WngpE6v zDY4G6FgT9o(2H=aYmUaTriBlVH7!!PW9?Rv=XR`})}^I5){L;hv1Wu#a4detvGnKU zSc&>l9cwm`niUT2SWOeO7`Y;xJJz7V^*C0V5<$SRAncBn5EgJOFmWs}-Lcv(QgEyY z=Z<9@+_9q2?pO~Qr2!#tN`#F&mMO8$u`oD}<FZvEg=2wJf<+Ta!oJndx>H8wJpn&W<{z%20J1{u9wb2A znjrQH1ZmZIMsq;W>;^l~X(ULj9|Q@l*qYXT(n?yjHloHxg2Wu5E=X`%f+UbyC`gJ5 z$x?&l&BBi$d9#S_L2{{zK6j8@Y+YMQko=giAxM5q*n}YAXLO@Ki{j8tqQ2B1c}pVo z7UAGQa+3*K%p?)cgJiS8^#n;uu|Ob5AnZYs5Ecj$FbNVcJxI2?NFhifoCk?y0(-cd7H2yNZuxFLXhw? zy3wCgkR<9$4U!*Eq<&mDc#w2V&>~18oCitU;Cg~2rCT5nBoOu>NeBxB377;4m>wiA zc9BAmL^ux;<8Vwt0$G9t_8ugU8v8kd1Pp=%3=a~+@E`$#AOXUIHHP0la=MpDUd2=%pTa(z>xUesXPi+TI$ z1451WCO#n4{DqhwH(9d1!#i)l^Fj>pI5t^9AAGF%fWYZT5Uwl`=6}5fJYH`B@7w|} zyi*ciZvlb80l^O&^+|Sg-ztGL@3%nO-(@n=ynjaPNvU;6B*lZDNCvTE7nlqse^Bt( z2n6|%nas|2x=FnqM@|k=?+bok*oTBL5%3`)d}<>6tCcUzdl0F5!yg)FBpU7k?>7%9 zz7HPZ{M7ER8=Q=R^S-eSDz6D6=B3G&A95Dq9+3#gyn-f;g`Q#RxhN)mAG~tY^eGRB z@S!)D-IADn#F!1pk7vvGe{*BzP*ya*#~U)?_K-mPj)d+D$0s9ghB+A1I0x@&VAAwk9I%s0&GXm{VC zeIcjw4>B_b{bs`bP3h`siS{3=SPP#;_gC1V!7J?0I4^bW^VYR|u~7u_dGwDB2&b#g zXjgBrgTNc?P~~VMIxz%41{X=<$LPgmH@(n~UZ6nxLVD5H?NQ4ANQnPK5V1O7wcW^kU zj|`lx%s8&hNOhw?WUH>UA4{9r5y+3g{-91}{*6!&IO_^kztlY;%s)-J zjv&C9V+i2C#KT$_%df(VK-UNm7GG^ZWu9LDjZn~;9pHf-0(v#e#P4nczdgY}zkqkU zMS*q-1QBH2ju2Q5o_7cYmi@kIazK7GvwGt(nDrxx)JKGmoAoJ4fALko2`OK7p76l(8sU!3_NN_GcP&Omb|&ZRDX_zp&dBZa_CE~&&% zSGz`_YYPckb42-R#b%}fAN7F1W(eaqL!M(y3_Uh3+Gcq+sC&wzh7WJQlce|^k%EN) zSBGzQm4q)ZM>vK-RClApg)c8hI1)ircfG@fFE2+pUcSP<*E(GI@^XapD|W6nxWxn` z=p@~AZ;PvfU0V zU+bA3nHcvYcM-)?m=_ufNnW=0vgc zhWjd2E&85hzk29nLXIWi$AldDFr6OrPOqLmG%~rbWgp5Rt%}gTv^`YU-?R3}R~tsA zTGNevt*NPz)>I=a03sYlhUJyQk|;DHu7JqK<8Q>+lrqqWFPQ?u6<=tHp$r}X;s42@ z>er>;lJtO7_~QxjX`S*mJFHv7+JqgZ{zp@NGMGD}( zNYMu$ixePGqyWK{*@sXZO97*mFh-O54Wq8CkuT-}kFo}w-1dE(;>A25F!6!lWsN?B zD{gN!rC9og8Jo@lgNjdpXmF*DI%sApnlqaG zdmnr>I|!H^1UGvhLSc3=h7$&hW}?n8>dc;R<^d10!^zFw$0^>-0|I6T!Oh->aCA5G zKpLw<+N)W8r0Z_x0dXuL`prD4^I~jTF*am>c<`XkY~V3A@NVor z_-JepFg6Ho>^_9T*kE96Fx=RNQD^LYGY@ze8$365AE#Kl1Oa1%;KuGlIJ(j$q%k(6 z-PnDk=l{$yBrrQ9JjRn6#O$K7%EJExh1qMX8MM$#*`1>S6*T2jhYL8a7 zMj*#}fnbrSNh7d|c>;bsMnas8iS54gOZ9?+N#Q}!SgjlZ38YWoNnj&8l-MQdfQw`$8QWQej-7?qk#6vgx<>)Co zUVl6G`fzBRtJhyUp)8fZ#$E-3_Ae#$Urn@6I7Q1y<`X|18Z&Lu22edF-z})*rWV&W zV9@SyPy0dxhL<$SOh1)yKP9$2Ezw@7Vl6yoc;y-zRIZ`nmFttOYq@eAfta7@;)w>t zfRSCAoS9Vt2vn}2%IYp7ctRgZG6ta+lil<}J9>cv?F;Fps$BnJLi|HP^vd8KQ7&e}o)DtV$5zd!==Q~`eTt_&sT%T8?NjEdf1c%BsGI-_Ma9o*@>c*r@ z>$547c9aPP+83?NPbb7r2W4J7uQIbQ_;?KsR0s`JNMK&>stJ|r26v!)3H;{zhTxpFOVL8`!SB|yD4)ku4itU6uS0dc`N!kZ1-7Zj6^Du)5?gKO5{1{HmDl0}H-~2dGaf((vGk-IO zssLW=wuA^c0!CIe7q&_End}x?S3XHoS5zYtHsY-`)?S7Q09W)p~;pHpSBTC~K_CFwcVIs;R zf;fIf>OkcI5r|j$h~t-4(l62jAoA?Q38Mufy&eGQo&o748= z36rp5_#B^jV(0PQwL=r5gA)f2PPb;B*tx2^wlzLHm|IWb&j@igcLEH^EP1wk&-xts zciqmjyQdCL9yvHFUtgOZ9Bxg{w4r-i{%x{3)f$%%bT5+|dRC`dqxd*hclGS}$PAkk zPuM52P7v~|g!~CY{#4`0PjJ+q#1f)xC3swSt*Pd=sfn?yf|X;YOi^N!4=&j z9BxjHyR0jP3d@R>LUe$idy$cF?jmm z#MGFi3f&c0AbINY-FW6(o-o0>CyYp!p4nYCH1jBay!?)d=5W<2ykwM-pVw@ek!`cI1A-T=0*mY0p;@$1r)6-5l!g5FZPLX_rNX}QuH(*hrCL5IPdu9)Gmp6sp6WtSM zf|NBV&rAZyCsf)GbWf2F$Si>HEJ2XbijHh;j*eCx=`KGwJ3b`E3gJBUuxg?bmJex8 z&osw}q%T?O%}MH86U9ONarL3r5t}L{=*!-b`pVGOeo@jvvraGF<`?i}${A5sOI$YV>iB&KB;%drx>MO1lJxTXzS+rQ0Bw!VpzaNk#vy3D zygjh%QG!}Nu*idzWYNLn(yhSpkplW^hbF&C(5+f>DFG5;Pac{Wo1AL3TjRRt=>2Oy z)_%OZd_?lu*u#}0j!fbPAE;Ys93h&7-2U!Y^qHH+cKBx;Z8u}RPU7juYI^B>kvK#qVe=*nUoA#_I{1^ za|GJ_s_z3Qcemf^;4*(_aORZbx+mTy(K;jh!#yM0d0A1@GBZpyM_pNBuLFX(MjUo_ zOs2Xp6`wdcF+DLpdc*^th+)E?dN|mIzuIr>u5FHwPs}u74bU1Hc&3M@Mr6XSoF)u& zGFpn2-BS+Z%p0XM@?g%4rams3S}{F3!st?|-@_ysK{2m#%=G3Yn6bU0d_&Ue`-JjI zGe;)ngR2u`^!bV1qEe+Lbq|xmVgEa$*UCqlQ}lCpckQ9WK_lH04;_}Q;b3#tVzs;C zkW5Oztq#8mSBxWExpAodo@V!y;nvWEI)J1rq6dkERa5#Qn`sf{k1A>8L_}%eUr%G? z>D|@On;IG3JJb|yA83Ct{rsCkUW~M%{gL#;N4u+i!TCh{$)Ls)<1Ckybv9;@NpzPy zRF`zM|3bu8iL@D)E1JI~&6%6b_*2a>aj7TUA4?(>R_8;SZuN6uC-(vGk_Y?hG*uWszyvt{?*+wR=6Yx|zTySD7vvTOT3dAeuI z9d~aZ+;{(7+Y2GCbaE^)oSY4Ls+o!%t3uKc5t5N!@(TKXwj2UWN=Q2ss)W#9DQS-o zNUALeRJsSi%@zn$X5B083}lrTDSy039_)=4ntQxR*3~0J>P2-a(v7Jr>)e6lA%CE5 zwX91-yAO2NY-`RmZxeU)Okh`ua6zwV+KgyQ&znopR=jws#aH{DtV>ebF4?(A#>68J zR)iECbxuo?bxxw3X4)ztsc{tA(q=?bLf%}8v}%lcnW?MB{ktpf9@jzH7@mh{vQ*e5 z4|b0^qMc)+%@ugvlXh+2viI&ir7tQeS%Mm=3q^KumCpG_D*N`y33qSd$cijGdxm^< zf$XkUG5{vXTGt&CmqLF^0sYCtx}Dx!>Th{x;(%H-i@a=vC7*G43JPOlmIt$C!9knh zP&AhuRvl;#$y*DuTzE2#?&m`kEP1H*Uwfipl}ytICRqQ)fm_zq6H*v8*)D(#u_g~T zgch=CGhB-1Qns}RnlnRfxxVU$V3fprs*5KNxz8oynqdjAgBD(n_cX_o2Rp%rJc8G1 ze`a_4vobq1pTjo#)A)%(-ey`DVP?^6WVfx+}$DMn?`j zQQ@gI33s(7N4o16y|#i^yAU{P7awS3h%5x#UBRn4kW0!$VMq_g&k3_CUKlI4p^b$yKSq=qgJ|7e(%d_hhKu9DlfZ zV6@ek<$_BkvzcY}=KZ2gx$TlD5+!c9biZ_Nrahru9+{@6eK{Ach|BC0$M&@vPLiqcse>Y}AeLS?t!=7jY@ z&1w4Hz=SQ-4!0$;y(NH7w z$kZT%z4S(w!thDtaO^Z*_tLwqIXZ0w_cY~&&LHSnsJ zYs+0#XD3ImZrt3MoY{1198Sdthg*+|TS>LPHG1=Up|yTvH4@+a*d;@kG&VP`ddZ~~ zovE2AqvO-+hN=m{gw4h>N*{ys=0+m*;FX)ii{<~WlmCC^#>Un1zpJji@}ZZ!qz5g< zXF*&?LYp_>#edRJRe@zeM|8hN2Je~4(TN$!bv8{N;fbkcay0v>Ja6Ln4brm**E3@b zUO70l{-KQx{Xs{DSZAIw_Uh zLDsp-(xc8kTZatn>TmWGXm!ed%6)}3)HP=$Xk}5rKFF?J&_7Y=%Y&S+)oly=5vKNI zNUW-ji`~5&7I)9+7vGiWZiuoDlLuLc*_MUu*6_FW#u@_Q*0V!H|2hc0@9=Vh_V;$YC<$!2u|Eyw+%Fb*)10 z{D}M-wLqy+MZ2m*t1!CD$&L!mUE?^E95X8~BWsr`ac(TS)Ol3+n-g~)LzK)%ssfrN z7p!h}R(^~|wsECc(s`-;qc%EWNBESsNz=okFidxa%%W3As!){bp>0Z^DURUB(talL z==_xY)$BZO3~Q=8omJ9gDphJ6M1vXyb}83&eo?7Od1saE?9Ps{0jOSB0K4{$wUpNj z!Dtn?2pbADa%myb~`SUFN(MZY8Gg7kiyjsY8HSzBJjXVUl4#$~Wdh_=#<7!dzXm5`k znj@j~=qp*sN?G02gM$Z07V9z04Y{((1Ok75{Xb>71Q9mZ!lGA)b9%IM5D|Ck($7XBLll#{_znGC2QO}FHXhf1FYH;tpkP7argFtRNqAKA1+-*n~tBuroJ z)`aMsYsS_0qY-@GzOS^kp?Cg@)cGrfpHB=Id*>JJ%4em>fEp76)EF;`pes$f2Rfe@ zGt|KO#IVWX{-hqx=Yx#~SGw{#`7zKYTR{e1M8i`IM;(=eaI4ZOm@2hyf3&-jqee|h z3GXg_b5)-!(n(?k1|A8UO{f9+(caMW#>~C*EP+WYosY_@p(&?$gxPZ{KW$6hz2u$V z+^Z`@cuXIZj$|*@1@1{#c zPRN1iS%M*^?KWw#cMXB?rPVz~x^$KeC9C7FF1c{c0yGF5#5+(U-rA|=@W{krDKGYj z$T?k*eF8D$DB@ESgeUon67iZ+L{4eLg zkwJk+E=Si4&jklUwv-gYw|ZxlvV<^=^a^wu32^V#KotttNb4GDCBQB0EWkZ1y*&qb zUKrKR2st`^v39Kp!dP*wu=2&)t4zuVs>NCa^2ORK3}~)2s^ZkyEr4mjhYlyOVdlR6 z`oyfeQVPsc;PfOm!ltugo!4fbnf_%ZeO|hTKH-2j8IET@k!o7icC056!WEKMo1K># z-vJ?_nl1o8SmP%lOCq8IG7WsOF^X0^E zI9ymxL^xkgywBj~ii7!9w~!-IM?AuT<;3qe+punoaK4=Qh{J{DM1=F%;KNzG95P`! z0S+k=GWc@Ba6BL)RZpU<(-Fee?8}MwD&M@E=$tA)l(XPK?OGxa%`j#mfoQx;#u#a2 zljAr~8u3qa92+7*CX5}KNHzbQF9-6$3fFu}qVSaDJaG6!?UgJx78qUAu_mQK?gI@R zivj8LW|1QIftSO1?(@e6x76IH^CA?T4rs^}Wy#O^B7i49f1!j+TddIJC+i+Oav$(~ zS~NVL-hkkq1t7?d=-L;J@_e~Z=iy%Q$W9k3|5qgOC+(NtvL6!gn z7by?{<`x=y$C~?Gki6~!A@4^1PF>e}YS!S9`+(=UkKwuCK#=@2W7EWLe^fqj{9mr0etewy%SXn2}%@P+h$sc>@zcHJQE3u&ma zkcOHsq*pCVHKDMOj&Qz^Ug2@d7f+a zO=fdm4vKJ|O|HxQGVSCijzcyHZOslCjy>&z zI=KPVJ?*>6ge=m&2!7Nc%1l0jPOhBm#Kax8F=t)XDm4ULcb9f#@|a zL-eT~2=YE4yyo?gk)Bt+BJYC;MK6f>u-&eaueRs~GDR8D%@PLJzwSrH8MY_dFIE}o4OkqGQSAtncwRj zE@XZYj-Wt0uQj+iGrvodMlTf^2=t7jezKu-l$%J1dUj2gvul!9RS@K&R|xub5^psj z2INN@9lSAfEBJKR$idMWxwM7TR=w5Oa^1On+xER%OYZDk!{C|}b3direcJ>PHYSK` zQ|SC;luzEoQgj;UluvGl89KBW`Bv=PvG0!UrGV_(AmHsuz+dbW@RkIzBMJEPQ9yaW zLeXi=0 zH5Ym%g+v-UBOPS9W!fQ02Ztmb+Mc8vj;AS+swe5ziwJ>U zq2WpTuNq$yJ~n2hmq|LAGf8?RVoAF0y&3R;ocgo-6}&Pmv=D=x??{`i3)roF#T2qekDyhX?x-mbg8`@_|&NCqWHnF(mB3)9! zPsfR*`qN^>IzwokCA3y1S}TQCx_*S8prt>Rw5p?{?TgE^qf$cGZmt$wIW#J9WA}W> zH5bPV7k-AM{#=mM`g$w9?JP&PkRS6|CmI_k<~lwUWJug#qEfOV=+C80Z2So+%KEAHDg zG9P5<-^fGo0Jc9 zPqZ5sAy36%jrWbt`^kTbmb`HleVb@4FygiM*4abKbAe<^|yev>U%_{s%%kZVP!+PW&-GIG~$6$gp z5}z}I36?FlY^Lp}HY1SF2*(?cD53XoZ8_DK`>s%8PJkWn^P!s6N-3SKUDCN%sL6?6 zrG^^G)lW^r+orHBxFVcagpF%cA~4ECE5@+ixw(MA<&m1%24nodjnUhfjbZmtE;T65 zO3cm*7Fp+=`d8taR*@0TW8v(|C>z2X{xvT<`_WV8X$TP=FvP{t;?s=KC+D*zc(^%u z+!+$^Ozn}d$H4`4gm>nh3vf7I1yTGS2T3^nM9CJgmUX+3wcHPZs=Vy4RM|AhNFHxM zU}E^<1eo|Nlhrg78?%X*oPiA_J_EwXhrBC{&jX!c-3aH_z1-j!=@xHY2w`0qx^=Iw zGeWnFRPeAacy8T*ScL=w73)IPt!qeb zT_7+Z5N_SeOx6JvDmEU2b$VciJl*4<`sOS3M7ur3VUy1VL((Dw!c znAjIgA3GDKnIe*QTkWhP9ikVUOA}G*$V6|#=_l$}=32)K`^wuea$LWfzah)|5LwC8 z317o<0|S8#fnWtm_}*&54#SM+j&ulMa4;}L-M|T_pQszyI$j!h&CKD6hFx@4nHl1k z8R9o4GaIg(83@b_1odmo{D6r(AU~Fk+05mVjn_L^vPB}cWb<6Vdhe#n3Hx4Py4~Lp z+9hJ(=5N)6Uh)ZhFRFTjh<5zd-mQ}LzO`4cfzeJk4hp_4+&UxjsPNo9Fkb;%4kXwu zXI++qlG5*zhg=alqMDhj##QyLyZXTF2rr}hAuOn9InT&Z?qzO&nJM~#sEZPkRX)1- z5rb4uuh^)tl5ZGw*|#+6?s*BPE?4;x(T62HhARty!(}K(vey{DPlj#MxA)*&={Pr( zIO?@MWbwV+jpTaUBh=hR zBJIT0n~mVyrHjt11j1emeGMXUF^oK@muT?4;S-%(=-v===gnr3}c6{W&nX+n@nw>Xf zH&tBTUsMqpJMqEy8EzR$F#;7$N~4D6+a3w63ck)Wdl<<+gkkU=P-f)LUJ66Zi0LuZ|Veo0cI~4@O4RclJ-r&J05B5zY4Eb48$iOabhIrMSi5Igf!-r0* z1!Ne}*2)#3t*H^cMX){Jc-B2hE^wF{oIWx=)0+E+yw!W<+;A)3sJiQP_{&?HJXorP zKL5%(5@v?(*?aHbyKnoh!8`X1?%BTg?mPCC_iZU1$(xK0(GlpFyOpfm`M+SS^a?B^)`KnQhhY0})km<6dPLxU^kVKipum5_uc{uQNC2&7V44$&)B_arXL7)-a!6jyz9F3e-w zS?&e$kk3v>b_xNz0-~2)`^5U289QH=KBin`z?C2ma+z}Sl<%1mg2%PL9}y&(-=zpX zJ0t{it&*mjD9W!8$ge~kqE~*o&ayRS=l9~RXq{`as?J7ysS)pz2RpCOYZ--rRRPh< zs`D)Kmpl>%Cg;F}QBEFAN4-oG0wx7SACv2QnS=>#9Zbl1+wh+bA57BX|h(NnS`o)0_n zLwT?%h{5E76!!sjs1zIHD>hNcT>Esxu6(k4(!T9`_YK~*ySQ6XaS2GpP4^xr z+;p;mCUdR|CP-&Ns~}YesD<^KMj_Cb5^;!LeQ{0ylx)j$DOh2gs#jIBI>D=!*1xC171xsoJ08&6KZSs60nx{GOxtyqHNV0j_ve0_P^* zd#(|vS;?$JThaz%$0L$2I^K-7$q}Xzf%CJdddBf%Q9+&SEloVF^;eQ#!9lfLq zOpwVOK|w09DJl_b*586mr4wL?m!#A{rqVkJb+11uBh0MwIz*qDuk4)^!Vvv*jLW@2 z@=!mBDFjRkh+Zb$)zk9wrQBmE_Zx>0sf@86J`9%fP|rsp;8Q^K@mZsMxFf5c(K9?a zb7ak-CljALFz_c$FeqU^;uV7T4L^ z$LpHDWWjXy9@0*`Jogsy*Mri|>2s8R@#%Eu*6o zho|Ls%;_U?5gzw>jmQTCxSw&1YXRjVKDi+usEb6sO(n9Cc7n$@+1@t#3tEgxJN4%e+tbET&yzndC6#v5|)A&YFef0K(m<5j0} z-K5=hJIsx?%8YA3<*LRuKetlhY3_usB9+~f348rQolYVcb^vmw-Y>sll(Gj~95!vk$glWCFRQ8|BD+V{n9g=br zXX{dWC0BkDq%sqPVqg)O+C0{NYlAjM8 zDcK-LA-Ud-s~0z}mp9nu;>7jC6GP(@JWNXx*Wy9$6FjtDbf@=xxUm)7F&F`vi92O)edGmvp2=7ZaHZIX6HVf8Xuf?5?pAD zP4&loX>E=_vorUS%8kw9BSciXAT)VQRyjIJx7_NDv+8VI%euL7=K(&eXtz7>my1)m z#8__1HG+0=sz}inXL6I|h};Q_beT=QiuV7%E4LwK!bRSdTe(tRb*r2D&9O2taCxg- zRXQRUy$(-JOjdy+-yPFyj#J>|K%Z&L#lae%5+ZiZs*H;*8PUZ@(k;^#3l&bd`!)+= zgqI*m4^feBVL^JO50ZGjs7C_kA-OEq{L-p#IYx9ekhwv&wH%IHgR8rsn?q9*a&a!V z<^n4BqF0vz->kRVW{>tHJ6$O(mS9Gcv5El^=O;wvO5YLI$8sU^Mr}y(M_XUus10TG zg|glgy>HLZqCMM29$O;7=pQ28qyo@2-sJ z`}gZmvVVU=Q|n803;+*;jn<eaOHrNH%GLSvfDVdFOO$ z(YcbVNo^F7yFvB-WVuXTl@z9vO8tIY^u~r>2dus$!e~k%*AvU?f0*ZkxIN5e5Sr#X zW^Pp=`lPTltyczXN0o@;GrOy_I*z8Ui#e;FtD0&xU;=oTWyCz#k}}C~ zp^yo=MY^0gORW^t0X{q>?<$Cnd&G1uGBV4{0^F&ehI15<43qm`h4dUz<31)X60W08 z5o14AcfjMs)s65)s4ymFo?gDoBY%h#y=qxQMea$LfssdCFQiI(A$1z!BrzPC9hI+w zDUjV<4oZsFG9KizV@dA#7Qk>zZiXhw<0@;&%f+xW;?|mIa`B~njzB&)Fw|;nm~2YK z3ee@;zSfwui|a4VLrA)PHFpp1jx(s<18?4c- zxT(0L}_&fw|dBnO{|h0MrILoRZj9W6cm z-~@{YQ@dUFJyc~6`=^ISCXZ~w9MhZhTbpvT*XV{z8#lFQW+taMUvY&bSks#fYGUeP z{=7o}xpyn(Y4mFwe(Wk)Sej|ea`;Dp1ZV1Hc5Ib64S#W8M)ZrT0~6znI}_t0Ojv}v=riM#Yj(tvk(&}kVm-@khH&fKt7n#Xg<;$v3Tk?Y_>r*ww1m&Xt7(z z1j(SZ8lJpPS3;izkg$+`bj@X!mk?F2Soe+ zHGm|FWRjZUn5#d#XJkIuh|~pUVru<<0&D+z{+N}&LN+nP$53>AN1P#p@nhu_<4v<# z`Bu$TOVSWN>hQ20N6Nj_Khr#PyNpR=1ebiWZ)8jg4jQUDVk($tkoHL$i`$tA3IoZZ zefT5E^Y5YvMf)sD8qF;el&mmMRVBMD8}1&a?)do+VJK6HN+sicM(OzwMYS4`9j>?NXC01|W)BlZ% zZROfr-JyS#%CcRXQnK!4kCe6Ln$|_sdF34Bu07OwSEZWPt85oxU{`-LCqGh2?qgDT zPlpxz?ruGa&kYZXE6caC9%c*a<#Jx=9%m*Gxv2bFWhO^`iZWTQ@hKLE9~8?sA`Q#V z$dq(}2vYVQsXUaW)|(2r)8CJgg*TR}O~ZIP>s~q_@8Io{2Rp08*2mjSTRo?pyEibj<(pw+!)>|e%HM5^hE=&w)yl<_OheUy;YgEI?1Y@{%i^p^_^n=)@PY73l8 zQ(U`1oO=(nJrJYjkn@wDbv-2IO?Jk><@98F=y^kKSogxqGKzP*bXI|6E?bfXA`3X5Y|e#ny5B{U2YaU-dw#G+wBU=1L^LT9LJ07^uy#Otz9P5LvcXKB%Xj$$(oC`u}LGdLjKJ1mq!)RiD#-+GlUG z>wY_rRf@(~rD#4@CA9g*Dn(?hQbZrC{>=ClV^s<1W0kS+09TkwdLOGkW7HNHs}z^P zK_&6A>Pxjf*JEzBA+2bPRf=}27?80lp=DkDiqJ_8s~FoHs)%u=887hGcGClJ$@?`Q{xB z5*I{!k&7k|IpqGOMzmlKMIz!9$qL`y2Q0>Uz@A~t-G8Q(vyM%t_*p|FI}Bv zw8*>)b#z;MrT*09TLqL8@}Xl{%xd0$xUnG=!{l3QRukW7TUkTZmx?zd_Gauz;^i)#v5l=BtJK^py_1DU(ZNTY!fOf& zMc?up?Jzrg=j$Bj^#zWPKMF(sqLOt5247ukiW@KzMRT@MI9{%%#2G3o^EiXt+Rkx{uHTriIU3(xqb?Bh(zn8s1Ag+5Px@|hp4yBit7dp!rp-Zmd&x_kVHt5AuNwka_VwQv*leWt>!`xSCJr8!n0 zam-1PI1iMO{0N{D=6s^U;5}JNnH;pa>IBWAuJA&8X1#1`;&8#3w_%j%sfN{QnzWx( z9i(-e(yt)>E!Dn~h2j?JQT0-cQrP6Yc%K;OI%vG~1&@*k5Hg;%A5AKMY!2mj9ug8s z%AdrPNGT7Ne!yeQc+6otxwNaP^CJ0+5Zp@P*SPFbH3(Uw_NE`OGx0g60 z-g1J`4;v8~`hthAk`fyw^aAxNNA;IG4K>~Hf%tkef%U^*?o2Yyk&D+H@a?or+vGs+ za0APOeYzfPzs@B7fyO|?D8$bD5C63%VV+2^+ zX96y5MW5y%t=YQlkgpG4ts)e0)H&Rv1;z`Nn`4pK&5$f9Ey)6r-9uxp%1kx#)KW~g zIt~zdGOsKgd9N~&@Y$chFi?;OGYkxWQu`6yXmzSN>s!$k9`zH&!vq=6eZ8a&471)( z811)Y>Yb~ziWG-9Q@Va~G~vwQd)dUv;}G!e-Z6Q|>%d=7<{0R>?(%JXRMS6o+FdT6 zS>l$fR0MSr#Hy0uvPAl5B+OhT6TeQ;q}8CV&FyQ-2QgND$|aWvlN|5+fT`_)?n+C) zJ)lcyuKLBN-fz&wSkU>otY*dHptka0^vhU243w08<@xJIc>qlF93|n)&Sa_T%x4(U zYP#KBCZGKEp8T{El!x5!->v%1NuvDy*b>_N{n5I9hjB=;=(qBqL{7gA%llnYJ|~&| zx4qx}&DpEV=u}@O$5mz!3OR1dbonGi&{5^e)scG5r}hgG&FzMS2t(B$<$l(r$@0A} zNfBMIN@3V3w1om$%I7nMifJblNEK_uv1SV_*HlUQkwUftrjq}#z~If64@!(F30@+X zhjlw?#vqou79^_l_ECW$4!39rx+{j7a;D%3KDn&47|WCva5>8kOAk%PF-rwD_ad(M zh59lrJ&{v!gR|otYRI$G!(_lD`|^+%Wq+gM`s?+@2W_+dn^M(CbG%YPF-nCAhE5xm zrgXOCLOY%PYqRQt1LY~kh=H<=xM)otZ1Di2uPY%2%Ise?0o(}^DDJt78h$nhWH@9N-@KH~eO+*67gK)J zS(M-Q)c3?MOL$I?gwJz~`wI+T#Fo8yKw$8M|Fm8Vz{?y(nbMp+t{V7~V-j8!*xcb2 zoGVNHy=9eNJ042%uuk5?F^NuERdeNFa74voF|JsCC9q++XOxtgKIqI^qb%Xmxkb92 z$}w9}V-ABX>Frs+hme#pN*?kO{G3YC`BU68?jAoh&IY=@f3&$+Q7dUi0wv8p0daM{ zlJ3oRYox4Z5~Xvc)4|o5NuFMbSlh)=2T}ZM9iOEG^T@?@_zR2_O6gfn>A6B_jZnJW zC_T`5PmfwF$ZZ12hlMZ8JRjC;A4-C^6{5MtOYxs4FuD5$Or@gR1tzOnhDs$-S%OUp zh8#0;L85X5-;y0ri927Co-tD?Ax0f}Shv&nWzGA-Or=grC{+ZO0DLt$@pU4MJlH*82=hQq7rH0O>p}-cIEFcqFRxO3 z;z#kBC^EixrsP5J(3$&UXFB)DU+xpZvo4{WZBx2ZdA@VnT~NU#N-nfZ>`?dIaZu`y zm72^8VBTI)J0OKu^OYne9C=tL7sHw0hbratj=8n;dX-HAqx4wzGr&z%^g_p*2pBr9 zcSa!v6}F63sJNocbw-$BQYlwO(QPA-RB9+8bdivqwO8vKU1TajnXoIp;!888H4PQA zRa*2rlSWLoH?bqW7$4o|GTfV(ynHcgyU($P3#>x4iZbsOGTxeK-n&Y2n#ouCYMa?? z|A)Od574`+4*uDfB6c`Cllf0doh6>CWNF=y!APU-F8jedJ7{hBp` z{3z9lmzvQn4@=+J>%tpjM4+94cvq~_b9tE%s+Reb{GmywgeyAN>}f}n7n{o@KZg=h z7Qg+XWU!|}oU(}gD0{`PH{_Rh+VUe!ob<_yOrWDT)UDGfjh54x6anz;8ZW z@^LMPG3!!wh?rz|s@mVz70YB=l{?dVq6yWQCfQfvS%qb`Q9CW@3D^oVhNG5hck%H6?j@;`ot@<9V@p5XYsvCS)sE zRz9-p+{^gl$9?G({U`4=E8FXw?)8c7$11j0#OA`511E}}17b|jO9bjMrII!}y%90v zWS?H4^--mnPMiA1fK~Z`{f&cltEt68(6?VnS5NoeCqK%EYyR5Q&au{As{6KjDK^(^ z6_u*DqOx6uNetC%wl#TRFw19^d|eI5yxMO{{ZVmw=}qY~t%v?sO*H9aVdpK*@fD2# zQ8ecG0j+Q${ZPAC@QWOrd3*u)m8`;KNtnkMEi9KS1W8Pp0udb5wC-<6M6quD40ntC zu-$07-SrVKDoNk;oS7e5D8D1jjhL z!oc+yR;ePh!@|mn}BjhSizj%MUq=Fu#qNrv4Gq_D7MikZz{fJ(xQbqjE=VW^Q_#?{6#h zXE}BGAuseBb^RmM?TO$chukH=pNz?qmyI1wvEeML(1!Rcwv0` zan$ZvVht6)p>v%j!hUpON?s7i3E>h?W=atfXMHEGNC^@CzC ztjv`bOF*T?GKpw8NNI)C$-|^6z7&J49mQblvtW1(DhyLPh4I4RQlt6~nV7sJ?<$u# zPdvzuiqCr>iqG2_@K|p6amy*Bbj3NvaXf7$oL36ZSIcKoEYM95f=rQkX-gTMC+$SK znbIE%%G9c;7I@g5I8-#sWl?13HFJ~(@@X{sJdIEv1EM$uW}(0z|K z^Dql4_)Yol*CnASCE`^nQIsMD9cz@fcK6@jo}aows^ZD_HTbClj$c+}#&Kv^B7co& zEPs`YyC$KP0C-W4T=I1)!?>(ssD|n()m~1JQtHsdfUxmQGDjN{NziUOJ zFbQ5%N3eZy~~;sDa8*#gBQ65@}p>QNs|U)_gAsdK(TymG%VMkrtC3%QPiMwf&5qV8YzEV z0~Y!wyz#jtS9;yMa9lm-T^iSm_d6S#fXyP*4S=xhOa+Mf&WEwBPl#C_l>M z$=9nA17@wAeWW#|8Aa!*Jw^9}J1s@;xg*eif5bV)aac$ZJ_)CEiO@Zj3-es%k}6>R z7@@kO7@HhpOT|NzS+!#89M4!Auj1$*Y;vchp5&ycU631YG!>Hpua3<{8=^$fvxRmD zI#FTRH@)now3d?CqsaNG z=a9of2}*0}BSJvy?LKO)lL6Ew+;y!z=V@(U)VLZd#!5@R?QOhp73RI8xTrf zt`f4-T(I1lHDxx}2!fX> z3X-W_C?G{<5{tHHooJV>z;>Q|s&;KTJTN<7bH#}&D4S=pCs_J+=RG2_evi)f29-kw zXGTb=ZD^HvyfryDHY(Mq`Mh*eDs25JQ!)Zn?pEtiC4L`Fb!A&a!cU^5si4|S|E!~6UKEUXWeka2tL(y4UDLQ))0ewK(DF<5T%|(s}x*YPu zUbjWfPpBOAK$=}t=Azxbrt%37CB&>o2~jy^i}$ZgA<3Zn+J%c>1G7ECF7Iazm}N;> zn3i*YxftBss}Q(X2>}t@Oa33~<2~~Q`iHn{<%eZ>I4x0&;o6eUnpW1j zlV&zjLR9gU5XbDW!Qp25o+^9F>{wsXc*R%InEC{?!aQftPVlzkGAmVFD#P@y2MqPL z;+*3+REh&m&?J*3vlfxOR-txd!Jr(%&^Rbaw1UE!#uA< z@VpWMqIiC>=ep&?z4?J7olD?~hk7W;kE7Nzmq71FnND)RyY-a0aL~DiW^6~7W3szni`h!wgCCVsI=JN17-l!C(f20TFOvj+RHewtiB+`;td9V?vJT9s* zyuhn4_*`Mwy(!vw&Q%x;uQ2S*;F_aN)?V|`T>MgRGU&93Rcj{1q|e5K9k059Jytuh$G~ZALYT5|K*k))}0lV?P^<1-Lo#5{of8vNUO}=Pj2FGi zD+J0bJBR31-V#-#&haBR)2Pj8AU{g?`6E}mI*BvP21*C9m5!e#yR*RtHRRDLNZw|U zO<5I=T-Nl6^c` zej`i{5fbvlb~k&&Rv})Oi?3-DgS6app{ zL?09T#N0-kcFeh8@}sD0IQ6%5Hn#gdiX*$DW4p_4pjw}DzgnL$zDQV2Ji~HMjmcJp z8uQ4(INkj^)7vH|wiR}2Q{ql-N>3fYt~|7;7GjdF7OEqtlCVsT)j$ZS2J)NE7TwgV zxVDjEooZ}ZJy!ItVL71>UapasmgUuJc_+I}Oyp)54>FHW?2wmt<+BU2=_>P6dCGe( z?Je8a6ds+P*?zP>#t1nS3ySJ~9iL zYzSc{wv+et#ZqHCz~pux!Wg%1^|O z=|ksOSs$A<6%aD`Zsle2{L2$~SoI=7ZC$54AI;fQizW4P@Q}+Z??FvZWufgG5}67L z_S3b`HSj?L(O2<#0G#-ij{@WvkTke(Oz4NWMC9mv0S)#>W%gE2r+9T(Zz>Y3245tH@%W86Lm4)KEQPyvE*mmlw*X_zaF_wH*^PvvZUEpYq7rp+8T1mYOel zaaP}nhfL}5^aFiFTT=qj?_q9_JLQa=zALp>?vKe=t9XbW!Xuk5J6S9(V~&kDILAMU zz*Ft=lH2jQPmP~_w&_dv+&y{n$hjlC=T@ITHn+Vk7LbpgJh>&F9&bHGoTrbcpL?{B zmoHCXiWxb2d+x0(wyzjDd*r029h>d0gV(4~TQxFj1bdS5$_$#=_B_XbE0UZ&l1M+{ z#MKfz^1r9a|37in$jS15C!KiWbx(U*584wfIqne9^y}p7R#mJtkJW#A!qH@l@=>Uw zh8QBe!1n~zC#!ay4u_-0C%?a!h#i}Tm)Vh%xtSVu0y!s15SzWq%#r?OQkU0SS5gUB2B_netfc?`6_A&wQ1d&+C}4 z?w=-oU$+I&@(umXVSaW%sthfaJ)(oXO4L51eT3ArmT&k2C@&St@t=uU#WV8i$?k6Ou>ilOW zQ9tFdzMLmjMAiU`$RZ^m7V{^cV}8Y8p`jRFjx$zX?o^m84)p_EWE#1P6eer!Rbexl zxkw>!k#b5!(6k~M>Ye>lPj~;k+5ICw?A{{Lu-}q&gP>1-Walq@4;Q}fW&uJ(U&*>E;6R;)=#3BVeNQQSNC8N3y zaWlT%rIa65f`{QzE@e{%zq@o)KaiE_5J5_Z4y<&%13y&h=n<$KcT!olLX4uY{#F!9 zxdfD1UOCUeWgM%k!!}aZutu33ZS9SNlNR%0QWO(yO z>GA4=(qnUkYTX%1ujh@9UeX~oA1ClhT_s4BRSDu*YSiZhg1-`pbl<9~A%v=llEBkS zg7i{INbJ-cXf7gqbJoZUmu4Z46D5Hkl>=#oSUSP1m^f6;gps*yXx8Dm&xt9y`ZE3$ z51Dtl!{mpRpkTFDS=HlXLuE9^krEj^ly|j8 zmDz$Jkar`M3isBOia#2$Gn-BpBJwb`o34gtZbJmLis@dHriia^+P3S2xt3C5w@CT= zoy}>Z6i!Ta_nY3aLq@eqg4K@aC&Ck+`L`xb`JHIkWuyn4=$n^ji4P`Sihs7VI8X3N z6gL@uOvfPt73TuS*;wP019wG`F=xaXB(=fil{G!2lyLSB`*(CE^Rjg&g`hJj6(ANF zRZA_ZbkXKPb(aT~{IJK_VfPHxeepr1RM-zvD!w1|duG9{og2*7^u-#|Q_BBmkffC1 z0ToU^C?$-kJQ>LG+KY@*2&hi-bmq>krs8-ICL9ZwOcY>*5zb~c;MMqjiXOuvrH}!ioWNF1Attbvr5OB<+HCg6r z7{R16BPaw$P$E9xOLMEH%kX)?=pHQJRMeVzncxy=ce^FzhaJs9tUFDWdOi9O`C}TW z6pOyESjQw~49i_wQ}#0=Z#T-ljD34);GCn{@hw`(v-@+KChQ4KGUSI`9r{$(){8ecTijf2}ODR5=1;arI%0!m>_&*m#V12`6*Q3y(i>aQR_# zmL~AdxbRF2KH?bi!@e}oi1F-#@u!XmtK}>WT zIcgG~=eft3$dAJ0Z=H!Y!z4EkVxrr~k%|7n;^$*9p|{JAqt^QZoV9h?;I8p*z|fN)mUp@M*hkmVCO!kz%AEPrYSH7l9Kg2*s8RgQYLToAqlVYVxM=ThAT1#Qr z!%!He6$HnTZc=R~B64#vX{-G;$s^xrn#i{QDkUsE3&X5M&%$_7Xr+jTd_|Q*vBcRRuWuS;)B!YnH%Z=cJ?!Zwiv_;O`p56K^*VVte#hy1iGbC}>SH zJSfCxz+^jCD&5uAR7ano<_#eU{Ug^)WlR1o7mV1NI!>tDpM{J4StP}sr<-vOXx!{N zNuMN=sL*5L@^9IR(VZ^+6QuM{iy@Wv&BQuJi+lY?7%lz;E&bCXXm$6M^F-9QBD`kZ)>Ia;Lq3$HMvq3;v?H^V;ywu9~#B|1XXIpGCjx< zx2G`T&rsAq51`oHSNH#WqPctI_UYEl_SR_LS=L#d1ifmozYvxIL$-8}T7RrXIQ;lC z{PfQ?zs3mfE}fY1b()htKxoLd0-0*%VB$}Z)j!o_vthdT3#3+;ucTCcw7c|t`EK3@ zUl^(?2MTei-pC&3QR`QkD#SE@hNu3y=Gmx9`*7KrzMmj2N%AiddPiDk;7`!fKUK7b z6<_@@t*kC(r`sqj6{5?80t3ZunmPuRGai&r;wrLis>#30l;Am*cY20_Je2uc<%)}= z!S$K!^Lr9{=T`ZH4LS-h^G}8My$XX*8M~tB+o(wz&DRRx;xcL#U3Frw?N}3$XfNGl zs5Or4+&Kc&D)7?sZ!|qb@_MsBI#YGXugcpJwWKD zMRmkuiUFRVj5fT6bKptpcNtygGrd>U8b5leUw`bo*52T@&fP*eIs9-@NanQb4;R7M zo@cWDiR8KVVGTg{6Ck4E;|k5nA?03nA-6oNxS7~l&E zkv6HNFlKil%OWXvu1+~`q^xA|qJ(@8?dzsWy{-)|g1PJ`Dh_KI#50_<-l?ei)`*EG zrj4?D;pKD2(i)`#ptNZ$rY%C+}R^^=i*R!NU2YG z_*(8KiHAuLThZAhunZC<1bdO{9_H#!j>!f`RQbrH@{yvlAHev9tK9jq{Icc5eby7g z^eG6h5=lvxzsh>{wxXx8H9ezPUq&f0xU}2dUy=KjIZP+=&JM%cm4CylREDxGtLf)IMEd^u&TbH4sZdwU|ZqkXNDY+s&! zUD+NDqR9&-N|cw3sGR;`QlUN80K_Xq1jp;M{40aZN9?{?4s6T8>6z8C&9?id=^5^% zXYpmzR5?*z2t=~Z8w==`1bR&c+G@|p&||i6v9A>fEN`|TK%%8+C49`@V*#H8j4l1s zP%ko#YPZrz554#xb?f_+0q+(mvN5}dj%}Zt*F$qz<<0Fs6G6U`0^}>ghHZ9o!8?`B zSo?{=L&JS_zvKp}$r&r5YO@(E_<`iB?tx?TbJN=;35vZf>LNIsq}b^F*=xaRXHL)T zTMsDsX%65UkA@41s zm`@`Rx6q2Q+FvC8X~$=%@3+*FTb`98e5fTmcL~pAov$WpUrnyTI-hi7a!zv{=lQ1JFB2RqFufs^Q&5C<^Z#R!Gw1!zo^a5>0!7|oQb8Uk4Dgttc*luE&l3n@ z)s&AAxC>?02n6o>k+EGae>8V_n9P;9kqXvFgvPmQUW6GLXeA+yA08t5lLU1+-1r~2;2pY zOOm_($K3^bZ2TSE_02@;o55WVaASn&T7+|V-M<*)w{RB}aTlE3T}M0T;I0Vg?iz8p z;I0Vg?s{mEu()f#T_6A8R7)!A+P6T%S%^XDoW5mf?utnG!sIMdJwo6QXy9=A)^cOL zT>faz^2Xo6S>H;ez7?ExVlqV@wjz)ZTdT7j;;^;EEC2$-7E~XU^h*d$Zf*Ko|5y)E zHdP?X#GF@O&P}3rj@~{(9ik9P0$$AQu*(%n<9Aq9K~$b;RHFW%$yQh31AO1o(r$!vXJ3;Q zND&c%&Zs10trO*^6|b2M+^<03H8eakdF>KoV(76kc&&M@v)4BH0=lhkzLN-lM+h%T zgvXR{y}D_b{K+1WSpXVrV?e`e78A)*-Gi!|xIU+gC=_+kcxN$MfByu5Y63ibXTcEM zM3JO#Etn>@^q?IpLBY2chOP+rmSd)Frtc=??+WtLWTu(LnW?iw;F6^v!;T7M4iz#4 z>Md@m{bti^U}n__>m%4xiivV^=o`*KWT1kHZ#x;Hn<|pVnB)M{#!N*!rh)?PA)xN- zZ1{VL)c1sxuUwv+G|odn1o9m4oUCdb0#YIbfesHC|p$tnd* zulK$lgHC85SSFcenj}$#&@~=v2G0ZZtTFF zBpl_5?%}p2ydqL3ju$ZJB144oJV59pQlRrqLejubgCf}KK%`q8)JSN|f6>W$~5Qs^r zdQ2vS1!59RViHV`$@gVe%`piMF$s>xq~W+hBUO({lgDEc2uunMkIA zyZa!Wt6#&iF+_s;qQTNBwKUg5((mhk-oTbOG#3@dI^*I(p_D8kXA(>>s7PSoy;gS_ zhoMI&c23E2MzeQZcgOs;)vx&2o^lpJ{%Mabw0UuqD9qNPMk_)EAZRFS5{?k%d;e z{vtLl_nVlNUgOtiC8HUY2MZOSSss@S^O`hFzrOe5y?q;Ic{8}3KF6t)IcWi91`|T% zG^O0MLlySQlG}(Pq&p_j;8I$l!GxSv=RhkR>J&5bzJcBkWy30MbA!S7iA*d?3xxY7w1aY!75?v>mAOkMOsg(#!B$6AJO4sWP=NoFg6Bl;N z!FXK4SeqnC80AJ>k-!bb)E~7k5ES~6IoSdYl7y1C4-KV{rXN<%Wqlhx{-+kt3oCLU|(P8cb+7_``($B z*BoZ%da1Av2bB{lDiTF3Je>uN)J1v(RF*x5IjVTS_`DaNr=viQd8iWezMO?>+sth& z*&_2su`7og*39o*GdnB8OR?9jr7w2(m&dwXE5aWZY=%RHi7MWi3bx@b19_Glu07Ca z3bdqy@TNrb$uIw63*7!Tar;~0#wY-{c~htvxofLS8$-Y*r-O~GnBx}1F3w+OkHA$I z)RixjPB59m6--Wrxnvw`1cDRoMY0Hir5u7(IBVQr-q>%RnZGQo{5eSsu9w4ZH(dHn zInvW`ma4no?9K8*lz(JNX`Pm6k+6v7=Nql9-GlN4pwXQz{|;J(LO~4mpIg{x<8}5g zXGAgfrHKtUxeJbV+n&pJdU-4+B>jV(lz`H8iPFv_@Eyk8BI3%>SlCn-@45#~&(F!X z4fD0$`YzdXbC-eHO^M#EiP@_nvx(4Hn8^*Y%1TcaR6@X<N6PD}`mow6ebRJF-Yaa)%6ATUQ*?Vv zo|YWvbv%||2>4wU(38&X(s%rmELGCUZ#QebkHrT>*h(x! z$T^XPZ!~_}Y(ObtF3*x1BDs6eO*8UMd0t2$6L`X*c!u}Act!~QJezf8aYrX)V30We z0upnJfRruN`Jqrry%>0T=tJST5m(^#R(mz8wPF!yI&n|1fc_;3-$- zlnsrA4aSR_K2};W?av~rn}J3G$1EE<0p=%!Q5&ETJwu*_bHmXIewZlyP$>Aq;D1zx z0iB>TRTh#UbIciJj?tjN-ga=UUWo)xfpdJq!SV&iGeo3%QqtT+vMv)vrhRcrcbC|l z^u`JMY7NT&C@KFVk)LrJ8!uJ)2PiKe+RRT6DK^`%VEbr%Skb;=78%D8cyqxCY?keW z#{CUjzUL`YdVh$3sEfgjjT;OI7ld8>qJ|kPs_DD@HfbJ~D!WUQ!Dd>M+BvbHQGSD99COm*g zcyAspc0_cC#tL-QV;y>*33*-HEgm7y5J+6J!XWFgK2-jg5(+qHCRxs}aNJ9gDiw>M zz0I@$aPv@~D7G~>(oSbbUD`|BH|E&}<8_a)N8#m+?&{wK*hXnmI3 z=P-X)U+x~x@0QCld60={RDDqEj0KDZ&gr5Ftj?=&+*pz7nq-U9jA|_@jl~c{y`R_7=t0Q zD-pS|BEm2dS;AQAiUU|0@F1^#HEl8gmBWkldT@)MIXH*Uz; zK3OC3p>bZK!4SfF^|`K>ylTl-V^qpvFHJUhPF9Mor+Sk64pa-pqwW#nD!;JJ70UTt zQ+bY#Ae)mQEXNV##YWtuTpt>-zHz3nL>(wZ6}zQ3ofX2p*A@uEFNHy|Z1BWCh%mta zgIJb1NfSJeAU#=je0JN*1{S|RPl!KHVbX}mvkIgBUF!9}NGQJ$6t+$aO4Dmtdvcaz z(8A##g%q>4e-u)z{4m7p-G(%xlQ$MVwbwMY2CsE45eg~d{z+(%+y6-zFw=&?8=V1- zF!090fGQk4o1RFk&pEAU`vC2I9|)gwcAR)`<8P6i_SwB{EU&bGDdLdqeksh@n?Tq* zjaikDA{>!GLVCNwk&tY=H3D&*i_H2~m%O*JNIq<8(b;J$OUA^1PO|>9$V!Aj{=G_m zz?!1-EkmY*gUk*F$ixH++}*1{1Y#OpIM~n-C7`|NP`z!WrB->tN0|X9n|ZQ#vGR91?->;pR&ERd+rkZV@BwFRcknhZEQEzVsDTnlWLG! zw!2aOJ6(rdIb`q;3-^B&3$c;)uVNwgo(YA|tA%{3Qd>LUDT7Ib^RD`h1jh%DFkt*w#qBQw{R<}B>gxqJ1=b$prFthxdkfT5Un}~C`kRvnw z#LcobKOH6Q1B&A__TqTzzzTwSC zF8<($Jw^h{gH&?Tcs>yl=A_xSUZFQCJb0;85R5>%pHitmKhP;Pdc)!ccEw^CD_ALn zdno(Sn!}CqpoLrFk@b`1h4EnS4v&Wzeq6eJi^K0aTQZ)s@Dsl1=d~Bjvsur{^xbG4>uzWKbUYO<~lhfb1}uG?Xfl=8Ogf zI>BQqA0J6jwcX2xRq2o^Q^F6@i34jLX~%(&G|qIVMQkf}K9FZP8{Ud5!vfKwmV-o42_SRHZVRc zfUubHaouZK)+gQ1GykQ{C?iCCs=xph19)zBJM9y}LKsWC=EAC-<3(SV?lr%S|M5tu z^e?pnaHvpbd}vd1D>x}IEAE_w!4al} znJFqsd-3;BGljj+dy<*%5g86i96AkVDhh;E3dr)M`}H8Raf$-dMQK}RMIhn<9gKtN z5G9~}kvhzjmDb0S4j&6T%)1VK2NS+pmL9h<@h+Mrv#|bxBtZ;G;t#h!RY}^Jv4%rx zzV>r;D)^w2ZVP%3ZO_HG1lm{l<3d#m=s%B!j4})>6V?h?-{>SJZ22Mqjac1mVpfkf zqdi!Cp)s}?EG#TOA;NGL@e{(&CpgbBrEKolS;TS-BCL8LLcI}SZMBhUIz3Ku5rpA;?x9L{;E(UEo2$`BA?w-O{)6Cio9AR!ed!5+ZVw}JQl zaD(^iRuqF`Bg($m#8_U*NMq5p3^i&H(lk5(3O*c`=#y3?$xn-vQ24Y^@Fe+Km0?h# z51YOqlk!0J#m^hE9h=Pv4#z^k!7M0kIG*w%RoC1^vcQcZ_b9zk;0~W0uK%paMhJga zWb@;+|9b&_z+pWM4s%0d$#7hsNR^o(8sDi@edROoWukE43n~oz@S)mKsL(Sa4_b+q zx0~emeP*`)FNGIb{V#?K3$vhY5S_~qZe_$tM5z~3@L!ZaGfxuL#H|ZQ(OnjS!w;L&nd&Kq%y0}c zhqFQEJUD86JBPx3*iZUgQucE~hzSqoOz(Sa?L4zEjBu21vFr~5!!l%q?F*17(?guh z7LW>jIQ0NL<3I2W;Q_vcV$<|C3~SKfToN?cv?rX?t14SN-C7}sV@D3f(|anZpk8lB z^ll<`US89>F!A&*#1j+p9P@G!I-qwo=(gRUimQ6xu2f!PUix!RVh) z@ShiWPtPed3jC{!@Lx#qUl4eo^7g^Mw!nWe!GBTUz1r6YuiHbm6?Jcd=Y24rNACLqy@?BYc$O zq!fszgqbNSNqaC8+Y-G6*)Xk2mSX(<4-uD{^?!)C6i0~m^Gw-=%2M5fc1_3ys&q~* zA3yvrp-7tlFQMqsd11Ew0>=+QrfY)iqw{(b=eIh32tBL}J-oq8bF27|4= z_|o3mIk9*x!ud(M%Z*+=Sqvryhm&;3;B#ohaZg98ltIbNNoyNQ0C2NV-XvJerWOjc zyUl4YUL2N?x(Bv)?Vh`t!`+-nq2v5_BJ|%PD`_1@Psq+2I(PA}o+u68W`G8x8uNth zZu4c-bxbLEIh=3fr3Y5TmOU><2OJiu(DvTt&&v!rF4IG({`h&f96{||ETWO!k&6ix zJp72$l*(UKeY*RNPjBb!YK8dNgm{rCP7pOA?mN3(uC&*9mn6K)D?DE-AQDIN5Qzm7 zCY>~sn!Idadn3`~HnCQ>@)d$wJZhm6Jx+TGokho812+gcv7C56^dT!=fR= z`4Pw~|(h9}&hf3XNpxEZ|9FQeF( z)OIQo1c`r>%<&tc=xeBC*8*Q=+#B}T(-8P!2E^Ze7-i1AVNb`9AC_SXhDu$pRfZkT z+OQY2*gldUHj%&r>G7E5*37nMZZ52t=cORBW`;icjm4nn=86R>4AZ?;v4@p8lU7%bk^k0D352n`EJ!x&jR9mj%#X6o2+@k!F}o2&Yd%@onv#;a-7IUhYkC}P{tX46o&6mip*R0=pMis)wR>RcIUm+ z?%p@>)?n$;P4lM^Q_6!4QRTtT30}S1q?TJ3JM-lZ6DNZ{ItBP28>pm_STBAz-&@jg z$IxVTZXEnhOhPMi=7{%7ks+>jM5bJb_UD;j@KP^38BdJeDHT=wW*R+^;FY%p0{ zCLaXsdyV^53mCXpo-H*`_cMx#UfrliR z%smYMQWuPA3?24fV-pWNl#FFKmpjhYHBLG3Py~^lZ%DFZz>lNWQ%s~^TNvx0Xb?Hj zfe2maDe1yocrBpwT?;SN*w0g({3wNmZ}h8ChE2oaJc;7?hGW8E2c?N;`UEUI_lKt} z3Hed3NqxJYXE2@O$U4Vx;E9zI&VuRT0C}55HuWd;fHoo=;3CM6GWP#SMX1-b3nTy~ zB>OW^JW7sl+o=2t(`9StPvl4H$TcJ%yCIVQ!61A3e=?TLQA|=9XpI3KDWDDO|H_Yk zppu=PB>UIQFZBOjc8_r^PWCa&Ff8x?HD$k>WSV&YueJ4FXa=^ZRS2R$ z@kG(#)@1Z)e`%KXLXFWJ_f^&o7u%pDu%7kN?xF$`JsQpX(CHfBv?&vj~tMV_eqHP4c1 zN?^*A36U5r4dpEZh14WRg3OR5K@MATx+BOKOK>SPxU*6zM?n`f7wjW(tk*w?$K8*q>LG8ik< zAX`1Mn@z_&q!>F?=_>`Pgp}n-6*UJP5G8PPXGn8rrtO(fnYMEl_#+a!oD|E=4aZr- zl&o0og{A)SE}_AvdEO<_f0zgYhqc)ZD?_}8okx%kPe>G915$&Na!m#_&Pc$Ebva63 zn*7rVHJJ!UA1LH~O&O)80)ygfjM74rhIj_--69Yr^mmIuOB16_N`}cou~$$X6b?0j z!u|`g8H!ahB1zhdWJ5DjICJryB-DF?P>;_-HB1fSMSGAD4`j+&nD~ii7^1qU6!!SQ zp_~N{BV@txC1|9|0EyBjk|`ZUradU#ySlt@2XfcnC9+W&zDs1|%mqEEy?{R8$bwXH z{5-DVxIU38n@ecCL#g@>&SK77K;{04k8eE~70CjXzm*`*<35{dPe*c>-b%CV8M7Kq2UdovsRdSML)xPZ;?O0Ny&N04P9uE>n*sPU3) z+xt*{e1B5*{UQbRHq7}-BUGJPh;U4CunCUtq+Kk83Iy)4;xp&OI1YS zeM2fSDY4ct#&}kz{0j{!btnxcDMZj4U7>JhA;MAWMDah&3N3u`HJ(|37H1aF^P0r- zZAQxk;>?0K7DgnBD8{vwiF~vJf^Ya%D8YY7;Mu$@@NN+gejpww z5Oh%MIW{19&+_)tHy6F15Y8-oSmdFfeptA1W`Q97hzC@-<{shP?jNoKO57cRmM76a z=#kRfSmgF;p&r*KY?uO7lRus;zAIIQ4(lE^Do;m_%B9OuF7MClI~>D4Y-?xQ?+H0M zeSVl8^%CJF*OTPmw&8_XA2*pkOCYWkQFU#LI+^PmaIZAWwv22d7sa+K~r3-rgsV zcHroM^u=o&@Nyx*nDufYz!pF+1KME_+xr-3MEeJb??@PT2t{HVihUScxt8u2uSgiL zNXBTy&=by%@%stm_lIF{h0+vC`NhRUcl@bC%~DR2XI}{D}d9Z z5ZbFO1W*MNT) zVxe2Joh0aOLgn?sgJ^!e@F4%t9hNJVdhXjW*OO25SdW1Qazcaj%((nulVoe>opQ9V z0gjhinNK{>;8Lll+VJh}KRz)#wvFcz2R+FFXKru6nUe!>KH4anYOD*rv9QB@QE1Nt zrnpUAqG4z!Sk1g)?ST&n8(08TVz{BoFrcuPCX6`a4->gR6mlLl$C)}M^`!};!^@Rd z!7B?FgHJ`hilS$Ml}fR8ZzeAj7WqcwlUp-$vZXUNJD-jNG58@JD;>DeeF>G5i~BN( zPM89Nb9}-%wZidbV5G__0Xv(7=7(q#+J~CB$dJ}DSm_PPs&5dv4@?{$(_n*!5buN~ z5oDPCL&j&@=bQS~5$p(u$uZM;#Y}?^CiNYWtcMPJVK66an2^R0hQb?xf2lI5l67}q zIhHgvT}lez@eDS2thEN>O^$7AP1bmqBs{9L1+SH#1F0^UG#sUZH%F7;eM&{6mbvdJ z6^K&&RYZa#IARPpojM+|tUUU9?^&t)z%c%vaXP^XJ}J z97+BF)x+UQf=b+4R9W28PHF&~_7b;cWb5w7`?M4Co|cSmWw`1dG~U`VCQq!6rsr#q zuqS7huYaQuC8fPlh#oI@kY)7ZfqDK6Fa2}Ht04`QJ`%2Gz9~_7lMp8Jpv_J-gyf0J z%HilVNEA6iI;27}6GWo47ZVH>E3I(px_^|!`Xk}sU3bdG3MKW@b({A4LMMhGUW1?y zRX3T#KU1mMbQTa~X8$1P;-4YgKp3gB-XWak4Pa|`|Ec+@33=l(?J=otE(-HV!fV!m z^TtO7ICH6_p?J`qaU{V7Srq>X` zh}g)8(5oT~S~1G)W|XG7Q}KI_>im=sr0Cl)Vs1dS=Vi$m@hP7ON7b!&QV||+RVo9fFrEFSHBC7|W{m=}7fau1A`EmIIE<~}948D32*Yuw zMXJn%ib&QgqsTr}GR1xF_}jVeZ6X=-y|;;EOrVkMZq;UC*Bv-5lRACByNv44W61|S zQc$6X`yw}5(ejVYb`pGxE#T$;_;z82AKxy_*g~Ql{0SqswG-Zuif|O>=(itVz-8d@ zt~IoYw1VRF!IZlsS@<2qPss*6shDN()!jAEYSeNV6qb z32j)qr%B6?vNZp;`8QzX!NV{()2A3d+#5zZ*KaVAnGJ>wcNFE&}x58 zdgM1YTKajhNVi8X;OX+(s=Ztj|G)XXX=p8fD+=979nwaThX@a5q7M-RP)g-I$u%<2ZxQUg5$v!sd8YjNERVn zb`m_9=%>b)^C?r~t^7T}sOCumN^JkQNyNj;yA|ND?}dnusc@PEI7cAp4_68Sy;%!7 z<1^?q(i1jmW6zT&)qHjRo_TEuf%6gpj-C|)(hVYY8tF;tJ7;$32LSpB>^XZ#46al5 z47bH6|59G>1%*vFP&jp4P%IuJN!p29`{ZBfb%k>HD%(SoEgmYAnXW^5pTm=(Xhc$P zEM)8MaG1bJcc|d3H-vqfrM#FsEzb;3^LGBw9U6^BFJzAhaW0LFh=k0hkZ_qvShid~ zjIAODV-*!4Jda)k&xxs;C%Etgx8}KEoxHnjOg^_JYo(joa$2m6VwgaV_o*73@I{RS)!0>E z=q{O@*x8I=uiPy_X7?8xtQ&$nfH&&E8+Gn8Z;;^)a?QIXk`TD2M)M=A18;)# z)uJ2LL!FR3A0c9pS{@-{uplSzoNmFowS8F1>=DS<2dA2m(+fcZUTfDVx6uI_tP5b| z6Dp&@cpW+Tj?Kv?hBdO}aa4SKqBSz>%)@lw9O|*M_Do~=@5$OIR-@`~Vjd&HQMNcn zgku?t71k<;v19@um}djwrM@+00y}u)FF!SnbKx04Az+&@5MtvDR+pGE_3|S)2^?$( z&Vwr)A3h>gFEf~UV%#V@jU@QT8B1&2FVUv47&pw6a1VJE0RSrDx!|g$srnMa;!#2w z-#$tx6Mu|MSD9>|Y1)vEu?sGV7F@y-Q(kMhC3Yi_pIAr?EHI-4eqdpxx-`U}L4OT@ggJFUdJOKdk`R#qx^T>2aNr@M5A5+9x2-P(Q!+jfIRp#;*~ilNO0 zHo2hPZGrk#>yeaxT({Y0`@kk4+Sg6;0{d zaCo)~TUTio7@;7;x*0NF;dp_Pkt@RwkPet^6XEE`gzxhVj>M{m?o}oyMkXyXnbuKe z+KbkH%4g9%^|++|aU!?()R(#Xzgtg*G(8p4-cw(xqzA>&gQYdu31oUE$lfzwXUP3A zG?)`H)Z2=Goq8FktrnD-5_MP52E#aLe zc%0HGc#A)U18+83;LX5ZXwPT|0u{15XQk%uc1v!SI}y@>0@$}^J)XNm|ui#WytrIcddARAq|ya@)2crbjwr4K`oqeLE@ zX9MHpq^4mkSkx@%I$^sa5h3vqN)PXMe~rMYEx2-wpdfhp(9oO9hrOo)n$mH&EOwSi zNA5XGm@)p4d(Jj9*5gmP1ud{P{(!T*!trz$se1IBX*#E>;=oe};lvSCn8w40frj8U zD$D>P4_YzP=_Wa+CGO)E?%BeN8SvS{i*UjY>#`l{&T`4d=@CCJDc`r)-kNxFYkcJR zk=?DC_So*(5x(6j8?{s8BXiTcC$`Uyw8zFrrlti{zob1P_y4v}@7g6bl3ZYdJv+9r z-&wJDlSTpA)5RDUn@N3F6%aZ*L;xuk3H3hA#`dWL(KS;z4w+wfm$|~Dv-7(+)I^qi zOrrG|Vd&c-n^mU9ELom`1d%}&L_bV!h?YMhVcHid-G35rD@D?A9Y#|jU8P8`m-MZ7ZH<<`zo06-_ zdbRv5Q|#_D)p|<)EGaaZ`azRL8T-4>Y@(U*+b>UZQBXNF1}eMs%w(U_gj&SOM8dNW zf^W~gL5CASyejfSqq9|mKJa@~;zxak?d%s6epbhd#8`P1p*$5tu}>F>qH%<9o17sK zOh}*Z0`Vqm5Xj+tTKd!`fgFf8Q;O3fJ9q2j1fs-*bruBnn4z7{WRVvV6X8i>!iWHc z9yKg69g-81d^}qY!+36bTq5^4AxC)$p08Hb$W24GkL1{!9Ni3WJ3@(*@K8EBY4-<- zl677n7^r~Y@L}O)`bSx4FRC@Z?o=NCkXgN1?mVG1b5LAMzh3^7TnYxa2Em{^ zAWOnvSX_K^Dle_bn!*PBHA2&mg1$?o@Vdu0W<2@o$ zC1&U|cN^8^f>uQHfHGx6cfca_8F&Cx{Fs6C7AXFv+c;c_tzm1O?xDHcOik-N-22Vi zL~m`f8+<>ZlCv6Y$i|)Uelo~(6_7dYfE)iZ8?&d^^;~&KU-HdUB4}Y`XmQvX6MjKy z)w3}G~t1QjK*H&bR%4kV7Hu*+d`@@+1=7zUk?^S93kkrk@vzD0J})MHJsb z__-_8m=wUkx?qrqiO+-~{D$uTbeER{xZgkb|wBuN>J$TxW`dZN6v7yTQOMU(i~6!9-k zx?e29kg^eGpZjU0W`Ou$u*d;}(qF(Zhendj#}I!{CCQlm)qLcmqn`*Xxu|J+)+6c4 z#P?Jo%Y5lzlQcdmD0112RpdKU;21KN8Jr9SE1P`+(pic4c@i03E7 z3oAr_Zz0O#H=&lOJXRO{l^CS=81H}94qBHOY!L>S+t4MHB5fLrsV!1yr*B~k+DoMP zZmGf1qevU?w$WQrZcZn${%)trH%sKoN9>QW-R!hUyH+2naG64lk`T5eBW7 zO5O`e8#pg5$?of$P0S?5rMo)nM7)i)276}t>lgM$ztn8 zI4|#QGNuC(I~bIM!Qc!TVVW?^u92kA3pXgqro>+Rg@F%z7V0pdbPI#472h)9Q{~#Z zX2Qj9>UP4o3VF8tAj{lZD;ngI$bnWm)>gCWzSTGpc6Gpc zbfQS%xZvo{ZWxY2UIb}VLb|F#N>VsQ8jBfwY<#se(rL{{)@h+kr$s^9OXTNHs|yms zk$&rNq2D&`{e-}~OfcEkyi7QF!ksW9EtfwUS#K<4>%AY!?d<(TxZbUY>y;_3bsZ z%f^9TYLD-uglAzk3I`S@8%0d^=rP2UiKzylo!$`JcWe7t`*R!HpO=a47v=xHw6XnV z`Ik-M6F!sBa$&eL$4T<~vhd-%$K+DQ=$w?DecR-Yw!U?7xv-^7bGeAMy4)7#&+M7$ zpDS)dN3c&?k%)@lrbJdo-ZzUz=El`#SQ&5&wC>BeRB<(oUOfXca@EF1s zNvJD?gD+;DpM~n%pev~_e@_yDFY;e6(pZw zB&4F`t>yLy@LZDzo;f@z#Nd6_8pU7^K_2;ECWeOhVrw}m0!jZ{gej?Ki!jC6?HmYWSz zatr+Bccjyw%hz9(l(|Y6;`D;yGwb{6_^X8?VRW@n#D}Qx;jDICw*1)EJC?-N`jvN0ZB zBeHQ9nsw_}oAe1~PjD#DfI~&1;J7}KD(iMM{<2c_V(#F**>dd+Dhz_~p?FcKFx`nf zytHwzNxon-ly4iXzgC#A2)$OA(4S%QJtadlG)-fJB|s)qfs71T;>RXK{rE%JaR!G1 z3pmt=0*+0{BT>>{k;sA}O6(<$r1)=<_qHbew~9EdUDyixrKwQmy$Hvm1hN0o;OZK7 z`8I((X=z;=+HM}h@j!`GDbAtm&yDJGMaMOu(@3u{MH{+$lc&NFug zD)ibQJQ&P%z<@gnCk$I~M3OiX+5b~X5;>)}g@gzSn{&`)SzA!dwUH$4MdLwv`@Z(~ zCyE4Y-8@kwU}V7EOO|Uzt#)IGa&TC&g2U3Q;J6zjRdP4BIzXvc5+%{yAEmFK>RQ=y<=qV=H0Ez zCGa2^;c<2{$~lcLscKyfQ-?fTgXCiqNq5r)S?uQQ2M*O}#8@k05E+K!-iuT(5D5Ic z#;7hN%teXtxAd{Dx9c_Q@x^+DMGl^ zR|-T?*0=KD!X;k}wpkzuX7if_Dvj<`8cX0r1|C{l1cFdLO%>~SUw{bl3zvRfl?iCDrL31;8&WPJQqsW+l4Z#(d{C=A1u7S$#Ws; zgTsUu945SIY&dSVNR?p$t)FCOOO?98gIT%G2^BIee0<~3s9?LugH~+!MB~9%pchEQ z@oeBtEqSbE2UjvV^A{5_JeZs!!5K-9N#n8bWB<9ML*+4v%43tgZfvq~s5yYcCN-Sd zRKmuF6K(8NFRo-u#&N+fk;Y=2)JQZzo5m7NZhJ;Ub^M#SqA@b(JWeFub-10qOMv~+RD1)yjdNw{f& zAV89j3JG^&O8|(E-jePfB4rGbzM`^zCZeyXys}i4yL->JZj|RX!U!DvKOuT@;(kJ` z&SDoCUSnp{vNG+Y^w|D7YwxRDH+Z)bSapOH3yqGj@}kw-+`-vLoe*kZaKa4?FX|-> zvtT6YhwG#Cv?DzPyuD9)?bD44I62-28YqPTweKbnPh%mNE9r6Fo^Aa3>Npc`;?HPBsnFl{K(KJ+_(Mi z0h}c%;H<+iegZe+M|uQpuWe{YbO?C6iN4_Vj_2lM9OzHaKz~+kg-NwSE7v>Vx-xO4 zURV&wJPba`yjm^K@1l2?%Bv2Ot?l{>T<;UIOVbmwcJy7hgQkTIC6Z~8Yem@(;?E4x z`sa#YZ?!VSTllKTZo%hKkKIDn_g%heK3cG{mxlP;By4Ad45ptEGD}4aeE0WCW>B5? z8`7G_Cy<#KgG@-0@V{>|)OC`Vmwo~cu?3DFKQ$bm_C%^wQi@16RgNOlj^C2zP3P3o zvKeJ(lf1LSn?t-%{+Y=eH-_F+Gz5bL4TkR#B#Z^E9O|cYiSe9}@%i*WD`TwObZROr z_Ccny1hQ|Y{JTlLHEy0qI645{FeYZVCRw+?Q}8ZqJ5~-%50N>XU`4@8cb1+BUxk6v7c)20Cy#N5y*k!S1~i^4p8jUf{fDlX%#u5QShZfTxah zA&S_+;9!tSVNG>2U|6*|lBA%BHIGn|i|A({Q+I~C*OiY>is`{5hWQA@nS;W?{1qjj zz4*&(Uj|2FA@9NrxRS(r(|=#_x|l{sb2H{GLXV}|EkcjoQ{*~Uh4?J{j4p)e<9FHt~m|tP`Stu8F59U#%9TSt2^3vb@lwKJkA>S$tiSAp4Au$5Oligp{ zupRb>K;rZ&NS@~m$xIuGdY(&iHjNJtvXDibrwV04`>8^iIUM4gZ5qb$A($Nub~?du zizN)P$$fBTl7bL>n$TpT_cWpDn{8{OE8BZ?_uV)>w{EKJW?S+xD0gy5TA}MhofB_R zXS<1{mGF9a(@GCp6MVc&o*+pZ=<(C*X9$SQ39#YQg+3=GpDy%$2V#>+uLTv(%E}qy zwel~2hbbJj0-HVvw(tEIb`NRqph>tU$A*FH8A6sx$1{X1A%W6Yn_AJap*jNw8<1f5 z7IwnGvHfRGOU5m~N>2?AcxIC2nL?SgM}c>n$r4ZXg@6Eqv zCs{_l1%_p)FpY-|^I=N79ivhW%Mp&D5^>rFH+WbEiLnymjFkbY2$=1ahh@;tN@(XK znQqLyLWGA=0vrm$u%d#F9){z?a-@1eC5#WtK)5X~6o_C^3v&R7D40;aV-&nj1sgPP zKBc_k3o-}7L8h1v^;@!5Rp03Dy>V<~**5}{5(}7=q6=o!&1rMAun1<^F$zw5=?Zm0 znhroeh7)il6Xb!+QWXi)fl9)xiIFDB^A5+TXes$Vq{x(HNRhV*J?hi9iEu0d5bn8Z zKp*WEQ+rrQ9&LV$^gR~c~3!rfhVOMd0-vATVk%jJ5D ze)Y)a?bC8^UaIIbBXjN6Y|HP|^A7q>xp+S{GB!IR!K(M|XWMZbbZ%y1+x#3DBV+Ow z_1MnV?CKKJgXQCei{92^K96`H+`zvt`VkB-H3J)ZY%E^P5o)d`Jh2cIN_d7?XZpj8 z&4J2{E!5OY1cZ!#yI>Nnw+neze~^E(3rHhmy|IuDyjkp1EO4MwoLF#os7Ms1EzcHu z%od+55;0puqIX(IEdJ64L>QJJ;#DFeLidR*XhpAg7z^FJsY36BJUzT|VqCUorzUS6 znVsLgdwND5!yLJ(Ex{#kI>^h!GdG{RWk!zi<*E;C7^e|}5_w^hWWa3R7|hl`fEPn0 z*D;%UPBQ#+g#7-A{N1XBr1{QWhxjC>^M3gm&V?>8)It{fL)Mq{AGL_6hS~_{^W#4= zxSpXlEYLurvVe*_z~k9ueml^v_}$3#7M$T79_dXE&4f}V^bx#Iov4%M?UyM(b6u~M4;1Zkp{fE z7LOl;%>@KRc}!yQ4P!B2vIz!TfnYG1K&XUKKf7jjp?iVC!ER7478K&%0@H?h+6jGc zFQLEC>FM7SOcK)X31vS${q277Ly-&&j=h3$Xp$viEVM9;)urbq#?KWpzT5aCWxR;R zJIEC3K=umT&rIs7NEYFI+rpTb-J%e*V^`CqVa{JtMp$b+FRAgopvFIDHA)X`3g}QI zgA58mhF(lS|C=lHCncaG9C?=5`IW)-q=+y@28rn{#92uNq#|I}F3-k6<32ZNtPqgt ze=@I-B6?U+SObR+S8zNEfu-8>6W!+v zU5ew(Jr25m-_6>fEf~xsz#t3*hUK3~k`e>vSZXAjxT~xOJhDG1$xx z5yQ`v-!E~=rK||#C&i70dnO9uBmDkGX1UNdqr<}ocl!!14&y&!RT zfpG9l^gv@D6KR-ffk7q$!!uFBSZLLrqdnG1yGeqs&?5loC&!osajhQ4AutF4FxX-U z7`AYXBt6SLTuIgo$3+Jz1W6Qd^!3H+1!ZJG0EQQs5{3n7BuVfQq^pdiocY`<52g{$ zD{+rDID*s$(+K22WC~m7rJc@;G#*FhvphrBIKsEYk;8>JYP!xAqT+>u$!zO|!U2<$ z9?mc^m&+fGtTz_2^>wzkz;W^*!ueB%(rt&04&7xNui9|omFw1yZn<{Th3OTD4F~OM z6!}puXPu*R5eiMY=|OoP&Cq34VdyxXiPQO}R?mT#65FK+VFV-$jDXKBFERoJqik^- zhRiGt!yVp>(cNF(RNFn7Kjvd-av;^ve6!!s(*C`{WMO~_+GtQ3NLH9p3qP8@G?ENL zd}NG(z?tr(TyX4sQhrK!79CewX+|de8xD4_$dBTcO+&qMRlb#F=m@Fk^d0oLs>v(8 zkFYd4yqpy=(z3yAq`kB{>ZFS{YvfNh+clg=IL-+o4g*rcF|(?|nJo1@dixWNY*P&O ziX>G%6N&99$hQ_2Nv6k!!)!O;1d%dXX17Ho4;U3&&c7KM&bX0juN^419}_c^$eB|^ zygU)V!DSwBa%EeOi#Is|)|@CXZ3G5;K~7E?%j+wQN}o&>7<5iz1+!$y#{{IPT#?CU z0Vc#>Ad^FsgIx3@i*V~lYFqk|1~Cw!AANbB;mNMEkL4&j(*=8_6emAQa(}X#Y7r?; z(TQF~XH|zXw+?rePgae&%vKGX=_=-WMz5bjMpS+>S2c{22VsPas2Ha>#_0nvYLU)x z@Uts$_n?x@VgnPDHV-ODwhK#4JZNS$4=My6lpnST4IUg)`sm*O;w#r(FuHl|nvJ8I z)?B$}!|3JK@smm!Mh%17-wM=ufS`_7++YzZa*QLTYJS*mIPBl2#u@xx!Chv&1?w!OrnzC0dqIAbs^*_1M$Hci7?Kp6_)+FX zhGfR6$u1M~VVopi*`FOSz}{pVCdBp?$R{fTei$oU^=VTy$4K`;Gvcf~{3fB25#{8r zA^POY5Q&2flZgX^l|O037kW76LjsnR>U_Z< z^D?Oi%#Va5!PsyrCM-5cfiyL?%b(laa3$6wPs$Hl-ofr0u3*OPe7-27IAmtUp^zJJ z;C81a>$Qz$mj=dpz>Hi52TmFzgG-2JY>k-%1jC#{IGHvbF!ZriK6niipq*1 z7mS|xG3d`P!*RWD@JFXz>rVP+7%sQNX^MJIRy82Ou}UC zs=0(qwPv?qq_<^4rMK0P+Mi^3Um!#F7{0#Wu!T^Q1wKE@3ja4Qt~NtDHy6^?8sAbd z`MrYdyI=6`h4TB-l$z$otiGvgTKHAR1&>;g1?-As= z$HRWNoj2nB`l z<@;eKP%P&ylRu>-t2oCw4%2JGC*j5c?KV{x~Hj#-99t9eyevD z`C+f5LQF7tU%wB43f&>28EEaFh9y<`BZ}_S9T78<|3qGai)}fEI)6M zR2kAYCHkb2O&Fu)5PeeF16cNnanpnar1F1k(zOrAu8~9>DhrBpO@-5Vy`p}SyXSG> zy?2f6&b#j>&v{OpgHm{Dz1pKb#R~Dv?*WMNROHNpLe^Mf`bw z8o=ba*2zApLTSl=5#PxNl0H_Jc}+#{nx9J~EE$o1Jf1o6lD---GCnppwnL`xt&y81 z=Gxj~$6xfE%o4?0GqZE{Z2bilIW}|l$b|yjni(1E#h1$@^Sh>I&wauQIr^|-)yRtR z>Fra~{Fvpy&5G+rCbVxm7^UzEuIv*49-|TlKWeM)@zAQQ*bH|=NvSx%IT&bUxzfbL)9pMwB6FY8}-*R+gVtad}Wobb^MkeK`OkHl3TFnHp)0 z33;QbCzJHQ^_v$pKi@;Z;j^ovFGA8jKfe)+VMjU5!(%+Jtb{v1Cm%n6}}4|n=4b; zGR~As;Tu{o-Ct$cn{8OR?BWDOf&ttSNK3fRr$9DIpy$ z8vL$Nz8Y>4GFwt!zQ18~#>6@`AKFR#+e`!L+>3eoqw|6MMa2y}un3Ds`B9G0&u5EN z8KV0Dxn1sGk>NyKiSQChN|9QuQam+T%P6|FYOcPwJ!{rV?+=)0Oj(qWj})eA9?_FU zh?fjjLbG9es(B9C-E-7ub#3nn^5ZC3C736lWfm#%5h@FcK~yQmk_yA;fi+cN@Y^$# zYP|zmSbQSyi$htrc#Q>nP=wd>vzt~nN3No=2c?p+c~a0S&*tla#_1SG@#=HpRAkdx zgLMyO!op6Ou-j6Y1hL8~bK}8IhhlI;s9@-HuXC2{wx)CPAMNP49$!r=_W_O6S|_z$ zNYOW6WrkU9&1}0UCz=ZE2(BXP)&vO;^U z3#ZMH&dr6iU;WP(_Z!GI*l!mso!IP5BKJ+Pn6_4Q(}v&-Zx`K_Y8C=_eJhAJ8$_Odwtphzn~JCDF@O!9gOP0X^P|j& z-)&?DZTPlbOvRS_+J@~l()Stmf^4Z4D_hoftd~Bx0NY=uX}q#!J)_v%%%&pok-==e zRIG?B{S=YDM7iT0XPf;HEBK0YqT_6;ajc8hWO;I?$m8=)g~>7l6EqHFvQe%S5IUP# zvm%o%4h%gm`74mgE@dl`P8VZGWg&LtM>*iy8#|r-7hbx2-or-vN+FO+X*oonRC-z~^yJRN zF`hZ(i*6+OVK)nUnJ5HIDu_NNE6gD!Ov9$(y)dEBB0o&$UM30wlM14b$??i0E%Uwv zRdD1-xe?xnb7HSxrxfkK?Apr@%P_ryDFjR^h(0E#N5Q`0g2|7fZXeDM$-luZc_;6y z;M0%fhn;5Yl}aIys)8^MjVs*h?0LPSRsW6%E%h%Yo5HP{D3nWUcu8+qn7b%o55Vc} z*O}fnIkBzG5!GwNzj}?M_ybVO8drTlty_KIozJ>wC1IJ$s0%n7aNo0uJG&Ca&u zdET+f$(vWn?U9kOnVq}Fo-(39+sCF>9=mE}VzsOlC+5*>_cUr^jDp|~r&5eY|qRM|yZ<`wv zlZ?x%m31xk09)oxw8mAX^o2=2HmM77G#U5XG6mLO16Iha?5RT()t?Uxl7{Ii+xwT^l&vQIkTx4#}EB;y79xeJGy*e}7 zHa54tJvuvaOKauC6lRkW1J5^ZoSte)5uubWBvR!`$MN~?+)0sV#1v6(M2T#LMzTfb zc&?GD>L7w6vF=urh?|x$UR~737Hf9zp41A;SR^hYNY!M={N%{Qj**+E=jDT@qUEG? znAV7V32R$x#@;s6ubpZHo*?03upw+_S~t#5aGA?6r4PuRY{P8rl1n!dC1UDb(=#_` zDVvo<7Sg7H>ylnh~Sb}Qzl1f#S6VOPFj_GN~uO_NFt&q zg+iKZLanLs6d9Wm&57AD9%B(hX)DxYZONQ&nfK^mX1R&BZF;ull_j}lq!l`1YGQWx z@~JQU|W`Z@0Ocn*;q0~2Fq8{mF`}zcGp`h$y8HAxKxXt&=Yz~=m~@XA>mDE zA@3hjNFam|{`~VN1VV_z8{YZOoH=Knt7q@7)*m~cpl9zh^P4#{bLPw`&+}+bk~}-K zr!ic*athV#w1x+7%5PaNo@fp2W-&2!2koGiZxCqf5?vkKK7;FN&n$Z2xqYu$c9@LS z@?U2`V`B0^XVERAJEw-rYtlP?+edfqKfqe)VVz|+5ge1(kB{!jPo8%c?J*9aY)mu{ zbQaQICxnBi)EmP?jfq0rryJFs71s#m7D>q0D#xP6g#Ny%vxre=Wc0v>d7WjlE-GK7 z-X$6z*l=`bnRtC$xqCQ&Mv4<<*{rirQ=M?jU^P#U>K-Qb0>?N`>>ROeZ2zv|#y!o6 zZ9AJ|lPx41S$>n?lvq2^S}?U;v|eP*%xbq*N@I>p6U9}XMPriKrB$ufo%v%s4~VS! zB5Se8nlG|ev3_SiAzpuK9WQE}py($im~P0S9ruXUTdOw-?}7xkK;Tvy96tf4Kg|fY zbZo!m#PK1voKaF*W@nsHvQJR^4OM2`imE@&h`K};E}IgxuI9p|CJRGH7$85Prv4NF zc>(`$V`4%Udy7?9b(RnVx5>J$L=C}{qNZ&qnPDJQTa$wna%Q}1#PjQ z-8!|s)7KEZ1D(Z_qM~%A12yEwCE*(-YBqO{mi9HrC%5U=z&6QVeDCjI8D|R9Le;qM zT1kjS*}h#F6r}D^l7~*XzUcXBsJcAkQz>LYf+;av~;W8CbuzuM*wv8vn!c= zQ*Zlq`X-vgyW9`53ap9fY;h+sj1fP8(w*g&S=Pst5~)4X-e(P9q+YstYWu{F@gYh5 z-Xo>&=DyQ!c;JrsUqCkWGeKiQ^9=&58WTc z^Ah4;&!ocniGd`53NREE9PaX>f_n>TZcEP(UlwM2`ER^4S8vIAewDz1828o>L_+aa zq;PM2Unpku7L0fcX!q9tD~vI$E8c@<*z-D&xT6?v%X>(_p4S4#Zj}&H+{v=BZ z?NvrEZk%D9oj;PR9dHJvWypPu;7GaOezeP7-WVTm?621Dk%2BIxvI@mn6rr=c+X10 zsEZKB=L@^yXUVQ+Lk_c0vg=?58x=b`(q{sjc`xE#S=Fgm9Km*V!d;(mPoJGS*C#eg z9n?u|MIFa|VnrQ~CnUSoZx;%w0Fw6_sh)y@xT4LQg+j*Q_EDx=zx-IenS!p_StK(F zIl&{7rOpc0VPr{Q&mLy-)C828D+1(v8D&a+oJ)?*5_v6QQx_m4)~MoT*HIZc-bZW- zWBWqW<>gWl^=*{nPNl5USxG5MmX1%3uN`j694C1bv|~jL&`uRJQC^??lprWvD>B#G z-S-DZatVwi>RQH?g>n1+QUGfJA@YL6iK7cAa|bG9Ck^L7{y*|(_i8d8DQ74bDQi_ZMfJYxXx7*Q3#V+D{7 z_!RTT=1!lBrcsgdM4=?go|GxuqeCNJYe&jcgpz36Vw5^4)ToqeIe1S^`Y`Q6%H1wy z3CjiYT#q>43>~S@u1d;AY+owufu77wYcH+PdtZvWGaMHKx7l_h@*yGe0f8h0aPP{s zuHEM(&E&aA1?9<yl-b3Rh2)Mq z+Qy>p$d=M21Y8XV2?b@`fr%p%w>Jw!Q2w+;PZ?Dtm{||&EKaK-xns+M==g3~5M>vp zA?p~MLU)yg#?ryjh2DlPsRC+0)3i5583O!f5zH!KY&e-7U$!DEUWApK#f$BYLSxgQ z_N{U$17L1->z&eMve??>FCI!cGGRYou@9jmw%q%mtrBHGTPl69JK-TUq78#`;nDG={S4tx_Ib8k>N^2j z(>f5e3lkcKM(5X<24==};bs(Ncik+E#5mB5oI4}vxDj0;DQ;|an(gyMj+|BWo=aX{ zBE&unvTS@`}#l|OSL{C#n*`Ja_EN2flXO4-l)xh!G`z=sTFTm8#OwM?vs5OLE6+=cF*1* zrL+8=y|Ub{=X;UbS$NN0qgxVw6)^-qZh)$eI zI?fiLd37xI)1NBHJ^Kuk8TyPI`cZbCPFbE>`3KfY37@*bD~D%ZPzK|0Q2`A49Rc%s zYux6}(!6Wx=`xbD7D)ts&d9|{?aSpdEqG99bpIW4(mYw-)X^VAmJLxLO?TRVZiuDe zn7=cUvj_=!T7*1^{D!MmpR4~B32PDyvm821w*+x&*5=Gao2IBv+tZ%rWE(_j5q%I9 znE+9N{*9Y-p%(4YoKEU9pKniV&SJi(?j=bS<1eDV+hsiI!ntXeCtC7Gq4hEg#V<}2 zUZ|TkUiZePT~#q<#5f^gTrCvD)1RqE(+5NQ>q1bJye_fdkOcfoSA#n9cY5iFJ~t)u zv@qK4Ca;NxTN8^H_uVYfyjv3O9aU`(DH`}lFwyW-!NBaluoi7@|2+*aQR8&mgpMKW z=SEl4vqC5Y_coH8?McpmcUdmBYiFWuR%oLe?@koED%!+QaD8_R1-;7b7%{F*7%ibF zp%5vKPZUE!QL;(xz{sn5^yw2RZ>Eo?xX?;`@Er<_zdtFtSdJ)HW;2x)EI4>mI~>oO zmP4Or2?>lhcEa(}={WjiL;aq>z-yUccyKy~?pZc^y(TferNR`AIgu#dDioNz&)Ql( zM}$mnMoZgW9|YbecNz3;Aju;t@)@cCfTRq9y@smJ5~-cjivw)TT9a@%pw4)MsAE;j z>FT_mJ+0*nd*D*qfZH#)bf43#^)imhw){3({pTf5*4rYvk2pP4*T`;Ar=wMI^oE64erR ztOC2=E$r=Eg-BO}nw`UUHsuMuhRg)zWQr^aNrk)E&izbuRnC2acQ} z9D%rFa%fm4!&k)VPUna%aun;jp>YWGoJ{iaQqhf-vZbQ=NlEiNlIHB7QbD(WOU9`z z<4Bz*@KQF(9TPH*IMBMY{kBZeey3atBi;1fMAJN}_PyY~IvEyAzZX2btnD*o$Sv&GMNN1s}4(!nxitIdcPKv+F?Gn^w z_1vIhjXHU~3tdRD=#qAz+Am2mI(>2qO}2?`2#AyNoP(crPfv0v4@vn^2IjlfjFe`Qx%?qh&hew!_o}~eTTxx!rfAqWU^F7xJXWZ z!MblVatY@&!bPH!E2`xYE@}@+F+{8PB4jpk4#C5dAr2QqP~y;n52hC69rQ@V0D<1` z&w8&Z^?he~t2sP8Iw)tKhUH|L#t6*JnUU~>Ds$bS`&PkC)`jzo#Od|L$4zV)bmdfB zmUB*`W=DvYBx>tJ5spRw(h3jO*v|8Xf~a_}3AE3a5;C-do5kqO>=?q8!Odw(Qf?0m zPFgn`l}i~A#>+2La(T!pR~~cGl*@C#o^rn=K&%?ab;C&KDff#`_iQAaeIlJF+s_-_ zT$3%3BwJMUWcxK29g=ON^JM!Krwhq8(s{D|^Ppm{WD76J7F|5q{*}wvSrU4ryCB6; zl2KCNvhBkSO|E%M3AT$8JO`r)KV$RgipsNfMEoWD7U21NJ-0%BLjv4TA&-FMR$8=C zCis+RBi5-5J z%-mV1dlWvXMbcG5ia~y0q@=@Qlm%k#luh6v;{wl?RpIeDM@02izwaArRXc8m2Io$U zh3LeHfaVeH#7BuRe0Y=y^G^IwGFR-xk(I_Ugp&(uvW~zOX;&k{;AGHUPPPx%$+qsvO^!F^K>u8)+N(vw zV?^L;X(CAyftP9%8?&8iUt|{16@ebpj+SqK@i}*l!V|2^lgRZZa@N~lV6gHD2H}bC zHkuxr^~LL{XGJ<60dF=s=~-Qi(OrLr_zgQ9AQHYv_7%u2h8VJ5-uHr>#YV_|->aLv zYo`O2HHpOox0^*qVy*O{Ju}hzzL(MZ$|MvFStxK;veXlkwXGjO!D>Df>x6D-xMsPK5B8-A`zpbv%kJp5R%Ia{j%yOfP1AD3#YH$aB#zssrl$!euIK#cqn|DYC-2QI zOzRU7?6Qg*vaca=PeD?AU3W^*&uHOeKCHv|!qfV!aO2~bn+7kRK2yosu$&Amr#wMn zDHRk(TiWqzLn&5XmUzmkK-d^+Ve_1D5ZiKRD`x`Xqi?`>WksC32nvpPKtVD?K#is=ya2cVrk934P!JK52di2sVpNIb3gnMa)-YcG{ zHQ`FQm|1f~Lqc4loCkf1%ib$)H4exJzvQjZ3d%cA{n+29y~W|+SEQpb$NHaix{1=# zNaq#x$Ak5=d0M^^2?uBW(7^qbI5M#ZAd`FOIqL^KwIQ}QdbQ=uhr{};aMNKNFb?+t zhD~YK7foH0#Nj@_StPNE6kE!N=Yw&QS4;}nSpYiwr z5mBj^N}F>JfCQ@o0?F*G$|Cs0IeD9xB*te=0pcY>SOi&r)6>4ahj9*N5}V+XW5GQ^ zaM{@TXSZM&#v>iYDIWQ!Y{4FbOn4Rr460RR(GQUIW5Xx|Ol25{gLsC61&PApV+0hB zOB6gzT=a4;Ma?;YMThxEZ($h5BORj+edoKmg=rX%MAryWaYJ@FBiD|dL#9)h#&+y223F?7a$I7e-l7?aC2w6vSYIFbPlY8-aF+%k z)RzWkm9=v>%1Z-$y%i|libz(#_6y~6JuJ58rGZF92%_-X({8TnaDG*W+Lwl zVAoCL2dWeKZM&Nz^5tqh_C41ry}VXRi(o!tf)x?{C~fnsr}RgeiDoLuI`g;dBM9U& zzVnHNc<0};B=tm-I^(R~kAH)~0w5Ty0OQZcnkt(+E3e@VI=Ay;UwPG#FPujfPFUdJ zQ;mf|pe|q5{g%Tkk5&NlkUhH4<;YU!xGu~2;)1-WLf$4JdlZ&*BLmAxB&~HtladS< z-`AMf+ZY*2%lPmyg+~zSu<&`Zi^%ES3hlM7%2HIRoRNy;R|_CkJfkRL&%Z~aYlW!T zO{I31FP%kujj179lH99Iu7$_?a5KuYyYBcqgq4uB z;K>;ng+0C?p$A%+_9|t(Vk1K3MT&~RYgx%#2)SPMJA`T`P8k5CpaGEKn?!hP@=KgD zL^>9saL6rA7p4r6j-nMCZ7{kSrws5?zM>1ye<5Rw%Lr43NastMNk;LjK3^0jkuWi0 z1AcKuG0(G6b*9V3w%LJ@;6OkiDGr=rak|&M;gkf*$7IMlxL~_CJIos*-AbXuJa;=? zm^VZ^mP2vDUBLxCb4U9Wp-kBTAeP-w%%_P%NnmGXe$g8F-V;b<@%8B4S@x_`Sx*&n zdP5jl2mPpFmq|nSC;i$NRNLWnOc|F7-QJ>9iJ7jf2L5FUpUt7d=UFXkaJ^705#*_) zL1!6R&EEGG&EuLpQRqp?6GanCYY~(OJV~baI;b2Yl6U$92RYnRgp$Y^?FF}0hzJ{V zNof+$LKXk*rOD?q`(vEVX<;4+k<0L9nF><)=)P=MkxGeD%kWneHL$7P>11^VSjbD7@^E|at0 zTgLb2qqm%0d<2e%T_y_fs;$dJJ5JXybbQCn7^;Lw=i48Do9H@+cV{ds`y&stEqc{o zXVb^MkM6DlCu>n?#q2e37KhFAjs-O<>rkIxq4pXqYT|zUmTJ=D_ykPsbOFowj`NL4 z{=mp$eqk$``P9)`d&r}}6$$DJ(S+Ry8u>ro$dE}Qo%iQo zl}64XlYq#M7m``FrixlD??2X)k0FypI<^$(0t=lkWRgfnT}Vq77#+h?3C!+jhH+g| zgz~;Hx-%j)p@zGx@sWa9p)o9j73o;d#_Gov4U4<#5rjT>fx_$# ziSSnlMKM66z$;*|;fKqPG6nRjTIw>t8C)iBXuQ2KBrjFT4`nQ9?vryY#in_@?kruu zZ-=~2RUav_q%-_16t=T)M?+rr zt8aXPiY9{tRcTc@_(NJ{Y0+sI55J+2+~_Q6$(vn=to^Gx^Mp&XwLs6mX;;KkQ^-3gu9atWzMXGL?R-mU=Qe9XX=fzzc0S#R zYT5}k?F7=>nW(Lu5zgCrr^2=Gkbk5;daC@>=q%?+D|sV=EEQ|xOIMFE4;r&0#F1~X znxQcXjIy{(=eWp?bM~k4Q4s|i~yRS>XOHZji zGUes#L@4Fu>qJE_FP~>BRyH;xotKx-O>~{3OL^J-=vUeLjc} zBS#=njHwphPmGzT{V!r3+hu~BSMWi8QH9(~%%}+qfw=mas!5L$6Q;`(EQ3g4l0S%p z{faR667%&UfB<~G=oo;c$brI(8Efpi3pZg zv81v3*b%{*2hhq_8F;_26%DyrT7Ag1%Nr8Z8$=T?HQ(-y4Yf<8^C9xBrLkq4ExEp2 z<*_%eGl0nWiDa)`-sh4-?Gov{c6pD}h1w<3dF}G9qG68EPFGaJN7;fNgegOX@wqP| zGGU6htnHD4kO6~g6>q)SWcSOD<}JVZFue7~1og(?txvfvg0~`_d+QU$7IW|xh$79Cp{)p(5qIk^OA1Uw{ z7@kEwX7c;xNAsB9EFOCVRukSN!g!ASO`-{Dgc|;TyT!t4LZmxR=%|vu>2%>al}N`F z4(og)TQ;sBbaez6IVOf8?BxW;;*RnF2IP1Faz=wf?&&>h!onL~_?l|cBfZ0PQG)f( zW=w)WzxoSBIHaej^786$2{=zs{Fdm<=#LHmCD|~aHHbtcXBzg;!GLwWr)0SB3@bpK z=|UPa1U&nbB#n1}m)(O%$r)|*`qwNnohyk%?w_Pr@z09Qt;Wv%kK^MXJN!)}Fybln zAl6HR+*44vU6^*^sedy0{lZqg8Jv)JL87AlZ9($X z^{Zlv($ZL$!bEn0$>(CmyE}~vdyS8i*QEe6^pE% zp5@yQmMZxnt=Z)+HA-R5UD+*_Bt}V?i7}IP63JF+LB@h|Dery~o-fDTo^|NVYh!-(>g8 zj}}yZlb}j2JJdaldlS^X!CPm$ErPcqoqOx7VvD*IIYT)JBHlu>d+QRH9K03j+*=np zUGP?&8kU{dIKh=lfZf*XiUkiHz>l~r;}46fMI1y1o(7v zyW27BSVTIXPTrmE7^ahD#{w3nkwE*7g|T=PMo{0exXVEMg{^4jI~La3L!L(7m!R$w zO?(WvI}Bhq>A-BTJlhr9tII~GXx9gBS~IpmE<=Q|enIbFybk$V?ImU~7A%AXI3J@1EUbvis#n^OoNv<;>ArdlS^&;H?+AEy6T1 z(s?cRf?|s~cnd@dH6;5q@)a&Qcq`J8y(x%a=5)bZk;8!7K8>{YM+!U!hG&oGnf!kF(LClii^tlBSQPIQB#PpFBE}u@rn+Xvq8KJ@4U-qe z#^l;ZSRW(bps=|phJ*$J0!e8@DT+y<6va+MadMr)v{D z4tT%9RhHx1yL2uQl74h7Agsb8g-%pJShJ2IxJ&W!UelQM>aNHu>+a7GR6P9*LG^Wa z{-(L^zm>5RC(=dHik+g!Inn#iEI9CiQQa=%Otp&>;^#&q`3w63u;z@h8^e z$`m8gd3=4r=;k=Z0P$F9Fp|A!{i;h2=`7Ouu=f{E7t&dz^A7pHiiRbfbxkqgqhLi3 zpJEuFclC(uQw(c+q`-M#_!Q%hO?JQhXrA?(55rr}PEgMd-ugSYMJN>_oqOwViY?|a z_<)GFknG<2flChFigfO+?>k-aR-|)peXnR(yj3&!z>CMw#itm?>;8!7KE<&1M+!U! zhEFlRZSwo&NAsB9EFOCV)-azd!d8kV&lOF0(t^DAOSf2Q|9`G(}g)jr1Ra6 zpJ&VVm{Y*WAt)4~dL#KI#_WzTr-1zIM9vCjA@?~&)C50~@cvyj=`p8(>EZ-SrB|5b z50c_f6k+ajiU&jhY4`zYCg;x?0hTRJ$8^G+BGNI}qkT(^u6q3D$Q!2kV({M9Xm#lj z02T%j7t?0?k()L46^3O|9&l61;t!eTx-sF%rA{}!gn!LI+ zc@Aj?nUGQ}6Q=%7muX(Q74y77rl7t%(g^A~cQP&CYO+C9U7?~J4ep@;>H&wUY* zNg1W>k%GXXEu;**waR4o%a7(Qzxgn{_51|&{NSy%Zi_I(h;*c6G(Mx)Vh-K{k>Uu+ zCki6oy3i#DZ$&!aCOO~fg0~_aFImLu=N1i%w`!6+yr(B!E~@alKO#D_#?t;sfyZc% z=aMIw{C@e-Jmxox$4YfhGGdf)nlca^avywQf_kCo;)T|Fw^{INq@xTb%C0Ron}b(D zWTgYiY<@AoY;wuLtC7wpN*kRncs0^7H^S~W7Y&P7y9zD%ctjLEIAmM+++PuyQmnK+ zQs59UD8+Ev)h4@Nel&0S&4=Nw7bU0{1#dmgZ4okNr1L^+Yq7-~yaghK7LvWtYP#g$ ztw`sE)()o&-imZS3N?y`#alIf5MBx`bn!yVc-DfO#SMVQ-W@oxw?nfEtDXRkP3 znrxUiizAVj8!rh4tm{3so5cW8Wgv}liwyVbB(43kvfLi&7`GUYUYP}^t>Q@J-bq>& z?@U+o!Hloagb@c{8MFHe3b)LqLP3suvFXq+Y}K2jx8#PrU5wx8P>2BF5$!X-DZ=P8 zzbV4J&-{*CHuRZD=Y8fKP8TL8k8xW+%>`6PqQ;rj)zi;sU!d7(jO>t}YAs0oR1l18uJWYJjn;VLv zNav~c^QF0UiDHH=QxM6)NcK|qD=s+G46Q6GUR5j_5;9)v1!Fp#irj!N$ ze?^#EQS=G{XP4j=qO))GE?Z(NPq`?HL|)e~F(N%-Ue|kSiz0y7+(jCD8F==nBrO(2 zk&X!ho;@N9Ohr*7a_=Oqig%_fieSc9XmUmJl`*@opm57vDHM!Ii%f@pVXNL`FiLL7 zMG=0ZLm>iy(r3zKp23^K$!SXAbjX?TRSD`WcSOD<}JVZFue8Z1oi6Rtqa^1VKN`-d@_GtvBey`1tODqBr_7yx2|-_!CR5e zJN@NO7rYhed@_G&(Xe={X54~zP140voAJ6oBD&WR*8WI=$7qjF=Fc(t{qm!E%x@Nt zJp$v_gCdNH$%CSaPfTuii-mD3()q;XHm3{YR;2TqWmC3nk8uk|N)r_E8BJm=?kM9H z4tamnJO3CmhMVQ;TbwI#Lt_K9%tMq2FVIH?4 zkx%A#1OwLfp4xE>ASUxj^U3^hk`~9UNavIJb{3e%tw`kFNm>=})XkA##7}5JUtmNs zM)wmGZWa0h!&1ZK_X}I~CgV|ZK_0X48J!6c0EGU+vFJk{l-{23-Y$4PDBbUd3xiUm z^Fe7}F$sx@}Ivrn#=rVaoHhz>m3Q|9l=|#a$AH!Dbo3%^onAOId}_1 z1|=l>p!7zU9K03jd{BD5(*vdCYGXk39l|(mO>MgVH-i6Cad5;1&ymQl#@i>3vQY2Bk>ngVKAlWqS-t zFfu5ih^M{8Slm$tCCKSFko%xyRhHi-S_6^FirPvcNPbMI!f3 z(yDl;Zcu^|KcR&WO2+7Zg2JuhgVGmZ z&H$*rZ;TJG+W$3rpUJyMAc)p$M5dp~v-b&bFpj&NZ1lT~#Oq~zl-H{CJd<~=@G+;n zR!~=`5#0E~nLNO;mlH9F+uIuueYM=h7=D+weZyWIkshaS=QDYicF~e(=J+zK^$BXd zXzl~~cRkp`&=Bc-X!!dQY<0ms!$1xqLj#h1X!wy!4nsqv^P%B~P8WuTNasVt4~m8* z+Phz210&-CiZBY}bYt|aAE7yNhv%&Ekpl05!O|+;`#TffFF%@V{pQ1P*YyeN`rxkr zbYlc}MLKuae-vZP!CfHYE+o6V4qKXzG6i=ohlH*!hZdzVmfTHe}fO znr<}`0Cv9++>w66PFla!4GJ&a0Sp zrO9(h93WE8Aeo66Yr~hin1lwm|sUaui9@Y#+ZY< zK%_uIvTuLg?vjJMBAsu4-R5+`U6IbWzcv*Oi@WObJj|@-qYS%SxXhT{ArYS4EnH>> zh!nUCj7yWt)|&$T@}s%TZx)x8wS3YM1BKI+vEY#1dP{=3MRf6M>uxt%aBHMHCh2@v zG1?s53L?uUNcLruA(tH78tHu5WVh1=w?;Z&Hfa_Oi(9*UA&kr`P{hX!V|0f_Xdg4I z@sR?LfI&Tm*Pdp=`{hS-m*0FC?%I@~HU)R>bz_928R@**nkvSagS$Ya+Cs8dThDdL z!CjHgtF31{U2s>V^MUA@MZ@B*x?Tt~)fUQlwPnoikO=Q1wizH&;4(10+L|y0`sGJ+ zncplfJEUqW&!#(l_Ht<}hi(;g%Bx#N^ie5Aydt+fu55J2Dx60rP9F>tXR%mW+JKyI zMGz#3426--3)1fu4ReehG=G4RViZN# zKcE;jMt4Sp_JPtGA1R0$Fgz^3ZNmHIM{}3oB&p2NU3Vm?JA%7@=Eex_igfO-pB7`x z!CfHYE+o6Ve&v#byCR*t>mjEL?uvBou3r`ni@WM77npGw%J}@jnB5@}-p2tmK%~HB zVE8!j6H}mHel(Z)&Em4TRW9uZ1vxF_JV~%QF83r6%%U>!wtShcxXrMP11FES!|7FF z;w<(mbqnNVY{;qQiy%+IQ57#Am#Qi~QZP&yA6OpXgTL9vG8`AuI+i6K!tXm=-cH#`qDOq5uTOyI4Z%bMg z?@U*>z>HDRGmI=CGABl|&xtQ{$stumI-e6?;&dTZ zMLM4oUsN4Li=ohP+hi-yHrbt4PR zYmzcP)El!qB*ObpZw81IxQqt*ocMZEpkID8m-)@&vWGvi+$q>h7VZ?mJ|o_qTi&a< zhm#pGoIVpwoW)*cWPzL+G2}iYHgeBaQ5DJn64KqON{^8RCi)AoJ|i}!l&+qx2y+`* zo+jX=zo!YfSGrSXoHDXRBDcdtuwY$y*N!XzF(XEr&xoIyq{WdX(qSjY==-z4G_ph@ zpAjdmig)Vf88Bi{wD4#)M)wmGZWWK_drf}7uvKp|Vk8&jQ3an7?1%s$#PcKmruJH39^4D(8-3zOqWhn;c8%d<0j^&dESvnxlfMo76H^CcZ&cL42FEC z8!}9eBOPNphJ1TAWSATu{AzYs8N3m}+_tcKdX3=T8{TT*{lZo>1l15t zycGS2H#QV7kWsO`aB zf9A#r?uvBot}hj1%)wnC;w~h+yT0L)gS#S~yX$LC7u*%;++ANO8Wwle6)-U4GL+$+ zdAQ7&-60X)ry6E}NP)}1V5UGG`JyS%FF%^g{AO|4!!KZV2sZCx-ywpJP0D{ax4c&Z zhLcaK!|A)siL==bYo4R;DSl{dZpXJ(vIz(gXq!%u?+>%zOXfB}e?rz4F?4>{IxVbF(_IPtA)}11ch6LSS11d#N_u2TlFS^oLrC#7<@*sBLaXB z&t328o9Wf*O+jLLrYT6CSr#q#g`F_!#g_@fMDl>i7io;idt-$4`Ana}=C?#bLK^^q zq_m+-?I{kZ^qhub?nP>-Lwif)F2OlMaCV6-p8y_dt$ZZj61h8x+b!ZK+ljB^OPo%a46;HPWm6j6G#urYc0*p>U07$SyYmzcP z4>M+WNQ7qsOuU)_A_Xp^K^F-H9qw9FpkID8m-)@&vWH(z4GT8wLBk^0*Mqj@miH>B z;AA}rPG1K}oW)+HoPwP7AjmzN8MzPBQ59bgdb+C8qnv_?{sOG82N_ec;#NhNTRF8y zz)6yO1l-qy#?3gToQgzlhp}M6y6~eDYpJzEqKhMIad$x@?C#HrcC$>$Fjt%YDwx>D1duU|$f!16<)ABA+gO2_# z(VJZ@)OfKreAXYHe}UOa#_u)ljq=&q^j7R!n*terr?hsFwj-r=^`mFpiNnfWh>M;@}OY)aLe=%7<_xop;998689HVV%C~ zhIUNm?{0Sb?rHAltCTTgEVy@QXZo7ndqgZT^BxiFY38j4SHf}O&e0tsqlx3aiQ~P( z;fE&<=9t(qDxWpAFZR7JalEe=N8fm31QpVc(!%!FF_?ZXkOnfxpn;Smlybk<)xa)t1~AA;8g=BIdFKS{kvpO0L{6b@CbuGf zRig0hYE7A5`_8`x*Bl9m4DsMLMveLRvgUo{d4udB88^F;!QCY zZwetuQ=ph_QzZRq1QCt!5{;}tW7cnUwL!Xkrlnkk*4uj!ZNR0W(0ZsDt!s^BViyYk z0!iuzDeLgfxev(QrJ@(bi)8{YUOZPou}mmRUdk!oQ4GC{r#hwy1jKy3i=O< z-i#w3OmeZ<_sn9Iudqfs&TA21|KM~JCFeyts!Ce=9i!7z7de}@Un{=`C78pZgcl%* zsbsb#j7e){I7*!YNqkoaCY~89l6;Vjy0H9@P5;((=@+)raBc=`w$pcS_k_V@aT*7G z9Qly2lZ-zk(n+mg|9^)4@`JiuUHQ_>DIZSY9~SV#1)Q1lFAconlt{;jfb)LgbgwK< ziFEW+ocD91V<4K|#xR~Ftwa&dS`h}|9H8eW(94q6^H%8kO}|L80~$!=W|U}mu{w8Ib;ajDwT2w3jX#oX{E=Ye<)%f& z#*xl#ywvG}jU%1gc(Kv-wlR#@7)9L1##n3P_5uN&u~hNy4LG(2oG52mXTY_;pgi*y z>8=(!BCfwq`z~L?cTK|IP~r2$7Lhj!1u^<4L+%%~%-g8PO}y=Gx4U?oySK>QhvDtt z6G1@zoptzhFx&khzQgN!!g6d zI~!f_!h5Hh{-(2(;|Lta!7?)3u{ z?z$HX1;KKywZyCzZ-zMOU5#aLw_7=HF0TSsvKz18l43JbSLrs8y>H(6dEkGii2T0S!KDl13M@MS$BOe_oNp#Q( zj}8;=(E$Yk0EI`#)2tc&@?-Vp!-$TLC8&>y98Vy7leuzqL?VxlDI=O|bO1?oAlIYg zxk+w}j!5Ux@ob}u(UE3dP!k=XdUPaei;f8A(eX?d8=@o9d32-}m+08Eryfq2UQ~1!-cpEGH7o^N#qCGaCAU2?QVagm6)`))jv3j$_M$=zaa)A`nnqhsE%zY*A6C#RJVV{sTvPFidS7;k&y^_~4lgPN*s+)85 z?HU@Eg(+LO`((1(Cq*3H0C8_H{(~o6B?7wlhJay(02nr($mwr3n8H-ILjfaa*kL?t zI>xS-oWXN;;^EXzt+1L`ZNYb0;=5@&zV6BrrVWYdjtY~PHc+reK@%vhf(h9S?fT+i z?P6#dW%4i{=N?cP)ea=v;B0cD>!C^NWtB|vh0a1w#C(0{P z1QKb{xg6Ag?^(Sc(dVa%ngv#8$<)ZuBx_a&TC2(B3lio6!92n+`3X$@X%?6ka*EcM(E0>zsiE-` zX!=tXZAr4$^45x0#d_^K#ZRW+LSbhwa-kre4B~NOuYUQ{Q1$03YOM`BizZrAlS9L) z)r*pziv)G0>B&#%sXxsIQ8L}0F&hiC?TZuU;$lgD0#kpgU}~Io=eBnD*Hm*R=`7i{ zZKScMxow+IQa&rt3k3SJB5k=qlf-|eL6p8_DjPZT*Wa7BaVjJ=uTv8Ndm2L{2+(zC z@X49rlMf0$AsnT1m!9*Gh47)|s_zR+%8!2}^5~0yB=S}WBJ;B&R@$4WI(?|-EsvCB zb8^Z`qa^#xlM(E=WqtI7&58>d^ayVE!EF4}?K*8}&C@!ez<-=0coNel2t~@qCf(HRf zTjA=G-3L{}IFAwPMxpcr9>bEqEV;EuZR8m*zf6(b$`V=jL}$rujq%3ta8t6B%{s0X zXpV4PE6^0P=y`FrFrj|XTKA%nZSB$Rx-ypyDBV;0G;qwFfb;SCDue5nAI<%Kv&f>u zM@@XJzED}aPH=RVjD<$9w+-tlNh)(Ix}velA0&?R6vv)R=oRh0js)m+0*cYElcsq8 zzA53vHOV?N4`89;q3zrD4o$YU4as;o)EFMRzd7z^2b`V&I7hGv?Ay#vI&IA!Yu_Nh zCSSqCVO5w2n7~xZ({hzD@^UBu7bgIY%Cj`K)ue9j^tBuJHKKk_$$}_d;3-bI((SJ; zt7F+z)vlPRXjiW4^}H?VdAmTd9J@0~Z{Jllh|@hewP(9)d2~g~ZH@8W60#Qb*unYQ zsdaZ7U&-&0Xt>fIpX@^6PTV6D#Pg;Cb697^4b73}cw=&OeEq($JWh5NG>4@&Dn=<+ z*%Y#&)EsW?Z^{vfqVh;G$y93UWRaB_+ozN@W%Ro*@$9Scc$R{~QTGc4ZXT~gT~~%t zc~*-pZ}Q@$t( z?TyPOVuc^N(iqO1p2^B3}IUO2NV5)S<=5I(Z9Ar?}G;hd}X3|U8N13 z1w*^AOJ~W@#J0x7{*fIAq_~R)BvHb@C-J{t?v}8N4)DN)f_!MHD-S+^cy@!NWXai1 z1M@2G`UJIJ(vq*!z0oYXIUc-?bnK9$_v?*Lb6y!t7T90{1H0n@`y@Cq)ODE!!_8d5 z!OCtEtjvW8!M9~u^(7KKj3V&x%tqmHyGB&TnbHDJ2~c2GFeo;#{A*3Fz0Wn?3^u=~ zoTFzjV~**AJyl_43F~k@qqcoKjWKgy$huf0Q4?M)%Hk08`JgI0>xHcMS=)4$I?LsQ z95>NF|f3i6~KGYmv>to1)uG!-j0kqlUrGiL#d8r^?X|u<}q?7V9Ueuo} zf_l{-owC1Zi+`6Vn9Bv7*E8XwFKc6_tGauQtDrH{1&uR+MEEz&G@Cn1(h-Ji?MUt2 z?;DA_9X3xR9qZu4{MU>QujFnW8mF})e5{D0&AAmm?{5*A?c37&oW~%+&VWEt9NNpy zK1wpAT#*p25ClJf^qrn2&f`QbtiYg(1_L*d82-sk^@K9`L^@20ss6E;s${hqFSfrb zgsB<;howH``Ml`IF7L9cJf~yr7QKE{_vf}LGaO8u~=djinD1_AM$OW!rOoO6Df z)q}<}!l*{&h{%68k!EX7W%$j~{%#?iC9=mkIX*hfJfr;<+1^c)owv(nC93Ahey+w7 zk~b#sTSYR_{g6s-v_IU%b;Fhaa+v;CSZ`0PED#6Q6d^1yqcvqFP5RH+Bo2c3%^po! zJ~FkZ9Lo&`l$gmaXeO-PNzj7B(*Yrx_tbE+2x=xBJpx<8N>{Nc&Rqonx(b>?GRv-# zYA3qNl?mZWL0FoEEK&WY%SN+~XrLJzfo8TvCA!L*zPTOFNklrIU>;?3WeA8wg93)b zj&QISmhKVh=th`yWiK!u@4&Lw=xkYVuq?_$GCRw*wn=ZstXC!WtAw3_5DCYt8Z(+IBfSzW zWzt+9k60p-In%yGBr`H%`t|DYS=XZ1SbWT>7G(fJVOu&1=H# z-tupimPb0T2Jd#dPz^>puLkcjx}Mb_d{l$z;nkq=dGCzKUJY8ibMJ%%;{xK<;4F-r z)=V(&@`SKl5WE_^CmZ*$&cbVkMs6)@Iqi*n1+C{Omn{u6Lp0F%jSPFATQC%fko&vs_*%5+fZ&B6>Ze$g?6b5|KPf$flILC#p?mB<+tYOlSV+ z7;8NXZW-NKR(K5KUZF^potm;__Z7FLRo+VmPuqFmHS-RWqapHN`vyHCvig>9&lh*~ zwT`*v$MdC;i=~nCTgSB@8qjj7?)E&n{SLj|{(@j6sXVqM_2iBAXKO?I(eliCYh&wy z*6LgS)kVm~fQ+Oj;@67NXx-7eD={?!`(up#R%d^dXsGNb3Ht(3q3>ALaC;Qm`jJS? zEQ8MS*a}OdwOe?SRvGqj6|Gud+2jC=+Pbun?Q8?7A&IRR`+anuAm}*fII+UfOiiyUgGKTA3R6ZBfBPzVqAxl2 zTDh!k+!I!3ng2%P4i}knF(7NX$4WpQ*FHWsuKoWMV{zoaeQo}`bw}sA8^(urZkF>z zJ6eM~8Y6?FBg6X#_cZnm?HQ6on73|PKe(sKam_OZw@*zD?jM~R9BWKW$Puf?;PBAI z7vX+QD#t;X^$ZNi9D}(1baI*k=Ob^$&iY3x8v*(oJE3j zT5eRm!<1{MbG0j69(h&ddny`A*i{?A?PAReM7H>_&=5|?S|h(B?IV5_NGbwz3q-}u zjrJ>~fY*+o(Lk6By*GXq-LF;Z610_>-&l4XULvQdk;k=`gL0*#k{;$9yUCPCPEXtbQZnOAV&94?J`F3eeLpn?j zKfO=3rNdb0+K`|W^p#8z`pUKP!T6Ll84}w2pNM^xkVo_u?&(SD)*5%cqgQY$D9 z!>Vd{as>zbRpoFW`)x5fPZ9wYw{-?I@ssk$o0C)HBa+hB4a#x*iIU6}@f4TH>SRH5 zfw)5z;&yOHkJQ!vqf(vx8nc5T7Z$OI*sV&FufC9~llrTiVA{ba3P~6$B;zYX(3nED zzFaXvupUFE`hfy?@Q75Fhig0n|zf#>C3pS z3gyCY%7xzom)W5TjNdTtb7ljK-xL_X1+F?^{Dy(8>1JRRje!*eieli_z7*TfXuTj^ z$&eHV+4c*l{%l;Ihm{#`gY;(hFrSu^h~;8HR`IMOz9D%l=oC7G@=&=b&v8{A^Hml0 zcp)K9UZ=2iSvUwv=_)ICq6>O_1%(`3mBM|3<~63gu072%FD}3eD@2f7l(F=k3RKOD zwMJBS<{`>X$dk?9)6|57yiyy|$0pb;8hG#!gOLPt@K)0|^ng@f#a%arB>r#ZW#qu6^7~s)?gKT~?fv9f!dR2YoxM*m_e6$2a#5rzH|er%habTDOW68mc0mTrAN4P^)4k zl4jKRJO{l{K$i;W4~xDfs3ywlinj71=i!BMJ@(5JYDXW5U)5tcZ0ixrgSHV$i0o*WEAVj6$ny>irFSK zWR$>XuQX6E8_Zz(mG`hYDLwg`mTk2bW@=)1c( zsP&b@mkPQ$Wd3J?r~;04a!->+?txfU0veoqq$x2?AS%ye9GCe|;1M&l>PGR~^T=MB zmW)AgFLPtag&BkX{TS0@YkQ3>yr*PRr9@*QdeA6k+QslyF zK0I-zYoNEm&9@6~sNFQI>7AME;r7lI-aF-@^v?5CuUYiY?NXg>OJjfOoeE0tR8a4o z21@U&3iaN3ju}IHXI)%o*Xz6GQ;e-de+(xVWpm&vgQ{%b_?{6lqg<@wD;Ek7560z* zvWo1B7FW2(4!(`YQX5JnR4Rtjf>22w?vWuE1M(cD>2kBlDI8&VQ4Z=#1&rKB z0j0@G_$Y9fDKX6`pgfEMitD35;+f+paFiQEF3Kn{W_nacfhwhs0wYE_{V1Spi~=ga zM}fqayG0%al$=pO$$b`Tc- z*$Vp&Q{>CjEF!l4Idans<@P+<={D#2yo4yoJKi~%N?{!1aO0>>85J6glXMC&S#8de zV<0=kU@J3!LBkH~w#@~iiJU6?oBW`|QJoWSYmPsWcM#pu*muj&$Y$Psx<%e+I4#5Ai#1DpCjIca)@bXGH<@AIk30V9nFaeeHZa^;XB-0*I6MZ6~k`Bs`Ao>RqUjHfL1&~w2+H|4Hs~f z?{o>5bc3#EH!9+LE;hbbG?XBJKrlWCI2dwKO!RSWLUqHuuI^7jBp(H0bW$L%IzD5z z*xJ6e%=oI5UQYjkQBsrH5t%C4+GKpw%-pLKS$8PNDQ5nf_SY@EhX#DeEg=_X3A*x^ zOs(p^S!bcWb~tZxDK7=1^7^owc+JpNct7^?g`S2k8kfbS8Qh>^7|c}@U#|M!$qk*w zyT?bT#(`(L}b+Rnu}9&|FUigPmZ zu+Y$dl3uHEtA0k@{LAfPvI;~Fw>?RWMYVNOMWK_*g}uPNbkbHShDswsm;5jqFuKac zfE+2dMm%IqU(K(UyYlSAx#)<6%bi(8_SIceQZl^W&TZf}%a%9V=djalLP6*T1!_77i z*7mgj5%I}J%Dq}dDmNt}`W>AuyQY#2!{G^Kq*7EyCX#`%r0$|}IC!JHY^f?Q+j3;! zW3$lU&hPNli={K=!r02i&{w$JomJ$sDq8uRM`?1C87_jss9Y>KptVR-g&n9;LE`SDb%QUl!wWd^3Y&^fGNl)&F_+rkz(Kh1qeYWHgxRutT1mq z=9#%=v}2VhAQx6KV*ibGUi(hT#L7jjs9daE6fXB#6`7elUc0$sp|~kho7qB=QM|{y zOiFHKKB-pIl4O+YOy^?1v2ay1&B#oEi>5fC+7h2c-)Jr2R30-NB_g)uVnCiejh^b6 zfZlIrB>^qR8DPl8fV^_RqTwzTL;`xBj1o4@YJX5J~5{y1wO04?U9y6qz)t$essA z%)6DTSC#U-O(qF9n# ziCL)eToDfTQy!`Uq;BxMEC^2U%8(0t6ItM~PF97bn5O!F=fSZ5 z*wxUR9G1fpfu|03gOE@Iz5QU=Zm({1*juVRb+DU+1ZTX}V5>(&iV>6MWLjGB)9hK{`H&a#0R5epanH?YuylSa($>CSoXTOxC0-EEGl2nKI(Zo{Qw7WW+!9 z@W}0n(`V%&BPx$)#Kc1_Is0KstN+u^e6qb%v$vxHtZ@K$gaL>htN7f;j!9J;|CEHDttwE0V8(w?73f{@QJOX% z2+ETu<)pS(PM;SVr**L^woeUH$k!dfs3}|9Ul3JNw4dshmx~hZKR3%)qPaXg6g&+LZ=3DTGJ+zgdG4MCJCO zMtl381uNP4G`F){lnC!TL3a~p5#hmh3Ppq~lt=gyg_@P^6o3d<05`q?i0!KQ9^pw< zi*O~uHj3a8K2KHXj_}UBZrurRW%K|yMhoyNbTzKt-ScY{ii{3_z@2#pgCj!!$O_ zCz|@6YE`;^mD0QZ$wo?qvPX;5%iTC(g|te^ zRy^*zw9YtT%uz1Rw7885Nl?KFw6z+Fnu4`cx^|`J=YlYLwMH zaDE9VI@#zbNOWj?4n)|)T>)x8EZt`^cc%OdB%_@OyG?l=9Ig`U(s#m4j>Qwj2 zmG2VgyRrx0;`GI^E}2(5uTRA5WG?I)NmS}a=iFS8>L-|#h7|{Gkx!O)nx$9sYrnjc zE8LDIP4}})?+_7;HBU({?Nna~Z}F~>nWZ5tbjl}X-*)X4&B7r&T)&|tfA8!Za*y+k zRro5V+3qyVzKf!sJ*tiIxwUl`8%&iVcPA)HzwAyB2R$rWhC4n{n!3?pWKEV#<)V}v z&$l+GC+cUhf1)rf8!HTJax~9iSbV68;XaA+0rS)BR{`%3hNSpB9}DHePWKWluQ0^! zBQ{;Jth{WtC@(Yqz-zT)72fwCI|@Ht;;NZCw!1YZqo`DDK*oCG>@{ZnQh6CH1Fv-j z)i}d@ef)ZZ->RRbji$?#zQ+GrqpT*x5Gjhk&Q&-+8O^vnf~z{PlusC#)hvRQf^twU zu=9K(1MkYkfPBQjMEtHbPo69GIw9XK&|whPA&@~h zla-OQS4HpBCl;*w5Cw)@lw)A;Q%#s~eB_9{kMvQw3`2TYAyE*vCKbdtqdsiS=`}4^ zMrK^fNDYXo6XSGCpGk1mo(Y%o6Hqww6DByW_J<-&WinGzo~x=nWo5D`LUK?hj{7Oo zHNu2P%uE(FN|6l-MR3OS70v!KoG-)`R5Ws7L4l0VT4QFPfWq8(k;jo-*uxZ<=Szmz zm4K?7J<5qkmD7`D;spGiC}HLmGP(eA~9s;#R9W>;mZ0y!3@0@>Q7Q2TK*i+M?D=;=!1!@-Y~ z#@2KGL#hlrg;pw$kSY}5A_ri@he6l?+%*}W+ZgqSW~$^lHcVAKx1&wc{p^#Ca=&=i zf=J~P---Z52%@f>(!NL9l6L&{gx$Tg%{Kkl^eD8#w$55lKyp#u#qmqC*X#=|g&}t+ z46|I!Vld>=su=ELm;W#^-S2TKemT9&{S<)&q7r<8@vuk7hiGR}5h~0D4#PPN6g8Nv zXcoi$qG=QZyCh4}N%!ih_v7V5$deO$MrHqKVy#}U-7_^jIbEk}9S zmr@?@)QLxD>OFF-tPZg_G~R5>2cUhfeYR^M7q&Wt#rsu@=}OjvnuBTzM18106b^L% z6RkO0JB#I^gW<*wd8EKHL6w|kRXXwsMlMOMYtps&phZdrINjxuZVEs(PstY~wZ(a~ zQ&yr(Rb`L6u==^gs(#Fui(M=gC(_puY+|#uML|N4;SEa4XL;ms}rn>Xgj!I#y zWu<77nQ5y$K|;!_C%#mOnJR8{;-w)QTK}!0uNMZo`_0awq_7-Bblzx8 zR5Ep|cr#3pRgo>;%qOL0-f5WeU{B~J%JXFBxwFa>+LvLUCL|c-souW6o#VWYxQ>?f zBy92I(yY>i8t28?zADCok6a9F*qIb-CaLZJJ}R$dR4Lm@za0lRJ5&?O!;+JtPgHqA zQ?de+m8ST7U173mri7+=QEApxRyjKh8^dEQ`6%2SA!V&ArGvsf%e8u061m4(lDgpD zc)Lie%2^~w6I=3f=!&3Fqo| zY*)JPvZ0ZQrW{Nh8`Z8tjyTVgoLrQN;$BsDx^a1i;8I9VnJOez9wGgJwSQ|{7o#l- zs+7Kr{hUN8&u}#-w+)ZVCsXRkeQD@fMqZtugifeJ*10-9xEPm*T2&Ep7&bR6n9Y>} zo6E((1}J7{^Y&GuUdqQ8xUJ>F1{9?Hrs_YPt+Vsm;Siq!u_mEFtpAY+UgdUMWNvn| zRjH|%2)I{dv#kmJC232crEH8zD#Z7!6I)R$^n2x?R8o#}D}pLjKzWs{vYhWM6w*aE zFOifcx0W%Zn9ZD{6gWo(LorL|Tw9!Tp*u$|?07Cx-hAlJQ6N^E6^Mg3IOlhgbK0*l zkyyA&=|$8#jFQ?kI3{VD*%z`H9tA!M2nizMc(q!wfSXRtz&QuDVDHrzPkmAf)@5zT1*Nfe;a$#%n zG~kmp{-{#20D}G>FaGFJ8$VO1k{J|+6%iFkF^9m0dZu#Fr-}@BrqbXlrMXOKaOOwNU`fr&?T6>d zOWc!kQ9StC#t>fkCWy|*8HLuLP>~%pY2`?j{ zSa+9;vcLF4LrTkD@#&+=Al6wZs~n@_W&2vunD!|ebq~G4&>G_Fsx& zK+MQRIfwC(;!IZ;)s0#q=_@2#?+Up}R3m{dI8o0A>ZEi(ubr@Qt4i$IVqPZZl_2>= z0##!7@~^GY)gpBH(YewUbVUdwgzCWUB82cz_UwaO@uhC?q~mNcsVDu`^7yt?k8fkvc(@l1@O6 zd4f|enU0bkKv=9X%4!ebOO_Fz9-x}|LacGs^nmse2%I+lRa+`rMdQ31+MZ`RtmapH z3qihJRGfYME6U|Agl!yzTvQQqUc6m|5dX@aZSVcV+-dQz6vV%(2}KDUkAIIZ2Fpwq zx{2J^JY2b72Gg0&BV3K8IAS9g_KXPFmwOxaHqiNYfeypDp6u(3WV}-1ujC2a>R0>h zFMr%QEW?#?Aw0}G!jUZ2&*j2C{EUIGHQlO#7Ty@3T$ec4^(j1!%jf%5y|8xVKUoWz#xlV6gp! zVY5=yl&jLbvr{IWKq^(MT-bMy=oW2LeQW!BsAq*umGWp&gD`I;%Fd#piCsgb460Hy z0uWQXvU5Tt2Hz+b##U{7@G~y&ZdK%y1sR9z%*O7ujpg5ndO*xNNz2KXa$yrdG@MkN z=?2JbKl7UzMuB+BO@WRRg)reW+%Wy}iO`AWwn^DI+m>FL77bP9=EXFab^i>8QZ7n1 zmFd;Cak-(Y$QLIUSOaayP>O5r5)?Ps0&SZ1%+f&}R<)ZZM z-^f;peLH-`OWEk#%Er4vX;5Oz&dYsU$yp3kat@poa_`$pL*G^!f1A>aOq1F6?fblM z%SEMc>kUk6H;6 zw#vZ-?br8?%kc}J{8d?4grzgTe+KI)7X^X}^7))`xpk_@X9zOc%35WeSt;nuiULKk zU+BzgW+E<=(U~pcLTA>nr!!}=={s|eV?p6m?fu@R<)VDb?hn*9K8u>gX&Z&XD+=So zx4|%fs*2%0?faCufH3Mh@HA7E@eJ=oa#7CMekr>&W}?tqWn(l~Hg;9;S7OVVsQrX8 zzA6VhUCQBOpK*9HQW{2UrSY-vi=}bhmEiO%K|$AN(nRV%xv+QU61Cr~c;-pdeM}&% zBPb5b@rpyLEI7EPDu?^n z-W(hnnQZQEjt^dO`QW-U21iEuwoRFFt5{A4t6H0qT7PR|58>;git|Lr*&;aPgYTO0 ztEsQsxOX_$)(V$*?ke(~6%E~PxdGfRcJteGd~F}M>G&2D-tiAL>YqhOu;d{Z_5uQ2 z`QzNyX`)`)ShZ9(kATEhqW-}W^~yopl*8XeVjLdzN|Tjg<(&5a$dq9SZg+?MAx?mv zO>22}R4&Q`b-y$LtNGRXN4||QexbK@0#uFD%QwrRr2S{;OMla2N%DzA30-^PuY4(Y zVrpz`bbNAfZ>!0N6uIV}5RZhoRk55@Qn7cZs4%hOcD;?;^X*`ja*VJ3c#?j~hSBml zw2j4hxvb=izn9^Ox=JamS@lbsO<4dq}*NICpz8I$7OM`^I5()i;tt5lQehwiFU z9FbObc8F1G(Ad+y#%x9hRpVU8;pjxcVRX>@Sq}Gcx2ef8iQdo6@S_(;nI1Eb9+&4X zI5M?oy9^fc_HTOJ#MF3GhKpH`CaMPONOCc-frCV-xyID!8clliz3lG&4t0OB$e9XN z7hZYZqB=a&8J{DJoRT}o7%L-D)r-${mIo>nRs#)!;WVcLNvYVHwv-;-w$L0MUY3}kox+KX)0Xk;eG`Qgo;+syUT)doqN{a(h?x*_^C# znT3*n5nPEdgaScS3_-Wi!I64C-w&g|+}Dz^a=+BW+2pBgrrysmJ?i~ld2#xT(hkSk zUVtl@Rm(-0q}^gopZzle3d00mVZ5R=7>rXD!+nf%vx%9$HV(&-6oHhi64+_L{C89o zJ?!uq-@2(VBsYa&i=n_|MY9<07ez^a%Af7UeY|+1s==qX4z(-15c?l4`p8B3Ovc@Y zCmE#L71rP0l&=>|$hq%9KO#HG8Ci;!bYNNH|BS)y@)3iP(ZTJF3H`Fz;NFJh)v@M| zp!G=ymt;IBDfU@qGFa1+-g07JClXrewA!2 z98?~c!S?X7!~aSTTDh=&K%}*^6MDb)H!X8MAl`fsAk>zN@=cCW1)6z@BCMAx5W7MO z#CjL`^gh!_cBbX?7Q6G#bd}gU%cK!AYRvW^b6D6>Odg<61*ljU4xVe6U+#J)y&6>2 zNBtFuLPmk;XH*9-NG7p`R;4-BX;>!-!U9RwheZ%l{IlI4M{ojq+s-NZD#wn7M6j>h zC~{`=vq#S?rm+IDO2#u7#I0G-<5p?1ORf|edb0V}hBl?h-iM-uQFkC7lue6|N{EJC zt^-6C3j}gec70!68dA7I7%3M!Jj%6NG$M?Q%iC2&=1D}_{z^sm<(p|Y!NVef;;qL< z@vCoDS9hH|XBOGN_s8$^c_A=Iw`=R_s_N?MK7H;P9-5HUkwS!g#)V(3roT=;gR)L* zfg9Fs+b0b|g8!Gw#Hc0*Bj>J@Pr9v>(*I<4d~nYLX)oZ~Epn@NSFuZz(y^8hHMJ+C z6xx$_r%|$=_$W1d`)C@aH`yq8)Knl+3MB+kQE`ZxIuh7v1}k>zDVPkHMn!^a1`ENp zzt~pH?}QRpf8OJ&JXo;-M(@Z&K66|RrQg?iT$Kkac+;^*mC)>QHH0-KM4qaI+#%j) z678-Zl!ug4HX+@d-)oRZ5>$gbDoyHW%AMsbaqf4F=8*(dB}BkfLah7xbnb63dWR3nb3=L4!ma7Dt-|uN5$2i7Cx3Sz+=J z5Npd=S{zjf>{A}rZU>^6&Et)uzu<9H9!ebjT#saUzN1J?TM}MEO9z2FP`g)I}@=)UF*Rw|c{}V^GC&W?hiN{gv ziH}mVw;o5oYNOF(Z=NmfPjva;TDNQtM3z{wE2(D+#tQ-~}P5T$3qh*SZL zo^l54@s8dv`RK_*8NH?2mwMLo%8TzC9@#r~|JZ0*)hR)gqXgM6rLRViF>ErVot`c> z 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%0DJ(AfwW_T*ZT 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 z zOMA|I1<+#9Tzlr=l$~-Jotd5=nVeR%>N(eP^`ggGkeulA=aPK4I)+i(Hp!P8eg0e| z*t&rP2Nwwq`-}2RL?5u(X#(319?lwe>B|Vzs#qwr6Drph6I(CyXH@HvI(4>X ziexEr^~esyl14Z-y$rL!3M<_T`e8@n;Pt!9vO>aDq}!cv33ZI>k1u8g_sfK;!mXjA zKtMGs)T!gTMKZHOf}jTze;|q#I=`Y7QqJ<4kJXf{GX$GeK2Y_eJRv;ZkUe^+}#aPe8t2du`Z*KPqbPDlLKhk@7yxhk{?bM*0A~$5gGNymiU))cXkk{~KofuIM?P`z_meH*Xux@GrCm`|%Cew1b1 zza;%T%U!wT?%=w2qDM4I^f;G~`yaW=>UCZ=>H+h}VQjT}vGz(V51#*QV)@*jcwvvk z%j0JsdmLU_t!H_+`xK8T`cd|o*Cn-yqPp&6LOg>+O3#qV8sfkcvbUMoUX$&_D=V)ryq7=1NtW>`i#A@ENnOc zQN3oBsA%^Ja#rHSWll9EGz1&BuYxTTzK)O?J`)(W95noDiDkl8V1CNN*mwx7i{gvw zO-AZTeJEh@cexV!HkX7X3{5sKu1Od?3I8I;e^%Dy+(u0*FrP4tO-++Z6rV7%Cb{P- zo6}r+&Vo&n1-Hv| z2VZw5EEP=nVRwrPmRqDwnQRZ0FEq*POM{`UZXLkgo5wP5Q=C z|L%l`#)*SxZHDI>*J(c^Yy522cwuwUc*%Kp&{forGVkt6#Ow2JgJXn~&$|;LX5d7K z%Nh)tJKa|01aS`}`q0aJiml4r8wORPPwJHD`$mIdnWf6nGm15)g5LM#AteK=?PmhY-BgUgD`W0uH=n?N+MT=y;z1*pVw*<@w*+H%@&BiqDFiuHW%XBNi*4S-o*Sqq2u18 zHS}8Z_vhPZx^L@8@$DZmb`#-f^6omM?*hEaAW38ze0#F^_S9m&?Mv>&L+AQnwn?Y( z%nzP09*g^SLfzu1T*JnNGU`T?zM|~6wBML0FW*lS6TCgihquGzr;N%$G_1y5l^rA; zLSn)p8U>stKQ*E7(}c>RGNF>C;7V^WbL3_fk4rPIlzU`JKTX7O#6+B(Lx{hkS>Xeyojk*KYV;G)*PBiFG`=$;sN#_pUv(Bi{E zPqgojCsev8?AfvK;d`4zhdwI$oTvV%g!Piz2a~Xt(Dd9ct!Bylo}mG_elY(>AG(-o z@mU)Cns?q+8$1}!2h7Y~u)c!7`LPi&wr{Wg0wHbPjm-^SGk9SBf*bh0f}R4Koz!XPxL5%0YHlAS$>`}SXQ`7$tJ*^7EW))r3_ z`r2y;ww!K?<`dL)?16nQQ~jK% zuFX_Gk-IKj^y#kNna*isS-@g<8LSg(SSg>YQKh|zlgdNxqvDV291&epp3HYL%KvFt z?qWEwI@Avv4jPv27wd3%ir{52-;mmO*Y3j&hR5`Znw5YPHQtg<)ckbdADbyBvhLI=Ik|TCkC0DE6n|pOSBV>ehBhpxNC6e6h%efb=nLIm5 zMswjqc&baDw>z){M|RqeRokNJ3AzM)yolX~(a1U(_0>I^GVk&A3RwvAP(--}V}qw3 zR;;G?zLsR{wRaV~^cs2lAfHZjBPS}X2NM-v5B^1xZ9Q85yrM_o?*PxjaVFRq<6q)Tj5ta3$0d9?@LT`|FbI}W2O`bslV6T3+%4F>6P8So%`7{Afjt&*3@BDp-ISwGqC`(8N<<&5f4WhMx5Zb+Z?`0@vmMKeg&E6Ss7}~xg(n!{6cG{x zVKlJ@qEU%&VVaua=Q$1~g@V)cbYwNR>x0LC4;&gS&KSXO5dN2lTa;NquN2Jr=Afk4D`sZL=CMKXNX z2g{b-v19k^(`6}$G;NV}{uh0pw#Tl49T~NL=n?_v)NFe!H88TQq1J_qpH?gLbQQ_N z%PYIDgQKzver(cUvypMNDcG;>UapN8K1p-JC+%Qzz25NS#gQJ!Q)-+%0@kIW3`hjL zDpAWjEWAi|OL;NA2GVfb>?j)$i7-pVBqoL3LYPUu&X{&a+?A#V^L%qD^auguIcf)n zWM@@B?06g;_9P1RIjZW1?(w|8Iy2WAEBU{Ll|+nXcp~O|2zQ$}^h!C=(2#wFTcHp* zN%!+ICGL8%tbV>xs`XDDl01i=yx$S zlXZ_L$o1wgB#ns(K_LmowgFCiD6x~vCB~LF)FEM4;*=%*eJq=tg6d&%MA8<{O;5OG zQ}ea48SlzHy;A2m52Tm%5?JLBPzkOTJihW%ui==-dvr)-s!_q=g)+oU&je8oLO=ar z!?;S+mmJDB`cT%7GL&E8c3r;bBti(B2>GJt)n>h#=hPwTAbjkH4KkcU@*$Ss$q*7{ zzki(J&7yUZl&P_nX<^n%5Lhb_0ip!GDk$P#ReSN8BWN2BS0Q# z)fW9I#i%#AZBnXeiqs)}dGezMNiZxttI*n6*Tac(7l{)Y7`FZKf}if&(V8BcH855K z*vr_s2i8ULTidTUQX7o~21}f1E(Y`EcQ{>RX&N=63Z5uX)rdOxqC~AC)cJ5(Qfx(F z-M8DVA9mxA?)#Y}j0xN?x4ZAJR01lQR?6>2`SRkR^0b*lb5%m8yB(UK^to%wLo=Mt z9&PLRwO$3ApV4fa4{Uv) zl$l_4*5Dm?Rk@x0;gFQkiE~w{rlmw{&}gQ+Fd-wHt6}w(*acovuwJ=-_h;tGuJ!+| zM-J+}HNCVxUt@XJ@BU2YYCHy|&C*;FiJZfpi=W_Sm*Xd1#rg$z+J()mI{y{U{Imf57ZfEi1dL=VuN~j;b8xtFna0epkZdW+5UOUel_~M*sVaZW@XWbs&F% zj`@5Kf)S7P!|s&B;P(;%Tje&z)R2rP0#9=SzW4Molb|-=)FHXdQCOwAR`VqJ+ai_o z-8)=Z{jkM3;qp_7S3Tct61rT|-kk^yNa#e!Z!CV^g)SGhdmt%q5y=10AejhC_|Jk; zc}euCZYBDZT_kIxOZY# z7F7CCDuG`%B{%X{E3s6~g?iHzlbn{pU%?}{O%i1Ybyti}>eCX-A47L}@9Rf7`0>{! zWf?=q+ZY`aumBW_NlqfI?6NNLgK^IV1`v@QXUWiFqCSm#{ya2O@_oI4w%SUqJ zeSuTp_ytB;Kq2#9fO)fH?yg}r#DMTb-yU14B-SL8Lq11L|{G>m4NT6 z0k`yTbbUtcH`RClt(r~JG_Q$fWH5jHv($3Z$4OJAMt(3)rDmkc0n+U(-4LDAjXFM< z%3L+y9x1bwa)!a``{R6?Ipqm?WvgdD=i8zdW^X`Jp(wow+Ip-tdT_p#-V;@!_WW7q z!8sLNE4kxrJb1&+JMXybX1y>9mY0-VXtEI9q?u?fsN>x2!{%Q6)$2I_=A&w1b1>}^ zQTsk03i?r^_KG#>9i6mQ(i8wg)J_D5+KGTi?KO!&yB4+UkRG*-Rk}dj^9W93W*qLa z+>hwQ8vU?yzl6qPjk5x3+%E_bJE3v(IiXRd320SNYoC@g{RGZw-~`U9xPbd6L4v6y zAxJYUjy6fCzbyAWQV{cbXh*SJKkWP+i__EHu3uBX2+2Vy=s; zo(w5M=*Wb1q0{FqUBU7cp-$O1a7-CX5fTLcrXQPzfGAd5yhdAmCG`A*SdU{7`cd9f zxhAPnYN4xk&Gmd90?`d>VL3F+V%)-<4!wAo= zhklet)NV@@4y)@EA$AxOA@VK?P|q<@CM@;0GC>`ZeMX$*4uh;`hr!AT>r$uBd|a@+ z>+6(n%H}d0@(SSUq7lFX`|yu{*rMJ6SgX(k}a ztRTyT)szONw1YITf-h;H!%KivQs87j1tzlflL3B4K*tEys*iPZPX8=h-FIq>uyW`2 zr50clq{3c;%r_9)g0yhdH+7k*Qh*)W+fiO&HH!55xN;7Ay+Y4W)Di?zleDncs(GJE z6?ykZ-)3W9sP)*$=={{z`%SGH)W5^}yQHXF4lX z<>CpCN29>=eHX*4=hNkWc6W99ihU0aO%I8N@33ax<;!}Hm@s(Tf|GU4?>lH!klv_2 zPO2$4(SL2J!=Qa-qUN`L(#PF8-%(YqPdPHYpaC_7ibRd0&qRu@$ySe2FV-J(|AV8- zL&EWOui@kvrIteV8QHf?MpbfCt7||jga1F62KfYC0#QIoEC3;%WRoqPdo@&FyQ}67 zvdNRBKVGsy`gqyz7?EbOd27+wo;!;`#|a3t{I~&4bmodFBAmPTkJX5UljEIa!+0h; z7!^vo5|G65iu>D*(nkH!9^XJ_8tL=QraCgZryVK3ye^~CiA0&*dvy7QNcsHGSSV`> zNPOK^JZMBuJrPl3W9XweBR52nuqCKbYTfZPsdjW$?LEd~B7OT?6L<~iX<3eUCm^Qp zvi(@adNXyJiW4#}4hL2#sQ6yvuy8LULG#E0&{Wj|^g?nTB1{&GXi*{BpPE^op3U;~ zV3rTMS@^~|W{E&g&u00J<(dU#6}m*EJRI;l3(byY|l`?=y$^a$BeDCelQA?SYx8 z$47M5$wPF6=4b}aW_-+-q8zjb9jd&+qV%$Bi1G%@7*3Idthu52Rg7o#`c!fA zY46)coQdA1y$Iyf-ai^pZQ6@)KJ9(8Mr^s$9+a5&5X+~%?-`|y`lC&I-iRM$HcL-? zAgijHD09*TmpgK8IyGpNw}r++nQ1So$BcPYRb(_0zLL<{hVti_gNxnX#&x z9|}Y`Kh=G7r9guV>T4lx#XnIheY!VG zYA)f62_W2Qo+}8%HJ`H)Ksy5xU1={PpeeH;&NDeWG}Q9UU(Fre4a37aP@uB^{=-{# zo+09-nrBFqyqfJ?Z)UG1k?v~y3|jF)ut-M0^3=(&>Jv%)GW#_~wP#+awrsjrSJev6 zknXU96eFXfEgh@S*$MV0*a`{7ir!rciDGs=Q)2lZ#cubZ-bRdWGSzn#OK!eI1UgIH zSQMTmZbTM5>$%3Qia-<;BAkbiy#^PKPIqqApYo^zLkH#(WnYYD3`<=jN#FXr%N3;& z??Nsbi=s8}Dg(O8G3i#m8bG&FTxSgCZlh|ZzndpI!<7BATtIJfv+F zU6u93dy|~e#>>8>&PcmoNE*LxcNA9@Y^no(4|$`9`J&=UN=RSBZ6UdUWdGm|Dvh9@F1vMn@0M zx-;4}!Y%eqTAk4!AKW*i7+52xO9K`6omy)7V~E=Zr^Ji*-qIod^yV2m%LjC%U+)!< zjm(dX&yMVG>5zXSnl_q=vi@b;YX+bH$fO<;edJ(k_VI1VIX$z@K4JO5w!$-U5bVX< zbb?J^uDtln1gn3&=z_~Gc_1)f2y_WRmt6KhP+_kQ!6CZDe(|6Q?O(ps#=8q`+u}3R zDn&<;7Yc0r=MU-YA{@+<2nz(2GQEGhd~%j67xc2eB0ActzU!$obYsRe*U`7-k#MQp(ig=) z;)Afakzry!+q@|DGiUk?p^dN0M0ITrF|W_g9#5RDidQE=(s45(m$+m|me53^Ue?Ld zR4K|~9y8Os_$Mg_o~(bCLuNl=>Q|XbC!JIBX#@W8tUwIVli-L1@765w` z9JgqsdY&M#sOfALr5!Ir1=@o}cQ!rO-M+m&(B3VzuFAS!CB#$hm2Un7t@NiFt=?Un zrp0V{xpioJCca(7u^D=OuChg_S$2L&f6ayliMbUd&oweq!^n^l)<2-JY6A^VrhmSW z`=`6^CQSo7nY(KTOMDs;k6#jfcVDir-g8rPUc$uZ(2}rT};ackIY^ke*rM}W= zsoyG=0trijTj~8I$x@jcQ`kZk#`eCsog|>o+wo&0t9D*S=~f^ zW}VllKZ%>q&WO(zq9@PaNVJzc%~1ISG<2I)w8{%I-^!YHS8L|gJnRk;Vf}ri|81~} zgbSa^?&H0XAz6i`e;4ncjZBH=p$~!AeU$`HxWH`OWzuqp2_(Pd~t9vd{t{0ZX6((@`1pYi)5yHl$`dZRByZcU6)n9 zPK4e4j&qem+-n+W&|u1d2JQz9-w@bn3Qu&88=IXuFkEGW$=1C{uJeh8#EeW0yOhXQ z&mG*S^#SFv;$5o*9VFljl}O-k;+}5AOgzfc-iTuvCpNI7@c95q#|&VWjRvB9*_ORN zTlV^3*)x+&OAlS$ zFxn+NtmFn!9_)iM>vWei07(eS$4VZr40S5Q7jQgxi z__j!xeG~}O*hILyx-~mHGpkV?S468PC#LHL*^%k&%1rh|Cfh?}VZvq&^5GhYaGOvG zbC*Zd*jW6gUP)T$CO3#IiSG>}>x;0xPL@W+wCYEU+z z2;)E^*;9l$MMaoh(|Y@3t~JWh_hr;#ZW2*O@M42iaOL$}}RVDzmM(!OJzGq2m7!tg>ezRDuhKiUMv{X9Ng-cc0ru!9VQrRiZHT}ynH|Mc&yFAp(GW&d( z^)@na%zc}av#Kn!J5${)s$Q0v$bKJ#(7I|or5O-6=6Gg^HV;L@vJ-KCIWe3=09YhSeS`$B(BT{uQ0g2g&A;|KoNimwBYzkAyQ=mr5j9V z>w4PVCbSdtvr!uhGo8GW!Jf~_xX%gpeBJkBPY7a92)aGr;`a2iOa$_>%$pnR8R5Jv z^QI;22@Yi$1i%{D({S9Lk*b$vOlPwv?bs6vUY1$Zo;i2No_A;5yM^nEuD7{8m%ZqM z3X3kN_@e6_rgzE0;!DYiFL@gnz5p={Ps5|#{<-H>8 zi>_aBl^0)h`N$^wg$%0$$dJ~MCce*fp6HZ^t!r>@oA(-AeT;?mIn%tf$R|XlLMnO?wDLhr1TKCzHBIq;M*v{G3S{pApu_;*2G5z83n7!Q~}l z=-k6x3qhMP1#MpoeX-Z{aV-P_p&SHX3oSrcla^amhk=8|!Qn6%9ku{xH4Cm9$`u&} zGdH5FN!xifoa-|V%b0@Wet{s25d>kig2n&4`vr|G)4UPC$Y!pbyWcVm+`Sq1zD)Rk zM#8s;#zw+-3VM+x8Vp7?YY+9_|k4?%-dF3>>MLWBBBDxLRTYgD?Z=djk^sEydk>4UBEB-X~E`-H_Yll#QbX9&ZpE{7Rky2yd(`E0?) zq^Y}hx^-xHI&VhM$@hy56z&%rPO~7~amhAImc*iYAj4r@$Z%{3^PH5(=#$-RW?KiQ zMyf9!CY}z=B#pHO3|QeVR&`1r!hom*18xiloN5N?d|Xzw1A2f{eFU8Br-1tgLX_CI z7))`S255J~&|XZtz%OeTii-D~D3x+C^m!tN3p`Ka_+gjLNn^iM)K*2Hy280wWfxL7 zBBb0A&&!tfk1eUO0Qntk5-!Z#F!Q{xjQQwy}+dm-1JWLo| zt8z;>*juYG3vBu=qi0Sp1k2Q0aCPdZJUl`l0p$#{|Ftyv^X6`nM7vS)~TcbVAMNZj(qpwp6m0^ut&u0OXp90^|-8Vh0k1XMRU*)XnfYebEWrE9DH zPbbxwkVylO9U>(SSgKMxB1~e}h%miUJLc?Zgse9fvR-?Qm0AibRB9a>VXffg&{CJ8 zDwSFX63L!Q?bG#$*uJ|D?q5cQc2vX|+M^Pl2Lj;ONy0B)q3!;3Ri523riXAjx0O=f z^x$kc1vfrBvwx8C;@IT)cuQxb=EHfncw)0u9&ef%J!o(6PtVK`>J^kZuyml4>R~_` z9MLVL3B3|FtuuLvHEIOi|$L5_u83iTU5QgcPJYzmiJbu z5Ap&J6bgHw_zK2QY&MM~X%DhI<-%S^JgEhA#M6s~FE{0@!k*ssP7iwx>l`7k5|vZo zU{mA+n;8L#47-1k?`1}Pc}2d5#ekvluo!re?{$?Gn`YLAX+K`&gdhVEf>lwQB7xa1KQmt zv=c6}Q5*BsSmc|^xKqKNZ%Y#Q%T$-JCj_x41l^wR%BIq1|7;^Y0(p_|of#FBy(oAyV~2{C{9nH`ZACA^sdT4p+;WtmRD5^2-fcMmX2<&ziKX6|liVPpEU% z2t5tU^^9~W$I+o*bUk|;LvJ>Q$L{L=t=S3tBnXT716jEPV(<4Kzn+Nq3z5~Rjzw(9 zP$z@TfMmoIo^%_9B6fuH=i9$gY*c86K?4qV45957GMr?gQ0L4=>}78^K$&agP-ZX_ zP`+c*6rZg178pFv0ESmB4a3WcKyb$h2w$Ro+i04#S#^3Not@P$%YomeB(eBGHG8K? zWKPl{3nO=Pmj9>?=|XLh|EOU-w2`hL0)9&dAF6>z;i;A)-|e{@k1&EJJnIo}Y!rU; z3WSeGj zTntZA5@?J`UJAU2y2zR21oLk)icfZ4r6qdp+scP!B{mMwn3XIVU$D?hd56NC6=AN) zSUc-jMSmxIivS28+xpna;r0j)z0Y03PIqL+ch=yeot)xx1QG1CF`3!BkH+F|Hd4@w zk%Bd7?=w0&nH&I;G3i>s0nV@uXoG6k$yG{M>sM*^t`rM zu6DdMZE`L5OPSusFkl8i5HIcAW(*enPG&O1g&7fF#-%c%S;?u=h-2KEs4n{(nTY|> z7Rk0}26q{a<}YL>3@(v_fjc5n#%TIJrU^uG7b7rbfq1JB@z0%R1Z(8=9d9gM;Hch_ zY_H*K<`3p;kjB@*ru}eyZ7$=^3D38~ zp-2vnA0#jwA9RtbA0#k&OxGx{A0)7pvroOO6WGs-J(I}1*ponE$Z_uj8nL1`7AtxY zESAhDQ&2K-wZ+8EziIt<8D+CaMG!xER0`npaGlD% z#W?L>0jbW29m;|q5(zIN%~u^>O()&eCRxsEz@m->7He`k+pw%#B30UpV9hnH?wZzt zxyh-SX}`hsSQhIsG1!n9ym+Blw_JD16@T@O({4Q9k}a?}GXR$Fk{OnX6{*r5#Cpo* ztrv0X--s?w>qgh<5vp7U`Y*zm$VF{e@W{<7{%0~I~TpK^&(Nnsb3`O z`MMT=!j;pXq&BXc2{x`*e38NA^OB7F5|Q)r*juWOD0PRD7nEOBkcj0m2qGT@aSh`1 z&zN?lJQjhxJoeKWD3)^~oR`Ob%HZljCzQv)p*)5F7iZTp91l8?st+sE+1!YB>~} z*_nd}xRxc2<d(0R06Synq$4MEx&f?(6W)DVmn>Q`jkR|wZb+FzK??a{_FgiC}p2olmD=ppTIP0xv{ zLLGrNNn-l?>lrA9vaQ7G-;f3l6>0<^AYn_xalegJFBJsQ#&kA&(vCf$K>Jem z>>eHOE_h7)kD1DU6cwLe|6x(fR#QZEBNH0z-a^Ce^c}ZTsA@$xijC;}?aEGD8lS@q zQ4n+c%+@}nR`SaU$cYgtDe-BSyy)v~~#mIVe;iScF_9tDA5VE}~Jva(UuY!C{4P~!|I?0lJijHz&Vc3>3*ksBovar0?Q+TrGmaeECT+JQ;{G}H*4gXSsZ*zx|5{_J8-DE9PV32Jed;`Bgi_U)34sx~+7K97 z7LrS#mkTJnRh&oyA{_J~K`@le$!#dn&QL;d+7}&4t0&tB^uEW4J{|KG`yy3E!Qmh(I0UQ$$2zwpN<5+)Or(ftrO=Edy1{H@-9S6t01Mg|?S^C0D=I_v zEbVPhr&koKXix%19sjz_-l9PXM0p24y(V-ij!~6x#3J1F zsyeafn4m%VC9d(1C==x#PLvxGw6#OYhsz8N{JoApUdLCUq4fc8opAkLZgN}WT}5M7 ziVUq(`7xm~{%mB}_@kZiho8{C*!b(Z^ArEx?znFkZp6QiDcxz#(3(bAm0JX9@^VNM z6Cq8k!#}1>t<+232EK8sp zBjwd@4jXeoTW3j~>LJeUo#( ztA_JWH^}`?mzf-m-jZaAgQRf2&mkUkt$xg;HI-SHU{4yeDzgnj27qIm^O<8q8pj5k z_IVt8k@)_kQ+ZNUaB*aKhY47lHOsLK4y7h=NR0~|+w>}lp5mgv-R)9tdgbk}{MQoX zrPK)TIGOvQCCJOGvfyl&IE*#NF}FqDAQ}Va14i^ObDvW>_qo)Yq-$1*MuyY-T&37eTY{;1Ef%xA z*y(?MuIO`DTOioce!O$lf5@E8K@cL5%C`d>52 z_jg~P17!&}RcBR~gGR=mIkAmDkQskyN&7tGZ%*`QV)+Tj{R!d5#PZLRfQu*Ag>ylM zNdz)XB6RY1L(gI>t%Qs6n{*Wlvd zkw$?>Jt^ZwmInk0IuHy3H2h_wY*wU{7mav|sYU!Om1YFce`aIrKicU(uxVec|Ejy6 z?{dU<36VVk2!AihG+*Z}m=#nN2k5eE0Nvw7mjVArrtALh|J2J&KAV+rY@lMbe{XQ= z&8DP0`(ROdfDDI^U>6z4pBR}8UpO1^oOK6&(8V+O=qw=EPyk{}O|Zy{OVQ601l{=u zq2e~qzF2@L;i9(idzFeTk;{`m7cYKjrc7fXj@Kb3$vgJ@Ya^b$wYC}o<3`883!5?0 zbC_O`1mh0JxTl6u8tZC@xYtebS0=?KiDt+D5s^kb+x4#oYHxLGYPfxHL=Q-Cv38*$ z`)1pgg6bpAlE{i0KbWQXTQcZA2PJ|wffiH`I4B8r1}#+`a)?Pm(Ch!ZRFxbGRcXws za`Fd}V@yO4wy|b|n05v+*h>k*)gXSiBfeXRF^E?k>kow$#n);mR2$4-A`+MkKLkED zVRmX6d36T{1cn6&r`8Z+Sd=86CkP^n31eE8!qT2Y)jYe)74P?mHzncsi1&J@ywQZ+ zq#wMwSJ*;)=Dk({-)eDb}+t+CeR-IL=ZGsDwM z*j#>}ND_D6Cl#W=a;o>f!|BQd zVkHzG!|!*6KPbj4z2D9Z+s$so8YWfq&T{$TmJd1M4~g(fIG96~641Vw^wl=~hh6j!OMq1_`bCxK+4gI4FS|9t zWUC&`7&eA!B9)YBFGR|F;^|vob3P_9IN#gr9~Do|f_zjw<6y-#X0E&^p1$r8d*WbF z?gE2qK2jJ)eNVjLSo?|$_@pG@GX-Y+PX3C_RVKnL$8Aay@^4ifD!(H0F>xdMeN5br z6*offT}C|ex=m`#K*tFPpV@6dwXevOaN#p|WMWx>;&UkAkV7Cq9Go$nSqtlVKZgbd zwi%#szDxH~<7%Q~&1fXl2Kl;TY{O#f+e*|h4UNP$w|jZkV3CEyQ*OJbBpq9H2=Iv8 zu5*kA8_9eL6ocuZ1VldAw8$zf2r`?^aENWT5#vy-zvC1o&{TGSj_V5!ZHZG!F3xnA zEH=tYS!sW6X8E|A<>Q4}4!Bu*E2dI_kG;4Oc7yj)cd6C^nKJ?~ii-e~bFJfFMFX0d z0%&U0^p-=LbxLx$D;{IAm~~27Y0uV)DXyFl8S6}lunTHF1>}g8zCXP5i1pK=NonP$ zMKezEywViT5vz8J2Mn?cFrvo|qaLx!&y^fDit``K>i%~-hlzWCQVbYLpA>`0lzy!0 zz#O6SP|APhpi!*OAxHuRL2?qJ){`dD{xqnlkCs63M8ZFFpmLkKgkx1gpZ5%|mW|ob zCvyXE*jzw>D{45Akd;)g6abmZdqi1pUGZ~ z{rW)(aL53_VK@~y7L7`xu~YQ!M3iWh>uig35@eVN;X~5OtnpOX|1tgHnMMg0rG<|g z9Hp~9Qm_0@g~{vf&9$>x_F-;72Kp8mo-x`B+K0XchmE5G$2uQ@gXl$WKo`h*B($cH zemCP;zn8|PJ@@;Xr7r03}z}YVx}^T`Ddy>Fp5i?slMfQ_*P+uKMy+; zYx?X~`LD*A3WD?+1Y@T980a1rE^+0b-^yoS3Of zsxecU&erF&;~P+jnaYehCt^Lj_mav8@N;59mEq^agrLE2`NyQ%Qs1kIgo9}jYAh4^82gzeBeWEVR)*XEHd|XG(H8nN66F8h8s%qmzK2jPYP~e}ZHdP- zRNof*$xeGs5-)v9px8RyI@x|~W>f_RUNYl5Z+xLBKj2`ch$&5wd^yRN$x!D457ck1 zQI}dYGWkbimb`f63Ek=O0Ah~v9w#WwQ!y$#;1@)J?)(MGfZM}ny>-AQ{b=N)F_Uk~ zks0&k$N^0}yUUM=Zs={iM~1m6#pxv!f<7Z!ob~;T#3Jk>)=5b$8w|77(^bFqF0Kke zJ0`3Oq_0-dB{oG2?9)5C?bdL|z6Mp6fIjQue_kx31ax{>Vs>MeXP%HNeSr7;u$5NE6iMZnyQt6z#s<% zBT7JqQJ<#fD*=H|(E|J^0XfH90=mpZSYTfB8UZV?uZSWe`YWQy#t>b#v$FV6z5d(w z?R;XQ%Cft^!s0D2%<|Os&b}&dhvpql^L}@uJtmZ9qvm6)McD%M7d!gHLMNTN*U*d9 zTp30>W(PDI04VTC9oiDFl3c4UO_u(3c?%5qVJEn+1|O#*fe8Kf3j!~_(~aJ=SJIRg z&(fEjRy2q?X=tv#{+t}lIZpsIDFN1T=&Wy$!^arJFE?@x{nk0dvqR`|<_)^%I^DLR zrA}+W?S4tGdKKt{j!q6tzTBCfMrO)ZsbvHa^z`MVE6{2vOO=E1{+QlfD_+oug}Et;4iEK4*4MhP zvrI`YO2j6MS*Dbg_H3CstFu}Wr>Ts$h*y0>vXXp#L$Wd=iHTpHWjK|qV5+R zt`mil5{T)L0rYtTs;$)rd0j)tNX$ z8shjE9cTEg2TOUwLx0BPRSMSls$~^=I@kI1`Ax}B=KW2vAPqzQpEn|D_N`><9U%3M z)rE>s+x8yb#&dmpXZ8=AdHLl72lcfNUPRXiX!p)c4;&t!8Q=@4+J*KNi5=_UmA|XD z58OT0=8LSuo%Zmf!0MwPX~{H@KIXA~z_V+_Bhy8^*VVrERFSULC_!HHe+p)h}n`fGId#Z6zf>} zj9`jB0OhgKw9q8$W}z9-c{!67zkwoOU>V5~g;h+6NU16RzVNu5Ww5a1>pB8mSDAa#9nT(L$Fe_I_Qoy7Z2WAxO|6S#o zMQ%}4B*9@d4Njz>h7RT;Y9>{s#R!z+$D zs@*$g`tU@1$Ud3Hle05>x4*9MUB7pY)sB11bvyM)Z^dq%a2d;wbocu9j*lD`^q}@d z*4%brLf?MdrT0Lqb(@~&GK}5|(Pw1#`gwaB4&d~+#ztFH8N4q&%&q6ZTVrFbz2ekc z(V9xX?dh!;8$H<8*9q@9y0=E32pUolqQ-Q`hTa;*mZ99bj(?UAx~tzgzN*ml-=~j2 z>pN*1_sBd)%RDS=j#hV^F|)Vb>mO@B-X1$5n^_~aOO3tbh9(a08{-S%LnG~p=?;P% zpMRUsW2JmHUE{8^%9*Y0t=>0taCmw=ea`V%h2=twLzAruy~dfuSSB%;qnAmH^s>P7 zlK}jT0O{w>X%gi0S@hSBCZmsy?%jT%J>BAi+ebQeMr(E+oSr;<_qcAAI=AH_%dE9r z+_vx;N#n-Pa7#ZoaqDcEMfwB z!knk_gjtMM*jLbDv20=l4*epvQl$FDVS{}-m!F`Xek!Qv-dHQI7_)DiNzA&L){eCI zwN$tq;RR;vl@%gLb$^9;oSC)YXZWO_8~Ln}gQO{mhv{l;I=2|Dj4?GK6*&wFLhPYxc|{Z2DhsC)lK(+#-bacPvxY^EMk93 zG~&|(Q`0TU^Uhe%9O`|qDzEBo7Hp(ECRwTYr2RBc9w)oDCJ(2As}dgan~B5I>inU$ zSgfh&?2t{buKvY0>PPksnpbb<`^fwFKJu2U2kz5hK1Ol+HwAX@q)h3a_Vmo;!P&$l z$<+g|)Hm#}eq}ned$r!xV3`|+|nGtJ4e`&zgAjI6auX<)sD zn1dZPMt4k2X@aQi)LS_%%eOW1lMnRm;iC#+#NM*ekt4kmCua^OuTq?>jB=#6e0W-y z1r`49o#qRTfg?GVi<=y8$Mp2%sPf37?NH}OJ*vLBw`z#sIl-;ow+g)P&hgerNu@7Q zS$VJIo751j=od7U0Kc{KZt455^d7%wH+1a z7N!6TQv?<@8JLhE{aezPh?oeu9-==GweW^iC}(9MxNPTaLZG zzUj6SqHMFyuXxuyD17p}2Zg`U<@t4!0EfS)H9D1@TJz--a-5I2HJ-}!dTUf1F7w@2=sE~1=*X!;JXC0pzCam53z>FM@JqMdDU zsPm*tQ21Qur(Gl1QY*1GaNjnc1spLW5K@&QSWA%Fs|LX24${F;@uwKMP(- z8=-Vc6VZ{|f1v;M)@qkZ0u4<~w1-nvf)zDKSnU#Ozfk{!G&~&Q^)?Q4T2lk9vB`F8 z&r=HE!>{^6E_dL>(Yjsg%IO&zP5 zN+E1aKytWE>UJ9pXaE$00SEki^H57}!!R3iydmMOcj|v@!>m&N&88)wgd{*WXHXkN zB^?@rzoNIz8)dIoBfj$$@9RfIn*!`3qP@vzcaKt$LK}m|umG`{ZwR*8z6z-=v^+S2|yu};{XsRke zM<*M!*{GyOyZSj~`D)FLe}Y*+o^@yIz}}Ho_N=+)n@`2_%tZZ#MI(^%T@4;s;3F7= zE`@_{(vNneAR1Bl?84mTM>zu7yWEoM+Hp-+VqfpHZ)MqZ0L}D{ZSV(t9{%gb%R% zR9c%BsEWzDM$(!d7}m#j(?^zduESh zaL0!^QZT+p=0d6ar1VNx`j)We>_%*9Vkb}QG;~t;1dMC>&#-7y_#GDQQE7j($JG|i_kCSm^G8YoRu{HYS@5}uR_?c3RAWalPa5Iw^T;KGqt z)*_;oE)106$?cmB4cJ%P@*fKv_$}za5_=yz5;$r5ac{Z-{$mR7lOol zU0IX>y`;uTqTm&!SuPa-y)&L@G4W)Ns0`X$o{C(V{1qasgcmUb^yV6)7(zgVC_8J4*eEI$rJd=_+`rZNACfgiAAFUtfJ6YrP-}>l zop7w@35N;odBQo<33G`)#TgnQNFzSu1S3ig=9#Q_j4CA4qr)mOcE(lGG6Nqg{C?pd zD|}DO(%5h47?r&YXPx7$6Al9%?|N_U6b9U z=ZhN7{NYfKMiTaD%&b`Fm4cimRHF0)DgdWB+>=F$Q_Lh`AazS;w@jB4##82&(4uy; zU>4b1V>LI6#IXV%5I>Gt4M-iv4sP(Nq|W?F;wMbqlq5Dy_J3TJf96!Oa`8%KrdF;x z6P zgXgNIb?(-Ib5m7|KhoGc_o0fI`@#!kJiK{}jOP`tv{{l|eRd-`fm^OIv+k`>3507N z9*NF#;^&DtOBQ)tb@!1H{!Z?JS*>EWV6jl}}gnE#1u-?4toZXU5RB~xIqO#uc& zwHd>sQiVZq1>>R`M!WMLtsc;KCyTWxj`jN5V^+$ukqS#T1|dKpB(v=Prew82+Wpu1 zQ)4!x@Ma?@%q>eqxx`T}tD&%JM+R0Z5WHNi+3Xe)X{XPlJ$GyOp)BJg`ZLF}?rZs{ zO)%#RpSkXQ(T}v_57a!fw>wft`m7;Q(F2Ke03?DALKzb2z#PUZ`q+k37}{-CgxBtm zWRbRtI#Fw@s7D6#pOZ+13U9B&vylKi$s$qC;M=ZbNf8KowV)E=RLGp;VLhd{TeQEQ0{s+>+ZQ z0NK3iR^7iZq|QUlKGT$j4M><1B#f1jT^ z7id@%G$vXsYG`hylJ4nl(KU%~=lk8GIqGTArGz`jt+~qJ>elqpgb#qjGg&a-TEhuz zmQLQUML%vA-NMh;#?QXB$YIf#QLJ~u|1dmy9Ym?cEKm-nZGO%F% zh~9=1W-F;intooGjYgCOoyM$eL#Ez+k0ODqcA5~$&rfsJ;Oj|GwoMhgs}%ioM>}0; zk)mInRjj4x-H*aaFTh(&&pt znlzeaBcyj4-|u%X)*o)467G8M7q`zS+X=Lj{)gc;(a%c%H$?icY_ZxuU$A<-zuLIE zOw{p;%OoW#l1AK_q?|w5zscF&$N%MO+N{*T{S}-fKcdUqj4>i-gVCc$g{W zhIpknMB#C@O$Wf#^unD-RrWqT_LC=?RL^W+D5t^@>*1vCTyp`6#q39JZ z$h8uLu=*wwWC`^&xL@bkH@F%-SEG6k!lvXBlwIJ=CubSg53SqtHkgZWLO~)$cS#Ht9#BNu!t4d~_}{S6?DT=ITp?7+ahk zzw(Hz26Q!7U+QR=3N7a9_vSuX`dkem=4uGVT>atDibm$@Xrx1o3v+cTL(J7Cdaano ze8+4WrkOjNuHwYhj6ToRP&ykd4u5>5(^+u--z84u$h)Kqd*F!s8F#gE{x9L^NxbOe z2AAf4+NnN3Cwlsm)?RG~_xe*s?8p*C+UBH)`-t@Ac|;1htL71j)gdC$j$_XeX{E}v zlcU4h$5YSXy}X9kp1W&3IJYiTtA8D6O?dqa zac*|9w}~v)_<6HNUPSgC92wR@{J%T9uvLfl*-+(^k zpnGeeZT*WV;7*XztbBNM^~C5zn^VRzZ0$^EZ`IDqanotuTf~9P;1&sUE*p2x7uikv zrv-=fbDdQVI1Qt{`#ssl^}JOyh(5Q9bd(N%*G#7%T-21RBOPEcvcZTIi(^#r#BNlY zC4r~Z2z;zo48F~2wZUAU?|u`xiX%hzLngD;$;5Q@$0q0|(Y7N+@Su_2a+#{?fA?Fn zsiz+@_3NE_Oc8%tQs|#BX<_ zh90fr_fALKDYS^+-#1~HQ)k(Gp~V)I=w>KI0RNj%i$(%?G&10vO=WLN-Yp&N)zzV* zYJJlE+TWj;-X0#V^Q}|UI(y{<6T(z{A^bv_n&jkfORfxqXv|#chf;MCf;?ht(*~oJ zX(M`M?zD0Ifp+VlZUYSIzf&{m=;E9MD8=+)AIysgcc;ix<-Su2P%a^$9<@9zDsqfp zl_{5aWQX99)HUMuADlTb^jHq3FuTx^D0XM0rf`~jVUI;Y(8=)NNktWl{ev01ig5+# zl@3a-mO&%NIbuD=b$?UjW(BtsuX++$*U5F94ytfvLTX#6x9YTw^b%6=vajTdn77AMsB5Xk@!q#P>6^(?g zXvA8^g}k$rA@WWWy%sP_eoKvVY=@cQ#2);w3BR>?boID`O86$KW{nctEn8cV_>Q? zdLUg;xcjj7?+;#k-6h*!LK$dkW`Y}A19R^XZ7(nO3?|jKY`1;kd)w`SYdh1^6H`}T zaDg^ur?%^8zo>2>pWJ`JB^T%>lJ0FBzMz3-XZpa{nThZ=yD@Zq66yf&6_4ohlCHAU zPLS>Qo_ka#Tj?gdBYb0aBOdSe&~=pil*Pt=TPh+f7p&;iDBJ@yVZWI z46eiRx=UCd^;&(OeyE*gKPVB_ipxQ_F(Qna2pje+-ecVd1?x5+cWuU<6xNtAQuXf2 z1)qhw5OQ=O8gu93pL9I|Ia&(`V;e|UCPxpp#{6Qb;Kydc=aC*UJe}E@uN?S1cM}3Eo7e}Qy#pF5{Wh*Q&*-TAIzuJ0W?F{xuyTv+D7 zlP>A$q^wE|OS^tKXh(UP?q9Cjdw9s|Ikj7uoK|YMsi&LV<74?|-mEKir^ruFMWnf> zTYLTKlF^aQm2ReMSV`I^H?Qm5Ad^hVQX6HGDOu`NnFLZdbGgQkwr0eYVFc~v1tzBy z!8|i#7Og?|EVV9AA})AKv0~M^O+@BiKs-gE?$pjruE{PmZn%oLtI)M?sy(I`Sxw%r zN>lDnepT|GD2Y~x*u(j%RKMQ4z<=ffpCVv5zf7B1w-?myWJ-qTpeV#oE8wr|yhKJW zS)Z;}j2y2LGH1Q4)hWeZH{BVXGWQrtOXkeu4Cis7Q|U+ndmSKO+^zEi(u_aPq3_D< ze(2jo{*qhkOHycqlXwhk*@|bXx46=;5U|Ep{XX?Z(aUtt&m!A_rPAD$Xr2A)ZaV18uI-myTRP~+h#R{)4H|VG zcP{~LlQaQsvpC`PwJK!Zn@ zKX*P>37i31J-sM^Hr#znkd;xY?t%7o&iRG{Rh?6^r76smg$g6?P^))>^(&}E8Vo{X z^lL}5)~~wDzalkxRgl64S(QzUgt*yZp|n|^Lei6mql!Di>ui#FI^@-XJ8&vkXR}T-Rt40g{=8_e70u5}taUEdug%s`iyeiY66H8Y!G83aP(sm?BJ%_4{E8@k%6#mW zd>S`5wmP3x>r)Z*lw^F8fek4l9KxMkLR(YFO%t~GC2>i0g61IgdZ|p1`huJB3!)k! z`HyViFYH9=RSq*7G>BNxfIVKV`@i^*j?3tsrZ83s7*p1t%(idmd)^yB4>(z7drT|n zFl|ZfY`2Fbx6wi)-hoIohDDlNRszfEwfr}ez=6c?tOV3~_B$p4sQK6;iR2<5FV!6g|w%vUnL zRLyv%bT#wQi20D7#xUPw?ap`80LB?t2_ObAN$*+ivFm&5hAP>I(joZ4&UxOrP3S3w zy~uyKw6nK!`5t5Y0XNzQ+-PFkU8%Dr5~~95tsXr%F*9vBOo{k>i38#}Ca)tZaQxHW z6-fzwy6!0{78p=J>pt{Bx6B76%32p?bJBr{U$J_gGx*kNV6T%RU>{$@HVc*1X_wtY zwr1C6FyY!CaH5q1qkD$_R3Di*U>z%Qz&fsmW#W`nX)nZ?@cx~W z&a=EQaHCw=k8(Hx2rAc~&S8g%fTSW$|>y28*&4u3TQeA00nK5k|EJ<#! z3$}o#MSl4)x6;SFbFk8li3OgPqjxdarSh~12=;oZ1NKJoRxs)MZCwOx%FQA}1(kRY zs%NNOzTYlO+@9wxzl50PE-XTHRVPMMkdfxPVOm@W1wN4mzs|1ZQjJ!!Y=hTK3GCy5rlgnLHCx8>kxzr z)H_CsXK5_lYGB+rdho9N=ym6V=}4ZBoDUYZTyc}0c5e?Ju~gtm2}jcLq=Y-kh1;Ll zrAvg}mj3SbPmb>IXzFcngzg;za7CeYveROsqH7K$S}C<#XpRGw#X4fpX`17@lZHCn z`Gr>v!p&<<}-b9%**X6lO-W4;}+hsd4;J1q!sRr))`eeIS_jvtx zPrCiC+eI7n5B+Cj`fXGChcWNIM*pxmsrxGZ*=l%|qkIh`WzDeVO}0?Nlx}!xY<+Lz zP1G)u-_rY;cMMeN zLwhn_DUkc?PriG}HNB~U@qOu^N-(EJr_(D1gDJ7vQX+33sEFRD^2Y%Gzbzd{b?R(H z50>hM!bInh*E}*XuJcf=>+}GEUN|^hBb2X5ViB-JYv$l%qceIDRd2D4fP{P!Xy54m z84==%1(z}o5^WvOTQgkfn!7V{4khTv5%dzqCM`tGBTw|#e zYwN(2ZgfiKVQtv#PmhwNN?=8Lh(vN`EJ-zFPdVtBHa_Mt+1|$sdD1{Hnd$LX0?oNd zne6O)fO@@bVCNI91G-8-aQ{?mfBWjIvqfm+1v5R)IB*?jN3A zOigdQ_`(Y>J!4BH6o_a3{D*l(P2%Y_*~zKtfr-|XUa2@ZGH|i}kAKv_Z`^(HWya*j z*7R^k_ev*6^?sxJUirh;fkS$IvORX)8GwmV4fRZWpB7HZHtGO9$HwbKHL!bjUt$a< z+lMAKt#8*4M!qgMXJnp`$Bgo{-Qa^Y8Yss9UV|K48=D4G+m?aruOEP;{sZhB(1+$? zyJeG=r^hFB?r(6*!cghNViOSOFLl}@9Ui>y!83GV?~HuS76l3u-e&&Y+B^PuTc%6C zAcMEDYU2=MG!$KmbE~UbV?OGVY0}fdIHHf9=ySQBLvPJPSYrp8)_H|Ln>&w;?%Stu zF*2j#x{c{6JyPU8RJd^rCXFH(`Y=W)JE z_b8*T1Wb?q76d7DAsuNajK5<9H|obtN|19S9%9^Da*ud#JbZ^EW0jA#=5gXoZPRKv6S;z zM*WCO^@v!o0>v1=W$IeCi0CEIdKdjSD$z61$S#3rM+l-+B^eI}Z*rIPXrIT73(3t6 zHa*cQ?c%T`ckdEPL&?bFJjrKzNf8j~g zFL!czvocR_^-Vi&x^?H!&9~hX>(RYpMF;N{D+I&(|H-uQTI6l{Rc5uzj~glXb<$Z- z>(a+u{>Mbr_xb#qI0eq`Ux@y!V&)!G9K_Ql4T!Opw)^D_jFK#^l9eJt{R2UrUrww# z{drub2WZ{fph2L7gV#0V*7kRcB~e4icmKDpd`>04VO(`~yI)K?$;pD`*(M;4f2RIy zc6<;ign-C4C9)VIj$e|cl|HR>O>pU;)ZHzw!U9i^vRh7tocLgN;zIz<5?~D^z#1We zSpx}5Te$>Xza%cpckfu;4HuMigWw#E2puGvgIzqxzUQT|c^A!NE_!p^lPq zVoa1&3FsK`GNZatXqjcq260{8>elFo#b6NgfmtjKh3++Zf|9GMyDQgRx&L@ zIMuWW#YDBkZ;>2#n;pX3uBl>Ttfk8~^&=)sA@+MZWilhegCaa5!WYnqcFKgG zv1a;NdNX*P--4ae-JPxbxYKxCqydO+f-M9PP83rRuom562+$EbYupd#w@dKBP=ZVHCgZ{T<|AEC|v2mg#-ryKLUX?55Wx~1TRTO#qOmc`0U0k zIAesa$A=&eY94jz0k*2Tk)wVwqZ}48rMttf3Z#dFFO5)+#!R{0{c%kv3N3Hbe|)!u zph_*LfG*Y+YwVDb)uiXtq{`LBWu42jqj#?Lp?Hs|Q&zu6f>L8dP`{&_DoL~>YuWy& zDN?OO(k1*x>h}tp+3Q|Wk9AB*opz{~?Q^K73Am8mAA_^-bDt<+Xl}E`04+Jt4u`UR z4u=$)3JzuA^nMY*$L^m;1=?Xyw$Emu3FY#}Qu`U+3omviFBTKFE*M{a7q~bzREh-# zIVBhoARWUDQ<98PSsI3Rb}78GBI~&({Qz0|VLq}Bit4t-^q|@;{*3i&a~~!{=l{YpA&=B1DO;xA)ohDORNa{XDLc%2wmy5058@Z zD#K0t7ZY^RYOkbLeU%7T5ZpeXC*RuxTw&tb@UhfhN$kfB2ib(>DLbC7yL0rwD5j)# zn@(gV103p%>SMY{M!nTFXpdA9!a8yCCS&FlDt?}d4vJN?ty_{bWvg-t6`=UGvXoT) zsbZ9rgOiGFNhVY6;CNte*C!-Kt1794mGSq@jM1|P2OfDO&jW*79(g1ckK5F@1T`|C zlJN8>McrwYF?r%w9z_*6+-Sf`s9yRli@rdpPCA%eQI)auzr6=$l`vJ-RGoCBt&fIn zF9pd(J@5>wtha7y0+>r?9_Hz1uhKoBG0iMFrZG*Gj!5y7G2zZ`WWx0!uC1WiU#O|) zZL3p0sFJ46a-67-)M%@1qwY{xTF3`4Pa%7=pAaDZR0|_1SFhy^-M`iJUajn_1fp}9 zPY16M`SV5V6(Y}>4yJ=om@@s1tJr&?Ae59N0S40~x3(W}L{?O4hLl=vp_g<(HuKRnGAm z*ZP~TO7{zO$pUVNtNe9`>#f}1)-j$@eas=-CxCBrHNI-V3#!h2JXF88hEu8@RPPf+ z(cv3~mb-*TT>B|wX^prYv}w$)UCSkl%r7?am<7)jCbQthPSyuS%KToWb`HE3lwavlBlJQbY37JYN$25a`#>>C|x+s(M}I_NQ!p~rB; z>;BG!9PX_57*PVfw8oSnP>Mt=MlI)qF7m0~nM*HCvaQgD;G=x)&cYHz&vLo^q-}SZ zlGJo+sZX!{=wkm|$O~LJzZhQ+U|hK^a4vM}SJ!aDQ%e5CT9o=nvrBXAuEtE~|0(IO}M8<|2W?Q;4Uv1oBHi9MM#7gAUq{5Pqhj6=|;~~l1?p`dpA&H2X@!L7wxU{=c2r2}p zTluCDVKl%s>I%=Rda2i+j){a5y+(2qUtS|7vHCnGn_j_pu*S64H__6E70cZ8KCIzp4_AHla7&5ioe4w^?J!NC~L;xjUHKnJmQbx#(iXIOK3qo|7Ln+Zz& zk5nDRR|^aA~1$Cf0)uG6wkdu7zK%Uf96QK3M9eI#MNgcSl_&o=*XOcMZNYRfw@i5QV80 ziL>1mbv}*wU%?|%$4L&JdAK$Ac zCda48wfrWQRCB)KaGLGur1v?g_q$#bChtZWb<-X1C>rs0Q-)cY)=>2WLM;qyjbU{f z$#ZDX?{J^A}NO(26~iAM&nsU3aGrH`|x z?9+293+a=)`V#SU`gc05r0-Nrj*g6|z%rzp2ovexXYw>8pwp4y0jWxqvHSSxyecPw z^-1OOW*KfVlIP*tso%4wt{ymB8CoKJn@Dpv;5L!o2{?sL1(o z{vyuzmLHhfAF~4_sm?-@%YsPzlV-05TX%lbhd*eiI~qMk+2H+^ne&pe+)4-MOvm9y zPR5A@tE9?QnT6pXKMNlqHam^T1k3{780PURK`}>E4%59R`z7=kC8*Cj48MG;(xVIM zQn&ye6sW>L-VIGiEB?8|!;3p7pl*t&)#Dj9Voi`(DJJ&nEenoCQ8(>M)SH zPwVemxv9CQZg;M?7hJz?WHxGzV%c6H?x+uP32V2 zbs2b>oKcQhzGDJbxmfpo`k~6g1|4Hi7;9@7i)UeT_cY+o))@R_YwTObznXb^tFl^Y z^dbVG2@x2*2yIBQx8NjZ#k`8*OCA=BRN4HY?JZFAo>fREd#w&vS9STs_W%F=h96cn z{fy|FGnQ04k4=N;Qa-1=ZME!NL$7|~kLOxP4;6G?yjBH&4z=`5szxal^V2Wd*eMVH zR+|IbYp_G?Z5=?znfB>x>*I&mT^OI4)-63dnXApNYX8JIY#Vqam=0WY^}t0JUU=an z+E0RnBWicW4hXjf;y|u`((6;Uoz+ZcE)5;6Hpz6#-4DQP*CQW|uM|#y_(Z!!LzSp? zgNEu#AF97?<9nkHWYrr9fHrcw@7K)Y(Z04-(ETV=&WYVrc;Be^SgoFQqsaRn0YAYp z{UnZ=Xb~>g*!(fijmn~ukd7O~(W{$8nqYO4xW!KUA0=g$Jcs-{(>(>I#>1zbxRQ3W zm@xs~EM^gB|J;}JTK<4UpeEXF8N3a6h#43*Ai#i!yL5Jt!~UEpMBZs zGKJ*;f8yR_udW>vEg6iMo#NR5}S z=}#1MT2WaFV4fKPnC!0rUMSH7jjagKShJHf9%DSDeCAUon&6!8INNGCk;|1-xptX_ zi9{0!F0H|rS}4wB)>5z27^aLusr5+7fPM%4LZLI)|DE-jp_h%>DVC6%?GkS?!d;>q z8R14V$VUBW?iP)ia#LqN0=$cN!Rr`E*3U{S&@01wFxq_#d7>W{gJ#zo% zv7Z0RqrTXd-0fQKb}i}lvyJ?4xj|RLF^cKPGaasywFJUX>B|=wP~C_A5UtI(!Qmwi z1mN6n#z|dVFFmYojf@O2NojAPs6D*JR&9{F!bx50GHx^W8%5u~S_K~(OFq_0XVZF} zT3Mc)UZUbg(TI;(7o<(9e{vt(<$Z8h(Fa$#ZOc9=;i3<&2)LiiYpoK_-+t&`W^nax z_)P8waH#wu11mzzV>olWp?iUdHP{~-7dwqB-2OX^??w@};vEcVEE!lU_NVnqxBn$2 zD)x`Y(*7GYFl=x|Yo5?+Lor9NPVBz2PT)cb>x3v6+px4b5A9Lk`Mr>iVlL%`-M0Mp6x5w)utj%u39$v*MbB2bI--)8t zqfY-(i5JzIJ!bFW?jLHF^14+C7jyF+39fd(<;^w#fySUvjonOxHiMSbXwQPjV;7^M zKvxF^I&;C@-sLlV`O%7O2ORl;*hflqedxNEPHU>8H&-L?fj+Yl^vQdO zl`S`#YCR*DH35z8v(g02v5>5nCICUxlMTx0fxEx4CQjl=x z0;yWr_WEb0_iekPr54EXXxVU*RK_7fwc`-_L! zN^rt3f%d^lGvACTfhhFjC)SbXN3`Q5XiEEHUedkT0v(lDj`D)b{fL-PpGX4K4+J!f zp7cJlPg~_Ri>MI3Hq`Fxj*nJ_(h`zGo@o5)O5?IG|IEf6=`KiQMMy~!S0GhB(|wt! z6ylJ*0Z;ap;iD%@F_>qusp)Mtr9JFIdtuY21iHaIx))bD@VHYOmpp4k4X^lTVV+e7 zT93B1>(~g*fhVNzRVK=jJNgj|!GQzwa0s&+&fE#Bx2pYwP9YABKUzy0JZeGd9H)fs zkoDch-Pn+N!zK(HY^)Wd(Hcg5Yl&Jm78WhTbk(1|<3`$go^_Pl>_cpCMqJ~r1%$Xs z!Msn`eIRjpRxS$}Ho76h5(zy&Zo&?C->5&_mrA%7cyD~n;1s<|hxK7acYwsI1LC|w zMi)9#q2SFscipz zP5K_t;nZs5L@x$Sw-5MReXG*BRsB0RAET?^)9ojwhjhtbCke8Za>w_{hE+i1Di!-S zT+Ct`#X7%TXnmu1R4Wn7U58(5ZC~-|EnZK@7VE) z^Z~!IAw6fMe#&Ybo!-D?76JVNXTZFe(e)3E{mY3~D_tU6V*Kp>v2eVHr$nD~XIwX9 z@yX2mXJ#Xv7EO;O#Na7GV^#2{23pVdi&Oy|LILDsGs%#{bumO<=?7X$T-YVVQnx?ksuLM6X8Vs|?#U;HGyitD| z+4PebXR@7qP3(k;*6^dP{ha*P<|40B%(*D`;`lvX6gwoU%n*mfXj{H0#?R=Gey%gi zK_?%*YZw^af5=_VO(;escb(WG#^THR)4`&8(%2My{%4&IRY>SCG2%L_jm~gyoqbPW zsM6aO;qVTe7%wX`Z#&3Y0`bmP7BHNqRDpUBesPqM;rQV1*)hK**nxv?$R7*E4Ox~v z+WRlre%1C1eZ<51O2>Mk3ujoRa6$KmnsDrlm!i{($Nr=FJH^=fol=jKj`66AyhyPk zxeIs8uqL;~PP3Eg{KSArKh?<3Px-il^7htVm0uHejv_;yGr?yVb$)_+`l&{Ju~Q7) zGh|thIj?jouM}Yd3H`g(3@^voJu}Vi``tRJu7MM&Nr}UngC5_Ka7azEr{=$^XgZrU z*RNsCK_KGwCBb@m(%l>tegR0G02wcG!0v_mqtGSbZmG#-`9di-?YX;SC5l5ZxDg46 zrbyBmsb4Vdp2s>P_0p?_&UXK+g?@St8T<^@^mC1B`mDlY-PMWp`x~6j8$>=1o$LsM z^>s$`dub(PlrgVQkhK+jROt|Ui$VU{wfZRqbx_BXohZ!BcLBl_^6 zTze?tLX=zQmmF~BG{~~(rb`XnBrnO)o+YoViX+*L9gBW~E>ikMzS(m)|Ts5KcTaj3e5kg5cg!pLxr9C z!-E0b0*)dUvK&ZoRr-JP=;KvFTZc#w-Yq5t$v9F_)FO5r3Mt&3!;k^Tv6d`_8ze-e zkvQrG`EGH>&fh0Sp_`oL&2?zAZIGgoaWG`^SR?TVVQFL#m{YYHu07+i41$1$)SN-E zhL@F;Pc*-+)Ho8}BDzdrZ;=$SpnZK3amgE{uQ82gkA$48SK;QZ-urKLFF}bP4|~vv zJ)#kN80jW^AUF01=tg_!rKvckwzRm=6IIqjJqZ|b?w!xh8c#M`qc)Uk|HwYotG{>o zHn-N>yle2%k0k20dD&tIGmVLy#^uqG|Ei|>svn?Ce1t6S?Y#5{21{RzL zV_ziFj90^+MVdz3|v~tf~=_R72&PMMP zW!7--lpNe_g7R0AkV_teUo@TOjKPJx;E0?3h}cG{@8^w9_JR^9rt)ux0cpg5P>6Zl zBnboNAfP4VB;}jw>TcybgxxRfcL@7f@3_D&9(=$$*gcqJyJwSk{&DWaUtDXD7D=la+80zW;5-?Ky3S%2<}*zgsdeHN0CgK%3R;pSldyL$@VRlrR2M z0R3YFrE^7z(f`K=RIiI9!)NY;&Yi)Tabgu&vSzyj8~u?{-6)}L9ft5U(radzD0^T! zoHrmC{oYZzWT4wjH|oWJhBD={yC%yt1?GQ~nDg}dnBGa&2Q>zpZ{+Db7dvGsdcDUx z`aO~}N)3N+N-TOKuY9K)Iuzxg6RFS9E9}Nw^?*|e6#Zb#$OKDKXw53ktH#0cLJi8s zu*cl=R==@-)@oetbf_ILnHtpF;K_q)_q0Z* zim$dTZ$F{sex6~g*|fLj#q_g(?$4a|z3K&`%X?*psOxVs@#X0AP5bYO$2oP@PbZjW zy~wHKhP4+v^TW8qGn4uP)%4h5y(6ms$KUkiv0n}$R>xTFfrE7XZ&asT^`2+~&|i8c zbl5Hd>`f1v)?NeU0Z{K<)MDoawZ7)P^1P&$P0-abs=`h=y5+wr+f^|J%HMR#KPSqo z)E#F>f5&r&CD1Plh;-#l2P!j>67DwyN5FbPWqr>?N}%7Y=_2o-F%+c{&$9lDpaVqo z@NWqM@7j=f^!kTedR^iOUo8QODi8((DtlQ(AN-K$6A(H2EFQGyn(=+2Mh5jh@nb4S z?u)}hD{LLlbWy^^m6Qv!g(|{jWC4dO4A7?5h{lE!HYur+zoG4RqiQTs6m%N1qD^ak zre`MmfQFPUbJ7PN0!6A^CrD0&d_#1Zctp3e%+H}}BoF2y^PYNTsI$S!LPv`LHGrc< zfN$&R$+4qFm!F}Ves+1UP0Gw$9_+R$`KDUaGGTK>Y?+9zvx*=;K`{NaM1u9Bv&)_6 zauMBRMEMD#>8B+UeMco_pA+m8!PQ2PpCFiisu9eF>?R8JL%tVOWww4%zz6$9bc5OR zDA|*rA)J1$5uVqcy%l<)dZa}SSN9kD79c&zEq zPY_H$EsbDrl|pQrCuF=FyvoV064~R7EI&au{Zu2H&DvYVWiC~6rEuN2Z>o&DT6DN! zyjrB)Surj@Lq7dnCtsET^SJhN4eXn(aojZ`=@;#~v7J~h#Vzx)-W zy0vX71?VUUIwc80`&%pY!MPu?DQ@oc;wV!}HKD{CX;5M(klgA?qg1V{d&?fZ(Jc%3 zfP?eQW;6Ki5}b`WsK>t5TBf)>?it896LqwjDAAD?B*5|$DntSIy$%p6$1vWr-|9G3L75!PRW1NJtD zy?qI=cRK9uCBWY0uy@yBOXG2o8;xEhi0qTGr;lvmwf6`jJAEV#K*X@%=@164jVc?s zv=iFkL3=T9&#EpLu9+HrMSFbT(7pqD2xoy3UvIfC-sEQujuUOBs^dhPMHjrko_cS| z1(&Z_XQxafA1cV>=;T{x4zvyq?9)qG`jq%#eG)*=jUla%uHz*FiO%s7A+G=ag3;Wl zAM1_i?hNzRdEbHbhD2?~(0BdDwIP@$xf4W$DdPljI62S9{0!stv)k2a=Vfo+x5xqe z=OmrSr1hdfma|@@*N6ta``adb<3@x#H)woU3$%4LG}dh;QCjJg-z==$IH7Tz%x)>i zHs}U1A>Z5}CJ}D`Ad#t`(5e*EanXE25Nv85U{fB#v;WwH&;o9-Sl?9m-B;%0-k=j= zLFWV!!}rfB^hWG|rDiuP*lbIHO@LQFobQvyei9g~?>Uf5ec3yCdvIIv{HRE89$D#@}c!&IhA z2@%?IT?kY4C&sqsU#`DreS%6uHcgHYr>9^ar8`5_FsCu-(x})`%MkM=xvX1XdrYU? ze3U?d0SwW? zhp(c|`36_7xE2SU!ND(~eQpgWe4?a^GZLa*hcpp3hUo4YCKj3gIc|h=#3Ig0T%N=t zIP0|I&7;HlNqT+Pn5WBBIQw6!(5X6S1n5QxL|xnnSnre!W?8vexJ_BO@`C+Z*Z;;! zxEvW8>RIK9Q^-(P;GR6m1w-q$M5a?a+grlnaQN{p2A8Iq%9XlBAA!VX1jN~lD3CJz zd8QMK58x@@03X5Hm_)!Y#bEmmPcf~{qO>#Ipg?=k=T*MY{h}6gmXuj=_?rIR{RS(% zC7X>KK;&fH0HTCN%zCMtO~+oRittu~vh9S0AE+!>%pTsk7y=x^4&)I;2FZl)csq0(2JeoL~n&CJ=)UuPw!3zX8jd*5s3;hX=foeNUWbhid@x^so9P6kK_?r@sv)@{e=Je3qu=Ft zYDh9-nxY@Ki7p%R+axaI7I8md7AaGVwR6i+V6x}}GqQ2Vv^1b3jU{lU_qvqj=WCmW zYjG$YGE`gO!(2@c`3aLSeWt$V%4g9#+nvgG@reZR^K*NruUKt^LfQaI?2kB# zbxTPzBK2n)x}|c%-ts9b3O0hkW(-32_vz{->#pwKQkXxzC zT4u?tYfy~iKHpBjy*24^XteYjD#!AM*koJpsHBtq?>yp#o2gyt z!ai>LJ(J^Eq{vXY%&A=A#`*oMjW#@sRH6iCzZv`dTLZ4=$;E624z)kTi-gPQdal`tr6Ww|$RSn7R*K&CRWX1*5xfO+R z{yv+2kr@YUA~e|K=>*>&%vGt3X`pb<0Tf0{fnp=Iq!|I*B#Q1TWxm9_%M`ZmqMh!7 z1?{=J($aXbb$dCbUgV@M5~=93HLFtbr0la}##&R;`kL+NzR`9ZkpY!{1C?7eSk_Uk z-%8qqL%eQfqFwK|hM-z5+#o|G4L&h7Z!i%xr|Rpz2W+p;tXo2Fb*WA;=y@XtINO{9 z^DvqiPV`7gl}^p7SdY+7k02xMxksK&XI$)5E-pIb^tqjJeAyYrKmwf(0Xb`VFC|;w zmZWbK3i10qL!oaM8Ova^--BT6;lS`x!(PnQK_xVU`rpm zhPta14fmB^Ttc@5jYpo7HO;B~31`1_+t~-Uojr2j*|%PO_U^0CzSpBF6!yBvGc^iL z5Lhd>RV)G)mLHbf510tasQYPT~@gSnERU43p<@T@*&ZAXxuv0hyiUBW~LAuP$o&N zUyzl)fd>%m%egJf^-JX($v??#&vL}Ggt*d`JdpUxnY!0%qW9|A3-xDN?*tL8KxC&4 z>lmWBR7sfjEKw@V*3XjF<-%hx6?qC9m%2ibe?06#Bicq|rX9zy%J1^MK+x>hme6(p zB%Vv2y<6bBf*XW*oe(!jhU=vQ0n2u6Bp{8kr9&g}$@b%-Z~#Q?*pb0A=xo2wEJQmN zggou2=-Y~oeb!s`*v$B}c5Txdiq1RHDV!(@;rOqqI&ZPWOR7{iG1HGEs#cGkQT;rbzrNd5h4*TM5JD7cU=?MU zw`W2;G+A^PWVTIi)GBDE2=Qj3O%J<5{qen_%Tf5eut>!P5(1T;PUv49g};lH{XV z9y4xf3)-8Fn)#A@+tCdNjg**F9}mWmc;;}-XNK`@;J1k=g0J$Q1m zXpn=PEG|rUc+#(!2pl~5nOO-)oWKH&kqKJt8X6iINJ%vI4F9DOrM~`3B{p8SD&9Hl zt-Mell}zu1eUcO3o5h0u+$6gMM4iY= zTeg_*G?)D}sm>|_*&V$x`-r_>W{cAu_jKVND_kt|_lfnhDr-Q7%?!vO0@35>)pj$e zd~2$NV^@`4`hjVhqD)h0Yg(cgFPcJ(t}k2$2%!} zccMKx)X`UAn{Xm)SYbFh-!BQr1m`+cxliweVjCxxR%uLw&7o7o-&wOrghU|1wz~w8 zyU3;u+HqYd(4M=$$#tJEXk531_Nxc1GKyv3+TpQwYchm=&W?PN+3VS@1Fw{ngqbU) zQ>4RZ8KH&OfgrLD1TjLSAu>`*vat?4qmpmw>%gnTg?Mt6xJ3ST!EC=Mf!2A?ZZn{b z!pszCq*G0jh)Bpvx55Jmy47sCz@3Jv&dl_vKGc&AXI?D|EWEB3g%j+m06#%A{Zu2` zsC?7VyGAN_wsVbByG9I{DH-)Qn1;$PCJ*S#jMY#oVNVb&BmeqrvYajy)c|lf;0yhz zbr?>pNlK~=e$04n*m!nhwqVo1xI)Yr7%+nr&^|D@9MtX|GktiXJv6%ipuQ!{_DU={ z`L8nTYOD)0jqImHkX-sH5sc#;4~UYWH|j?#4Mih@Z?#4(f9{(+oI|}vPOa{mP35n- z6URRxdIX72h}nAYihGkG=8NMEecOp!xlm(=8ES-Ss*5l8j_vS`BXZpmh=5AqeVGIG zmaCK^Tdk)!TVs32M-FRf3;yG?;EMsea5b~| z#KJS8K~DONBqrt|QO|6%@GJ%*s)87*7$UP+NtRYrd8?5nR^*!kP1#fxJv!g>!S*v^ zMi2gsn320Nj^AVChCAPC03sCARX=4wWJ1}W7v}kRL5}xs;YsXZU*)6Dv$slL0^B#L zujNDlLBfFMNGK!X!(jG(aFX6%$o=I?4k>G`vrs)SfrXT1N zAyC8cW)Y3K$z5ov?i1T0pL0DvCq8U);67h-Ju3GpfhbC$>{kp3_o=K?er*CAHoGAl zrzs65da9%vDt^hRZWNmJ6zFvo2?vZJ!a=m=;azN#d{jWBc>zR9&}WnMFD)|6@_?vx zt7g})JK3*GGO|aE@k?Q`m|aVtn9zUGfhhOROzGRMHd~gUk@J2x8`p+M2}BQ|@OQ#i zvm3Lb^~%J;gFC(|{0-?x*!za`i?H|Gq2FJ)&?Qg^{hL|nY_;$+5GYVXmHdp6X9(dA zB}p6x6@MdCq>;V^oyM$UQ!@AgL6av3G^Ff`c+UFdMN5@BPLfQWyUDb7b#Asv zsf3`O2%&A-P%<(i(I*lN(>{^l@RR^LXDdZa`*bvt0GEyDt1-VKb2^(-mlp%*4#I)? z1=t)?0{hA)(wyul8%28Y=VpqlpKq~57d~Wbkm7`7s4zQK1MV7!^IZ~DZ3{)ck+e?P zQ;t9tg_k_3TgvG}Qa{u$wAts!2L4a`GTSZ{{M*};y83k259`xxd-S2rtpkTTqr)B1 zY#rpuk0Ad4(Z|}7N_t)gU>=M!@J-?RNz+oAD+srGdG(4P}r;8Sf6 zp7Ge|$QfG)&Pd-);}5;tb8wtL`0Ne;of_79^Nfcc8F+4AahuB_u^PHCk(@&_ebr4L zhI_#8x^Oi7Xeb9~4CM66?oBlz!vf9Z+7NO&;s_?pw zm^i0iRRqnHqQ}!)l+TE<6vRk>iO~NoiNEA~y8qR*O~Gs7#X$QfARxU<_Q-V!Ks8)Ff6D22dM^wNf~!|X;< z71Oewjb-(UH75s5NWM5eLcc-z^q^dxKA|yFZc2ipupFdf?3SBV^`~eniKy9>RphrM}9=*qEW4qhG{B~9e$Et)Jd#l6MgbQM% zlyv5K22}U)6j8DOaBvdTaE;gC2~D z)^+@|gy8XoUjJD8aTW4Z#@-|=o}~Yttp9Gl7@4CvEI4o6z~`P3lg2(`cD^rB|8kC)lT-I;TpE z=OyZ=Ihi`iejRn0(3_p2cu)sqH_3a9;&M@3&w|Q+f@1oqpjbUtu?IN^3qkv)9~;s2 znT>mdO@gvc*nLK@fLeQ>GOZ~NL#U#gfjR2~upV=_1&Yx?g7kBf1mz=3bp`u)eaWfw z94V(|`b9lGvvf-8Fn)%5`nj1pukDdr9+}l6D{r<2XRtz)IKQ$&44#ki7*m_{Ph*gN zZe&ouYgX4_#l43Q>>bzEQZgrda~vaBX%-3={EQCi=SCL&8Yptn*4&O!1)U!gHizq0i60B#?2T)7-FDBt_YK{%V~-whO|k*Yb&*$btc=bk-PN* z=*}nF!!x?s$K?wUE6zISnRdtZ(T8+vO;Qy{!sFYZnq>GicHd0XtL-fI0}Uy`nXduu1g zr+7Xx!6=v{7NA~pAJbI{T?5%zDkb=~{*36hZU4Z?MYVZKZwdDBKC45xA zkkanTk8qE=+RAl#+ffxF{^{n3~e=U)E~n zwB%wqrXass&wfk|PmapMRiN)rue7F5EZx)^%UdkHzJ0Q3`h5>|?h0X<-fZoy+@B76 z$f(PQr=LhrcaFD4Dkw>{T;cR>9!j6Y=sTu$8gB1Qx#RR?=cgRvy}iDny^|Lm>Ab)5 zq0Xk=4-j1yAoydm^5|2g@bfw!pV_NU6qzHvRea%Ta-36#O&Djo03Q)X|J2y%unP4@ z^|+j_3l5q_LYvN$y%mRSyz7;PQGHTNk=VFvUN-JqGp$Bm+tj{H(*2mL@>bb8szP-I z_wCiVDa6%lc*f!wXYm#J%F~rZ0@cKPuSQ!oe*x%nRzx92LZ(fRcfTH(Z?=|k))=yvDvJ)J}1e^~$b$~~P| z=|3j>cVcvXQDUvI%3CFwtWf!v*qG&Cf=I`SiT+S7;7oo;bT;wRNs7Kj8}<>8c5j`I zxsIo+tM(|KM*Ygkw!)>pu~Uk#fte}St-DSWb9aG-c(Il zMiHG8#hbiW5Vw+4mFD_9eXLtxXj1v8%#cJo1JP8U*{we|-*H|Q?f7>Jcizy%p|?B* z%vrhBiLOveVecNDXxmlr#O+LoD#O{WKQ`a7rDllZZ_;hu@u~Jm6ONuIFq~_$4H7YI zkceH=DB(&S2OjQ_K+cl#xO>|AhS+eMF?tXAxtZfE1k^dr-TGtm9p}~rT=l@{*vN2e zQi*L+Cc*0E41?7)T=eS7yA?0nk=Ox|uGARl)iu!LZ>aI%;{Doh+qCKHW4~rgfvfdPf3InNtcg|ON%DZ69uXns(Z45YPRou#+g3ZJqZS1V8A5$ z_(`IFat%qhg!L}Zq4CL)G`%`-CCuiURu&EuIV_gQ0YQXdv@~06*%N7g!(``%$@Ir& zY6{6@XC?8UmB|tzJ(LPXrHLYh$^2l?)4je4?c0UT>ad#xi_Ok!uvssOnrxPkbh_CX zoLWO_bG~JxzbOd(|Psy{-hE$lUPCHCx z>X@k#1g1)a7ByApQ|?pehoSVxW+e$W069xx`PPzSRwA@k0wh8tAPhi0%cMA<>~G3f zu@<)K&}704!3Qg24d%ENDRgqJgm-Fic|jeoipib7a`#Q(s-l`u7uLYrdC=CSxkz9H zZZm?JH$h-t{h>9XAQm39r2Q9%Gj0tV>yK>X(PwYtLe-t%5kka7C`|jt2GiCd!?drT$Fym2luVoOFm2)xrggk*+W+c3n7}b@0>9E- z*T4(YCa_BGtK4yORav9nR~ z&l+r9Y12JHt*%f)X97*==ej~iD!Z}LxwCa(??@}JbmlB228$Ker>YfJBCTgEjPxZg z*$0etwIu5vM3`8WC7jCwCk$se^DfM~?=zbH5_TmCwaT}Zw7tHu_C6(M4Xfl7Zm9qy zuGa+D7rGIC#;8862U;+^_JFbZT=-jEv!@OI@0D>J)mygnu}TDQ|CHJ-?dv|HKNpnf zB6{_Ol1P7SzJsL>k@)K_QTOxUn=Exm5@Vv|R}E6Kbib@WTRnZJ6}waq1vQx?R;`KT z-NF1mXa4Q^m{*Vw)tIYDjr4^Yw9Cu8?-eD_f0yV=iOwY<(G||;UzkLdD;2BzgrKVe zX20ud2=n{VFBrl8WWEqz@243R#8)pA3x>uKl~@x|^oOdmhSdEnBdz4D3zs5`sKY;O zqRx|}pQtFXYraU32oX{eW3m=J;dc{bWmicA3qEy7SbFe@(_F3Yw}d7~Zg3MDu*E>Q zQ!G>TxZ8F8L(}!?(oNG4s~}(M!r73)Q|d#Ic09!gwl@z3Bbpfx7N!bYCMs1ldzo{w zU}&l*2#lmZHs1k+tDX#{f!n9o!tzn}#ny+Nzx82wX@p_@kyko@?v~J=)`UI*uSK-k ztqvUtCRaU_mXW~c1TXv8Dm9n*l)4hPL1{r+_kUOTgN+2%WdfHWE(x^$*sKcGsahC6 zulwIC0!{e(;G0RGkdF`KvxK}t$bVNM59UgkEpH1nJ#=e4 v|C|u`9=OuA}mDeW&Xh`Nc<4K<8nc2D|O^6aQ7G8?Qi(~SblHZFWN zQLDP*W`X6tTxzH^Gsh%)Ih{+@QGaaKS#}EqY}(6SRkZ9TQ`K-(|2G^mErQ1!oMfyT z4$Gv(hZTFqnLo%LV{-H_=we9)N>Yh5RdGn4+Sui(f?^$*(6rfQXxr;(xyuVDNf;z4 zi4nPS!6;)CPLeS67L;LJT*D}OKY>*mko^$QT=`8P+W<^_Y0kY~P)UJ;fqn&DN%4xf zXMv*dp(>svuqfF4sg1}@LAiYhv!A?#O??#dvhKXRnAL%f}*yMHN) z9w+LM5#`RWIG6%~Od0jj8zkQu%SIilRP z6>=l@IyS*BVUx%bvvw5NS>?ik6Vs~$jq+}RmN5zkP8d{76C*O6j8QmJ0;}X97!tEx zn@qUy^Mr9j5RNEk7_$jiW{N0hHZD9gQ6tJFF(b-ZUp}`ecQu_$l+zzM%Du=eJWrHM zI7GRG6H#ssPA$qM9HLypi700{^GCV6Opb-4Tp~@3NTegmJ-nEcBs8L2LW?NpXt^&7 zCrKDYxr7l>ZVpD#`w4?6moOsA8Aj3j39Ql}qMR$g31o|MiAqE{>-B<4HPEjqqnrhb z!iTDOlE5O$Z839gB1%}4tD64_QSRCxray9&n=oFrC|8G!D0i^x#HJwAEuvh)C(0#G z5#?qo{Kh!bEpoZ*!pQm~N4Zy21eye>;#5Lr_$K6ta<8qB8@bo9i7E*@qTG)Z*x4P6 zD3_QLdg7xkMTVPo(_>L-!+-j@U_JK!r)E~lb-vWanCMM_*%laI4}rW8Kdo~ zO@bkyCY>(zj(#Rl?JXPEp*rj=jqO; zUB5cmYuyIlHLz!jZGbq@Vuk92_PU_{<~o|C=yl3(sVSy9Kx(e^rkRBIvtsOK`-1+| zxyJ6Zv*eDD>2_!MuaYX+lHH%z4-1>IDiu7}yE6O7^mBNOV#x!HYUo(wyq446Q2*FQ(Y`){I0@R>yoG$)f_TD_s@}nyF zPBLqj34tU%HlkdzFq1Hugph*KNl*8kbl>!J54~g(K}6Z%%7YL^ z&_@w?0Gl9-AR@>E?)ZQL3Mil;AUn7qqM-1c?>TkqRNec#-95wm{_%c3Z_rQI+&WvG zbLv#pspaSSZ^a!*?7Ra#CWQTIza6J)%uquUNd1cK4%)b?;XvnFQ^M)II-XMjTH~i=F1oF_Y*o=sZ z?GuL|6xcbq=8mH{49|*lhKNkZNjMq23|ETr2*)_P!YEuo!Ll&8C0#8wB?!Mf#(l*g z$g3#6Y%z>p!dOPZ821^_P01b1Siok3>_(qytzKBMAu{Jhwc?VNRAW9c@i|_O=d({+ zE~;xtpKcy!kffIpu9%W!c$La0&E>kk1G0EwKV+Iedsf)~TBL07E!k;dU@k|<^QA>P zLNYbPBtu!wB1c$E$8=m}W~f-C`U0zHl!9gAOb0QG4ZqS7t&mRAxA=BAo9v4>b6 z*!m_{{|M`w$2&18#QNsp4GvdBy2G6ohHP+!GEONzDpXD$ryh~<8&?=*oVwiOloTRP zos$U^T`ao#kN=lqO6VB)A~a<_!Ezul z3U^YlEDuqU;FTH_gbQz1j0>HxhdaaQC7d1+O5MZVt5)(8 zMI+oPnuoiD7UnGcL@@|=is9j|52J7Z#UR`%hKD=DC>%h+atl1%rS=bjY~fC+c(^me z7gTbOzXogi9-T#u!i{oZQ7{j8ZBy3};ljdQuKp3i-L+0k3K8z^H(ph^t06tyEoCD% zMw=qsDL&y&IeEByTgGpWHbwSYrsk$(DMYyYolKxnfFfEcKAl+cJ>0z~<2MV?OMvjA z1U%fmzaS7!S%f>~OSn@s4|fSIFbX$T48omac(^l+!krW>%j4lLH7E!dizdY&+$mw= z7y;5SdI@Juk#%QwXPPejRH+f}l$x)t%%X=E?sj2f!krW%+1jB=dcZDaJc&mlVinjr_}LurB3ofQ&QPaI&YALn(w9erY9RRn8gCPa4Y4) zku&8&vK%9Q$+(2|3%61XRSdITNta=wn_M9=q7MkUVR;?cU zJ@TJ~+CR`KlQl&+TrQvVB&R8b7y$muSXKi-4e0~G_Y86sN6{1?O)4iJ0FIRJ$NJ%{ zCWk5pfG7I^AcYtJ)~`UI2;fS9xTXYr1UR-Jko!%}L@EwJR&h=j0~0b6PJsJ~SOu4_ zaT_>iIs?4$2L;QLFj2wFQ&Te4&SxSwp%`>tmBZ7JhS5tHe^f9}Lnb9>!jpfP`sh` z$3O3If0cqf10fPSk;cnvorm##Vmkmo=BQGT*D(Z@9)F6OpG!q~i|qxrN2TzL5(*Ei zfVVTEHN`@h_T;DJZ02Xu72Fn#k0=Qtv%DGN|C3wwJR~b=UHLmKPYGxknS8l*jC|3h z0@@@%64WMNB0%LHkzds3(t;u!pQxT(AgDqra%s*#`2xE)6t41Ia}@=a-Yb8H<@GGp z1;DC^iV~HyPo5a4)F96e+4~DlAt|Bx1oI?(<%)>h1vIP&3SR;zHaNH6X4k3B6k6P0 z{tnA4TqU##T2iBaSsA)V+Z_tM$7|B?wIi{l+|VADS1gSFV_cf1u{%3ecjKvYvVO0A z_*rcOsZEI#QxHa|$0@1s#O|6?7Z2J-uduYILtu@L8{v;SRbDH|{fgoh^tB2pv5hEwH}!TYA<&TPh!prq>Huze%Wx>NVcyWa)IV-m)tgD^G-#(evN z^9r2DC!CQ%IBQRpFXI*nvg@g0?XD2gJV%vzT!P@<0$ycyG(RcrOuhR_yh^aqeWU5d ze4eXz*XgT)_xZgQeV`nxpCnfF5cHJfKm(o==-h5zq3?CbX@Q;c&`Cbju-@L%xG!c? z-6Q4g9`jb7!lpNzTzG3oiFMab$p!2Jt8C6UYK1zSAP#zM>bU!9-_gd@HZJ2A~osd-DOE`Me1Ldszv^*PS zm*{uMqfci4(NFQP66**l49k;q#^~oVqt3IWn6EB`q~lpqBO%?vNHCBitC3(Fs##Ev z?=K30q=b8mpMI#J{PKr68f?;H3zDvL`@~f={Lp>IuI*i=zu9rt; zX!8FU>WWU--H@IHt0Wki)e;=7Jx?cpwkK=-Vf@LRJAX z2EL2MKavH=^HNiHhGg;(qPlPJLeGZuG(}eW z4In>4w z`C_z1(MgjkI%`1`e2k*&MZ%_m?EO9XynUwlEOl{`2N?cR=V&P;ttqDr`4bhVqQ}(& z`GUsUW2|h9-nQs_a9iex1}q#mOO0QlJ3_! zT^>--2&NoJ2Pp?1e=blCni`h@Zq4Xyb&{J{n;`VqaF)C5FiKd~#73CGCD24kHD4c^ ztYw9%6f7&icVo^r1tcm}HC~!jZI2KxOwBCDa|puuW3E#vSavXQ+8T9rqNY~Fy)#(2 zcXM*b=jim)zxIAAg@|icsoaB}`f2LB#h9-oiFHbHC@J)MQ-#dY_K(es-O1|LdQc6H z7vehCIrs@P?Ss4J3QXGu_8Vy+Bq&A`+;(`Uk~W_35D2QPh) z`h zsA9GINmsrUVzqlulD6}T7|d%(_xQWBsHNw&<=50v6phS)GC*r|l!O*m2#pu>55?W; zxa3RF_|IgPF-)m?SWDRzM3*?=8&rB9STMOl)|t)sc+_4FaZ*?s+!JY zHW~9+r>}>q_2@*IP=q^8SM(0)#nd!Z^W?C`XR#Y2xD=w(ytqL%KEFXbip82sv3#0k zScP_K;@*8;XvCKrVpnjs&$+WnA)M`(jqXzEY&E1i+b`wjl{t;0)5nCLCMzf%bQKww zQ#QT^O~`q^Ax~}Q+@E6LHHv}P;0}gSxPyXWZw13^=&kpeR73n~(}`S-JDA!IvwQx7 zlaxYe?2Qc?t07%uuW!`YCV8u8ULJw7^j;k7k6dB>)uFIrMyf%N5S^(M zA-X3=FSGXbkC!*(%lo5To0Q*=dO~cpBuV~OCE*SBX_*R2qOuq&Px4eB3lffN!3HcQ>m^ zWz{2}!m(jtd-HS=D6G9%f!=Wc$(wxyj|?SV`=1E>EaPkV2?gP+#bwkRq$ll`NiWG+BGh4>vLDtekoYH?Y$bJK|WTB*B zPsE|)A2+hH{kKm(rgO#Y_>?^MoCK*cJWDZb81$Ezr^gI0N=<(9!yb9armH;c6&)k; zY%%IZ_PM)GLLs?J^%Rw9#IbIyvCKvak_nThK3WK$o*LTu>>v?t7s!nQd8(^q{laW{ zxv-`?CeSGGVObrK!mT041rlF1#T6k#!LmiTGL64&HiARwr7#%P_?r2FFC&)ms4ql2 zzX>JMO;WH>0i#D5qr>;8Z@GX{Fpolgk9GCAN6pM;kE${7C{(y3tMEtjD5Z|!RUSO* zSfPHkQSbFA`NETVlw#pgiiJlNSmseRVLS>~-I*F%dQ=UGN8x){IOKLIq|Q}C;!P;; z@djBf@oPxDDU?=tlY-$*QWze=U2wV!jo=W!nm6U@@B#NGiGk`Wgs%)%IGxmMaH{H8 z6W+QH&@X7t_svND38{#6Qi#(PyG>|3vuB3YHyA~@iC9{s@BSJ3n}xmZQE_us|1zE&O! z-I_Yrk0TEDm4Y3y#On@fV^(tpyvX_}sfRcz-*kS4>7^cx!WB-BAgK6qip@k}zC<_r z*}z}He2RaXaO<-Oj0>FXjsde-nPKZ0M;ZELYe9?)&AS-oJn^*%>4MT%LK zO4c*g_|{^hp0mqzk7>EkXO#Bh$h;679^q(k(CK4CHQqIEI!IEmR?65o*8#0AVvPEr zoFxk|j>N@rxD9*u$X@-PJX?a-(^}_MU+weOCA4m!ABSG4gA#@ zlhvm3XPJY#KVbMvofk5Yrp9Zw=}N%k5^06DsV}Fx7PYSF2dP zjvF@Yk1r|>XEU^Udn-D9Y^WxH{F=2sc@lvmV@u#jy|_9bP8hK3Eg4b>Ng8J3<{`PMiR=$3H$wAI+Oe4Kniz6UR>`zhHZ%RyQ3QV-aL6l+C_>yTnYQryQ~GyT;l z&V(G0v^j}4z0=qH$lK(P&9PH)m&m}2622Z-h7fpOQ zJ=r7&sfilTJO1Y#Z|(RjU!1ZqRKs2(JaFO98EiG9t|9&CxV6q!@d|;ur7%1K!~lIp zl+KOrd{$T{nQnAFN+B-A{FBL42HlOGLQD2mM7A>(k=Y83Nr<+aS<~iZDSh%AO1rv) z(tYgCv4!-lu!-IBkvGYnc@}Nk?A)E((@x2Dmtp(F*x15$kQU{GiMC8qZrnyvf!Y-} z(^)MK5QWYpGkQgPx?O%7klE969({2d-?2`kjR z#aJ=CXTiH$3Kd9fo?mF~ZMUwQooR1tozs#7J@N&;sf8&%OsM9AuB6tLE~$s0n+J)Z zin$+qK24c-*Nu-YN~7=uNMSle1S+)Qx{^6|uBFqj+OVA;7j8)t-xD@6EgSisuz7G| zbDn7;EqSks7cZqAMuRY|Q=(?x zbYBGryx$1LOSaGaDHoWmd+!nu%ToT;W_mqg@`*N0b}B1VAzb8Uvq1LU5|{+20<-PW1neDCNk7q{$#4cVV?HzT z#AumG@of*5ZBd=yGB@VGYsAf3``ZhXvlGWu6_?33t#?$v0ABmfj@D%}_S0F@Q+Ksn zvwJ)3@rBk|{Co}HQQ9V}Nh{sh-nWhLJ=WSSUyhZ7nhTR-3$1afmhdhcW3$tDOHW;x zEfM;-d)j0x`vYg}Xz@63Yj$6rxq~m!ybsT(*;^;3#=*O+ML|9%JT`Z)EdmxM+pPrE znvu^^&+9VSwut-4#b>pbCz#;wZONU9WeKJmCtLT*Cbo!o&A!%6bBnTWnH!s#mqV=k zlYvCk>1h#tUM?Kn+Y;(`isI(`#485St@5>1A$Z;5{=MxvG?lg>QIvn-cY7;SNOR8H z2n0l@y#$hD#k+9)yUmT|W5#{eh4VFTsOt2L_071WN+DhcdAd@rcchCs(VqQn`PTRq zVzE5RDIM}|O2^Z!&oT*RKGFO%tv_t5*qnS&?DM331pMb2_ENcys3EUOy)N;|BKqvp znn#yb!oFNL@ZyAoQq9tH9RvNE7Hm$h5LiG70kNWrpCe-^DxPo^OCj#3{`_((?mS0o z(-5raOaK&}nHq8CWvkSzVsp|#vDs)sv#&^+?GBY|-{?iYlB}^uYu=%4TFN3-!JpvF zo>+kw+E%dKA|fZ+HiekB6#{KbA%7>zqiN~T%db#I+pc;k*yUJs_nOptPa57ek70;Bs&f1W>N^x`#@^4?ziD~HQ0$sp!a13XJw`-io$abNXfETp#cVO4X7ys5e?{D z7WA%SGP`b_N9fQR)-Y1A18^ASgVq|>yaVoj?-z&^8{yumJXzD9CHqax1rN6QvH_+2vlDWCxYfLdd;E>5hbtqt z%cL+oGF>qe<7zdFuw0GXCgUDLJfFsf(2;`8R#4Qp%mlWJO|PoKxMxPQzph{e^A!xO z=xiM;7lJli{&gioD;h(sqLCjj(9F;^A4YG=@tJGY6`{JU_MBz$|^X?wa}QW+Q5+ z<{C(U;wz1GN|$J>?9o0tN=SWtsYgR68((sze=UBMGF|!#K@1ZO4WFD$!_*wDCSpp# zQZ@wnGgGU(o5m;G<9F?m<>9<6R(+aWBl#Z1Rzs?isaIXP`IY?lDogGu;%Ux}WH-KI zh{d#}rcV+ZT|8XrcfKs`ETZ`2P3^h4DOp>dzx^>S*=3uP`*lPw$DBwTOntkd)@^p z@~do|I+nul$bFS;VkWJ|k#lvJsc>YqHjbRZ3P&bcxAOgvux}nQ<(mKEfw+@+5Zl5; z3d8akj}71#XEVjQ#TxPf$u1WqFX-Hg%B?Hckp6(*V=~R+D0}CQ9yE5fR1^%4MH5<< zKZhda!mGUs&JmhMa9=Pe_@f-0YpVh7vxDlDf$ORjPBG_EN|!k$X5%>ME^FQp;@B6a zRW6^bTQi9GTAww3wV-4DM_1@oby&UL#=aFsY(pv|CuG~Y_TXE8An_d+()*H3*7QD! z30h$3eGyT9jpVPur80n+ z?hDE=BKpuW+gcwl~YV96)W=L731NNb zda{$2J1I!`h(v>20}bD&H1uo)8;-jd_vZO~4WXC0^K?`uG`gJx$qN%nlG8y_j92pW zJ#mvcqG#2x9YP_rqGPSryS1pNub2mTfYL2EcNPg|dCLiJ?%itXT~jqG>OZAbvYs0G zPw@~RGZ#$ROte~3?00Az83o7O09+pz4Hpqh%04R28D&OA8s^PP(9!{OgQWk(`7?`i z%Y7ui+U^+nfC$FE=m$hF&!9ZZSm(_S3xX-3uNX36R1DwV=*5r@Q-b57Fz}s?KJdIz zq10tfqTrW`VX;;(cz2_u+Q%lw7RK^6gW_G4@Yn@t!ZWWg1$%PBxN`u8tocjunFPKt z0KD2iQIVdWFn+GW7_@t0E7y|a3ljcID*VZ&eG}y;%S%G2v007BhX|5^_A!{po{fQz z{Ks;~r)R%s`pB=x$;FgNnaRujd z)d<(pdCEQY&DH0cM*bq{;x9yw<5GYBLvQ2T>=9{6F;s9q>b+m#228rT58R_SrR6|@ zY{>3mpVrUhz*F`Ugr*&^B$obZlfGgpq5Nh2r8pNRISr@KS4o(O5<{8^X>*{mvDAl8 z9YRuO_9*sqDCA2H{A&(wgT$t69sZHP{^{~m`7pP%FcD9#_Oz>wqrD;_1y|1S{Mx=Z<6m-n1ak`r2>7Y;?Vv4BgtqVDU9~Dqz>JJ z!d4{^Sv36T%L+8W$%`FKMV368{2d-)mWKwvl{MJBGn@_`E3O>6S6okXe>+LneUP7) z?c2Gm@OZ7W;2FM?*2@Zfbz;K7@BsGJa#De}f{o-*fmx$e5%q`Hg+7|B@zKH>Kk)V* zCj;>KqI{}(X5pG$-i=C(;Uw4h8%z_OCrY7;l>Zumnw;^LzxE(D-DtznmR0S1PROQC zRKj_}Yn{XWLo*zEAE5R2mri*hz%`{mJO!sV{nu?aFd+KUi^m$DJ| z$rbUU7nPDerP7btje5pfh)^GP>s#9Wja;HiDaG`f!J5nD5pF+!Dagc<9;nWcG*_=i z+9uY9n>pmt@G`=ho+K%>9wN8}$Iip#-`x$flGM`Izq9>1x60vHGtKB9k}Dw%FNNU| zUKE1TsiyQHt0u#ltFcK>wp772wa6JdrAQJlqu~6#3*X*$|D9+nw>u;)uH(KFN!eDE zf?bM3lx-$yV0cqUKp~V5nWxB=ayO0#6Ng>k0 z7aHBA&i3r^J&@itE-=W-<*&N*Dgsw`Bbf5VPVzeN%+nvvShc80QHgI(DmBzMSeGV|TvzoIRU9Hy5=^#rSu zVbfR1kWSZic8;$i+ zcm2fN?134d3>m=;%?S?@Y}Xrf%=x!g>EiC%v3sWE=vVP5t-nsG+ff?d-ESVnM z<)=5cwe~J9$nWxiPHSRT4$^X#V{+{7cFW!(;7IU9>!2R=V8@WF9cgn<*>j{p+0RNF zgMFc_TFL`Sr!P_|^Fe$Cl03W70tk&hUx6YcJ^Ft4Ph|;MsMQZZZ0&3nv_2*GX5Jgz zw%DZ^{bM+B9ajoAqR_ZsG2OOPukQ21c@eLPpL($$DeLHnuV$As^W6kk!LlzB@xsQRxWh;x9Om^#k3jP#$v~zV<^7VxSn1zISKC%Nn4A)7%UNta9n_LD z&G^>%?DXRPnRz)oByN}-NX5Z{R2-7&j8|__aeA-I#%P_ROtC)&h0U^7PNZ02F+9E_ zx2)+i1LYItihq;iKS}U;yX4)5FAvxz@jYVK;B@a`SGayH6;~3Xfnr{*&h4j~!T8OM z?T=}})EU-i>pr=?`Ob{*@XL92@5FL|UxrTI@s~H#W)`OQ-AgdgBlXhPr)0ZBA+}d$ zYP)VeQi<8u3aW|mZ(5-hceSpT!|pp=sIj>_7x#-WDpup|pKY!7_B#i(QhZErFZdbO zZHer~r(ALU)u;HY4S$M{aI#nm!y{zrL(sAvxtbntouk*L1YHGtu27-RzRsHK_lnfA zgtH739k&Q)+P@hkGFTDLL?m6X$nrDlW&IgjaNVQxm4k*yAO>DMdJTHu+LjdJb3=b_ zz8-sVI=xO?M1X3#$#DF1mf_T!OxLkzBwAsm{HI29xjm1YB+TRl_x0^L?oZ6CGsYFM z0r$Q$TL0ab^d%0ijvNr59-H5Og>2&Oo0F>|c7Y`I=Zl}TMP3}=vaPj6pCI4z6mc-Q z^%7&`w#>wm_AM0+Vmp=Ce!1B(Ha$OUL*`g(i@w6OMF&kG#6M?dx1{K|J+AEBD7ntL znVuUvg{Ved8{Q|X(G;0=ghqJx`z=q&;-(P$TI_}g-H)w(x8M_Im!Z-A>cVV|OTn&u zK&N_O@6FCZ3U(3aY0 z_!v1p9fxgx3;7x7rC{q>`tw&zLoz0oXLO1ct)g-MPtp7~ZbECATTGswCi{xW2|z_8 z<4KtLC*!x&Jv#fAk2N*I*@6%PMg|gcMLW(BFhb6kjP8(ClTA^!RHN=MT6KR1Z5VFz z!~buA6H!YFak}z93XR2JwR?LGQCrVw%}>rQPRj+)w)9FltUV!vl8iRiFSqO458LPU z-FJbND^Klv+T)8d7>%{$y!M^)jq9a`vDD**xzNdmNOrT&{F}`K|?{0$r>cRw#oy}(`EY05PT9-nk zIMyFS_H{s-ee#CnbBfEDrMP~C{8+`+PmyGGIY+V`igmVQ`9jOEiUF}E?r*D`VAhcp z0=+1EAfn+uYZrd%!NjTz7X7{2XbNdlx)A-m9sPhUg&5UNa{ct($<9XBmlOT4fsx_t zoswaLkZv?=s_HxD+|bcW4XR8eWRw^QN4jpyh%I$~UpymOsD>oH6Kq)tXnhuodQ@nw zGbJlTZa)w!YA>Zu(cW*n_M{NnJ8hNP%kNGq8N^gFuDvr3PkTxX?I|(W-Z>50t07%` z#un{qeHP2LXRR~sDFoV6UaQhxN~)v1cewVXVDHIeo%2?sJsrbSL{l=1DN2Sh1t)mS z;b~8ak)u#zBvkOdOB=LTL!MW$MSEJG#iBl1XWCN;w5Pm)2;bBEdf#w8cs1UXf-T0~ z529+uF)75ycdoT&RYxQBOHLZT6^H!1;&9Y}AvfXJY@{a3P8r&|I%!Kn#KOJtMX(y! zk0I;~JH1mTwRzFs5F;kHrEag3m<*_7Oa@?kQ)VkmB)-X7$e4lY54eZ1#ZI+Y)MKYB zjF=4ZRSaE0&3}%X3E5Jx(FVbuVzdURS#fw;Q*m5}3CC_+)MQDQ(1hESY(0pD)>b1a zn?B0*G$F~VZgOQw=^Khe0=~d8Wvir_EXu@Z_8D18l#k7q9#KQ{JR$0uFld=X7P}(F zD{6|xNo*Cv2Ux=@2H2Xo53r^*>wgN7t>pu(S-x0qs)Nu?l^O z0`Wp(-G@BZNx{DIg_kY52?x&i6_5G8;xU^KJZnWw8Hf;1za%+8#`Ury*)t)V0Vd!v zJZeTOr7%2ld}8!W7qD0lgpcJ0=V`i9VRorhP82Fw^m)ntoo~m`T|;tM8=rnolkGp( zgGK63>HEP4!*bhKdmc7h=zn4KEs?T&yA)Zl#MGvEJY2;*#~HHogU`Rr#0(7oda?#i z#UUN8Lh?XHGmb8L(;%ieJOH9NoceFXSxXYSM7hRM$OAT_6mN%ybaF7%IFYjpG~W_a zX_&*RG#mq<8^2Ur-J4=;aECG@tfclhDRO?Wd!2j4OJbL|hUAoKFqIxu%S1J<^%5hL zs(GVDMW#CZi7>C|*)#V`JsrvX+d7g$kq$>KQ;@|F4-H~|x z!yu_LB)h@E$wwJCN)~8Jz(RLkeTDO*I&9|EynQQj4UcrBy6|3`O{v7WE8Ha@#4PJm z)^`7b*ii5HhhddqvCLB|CP1f%Nnpkf1 zYHA^0e-YnoO4T-Yai!0!Kt525-OXlQDg`@jfg*px^MzWCn7JBLb67yAu4W7Ch4SpPeoR zjia!TCj$^@-o@lpa7o*fVGnAyU*^+2dH2+QdEfX7`NZ6uY{gzbH#;uRhS^kEDW0C# z((_>Z&}<$V2iM6t(Q9UU$4&#uDT#l_#n;ROAda!9LT0g9DrgXuLNZ8UAZtu6$CV*RUCZyNli-Vt`ll;8q=~kmEyV| zP)i^=!MYeZkt4cCU$%IsJRLK2XK1Z6&9@>~t);&bUy#-J$X|&soRH+-(W|8r$o=fX zL(vih@Hn`5+)o5_RxK4FhDZGiltZj^%2RpWhi;olPPSt?pM&oCiSaE-zeZQoTQa3G z)EkKhwSmNH6&)br>7n06_-l~^Dt|2sI4;R?by9ODEx%+kAoT%vauVrEg{#*Vv0_sc zE>l37j!G*GMMs;8B=v{afR87^K3+8725*4Ah-ro_;XF}tT|)yBitN>lfU;Q{0BJ6& z(*Q%U29zYJKfDHfA~oO>MFVd42E;MKkrK`qYPaSFG{x_RIFutf)VSpV*R3Ku;bE_H zEp8o@aNH&!Hs0ZIaez>zb9yAfh!;;axGLgz5B2zIU6Z)2vJCOm*UWIj_9uCQO7*Abl37u zrhJew4b0+&5a100n0hxd0@k#WLEVj3+#tvksLAKrOnBsPg&BeUZ-p6A7iB-gTDa0o zMR9o{99+M8Xt**@sVGy69)8Lw%aAeX9%V?lKS}s0k&toWQ^LiU63;g};%ISUvV

4^_Zq;)u#6IUs1qOO)Ko;B8Pv#usNC}6NOamNN!u_q zmJajx(kQ6>y@=woqCYZG?5jp}z7oi%L?2L~Iy(}2jyGl%naL3x7|m(ypJhESe?t?- zvW2g>^cH&Ghm&-jujFfK%ERFvU-QT^<;QU#%Blo`$jOC3g^2)isYe9}D_E0lEGkt( zeQ5s>#-j9PyphieGsdFNibM}g5`Ds&$yn5qew!Cxd8L=0$N*Q)CMd4wkPMfxsH99S z&G>7h%&D!(jTXx%kDc5(xrrZ6NI#s|J$h<>&-B>-y%Tbu=VTo2bHa&*(&t3V?ec_C zfF3KL{_yS9pSF(bup1A4-;pc_%3BvgE z!k7s>LHv70Gk z4MAU38oYIrk{(<73m)d&kCQpVge>i^=7_D6L^)OKX0@C}+)fkGG2j zh*az-1K{xIV)xsrx$Z!AgC=Ak#e|2c2_`Y09iCvqvOmjIS_z_;PB8_hSd)#2>RsYPE-En;WulGLKkTy&Na zj)?+Bc&x#d5$$+h3X)~#9=EwB0YPR40F(1-WOLq#5V-eVdRb$TcY6xQR=+*zTR zqDqp~4>0(u74?;*sIL@?+LaWQXD=lXaUU&RyIL)QO#Fv~@8l+A(^5&DWei%nDr+gv zJ#5QI6%Pgx3z8R97^b9>BK4spKfBvI0<1Lhe^odV1N4CP4~6gA^ku7q=#ojXFg(sf1&{gpJ?54p(H8N;uq-&T&U> zOzaL(1yY-d_`<%yPaank3Mnp#|4a5f(}~!U7taGq{z*0?3#PCWM6o*&M#4j{a%? ztWs~D@BmLtfZ!z+yt#WxkNQGYhZQ`(p0xD!LQ6lFw3K5)2}DewmCstOia;hNz=4=h zAe)Lx>cj+8^wU{IO)&usVge-T^MPSXDk*x*Fn`K1;n1$8j(k%%$_)kiYjb-V@jpxh zq+fb2rWW1m{F`U)nwdQ~BUehektHt^w>X*UH%#O{S??Xg9j()S=LxQiq;S1W+KCI_ zr(A8z{UpRw9Scf-+`7$%|PePeR`9Dd+NMIuR8_Xt4_JF4CE|zelX=%j&GB_6R z7wMy@?~^0l<#wsg_J(3cf;-2l;^tRR$M@Mhjo`xFeGeAI}`E$@OoT(Io`7v#M zs|hhAm}YD!P#I0_eLkp|9yC~R(l_w`MF`5_h>?F0g5<35%l~cM$~SeSKHwN$5dHTX zRMWG84;ljtC#li+l{G+lNJeY;DqtxgQ5SLTkO8g2T&H(oH=C4Fj}=h^^mRC6>}0^ORti`*&^Me zMt7z}+vrh88U+f&@|1`ThsSHn55dSj78<=xa5O(^x>|&ZN=;@ug}`)D z7#;!Q@JzSXO(%sg-G#1}n{4x5Lh5J@iPvMg^A&QC>2k;IoG5TMn=wLikcvWVOI?y! zcGvIOH#fU~Pa3{@pj$~}k2UC(!=vHL`qQ|bF8J8}io~rLR(l{><-T^&JyOn5`4<&_R+usr{j4x$KNz~V z8`J#2PWQ-zH3Ewr5ZrwYq3Ly39Fe>?w|xWLx$#9TgCHrDJq#VSMrl2U_|9t&9n+ zseLW^Ts7(bG1*Sa@DLy8(?R&=C2NqhF?Y{h)Yg*Io1tB-jSEnbY3&=EM`tZ=|tnbp0> zIFK+YKlj=#e@bvulz=p+HXzNEgyqA_jr3A?)7bp@)YP8jC}n#cWt*Td`~3w) ziDS=}!&?RKvlDMJ$?*PV=e^#1vSjM8oWl>M;y7g^s0{t!R;Bj*^33y8iW6?2`Ia|doMW8L~;Kp!P#ZP1%AiC>4eL(Ei3~axwfNhNkHL~ z?^im%c+?S+l9c}@%tUWVRcSo#l$kO3L}>CTv)ZM z2gr5h#~a?^x?0bjgNZyXC>6!}64!bAs$|8>v4%UGVGR)D8X+Ctpi?114sW5p@VRo; zpWUsK?1HDgDB-?H1lW{le^kZB)8tagwer>K_Jm|Ra)8bEmqPy=Pqi^b*VF*)}8G?Gctv5RiQLM>{QH-4q z6ytl}*x7qGF4Qv~>UpuyBjUVR)Z^zSzhSzTK}<}@O{y!O7HT%%?4=z&Ik=pjPZf`j zvxH$eEQK(`ca4ukg1+&wfnIlwK6P!EJCz`hz$igN3;py5ncxZ;854+$fQs)M+iQ4#VLB3fn|Yw2ll^IART~3mFwj~_ht3B5D16~XyE?ZQ6iN&vvFZu8w4y=A}iY3&Q#NX&2f6EWdGvxBm~g!WIyhFTZ;MUX@hfhdY$za zR|{EEc(!sISLIu`J3iZ>H0kuDR==Vp6Ao)#hV)%W|!}8IXhGmz5d7K$I@A3u47ofd1Y9=&CA4Dw_&`qjQBEJ zk4IRlO^qs1yBDNh>n6mLv14ylwGk}W?PW1M;$lLcY| zdx(vBj0@xIxxLYtP)5@-q3HQ4ET6E@W?e2)FtSW}vxcRRIzC>N!(l4%08R0ZDJPWQCjhtw9xrqYxql@Bq+1D8j@xPry@)!SQd!+2l}%1n7$MO8z@U4R@B!x z-PJ63j_XSbwhD*-8?(MvXs@CZ3l-hdMQ`@@CPuWkhIGRlBWs94&=93n8@_Kcb%;yI zN777YXi~5#D0X>g*fqSNkXf;CR>dMq8(4*nYT_6jQ~tIQXA0W<;+KEWNzs{tDi@z( z8ah+Zn!LNf+l+kwUPOb3=U2ziMGcH6QiwBff0WhGx024$sr%5~cTF8Qpc@YR4=mi9 z_AWRXDsRN*!=Mnh`I&O?$8SEU9C}aCgwBh8p#+HPN`Ukj(?=s9%Bbm6jY+Hpg-H}F zH}o;dB!6HHO;oCCygsQkKYTRs8O}%1NZuThf}N|w;2(ABS`GDF9n>QkV|K;gGuVn9 z_m`sMo{tP*OCbW?Csl?)iQ1;l9H-Twv{~NzOeER%K=q%qW-WEnRxzEqhQuYY!rwdO z&5^sQAxV{>s?Qjt1k~c9LKz(uZJUci{>jJ0QV zuL5K}c2YmVRWEckNx_aV_VLhrJ(w+JUgY0qDWZH}-Ibt|jb`o7Aw1!|@ zoOn0k0 zNnU?&58tduuTd=kdAPkMy?wxmlpSt6Da893C!2b*wR5jgaF*fAUIOoC?+#`^2Dg0Z(h`S2L&NeQw#e_*zs_IZ(?cb_o{5umW{JS^P*E>0l zS=0mN6YbOY9+*1No|dhx9kcuP+2+saC1{%osuXP39zh>tg7zK=h_KKpMnEMYSM`kq z!6Zm9kE~fxPh%f#ES8%`HccCf2>Up96e)zGTxE2ZIz@!7Aw9xgX^~%SBoPSQHKA9NN{K$EJbg?3sm}AQJv=ic!v_)V$(d)7 zbwiKdhS&b$bBfn&I+M0mV#yBt`ab8Y6>ZaKn265O6_U^ z!=}5f4MY5DHqF&x(_)scy@rmT!3KBy!V+QgCx=!qhb5g{3NZ`ZpS9ZDuN6y9{TY^L z3Jj}gZcW_hgLfJ6AEA3+;d+unIOPy8b;wQ3Wggf7_N*P+-*_~8Q-cJH!!swX4k&bH7147 z*ozu8RzteRUeKtqO>#GLUXFdtEX?Uc>)KR^$SP`8y=n&8pQ%c?v1*K|SE%~PZ6ys(jVKLF!}$8g zF6q1D`;5vhL%I|HVV1NptzBe>6rZ4>oOr?rPXEU_6&sB;B#Ae)XPk<`supNRvc5IH za1sT}w&27HUhppCJA^casi+R?4>;|3+|1(sJzU`(m)&ocEUYs}osJaZ==evK4Y{@EA|w{Z6vMTN0_J2t-KMm&@)wYf-)R6cdT`ojz7S*C8+y2`ShO3p&rIO)r6= zTVJ*@p%{FMNipz%z~Bf&O_6#u{kKMO@ODt=n~~$X0io#8Qiwz??gtjhP*-`@zAdrq%1;;Nm#MSQLHOn z5+;*@RrqyH+;{Ix2j&?Hk+tMUCX=F@x3_*6I=<0$ECqWr9W(x0)^WVD6Z+JRR`UWy zXNjojWNB!{e_Gq`?>pDC8ftRd)u{Px*&ilq(QCTJr%hCXOB{zyTP&Jz3L!ID41_8F z+sO89r$jr8O$6m~wR0J%NU#*v`pkm*LJx%$Syj6PBs6W7R3cbX3igI#(Pf$~`3Y%6 ziaER8l2VBGbB{TJykwofj}{ik%oLqrSodii3{y7IeU ziglG^T~}k7U)F@5ARwIiIl~+H*$8ws1rC zNyMsw&k$wMj9VMjRzvz6?q=6VfA!%tq?q+Q*&8B-SYuA4hLow@8q(L8dvhzw+|Nc` zW6Dv2w2o0+#xmvNcQy>S_e4VPzl&MMY2^ibXR&>^d;vySjdHEBhb1TYmE~yiz!?>{ z_r_bE{dYdd@U4qn75RF{-(BI0O|?3cry2*CZY19{%*2r2YYYx@tISUnqV%tW$r#*w z(+wHP4*6D$ijgrUl9Y?tD24JGZPIpTvlVL5MQaY6jf;l%>49o|+bmlw^OOqxMO*eX z0i%oFVR9yIR@LFyMJ_;>Ff0}`m151cVlE(Jawxx8iR_^#KwJuT(v60`Fe$%08&O00 zp`quynNFBnoY~zTn;V}@hpXLKH6FbHB|JBb6>=3$p;)YtR4$@NU=?<%iL;PGh0k^k z_g9DNnitZYbY7R`^Bt}mDa424UZ%wBsce&yi^eD+Msp?Ps(YoY4iCRk@1W!xB{c?T zO=kpY*sQgb?Rx>tBpDnpud(ZkX_yG+#@>?tCM*WnK|Gjg_u^o zIb^O*v_%991r$paB}Vc|iFumpx3i6k^+9n6T(JnDibZ~q4rf?}W7ovV?h|25QuL$s zxh0piy=DwmIHF0}W1B5WGzP=pjhx<58; z^;~@}Y^7-IP$?RNKaDapeJx>tb~gE~l0DN?^Ll^)743H+q!7ui53i^q#pB$$;;|&A zs~DcCsHO}=$hnM)jzvuQ&d>DX{u$TQ3_>zDl|npP_=!SOO|h;RP?P{2TM5u{aokTU zfyt%vo>vX&TMNeOP|tUKOz5X`8nfO4DcAy>N%$9CfN#ph=tf93P3VfBH%KyO5daz+ z-NTdnCCZc0iYd(36VH5SaAIu1-$?*cKe%8hoNhtPuLkpoIiKobbb&J>9T-?e^r(sZ z4z;zc7Yt*o*d(p6)#prxArrBx#_`NRIeh3TDK#biD-#L_9MDJB$gN9vx&z)bq+ru= z82!7-LGb8#;I;4H4WBs=?G@=W1OaMTY}SG_a*P(sl^l)xjL zfFDFQ0urTa`hF1kznbXx2les{)Gx_lyVTK?CbwQy=1ZkrbhHx=NAHh!DkKfij{%@O~&dJQMiU=O9{n3Jew)T^v?Ht=rbrPeJ03(RYbU&IA@Gd z*=a_62xOZVC>5%s;duq75l*K9%#ku=%t9vf$@)UpLKh2gAtfvYn<>NPkuHQ*LpoOn z>FU)jyKuF(goKbil(o3m{+I7_=jDBJ0(s299+2Qsg9j!}*rNtAq10NL&Fhl~)I#}d zc2!)a+s#3|eDtDgnjGm0^-YQT4s9Y4{F6c{`8PQ@&c|o@y2qX>FWKzn+~7GETk1rp zn5;FNZaCfTH0)FAW#}ANhGP$O(!3Zf&^8MkQpuGRT_qXA^gio7bnuWY#)4 z>!a()vjlyepg&7!yH}f3W0Rk`&YJhL0wdifvxr_(TqZqEU+-gzrY~wNcbBxgA%lIm z_#{G>bn+yNf+N2mjAbq?f9>&A+_-HGzrX2{c&1PsrdJ{|w^SnBrN(Whj7Wx`yu9Ej z_n{To&odZs8ptYgKol}*4qX9U=tl|w&hjMVM<~>Kxx=9>s7ISmwfcN>w!7i(vAL%xag#DBXQ(qq8hn?D}Q4xRC1vnm-PApT;x%>DLzo2F13!lJfXc@$ogv1gsZQ# zPG(U%`#DeI`1c9ETooF*Pw+|96l|YSMXmIKHpG-+NX7KwB{d@g-1=$xRyPYl24fYG z#|{yZ*<uH(5_bo^$9LOPCFhZ!z`JHfddAGc6kOz~z3Q38)~udlZ{giiCl7|5 zMVfxW9*u5|jq|nb*4uqT9EH_-#sPIYbol&WV>}o zdS9`1g>)f#Vd22+{FFQ+cW>*llM4$6cAR}S)VHVOk=rGwefA}H?Ad-yZp4-MjPYsn z`5imrx0d{uglb*fIG9RSp7iJF}oSmECv5XmcW`kq@fL=d4C&UHv%9%SQ=`kr7 z=(A8)Kl?rEBGP^5Rgn3Xe1M=|#%-;=iwmu>>G@fIEE0Z>Dl*&aR6-`}u59X}^bNJ_ zfW{u2lFYa^R>!7*_-u>zLnFPFjNK`C#grfx)_J(Q#T|J zASvaMCE>+9VX26WFEU>B0j3H0vA~h@Uy4HthiGazz6{vf`HTe1^vvgnI&10PjIZ+v$Y6b^;8R!qe;BkotD_9u3qGa&sqH+L(?waxGpSrJX z!sNFKW$a26*hqu?uaxAkE-D9*zpkWggJa14l!QN?h`+id{-mNZh%^5z4a;^Nqv{Jv zR6Go;QyEUwGXd<}E-0y`FBM}j?R%*p`LxeGFQ$FWzL@qoVYu32X~1$OeREdU+9PjH zxNjEv%mZl88&qPJGYhd?KPbg&V$kiq0x6eme68Of>rLf*2f&7=@|UTTN375 z1atEs%=#$!$XgT6Ta#v*xi#EE8hKm7eA{x|HcijUP~qFqDM-9MVZMDi%nkcw+9C6` zg!9`8=eL)Wv*&p6$U73!I|S)LgA`JK74@A7<(-1U;v@9Y_J_ZUm0mvYtyW{2i`BTC z5_pZ^m`WZy5R+Nbc?EE+B$-ID)-sk2VK5EUF%4(RR-leO0LLDy0LK&vgDD2OSqOs> zn80F$9~&ghnk%lqI$0VE@B%CrsL2x>=xK81c;t7acAZd*o@R?T?}=W&VlV!#eF&Xi z{BEI51bDa5_H*o?TU{@HQ2vyG%ygL}ldjhJ`|k-+y7TV|QReU1;vajv^GSg|JHJqS z{(BOE_Xq($;n+uDI1`v??;Df%3Afi*WJcbbsJvIG_%_QjROAup*@NwgUMjzzsQmtN zR5nSs-S3w>T@CL`nC}xzx2o}P=vTMhCEG4S#jZx}xXDU4?7E)2KXcovD?m|u(=0b} zxfWy)Pn$05{OHRKi|x64h2sACZ5o!i6mkjd_2wGes+hQA7ZGyQK7etW@=3qgQJrm1Ywu8*<%R7r zeY<&^yi(Vmp08L=%UOyUnR0I5Mcoy0K}uic-j-acW^%pw*iMbENut74$%Kikj=uQF zLB9GZzr(R(_Y_O8#H_td7I1C(ZJ}+nx6O~s>+L%v$$mhR?AjM_Wxg(hE8jeb{4MY*K#HL^c(2YZ*Ct%fAj9VTC(-gZd(*38uTEdG(G6tiUx6!*hTIC zmRgUC7P~AidTjIhh>M+P5&=7D#(QFS6RT$FV)g~Z<-b%=Ka;ke%(Y}`Mx_wXq#g4h z-7w1;l*tnZBzZvFEWs(^lUXFXZ!mn#t1AR~eC6P|N8?auY_6M>1dLE%dYCA14rHY} z>Uqr}QtCW*bOSuA zYMFc^;>U~(`S(~(#nIXoMB7L^;VA_R(PR$K=oPI7gEa%%76ZFKl6P5uioi8xrOSS1 zfnX}GX}aA{H=08r+O~^QaHCsmJ>h&9hCLdxd=1g;mVO22v?5Za?kBtW-~fYogL?Gmx9ec z*#y4M1gJLCYe)|7pru_&OP!;okZf2(dW!wpOtYa6C<^b6su+HX%TPS;&?l{*;=0-> zr^c`)tW^9ES5lWdk4!bAo*$6Ngv`iZrB2amy zYt@6x3A7Z~m4dCSi51W66|M&JW%M%)tSJU50uKo(U0)p~1iRH*)AX~k_bN?E&J?|s zXU7N{iXl6%MwGxtSTYQqOc_LO4iNZ?DaixZVT?!*L`y_}Da45MLTmn^`hyZK4FlQAodWhc4Lq+s5` zSoTI!Mm3hzkmL~2?(36wJ5Q2Aa`hS#WuULuWtznatvsPq9J+_fLF_GX@+d4l%X*W7 zbAnmHIky?$#pMSDqf03m;TN;K#v~cyR|_Dynm(B{>~6}~mg|ci>0zy^XY8}+U5|Y_ z4lwprlu{x%R!PU~k=LXr7RTFra1HWx$8-_=%*P2PRo z-xxR9Ryv6r z>#+yBN~93u(#KsT$L-l8i($@@sF_VGHIC;?|H^Qxepo~L&|@qa&=n;zmEHpTs=H(WKDJFS42|^h#|jLzcGH7u4UkwpOnu){xxKD4Mqd z7gY@pU#Mz))caxLl3z5f!MGr`dKRigj`FJ#J;%J}M0;X%(kC1>n6F}zu2*P89qd)1UI~CKhC5U5x)%207>2|rAZfAa7cRTGNbh`}M)a|+w zNo28@B!B3yi)2ODJR@~kWmyak}3+J5s?gK@Ji-5BPpG> z{zTpiCV4pWp(!cE*RLMxR)3R(YYrpVV18!!AqvKq-ittFw}> z+e}k+ zl0vBKB3IX(Y^5jfsv-R)q6=56E=A|LXJzE$^yB)~)iX>fp6q8Bo=^J|o@uKl?Ke(M zGSikqpeH^cW`Y2>#kosAV+WVO^F)XZh2$?6_sSNqWUT!p_;~P>OQ`hbVaUB!BD$W^2?4pO^6|W zwXl|}3#&}!148=s)c&b(v25xT4>_L+QRb{thZwAgh^n4aqrWVz{Ycb(aHI=tz%n(@7x`76)DEPe#hQhV;D4qC>vfq853k8j?84 zGG{(FufdBl8h71Q6i-Jaw5A+F9HTatk8oTxie;afSvF+DRLZj*<-7`|=uZlkDW6|8 zrda0JZN5Oj@adHS4RUUX9w{LZr4e{j*LM1#nzfUIqQ6a1*gx>6o;`{aTsg@XYlOog+`OvSv@G^ z)zEE|a%LhQ$GpBh$3fS5Js_IDYad6YFPpn_en*DpAT$R^WJR>2B_EpQ$SmJ98Eef; zQND<$r%SfAxS!0a(*(PX!>)2joO8tU+pmxV+xyrxZgEIfPTz7-c>dxiZILgdY}wY@ zqBOQVWqWIne++U54 zCR3L4#vJ=QpThwywEvtFmx7HJILfaoaZVNXU1LpiWyNFIP&|&k1)lYtnlca}S6|xt zAtF(_i>03}d>Eg=JRLEcV$G-HwasTEKbZ|F#F@A^nsOw1m*Gu&hz$>l#uQZ1e2tgT z8lv>%>8ag{$exfQ5>AP2Z!vyLoo}0FiJ&zkV?Tk{SQN2J!Eyr_RESltck603J0;4` z$DG$$b$>@~&{qB+(Q{B0qqr0zGxx4SRk@pYcW+-1ubiiMZ#|oY3?yD-~o-_ssnT%a439eaCnXBC6j6;zCUNiRu^@X@1= zQ6EKG0aURVsRFAQKx^WUPOUb< ztlKICdQn0^M8os-)8yTZj2SF?ceQ&L7EMpdp`Yh_)R96AX&-a_^gW!Cjojr4zx?=` zl3@y|WSHaAcRp#VTGduo5fYTxX-G@`bXCkWbo+dPSlc%N#M99-OPdN1Fn_rB;44_hoEdQ}8a1lz2 z*HRUO{I6o*%Ba{d$m-S+*_7FI5&SoQZLUSd0=ieLpgFqSDU~IVlhWh0+43 zP($+wS@_Y<(^#;j5N3I(vZyx5%Rx?&*u_vJ+Kpul$(*Ss3&e^-6~p$+Tqr5Tu>J5X zR1Di;$EM$!G9Sgu(8`7pUfCcdkF`9?%y)nPl)HSFpm^R{$q+P@3^_gC6@9dk$sW*M zr%R#~wG?NY;}ALn$2SWV1}9Ov1c*XBn{6maZUO6XP6<5HSTA+PVyvtoA1jcY5;)r+ zBfHXbA8sE6inrkX^PNhKM^RL?%M;(n8?_;R-8^z}Ssl#k`*3$DgML*<&uP%xs8hZv z>EvoMK?&NK7)RQL55EIXif@E zI*d8Abr|JJKa|4o2oTX>is_!lJO+&nwoH)j{Uld(mZpwTOu>E;`w^?9V0Wod!L8P? zas#I51&Tw|R2;7U6gcLsHCd8nM7^6`vp2*_qlWYx{ceL~LRr1V7wyWE+{tYzm@6gL zi7J+--R^LnxApMMkUrcPPe$}wCLeBYFiJAqRI}|B6#Ppb;G_`u{w9sq00k=!@AN2+ zYcJv0l&U7{M>yI_wqEXp%2p#OgRpXCkBHtfzp|tRM8zQ>7C7b#DrqK*GVzwD8QG=I zY?!5n^s5lF2FVzkZC<>K0q4y!pHCwAGR&}w0k$UY%P>=z^-G1IUrJ$k#Ft@a^_-(j z&OyJ-V29N&qbj?0rCWNOcrKl0P~;@q4(RA4Vh%(eHm z7A0ks=0D1ptv%(-aEIQFZ=sD^ys4y(Usv%ukCbMRXi^|jph^p%&`HrnRdw{_48{nX zy!VLi+FK=$ec#LPOUmP`q+wBSI*F7$sU*elObLC5rS;dn+7x|y)mn54M z;#Kr_X8oqOdaFrM_t^bo_w12}H15(1(Jx)e2bIS;&VzX({o;MbW2sZbhZ@o+f$uTM zA!OVx@B-rY2NU_sv57@OWBulvY7(5#E@M$1FaimGgw zQaYD8pKB^Q@(--{W+ggi52TcXKJJaU<+NP79cgM*c**WrEp5K5aM+&51 zpF_sAK5BZ+hdcwddR7P|eLTXjNjenRaj)$!j2v;cnreii*T}=WuH)B0l-Yt5BD?Z; zNv&n(bAY>lX}?>F^tl^4KJ6iY&J1(dGn-FE4Bu zCm-p*X7~ljStSV0Vk|stRDEgCgB9@DJaU0k!q-|}Eb~<5(jP5?bt&iWgD4ToICF2=%GGK2& zBq&KC?#dr=vS+{~bYC$wE}sY3e;~rTp3ew{H~Ib_N2}lHs+WSD6eY4Arz|Fyy6fi` z_wJv{AAzo+NhdHDIL4sG|I00~kMuAh>M9euO@S81cz>K@Rz`Fb#bDCXh*4xZ6ocuo zVlZt84Bw0CS^DcPLD5Y+#TRIl+zn1{kB~zz!`9Lvm~0*)JD}XC4sKQN>}a;HWKyL6 zl*$38^325KCn_dmW%VE?nsY9hq$D(3TFT_5PUY7VlZRDIo>f){6LJNLj^ArbUoGg2 zm>UhfdEoA~<7*xJ^+`{s8}?GCc$`@IWXPq8Pv?KiLyr<&UoC&q)8|WcX_hiNE45+YOR|AxE$plC)SM z-W#l)zbSuYJTFzv(GfEYQSr7r;!huEP956D(N}pjNc&N}(Ad6T_c9q4N9T5bVi>% zHz`kX87CDN?wIKomJYw78tc1>xcZm=flkmJ((U zn?8C+lQ>1fL9y7wRxEm9V7WLhbtdlXj;9*&)F@7_DHW5x&5H> zJ=Q6ceI|K6ZH$*X{~FFvL$cDKB^`q-@@$^hR`_e3@<tyCST6|QP2G@Ap=d0s6pbee z0&STOZ1_XqjCOBx&Qge|@iWS~?#WFa_jG|v-C7B;2vS0%NifLs%pgntT_B{cA=%l( zHqSB0YOJdviRf6#gflBC1Xfb6K!gScEg_m3l8%`n-rHRxQn2x#hP*U2q`O|;Es_Ur ze9)<(F#(NvNp4Ko+_j#0kVsb^Obi062p=_ZKRnzu;=Pjk7O8nn-Vo8t|LQ1ssqzCd zytHka)QkhUpA5qC#d1GRY{078<23&C4zvduDcH#^IQ@!>ys|$Pb0;OlaHfR(%=K%M z89K$>sfP6Zi&tk8#N4TdbTyc8rUiw_;sX&{IMf08ov4E2a#DyLj3sYDF(B8Fo>hLM zL9S{*{vCK>U@64Z>n%#5R(lR4c|cZNrdf&$cY4`7vi=GeE@F>jvB9la^!LDW7e1^3 zSqXDLS_!i?LjQYTlQ_kItXPb+ip3Gez;bcKJ!|5eQKaL&*NCTT5@Sk*>S)xDHXtkG z3!U=ggfheIpBv+9K&~N~T+)(1GsuPkS>bm&<*RCV8<1;~R|^QO{*$WJ;@+*o#Mn*9% zsxS^CzoO)JIl0?Y3%_Y{55dHaS132CL%zBrFPC3YDt9>(4&I{1f2o)}xvU<R%CbI*$2_bsUAD<49q61PD4#^5+#F;Rs_EbEJ2> zqe{VMjVR{7P3EP}eNsr%!Wxp?IO2cbAnVm$@p&4>B5|Vh{p~HoDx!H!oOB{>|4&z4 ze|0q6r!=M_?YjgG8|FZYyadsWmfxm67mRG#AEweQ?j%AQr-tmqXS+;1&Hnxm6 z+3l9}q}NZa?xq*ZGD{L5#K2>hSwccK7!$?Juq3}s0@(-?AcP-DCJQ@ck|B^4LVy5a zGUt0vovKr>?^Cyw{QmoikI~huv)8Fpr%u(ayFJNiIF$ieYb(r-O4xb2(99@2)z~KQ zC!fpM!LJ-W`*lmu8GAN5Y;>xOj6S6R#Db&m*URYpO&@*oU?;Vpe}Rg}q`K&uiW1`H z0VTxV5qe%`dRC|IYezi$Kf)?{LU}E{7OvNEQ^#0dFs&=l#_h(l?skVvt3f z;=*As>7y>WJlHW*xcp+~(l~zv%@v=On&O|5^m$LxCtpfcgAw5h8xJKiTonvEDm9i~ zbnN0Z`5&%{JQPjdyJ$@mA59eBHTi&R;&)%wV0aXo7@MGpf}x30qt;k7@g!B9lMTY( zN8;lIrZ{IHm3>&jju$XOpp780nKl!Iax)?DQI)%QfR(|Nzat5n1qj7Q?}9&%Jk5lr zSDIN8cVb+|CdOI#sBhWQKtznokWDeJ^XBC;%IDp!6;9cy^Z6OQk0U&tCJz=}Ao`ms zUH{ANK4jAWCq%bTz#rqwLy2ymY&3qE#21JrN|f-XL@CSRJAYzAmurA)For$u^G602 zs;=GY>o^d#&yXv1?%xS$HtE)s{UvGBN?bylv(hx~L9wSGdZ^*Y0&U3xKH-~%@L$Z-44|bve@?SPN z^UWa=0^L~^f&E5BAfgw9{?~?l!3c`8cE)5cIUELB^rc0Ah@=D~d9ct(hy8;Q&eMV{ zEbXX-f|D{R_(19(11EM-AgW0MgD!ukB(36HCY}a&&l7{v!6wQJn-JW-W1>|z3DuC4 zeNp0H43eol&xbW6+c8Bp%Gy==Ytf_fQ*K0gusNP_bJS_+ZbWX$Bd@N(nBY<92m^bf z@#KD(jujhoC==#Mm@GGJRsy-V{8FmSll)(?ICWI8!bDONcUvdXtXmZXPfv^+9x0cmE zh#)E@kVFt0XLSV85laNgkkIVS%R6u7jK|^w$EWcm_KD@8oZ>#itds*srzI~d5R~ zwt+1;NEDm>17+ev>;l8C2Z`Fy2Bu;$v=qxPr7^7FXf<&L367RTvq7RDSxGOwuTlPs z7$l00E2|(35;$DmAbuVsiozgK6b4B_>6JZG_90+`*&tCuS#)=O>-F08)qik(W$Coc z^=?0zGjHC7v|1Q1%EkW^)qmo<5gMHo|`F|j(9xrmFc9`XMy!%tyUPbE? zb>3l%Jm#W1p$@h@l(Y0VH1tQAiON$Z*-qcoGlyiop zIzixlo zp{ZXwy$?$gndG5FrY*^m{fY&*n-+CCJtEO71mxq$m%(_f^(YTqsh9ogT^J#;u zvacGF1#*$hrGEsztRP+r-=hTv4}QR?4Q$qCqEv2Xf;Km+qm()c0xyn*njJ0F?5@ST5(~dV zn(3v6JTyhLm*Aqk zNAZp)rFig@MkX~A4{|f{zy@3$4|M1f4>Dw9JUCwNewsfk_Fd_}8u17S@=yZ82Ti<^ zu%8B1&%YH1%P5Y&wr4o~^Y8Z?O$j3P!PN!4_B9BIf#jiFv;7h82EW0*1|#jpI=`)8 z^}cdWiaM&4%>jzeYeve2yqjM9ed7`fPQ8Im5lOujkxErSY@*E;RuRpz9wm}>1Og{W z28%Z$Enusz+e#jat^O$4%7-6$Wew@(`qX00rRbPT8M(Rsw830GH@GVz=2ApAS3)#% z)wJDQCYqT`AuyK`Iec@y*3Bgk#av%Kz(Drt?Efw(J-;1k%9&^vs6u)X`={cmQn~Tr9^-z<8a~k7Zw%gh*e6mf6aJ-4pO2N#*{HjGCbzA#dMIOGDRyY zC9;5O9aK}N=uG#YYSgRpbPefUd9p!P3#1y-D=TIO%G3YhLG(uNI(e{F9rcTIT#R6wLWVqh_kYK@iqALxdbv;MWZ66qWDrap_Lti>`(EwC&lIc2*t&s z2se~jmRfkOlPStNM`3TMpoH;MQ@*59#t(M8@C*SJfU{`Cj%SzvNw=z*QEB~H7o4@n z8NZoO8KCt+5X~CNUo#{$Qz5KWb?$%CLiy_sAU@R;-P)(5(D)c`LhzA?)pA3Ob?J4c z-V;rAl*VpSGTaNMWc)b(jYcM8v~P%9Ifk#`ct2fa;9ef6NdkkjCCO}HDo7UI&n8`N zT(!!t5G3u&2nbAhr9qUWecB9_1&to~7A(XxD-Y!w&B#O{@PQ1`$YifFxy2^XxBBpu z2YY3r;M6OFP^Q~MS?eB)Srr3Uxx{-@7|91RDa~5lq*K8XX^UB zx^ci_L91Av<{6fc?Vh){v~S}b5&AVz50n7Y4kBpy;`;#|0f{zrR8!GO7h=E>2}D`{F_O77yA_?<^BEd9Zpx@yyZu z32co31k+3$-v8eO)1O8n;*mU*VEQuCbMe7c$q-DHj0e+K8kua09849QV5;CAOby(F zX-(3DX_Cy`R6(-v9!wuGt{O}gf?%qQJea=NAQl%)e+CN?Oy!{j)5t_22&Nf={+h?6 z3a0ObDmd~`f~nywE|~r-6bPpBP=aaV+89h#PJ*e*>A^H<(l3~*pafGD)Pt!Zc`!{R z4k?)a9O5&;!9pR=Cn8%!08V5(RiObzQWf~k@tm?}9BrtdK!CEBn!;V3|Hf} z_+YA32&PKKgXt3$6M|`O?#HBWFjWo&QzhZS^nDcvf@yBkVL$WC3i1HU4G8|E^Avr6-S=i4N(esh48j^U! zlJqYOve>jp9u5_q;*!flIoSKxnae`^%8E~ELh(;Y`h4B>2|FP*q@PkYP97Cy7%CX1 zRDym=d2z~|>dMGNQRW{Pt&HNMjN-d8-%85lV|6u{YhrAICJKfoO6|}z8E{SHp=k22 zi`GQ((M0iGlOMV!Uh1pC{JgcX37RMvnkY3!QE@QOgmk1)kUI^D*>x@>Es)9sQo&XU zSP2Kx``S#j$jt=lPpI6z(V|3#a^70d?6iU6pD5%D{yg$D6K6kWW=Y(M@fn+h*@9uc z6{ca8fSn;jz<#5gHb|#n+8_fQrj9f_}X|$)}rV z6qReRtCF3KMXJrqV_@??VN<5D z3`RKrGZ~q4+YY6hLU{X*laz@+aeA9PW}`-C;*MFNRZ4`flBlJ(57d&Y***$sA>Y6tU^sIj?0 zol9Jj=O;;8M!ygm=)vZed!Zd|a=R1h)I^$WQU+sh|BXA9Nuk1wGUY~jQSm}GN``zy zAQ`q3*(l+~(8lh2ku&*;3N=hIHHTML8hLi7Fc&+ipA?wVHNB*AUq32f#bHA5P-+Zo zd00LCDgk4>+-^Dz@T-mb++4Y;G=q_YeOO}0VuHg0(eisvTpr3c-^;v% zwv^HBprEnV5@DvHJNbd|(+x(zFsz9#Nlq%U@x&TlTp>T?J@ zxhp3szVFtMhq7P&Y9(GD$}eUuPg$*YJLMQk?9IV)o!;y=`%3vu7)Ml;a0CVSjj_UsC&xf^sb@V*0g-md3s1cGbZt3==PR8<}DhfNBC1I znd1VztW+lqYsH|7rWk$@-6RP9uV7jI8-y?pZsxRYEQP?gl@JgMbys)k&XkhVVL$K= zlLvEOIQ;BkcbL-S?7GrBRpg<=eyO3uYDhma@VG<1RUT4z)sTL?@!ba5(_KFjyK7uN z*gHXYdAPq_ueraYwwe_h+3-&QL>ctz-gJd5uiSr^s~;hr|4v zJB&QohgsqCAr-ve2ron6T>_VSRS9uqLX5FYA1-*Qn%gW{7E}&G>>w>+hDjF zl4Pq$Y8FulETSR+v7kkk>qpbGHU5uVLmupoAb9-2p<6=<(S1sYvsC!QpSU%S7Hh1Z z+&;D=ucd1Q4uBDJ{;0tYH6(|ri;QLmg}@HV9EgSOplj%ChktiF$V0KiXAj*DN{D=4 z3Hc=Xm(dPnU8SZ_BT)Us4qtAtLk;P>EheMcK_Re%G6!NIJ9PfUW^G2s5nhUuhqATy zwQK|VXvU_onVyekyh?7|Z!CK>ju~aahLN(M(}}L%a_bOjHp};VHqN&8WJjrS`~c54 zvw_M1p3dh=3Zhu+oD-!Q{L!#NGEo!1GFkthl=#9QPe}Z-@ve1#!-?Myjga0R+mI&2 z%DPHI9Y-Ek4|9DdraAHqt48^OVj@TlNkB!l#H#m02so3e!)jDf*>hAT9%QYH&4m;K z7s?O|xls35g6xcZ+G$);3cuL9N#KQu}XenM><{L zWLm+Il+abq@7l!g$wo*WDGS>99Wi2>jTCLYqftCW%!JnD6eb!@p{P%G)LR9W_-b8c zPN5Jug*>bt24W$n=)A?g{e(tGxhu#+Nzu+!jhJz>KJ6_@8O2~SQ4FS5Br*(>sHO=- zk*N2AgTkPD~K`!#`9xFM;2xG=x?=nAL>IRkvJ5d17=c;rI=2`g@txAQJiBj~Ih!^m>%Lw(vi(`63Bwnb9x7BFGi^o3yUyjf} zvUi+6t5akoa473FPJ=QNF~{s3+)BZ6A94eB@dO*q3c+AhVSosZ7hlTBgQvTcw_SWN zFLPg$hjM?;h}xiOvT5q~WBv6R`BsjU;;omIFk4Sbn8Xqb>{7z*KAo>P&vcx#Yn&#s z)WtDe%ld4=Pd4qgUZnGt7iB1wk68!#CXG-}=ci1M3_{VabTpQY0j+nkD5BBlib{-7 zjvED)&NNe7XDS4pnITGN9!e=Y+|aw+`&S;yt;>&CHyr5vL-~?w4e3SThYeCf^1QPh z4aXv~lf|!WDPeYfRRmINhS`rB;exTfY%eJW$CVW0*)>Lk2X;PPW^={mTZW2D0HGH8 zsB!D#cZx&hQgM9SBjK3e)nv(K8kI=%m|J#!bFl0s$K;hk&$sGAPPx(zDGw#$ zzgrm;50d0E?{>&>1U-(fnC#~%CUsUsGfZ)vnlQ~pv|N(c!>pPukrZb_B?YY^KSgnY z(-s+$(-xd|^UF>0*@)upC6dT-S4~yr?{cnepH}}RB5Uh0?bCBB@;;=kdP`Nlc(a(| zQMJVIX+l<#Z28+_Dt35(>LP6v<#J=8nqNvW)}mJi!T=o;%(pf%mAv$+eg)W6q6 zY!L5NCf@0SgkGnMcz%H8*IYarpJ(LpRIFk}i89s}CedbtcU^Zx6D87x^Ot8)$%9gY($lE7(Pcaeh+B3PMHNL_1?|fQd;!3&m z|B6x;_r(r+a$WvjJxq}XU-%QVi7!M{_vUo&q>&Mn7@Lrtik+j|TQl5Fs|yMFcCrp0 z`MX>b@wsH|gI^MSq14jXrLB*3Q)<+8H;j&tk8T@p-PIb~)t+VR6cwMz&)Y_~rwiqk zr`&|5JUwCkO5&-3P$8s{r4URoj1QAavmk9}XdpH1#T>!+?&5WvdA`^00s;91ySd$< z&?GWJ^J^+qaMz=D21f-$R)~UG9Mv%DQ|-63%eSPzY82_Lh10c$MRMo5ys0((4B<}{ zd4}+Rl1R*C@dKkTb69-a?@#5|(?l;zpMA%EU|m?Kt+$kH}u7~4Q_rT!z`IKy8po|g2QJfbKQ5nS2B?mz zFHm_8gXBlVHca+EBDP_7hRJ@Y$C>bq2uDQ=r(0`qJtOuh@@pEgAQ5ID&JIREDkJvk zHN32l6`tg<5&p~?URFa2&my-G{_GlFN+Jr+-gJQv5g}^o`_9i28Zxz-83-3>L?Z*h zI>3&{HpRU^wjqfXpD6}8TF{><=xq99?W>J8xqD7ZyDwX_ep8&KW@e}7wrd@2UGmeJ zb+?(rUfB=uM)yqFoEh6b(--ar@xzv8GI(PGK6kwx_fe6_X%PACmB^mgSMS)gPmalT z9^<6gO6unlsmFyBQGbJ57Sp^VG#1m4%tph#M^NcGw|jbrL`Ith9q$`P-MpY9*YQq| zjgCvXbc4)?^FmLVFl`Sey%RfpuFxigoGVs%itvZ_Eh>8d%x>6J)9mJHDTR`hE+lA6 zcZ_ko^VIJ0sj=<5$EAWhAm^NIKt4-2Jwxv=)SqxV{YjYPbcuM$81ENuWQ>KpeRWFH zzO_P>tYobaJqw~|$jyoa@=u$F_2-IkzZt#^+ww`P;qwxi^Mv|IsdILk^5WHLZmhhd zyK-)(HDcO_wOGpVp(i^zLRU;6^l*i7qc@<;2w2{TCm1vQB#J`Bp`Ug{RO|>UjlqtG zF#WDe+O88SKK;%biv!)2Q``1QX4#tZEHy%VZuUZjUa;8Rc|hP&B!vtnfhnS6k{3DC zWjp5fO!>a3fD}-sEey2JK#4I6Bo|=IE1$~9^PwM4jAEt`;m)tPcvz6$h@wy-r#DP_ zODAZjL(q!$!|Raq6P5ErhrG&dv$E6EAraa;tAz$nswdZa|Pt5QxxN1hL$?xLJ0oPDmZr2s)|58bSBe;k`z?_JY&aoVy7} zSSOCKt~kP#$rGT%d=4Gf;~3xQ1fxb~Yzv~W%{ck}cbyW+@m(L3wdpp!`lCyKstOK) z#;M#9<84v*O#40wi1fB#G(l2=Sx3XEL#%TbK`kMtFa6<*I1HYLRmHg zRZ?~b@Jpi{>>t^4mWEFHL}8!x?<7wmR)MoQ5vG=3aQYA?)X=eJf9qI?;Evdl_Rz68 ziX8k-n;_98LW~OLB|?maITC%zw8$Fx>nH+b;}u|D^ewF8|pm>F+ z{?LRt&?%R4OM8K%T0zhKz~D++EDjps+*l@)`CgQncDm4%?)?CJ=QDCDKb@ZX?{Y16 zXF&E6^gTX`cD-L!%)Zw7hDeo^yIh1`Azw;o^uG#&Ai^BV~8wWlDLTWF^WK8PCoy94IB(#Zwsx?*yxpOh%@{g43fH;T^ra z7-%>l3Lv5r_T=}(qWqOI0_H0(!$w!PAfKN&kj$dJA-ncYnpT{_w3n+FD%;S?cv)hM z#jpD<#u}Wo^ZnA5SBOAN&{v4c%qf`ZEF*d#Tw*Bg1LHR2Mlc0E|U>=t&y4HEq2w86|Wb2?v zI3g$pxSpW+Nz(L#RS_NxH){=FE%Yd_UM)iTDcp-xsQy)i3ry&PgtsNn+jzUjw`-DS z*9eCdN$sl>hc`4<1sj|wXAe+YCGtXzBn%I_$>gcBhY05$bfd$C>>6+bq@Q~ zm_6i|Q#MZQXgz#;YiG(BpvF22>8=#%7*a+p_+VtoF$G4J8N`As?YII&XvYx)H)2TDA{_Mx;>_I+7mOX@ykh%;CSyM( z8oLx4ht%B3))1qTi*T0n1^>sZ}oWAyU=x|G#D zev7@Sq%yIp)w0&LLXZjPS|KP~pOm$ZlxWJ&@X?rhWWYdz5lxW%XTWQTgH#%H-c}(aOdc;yzcCR-$iKTtt^y@Rep++o4I)-MTmR0ElhXVep1kY-% zzz6$A5m~JnqOch%U;%-pu^cFe>&2MTOz!iG&v*t|dJ(nMzI?7k^K zm#%VNk_a$|;10i*34}B*_!&&ENI0BFEjVG`0mupa$P=!>-YrF<-_NFrH*yt)K2)QV zSAu?qpkt*^X7pyu!jc&s9FFuAoM2gioba=1xr!jcvcRuRLj5=f3*&V#MMX!F1r@N6=0hiBI+NdO|J5Y$~XGv0*DkDEaeph^}2>k4l_zep?RzAbRj(RBe|4vr2^B3|W zM54wmNj>weX0RjUliOuCeR5)OY-Vu#-1M{@6d4>HO!@Stq|U8E|I%cTA1M9KmoshI zNpBJ}41CD2TenHb;AptylBa65rmlp9z5s`Ha%9Ng9#9Gw`{bYN|Ml9itP zV^A^{DH0COwnt|Nw+qy^Rwg8`%TA6z)Y<_FX;HfmX1lLx4ec5lWL&PBom{7l>voLJ zjt)&tPfoR_XUAGI=N6$Rry(Jg>U1T7!VlHUj={-o9XTnnU>`C=^ctmjP%yK**=^Dn z%f!r#;D0eUxIml{;{t+DJ4o^Ax>iALfm%g?qgGL!-|XBfJ(f;uhUBAtNs3#y3k^;= z+%Do!SVNo>&7JZnX+JLj%U!|>%we4ZoMXLCg?}w?Vc1xyPKLZld-1x#ZKE@-K}|FU zcS;{jx1_sU^3LcgYoC>WZkv;9!>`D_{!nXr+vH4Z&9=$O@pG>j+_-aa%k*4pa8};I zn-LOw2JOV_;9fagF}P!FW@>zN-=OsQE^(I`rII@Ej%3=qMO}&|bkS;4cR&tjn%%vz zs8^1#*#W_M<)6L>HSZOgauwt3C%%cn9JgwKac~^xsVP9D_k(xZz&jcK|GvW ziFdgRp6zOZ&jeoZ^<-zR;Cc}gcy?ic_jT6ORKiig#`o-Bi@aa2DSTa5cDC;mZUpuF zgd0UVqRgdc4+&o--;Z!!l)l*DszaI)j!HQldSRv)@*uU5&DG$@Z4D{|hXV^v7^jgi zX2Fc-8{q-LELzYQtQ1Q~P1A2Uh_^LS*($c6)`lE6xQ^-*cI-LAF*6~`wF<`$Mjoc- zMy4VtI1!}Xi44W+GLat1lZ@%rLjODxs1U;k>-K zDZzDD$`Q`FvFVnaTsJKuwC5eqGw8}$BAjp5y9@hKG2EP>8ZBah&NLp7sAl2RA;cy< zrC+_nm)z1*Tcr{+ zLSiKQv8k}SLxiUXcL?RDmclAOGi>zdnnfw#9yK=ETfJR5IyXBhIoCuY-x4|q-a_y~ zo}VGFKiA}&&rcpT=`X?T6jT<_JB8wLP#lm)qozMChT7833@`I&WqDVkw@c`qVD$J2 z>GY?H-lA6fp{hJ4lqepI330C~ztzTvmhSSP?UWCc2(WbtNO(A-G9eZCP!$56^*!(e z^#Y&MvjHXQlK9E^$4nBI;&J*aOp;KX(&-2jCh!hsN=$x1@$2pMg8bvsngTk=I2p(k zrHMq3XETJUELZ^?UcdpzL!IG-**X&TT9-*>^IeqMYw4zSSX^U2x*JXamEqLe-Sf7u zi?-!sEyKHo9;V(c^o~!a`haQ6#`?D;GoQb=+%w>zfyJOforgX(8aRC9Kr0dFea1mL zvvY_m;Bnza{2CWt*QgZo;ugEMneQF zi3toot}@ha-H-&uAqyEQDv+Tpg}$FQ6CUVt^VNu&&J&yn?z#7;ip7gpmG2Cxq`ad7 z3qR~@IKiZmFr~htj*W+?F6|4Ms(ZAq*SJ2-w?ZeA#U@1#GI>~hCR?n@PCEZvJ^?bP zg+R{dq1;X@NA#XHd+(3pT7>qa_{Pe#iK5WHpf)SD7j}%vuA-&bFHFk3P~`FM|EsJ_ z>4)-FgJDqUYEVcz(ce%^s7R9bg@qcO-ZisR>Lf1IbP{Sh2=#Yas70peo!1FQ3cnCU zWC$_~vH1FSvU=yQr3ldg=U)6Rhbx!Y3Y|jFH}}73a6Ply*J>fidJw|*=?tm&MuspS ze6hwSn+1QJD8Uf>H)UGh_U?Q{jzWb>)T$wDJ7lxH1|~$mFi|0(6e{9xG&&0pNG4*K zNTc%p;+FM}^*`-IBjlvL^ndSc5=wq$*p#Q@eW5F7ggSG}j8H#1b>*t3r8fdYS4KGI zAoN_B;JV9O56inh`89$F%W{jkX1T#icZS~hM(GW3$ik81X%$Y0Mv<`R97~Nb)6^64 z=5s2oPHAbi^ZxS7ukc!Q@%3ViM~e`%A_PZXXGI7E$FEms!9&@r6C?)-$w5N$fK+C> zqo%#|2RNs>0LN_$c<_lRi03M&sUV$?phuRzd!!s`vCsn!1ziaHhKu1ObDp9EMh|lB zk{m}eT602+HP4*T@`EC45_+sGH#yh-Vo%7hxdItN7pwVoX3qoNrQ?&Md4(P!iM&|l zJcF!V=11hm6kWjK%_OM1;SDFaOeBoU;J2oUjV{_`#&E2q zY0!rhVxQ1p{kKmf_3ZkVroISsHaJXx;Lv|~jp2A-RPU_y`|OtB+e!;M{<_)=yt`;5 z=k>pj?dP30MO5qps=u!0%lpqs2>wEeAi081)d6-?9SBSqJQV?QX@*^bKvQ=K zp2x;Ob=AX3TUrm>0gc^DcUDzMKE_NMp=H;e5aOmKSmB}Nx2qcVs>V5a_692 zH8;0M|1l+3W7w9^*z8ayxp5YhiNWm^>9L8K+0lvZEhs>7Y+|A{ZJQCJ6FX$@NJz;B zm9)%G$}5_>SH(uuknK*epS7jU{vHP<*ysbaXGa4&>XnnzYX@Z~Bkf@g$_tP?gx}z# zpiB??QTV~pnZdoS@$t2TS#owovYdJraXm_3d&Tj4CK7HJe->J(m4QD7e^o)%kyi^vHr3}G z_>l_OtE5RA!c#SeHYG-7$7b`Fadw&Acqn@|Z!^;z=*-H4Wnw*$%r&^&V+vW#ypAMk zh#|>&6C>}z+>ms3?I8;UQ)kj9*6tQiZr6j3Be zBY3d7RY5XEYO>U>4o{K4bVcN$C~_bvA~8S{SyTm^Y3Dts`h(0Q>uBrR%4R_4g`zWG`>5{f92BnUiMR#A{lk(#XM9p+TM zYt@5PK7Z5%h38+Pk|bw5ly}%ZWGXH6QjuX3-xd2DQIh~<*i!ZEp-wv*{kl5liLw+V1 zvhzuKNOr3s-EM!D?UtvQ6#Nw)Ln&p>ouG@sn=Um)Kbc|3$F!EmLG$d2BChMinLl6I7bMfS%DDt`8N%UBqWBvA`v^4yvI&MGDT{#b?mGTIoWJZQd`lQm$iO^4+bA}YhI^uPs;ul z1IWJ0W_c(VOMS}>P_owJZ4EFYD}xdJP(y_;t9rxt9VNrB6SR1r+Bc29W*vF=RQG1% zrGH1S-=HfWf9GZM-ytl1ArEq$RdwOtu?o6jbo;C|BjS?Q9}5y zHONR}93-i-K%Ewq;ObtPuCbAwo-KO1n+?;=e~(zQ-^hb}RW5JpS_5pXp=J|9N*)E> zqw`|Uqw7Doi^_vltBFr1Je?9}9bHSR({vH)55(pYcyLQ4DVxwd*i5KJJSEwF;^1Fe zTP6Zd$Sya&DO~*e zT!mq(RF$q0n4nUV*1idMnlqec;50$9)*;ZIYLGG`HC^k|*$sZU(5E}!Qg^z1TZJT( z+_^?F8InbSicfRlNZ?lWa*y3F?ZpW!kSGMcrWAk(F5T#BowDn<`5)cMZunhTpfn*qLs06#(3DH~x;}iGFDEG(h(vAmS;*2!b1q)=z zy9E+wyvQKM{ns>Jw0w%RM-$%TqHIg7HXDH_8oR64BHJB%S5oBpE@)Z?9L;_urerZ z&?_$nz48KLp+Vn0M&tK|^8aJHc_Fp&&Hv=1UmnVdulrR|8U39Vr{;aB$K)pJQhUvs zn_fzXWI*XWHR-k83>FS(wtp%)iXzCF7DMoje?#c=#fO95G@^vFMsh;i2(vO`Fzhi& z%5=0#eh^VI2E`tgouhjNgGnaCWU9b0gmx>{j(%F8AtrW@ZcRvec3P^s9%58&*>p8t z9z$kLI#xUjIHuxLWl~vh6gh|lj~IUSRqQxfE7k_bVpa=Sp#wAFTapn>Fb~1*FIoOu zYdiFQD}mTyJ<3F;LXg6#=tL=e+FZ?iS|RZ146&e3OHEY@-dJ1vCNRZoO_i)*6Y}^6JuETl+r&>41&Q7 zE10|%1J^71nB5ctyD1?c7P4Dso2iMtzUlUohY|wbtilrlX3Guqd*xAbAba`8QRz}e z<-8Q48LEj^69=M**8j^yo%Hn>#QSH&qdFlE<&@1&t9X4!UgyGm#g!4DIk)pRkb zhmRVaT$h3T%UKuSbLwSujX)CAe#se~B8+aC+q11Tee2HkzKPV#Dt7LI7YG=BVtuIB^2aQ-DFP;U#e&~*e~<^;!9=(Zn{ZErV-knaJ4%~bOleaE z_o>MNv6_|%{GLJfYofYXD&lL-gE z&6BY%%@k2yA2uzns}YM=hA%WJ#tn|KzQPFISWCp@6HIUOq=GP7nb$C zw?F%hj^vd(L$WYZll4lSIZ&?DvDIq>j991w02u<#pO)7lAC~ux<`r_wFfMYI8<;l# z3$7=7=RB071YgKK60{2rt61dJibb6Vs~J`Z^EGild3!-F$&G4kM=vv-^;8|tkYd1G}CUyx64 zR`Po)dMLvO-Egl@0{x3I)T_s?=9&af-ZdqwrPKPm*PEUCTapR?EgR+_?)6s3`h^Os z*S#|FUlcIB@OwtQ2zI#M^llg6zX@f6=BmMT5UOX+z5u@_^N%Ne!}w9O+noBnA~t=U&`P(g6*|#)TODJ(!U#EGEzceS z!#k|^%sUhU?~sSp^2$c^4yuzHQHYwky+qAs@98eLJt-fhKcx4dAP;sBlA(Wx+N9r# zzsZ-HRvuyRMA@*4Q8r{~xYMYaeu2G{B`>7rrs=toVQWgsuy4kE*)lT4dzR^;w}`XG zaad#&9G|ERYRreI-clKm|u)F3jq}y6v>g-=+$qZob`ESqO{Oa!G{Q8jEO=g}A!f$yxqqiSNHyf4q#7@CjlvnH8q(jF_%VZ=w`M86-E-Pb$*gvU zEW0s`ks;@(+0c$TUTSRm<{VwQQ*mlezg*5#e$-K-6=6so$~4neB6ZqvxBQlTLy?$4 z6p15RNM=aZ5j9yLifo>C{6{-v38Kr(9h>FBM8^f+Zu%eSgbt}8IdVssf2%(JU8iY!dagy1g@l9fe03e$~R3Y$qZ!bE8Pt8 zQ2O49uBi1pAF*;-5Owmq7E6sf4RsekWW7V>XftrcDCUS;p5#lPVA0(%vgM*FO30 zMe&r$M~vyR#_g0)n^BQ3aq8D5>Yp;~CmOL;I-5=vo2fyqL)i>J_+!T|@vb@#pjbCL z)}|V(iSXuHtN@ZFCtYL$NO~vNVoys&^K8=k!n4VRCU5^lEM9u2lcIRb82hYgnK+SI zDkqvtuUC_I_ZT@oG&epwVz(p4^AgMD!jrk}vPq^1k{W1-QzY|*;TJ20cgNs zL)qH+YgKgNFc^vhN=V)%HbR_GL*>6Wi{&%fgq#}EtBikZkSt$Hm<`7Q6pPeS1!d8L zqZ^icQ`OhJHMBsMp)}>HNu$X+mu~!y%N))G){vJZ?f%6elS))9RJcoP;pVCQ9BHQ; z&C2Ev${_ax5PdqbNu{rg94T8k-uqJ?tUoc+4_&2jq_Bo0aYCl=D^k+>^y;YU0mIW;1=vYzl$T zC?Oz<+5V&X-jlE<3Aj9z1blTeLOz~fgOTjvZl@X8B9lF(L9(Z;Jee~ZBzrXv+UeL+ zjR(nI{bpO!syh2kXO*C(p>i@R5`yKSys&&uQc+&4k;@8wBdmt?Z02l(EvZ}2boQIN z7Crb-XD(*+K0%E%B9Zaip1p7ipfxHE=-vIRETU@PMF{oXI1D`bLh~RyXJ1|`Uzn9 za_iiliG0rDRPRE0C>OI_nGE)ZkUTX-vyj9qAtr1kI_K{f_!G9LE^vvP4N3nbn5fI%{SG&xELU}}t4xJ<82oOU^t=!8B4BvQRwFn-_njt} zaHW2vxfowYy*6L$&2N?FFfy73&)Woqz+mIm<}@WjY>!wR;miF5i8?I(=5%!KVDx<_rA-T&tO=8}m_ z@0Xz#(BLVqfjpQ7bkL73pn+ncfnuRS!3rAG#L)mnUy?QGyhtANrrlyBC0$pZq(<<3 zRg^=r8 zvtN~2IJFG=DWRu0A!-?n_;;994s^a*0(K2aAp=XiJ=-sxdgw_w{tW_em>nC_7H=S_}e8P@npg61M-oo*~?PwuT!4Y|RjwKHAo zViu8B!{(PNHiZ4$T-cCssFc~R)KE$XSzJ+w+=W2k5^pqJJHH|29vPy^a|l1m z2rvRvujllR+NL-imP${?eW;zvL#eU-iYa#>=h8KpuRA_qUlbpk}Tn$mb60g)zO{sIRif%UQAw1MVkQQNq-&P^~Dm#;uo>p1_6*FWr zt&HtuBAVOA{}vkxb!H%1=>$S3MCwl#o0OOnGE&7N6e<>jvtR{XYvP`c+O&fj+Mee; z+EH^n_jaG-2)<4t`km&{Paeu`G=Hij`bEE{s&i0INitrQBypbM{za4OiBJH#R(?v$ zHN|iP@G8&r;7oxbLXRq+>eseU7;tD|&mxtAI!DQvlaplp+==rV^K9sT2E9=?L zl_Dj6zwAscv>jYlj^L=QR3rnIjTV(P6Q<XGJ7Mn(_Yrw0Veb?b^H91nggqsRgDXi7drvjZ`-DBkApuhy zVj3NpaI7P1vR5U8KH11tVXua~ULdjUYJ=<>_7sbw*($=O3d_S@9VPnZp?#vBGN7oS z47{jtu8Gwr>M0II1;u$V*~M@?>M0CG1%>gV!Z}7a^)Ro!=H_AzJWbJacTsF$Fq;RM zrzr%UrWAlEo|b1{l8oG5k_h)iO}zltI%kz}lyYvkk8Pf_vZpeLvog)gL;3LYMXsqf zLpnDX()D}(`bPfJ2#Lh@o`1Tb->w`xBEkr@d7nJ#t}6F$&A-2_Gg4j%KNI0Oz9J9h z^Cy?9@a|s?pS{SAarY19!xpQ!5{y6B$(KydlP{9&mdm~LcCfXB^4S|XO0Cyd={;d7 ztCY{q$OmltU1zq|&R(Zm$l{G>ph$w6Zatfu;pXMhcv%`>(vdsNTGMau=ZZo+M zO;4{}G5Fw_Nv1O&TstV2qCI#f`T3a-4h^nv?HrZ;RIvO(I`6jW%R5j$n{hiZtg|ew9W}v35ciN50b#K}SvvR4MUrpy--J>nE z#RS>!P;u{`$sMin#Ee^-oyOkQ*seC8Tpv^jx>~NG)9>z(VMs$ws2l^fd(76@>EQ9P z-7V?3>*VsfDLQR*T<)Rs8_&|a0)e!AQE895qNq479!59IwR^L2+pJuvH^c{gM&;7G zBwD2j+L)*_b24_s7p~uY;U#qbmJK5t*KgqIwoMn(@p_*gjw~JK*XgMdi)g0A+MZv7 zEc1BlCxm1nxP5ed``oy^y}Dy?=k(+rrI0(&N45$vH#0guzE7_}*8$p^;TtBhm~4+e zG&VUm9md9u50CDd8gE^3MY&86eRu2}yn1kI$IyClkPSGqB_7o53v z@XYP))}AquSX^Ch0ugJ^@aqn3lg}XS)Vmz{Ad=h?GB_nNiF_J=65h<2_m|INLD>H+ zz~I7)`8J_1Hyes0%ko+{%uSiyy#L%vZGO|d zcp7`n%BQ;gp2am9Uaq$Auy!yHzpIUo^q2b7)n{(md1g&>dKO}Z@=*S$)S4YTYtXZR zRsT>S2F2Fx98w3j?Gq~E_B;8CO>1KNJ{@EpSNAn`Qn<`f;;;12Lt_L$ANU#?xZ$$6 z%m42|?wb64$R4B@UQ5ukxL{tS$I{acIzy8?*9;8})%{+a1W0&}KZ)m!@mZ)a@ zpXr+^dUCbsf09qq0qNAzStL>>`8M{hQ! z`3@&LA?o)wDGo0;D-JsnNMbnky-ndvo*u`kC~)FNDV$ePs6Vh)-H@q_sURvEwKx*? z4VG%kzetPiUnHChA1r9v1u36d+q@Cmkax?2oyK8>F=DnUi)KmSYseEs6xJH|8{`4| z+?}oVYDj-E{Ju=Hl&;$Um`Z1g!r^8W!%Mz~;t6(7-AWJi#&>1I31210_P>(zn&X&B zkW^U{o3XKRtCorV?sYa}JjW?qos6-kV!&>I@~62lppK;SWvf%Fz`O3L(5vRs>!a<@ zN%1dztPCfy@uZBLkPR4L4C&&9#ZZRv#n7kZ9k=E)c%5f(ywoa2Pg^29z?X;e;>e5& zOPL|Ba?-V`3eRFm;Rlj(25*bfnj#QMqV^a2IdooAw!fTQX1j|e59MO-7n=<$&#fW3 z?jCDD;?|zuoTO=WkL48R$k?t4DY4D$zkmPSwxJ(e`q(9VkI+BeC8IO5`{jP5$sKd@ zF%I82?Jm{ZYdN5BM0eH3J$&b8gJgyUV7cTNV04#hvLSzyiNioJmW_^&jm{L{rTQ(E z?&;en<@)K?NLuIUN4a#3AOeieD9kPLNuaTbmfSuzd}Mc(WYi;*J9qNouHlort6Fk1 zU1>d@e@2LB%Wgq;*?8-r*0^BH_2azWAe}CMuO5DO_k@wDeLKgwU3p|jYf8RmEF4ZO zzfH-CZ$fs;zUHCsw)7Tpz0!D;9QEp+ zAUBB1Mb8ssBYP&LO0jQ$cggnIht)ankcB}37e*4;#A%Pd&bP=4sb%t|);a0M>(Y6G z_1$AewoPA`NbhfN5WJjOa9KE25a9n zx2?OBUAq14TN}XAEDFCHWC@n}b(ij(o7f&DTr!3m7e;b?R2lKIBbtsVBdKvAK6bY9w$g!>_`XC_E`#IY8MS6IGW>5lI$|Sp~6W_O15q zsn^aH*`>@VUx3T^Nw>Q~Wk7y08+%Kl-|8N}qa_uNQSoevkP^{FrWL6a6fGiYYo-eB zM6$-o-Q#7IFg7cff7+;_V`ft0LuUT=kKfXMnLNHi{(I#u?VpstOu;w1f}-9{xHq#aWw3)#3Ko&cxWUlnBpev!PZADCCk`JWqKwJ>xWD~CvfpS^1Z@9G>P(2pQ4J-Mj$pJuDPnHz z9w&@Pw4ls~%{`1oc;4tDjD14jB`CCaX@5ot4tt}xh@~fw{NTvrV!#zQOzvT(FWRO9 zG9Pvy>aO&D+28(c9O@(ymX1D2H0A(5;r%Z}<0X?*8kz9mFrZDkKTqU7+b)FJPv#V| zQvFGxDvO2TpA@QtNu|FMfxjr~{N-r(7>TSRCj(lUG|eaFNQwn}NIo->Ovka>f2USm zVbxce)8|8`(+X{2&Nz*7(S#xU_^+xn;)NV{5D4HPDCPt8o94fNWqueTU{MF6qjOEF zAqK4}@w>ZprZq12lY0>7V?A;vMnALTe7`T+mw^9I6)bZcpXA}y7?c#)R^Jf!U2`R} z;iWe|JXHpZjLO`>cdwGo*<8cB%{L}yrP`HpM*r+P)r9M0VykxzQd)e);2rW&cqw92 zz8Iy@ziZs~EB37&B)EqoJGxOYDjOAKY+6#an!E0Jq)xy3zH_ABc+T3vbF|)g&i$pp zW|L8m7=f79XQc`#+b8pgN$*cgLY0jd{?;3_TX&8YLy1N0 z13|G7SHRZI9w##z@0F<=6DnVpNWV--vzV7|>>RJ8Em|(!#8jB$+R_%dGQMmOfGxX< zLL~>l`-UWZq(nN2A%y+QEI3bGkRDl|$_a@iz_GFeOcdDcjtI z>1djTqFBC9eU+JY+4fP{!qG_@DA}%7IzZvJ&rzt+_Iq_U!^#W`I02Dd&rZa3&Jox~ zGp!nvU}0Z;aznjbD3MCOJoOhc4`)Ng9{#6fS}^4Jjbd>6CSWv7LhXwJn!GThXntAB z9mZ&D_vpOY6XkMnZn-F2TFI7Ca@+_{dzuj(5H9A1sFi%IbA~mNYIj!3vrp(vrfNSc ziTw&8L|?o@2%VVZ*lL8tk=6uHx+83soEr{Nrtfi$4(1KBp}{-F!-i&Bqtn~lYtCgG zvh{Fl``m1+C!7x@$3h4xHmMLhYaz-QIB9)rYPz*u7ddxXS-_16emmhmQsd{5AYP_U z4D5>&>`N+GH+(e7O9cYM-|L3&ZNztz;TvOi8@D1>|3otMPl%yUPEcg{8e{*-9f62V{gI z6c9c+G#a7vED<-^;gt#Tm4cYkl+MH14*k+bZsXVP1D&)H^prMsUSh_u%(4A-i6Bh_ z)vW^svP3APEV1(nqp-F8jb!r(loG_mh8!^pk#fYOgPD(Zi~|c#@R-%VsbQ{62Bq)Z zLQHe77HsB^R||Gpxpy8l0U6t+IM-WZI(l?&c2d_4X^Hk4p+qQqjZiv^6!Z+~rvdq= zjd}e!^=@L&*nR2NFxhV2(VCu{9UIRHNHKG zk~+K5UYCsaI?<7th@SbNN)Y zqLgt~9IDZcAVby&8DcMv@k#IO<3=bbkL?*7ADy0+t4_?9A__%K{Nodb!XRA)Lpl4a z45>=M@QgNc7PB|{%AA-B6^nsCMJw(h)|1%2t{@d{{Fp-x{9jS?3^59 z%C(aSPsAV={cT}t<){cmXBNq{GpQr2NM-k8)tAU7dTU0OK({W&ys~qvGGCcw{$7%~ zeR8ml1M%(!f_}$bk1X5)K9V`0ED8B}-P?Sjg9 zPhS7tLvY=FiNTL0?x!U4cD^Bc1~WL^Ym%lX864xJxU2*5mUED&7M4arPl^xA$jO@X zCVS<^BFvjaT_VhzQiOs0lU0U3`G0qboS*d&0k(X8K(WaQG37Ig22El3^F@EKNgv?N z8@Ke*Ic}#xc}RAOaQ@g$2{J`ZkUbh+=vrP-w2W}Rz&9qQLllDcg>}#>iBBc_lMefX4wo)g2awSLWY^&; z*Wt>dLxgi3jEU(Gh3L_tl%m$=K<8z#qizkAUGuW*m3!wRfyL3w0a*I`J%?-!k%Rd3D6^E_X6*6Dr1mYfWdjKg3(Hm6q@p0oI>!P zIsWxU6&)sFyoQdB*U(hhq`a77Jue>3pRCzBHzOPWKqk%7TI+6`ne8oYcP&Crx z5A_JudAa;BU!qtDOslpm(XELeSqpl;T1iG7bY~BD++pLc%9)+TDy)rYA;f+P6+4RrtnX>{}x#N9r^8C%>?{|7}8> zX!16p?Q{R*F80Cut@E~GUdSLKWc)%4t{oDEwsy~9S6S-N&*#O1_37oRJLKR<>n_>j zyTca0V`cRliQOh9!WG|Z#H4@2?m_4AT7u^%3AWZq#Ua964wDBGJc)2%Qs6`W0(>jM zclyD9yq0G?!B1B3Uh$4 zF9N?d!TWvV^Wf8L&9WPKG6m>Aryu<%M8Fi;fxkS#Gv^d}JZ=I(t^`HqoMI@?-hrSW zfnd=~KmV55zyykorIW4Zucyjbw6R^}6iSK3fPQy=ou!i&B7~-&P6GV22;gOw&zJxo z?|e~QHlZ(AUx5(y6$p8KrxDIeDt}X$+4?jBc}c}2vXV+Q4R-#O@!wdSh;?OXlE@&S*HQjC z37G3B5eTor^S)s~)}z!>pg$bJ zp@SWc1OyZRtHO1T1}bN8a?NkA6l(^;N;~DnjFO25^i6 zIIACwW8gN2MRK$g-jY0x*-0nO9fYlSCQ;rgv^^a>HH%VWL77O-rvI&i4l<=1kiB$s zMlog6Oc_cyU{ksQ+e{^2x5M;}L5R1krmbJR^u98+pv-O7cHP|>S*tCby+>nBFj~w&r+%E_sMUr0- zMEBI2Os0>ASv^})7U`oCyK<@P!EGX(XU4|C*DKL7mkA|&$BY^wyq|DU{3msD|Jg@& z1Z|s(koJorEspYwVttk<@aU+ttfCugOSuzcScVEkHmKk)^x>50T;RiC1)fz3@ZRSM zK3lg=q6(SNjgX;}Aj9H?eW!iO*0Q34G%UZSz6a^q35jz?1t|bH)$;@Z=h$n?$ZnRN zA9UZ10$kKj@30yI{^G=&9u0OnRK2fAWLPAj!YdY|_j3~xDQrOsdOOwY1OUBXmh|p~ zB^pXN9QQ#LC47kn1hYB)axqgSNrM`PY#R0jmjtPeVkMc1$bCiXD% zI8d2+0ubpl%VY;C%Va8h9Ppw*=dG#mrbW8)E>AGuyNX%fBe&x@we{Xx$Iyv-8)Dk5BHEJB{qdAvv9_*RqUG$fY#) zewJNBGc>rxuDF?P%k3=b9;Vy&ZD~zUkIBVM>84M)nx!Q-w6yeEnrSY1vD=g$lv_o{ zWN&-Tw#muaktw<2W^`AJ>q)|Svn%}I*%jvxU3lTp`B&^5o$ZWH%Vj0$Ql7M|TbHbQ zfvCMg)W$9TtM^N9W3fqi0d3`oy@57z@Yg;p5%ZTmE)=#DsxJ)g@c$Uw{N6|Rcs-&v zGCpaCXUi)iV3TEm&1{2Qz1TK0M}Cyl!JxX@i1BA6w-JM#5HOha3r796NqJADyWFmz zs^z>k(cmV(LW8&PLe{nUYfEgEk7gVMgezW1cYM(7QrvARmkp)<1L4wy;0dK6v;Mp;?$u4f18JwA$;_Y}D zRdOkglahfcmjlUpZ~1SwJ>8Nks`M(UnJWh8k)QX&;IrhKFZ$-p2j#vnULWEgG}8P3r|q(AJMlk8N*{w`K>&C4rxlk!@)5{`{^cRAISggIqbKJoDQT4{BH(+g`Q? z2Cr(*&Q8r-v2I=Jn^6fI?bgub^saSmB&@q^l&0lyXA(iS-F~PVs6hiiEnb%TY4jiGxqknYjuCv1?QiCexZ_F z{UUL7W{Ky@*f=JQrcZmQ>TN8ZUkB}``M&&?rv*8?G$-%(cv^UEVtuW!K2BJZYJARE zGpSoyDFU4!Kup7*F`%uTUzLY6(?mG0==^yhmSyOCtj1wofB;Vy+QbFJ@eCnSWx+X$nNv4<5Qe^JupV?0B$CBgRki@@1cyJ6BC-|O;U%W5^;aynry9P8c+}jw;m@k0n z4m1bz-m5H*uY-F!y1!mzWHGj0WDHkk@H1mqe?IK~yD?F@G4$Wja#;*}q@7fnqW>bC zC!5O^4hL))?ww^^Ib-DukSXiI#4iIn&X{23+%4|$xGy-Q7vPXA&@+bP!!uIlkPO{o zBAI_gk!cS-6U)2{jL;3qKpTRAPIm)odSiRm5stzz(wv$NR8&kTs0a$>U`RiuLNNs* zN!p77{TzG&U2aOc+>~@7oSvC<=^i&C*HFwm^c_)nyO3@eZ0fq87dTWpVB^(S!||?* zR9Vqstfv{(0YNjz2A#&DcD;HbPh<7sa1gQOMM$MrjmRh4_|D=;Q!-sL%{rIfD5N>N zwoyc&;sfb*sWbar{m@x!@=H<}7H)E~XA4KB^Xak9>5>tXs4mb|!y*C8#$l1*M3I25 zy4ET|9fxRyV+usZ z8x3v&?ZBj-2?qiK95y+JFa<<7))!rlVNGNv*iszQ|Q0A?x6?IEO-6E(AkixB%Pth*mIS9-gfx!ND z_lr#6s!|@|m@5jag(4055v|b=Ct?KrsB;J-CBpe6p6sxI4w!*j9A@xh+RL3o$XFws zk2K@JmiP0MG4B*AL?v9NV^pk>WXKzFW%HNXmGL`V+2NX8nE}aE=mT<|Q-_;3YOlUa zsN>aliHPpiuQ3tJICv5jJTHlWf$_oc6u>a*l1R8?sPm{%lyOkMY_LEt+%2py(cQwz zml{9iy$~|>2x;*-gO8j0-r$*AEd=ZzuaV^ zo=^lHc{F$)PYf@aDH100!o5u}GgB0t_QNyNy~#}X1~dJtn<*?>Bb+Z9GV1%I#oyQf(OhW6AFtMdsA}GDzbK6Ja8_ zU-PsG-EAt*-=NhW|4W{X?dI1;aRM*o?30Yn=o=PS{uz$^h zRj+9TdktBkdGKucIK-q}@^6J@sblA|a#cD{W`Y-Hg4gC`rvIb7^4lYFxogf9YY5(U z2&IVN@Q}SNk#*}ES#hq&lg6T-cTKbaU4zxXV^VDtLvpVgAgnPE9FS;x^Iv9eZ&Yl&3OlSRR1V1bQ;7iBU#d zQ%N4efEpKm45;zM4{M%b6zc(X<>Cg^rp>wdU+VTrH+bPK@VZxYE4;ktqBQpj1U+|p zgETi?`}%A33SrxE0&Qy|ysbiOBJ9UE2aNE5$YaicTr?72&8jvK8I*4Q=oT_VEZ!}~ zgb6`>Oqh5Of0jwm&n@B}8R%rXpfj~2qoE^NB<>Uc8Y6y~e$f$r_(ezf;c4{5Weq*i zy?Akc!7kD~hkywV0h2o_Cf;vRj4cAeaJV#!5q2MMdhXxtg3 zPZQ`Dzy8@JOvzbx2~*Emo@WyE$yvZ4X92@=7Q^VDv)pVH#goDXINfD>FKJIj-R_vt zi_m!Z4Afk8o`Wil0_(pAggJA}1Hzmd6ydIIrp%Ros?rgTMJz*Y zXM*E`nc0zTd)OXS^ndrL-4|3B2=t5;=y9+NDgBy|Nuy_? zQAqH{!mQ?TWdRD#Miy+gcw=Ef4I*kwqR)`q7E#^6z6!AZv$tdy zonViMfK1sVBA`#%FE%dyVsn_X!Dh+^+ox>9#>paWpRyk@+K1?53%J{ZA_mrYP{hF9 zI7;_AV^q0Ygu~rPp}P+Ee&UZgT7+Zmi~GJh!F5;QmMc({OqXvvumY7>l z+@Nt(1erO|TF`s~h=lPS+~bu-ctFsK$~58~X4^w_fKefY1B@mIK#rd>F8v&!S`LAa z3xMy-A;ZT7BK5Q!>b%XUiwlI9+PPbPt#8B+0d<=&VRgPun4DubiV;xxnSR%wlZ6uX z=1NTQqw-X8!?0JrJyG5+4BeyNXL45_72({Y{;R_UkBV^aQBNee?$Omw7)755&Our_ z<(Cw^-T_@8!-Wjd2Q4lYGWh$i8Q01+yZ^x@BYd8d_)JxN+?S&yFBAwy)UOsvY{?jb zW-6_%L_#~=jXJb5AgsIf4CG=~jh%m!NiL1@mXKq$*b;JtCuI5`S*HKo)grt|_u%EL z#XnG9x?1cklV^PgzIjy$I;%p^eN|}a;w+K2uL?~Mw|>;rSB1Z4+T)?HB@!OzQ4$_al1ir7T_H8|+37>tWSth` z?8Qurdc0->@jq7!^xp&epW5D2uF2uNdzv3QtEvNQ&P^-68R5uo*o<)WBa2@#iUaba zWrE&_O^jV_6U4?Q4p(dv%poT@r{#{)L$b%55TQeK3fya|Aw*CZ}0T+gu8jVcaz zZN;!h8X6hv-)@v9=;>Y$W%-7@O0d2{?x9R0-ux}4oEixe$W9|e!aS}X5_m2{!r{V@ z_^z#>24oZ7zG&lT&4m`<7xMr0T%^AZ^y z!nHJVZRYM$a2$|8XPi$FTB+^=ti3Q`I$?2d7EAK&2FoAywfiRt0c`CM*wH>7!k2;M zhQ7k>@iK9#=B(~c6?BYts_-W{qN~nQ&AUtX%;lc(lZhB>kG;;V>KDHzB*kUSz`X24&4tlbGrnyyr zeT0D%5jg~asV-GS29A96X4B}NZ97Jb56&wdl_OW-t3!}IU#x-XzI5J@$o4yLwcg}i z7M%RPpx#A^+{I?xP69U-SmeQr#-f6a=BQ#q)&bVsGr2$V2VGXDZdfh!S*GCQTimwC zu~5~QQ~aAQST&-sB15F-yHz_k$WwB*#aR<_Osz;j4Fz)dC35|&d5=lhWKGCX5`ml_ z6i(nK`ZGdf5#6jARZGb8tXXV$V~WpbBpaR~EKg1v>~w>asFdO}(3Bm4_Ohcvn+%Z} z?LOA>h96rnPfjeKEJRiXpmKrC=*hFJmL1%)cEN379R?`olgc91dhXja6yHz;x_pVntYTY0OHsHUcsz! zhP+%nApf*rqCYpveoX$7O!`(|l>gM*g$yH-!1!A8_pRL}JLKym4S=jj7`m@9z-nzSkxS2a zL6~|jg#Bok!TTyNvi9lLG%(kU8q)5r*=!d+iiTaDk?ise;md0g*ySyUZWqX~*oI8X ztvWyBc3D2NZ_l<#x$f3xj0l@@oX$J4X~ND&&sPD}P9WpoFru!8T@!Nd^v>gQqCPOY zAi-~_;C=5SigQzC0kbRZ_!}H)ce_q5Tt+Vv{eDAWt0ha`MmA7N19iD=k;ht%#17v957i3%Ns(1(xgxbZ8kzvLLoFMNlWrc(m;}iCZrIOl+e-w zC8VKQOBVY7eeXHv-ut}syrU6m{_p`k^WL-FbI(2Z+;cZD*gIQcWF@Mrm;nJyJ__I$ zHh`l|fd~PZauxBTH`NuqQ4q9(>!&b$jWgWl+Sn$B(PRc33~4OXeW@UDFPNn@Rxpg_ z1Y)fq=x9G_IypzJWHuIsZez_Qqf-TRlJkH9K-IKI4z>AOB<&_Sy5lOz8$9Xr7m5&0 z>_Um+*@5mfvnQ3UcP8sq=Ki4jBI3+yF7p<1S%8vs0W`=6)Ot-#he8*&`_8n=HSGP| zuiyFq>iyicdY@Nk@~Q`PxgC7S3%cv?>*x`$S>1-+_G0cS%f6U0{a{(iubGDbm?ijcNH|UB+GtY2Z|NA`j~-SU%CmXIF{WI`LX1LC&^$1V6z( z{nR~QP4?V@XM6oo;$|LS?~G1OP4MPI4BV?lh!ytLqWx@WKS#9A(Vs>?{an!>{+j8! z&VhrAM<-r>Oi#G-V5wSgC6Ah3t7kg@fp3gj?Fmv+3SjVkx_-Q1+xm9oUHx78EU3Q) z$4T8(nev`d;{mwQ#~#_LM1b<6F#OWx}3CitZ<0e8pp%fACJ^`0-;p4)xIL)yE#6aKZgzh+-| zl8b2eb@$60NRqOOPV)1)sts7({912+6DOA^cqm|UFVXE%q|1f0R!FaK1`l_;T{V5h z@Z=|JJiYp!m|fv`dO>!{GrhG?R|;-TgMO*X>hv6JB^0q6H960b4omw8GdI~iq<^fs z0d$psR*SNlXW%m9fhU;T-Ug^Ox@w-w+>2@$vXSC+m*P#*XWa8&gy%Y@f`bbO=gfkm zQu)e(2c1nBqUeOg;u4EjJT+^CE6qi#56H8rKJMXI!F@pR+y-FGtc1e}qb_C(Qm zi1w#|mwB_bR5dG64+!hI`=}lZ|BM}M3)tvl|GbO+T`m27ZMu;+*BW#*4LZhyc793d zZ_CF^?$S7P5A^|*kp$3@3e?nG6WUVbh#psqd5(%{(VuI+Fk9~~HbH*Y<^NdaR*D){ zrHinPd%b50^0=bkb}bZ)xM{oKu$s;G6hZ-I;YPMO4t3>3Yu$afxfIj*K!51?L{s!=e5Wb6}Q&NAAhv_DN72|s^DM% za07>i`LOH#qutU1S&QAzxtxy+law=iyrK{Pi7RN}6#x@Og_GSsl=@;`f7c$fEGW@M zq4W%wI{}}gp9&L-5RV6c6$y0T;9~M(cT+r^QP(Th6;a$N%FqM2xJ3mDJe$fp$vLB` zr#WYoFlcMW*Lj7ZNInXRcoG>|Z?$%^cuTgRO3jl>&YHb}PC6R&^M$T4HeQL<;6y~c zB+Ghj_d2iR4XPtUnBFy2^i@gCUtE4S@IZX>KyYN!6&x=SM|q$g_cWn}oAz{h>i#AA z-z|H(x9Xo1X7$dr3at^R!OQnQRvJ#}m5Y=XOMU?^BwpdN!@2P8t9p056x-OHZE`q- zUyxtgulH=BRvIH;0OhM2l)Zg}ErklRLU?O@?&J&1O4n`86gL2thI+muUoXn*Mfplo zOKPZWzT%lRz#1RiZfqd*whC`KFP41-TD-|=yhJoMi0KWPY0*!AV{+gVlk@YFN?8_( zSqememo<>XYt-b&1#zm#zc7*Sjp-lks__6r1A=FBOWW7A<`RFH-rXSStrOLuu;{Sk zF&GksmhTZnX`&h;I?TO-DE+OjRrJXF1tA~ZJ2};=zu|E`ep?i0mQRq%^visBOwqF4qH%Y7!UYuCtBV`R1r&~N^ z_%p_2f_?^c9FmX8(5r`QikzNJz?K~z{Mik&%Smxyh?o?I%~q@4W2Qug(Z6UP4!|OR z2^NF7bm3TtR@3xIqW5Z}Ido9yO_heNH?k3$Lp@$;y=z(j4<>T41rE+wo4?YEYi@BY zy-miKI23Hc4X|VMSTwnlSIO<;uR@sy!J-dD;tbp2L!gwfpAR&A^Lbt^7(?mlYB=anLJnT zc75BE+pRUa)``EMf$HrMqEc9@8~z8*p~33}QFLEJM4P@)5XB;D>BD9iONzBw*M=UJeWHn*FSHOD?3zJvL_sbZ4HE4s33W1Lnz!tEi$Dj{+-6~tHiyO zqj>03UMt?54E{7q!~eC0oS{piPWJYJ$j&;ZW03vH#FoIbO+(?0!QAYa%)}7*gGECH zwPnuRo#~ppfC$YGd%|VZ{81xvpgY?Fbg_W2+K*&T>FB#zU2m0sZFYX;s|cOT@cEv4 zXi0bA7fDz|KoVv#blYD{OeQNa=zu`rE9ii~kRT!?Sv`J8F?k-T8z3nrDN4!SGxr2k z!L5XlCq6`gU(dBHt|$h5dIC7tIL^%toG`kY>WdpfJ9^ZJLbU%etI^B!j}Cj>t$(~n z|4{c`{v{Pw*_7U|3PvglYr4(lx!vVq51nQlxxyiTz~AZcL`>A#;3Knw{6P^2l>TX> z_#IU+GAXHj#22a<7NOgadaPz~ORh8TL0S z(0heMk&YkIKPkd0>c=5~$i-9GLsy8!>g%?R&ND5D(gSOV=%YPBl-_OL93Ij8DG#^t z$K^%u{;BD`)wwyI*luhxQYTJJ?VJ;213u>j(}||%s5W+d5ZdYIigv3@>b})2h%?e) zae_Mh(brRxHT_YWQyKG)3Jq!v4JP_%?ys%c5A;vHZE|t)j`_(0IU`krGn}Btzclb6 zVNy4IAgDw;a3T#2Cx6VeiP|P^_&|s-Y(pdhAAgax_`n*7xC2``MSEO*F2B?=L14N9 z)f*ZJVH`C{W`RZc8X~IqB0&_*7(~m9xxHsebNzMu=4K8Zn3cuc)%&=9D2}5{%amK@ za!Q|+BMhDZard~mXQ%pw`vu|-hhT<=xM!FK>}c}MRbefum4-nub)y@YQCT;DbQm4w z(G6--ZOKh0qs3*+IsTl4$7tdHY!j`@OQ!qCXXm`a;4q$pb9NKQd}&RT^d&-{=Negl zWCoM?2+~A9h;xC7vvRA12qz*T@;nj2;4U>H#VTu{D+ENFj1^ABDkBF60vqh0dTj$C zY_29rm|KLeA)*O>At^|5(R-Sr&9 z+Oj4|tc1wdcvLn`bWliyqXCx(f@34(Kjh1wYfeV{TN}?(6T_#f9yo z+QOwxx_Z+*=?SWAbbu;3qe3;>w&uIj6?IGEs|CQxL#hw4Fi^A*bb#`@M51B`S{U)M<@&P-eCG}c5a06~?>2=?aU6o8PI*@QIM zyT{n33=Z`{!*Gc5`%?L!c9P8=UqLSvK@94JBFH=siS{q4XYX|=+C&6{ZVm>+a)nU< zf+TKkunrKQ4iJd)_B!a9R$6$E^{ne1?|R{}DhOS}>ol^^gPQ1mpr&$zsIb%f22mjh zDO5;amwOjuO#x|%qL3CtsA`jYn=d~gAQeYIyh#Bi1SPNRO_{bI-09YTR~dRA`fi=9 z$h!<~)!Bf>&cf*A=xpcksP&N2hs&OW9i!S`I^%ab3wla{)P4df+l;`a*gou68xqvh zX6M+MkOq4`V89NAa_jca*`uTT56!a*I?B@c0{5%fqNqrV<>bu5oNmh>)n1X#)Q)n~ zxNaFYM{`52jBcbJwH3n~xbNG)<63dQyuUM5>bGNb{LsQ;qMn!onuI8qR6|qyD{j!; z>GQhW`rzE`ly(P=ro9%U(^CshBHih~fIhU)_xNI0elgt?zJGdN45p^#63OJkz$9#P zfXlA^qjLwQwbOQLdy#NE%+)-)x7^9cy=rSi7fJtvlBXXf zwpIOv!70oN?1krd+^DR+fuN1QL6SNj^x^8W)`nVnm) zGN!KDnueexTWYT+bu+RXMt4f+eT!SQA#3cBN3MGG z(QV6+T|7Kjtfxu$>gDNfAHBMTH1w#lZia8lypS5b$>EyiIXt?3^pQ3mL$s1?e{|ts zXW#Vx>CRM>)$@5)ga zPF*c&LL3i`Zj?_aZh2Tf-M44?>)eWW1`8_}pN|FfzQ)kmIzfM>XcG-^E!=ZiOSK6) zKf^Np+#EQb=VL~LTz`%FEyoVF^iP>pj^!L3owDVUM@0A>2-{B(O+Ph>wk^Z7grhkj z#-U$!ig1tI29Y8(`W_1zn8xJbC?{h;VD$!s2*V8_!poXu#NlrcI zAbhSQArvt*s$3JLl;QX-MwA7fd-M3)QrW)mQoJ`pJ1$>gqY+oL5GPUTe^x4eNCfTJ zbO6QN;9Uk(&QwFeCk8H#W#~;{+9)6@b9#dd+uWiM$r-L40rAx$9Y)GSK(&yT}7mbOhk%d zT|Z|W5A^=F1jIEQGx8GlnLb}2I&8tMgllf`_FdW=1c%Z#h+ph_dzJD?4Q4fv3)Owl zlT9+h-suw1Y$eT+dS~hHCCQ#D%JpT|G!29{JAx1(^7;OJcDAAZnl#9|cLZb1F(S`k z803j*SRhEELGwx}hkldak*1J?P*JGWW?O8h_fb_< z8u(diyj;7k6=~*JYej$z4_@Qfg*2$@8jg)yYS*;?HciARq)}@rv~Rzf)2{QOc_mZX z-hUGR;ghvzyE0D`Q~cd&lAM_nl7H4Df7`HCfNJIjI;kVj$%@hze_-g#&7ncVEI?z@ zN;2sS!8LpPdWr}JYc^n9-o!Ags7dZK@%I5 zw9hR2Bp=rRzt6!Rba1l>kQox(K88-ekLaSA9LhGQ-`<(aVbkEirdu z8az0aO|)zh{{M{WGV^(_^*_cek{bGd%0y-OG;&|c+AK}OR1+!bYjiLlpyCPBS)O2e zoyN8v?oKYI`R(kSGRLEbHCyL@KI2_re!O+bBxqnMXBbm4SQNf z2F)2Y;XOLK*g3K|x-*}wvA=KG$}CozRW|GDmU-ncmHZ>iv3*pJDRv&8W1g-_ul`7a z>t6{>PfC^dh-#CZ7}3pz@|+RM|6lX>=O`*{7FIrOrIWaicg=%eBvMS`E)t(uOj*Bb z>AGc#Oe!3PRB&Qx%y1$|uc=1dzt*T$^SIVw3sho3h(~N=sDy(x;m8@UHp0o9w^hHe z@m+hwqZf+}aplEg!{mm+@7yBcke!5JvHJ?FnEe?R!qqe*hrT5X*S@_xmXz3Safzs- zSB~|b?lO%geAd?UFxNj>H)Ezi9R$Py!Ouwa48dj`H9^W5zfGW+Y9cZ@_@Kbh>iS&i zPO-40F_B`@J0@YU3L+GLf4wo+iyG4k;IK;-9A+^ECoHL^%7l=1x~#O*f3zK+rHQLZ z3sk~fh)0-fs5Dkhm{N4J%?PLcT$H1kz^*jYmN8gvqQMDcG-D@>t(G?#tHzwJhQqk2 z>x~A72DMdc*b_FzHmX%m$UVo|vSNX9Z!>ZQzA=phW4mKq)4aThj#Mu5xtz*O8J&Aqn7yyEUDL}A@RRkQ)fC-YjAZb4vB*PFTx9cu!e!eULf9BiHqhaV8f z@#(E9zf>aN%r6xeGIEIUn2E5=_GqwJt^zBPZiYoascFVy)~k&s*|RsaC8VN@o$pck2A=K26AK!XN|dfM7_za>h~bw6+sHG=twOYzFxJ(8BCTm z!Q=!N26?Drm%EK-5y=6AKoNv zib>e81%)sf%IPd-axrXSlynwE1fuFJC+eKHixh#tc9HUITkm^K{SD__!$lVGdvY`N zZq=vf+wRb3V+Fa+twDw@7O=x&(2l=lpRKEzTLS|>3I<7(g0ZL5+vB`i-2s>+Y{2B0 zV8Lv+D&X1t1N?PE;Je{20lv|J+2c`&<1Q&Bii6ZGDy4}{TVbF;gx+rz1daSQ)2E@+ zzMxZB+IQvYz0<^Czi6B$8tl(RgdaBsjfSn^=3S7%1QHp(N|tnULaXQNpZs!G3UGXJ zk>L*UKiTPiAn_-fD-BkSXrNGSQ1F%L#89kb)FdgFT9PPv15NLJ43A5;%rv$|)Q9sv zZ2B0M2vW7zg!Qvktkua2heBM*8`rtM-rSO2}UHrDUv`p z?NpF!@AEs?GTiwNcVPqW)VmLIWR>Ho-3)rMgI>`9U9(eH^l9%v2D{3^UeLVA$i#{Z zjhI}W+&wQ1LeKJwoZnx6cyfN0y-&xws$wPgY6_gkD%Ea_cyKXMy6g0Ese43!n%dLP z74^K2qCs%&L2Uz(J#^3RpK?&=$46weTQq#weMIT%Bl`(~SBn$JF_sFvVM=#!cgW6( zMnmN8&8CqxB73fAtPzdpVIU?gKSMhG+)6sGs)B5zv3KRmZ<5N_iqhGlv{nqbVyZHW z1gT|fR~(Sfamb4rkZ~DRCU}X1ZRdhTlNf9yh7VKyCCb>-RDiDOn|M;UpU8%|q&$&c zCmNeYW1VPt)155U^E0H=&lTz8UWBuH=?z4>x?tz{Ew}AFmMDTS-tI+ZnEk=?vTCeD`R&L2=QQdWPA~)pqlexbIdg| z{zWd5VK175O;`4`0kcH8TEO#au_OJ}`{vlF(+0?S4qeiPptnxW%oGQ*djBCE_3qC5 zby*w$*AvEv=jNx9Zyc14Y3V7Vlc%2QIHg8M#d|7hv_5LYPzcUx^^jP<4noIXf*q+c*vyBJm7UpJWj;bhC%|nhWM{+VtX}#v zr?#j27CFlC1)Ak7RYD)OFis`DPn!NgZ`OD9*DlT-oZcr-@$MSw8G%HI;7BRcHP1B| zd-@xmI9v(V-}uDgiK)*1No}M@(Egey5F}etG`oKS!>~QuCkQdYzwUG z5Y;$c66wRN3yD4;I$nm_a~WzEkLCBZ)OB55V?&wi&1Q5q;I_{GBG{Szvvj2$H@ntX zy!O}Zom{ZoUlF{&u?BHtew<32Csz8f90ja&bwI)EZmVH692x8t-UNc}blKmOw5M)x z`;mk5MZjK?du~?SYGgBnE%Ev~}oTX-GimEvB)UH)RP%7ZEB47Ce=&~~Px;pysxhPdmKCpabcYm%g-YkB z9X(ke_IeXz$k#+(3Q2Z9LQw@nQkf?Ds$h_?`cji75N*PX9F5j?bzs|&@*3)+ zuyR}3&dZ`H&Aysqf)JG8o;L@uF{lBa99yuxyTf&C79J=**90RIEmKPO9CGN^07zDHC@i z(h4TE07v9TErdN)+FEPHwheRdg{X#2o+!8>t7E2lSaH3l>VlvdduL&(@2wmnH)*=_-Mv8?AhzEid2l=^XnT@= za%k^t-DY(c<>5of;hD*rQlrlH5#XsJ)x?*?WopuU>H!xpiEx zrb9LvwZD3%vtMWKvQ9nEjt%erfa>|L zd}iBRN)wy}SP?=Ai~%7j$9$yKoz3T8bp4~kmt#r%xW>=1=}t))u<5?pwsb}366+r; zCRL5*51}i9bA9CCyfJH9rA8Jy`xdWKHl_`QtTwjZ zHoP$6EB+ge1FF@hL3ISJqn25hM~X3}!D93B`B4cSY?^nM!F0 z=6g-Z7rP#QXqZ@;=A8|(Y_8ZVATeD|wvAznnhMMfXQqUT=+QtybZqa#Pr+-s}J{~reXa1CzYP8n$W`Pu4 zS*s)>v`VT35LK%*ulMbB+Ei2eT~<=xuClehGf6Ep6prh|c2l6Gf0wkB<{TNV_hb6e z1y5KEaS1CrsbNj}G^I(I-7(bv=M!Zg2BrT~?yRQiHONxsM*x}#KR1};velx2_L&GslU#rbjMnq@Nvagn%Kl=*T;I1 z{qivJGvu{`Tqnr?;gJ2+)7m^9?mAU9!`>iRow4bC(O{Y8wwheRx-n$I%N49Jxh7@2 zTv0qS9=Vr<=X?1tTJhFtibi(bDGjlV|EKs~OTg3RGGfw>0*4f_R8w0@gG#tb|mUl_uSIj2>&^Z7{cy<%Cj z$&i;d*qFKem5)O2(!Ig5&0f2gPaLldjuN;{f8B?yc} zALr^V=Z2A#2~%#HWFj<72NS^u>mw(Gdz(YDR1Do*Tt<%OBs+!FOtLeiWX!j6pV>e2 zzPUs5`#Ozu?!O@kUu622Yke0o5uNM9E>xttXPZm~JW{*~oDP}53B3w}CupI+S1eG^K-PK_Sc4ZOrA+wTkc(AQXT1j+Ks3Q z=4oYTVSOe+P`yMb@=I=JWfuCGmCi!%rBdXS^^tSRy~|CoG7Bwf<%B?pnh-p#>)1&qRg9agr&bon1!7Wns3Gi}9+?B-3tBA1Bgd zfg97gJq^-C<%zVXkDW9b|-i zZh}P~nQb_>jI%V4oG=JC6JZ*Mer*`mbDA`P_!i`UAmrCak$=MFk5L$J(S(eQ;j5ww z!$Ov$Zn_DbR7YZj2C##D3Ee`LJRrp6Afcdwgu+hag3?Mgv}8h=mJ$(KIT2}Uskc`n zk0&ErXIxpND&aW(3RK2mt&frue8Or{=LBQQS?s5Ll>sy?DUoHoO=KfDTO4Q!qJ<_T z7a0@B%m*abq`P{WkdaL>Q3+{Md9DiO7}>N{WxwdKNRWWgpgwG)VX?Dj^pSiazC1&g zu_$GtBGI3M1??ayVTwqS(~ke<8DpEq+@w;MXnHLIWl-Yi zMj;TTrAG3Kjrvkb6aCykKcN0Bf({8F5LYf?_rFv}Pz<1dE%6DXxaQ?JX~GD76AihA zL<6rtBOdcA>&1$>`Nau8j$}67Kw!^1>i&L1U<9l@=~(MDAQ8C0IWp~lqu<%m-oRAz zQb%Cdd_m|`GHD1*m7v{_j=e&m8$DtfE=Y z3iMV7jp?+3))L<25HXqdD`2c0uc-=a@vSskC}z>t%E`kfIl~HK4*k|7=VZFum5?M^ zoqR~rkk6jW8bg2WLOQm-(v1VV-(enD|5{218~(7VCWm0p9aI=8Im{W*p>mUcr1`d?Ba#&3tD9d)xq^-bV zLw3Pw2CHewr0xNnB~AVc3OElaV6607muk?i099Hvfxf5#+Rk6+$kbR;Z>|ho^Pr zAJes%D{}WKf9KoF?BWC4=hKi*GrGx9$uy%avOXExp6=8;FsJJfGz+y0?>a|x51RIn zat)n+OvI~cT!W-d=|-7Is@FFssSUuLv0tuvha$C1N8raa_1t#D=zZxz1~hYk`x&U0 zpOBv$oj)|&AenHdryR3@>N*1M(OX!U+c&Mfuy&iC>ORjM5DSYtMq`&7C08}?Sb!!b zIks1ezLH0GDISud8w%%!L|~+$y+=hXd|tZKa&)Ywe*gTT&cOWve$~R@g?%vId*Eun z?d=wxURUeujQx|HG3~`u`lP>gl__DJK_`K912LgNqr$iN2zispEoE79Wutcv&ZoHuh}Vui07u>$|G zCcLJwNmhn{0v{tcwHb8?_Hk32FDHtV6;G|9BpM|4O9cj^4_l-d7Isu~oYV|BepJYE z7h?T|RU`ZMJiw+=1uWWj%y({;45v)(#5)I|z^{=IFsh8iZa74Q&%*bFAK+Nr^ z-zgd!wZ{h|E4J}@aj$R)P#}yg6&znAX|QH-6}_1FrkA>Ulo!49h|sD{JXwGonE#X{ zrg#68R}0#wnZzUd(fWB57Q#LwY)u|U2PLf7DbhqB9K=UsXBz1vz5h`ZP{WP80tVwJ zO*d;1ORl^7v92=PWq)zIA)F~)<9Du=NRYZ#BCU5;&rBlWcZ$t7cS0x22bBpVsN@%D zCPTGGs7XhL!Y>PH$%gm;Dm(96v=iHRArrx9Z*mDFMKKAP#I``y#%`=quF&mCGA zO>2ZoQ7?=>_SnrgKlYgZxh(zvrRo2lO8jw<2C`nwo^rE^|etc zEPCuQE<&E3>5K*VeCMz>FB9odGSfLS8qpltb%hfL^wfmzpGtS~a_{bfg%>_jy};Yy zdMR_AD|2gD-C!Xm>6*-$Vm+2OrExkPaayu*Y3RnbON_ZAm9`B3#S^ z^WYYA4gC8SXO50er+c&y9#UMDY2**vYMxg)Vxzh4I7WwrY+3@Dn%0Vh;#nQ9z@77Av*8cP;ivF2h)KlitQ)UTbvTTX8KcygXNsq3!BI;G{S#>f^m6siS#>G)-*4^V0 zgVi1epO>3<8iP*_7o+c;2A9$Ul(U}~I-%veti0qP)*Z4VHf8<}8UY_@1Zz~-&|2p2 zMWJu8xjWd*-NEL$G1PBDP3kY&(nTEV$^KNSy==$Jc(Qbdz1&jLX_;K_7`<;!=V#{U z4lmd>_jsrQm~=tD_1Nm7aCs)pzjS3k^JPsweb%bQSV%nfSazdnDDj2R(c3x)EnTLe z!Us9sO*HzL>-8~~VXO7pTr*#{rQ2&^*k{)89c07;^W^^htPiIJU0W;GA;{`=16_Nc z88RJY&br-eo!paFsH47kU>rVUkbXOAxAAl6s7#{=>D{4c6-2No)fAds+yUmfsghhG zXsOVm`CK!N5B3B^;gWUX-fE9*ho1im*-m&Xzu#v>FFiF2izy8zhl{7`Jt%Wm{G>IB z-46<%Am~96=Sm*TdY|i%oH8hS+j^2}w(KpE678xtcbfza>%$sQ{F*q&J#AMkJ zAP)gw%1af7Tejm5v+ResKCoehzAli)JcacgZM#ZiH_E=8>X1pE&NDBjLDMp5=017s zOMyFvPibziv2A5cq#NDa(M)O964u%F%lIueHL9Nlwh7wgXqU;DCVGBTLdw9$w5K{t z44+h$$tUM{GAM5xL$X?8af9TJ(Va7CDIslSOEFcv3h#jVQQooCbp|H$}+BiiH2_oEu0w=~(GL*mWoa!7>4HxeH69(60Rwh2H)2k8Q zIl#Zn`LKluKA$T18O!>x1w-IypJ|efZKee$#_gIa`$W-`NmWBc{aEKKN~$43*Dn+V z-SXom*@#$MgQFe_OPj95v(n>9)zaf*f59KLD7S_qk%y3jo&(PsQnY&3O}V>GJl@gn z-R0(Zm1BKEGBTZfLNdm#z5ix14m#Fl=Y!C}t3rn$i>CN$OI>R?b^%b=KQg%FB`JTl z)1jQY4$9Ntu$ORtVqyBV+C&{EF~PjrF#K7$q5_^kY7clY3krw0@ z=UlA^%OX8~@%cF&(8tAUB3RKVjS}QM6dIL5 za<9_de8bJgTyOj6!l5)d%RV~HxIkyGigg@&}yEH%_p>7wwubB9L{XuGlphBmO0NfQyv_@-Q9daf-Y z@6c4-?n41&U`;sl^WjGCQK#YNkc=vZo4>QZGNNawn}wC(wC3pbo)1qKPN;5ADy^7~ z3X-ya(&;=YCNUQ{S?@Wd9hJ-M-CE=K+9mUch<2xnSecfsOGFySdzWtIYjylk!H{xQEQnfrAu4IY(b%}IOQu+;PliI1s-+<9YQ@BySk&soZ#S@_HB~5cbj}2Co4)glTD_-fiqOxYqKxT((L{}l8Mp$|463u+;nzW z%@wCq2Q+l#ud7L|MH*l|)3M^Pj$;*WtJLLd1lEdSLjoBKH3UCi+7Kj;^jv0wv{a>c zwTdcXxQGnes1@2bwpF3`f+iA!A4tSX6;i1|Ji1#dO>_bZ<7Gjq>kyK#e9cH@bzlc% zt!hf?UxPb=f$sSZ*o1(+zz_s=xN7s7?!B4Ui_0s&_h$EBtJQQwLI0K$3cF2FC3HzT z8agN3<2r{Fb2CUqd)}8w#Yw|8_aD+ST$y$2s*=i@dbgFPfEF7gp*5yz61F~UV&$gj zUEhS?=J3o%3w$j3*A!#MYSOicA6pk*YAjPw1%Y#&MP$oOQ!UYrwM@_P2|{{zAnmh! zk>&j4(g$w6d&Yg5Fiy_jlU9-z?~hTO8GgC~?;DZ;|Mm?jIoz?ncF~s$2hH=A;f^iNOM1x(4aDAA~8@EBfdB$A-G<~JD< zv+Z;|Ni0k4nEV!v+3-wxXq58OEIB9N8YuR@OPst_o^l#bRju+vu7K+Pq+02qpmb1B zI${}$iB*$~OrBW_F$cE97!laV4a#)Uo~D9fMc?M=-zMgpyv{$I<*nP>nh$vP69Lby zH|WUVP1u?q<&`+PZ}AS@F&g*s=)y#;B6SoYlpf?8)G+VYixG|SdNDfF8GRrLrjy_) z5&BeK!*0pfM4PZi1SvLDLyA367{`YbDP4NA0b+{`RoR$o`0$S(GWcRlH4qUaiZJ=o zEpAH!y1_FYMfy_xUsCAiz2FU!86W)y$$XZ`(+mE6k)h!HsD7+)SjGZ}4L=1ZQa3f# z2=;ydaq46 zI_bwu+LQ)r_0;{-EFlreEE`FmmXg>}@w6C)fB2I`YRE`hJXYTO3k?h&8k`QoNd7V_ zT4{I zaK{?i`ka_BXSJmW~p@Go%3@reyFYOHGgRi+JSv*RJvW z%ko_#2ei;YKxmM}rMWgI8r`y9Py{AZU)DcN`gNx-R3)l&nWO6!Y45T{c}ueg3H`Zl~P#q@N{RUx+$;M zdq_3$VRc}>woxR!j^8N`O#Z)99GLv$IG<-6T6F?EeFJ#hc7c!iT1_z=`*V%rh|uho z`anme&l*-(YMW!WT;tyP!t&bHu~=2LH+j|GXf3ot4!wMqe0L6EgtSIB9HFhBJ$ypZb<}IJ_bPJSx$p~fqm>UA&&IEQG7%V zhhM=|?lice3I+$if_$-@XgHzZnksz=1zQcwuTUN}q`Xp5yZ`rYfp*^NxNjAAPRBs| zu2&6>bpPa?ejrZABPX+?@Uz~ev9uLt%}JZ=Rvue3jR)B&bv1q=3rHjyN>cotTwG^ z$})45%`AQdb)00z!J|5XstLRn6}6v+b0D3G^uvzPd;CamCOvmhYoF5#w!1~dr=}P7 z9jfnIdTiIN_wTxQ^y(|GzEX#0b(1*@!1o-zpR1Pi$BVj)iw75OxZ;Y*`6JU$?wFf@ z{EErF3s+oy<(1d%xa#>=Uw75bk4=?dN(Y5t<)5gf|!9q;YRh2Wy z-RBOZk2lVD4$e&O>r7~2+B3!<5fd_N9}$yFEMv@jH~b9m^s{(ZqORIn|J=K=jwlPe0z(bT0=n{flqycJ@7ywo}Ig z_mfXfPR~s4o#_<8lz~bK?9Ylhf#zq$oQ0-BTJ0H5aU#uoCicvA~N_KJ%9 zXA__i@3hxup`-IXddtXb^Sfe)R(@CPVmkjnmaPpKbPq5hyWkj0YXdNoRe+I|ae4`G zuabo`&j80k00WMy*V4w;_%E8YBSI@xp|I#B0;Jw=3zi8BD#R;?EyycZqwyx`Xd?To zmNB_Hexyc@4PCz_q6CY-CGp8>!2hpIxV*lrW*%~D2-qycf*n=+bHh$EPRbcyqP&%Q zuOZBsgAQ@ukAI`Wc&gvyU!lJ>pspMLz1Jxw>tfij(Q zQTQOerZb}KbWLYk(iq_PbL=agxQyU1x`n$W(k3LoeUYmbbWe!w<;9q%b>dHddQeiy zGCH@nr!zj=bzKKhi}z&hrq$+Kqyf3!DC{G^r`$Y#M{N-S!`ij!*!IZo!9qrK(_HF> z9>Ci37iukA_Y6a$8R~UUak6!V7DOr(a#?{8{^VA0J% z#~eV9y{U#CuC->s@*6$X0s-|G3L{F0wL1$xYIJ%O4B~>Ce;Pd#^t!MLf|g%4{~=Lu z=kQU{V3zk$F`#$h7oU+8(B^i*U@`_qT=C@?*-`b*7Kw@jGg;u7hZYXuerg#=;?kPu zgk4ZbB|)dKRB}bj<{uO~exH#3;#fB4M`jQ~vzSliuGZtKv_Vpl=n6N{{;bHd6Xj>c zi);{Nw^=>1r|O@)hch%qQ`Hs_@X;*zcy%;&vEe6QMLGL7qP&&Wqy}7+J(|f)1LIqQY%9Rb_;;^KPI?T^K#0H@3>f+ph4k5dm6>I27 zp1ql9K1UOo%IR>yknXP4-8AzyS*prL56EY7we41&)p;TXpj)dWhuQ?X(7Xp|&*08Y z-|N{~xZ=R%zOK1J?Eo#ZEpf=BTvS^fLdU1N?){3O!`*3ZXw`0}#c3yxw{#dbekz9A zF?u(fTXhgT3UmmAGyR7S9!z)sY#+VE+ToJqT`!rRJbFoU`)HIG_wG&hb80fW&c9ca zg}=Qy`qf||{mNS~PtbZ}f*zQooqLaND!Rw@a{rPYJ|7oPrWhX=&uhyLAAUxZ^s}s| z;LfLfvfsOk&dB!w^c{Jy3JLA!Ok@>$PUt>9HVr=tC}1*+yi{LswMC* zXu@CV@Nulb;KQ}mGQZIK-Y%1QL~Kkcu%oajWks%y9(k>}(<5&Q*T#>ywxHSS+BRv2 z!nY8K{jz8iiT$z|MkMxXt4#K9!y_@UiNwH;=6l4jlXs(>NG!^c+^Dy?DbtqY4|6&F z&t-o@@4T~<;woJNacF*?>!&POQhbxVkdEgc(&n{MJ^t1b^R&lbrO(0O|NoHcSEMxh z)vrmZ(Zy%Nz6J}iFVomcW@x=XC{e;E#D>Y)C&VTuXA8z=NY?{{$r%_iIdhEM_44El zU{-k$3_m}MILyGr4^J(%skO=$!SxpB%1Ky~Kkv(GEg@bua}Y=`A<110 zgb4R*lDoYk?=g}q5N6zIlPE%%_qPcXD_5|3xg$K#K&XWYlCNk86R9g`>~tCr3Zkgi z^-k)F+EPd_Gph>*VV6KWBnXD*zO~Hn$|lGz0YYa8kg7AN6t95yi_+rYn$tyw76!$D zD}!R1V%9Gq9o-n#vVj!?9(^5qu)Od>kFslz+)l;AW0j5!?hH|XIT5Ncr z;rK%XjZZfMjr#~R4joij;Te|tk^z4>xkS#oX){d}G~H23U)PkS`$Y5XMroBXa{Bq8 z+CuZL$~xVjPSXbhdq7hvo&(>ygGCpbbr!Zsq=8Fd7LOk65b&h)aMgsyXA!?IbQFE)f2pBEeY5v}$)W77;V>RrYl;rKy{UB-^I zT;~7{*92M&=U*^hjm}ZSu^qO^6eD>pH9HuvrOz6rVR1>DVBwViNP-bH{gDJCYQp-z z>VoC%1T|2sEqx_xs_J*u)=Y4?92vs613Hc2gfp(GvVV`de#xkg2+iCu=oFS}Moc1a zj4m*g04lc78lNqvhcAc}Q@t;UU!>3f+V#-;@#0QuICkbE^j{uF72q%rfp%2Xa6%O| z)z}67=b;J;sU_$XmRiQ7t*v5l&>r7&r?BxotT53IC#_2<(1zvJaQAt|27MSKT1Zhw zv}!QhptDp9-Rb=&@QV2E|0V&k!2c!zu|No~GXcwR#zI_9iGxA#4n~CLhB4fot~QFv zotA6^7yJ)o8_u}ZuV#oPZ(kPvqBH#>tx(bo{7mDdpS^LM*RoTD-ZLbS4yMl8pLrQyX8QsrAp2@7jCcp#w{kq<<{7nBE_oEO88ypJ|o! zv$u+KTi*1hB$8Xv*F*!;`&)F|ys&-V69Khi3`2a0t_@ zWgv};C3H-N5wWpK!j3{r&nmeh)1$>mxzb`c)y;_M1hnwCZ<9=K(*B`mVZm@k|R&oEp(D|ogjPd=c zq`ABdo&1dPrJucBoZs@s*OyRkd|ww0jPL6r9jD#D*JK`Id|+JY7!iy)Myv4w&+9R8 zU^NiqGx#vRS_amsu!Zk28AgO=l?0tajL#~$BIBdYFh1HW8y`Pnd_i-V@txSI_CFI< zjPK9HDva-aR*h_YIzYnZ1;;(s4lOe4(25DePbOMvSLg68RrPsxh~Oq55-a8Z$^}p!N)|trU(SFu!-g7RLdO)wBKVa(?p(fx)3ZPN-`Y{??R4G7g};n z!HM2HQD4{a=aL1}|8vR0mgba|Fjp;;wCr?6;mMGlf4d6l@+BX5q;nICbGL9;l>bpJs$VO=}HHKP+N-f;1E zqKrEKPV7h%K>2@KRkD+`(B<9B2Zs@WT7P2=pAx4*xaOzv>LDHuAl8Ho2 zBwt`82)+yg>&y@cZ%l?;r&DMPzgkzZOMo)ICd@@2<+S9kHgl<_tA?f^i;t3xakSRD zCq`PpH;hQd7)Dr3Qy5nHsr{WvmpMZGKPmZ_g8i)JP)|CSC;nq|{1Gu>g`^2muq zE90j|x70`JmNQnJCEaql9Ila~dnQtO#7G?IllHSK%s341lhY=_@kfkvZcR5nbY`{j ze5qM(2(#3O2Jd2)sepE}0&gehy1ZFFEz#U8H-=g2!}itS$G^j5Zx3F^6AlfWa3W9Y zIIU)xFt!Iq1ki>NW|?3ZEfUoTq2Fkdj2Kg@n~O0^tL}=-GPNS3MQX)7TBM&b%S^Y` zEVbw}J*%Cm?TbFmV~@)Q#p9dMIG$4<3jU&dq@T4!FL35u~9lYK=t zlNtrPO>K33qph%+Ot;l$bm^kbaCBQkjHbod`HS&0(UNw(@KLtC{M%HW;WqGZth%y+ z)&=3*A^WS5#?M%cpA{{l51Z!E@qe|n$Wu!b8~xQfNg9W-jDpsn_$Y^~exp#xoO7Ed zri8u;C2}){5^b7bGFeutieL>Gd_|(eS`ZEJ%f@=dB%|GPG3{=8n(Tg1iuzEkaauA% zmXw`fXuxI03og1QSNKPnVb$dxvtBAd%cz4ufL0J<4ZkKCn=q{o?#2_1 zsAa5s+^G7rJXPPaqCZ%5g)&Keax_Tu$0q)fzWNp?bLm?)Lq@WIj-1*5Owjqx5GBm= zogpo}yR{mwcg8Pv#((CFdw;5rieOKpN-?|ZlA63w zMwx0(A=bMs6*jDQ_XZJ>W!7*QW;OrbIK42j|IlojiMHf_iWf4)$6E0w5!NJp_a+&_ znJ(SmBn=FALw{`=I<6b4yToSK!e;S_-AQXtZAqNeb^#Jy0wlTwigl#6Rz1sG3p9EI zXm}M`Ym@Oh(m(AESCXEk$^ECsAd_Agg|XN2N2+|a(Hs#YOVGiPLR!(3)NDnRO)FM# z1Fg7Ot+-frww*vjo*~-oJ2^u##CpfMNx@dU;{b(7qC@fT~ty-|A-v$sZ?%FJoQfBKf7Mv|4Ji*ywdxpz%iH)&^VsDc}?q0>2>vb+&h2ZfvNV2h};*<_1Eq?=Ot8%@MK!Rl|&$ypr|(>_cc z?F&Z&CYwURjK(m`wuw_#jrz(b*ryCSt7D+E?gHZ%CdQNc3uV|}=^D-Iy0T2De`k4o z<^kUVx^J#CzppbIZgFAz=*;ASy;FLor?a@v-d(8lv|t2$*XB7Ai1v7f1X||;-4%^B zSXksc(SGzyv7sM5Q*5Fiz1-Lg??)ifk3fokvfP@Ct7nb-9>qJ%b| zBUxgU*_X9h;-Ff7a2RC3i9yD2A{45r#ty8>73=4G(MLb$SNfR={ZNR0q7eNU=}JHF zM?V2{g8I3v#F)<&CG_*$N|uG==m#A3=Yx}vE+w4MPfayekzSMaGgkH1mO!@qd~dr^ zSH-CKoF+SB)P8-Dt#tJ9Tj|zHxU=Va(z~?v=H~Oq+~cEJOouz6r*7o1sKE93Z@Mi= z2n&my$#^&d?weFgxWB5wJ=Joo`&T|mdROmO38h!KOJ_(wSZoTJX(zKFGDNc9ZIu`i z?Jc`sT@_X}%+&kqk@oSq`J=~b9{scQ^k}My>iwX-rX2AwWMA)O-{CypR`Wbm6&9Yv zrl4Ye)cX5`O5c5|My(66O>fqmd+l#X%ADA%UH5}oh;!53K6mnF&Gfz{c?b;>wq5Ue z;(c9CcBP-;ntql@71uJdw%Aec2Wb{-g{>k@m)k1R%uJ~CyR2G`3`Fe)z`4Y6#u_+b z<~7wwQv6UTi$cVPC51)o>UuFc3LQCsPOu|?qfAIH5G6YD1!5PS^2d%-LvV-?!68DV zu?;6`SW}JB|3{1}F=F*}!8`S9GwEddPwW2|iqWVTT_{FX%kncSNJx0U>qhlOZ(rJ;c7cFev_7C+SNQVbOx*1iEuK%$lot@Il z$K=}H|Eet!LUT^&pa^jo@8ed@BlV=ThCA9|sGeO*Lm^$jbag`h3^H$WS;DvcipgR; zURMT&e{`#dFwJxmMbou^Ty=c8n4Ct@hq(IUI zu>afAq9t0ZQm)`|&>WoD4rn;hUu&wd9q=0=Hid`{ddykP6s!JI;?^Yf<)-cCqEOynQZaGx!oX#!kQ;*Ki&ZXO5Y{KkM5;lz6 zXT``sKSqXEx|TO483qQqC3|AqLbmEGIE0CfA^A<UNi=Dw0Vt{YGLJVSldbtb48$cvE-WJ5VpXsjfwyG;dmWlC|A{){2b!H+t zSH^8Fp11>?1R3D*V9yfpa#0@O?5G4h#yJCT%cog0UTfTkj)P@{Zn6IE*Iiv#i8F5P zDsiU$=rp^HGLetHnp6XwE+Fi5mjNA-3N5~?fk>QSuXh$o*(c`<9zY;-59`QP8A2F% zO)_#-w;Rb3p%uv~#I#)}wbd3i6ba%0@zqY^YDqv~fXEL;y|@q(3$KB~VjoCASa=~C z7f1q6zlCVr`(yBC;Wa(Vi`>mFiA~UTYdT@btaXma#I4f?g!h$nw_mq(nA59}r{{EkxWail`j6o}L$V|s zu3^DZ7*6+ns{Oyv|9-SW{bCbUGg3n(ny*lQOlYR^uC+7npe>3lX0uH189$e*sr&Fz z`p@f)wE9mKS9e3r2}k!B8V;u)=yQ%!%*k!kSg?a5v0zQSfP0v1Fj-?fVvV0}Ax$4Rt*IT3oo%FPY5sXFscZam8Sfges zuJ~m=_SepLCKu-PjCsxFa;=Y$2d$hy%ti3E{~LPN54YjaIHBFxq>=oBJe-+GG*S4QQGx6ss*7R_?ZQBdY=oh?%{D1V=l_t2`4$>IL9jz7@s6B? zRiqh)wEEqIetDo@<2}yxQ2efQl*;S1g4`<}I-&)P#`Q4wPd=e*bth*>^9?OB+xn80 z(Xp)*@zd6A_IkP=+gdnuKxn$;_kdl6nHn{2mN_t~=K?y5hvsJ+tYG4ABc~~oZqPI| z-5Mis-3XH|vAmxb2{gCr&S~-_9!GVJrgDo%S#(IZ(M%uETY?9;GcTd*(0~M)Tx{@i z5tUWgH#dLq(8A~#SJTYtuOvE>kIo%hJa}jkQM4TJUlv(9~NO1$VRYZwudjskaZt5Uy%ASz97Ra^#y0|k|o?GOW0*Tp(WnweLxlQ zPH_POvT0KvCFJ=}sirNip>4WQ^@S4hTm)TB7smBbLZ07uy6quP!Xe~II1%y~&T&GX zgi6ShP$T4V)YA2S&sq>~_pOIK7e|}wql7&F%Sbmvo?6oh4JVw?m_ae3I9m2;a;p|T zBydfj44fHM0gtFB!C-j~Mr(v$?UYz9 zrbV4qj&piHGRPrf9PjjXeADU=QjC+B(P)WT#5kK9vJm6s;vx$%PD0OWi5Mr88Zl1l znfSG28PPJ~V9c*2Cxl$Y9;|4Oa>hb;`Y1VvkyM@R%36oq{?0sZ zq>)WS+N7>mR@k_2M!7_LB1M-xKkg%qGKgFry?=U9EA2LT_`tCZ8K~`L$iPM#?DW~8 z(xt^Xc@weZWcsT_dBxG!c3A4p!*P9-jaC;L%N%|6&#>n{IWVhdB(-5G?_~mU3#%MP zA+j$^D6D_Yd}pQwlc+24-mdCWpCyENrN;nZ{8P0J6t%ORTl~5zla@5kzc3a#1!vd`vqc!zW0w1_IQRt%tT2E&Eok*aSXkp`tRy6BVA!sTlp_GeJgR@#D(Awt7q}=W6P%Hmf zC6W>&f~>^o?ppb`i6-Byv(t+u(pOW;fz68M#FC@-Ms2*E(^(l{zt==%b7$@AEpfk0%L-zLs!eJTaW(j3)_| z@g$+fc;cvKJbAC_72= z>k1SDXAmghF`gutEJw!>=lLbq#`j z8H*K-CyB?6L13q3#EyT(c#K#Tbe7CSptz>*JI#$=jOxAa2JS=}?e`hiN9mQH4K<}=)Rc=+lhJOfDM^W%GGy@<5%(t7%}9}9e5B}| zeTv41k97K{v6p6I`tjL0%_WaLdhF2N9Z#?RfuDNhr1YQus>y}LWBs*yu~ZMz=7qHW z>b-MQM+H5mWws5wl)Rl^ykmauKmk~*drQFB(_h0GNGS8JWV+?NK&__iSif;+XMgSF zLi%}6f9;H3W15{iw)^D%hJAB06S@;aPs|8dU@e|tjw%CQk8Ra)^H&Sl-SlX*`Qh%-0FH7A$O?5fl zN0YPqYY*!7ph;cEH_|`lpf=@ik=dW4vFTj>`;6UZvp?K^f_?g_`%H=PtVI1ePNqrn z)PqNr`Q>?DqbgChsIwW>Rib*1QROG7rk^URl6mLCg4#68++U}qP@S&wc38a!y~na> z|CH&eWBs%4d*GgX?!Nc_+i#n=W#_HCZ{Ks)-#c->ymU%k+o*?+A2LLsbv*_=);1ZSsnvqSDIINjR>ey6Jai0a7p zmq%3XYaD*pp}qap=~)-FZ*8>{`UXLtlB8UHt0v!>X@51_sE>7biH2SW!!nDgYi*W{ zu)+OC=f2bFy&T(Gucv|z&&^LI^rn=z2#)quE4(Zn+RB`}_oFf~wWLD+y}$9`oYp#L zj)pwETVT&yn$oLxS@+fY39BJ`mDNOHi!BP8|_{3p#gY+IG)#{RD&OM`d0)4s zN&Bl0>iw`qVd`Er;2%7#6xlULL$Zi(=Xj(M6BKHD+Bo!+>!d#F1T`VRaytsvj?guPa5 z-j~>{?&;m=x*7p?u}kyb1h$DCpuEVa8%{{5TJNmMKED#G=&J}-zS_lmfs6M-(OD<) zJ^)|s$|;-z;wG=a`;%m6H6)uzJ-7ww9oz=uH zQZY*TIT70;gmaWVH$+OjsvYZ>sAPRrYA$+X9IC&qv%hHItp4V54tYZFE*_KXe#{-j zJ~dzRKV?pMTla}Q#^oV#IagdBlJL)R8Gc>T71*a6uv8S-3kqzfdtgs@R!k1+fAf2~ z3;M@KlwT8})NJcrl#TsoNVpw`7N=)+3_Lb@tQn?sf3Q1(cY0XzT`ryvi)Xsw^gKln z_A|;!KUdt|+Uake>S$4))fxp{3I;Vm$SJbjU_s+ea(PsGwXkWiQ2a^#^|!L(GN9L? zZ%Fpnuu9V$jk{;NN!%s|oFTnU47RzZ{wqdIH%c1$53Z53xOD>`!L1uBY_mH=owNFP zh&pzR-TXeJM&fbMpNs6wsPcNBk;yL*3)-Z>?}H3xgA7-E2Tis2@4kuT|;o~{$A++_`Px`5PsQs2(8vpNZXJVVev~{Uo4iL=CyoYsA7+VXB4P`2v(5b`~*b2 zQYs5P(Jt_WMG(bL7kKOEH9g8tROnqU^sY+iOGD`QxX?9F2z^P5(7+=!@CXgj5Zd5P z=$hUzp9{e7w20=B_fG1u=iKZ1t2#$C6Kiu1 z8(uLvbEtFs{5-n^tfgNjH4v=6%v&0fc{s>K=$))j9|d;yx9ypWhm_Nre?)213$_@l zGx!gB1$%3R$k+&d#$)Ke)Ky~iBlf5z*yT#toh0BsJMEZD&J!r&5a?Z)-etIv+HR)ZiPw8zPk0EKMTQs+Nrn6s0)n+!~BgRD@vl*8h;V${DbLpj#2y>YbBVlBOUDKIP9BVJg^9`OppUNCAHs%-F<>Djvv=F0RY zRXAWgx7b7KY*y4MvqQ5_%+4L2-9E~snIG~C-8+tD+3igBhy;${yGq?MQa2P2!rhL*;9U^Hq-&CU z8&aud>Pk^ak277?=%MX>g1{}jCP~zLNdM5SAVPOQGk}!lo$Ng9VC|20t9|Mw@LbeV6mm{V?lP2F&4;Y8$^k{nFq zILF8A9MkyWK{;xm^IX;MspaUsTYpXVX7vB+6b)y$iWy3_L?~g2up_iUT%$x(QuCpd z1{?4<37Yt>5shTy(%U0uk%Sl>F{5!im5%>q5}P5lbk*hj6g03QXpn@!NI#NjsGUCP z-MR)Mm_~{J+JNZRSvoBWm>&RvJQ!5TgB66Z-J0a(f$C?JP(-CT-RV{IT265nO{88UI`Q)=?@2W zRs)4c`hAmnzy49@AMOcaDwmxB#F)RpksJf{Gh#S{niZwg@Apieq20gtApxk5(fjwg z_Bg{#eW3oOgun9M4-K+N(4e|Bp=bGt+xxD6G*4HEG*FHnets00Jk1 z;d5mJA0*a{RPPBCr8K$hG?D7H2nhO?5QI5qD$Tyc(q6XuxmtHm21 zNlX2WRX3-W`kQ?#AkSH_nwOITU~?TD*d$g9b~CY1C7XJGZPaB4W9{QW^0ZjNgs4;5 z2~pqd)YoZw(bD2=V?di!X_N4tr8J>gLaLhU8hQ5o#(k^-I%%7 zKsO7B-ea^Q0bGmx;)Z6;A}J5eQ!X=$cB>N!d2p=z?xf>Rs%9IV_W4Of_1(tsvL|~J zaJT{#9OjtVk>Qv;HBHKkJjtzee>Uc4m9pKP&_Z32KV9Uz75R%yYgR~Iqp;BKbpKEh zz~?;~iLH~23^>WyRjx4pyOIcsm=LE);5e#k&@dJg(zok~ky4cKj@(&#>-CwdS&Too zL4U)9Za3fegr$`&R=GzE@htaW|bP`U@b}UvXc(|E(IXG`D)MsBwQI+ub6C@*)#D`z<+=C%o|h=Snxg!%-Rd za7T56kxP!MB*tSTBn>`RE!VHV$5)cHw9f40K5?Y2?-R!hG&3j*`|IRsCXed)Z~^4b zCIIy|Q>Sa0bMVn=`q^~abBW&KX3$p?ey@Lje-#sFlj!YH72M(6FM3QC?iU-9(U`)6 zRzo+1-g(8sdU7VqhiTAbHUK>mn1p^4MsGZOq8eySK=|B84QPunEx`r_3X4SahFV_6 zVfxAghWg>s%lqpi0mJyspaC8W5m3FhiDzBv-bBRLsam~RmlY#uJs?_iAI`lnWFW)i zj$Thf+Ir(NSmsn*p?ue3H?15@Ym>@rOJ*A4dTzZ zJE^~k4BvdG+nG(%wK5^KT}Acu8v&wEey({1e% zK30+_Pe?GL(!BC4+tAVa>&<{(k zC1A52-PNk1zDyz7Mm!49Cze^DDRP1Cr+qQ9B@NBgV4#C#g!qE&HpcR#|rMEBc&lOm!egCk*kt6WUZ~ z&94xteA>;Ie3kfb(|f(Rk)Iw+P?%>PA~(N_q!n@V^qNURCy`{qBqNngwHP4H1T9 z>(T;C$F9=0;58E4XX)MaR^U$gsMRlH6Hgw&S1S@~NhrtcDJyY}#2--=p~*l+L#)>k zBR!eZ@LYn8U5Cc_$yNhxS7ePbhoXcD3Z=gv&PajXTrWe(fW zUP-hdDIOLYcvxthl_X^q4?DEK(k`54%0V0YZqZm)uW!Yu(O;(*xzb*1Z?TOM4P)OZ(a0OoU#~JHs#A}(4II5^s=Puc!UBDh(D4b^8Tz<_ z1z)^~EHBIgIwwX<=7!m=pU`IPC$ySSyg#VqJYf{eU?ykG9_pHeb(%sdMYK4}!RoMI z3obEpz9p)2>coV0Wp~mLVS_F#1Dtk6c`q^W;t^{gwzZaqV%ejXno>;TVk5D%uvp6A zx-*;-*T(2Sa@n;_#yo-5TjCiw1u>KmZjTx97?G z8|SpVKRuhbF5|*CJCV&2gOw9Fy()>p%1JT0wy)A&mFgjg-XIuh^Ziz@@!pO4@OG`? zV#YD$aO!{2jar~%GO;(HPisq;)bzu1S;fq!|9{-Qdw||oQShH8*<71mbKz3x)3l|V zG)?J^LTF3VCba1`X=&3!sb%|Q_t`%CbhEqNOVWUXaxXkwev(?T+!R4U1QiIkauF3# zK?MXsMFkaJL_jXST2cJXXXebgJkR&p-9-5P@$36azWbb+IdkUBnKNh3oOAMqQ=X*P zsi9qa?6KWqY;8E5D2+x*Pn1Sui%^zvWiQ*j-!&bly8@}Zshw9#c~dr-+}v((IM zrj-60Gr^#QmGP?fGM`y&i7aQ9RohOI8hnU7M`@q~v9+zo$Zw&+ps+Xs#bdyRV$#h? zQl8j~3LO2{*3Uw>D@V5HBI|{*dF6ytF=^y1pDHY4!cWcQ_-Z4C$*a1iF>8G6YRK@! z5@dX@=K&*Qx&QzkiUXhvR*$bYa!xpMf^c4GBNDjmVLKpp(Gtya@7%5{DYo#VSftnzabwWNalW9#u zEiNe4q9Miq*NR_R=`zfkPTGHHDn=mf_f-&S_FU zZ+lY9(pP00<&3Mg@exvUpHRjb`{U5YeA39_=sVn&PdZ#nK7z94aO~wX20!6&cN-j1 z%He|7-}*g;!}3Xr-mZ~6UTay96?TRWnlL6Jg+ zhRMvd1Z4D;8Y$1TB*rzeYBNpe-fFT^xNv|4CzSurT4$G9L)Hru*>cdaVqvY8!RZOt zINgYIF*(!I?4`}Xw2+dkLv<^R8}rDUgRieEU%lfc{}_6Ol}P2`+UDlwTG?e;C#zU% zHFq35ir}LCL|gTzAVMS9>6Ut~b*B;09!7PV4HPju!%0nBoAAvtk*zV2qBeS!#mv(Uz6fxA;8cjda_0+B>* zywMnz+uJ6%x6NBCca?6fNuFJe<52u4&y#5uBu) z#B?!0SRgYJ_EdGC-MkiXV`j5UWh zocA|a5 ztUdQAc>v}*llAWQaycAE5~-Vx92mzCv0Q7w$#mpEKI{Ld*IDTCj+&mleCa&N(Xf00blUOhfBD2HCg$GD`RBMU0| zYmnu|PZ+2L2JSGj_BJ^|elJ8~R%cOFdD?7mu+&gKDI64i{mqm*vqFylb2*|U5SI5+ETtf%!^lNH8cXGZ{xh&EmJY+u)TBQb zHTCN1>bN9Ganf4TWe`r=eqdsBn9Cfe6lZXFNjmJ)9ML|} zvtx;1?C(^F_zwIn~&uRDE%vby=YGY;B}R$?Y$Tl6N>P zmF6=JTiS_ak$U7h-h(QkeocFH0Yhj+=p^Mr1l|Kj(Hz`DD~l- z=?I&S;T#RO|Wt&qDGOAaqS2be#}lko`eqyh5rV3Oy<;l+%NxiI4 zE|PjNYzY3#v7_^yrWeSs!9f5CPYEO@+zcrW*w%|n_^kn+U9(E~`%3sH1bEU<61;Ci z_DOKJb5I z32w^y7{%4o2bFVMm2e~b&s*#!)AfOG8GIQ1}sn)Mq#tSz-0i#GZ_q{x6QiVcqnaF z>pDWd1RS2HRl=g^8EmL5JzikDeE2r;KXh%E<3^|-4Qg?JZUm}Y_bYVbxVu|!NtNSx@4Q*wyAFW{y~gBa=%|kuCiMx2Y%o}uZ3jqZyPP(eftWTkIGr}X((BspMT;c5 zBL6Mq+V0M4trv1p_X)F8V{%q<>r~?&xrc;{!RNiJd-=R~b+5x+Un_IhI%({B`B!d5 zKbjl5wPh$3SKLt`nVKFaJuSuGPj*)TTd4Hy;KB;%3G$p$)eXaaxjncx5gKGKoaf!T(Xjy2_GNF6C ziHM(QkN%WV+Zwv-g7z{V9v#0+neNZJvG0~~E{HMVFBdYW3K`-Yj}T8O^>*LhS$U;2 z1A9~e!=XxGD|kVVbB!6~83A%r0lAcSH#4Yn1JwBi)ROJvl9{2>gg2sp8iOf-?8HTa zdP0EOh97sS$Yre{nS4OTM|N#Y^2zq(%5DvNa>~OBA+t`XV|=&)KTzjqq_00`)T{e) zMHt-Poht>K!Gm9TqID-fK~R6n2qtzHk4|)T<%;_3%!H)8cyF!}Dklk*Ro%TgGch~V z41xuW-ULi~6OkP!BI9Rx(4R9NsvDKxsL#NYu3am;;MTI$LRoLrx1XS@Kg~;(OZ7)a zquw1K=rKK?V3Oh|=;==xy(p>Xt>rLnKGPIsjUdvM>{w=9$ltrG)Z zxFaVSU;G3e{VAh!OfLtVym#kKH|^Sa)8LNnd$-Hu0XOgL{cwQ3DI$q1D{r3NH$5~p zDm~%pENy={ATC|nOXR7%!_8L;e8;;1`nE{(a4;Va08n|yf8`4W63|JQS!Gib2dV7! z@*L3F7544xu!&?e|k!~O)@joNP*bam$D|)h& z%bP1rxmw&GIOx-BY^wRfFOWA_nr~L{@Rq@EyHMK4op-qTULM2N)?DRG>`Yi4?-+Ep zo7;coO_Ams#h$&Z841hyOJuKcve#z7RYK%`R_t2Evk32(9~bg0!uvHRsp?sTch2)H zLTK3*XO?|HS|&GY|F0iLux9<9$f&RRMwhna_E?wGZ2IU|Lbtr7`D@-m&7^xPL~Sl) z5-mDf5}u97V}%HM@nxyxh`gdQIXNctPA26Dc~+?IuLTlu{a(HKVU=3F$)i1`Jf$uAaGDu!P3D|uU%I%$po zLHavVZKi%U#xfOL;|Ql@2(N7ZKh91hcxqthU*PqD=3h5I8%IZkfn`(E>Z{>TZl5A1 zpF>>}LfIfhUr?>{yOl1PEpFMgr?yTJ z7?Waa9rP-6r@hQx=k;ygtY}Y@f4XnQjpnnx7#Ap2$S_l8xe6yyV>FeuQH~Yp zzQR_8Q)OW)1lBrB*b6EmrH9%l<639@}L94%Gs_t8X1onS|+DRnY>{{ zd9hJGBAG|iU7?Y=YlIoARv+_S6w z<@6+P-kN`l(8Jv1#wzMFSD>i6*x-k8?28I;g;Q8(6k1PJ#>K=aZ#L*lNa~WotGCw& z1wToUvKe7{V_YmuGV>E*nYdd%?35q)*PDoRu=e0P+zD9nJqb1VmJfS`j3IebXtvbq(ef{&@DxC-3n-?TP0=Jt)DW=M_QN5N6@Ph()H?@ z2ATA#1arM2r$bWnxM;m~HUC30R%-z!DIZ}<8gnEc$sCO;>Czm9e#*>|;$n^z*UeGD z%|sE&yE(c`$rt9RwMl-HK~!ahv>vRG*5g*lh+u`ZJXR8{kmg@WPljSfk)nrD6m-dS zUkOBQbKN)H)xlCd=3I^pv?*6u`7rfIVQ00W%;obKIz>NOcvN%_T46b!9lD{_sqS&u zx1KH_L79{W?Nl0P3k{6abCrf_39hYJpY3v@!`Cz=kY@8G+T0wU(`J%Z+Lsh)-uhTI z#Tomi3Cdk;;S&TT3CMauA?O9I1Bhfn8u`WaYq2r*&T0h3CHnW^(45>}!%HxO!}S?? zvW2&?y1bv{$+T{ymF~j)6ogL^9^}K$3ccYPI!jdp>6n~}EulU@;fI=9)seM@k5E+LODVN)?<8YNQq&(n7+>X_HlPRuS4+4 z0Fn=TBbd7Ert)^U)GSSuiNXr+QFnKg5UUm?v`$!JtbWk?C{0Tx7)C4AXX;%o;N_t{ z=X==smJd76PIVuTGOprzwMfASxU;Qv7`#e{107f)?hX;vg6-Jk*8Anh&_jy#SjWN- zNLaQwT?;`o3rd-@1BpZHMTJ225hBT=^-EG)uuTulz0hvGJu%jBvB-zrH-SC>yfsH$ zR9R)qv!dSk5}K7H&G?)_OXFMbh)lHJC7-MSE9EglwQ`5VZuv-07yq>pN?lPAC20Mj z00pVu%wBhl$D2 zA$R)~kx5GH#G6Wp-jgM9GF%br(YCJXt&@+`x^H{yPDD8if5}=_qMaES{Fl@+TSk;% zK9L_SkE70`d?X&jt=UKP8uZXtC8P`d-x6C%;C=V-JWMdZ;O1Swr~x$jO?Ni-2xbhgHH>Mk#^wc5~bP0y5mn=ym zj4U|8t3me2%&<(ZUkmf?pSPFGyW6w-VEE`ycjfEE*|iN(2&gz~7WFBEhJmMOdqD5VgG1Q2OJX=IB9b?4)>4`g0d7Rj7u zc(FKQ>ac_M6uEm1mbj42&oJQ*E2 zzpRIH+IYwmxM%0L?iPU1^&7qG<-@ujNxtalyIu*=^-74YXM!e85pS@)lCBSas?ACz z0=%OuFEfOmJ+D|S47C~@u7u@1Us87Mur^uGD+E2SRDeiw^PYF{VrwE;rXW7{igLy` z8)20*dwY#<*bWl%@zHlCT>usNNLJ{9*aay{Ip=hrk3%Ji(NL0H?t_%o&cbTEs6h69DJ!@*NS%yMkyy4@D@i7a zCTS4b3Xe_(cvGU1Bu9(rA(NeTwL(Pc0x@SF>8>(1@htBZ`LKZjWxEr7;jWibVN@s; zW*B7p9&7TEwxmtfhX;qI54brj;U5)5^gF2!lDT=E{20uxV#zH5Rtwu7sIy_I@cWz5 z^=hu3&*jo=6zc&cOh${cPY<9+A2oK8yS3D|v$fL{<%y1RMStAq_D#4Vl(GF*o) zIUoBQ5}0(|DuLIAR&!~&3_lERGBi=kVv>a-OKzFfSE>079m3EFI79F4L8E!+APYoJUF*?82-uXN^i2IjsS6ep`)4kK6t z$i{-fZ<}}n|B@q~igV^VRq7f+NB2!PP4|@vbYDK~?e(Dh^ZH6@{)(b+FBv1T!B{_s zaUp4=yXC`{yRiO4W4&B=eolVOvGC#*%LjpB`P5TVW(iEIA6Ckhx)F_=Pew{X@`$Y# zA3a6^y(nv-9J&3w@s2Cj>mBPVp%m{}n{4`#%?VP!eAs<`$mRsQ6iH;$wH+B-(B7c8 zZ20z54P#w9=j`cog0WP}?71stUsKy%<-SE(K0|C{B0zNPPi8|&2{V5yVPAKLOVHQy ztLBoY;?yGVH-(9EKDTAa4WyE1si3T|4#aMqujK1F z3m7JaaU*`7v9Ok3*GZCaR?Hv?943>sTu$?h)k$Z~=H9T?sw6PeTEn@*1p?uQaG7I5 z4XoQ@ajJodSJCMoE#DHlabtmA6nppGCc=uFIWp2Lv)?z=EB02hPTWkh*;|p1w9|Ek zRhmZ8vf9k<|q<7=ZfSZGDC7VM`18b3WGC;Qf~9sXfdsc#i2Eg*0ZEJGNkX6 zfAaJ{LJ0+M5lRsG{VL~SP7)~ju&Antzj=S@Ubp)sL3&(L?X@9_!csv|xHZ#J%vUK% zhWJC_>5%hLR%pnyt@{@2PjN@XbN4JMHz?In|GxRjv28rf~2Egw1q4ie%X6KKCB18 zyG<##K2YGa7jx;H83#q%AWSP7>Xgvt*tLz-{)$&CA66|5;<{SPT1}Ho#TH@g9;Jc} zQ7Ujj_cTo`N92)<`m`h{M5aq{g5*d#+#gRDSxmkJW67R)Gmklu`P3uDJ)5{_|&`7aYG`8<5>+2hukO$E_(C{r3 z4Iew9Rpco5Cx1H3RD!oo&h`faT#!lsztGwlt-gDI3eBoOt0TNo1--{CkODv1fqngI zq#J@N`r#ExFZUP5G+LDQ;^CO@@(S;7`AFM9Z&F_8HNJUVNC`2+Dmo$6_6UhAAjtMwM) zBCz>NH5-JQ)U!Ms_&tzhjX`==!XT#lez zH!(Wi7`}NXPY60tACsf5hw0o!?Gq$fNM5Ly3sP_8=a@Gn?o)*^&bvz)kfVmyE`}8L z_zz>d2DQJK`LcFJcvis3;SY@ARYMcwGHCTJ#_Rq^{%fxuQN{+RCmTbDInGG10Eoh9?@+7Krpg@Xjn-{N-%eV|HHuIfDF@)0uwe>PJHwmFvG1RMmb%Qubf%{J0vbmq(rZ* zNzO0kxhv)ur>^`M&!Z6!Yasd9AoodFrK|Lkv$+E=?d5hx#}k{B5{`*d@{|mtL;$9& ziE@};Vb`hQO)ZnpEEb^fC{}EwC|2^@EEj9xe$z@CdYX`v54*{j>Ni;R(Qh)*xXYwC z8y$z$a>A)_Vx%11Ul*Iy!*%ef5fiWqwrHh%Br|xXl9=BF@LXD$Ta*xHPzkx~u-SMy z(s~D)V?)1$^x4&}HP<+^EelF8pIwbJ8~O?nd3UG5ntyECxZ1T*K9V+GsEwFM8_QjJ zC4@36A?s0ihdRuJXcTY$eOf5}b7l z-LS{N-z76n-_3gF+hb62QO3kUF4%}>TL!bbNlJ;eg?!k(p3ET6QcCSU@vsDIj~oY` zk?k(Lv=aW}vgWEL`_YeZ2fxNQlt}C(AW~m<>SmXvPra3F{{IlJwAxQV0hkiy!xVr9 zjhbi>c*5E(Kjv73KokolO;{ecDJhdJg3#|$%3=I6*I$!X5(0wubsoT)rv)ozO3I!c z^7E+$tyjx;OSd(;#;PK7OkXQ-hs=;g_$6(MWmILRJt}^?Pu}oJTeFJC%xuNjSR zimlE4(MY59i&CD83x!nz>w{jsH4;cePBz@qjTKriDywKr)u^MP74nLtvABu17A
2v91;WTIC#RtC&)J32vA6~!EJPzjdkFof7cXb!~W!#p1N zJ))v0J)SfXMVYo&?cRRl;O?D!uf1W1E0q$YT}qG>HK^i8Ot$YzlFi*-#lb&N9GuY% z$27boODr7OKUC3Wc}PI9&UC^EIbm6k#f=)<)y|WIQ!|&y8{|d%Nb*o#nNKjhe^SNB zd*sKUamok*IK?70Bw@MgC`_bG?hR7-BcmL8iez3TL2=%eP#y)(ZM>-`%|p}*VqXJ+ z$_2$)_?Dhr88Z^yg%7*_$cH`A3)5dTrjN9~lw9Hx(pSY_s1h7^!Uw@A7UN0jbB>Ev z8Mq|9)p<$vLV>n={sE`!rLve;wN${IP9_9Q5>v|;-_`eIG*WA?DKQYrFjb9F(`mk0W&@<)1k2&<&eS=5r5p=UeB_zvGv@LL3 zQDJK(cPtvNa?SBR<(f4E+8plnKGJ%1@(N2xdNS2QctX1Yje0-r?+ZO`-C(0Vc2tC5 zIUM@BIw1HrshdCG-7Fs|>FNZPhjerIF@(@U#UsZ`@z}RV0}apkDk%d|%~$JkStN&u zQ}=1V-%PB2&{>raV--<7(z-78d+T)_7$h7k#_Awk!(claJuj&OLqpcP05UhFs?W2$ z4kbiVhF0blEL>`Sr1`!exDw1Ahj70(%YZl#nh%+8s~GsUO4t{mhT*2Mr0Pb*T4CLx z5R7M~0z~Q#og2!SS4F2J=d?l+@mS4A=p~|L@?my^i6Y!pE=NHn-ab^1!?A>Rp@mD! z%SBO8T2`5g#U`fK;qJC!xkO6J9&g!V+7e~lF7p=@2~jIy&ww^0&tFg&Vs{GTJ9?Xq zaNrF&$KoXCsuTt_<)kp=@cC(oA~ulJ{CTG4h(i_~wkpuohp+#xFplyJ;;>j!c=8Pt z9#x==0=yZplB929+k(bxjO!hbI=)C)l8tpg=@nL8ET^?14?gzveOsYT49gX?2~_z= z>EAoGO`RD7@)+P)V~{%q+{!C9DLsmfL>SbDjl~rNC!?|EjY_!c zTw;C{YfR9KvD%%Hhosm4m_nwCN=#2Fdz5^?wk*Xp`s6Xpo%iIepaO&PfPvn;t`SJM zi6mhb#psL!fUIi5HSCp{EqMnV4^326KGFq1++Xci-mr9*VcaD;#YA+9={CwRWek*r zo!Ns*I4W_}CsMT5GkSIuFRsOGpoy-(>&^;*mzkHyH!6wBrmg@~#b z{OC}#jk4H6B#oG$8u?UE_@;{!NrU51d|249!IkaoBmp2b7gc0!C6+}>0`fbRirsuTZX?936=BSX?k_Z zRAX{N-ouu|vT_^7NPTu}W^i0iN>$8+J=ez9&}5>J^07f4>@^X7O!-NgTy6y_4q1ze zlI3p zhEv;DAHseN%hgExCuP07Z***Q=8#>Qbf7+cus%LoJFhl7-SC^1YLX*U3)f@TluTgl zT7-`_T}LM`53GIB+Ou|dcX8sig=&^_MOtx0|3GfD=ZtRBM|b&lQ!{S4e3%=8f%!YD zSymGH6*AcduA*^BOwoLC70_a>c@R@E&|}5$6gk7tpl_b8u9}(UVdiIQl+eXa=*c20 z+^>IjS!wZ>yf|x63TJ*w;Kg7hR`mz-;*|skzLeGLLk-_9YLIttQgKxcdkX5R?-}(Q z9sSlo{d)!VJ$Z4WPGm!wiyij#pekQ3(9tC2o#Lb_Rdc=$3f56Md|F5Kviv$N$x>3M zCHKH=S`xcoOj_=Mg(pIK+WGd1v5BGj*p5++C5yEm_=c#axG(Z=+Ft*mHna@Ar*(Du ziXGcL+ad@`4HpDztbK_v_bp?plcb}iGJfT{ckQ79(wBuxB4kTa^r|44D$vB^3{uBV z1wUE*T`M{(u*5-2)|1D3MSeX)b0XfQQ6S)NWc9@cXM;}RpAaf|N&z4CS&Ft^DG(@| z$yldDE%!d4ocY^&GP=^$v-ToshsBBpz8U)Qn^`}u(`Ft^KSGUugqru`V}sCIE3H;p z-fOK6=e>BE!>y`@^FDl(!7Zc@VTV419q+?4y_%ECY8=kHE>u(5bcy{mJ+l(#j*YVp71Q^E|EHy02kimQm+0+0}m<(x3(iK#9pv(q7-XJ~#~SjO%C zwy^AJnokPd+FmMiy6<=iM1u6i_N5A$9Q3|j)3V$?CLjIVtnsk-@{v{mSLYS9w##3= zEH!xge1#EUBrwK}06uzI0p&=!(?8HuHEvH!kaf~E5!WD z4cg<`l|d!6hc|CDXu_M-r`x&|DVyHYNP&fQ1H|!^7uJ?c1-C2py6ax@_xj}G%!c0; zqPYEz%PKR&6=7;QNzY0f&l{V5n{ghBiNMBUEO=;Ga!xKKn3Jt$!YKnKj@PT$R|Mk2 z1#wb;VsRpl=b-4Z53ngH!kz-XC`Jzkf>^>eR6$*2Fk3B9kwKS&1hz@j73k}^y!kSn z!GcUaEIEc+?>44VXrNfCC=RhP#W`JANI2z+!>*K%eHm5{ieGbl4_A*`ORYgI`%7bq z<$0kMkEPk5j|1Xj6Lmp2-`_&TS|m%#;#h znn#3h55jJ*)Mn>-q9uaQy1#A+N$X26_LLHXru7Pe6trd_=9R)~xXCh1k;Ff`B;+F< zCH?Iv33*J2TaK@mNJey1+DjT^5JRUJ0P|N`MRjhQ}wA zfLthgJ9`T@pi4-SZ&Ov0MkvWV;*xf{kG+LL8k5%fgizn|JOVl!P>o{3tm#50sos*vR1* zmesiicbs#P=Ew_l+2L6;7Jq9@xmkng+!+C7BS}e9u1HCv+rF;!I2@!0KBu{tyl6+n z;Km8W@=u1rNJ}QGk0Wl|JRFEPFY=nU6?ncIt}=+Ui8Z0+);cU$DI>}mzMZ}^@N?`+ z$`N`w^QGtR7^%D9ivcemcFu}Af1vHbW>q8_M(HUoduod7X6ipp7Vm1^kycuFqW{T# zkE+tjQm>U78(m6`9Auo`Mawm2GKXXpkNr8t!(=5qmuyL!J#PB>N6KkyNSNEx8s>jp zAdwBvZ48aFA*|G5yFILLGBY!(5K*cg*8i?aCU=`E#M}C^fQ3PLo%fD>#7hxc$D2&D z{LR=UiokZDA|OQ6Gay(lO-YlO20gw~X_m88?56hWT{rExxg$wS>5zt@Re3t+DXG6A zdh6ki7WF$8mm$HRVR>(rl>M}qacJ@_+W-V3!Q>mW2*ZFOJgF=KR<0gCMM7lP>LKlO zh*&+DZ#z9fpUa2E2dVL~L2CJd_=H~WJ17O#5lR6ImnfvSs9L9)0O#5hI5R%0a7|;T zW^Xu1_FQe>p&IMjJk);`Y$Jgkuy!4C*FK1-VT%t+c;GW}5q#G*ui$l84r zF^B9bmg`*(@?mm7v9GX($W$VSjK@bt@0y*G{WxQ@#PH1d%M8Pvwzy318R1tl7%Z)r zwovg-BO{xb@WsR%ixIHZ!o;iPh(gPKCA6(TFN!ls+tyR*Ra^fiUK!eQ9mXTCDmj!x6^OY(C1-27E} z<5FHeu1_BtA37{|K-hpXS2?0GeuTz`fqhcW;4s(R28R-7@`@02O7+UO)#0JF@{`DO zxUpG)?4Nu|EFbC2U0sF0ptJxbz~$Xaz+FotK#R)?+_ij`RnXHB&Nl&-0^YsWfOn6$ zM{^d%HC6Zgnp%VX;(N8>u(R$7bOT0P^WBz1FQ{soDlqw-;fgF0WJJeN*P5>Wbzo=Fsy z(j$Xg=@Hz=0=%MAR3#W0CP?(f`S9T0+{KNaKgj&X5;;Rl{dt}YRnBtNqP3K1m?1ikjN%C~REwN^1V$i9}3bP?d|qAcdP2yopk<9Clw92~dTpzI>Rvn7>Eb1jrE zO8}+oaqwSOy7r#kqlF1O7gs4VCBW)T32>Z;el-H3!6ki)=>y~2omPd3ZSxa9zhper zqO!O)8trvm2&#O3itcv5A!Cg2-v|MpeSH&Um0<|%ms%W`+UT-r#aC)27k8;V= z-ZEI%?*0btz@d;2$sn;ux%5ZGWeVg#fDO7Crz>yJt9@xM4%O)=M}rb{tqKOS9e_CI3Df{ zI8|ibPXAvcn@;zXwO<~j_yYq&ig8T%=^n*Eqvd0RBtDqj4Z|mZlIm4KnBVJalc=#y zS_*%))7(+QSG9+M#1IJbmn~M5nj|;n%Ey^$gK-sCkIir7JG=!8*E@mTLLaSLwn9U0 zf&Mjland#%JFP!zo_r_NHD5M*h?B>NWSD!7)HCo_zv1CmxUJ7l31KtQngamd61QA4xd)4(UVUG^hgSl z>3W0Vq3aFY1o~xERVl7$;(Ek=4O`I=C{}zN|A>!S`YFZ#vFrwF1tcYE1&jy$rN@}C zj^w+6CFFIXDUVjjR`+h8f|GQhgkKnX>JgpYdu~l%4h?s>$y1`T3qCS2Cf5V-U@03? zp7=WL_v+6@x!eiu-6aQ|vFC?&oOLYih&@!aGxd;nAbw&L1KKv{wtGl_!58_O@4m@L z+IH_(Ugw>a;u%4u!WOww@vNlttt*bSE=f*C3F#5#^9&MuS~Wc+DQ6p>N{OYs*2zFc zubvRzdzM{7pxa4-1XcX@-{k#!m+Tw&+2ESCai2aQY@wu`ACNc z4a)~lNtq}#Ex%JKdlc_9*=~swU(|U_ic>=lU`W^<(SN88Sk=kJjMa| zJ=b3OFp;2w(?<44D;t0%B+EC1cTW=DLh}SGJmXd-ZmkDFC`VWsF8zA0)ss2Le!;K8 zvp`dLbTWfCN3tY|-Vxqxl(mO9Lh(9SWPQ)2+ijFf(PN-C{Wj*R_xTaATrEFm$D@c-Ke$;`4)<2c7~(mF7V z%8eVw4{06qSuw@k;*CVZgSga#n~ z2LdKpx!9tLUiWez1QUTfovx(HZ}W?&JS24ZVB(&sAGC{-3tBw$}zY>0h0LxDt5oHQcN7`UMkJ)8H01$DKG^2`s-!#0_}n5}6ZMt|@ZV~f>il`r)DZG0>4^0aeF#wgH_&_j955`s%pIUng7cFP^#{7wU4Q;gY2i@`j=&x1A;DHwsLWhLecGqB!-FsgM#thvmbbnn)^C zWxsSdVZS0g6wT74ycJCl@vOKq~q6jbRgjjTD85!UQ69jIXb~{}@mL zzhM9{29)V)dDp}|o%doo56443(ou6+% zNBF8CZjZ>@V>1;_M6aR#QkWrwQ$9AxVRYklNO|o&)bF&m5ExrPmQMRrj*0A-wfcTp z$2Nv{PEAetnd9B}!2qc(^07fS9BuqfSOutEbRgQV&l1HePi$H1pR6nAj;D8OqvLXY zPJMW5ZP!Tc(8R2U5cE15S%Giqe5j{3-JF;m8?NnZKxG$?UHzcsh7HU4-K!AL;3{pPolYo*i{$0nc&#hK~vPNV`fe4pkh*VNNAP zR7?r6k%1L^h4E4x<}4xI#J=1hQ9Rq+DZx$)ePx`PAyNoBN~;8dj*D=KCjPPl6rh(aBiP=)KRAIw= z=HLAmyt3SskCcD+JH~5V2wKvy`*@1OpjI4T%^1#{>$o5v#b+I;_7i~;+L zb=*RxiPp3r2e;*SXc4o5e56_7#TH1#%HV;UAN9<-GqGT zs*h>i(K;&-{jY=oqW?qlE1srQanb(~zN-K2_USIe+_U4~gP0h6@{wlmKQ%G+=y=6p z4Wc-{)zyj9K4E6!?#B4&bVDD_ktYdUaTNa?$G;?q$M7o@C)*JYnxh0*U@8M=hd%g} zF&&3txF|w_312GkwgR{jq#jUp;ZdBgiNxAB#8XY&ad1;(W_D`aGCM3UaZ9cD1qV}& z8M%H>ZaLVRZb=B?w)Y}`wBUWn-!C}$iZw;9?(Ql^NdmihJRmK^vkMO1@7VH@=EScl z@%h&PSvWxnF()b^pA)}jTo!X;3F&jwpl!NCWR z2sT+h(gg?q?hV<&K~Redl#m{k__xl6lwfWIzpr3FmRu&S;4J6ZmtTull_4qS`x5d3 zQEjHhMG9Gw%cS58BKg=bK=K=g?7yvnN$($B=_mUk0yT+qQ6gmAU5@248F?{19T}NV z$Ju z-E5HEC&%MpklMXBG8v|*w3gGgTJCZ0F=IXyv$l@KS=;7K&QRi)I<|+p?=6U*pBE?Mj7CML zSG98H7y5l)fnF46oj%_dOd6rt{QWWdoT!t0q!SR&)e3z(WzH)al>pLI0`5W>0j9gM z0^fT6X={lRwUJD0motFpBYT`gNrIlBB3tBDX$u{59C@@7`(59mDZMv)KGNE+}K zZ@}gh2Q4Al%Af&nHpt-CS6HEUNaAofW^9j7Wmc%@8l}&YOF3aJM=IcND*bx!QWb`% zn8IN5;r2I-hqe4_k@Q%cu^5d>^?54A<>a;Ex&!>~f;4#*vABwKuherT{$$5~O5po_ z1#ylrD{+bwar$1-V<%lH^M@qo{ zm@!u57?zNvgwTYK7-Vnl={foHZ=!Trb5?>}`&Hg;Y+@f2JUQVP2ewqZo=F<&Waf^A8p1 zMe+Z-$N$iKTs~5df5~b*(#q^b3CXn#@cx$u*|Wzhea3l=u+~J9werNI$K%}pALmqldr6Uj=5F|JHXo?`1N^lBF^Ygbktwlb(^3wIzC^Z7sY9G#N69X zcd66QNE2;x__9MgpG35*EabydQV`GL)$wAyD%H-yGKxD}dqU))VuLK1aL zHMt%rOyq`vg1{CjHFrOI9P|k<+bIRYDawyuf^QV?V#*r)dc7Z+$dBDi`D3>_@{w}c z*SQ$7wNeR*z!1Z!N#G03WnXY)Lu+L2QQm0sN~v+9^Oi+6N=TNX*r}R9=7)nqq)g$r zIAxsG4BpIBNph=zU?Co(B6c>+2J~j+oTH;DyYB>|1mSeHdy+<3np_qv;7H5)< zR-@O@R^o)k6q~RZ#J3d0nHOVmBF@lObjGfhUnA&f^2r5yQOw9UHFS@tm&=pJah6v9 zDOW)GNNM#KS$#5@&3&xq+^SzfGbCAyywZdZz!70frog|kQpr}__ z8wy)eLS8SBDBhI@xquLy;_vpF*gc`9ryBER2(APr=$TbzI$m-^Rwp`sg;DDc!6|qT z$z^MgpV%3Jx#~xCyUS5+QzbXl3WNU2$A*Dll_sO!7gz@b5=C*Q-fo2nTtxIVv&ASu zQ9egtW3B)}=8b<*_QrzG^k)nfq8##J>G`mCqjgy41lq&(Q5qN@r9nUn3EW~d!e&gd zP*1})Tiq%Zo_bd*SlmPfL6o(4aL_oVue3b2gmMJA$NGVAN_9}Sz0!C0{e`04f9?iE zJ}i$1nG7nWUa{Ha8&rM82FHugv<`Akv<|kH8B6<(+avAe;S`L!wk7yR0cTv@?cm2< zR}Dxm3buOG0axzTREB5Ahfb`qkr8GkRQxVSI9{@F3@1H~(t+dgkA~rd<%0A`$+Yk1 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

GK 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®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�Jj~&0qn%V5O{r^s&)mEchMO(f3}PD+QtxUzyTr4JdNR7tNBEW*pirIlVj!zHBP8?s25b_q%Jn?(R8-7FPj9pTAFU|6DW zTdj$d4>jh?P-F7P(&RQ5=fVCuOVQVL_Nba`7HvulVvxzmQv&0#X{B>__Yy7^YOZxS z5?y25@o*v#Ser(ac<0>_BAJyWV~NgH_XwgrOhbEN+x9Ww$j;c9)d!<{r(!TTHxW5k zV#GGftu6L#6zH9-*h)%+OhN{k^>w`I&PM4Xbb7_UFGv?AB*v`*sbSKry#V~g1iZBZ z4*x4<;FK%T;|jQyXva#(NPD(YETbBT*%AzLU4hZ4 z+&fexl3jt1*wLP?6JyK4 z_WAjuNS~jd?1joNSyW{(=yNdW^8zEQd|K*ofa!36*>cFhp>ip}IZ5Rgxd6-R@C%Yj zE+`au&7vK?IWJRzOoxL^rXg*?~*0uaR5 z$EEiUr=1Rm0_`}2Tc_#pgFIFDI8kI{{&AwnG8r|-v-HijsKALk%@Fc`Y-V0xFE^x881Yz8LA(bf9_K%P z+Qj>Qj`2KRR5?=icu}PyL$YF%a151A%fjBg7z9lB8DRD9d}CWJ__=Ux~G1 zOa+(H3F@RlsDF4VaacJ7fgs5Ur8q&7Q8$YdONTIJ;{qD^dbX@QHOwB3*(-uU_ze(T zImJ`o<{cB~2?4=b1Eg?Pu^`ZyqC{(vyVOeFFI)3y#*Q}CR@pkFT+SWY`*be#E)p_z z@I{h5b}c{V)>ek87qfHMA=@R*ZL~7;reAg#b})IgWQ+K5y_vEK+`v&;H4zv!Hu z1t|{}G}5iX!dt@v6w-9-CrVU20#q95RX2U4FR4KP(76E=om=g99Bjv2BBCtHTq4d# zC5`?x*}UnP5{McR&Hgw6_5Ov^S#F*Zj#x*>KXkaE9Rm(?Tm)dbJ>x_~l~mc&$2eaJ z%h8BYK&LSorP?5AyD1;v!<9FB8Gf7yu-O3ruZM0=&bpOw)I5?RFX$g7BJ91CQmmNY zZM!wSvl&O5<7@rZzWUbkNbdOi^CrXiSaXQ&B_d8jdWj^Aeb0Yz34c~Ii=Wf~|9nR5 zUCcAIaR3fniV$$g&)6>E<`2qz!-+8;tFM7HOImmQlXS2}$DQMRp=5GWkME732n+6M zfjO_P-#0NguI1&~1FV8-5xL__yIRCl!?eC)vS+5-nFCd0n+=yEdnaaQ=hBL=@qo>g zI8AhH9a<}#JGHQRt5|ktHl4L)WZRTh*rp`O0~#)yMfLsN{hGTanj&G0x?}owN>`f% zUHwa3O%XlVKV};TNsHmD_bh;qcIM`0Y^9wQZ>==5D8F~6vtO_OPaQy`>B;&1Q~K8w z+Yl^Ar%i|f<238WeCcJEFRt&(E786rn;1<&KH=Zjo!B>SCbM;5tSSv^1y~H`pWU53 z_w1YDQ!x4-vq}nI4IZT=(SrR}Ew&$+o0yjE3dm%#f~+)}RR0N3HHvy`c23_glHK>p z+>JEVLbOXZJFhi)b=p-sE_?#z%g*aYw_S4`ziz(aLbNu^hbL$Q#k9g+gK}>+E9Soz za#Va{eP8bm@0p+MsJhBqKTSWyZh;9fKa1m7MF!)s?yP-oM>}MldncynXOc7Ib$ZO& z@YG|*SBxAO+rkFWb@;%hrU|%bR{v#xIrZ5WoVt1BRP8?OpOBP_4J|Urva|ek%-Xa; zvRC^fGLwF30b=BU`~kPI!f^rdyEZ4U zp1tCkr|J<@2-#}32|c}MYMLKxH=KG`-fG~#J;UuZGo_sg|C4rDQY>BJhBY4-azjqT0c9yd8-f9>wyuY_Zc{D4EJ3}G8y z(|h*J&&+hSpd4ZD(g}C}$eGdWXBG_A5kDYL+B|ap=8+5XzTRWC)wd|^gK(svZGvAX z!$)M2@-eP;l1+}nx}*gk5FW_cWyCXz4JV+G? zcE*vDg;TIj_8w>^B-`KUyXe5`aS?;%L5Nn^?HLxghc3IvZLs;%rULVwFTi6?J}5?i z)!f7!ADFeP2w?0;40aA-knRTqx+{V5W>l6X9f=B!7n_uwrw0IRY|*Kx+3w!?$pwd^ zW;OnJeLblmvMFWsnaL>)lC%3&1*=Rspq0qZzV56|&s52D>@QUk{ES(@(5W-Kr@Ekz_? zXHtWQs)gMY4r73ydHR7fHR;p=p)g4j7Bi@nn3>o&!K^7&FAU>#jfv%T5YURHe8#QmGMTYs zcBN<_C;6nwOsmh+8OtOVmFEnTIxRk5^?)WlcFIfebVI<-sc@PdIWXB#O)AM72QrbE z3La34`eloJqbhc8en3pLy1lGsZ%s%SH&)OJ9poVDru|W3Xu?>E>$IkNT^P4c~{F<>^6`pJ{_9!PVbIfKfh01 zwNG2Q-I1NS|25;@Y05rF4!HH^Z6lYD&&?f}z4W~E#vNg=5G3k(a+BHf3dfl}Z@&aP zuRCS`9<^gZT|oq~$Cj{LZl39iDT*}QuG}@61olYS)u8Sgx#zylj8;O@u|d3;b8|C_ zB)Y$Z3{~fKz%NaAc5Mkteh%>5EA9N>GZis+?cxaB__X|4K5gdOCFQ1M^M&6Jx1)rH zb=HVz2z{4LqQ<&T-(ATUDvZ?49cI1?q1k-Sk@#P*Qj%i7T+GO|FeB82zH4i>eR+Tr zd;2NQfdv$~D=}t{>1ixtA+Mq^=T653$r)!d>pU|zd!T4lWKPQ=<4R)tJ5xGP>e)za z%hXk^*Ie*~^D`CCNkgbeNX|QUuY}mFj%5LlV0q>>orw$2zu<{?HDbv>r$^2-N@o@)FzpXNpuTl65jbRg zIGq|I-ZZ7DpRFlrum~eM3-vt*bfwVFnR%Vh#V`0LLS|-@BFfIN+Bs4VSOUzvk>sAh zWT!L$q)c{7`(35y{%1QQ_@3>L{(`Et9(JaG*Q0cY42P&?c#~)*WGaE+WpW-lVDpfXl zxLg_kH=tOCE{qQ`G;T!mP=0;4TL$yc50^RkUM4X~{S^Eg!t%wxl$H2CLdT!!d#RdKMgRjjXt z^_O$lcv0gwA`KYfU~L~&h_t*y+T{hlLAotHF-(TRj(}9E)ZeZ0n`!K4RNKdz#`Q5h z9&BWe>xKW|p^*i*+&sO9YM4n5*h$TUcUoimk~l!)OQNwZsqk!9!H#HUPmQ@w^3>wahP&>T9lE8~Dngo7Lro{&Al zOX?BfE}BPpDSAY>>wb_C{=Xy%5&pjJwr8-(8>eLUV(G9%1bUE5e${AglxEVTJWk)f6H{^&f~b zQT+#EA6I{V!DL&0R6~QSlF*3v4xI*3U2=$v96#^cFI)o5hkTlTX%hb*CQJRH*o0gB zh7%fai>oS4ZIK|)@(L%J>DqG8m@N-hWpg+VJaHU&J}u?!#Iq5wbR6JsP4K&F_yvvw z?Cu1+r-BW~DK#Dw1mnR+!*K>184uj9gT>rZMZq6Q5cWm>NJ?^qjiTUl&Zf+Kt^Nb< z@d=llUEq4+D~X?)bofl}{vl=C1%gOP{g1_gg!adhj^nCu_=*u&Mp6fv0S9EnW83Uc z7OHkcc8?SnAadRk#5nAj5M8g5a-wS<3{ZAwb7d!q$k`SS&@b%@W z03y2$Ad<`r#3q@S#7Wl}_b-!i*9+544~0neu0xZXTCZdDithWfMB~pyBf9TfP4_iH zk#-M&roVuWeM^UStCrMg&sHVX;A@nIfn9_|{XLqcBI2t_=&wqQ7(~Cj(B`cX0WM=G zxHvo}O}LHOOZs#TYW$zZ?6jf=6ll$AG-mg-%8(F1#gH)M*kn#v$2Z?|-~JckMeP5D zct!3$>{#1`X5&|n_H7!^CrH2PFIHtr_6HA$uZa?w;A^795lQr3>y*~(kFHWQqHto9 zsoN(Yif!dyn!It!^)E#LXZ}l3XX^~=>w-Fs7%UoFsoSR?O6sX_g!*44>VH*GKQ^e- z2=!=er9Q&z+s|DvZO)cTApy6)7D4VD{I$5@Aq3_I;}&D?yVXI>TzN1?K<5Pm&?7ZD zIx$cZrxin;5US9KDuLRnihX9MG*lt_*F^y5{u1Xlx~Jd%UIS_6PURzZC)e^KV5x{PT>UP9xN#v5orBBME;e zWNuskT_N|`L77G*lA~bhd7C!Zu3N-fy$% zWed{AeOw1WcXzw#G~AdkQm10!A5usClZ+gTZdXPx4mQ$@uJf>iL`~A@AF-oz|INOK z9V-t1EM6q+e-JW%V+zJXbW`UOPR(~%Vyr1;a za0ZoIm2feXr4Bc@q8+y?WEpU)bv%L*d&mdlS5I?s7W1n&F4wOlLg7?;bECznbb|N? z>s8-Q{q(PeS3N5_aj=n2bd8txsv~zup8>b}u9)Fg-xaf%2kvoZ*{w<-YB}7h6B5yg zTS0-wEYb4a>R&{Ik?~&=4czJ;XHdCS2^XsjslUywXveJzSq9wdC_9$_aQtf8+Df*kVC*bqlcBWbqD`OFYU_fuH$yafG>Yf-0Azo_`ouOlVqOe%Z zoU*)_!HIPoentnXaz?fj0@DZV5A6Nl(>U>#k*9R01g)2&R66LW&TgG^vZF()4$6^b zlW)wie_hluT*tY2W}0J4V>*&C^31FC@X>|mUwHmq=_pg%S&@6v$%&m3wLB7b;9L)$ zMmUR~`kYnTqqp~!fR;8EyY@d`ZR|LVPLg--IGj$3dgCq0cUzkAUhjdW1M2AQDmk{^ zyRQzZ9Y?@ZF~tuL3EcT7ohL!n)GWoT^^T>LLC2!#&RFRV+yG@BTwzpsXJ})LQPvpK zoV8hYEV|c@h>H1jEJMBDnUv8u0LcUjaTY{?0fZ= z!JBLz{N1q*lj}k+KYZ~DNj~T@TPzxcrZhFgha92_`2HFdwYN?@XMj@?^+xC1pu@TC zR!)2~*klQa1)NsuT8KVEHzc_j8(oHXB9{+ibKxL_v#HPJ-Z-8w`6ZJql3e<)wD^g0 zhuq$q*vp~2=mgyt(8Z;D(&5o+E?~zKXJtOlg<{6dek=o350Gp$2s`?*hI@}*8{4M6ll3#lVgFEl;>KpaJC1{y zmQeYTpPKoCG3$Lu9;Z9dzo>ut_G@q8yJBA!oCs+L-3j4vMkwyfe#HsdyYMaR_r1cW zO%e@?PJo2K+Q%Qe+N6<;-*$82oKhiOt#vZoSKuo9*PP6Q{k1-e(`AKL_{RyJyB2?* z+2-u^EBa%JrK<+c1%J(0mc5FVvHqb`4~>@#4<8+%^Q54|qa8^5P3NABsz*Vb4b7QN zvGn$F2$me|4@C#>2omg5z~P@N4%e5>nFHVAvR-M-d5h3%I-$=IK(I-EhXY0l}R9yGJ#7g4&7e8HD`^<(4q zYZLX9X7k9y7+5l34D4N~VzPIPmM_y;j^p}AT+>a(#LPpzN2o<%-WJ>^q_Ddg?%Igo zp&$9-relsvFYx7SGyoKkEJtF6BMs91mN6mUn(6%z>)wkE%l@6rbV+2#EkR#De6a=k zC%Pof_}cq>e7(XU!x_$_l1z?M4`D;DmN?hbf&$5{;L51iczJ(?O4U>pnylJ6alWyV zzdqT*t0w<1`~FLP8@?^;=D%ehc{=v_?s&9Mr)c0 ztYp`6E3C!A%Wtsm472EmZ)PLL6=4?hC?9fbNLIxW=u(4Z|1)<^LL##ol9uWDk?(pr zlI^281d22eS&=G3_uX8ix0Q(MZ7XfBC zOi>NzjARhUsROL65wCHYmJiB)%H}gBZu8rtcl0BRbxULO92#xioCwhmMhI^+LT5@= zy#G#@rThre0OV#t;t;nxWDcjAV9ZWjGVfS}pks|C5Oi!(ztp^Ka4tl@BW$1_c|~xy z3-tN&3C;4d+uG^LF+0VavXW7uvy2Myf&unAl_HNFm{6@|Ber3X{S1SXP#Gh=V?>iJ ztvF0vS52~c7a9m=Ffu%tgujj&W5TAb3v*}YUkm($ZZ+b1566i|VL0zvJvjcFlp<@e zt0V(u)og&Jr%(r|QU9Uwvjgm3TdCb3Fg#@1!SIl5&io~C6M@3e%s^q7k$i+~GV1vE zWR`};D~jHrelq;KlWhOZnI=QrS~i#D2MskU^xO;Xt|nm9Pe5dM9X!UeU~{#tn|^IY zGeq5qn@}X_NB-)>%aUPz*!HofhGbrY9zSf5u_e1%qx`}x*>VUrDh&O`@1%+fV@u72 zcC7JYmuGlp>aXU-lLPixGn24qpcb<^{qWNX2>V(iGt9MH-Pj0e6UPa~36VF2eg2fP z#_dx>#v6TabVz)!cu}`Z2P^cpMv7}A!5V`}eW8>m7~bk68n^2YCJ;ko4rXW^#mi`s z4h&{HXJV@0<<27qHfZN(2u(e4RHSER>ek5#tp~pTA)h++SLr639)P&9ze=xd@T13+pJ}ZTA}UO7 zUi(IFClpapGXsXsN&e#7;ppYDo&(vRFvUow4% zWvaG;xrw+S&LC{W5#ETi6V95)pSdv~?0qqBYSfTS$%unLamaAnW*qGOCwZ@WB)m*% zeB^CvIz^aKrdTl<2p=9@{JK-lNo_?gZw!MpXc)La#)zIX7~K`v3ktg`LfXG84mxvc>*eMVRH3!-Y&3u40kVg3@3IxB|6yg@CxQ3+qr1#Ho$YEpDL8W5j@YGO; zM_ds1a^tX6DmL8P1NZJ4H%zfD+L^_n=cO)vveeeHIV;y#vN6*xq2t!>cJ9_D0B)@x z8}+=*GTb_q&$#tixV3)d8Pj#H`jEwd9HWK%86jp7Mkr=XJ6z8Pd&P{YhKw20c88=t zm!2^h2}%WH7S-Y{P9hfd4#@jw5Tu)W^=&AjLD^oTw^eeu6QJ!;zsjM zF$g-vI03O#uIV4+GbS5w$~jXvdPqO~+zHH{wP+8uC7xo=WF+-%%N<6Nf*pU~>*g!x zOht8OI27oH6EmiS;~`y>jTzIJlT9F<+W@$iewi zF(P&ZQIeoHj9C=2&rMRhfsIWA6SJJerT}SVzBoCuEAPfNA{f^g0kM=LmxJcMFs^=N z{*TxM|dM1vz%AE8LL@N4H>hXS2|?4+QXXV7-eQTCPU0}UhkB1A}Zp@ zFi2g75wje}h#X`v%yJAS2I$v0)%E<m^GUl}oL`6@ocJ>_6q~%aOlYEj6qwgEEI63M?N< zYQpT)@D+~VO-2k4YlGb`SY|4}lg+4`b@H^D@)cbdp%_W;b@7ODJBF5d!BgPou#`>{wI}kZyib}!;S1O4H z><3p#Oh+Z5AGwk^E%ijXTIWN!Kk>F=3P_CX6RTD~54Oq?(!&?U-f6 zWm;Y_aUeomKXQm~F%thj6cZ*6iNeH*V&dwsa#2jwkWox*b;#uv6Gnn!!k9%dalMlm zUQ8Go#e|_nG2v)YOc)Hsguz5H;nGF;8%(2X6cbN!_Ct#a!=jil%27-tEKeFW;V34q zNJfkg6hXj`NEs!LeUR8L%NG2pH0Ufi)|k&1_E*gEkbIn=GLkz(xZ9IM-eDw%U*WmU zS*|KFab7HF%lA3s-YwLWr;YcW!TVX_P0ky4+B&&Cr5ASfUh`Zmpw#drEwa*HhsS}k z44GeX2E_392ESh7Hx>L2-Ci+j04FO(l`k~H?-vY_K9-2}{yYyywb(O)B<6Q#u|2id zU~>W^6(&os_rBi|!qc4lzLKf&&w0TxY(6n$Dhfzr)<9A*F-l$BDpLdY5`ob}PY8lV z0a+7#l_2Sx$JGS$*yQ`F2US2Chlj!dZ%ZOS-#9E)KpO5l1NYrEuF|r#zdqXkN7D1T zE`4f#b=jPiBdgcSzeni!f~RC34h@3gP(LECta9pD~gEo)w zM~bF?{02y3>24{10RNs@v*8KS<);T|;szoowNp$tJaA zw3917=#*3=4tXW3SZ}&FLRvp^NPo;I3@Z_{gBMB}A$rgVMM(cnC{>)RsUcZ$M*UAX zBq5DwX0P-7Uv7L2ocw6|$q2LHY$CAW%t-awq>EeBU|2pj7!FJ`Onus!ujjA6eB3l= z*)X`ZH(K%y7COYu<$h`q_^DBdue5lV;znnBJ z_YRuA8h=ts42G-k_&RRfbN{1k{stv>E12XP7ALZeBY7Cb9V_xzO*sy#x>Rl)gJ|Ri zB5U2No}X$J;(pZDCqsAWhX*3={iZi4b? z^R3U3?;aSrq3bWr@|A}@_iP@yV+(iBNA&1>XVNaE z@6l7}LKy)iKbih?zIT$pTL6;UQNDS2jAebN*}`(mt9;FvGEB(C|s^S51$1xp8Q)slU* z$TQ}Pp-xokM}8i6%?Y-=SI%Tt=%X%aZNqQ~RKqzT89(9p!K|7r;{`&mG_njljpz3V z)=dnNOk}iU%yUG~GBs%+$OB3JvdC>4r;AD8OG0z~$hWOdaLpg=SueUWHRRDrnd2H| zaz02%q*Oz~S&aPg6_P7blLaCxQs;@bDmecwvoCJq{cvcfANeNUh-(+a@cJD!*fElU z5%J_Of(3{>N)3r46LBZi1e=M`7ic*&U0}1=VvK0ubDjuzakbpe7}0=EcAad}ytpP=3E`hf%=#M&T5h4|6z$;%S8^ zxVaBD)x08HQa^I4xz33VNi~K;sxh2MH3`R~vnCs<=IW$&nQDrQv4%vNF}ksr>qs7* zHCZ5VC0G6Xj?PzxDfA;p=WT9^9Gx{-MCVQitM19xkP)4?)C8A~P9sBfnp_c`cRQK& z{B?s~J}R1tPUk{&)>1@t-dv#*okl&P(@h%DRz|0}BhlHwe&qP zt>B-rL`m6YAB20v}O3(9kW;4P{+5~dnOh?zA`?_9Zf4H%~nlHENg4p&$`$y<( z&FJ*rz4{8?L)$m>kLXT~jpo*)`OgyK(K>CT3zhmR=j20L1KJ=TJyHMOsDD3l`=k5E zj2?Jk?<5}x9UaqW*vH{;Z2sE;y{JxRX7yf)SBNA_3lnLhBqL*qwDhhx(pAJJbs zro|g?SbwAV940=;iO*r;^GJ^TJj&SfXV}}H#~&>*PBQ9;^jEtH8*2>EKWtj(M~w0c zkys-VD@6HlC~weDr)qyHsAid0tBbV^WKwS`#lBike|C2B!CxaTXHtQ*QByXVM_LyO z-gJQX6FZXyYFlk{tR{d zb3t9+yj7pH-8a>Ev%YK32LD`&{FOHn=}js*Oj`i`wWG6wnbYfS{S|xWbgiD7(Q`^k z4V*ZvQoJ0}KYVL^WVLDQue!H0IWK?eq>dTuuhwJDdne@cdxf&{hUrf65&K8WU7)n^ z^Y+sPg_V+7PP2D>Ufp<)ls!?(-Xj}4TB1PU0r_ff-B7fyF!C!2uPozA5@9LgVSD9% znE;Uo`Sl_XfftJW^Oa^E==9g#(|zE+>6x))z%}VVGwl_U^`RTbOYv9RcX%rWPDvb2 zPYS$R99%VG8Q!!c-lP_^4zbQq(_yC9>RY<{C|d4bv3+3zUYFyZ80JosTWvzaoGAnhLAD(tMAo!dZnvSOy}^T@dwAB z-#?-=r7z3cORu^>?*p4&e}$}!X(w6yj&LApq31=G0F1_&R8Z}bxTK2;x^sT zU(vl^9@)lu-7R{>QqNajJ2Nw_E^;sJi8%J_iT$Y}P7r(|u~!#9b($}A-l``XqF3lH z#U)mxP*{64ukv@)8v!sr-M`|_>G_eVuHNO;Gq`)~E$TVTdRr!@Cg!wR(Y!^yyQ^J? z?#Kgz=NsAv`%r%+8xz*Oi1*ke-ad&(y7;ujJEVWK9s$({wUu6OvpkX6XJe1Qw9s-- zBGVO_)gto;c!@HKk|N&#f9R>-(?9(qC6CCC^0eq;5_HuugTf`-b;iBlO4E*uDLwm} zV!CQiNAGGk#E(sK0YWgUYdihbvdW}@8V4W>=_8l zEnPo;LbAg?ne%W_+9yg!Cz1Xt^>&kI8><10YXW^-h7SEoV#g=pC03`uMxS_9GMSZ% zO+c*`9kNkmkvFE$ctn5Qs5`+ZzCq@Ab832<=Z7LjUpoFXMdx0al+s}@t#J84)yE_` z{y|C^ZyKorIG+%W|HOdz&Kt+yEe7w=|G)3X@ek-Q0?=tk% zP}Tac(+r(Ys=5de#Od&Jzr12+UxOpO@3y6N{`B0EVFU=R8=@5 zw@u8<&37h8c69jaeOI4@*SD^{BG4D)_lk%BZ`)yi?@a31-mwRweY3F@{Vuu6-^Ev! zYu=*&GI^R$u3;L^wybfx^^SGL7B;FELhFBM?bv@z9lKvtj}%o-1*VSetq-a+!ZI2& z)#2US5e^>M5y2lyVkY~Whtf{XRnTMxQU0Hl{i2}A0bdjqf{jGDU&&-8--f2vy85OY zuiN&NTgmGa1MpGYJTrCc-EzeJ9rbe)^8GblS~aBw>=*-Kmr4tJ3O2&36ekLd4<+)y zsO-Gv=~JDV2W~phj0*k3rd8Q$gxBW}nmN`7EY3mueGb3l7G1Drq6h1H#9BjU?|NtbmBhAipk~YfZC^s05ZW4{-RNk4 zVk7MMpAx&nsWY$+wq~_s>;WPSGbuLo`&MW3)u4Yu5`%W!%&p%U|8u>PeT-lmEm}s* z{z@N>yhwVcxIvB6cvN7>bDML^URDByEADil4Z_S6Xe{N~upM8a41j(rVtbbus!1!0 z;H89rKrpB@!+-{*g`?&>i*fV$O>KLd=uqz6R&d(oLN=peftZV85J?CirlPo)5Sy{H zcehhw_%!*8MB8HH#%G=-+Du6}MV@9#y(uS!dE+=l>2A+Y0Rk#>I8alX>&-fMGe7N&E5QUADi%+J_c$fp5-;V;0Vs zO%&yvPQsdr?vem8>ObTH*fCktJQ^AGUAp0;J`yu=LE>|UXhbDZ&@8OEc3H;kJqfjn zlDMxW+-a@nx$oYTM7T*JFalxJH@i+|RN9Y{2xa@*ti8>s&G7O{A0NOzJ7J$!QSa!# zFj3-V9Z==lhE)GA7b!2331+=cY%3@=x#UAeUQ$N+sY;Zk!37njhUk$8x^u?RKmX=< zn@1+*C|_qs4%Bm0)txrJbLh?M(9I)SQ`UmC$gA)*xoj@X5xKTfAikVr;SEWT&xhoetqM~^Cb^Lg&sp zXZ@~C`h7u!$ogLpp<|OMpUk2RDd$eR6;H+KP+uP%(pQisyOaK{>r}UoJmgUc2X-mo zuvHu|%BP(}OV!qUteOhhE=ibA5+=6)qGOhY+i(UHZiB7Z+7*nErZmA-VuPW7+u1mJ z*oVe!Xq$X2S+(_^k@fjfvh|k=TmPXm$~9XF#JGnvUkPaj8?!XsWz~@5(d}POqI|g! zBKm@N8XuPVkf>3^CtyR*DP@lBi$-B@G2>rJ-WLJ1V?- z*ecMbqALAJIp+0#M*NZwe^xx$Gx@B@wfcRLFadPk|T zkl=}l4r2hR>oEe+1=OK^T4RKW9Ej1 zT#mT@s@~MZycUOIi{vP=XI6ET*fZ_I(5IVkw3Uut4xZ}1!-zRvu0$O~tG^FS25#L$Z3q@=y6Qp)?gRGM}wykza=8v2-I=wk{) zKcx`=hy!~1qN^%|S1){pu|%O*!w0T06dX2}K`s5;KlG_#0I0CE0%PX>*p0_j^#vj; z`HtYLjhQj~wk1lGV>b-itOPo>lFn^bN>BU4u-UQ6W_-&fob%2?^keNS!g?u0E9SRq zM?~wNZn+XMCY!f4mTR$B?-sQtM+2FaFSrtVc+B0IYwxah(9OvP&c|&~%0YX!!LUjz z%a(uTGB?WjU&VMi1#i@}M;Z0BVsLY<*B5?nb6 zU%NL8tG)L5x#>NV`oefPS&5NGh~BJW5S}fD>7A1m2AQ=h*spa?qYTJx#mQvKm7vgFY-1Ts>I(q^4zo_r}%@%wFH*jbjO`pE5bU zTW7qY@U+80U21)u1vRU3bP`<=FyS`)AB(5)@d)^nMT%(vXGRYfDU$fxv)TGbOw5k@ zryQFNrV@pr6%Tu>OP;4^B@k15hL|@u>J@u3+Ag|!dOxT88b$jnC%b#)6-}Y0!wg$* z+d4|ckfu_4kHLy4&iz6jvEOUt`zxk(U{Pz&oa-n~#gs6e{*gL}!n{Sh?*`lwRO9EQ z6ap{OHoVwoA}9VzVWKtNse318bPS;dp7r)D8+}(wPAk@XS7VsEzH0Jw|8Uk1n(~8S z8Ie>>xOw^~M&FMa9R*80(O675$gl$s8O9{03ZKl%^?qHylU^n0W0M_z+d-L~EY@A1 zo|d@8%-2y{Xfu1oX0DBgWT`Ffh1JSBDI09X-U%IB^SttyWGapbQ&~d%vnDusrCPda zTWR@3HUX5_5QY*9QdsLNMrpiUX#tGl6R>H4;W7Wy!Lm;u_pIJb_gVTD_OtXdkWR8Z z>$2qAi(oH9yeA~Sj8=&EXWzGYdnPAzWa|ec-qVwKcPH`w`eBNf-)mvxs)?y$pTGBhwe|k5{wJ+5*nj6wjkMPuO`3!oGjzlu zJ**YCL-ZxEG#wb!H$d58VZrjhmZk6J#DJsWR0 z6q5}oT<3!vu1~%>juXcbxLH3dbHN4NnxE?GJ3*UA?(6!wn!Wn$^q9A&Lu#?i`(&Ak zg{~*dO#73NN12(%TcW$a&JuqdbW4gt{WSxA^je8S@%LJZO^PBxJl-_y zeNaSF5tYvXS0J6&4-n#_lJjlVP8iV>{ zl0aJrWxn>=O)*)4ER?ywRu@|i%#Q15ldlFs|MWzkQU#kh{g6Jm)0(9xNJ`ykt-9B= zv;#@46-($yZTC9KfSbHdIv$g_Jk4|@aWA?)Gk#~X6Ex@rXt1D8DBR(8velX6CwT{T zZZx^X=+ylFC}2y}m|ovzsLafZHD`S)aAx1AT?{I?J}z;+OkA;ELTv)9zwUruQ_&MC z3ox%pnAIM$BoHqIyjX2hc!uT0)*yG#mefDow2deBwEW! zh+-R~w@YNJos44f{YR36{)m{wp~1awJ=@8kofAW4`-HdWos2z8FkrPE0v9Je2N`fE zwQOI&z#^(Re^728AmO$|AQr?289aHQeUO1JnoUf0NBx^jvGxpM3P2>I0HlW;v1Jjz zI2M-@3+N*WJq|J@xdw9(pqD04Dq%P+0(w&dy>$p^e?_koyLgZuP4HtCJjc_SiYG?4 z!Hfe|OGP;h+(HpO#Ql$oH2(Rcvd>Y8^efFZmLK=fz`dY>`w@Y!Ga9}syKZdyzNtxF zz@dL4;!C8ng+yBW5kne?c=vqI#2}rMI8kmDNR5&`bL0%q>;%c!MrwsGGClOKPVf=$ zNvO6I*fz_JRSrnqkVxGq)>MY?%tq9)x1_@RT6%ZTAw-gS3Yi(Vks$*xGQ@UHvuWK=XCC z#_JQU*Q?K1l0%yJWfdF5-fOZ3;4qN_C(Z;qPLxX}RcZhrbQ-hxL(kXs zR#D!&#IF%L_mp2F^mR$%U(6EwnUNBR!Y8MPd}xk1XLYZTBOjEpN^9|vxOZYU$&*Bj zLhDHqiUm8I>SHEU+A6V=P_y?<=-O-2qeO|x+plLmnuOOs?1C++bOD7Ek8oiIhCez= z7``MLi%;h`(YBDv-8-Pmro`p(NtfTxy7WG---QkV%E1%_`n^^io>=O@*n$q%R4Anm zLG)Td;F7KbC0MB;t@P}f&XRrL)AcisH2_MSL@|z|`6_B0;O{*eT^dvO9>ss!M1!g3 zMZ#sW`$VzHQ%%WG&O>RWxBpFPLo?xKuH>Y%fxnc~3h0+7+E^{456}*i`kdZ_A7p|L z!Dz=izPxBBUqs;)K~P)<1Qzm@*)R-iw-_cMvSG&CuiCD&J!W0@_B)>IImUgOh_KDg zXQxhNC*1!8UHg+{E9h!!u1jG}(cWLJb5pvaTHen*QuD?cw!JkSjFr7Jk}hY632}uk ze`UR`Q{cM&Ti!s(<3s+{*uPm1ha!tAP<&)E{y!Q;kJMH3a}&BdpB%h|K1I+t_&*fT z>k64$k=VPVi@s?{w(-@tTmQuR-tm?LGkO`oZd#cS!kmlRhHVGHlC>bihB0KY7LL7QWwS!0Wq zFzulRY*z9-UQ#?GnZO0}Xeb4zJsV)jp|E#|m?c>@CH*%g{gGu|mZkBc-d|*8!D0Rd zPULULiQXxxVh;S^2&cM1Xdb1Y)0idqIJT(-{YyXvP!Uk=UAtn>-hB}}XD8&d#UW0$ zt~d5|r#9O45BC6{*H%q33^b0A0MH=*P~p+pFy2We5cL46I3w?*QV`k;Et<8F!9|UF z8MYCz_b4$>vTc@ZjJdo^dxXf+X=j*hy@5s575lrI`&vwaMAia{t=EjyLN!9+G^g4u znXKA2+j3RPp%$({q{$7O*@%HNbvvd^C`z5BGBK$<)eX(CR-Msad?YVi^jxuIBsf_SQHyrOdb61JeKxXo_oiB?a-LjALVjFZkSFwnP%@`8JQ6>_!DFpS_!u~ zmwmv=b(51LQ0ftjQxI7j1#wG-SQs%VvjB<_XI#K?V`33Kvi64_QE+Y7nu33j77psB z4HpIir$K5aEO_at3+3o#V|LKqUurNQ1}+fw=Fo~8^Bcli zMt4Ags}oQ-Uh<*A4=<-XK;)V5^40>h*A5!_Bn6vM=u)-FIpsZ zq{TIsd!Hccq>d+udZdnDbW<)fbwGjC0fk5%A8`tcbOu=D4X~KwqPJtE&M3*orDhk5 zdE?SUZ4T_B+Po-fdy%+C-uR@;Y6I+1EIrye$OE0c3|3-s1`)6QZSR3Ph5V}in8XK% z3!HFb)|YXjUrVYKoLJ!FPIZIOyjwu0kxqB*ixh&1===c6o!`Dj;zu;CuDL|0)HRog z{;^)y@F%F*pTx4D);f_J=UxRa^u&btMA2fk6IuV4DZ(VK35i#DH~@{i03FLE4(&6s zk{aztzBlT|J{DIMQKfzaTOPp}cuX@MO-9Di# zf#M3opGNNuHZHA03bG-EK!MgbUil2cGQ0g|C<5vnq^>{B2lkurXV!ebXuyweh_x zlU=TqY;jEayGFQPK*%Fz{?*vLJRc81@)86iLmav)uMe%h^?}(rrt0o1B{*(?e|^u* z>eE*(Af_t_dbV&OP6Ymcx-sytCSd&B&6ei8gmnfCHzoNlO15_7uyrX?Y|Xk!Jiurt z&e4$eY;Iem9$s?BG8%TjT0|H&t`?Dq;&pB&hK<%;i5AO`$L1LHSn`A(F~`t*LNjaANL4Rm0YbK~GDXTH~DR);6coQU_7WOXMLRxhQxUJ!V= z8)UI%&LhejRGv+*NtV4vtYSDl*<>E((b%ywU+fTxKlJ{nhPFPC@&~qFElQ1UoV=mik(EUIVJ6MMM0LX zu%|Ta`LcY{$nW5^^h>_Bsa}giGqWO0(KcHsbC)Z#_`5$KlGj0u*?&UJ@BTb<={|q9 z^|?PJXT{o<=Ejl^yYA`w+XmGWarUrfetiQUabJk1J_a7_&{wIFuNbd1X`GV+^whml zAY5Z2x^b|PZcNIwt}GS>__d)z0wsQ~9su(ChN3kz!5(emPROL{5qVBMb>+z$g$ zBP-r#f_sK3?qHRm@w(K!>qtSe*aJ$So+O#!600lEb5u`A0C3be07ytq+mrJW4=90t zT0-Yg5L&z_%ugc|dT7Uqp`g7%e{~Df$^mck)@+H2t)ns9dN7|ixx4q)e86Kyv`ODH zqD@XltCwYqk!Bmk{F$AF6Cr4DQUV%rQlcO7(a5G&G-d{DVwdb$pF%bFyL@zn$RigN z8rEsqZ=)?Y13WJY^gKz+zyix3b!ivR03b3s0FlwTK+GB7wN7cVtUtLR18{Bc|J&ey zzGTNsULe^c_}>;?G}wp>B|Vl3{uhca!T&^t^7BDQ_2379nPUKC+RF-l(1{SxqcHu&Fh7mF zo)(QI?G5^?TbS0^bboh=imjtD+j?2S|6I`~_@67<5&R#?7F$;ELj%>I5yAhPAs>wd ze>9?+Ga&d&_7VK<5J}fBm0XWuUC2LEz@MRK ze|GPz>GjtS%%I{NPW2vs?-XVowgB}qQ6zW2OpNp)fMCR*VPtP_uj&<;$x?l>N~yEv9(ctHrcg zdNQKE^t76{&Uv78A$TmWf7NAB92N(WdB&<)(}oGtJeUxIxJtsx1J@sjOu>by0Y3IE z96nBVmSRWb{He>aL1it!Fb(+X_>9`sO9!tXDvHw6{IbI84_8)N5Z@YP{yoUgt4S{I? zS8E^c#tDBBH*UoB=yY#*7%`#YX@+lWM|0x-?(whm{A2K0^e+b38 z<8e-CgZ}7K%V^A8NOYwPaYFa-5;X*j6S}VJvOMvP;*2N0QDTKBZm9L!pvDXoo)|pB z6X_E?5fzdgb(y745NJ=q_pn=TbmZxl9&NXcZl$fll*Pf4w}=(P?OVhuc0^8cnaw?D zXOdR7^BHrp>#&!+6aFIZ(KgK}vfNw6lzw=tgo-S8zA^Pm}TMVa*jD`ASX$*ny5HaHL9U^w3lp?oW zV^R%wj;mbiMXK^U{!MctE6n-8v|g#P3zFJE*vET=wu7OsQ|r#;-s#E7X}#gFPw#Ec z@Gt)g#E70;(08oW)E(PAqE8X%J2MBS?TO5Ws%~9Am4^!}sHDp4&>}+^^&c2@aTTJ{W><%oiNDs48N|$cJ}J@vILmmlN*EUX~rh4k-Ren z%zNcqF-^KLqG_;^XiAQiPgb@);Xe2VXcOwq^MUUZU#3y-6JJ&)ndRI*7-=O?WSysn za5Qp06ADon-r9J5y#U!(+Z2iL{UXJV$ooZ#9Xf>BRSVOMnEi5(tr$2JubwI)#UCDMwT%cbBLkB#mSN*Vnd{hbf%Lfc&fJj&k?x1IY*&zi275mpcTrEV2w4w;J64< z#bhgCG^@&Ku^UiMmjOzNm5ImDQL>Lkr^&GIU}I_D4e~M{SRf8+4u!Ppo8I&xSCjY) zI7|F|E{8Xo2ELngB%=RG@(W@`F#m#BMWOL7x1#MmuN`fA#J3hpgy_bfG6c33 zv&9~&d2CEP;tGJH_~uVZlJ-KKgV5x|Ns|v3ntZU(WcBDCeFVlfx!8Oz!DDOXXB$2A z&a-`RFrKW^=b*Ye&#NU_y-bj>S(JiVEJ!-Gt5i~_J*!klDLqZ)The)vNl^scn$gj* ziJ8`T%awo6IyEY_UlLueR{oOYi!tdplXk<(_>VeYc~J4zcgujK>n(idDLK$DixU%u zUlu3qh%bM}DY5jI@&6xjZvtldRTO+DvoFaclVm0(J^BNB>^X>KjK!WZwr*>om4}@U(T)zc0z~zN9{g|GjZo{On3G=i-_{AsGRR zFR&R(e}D70MpFGviNX5ceDNiLPp$TTsg98A{ZbwC7EI$e11^)Bt7{-;gf7V!`Ly+d`3{Fadd?Z2CCb*O0Nu!1`zR?&H*;h~Pe`)j`<@h0ac1 zjv}6u=x?u(l6gm}&#h!}ClaN7o4?}i9no$3tY%e3P{QBRXR+-xaC^55Ft*53(RCzQZK%bp9x0Q+N6fG2YQ z-XMqm2b&bc%p3)IXuP1}lL~&k4n3=iWD=_K(R%@bbL5Jx!Ss;1@-aU5*xxsp-iy;NJ=qp+>u$RJ6yM6AXW$jeakw44f5VWygcY7p`WuBIMb541f=U>RZ+x?&+TiiDvehbrdRtm8-dd3lq7B;9*!Qf? zVX2N;%V(v!)u}ySYn*N!q7aAWg$$3T`ZV*ahsC1f=O$r3B?L&;eoCl&{Xc8MES=2? z&(A=I7zR4tm)~x5nh%Y)J)Z{VwuE_6Qs+CD%RyLSgbv%>;ow<9hhXMi%jV#+gh@Eg zq4#$`MGlD2;eZI8W96Gv=zZwI(94iO-+6vek9tbA~L}4qmo%8MCn@Jo=xK4n; zR86;mge!lC0MNy(*&+#VSRgP^Gmt>SE$BJ{z~7|auSrG3U?dMF%1GWy5899KpOkA& zNpa2Z8GQMwAK%eAO8?hg$;I~FHN#W;=H;HXk`UW7weK;3<^lE%w;r6Hnwh(4X6j%8 zSaZ-Yx@!*|oEY3EMcvih5tr^XUoGz_jFuZYyQ}p6xbE76vR0(PYewZlOL?VaXLrqn zJl#Aw_4v@yJeEE&GBq|PDgDQXPU>!uy)UvU!%H{uXM{Li=0e@ob_hy@-zu)!lyJ1P z_UYZ@My4Mdn;1RNnjMi>^<=Y;)Np+Hjl0~rqK9{D5mnw+)!l4&H%c13oZG3kKy}yN zn;wj}eNZcfBx@5ZrIvH4#Wq~=GcB$^H`cV4El$Gq<2}Nxx>L74ZQ=f-RYHXv+bSV` zN+HhA5Z9jr@uw$^)C{kBR4+kNf~y4+ovapu8%-zt1Tp<-Nn$Ie{APtUiPRb)wcbea z6QuN~rAcuGjB>R$ky=|w@e`!$i&QF|tC*2`;z!l^B9`9}%-f{1ZJ4deDvFpZ>d+xsd@$SmKb8;Dp z++e&*UIZx6Qja(c`Mu#mvF>VJM}NG%D>dD{@hR{71!>jo+-Kx93oY@e(8?3{QZ^c> ztUfq8w^w%1-QV6Xs(3);K1bw!Kvcmb92y78>*1^S&rI<=%|c-AUl5-QAJ@w=f3B;$ zinrh&Zy%5c$Y=H^C9S(&Zh4p+m2R8a9hF|a>cF_{lEa)~<5`J~OB3ZeX_@XiNr^r> zHM36%)$Cp-a59XwXOn^+DMHGv;e}(|FXE8`0siIUI3AU$-rQ*WrSgvvb)d@yNXCIc zw3En39j;3!_r&5$JxtZ9hs-|p{E*Z$-OYOe7Xp&7qpnvbhF%^Sa%xuykc>O%`Nl)j z-UGX9Y@<$!7Byr8zLliE^#uKfqnq7oEL z`TfoJB|Ta?6a zQsS`Gl+4Z!a1N*H?i5QeW9+HUDLH3W-+BJ1pskmYaGvTzWW7-ySe%-ic+3Y$MkH~l z@@MIx`d9m-vd?r<9;vpM2zDBO_eu-0+xuRTf#eP{e1ic~di4xMc6K)$cr;Yd-FV

l$Kn*XT-%&^7K8CQ#CS!UTyfVWM-4%w}eG>+9D&hk(N*i1cplxJT3n8B&~V!NRlW(Ot5phLd0jIZZ0aR zU=}_bmHnWErs@ExfGsGnz;IV8U=9)rCa4k3uL^oC}~uCzo`+cc8Fwmoy&zp_Pe=hc3R84Sjb`=FP1vV#zFRG zuaiP3dSRm2>TcTClAWGck#{GWG5KKWY9mQ!Qr- z3-m@D;7E9CxG38_Dj3HKZ7@=H5RBBjBR!g4L~2KWFj5bJnLG}qHNAIgTJ|!S6+nqy z-qgcR2F!MMgB5hw_}QX@$4~|yo5>2EH+7_ZuJPEp%P6ZGk1|k>=D(a8@x<=Bnbv+$ zI~Vyr+Wva_`TvMni)n9bf5(3494++PCw5lIKdDWgmh|?tq&FIS)M|}Lod@MN#cRJf z8%|M^?PW?Tf+TBVki_m0bzDhycFI5E=z89X?rf2tVKWo#YzNRZ2f2Yn&i6%5E4czM z&lOGPCIW%QSnBu10z+suko1)+<1hfY2m~Hz<;7N~wgpwtajC+~O=~SZ!M?MzN=53d zv47UdKRY|?^$%-0C#OS`&CKNi*y7H9qH~%+r)JYcb5>4{BAzZ>&{3Z*T+mTb^veZH z&eF40Sx4dKZ7v2i+PT=k3h8}G0g%RbLE76eAxZa)6;q0OUaA$#>7-d1h!YHs!YPQk zCYjZ$YZo+|Y%0uqyT{5zdu)9Fy!aG}QoR2SB$)?#P8cBOR5HUcfu!zy>45{`y!}3q)O?bEf-CmJo)0QqdxHa-~r~*3I^$bIYV--DKQtbkZhHK>o*9JP$?X&GQU>k(K`2M z(xeet{UD8aDq)c2{9<;I$Ucyc9zuS0b!F`yrnYJ2q@=oopae z7aGa1Ey9Y_DGzKlZ%FR^nA9EiArtm!69u1I_8~9fQ`1)D=vc|^p+0hZzK!)m)&$Y9 z*4`K-x*bT&+mX_cmhD$QV0DNn)d<%xU+MgTfTsRV&X9QoIm0yIcK*UB*{p>Yj6fdc zeoTRA!P4U1^?)a%0Z|X)4Bpx-(xaRc7m;;o5WSHNaoO#4*y@q?s$F6kW*eMiY`TrYJR#yn;lX41 ze=(wjwHD4tAQ)w+_>uzIn4BB0^LhC-83jn}-hwh+y&weuubM40nClm<>aBuhCIvQy zw5|!;)VeeQt?ST`TG+a*$}AP%ENIk3QFJf$!U(Kab>St6ylx4w;Pu ze|IITz0$A@9h;>>RJ>U#^b1@sQ400UYl&eBGHjWFj8Ea8V~k99J|m`>>?p!9SH~Eh zZE#gWBzik=usvw|{y)R}rHmx;`WWK1Mslm5nTVi!^tXtJxrfIA z>%>IkM4{oa#&F?TJXGgI`7=3~qoq}kz~?}m3^l~*MtG2Wlz5NN=>%1SL>~ePr9`By z@~ibsN|Bj{*yReLki3Hz(f}q5ZiiAVf>IwKhaze$EauWQwV=!5b|R?-1Eids<90C4 zb1aB~swBXIL2`?bCtTekocdrlYI^HCqpc{)^Pnv|xcj({hsC>hbh={pN;PaZr5Zo< z{$f*zPOK?sKI7#WpRv(1do~>PK5t2boapfAN@smXI$3agH-^rE1HW=l+?7=pIiN_86Z|7WUlr{-D;Gk`0|#iS~0!p@gqR zqn=!V6p}&;N$GB{F;bc!YEo2)a6rd~KxfM``@de76qR!$5$K|-j->9$#Ki)Dx=kKB zE~PFlrF838SRKS=GI7+4`*LX1UD-M$I|XKwDaJg;g3|}q6HbvD2(C{NDM$#Sgg00X zwBhe2N)jhEu93y2fz-A{ie0GeAA75j`V-mRughe>kQAf35rIKzZ!wsh|LvYVAZs%N zvWCI}>ww%%Ia(dbm-`WB(FRMk*%iDJ322L2gqmv#n6HZfhsoP>2|CJN8k{l%f%3> z^o{bhu$P>gh@C3cu>u3zydy2yz2)>0&>7P}XVjv>-`A_$2t?#t>PWpLGC`n-X5Jl` z$ZSV@1c{6-ReQ$PkdniUR6QB~>q@mwBzVvQ{CSBWof*v=yais79_2;vVHp&E$Z!i+ z05RO!&{I#m8~U(i#jM|+CS>porwJK01;finOt19Y#aa|pHl2g&%RL_r%3Pwmfc}hx z&H@09^=DRd=`IlnuTO(n9jQel6F7^)zxM_pTte68hpnEi!nl~rs z%eenwJQN>YZXHsba}&Y?IQXrRLIxzA?kC1PDKJVJ2pdh;mHO%Zn*D?Sl4&PpO*p7lh|L}KIIP5J^r>^ci*|=`k}J_GkI{5d+VVuS)D0favvbX1f?gcZRdfl_TR#c_Cy<)yD=9D~rvRMVGW;gAR z_979$k^=Ij+6JWVTHiF*i;R_lJecHeLbgZG^@_+|bhej*e)S^g>qckh#>YnY&e?P< zEl?rua})OUi(qe(P;YN*#9u&PKw~J;cwt3j>Euy#efCnk`WM)`A(6Z_k=$ghkj?+q z7I*^sq6A7Hi`f`xOa7w6CB*)jDSMj3294u{93#|mqRyO{%7$EGfu^xppL({a05T+| zAj9+-r*)+XFwH)Q>4{OUzh4OKOOjU@aL-tC^kC}K&}aJq^z%ND9tCxe_O1mqGbEsW zmTeWdBa8epheC^&7(JbbQ|@Y^Jm|IAQ>>Yt9~&Fj%`!}hJzGJ7k)aIw*DHO-;@qa) zqmq2UlSTm^PhQ~78AN)NFUgP0$7HFXBp(rm%--5W{PqTBfuB0{>A!Q9KqV_8700G8 zQgN_=$&D(JviiT`#+T%}Q$5R~P22`;(lF45!A_*zY0F=EvR~SB<+L2bv5pE2{5v!} z(`Yo9V88Ia>pMiTM!Os#ZL271*&-W%FXqkqi{%)QoFQsW?j0vNuFfx}WIbfJ zhD1@ZnJF!{vPj;h$4mx=SIp!}!N*Kqq0)HXrcYC@85^A|`;}p1dm_W(uR_L|^hzi# zOcGZ`5hz8W_b3aC?9A-kA`qzq$26)hSG_j12wMkMUpGD(dRa&J%M|S&eR0w>bcl?| zp%UaH#N(!m2dGUpt?t-YokKy8ACsb#jE3-${#_EG?fX*Ky)jwfjlu`ZT+GdXw(!w; zqkMN)&y4SH$HNXjY_Wk83S4Ib1w4GAkP0zyFJz+lGd<)xZY`BWvCkxPt(>_Vk-I>BB!Mg)AF>`T{F-tp-bVQ~7ZTy9K^#Qb zt9L@$Vx6MHk;!@SnM*{k+W0XJyjECYx$0VB#aA@ntE?;%xPmm0keK|_6AfwU(9Oi? z{I=Dxyy)r$NnbAr`ud3LD`ZQTh^`=mK|{u)t3Ne9raRl^BlW8Y=YiEn4XzHXI@f@t z<_->#6|_CFN;uilLhk^a&jo@vfaa?%Z|D9lI0%*GnZ#_^+2reBt#AMy7tk&DUJ54o|wm1^NWt zS6xk?9l9n?efP{`B@D9s{i^#!h55(M%OuUBdHr>a(k!;*vhFdmlXp(S$&nU^)*7w0 z!G61I?7XfA{WlAnM7TGnRw7A%l)a~?GlX=g*JcP27@2VI-!YX4un?Y-D58ln=~f)} ze;F_t$;lfRP3F^xssf-DB+vaE^!Q9sjw8?n+_JeI*2#s3P#? zQUybW5s*JHB%Z({UqFL2#(8?MJG$Rnge2LdTapeTdA#bd&hRxfM`shaP@C|OA>9ud zPmQ1AO|fdGB}Y*kAU!|6)gV!=ZKjFjJgsY7S%;5YQyyj4$rhR-hJ_yh@XAk`a=Po< zqm%n4>}h!i5Qe=(r$wKZqosBM{h}F=MS8nWdc8O#=6K z=b7_P5}TOr_S7c4i*`cdg(t$}cJ39omUCAXNcQ8|(WV?JR55m_;$4x@s1mrxIw?iE z=b6HA;Xf{JF@?TAA)h-t@8Z9LH!M`?iNiwGleC7XZn^gTjndvB6qp{~5%}6^HE)$4 zjl35Yww!7DiUMGKW)Z== z*#m}98G2`n{1_@>{fJ6@*MQ-;tw*YUtiePvTaThrzND%)OzoMKK|&7U=AB@7C3W2; zT%=5QXKZ=u>b$530~w}rka4dxX$qL`o+P_~Z=7i9F~#d1+dXP&-=v0!$-sv7Oc*Ar z%l$`g1sS#D<{D*zc5$lk*%g{=FA~O=V0b2(X^(OY6P77oN_*}baEW&(+`9$WCmx5g z){1GBuZD%l&Viyo2oh35(6>B&pAxjy<*Wut^Q-(Iurmh)_alao^cpD=v(RT>W_q3O zZWtS%nVq}7JwB1g)(G#B^!Gaa`pKz%Ejzv4K%TSXXxB7g+Jzk2g+I!Rc9-Fdb_p`W z;VwbO^+NpB#>-au(I|Uiq3ny8@dyZ0ELKJWGz%>De>Uqb{xIZe$W0Jxlbi6BcFRpj z^T)&mh1jemKumbb@raHL|0%=L=)+H(m8yH+l1&81ody%`a2|)G?CMrY555P9qm$JbMP7NapDC#iN>tR3z-7^TqEgX zP9d0pwr`Rm5-R9Dv^`Av*(GSFbR2;Sv~h*7Mr2P&Vdy=yJ?#IPM%vl5!fYJUS0>V| zZs9}>yN5J|Sn69ENf(u*RI#(oMO?6bZH3-Ln?g+1EXhn7#@x~jfNL>vZ7m@u2Le!o$vrM*hB5Nu2sY)rUd zCuyCu+xHWVq;q@ao&{m-7s9NP(l-pZhcJa0_lFt@_v87}MEZ&fyN5J|*!Bk-NoSsY zoW{mr`#FjBH5GafZ3;2&-)W@XkL?|aG?$YU>>kn-(ly@KNV>57Q&OG=SJ=Ke(Y~WX z@1ad0UBislx(3K@)RZsTH8$F38l=RH@$mAQHkEZG z^7Js`F?T}BTz5i4Pzi5;0DoCkiKiDM8~E3vC~FPMX$>e)zI1EQ43gWD)8jcvKO+%2 zLx^~5{PR<84XDu?Q1jOKYSMA%^YW229O1kzzLMa&YsP2YUQld=^$E~_7;HTO`buGNNW z=Ju@lN+nCareE|N^vcZy_<8O&pl86>W+Px%IglyvLb{Dnw*>AoPsZe~eU?-Py|bh; z=8yRP)2uSNp=?H;(R?Itw1}{*8{h^`G1$IF0uK2S=(8SBaNI~D)w7bgTV34V!YHn( znm8TepkiNU1)j~uPOvbC2o_dOZm*r19W*Ca9p0APDi2MI5y*yR$y4j4gXao4ww#_z zh2;=8KU0hTEPRAo8s`h$b5pBlO7oLRCWTuZx$vKuS|b2N`o@-yR(uC0$zD zC69jHqhFfV2*6;+6&P-#hT*LeX<~$^))=y`8yTj2Ns*7$U3GWMR=Zn*+~+0Dv4hah zKyPo5yNpidE9)W~Gt@XC4YjSp6vlRgDPlT$#t7$g>+2luABvZWaPAdfkQE!psAtKq zsWm{tEy4s@9a-qN?DKXRk>1_3XiXSpp$J{XW=%l=Hy-yP8etrq& zNnyb}TX2pMJ^Z*b-D{6lf|xgWzIT@?lyx9O_Cw|FB2 zqX(O-mchn_7i>{tBuycG^>-Ud7uALAE$H0E4{e-CLGPhWA-(MbjkL4v^stSKfizyE zVE2%wkiPo6?zYC3hArwZKR#q?w+m(Qpcv|C*|R7Ka7AEFI|{A zuSs=2P?7DalR~=idm8I3@`Nr7?H4E7`z!Pw+7!}-f2)ypktcLvXm=9rsS3S^HidLy z>pI?rL8q6Z>S=+X3;(Ltp3q}q?7~}R=(pg(QJaE?Biev=sSqTlxKwyKG4b+g)5LkQ zVOC;+&q*pG?@%bJKDlHlpg{}`4Ps;DF&eD+#~LU_pih~!WKWvstZO9tzo+a+x-4nz zGO2-xks3a)G#Ya6#anbX6ec0TqBA7O4bUwAWPI9dy1Z+=)A8?cs_f{}n<0e_vYuylEMHga;p&2KQfGzVM*q(m*F? zU(ge8PMbp7#&|Q~Bkz<);mtaThMjaV=+3`MC)T6-rye+cf zIp^i^`lV!uj5f<6W!kZ`r;3&T30p1os`fn+*KK?g}1UX3o{KRVi%K%)E9t=#GMl z_|?KQF~HTrv+sjAJ-1o!BqU5Kj=z3teqx`EPc3|~JF)Oy ziaCHjn9#4N&{Lt)rVw*9W_?(Q;yha*u#Qu$cD8N>w|27pnyefo4h6#U^DCrOCkEq% zbWPJfj+wTh>v?G~CpKGkcBx4T;FUdqrH?jt%G_q15KwMUG`0($>xEBPxg@t$Xq#0x zOihYeXxa%RPI7^Ce1+sXi)1~ecd?P(DrhDk=oA*d>%{o%5#~9bCv-_;KTqf~8qt*3 zSfy3wFTydl(xA_CxR5i7aDLiqd)7_N`~_bE67~cWq@z)2LMjaqR;Pex00Z6^Pz>IE zPh`UvP_A-aQi!pDju$VwY}!b}K~FZ)1ZXzW=-#~cS6ZE;#I^fdQY(&>8Q0!J{_g6^=uI(Y!xw2mVf0u*^xXLm6ro# zT-%haZ*zAI3jp%$l{^@=Vp^7iwupz{D$&`=@~`X!J(Bx-W*PokccGt-h1d}o~5!Kh+uc9DPUn68V`M4&jM>v+te&tW2u0JJn%CTg3ThO+eBy_ z_Lwga?-+kaVz=%<*DBTttrLV6v_TrpMb42}aMeRHuq*DWQgEsm9uc#L?0l9%@gB#6Coh ziXs>y!Jp=dAbFieI9@G>K3E@F2+XN2>DjB+ApJ#7)SL# zd~C#o>Wbv6+pkC>pO)%DWE!DpbSmj~tX;lxlgh5}qT7v$#<4%w<`+4Bnk2Fv^HF5K{)JomhN>1iF0YWv>O1%$ljJ4mERYjVFl@6modKX_-X+>po) z2R;vb^S!$L*Us{N3GTrH*OE`H2hn6AN7X&g!;Q5wsr$bsbJYzS2IPPGvU6)zQh^#3 z==v^s!MS#8KwaYCz;%ytnH|prU8FzBnfrmMJ#(Xaz1^5RCOYu&!_#wva#~=7^TTq1 z<+k(nueqt|@x8O#&VTsf0ePZRtCPn|56ab=k9mEqeS?V)@v7Su1g^3HZ__dN0Wq+P zdc&8C;*j~!`P&C>&>Qz=2Oe#Y&J_v+vu&MX?r9Ck?u&f`7Z0??MYx%P(Sh6K;;8`0 zmgs@;$$?bSMFP=Vrxf#Q;ojCo19FMq=)hQd{YlhCojg%0zY4cp`!_y0JwG=ff#g7X z!9|LA)Ma3543NPrZ8EWKd*qr6k>kF0OBq!456rb@4$cN49-R@dC2|O(32*iy5n`Y< zIXgeoqTL=F*gHBoAoA*omwf|!9xIXzT!%S}Gm=Q~5rHnDr?I0v-FRs9pmcgsm1xY{ zz9?$@c55;kYI=OSHSqiaY5tkkqcd{ibI_Y^+xY|6Tth)sT$)rATCMR1n*+Tcsn1*W$Rzfqav0}+WKmd2l&rR)CQo_+7 zesKiiGwLU|owY|Ernz{Jc*l#yXUISMk|m>g?dga!+owsTD0Qsw64#UZ{quLv%(n^` z)HRa&V<0Gq^@&M&|xC1B>9a3R2^&`62G#6x_{bz2{1 zpikT0k(jxoFw@~FCgZ2HK~oU!!5%c=5gOcLC_#AVIHe(R_*yajk*Pf$Z?6c<4jYO0 zI>#C?la_@V0D;wbs9#wjcvK!qrrBJQ!PG=K3Woya-c-%adX2Hk+bGAHy|Qb3u8;JS$HvL zP(F*e-8Cf8MrBu(PD6%oAzvqz@R2)x=PIqGbD8`jS#{nBT=>Ld?<1A%KO~wiVyu@D znKar<`UGkB9W#K6IM ziF73hl{Ewc-t)5B&bw&fysV4!k`lE7aivxP^Pf^dvQvrz6FZYK?o=kq4bxi;?ii;9 zoG3+~LK2Ua-jZ|OiCtTjfHBzoX0lhAZI^ee7M*Rcnr%&t<>}$@4REg2;hC5A#S{ZAfTbA6Nsu;YXg`oj+z*u1_inUq{Za%VaMyrL%9@C;G= z4Lc<`%Z=9gZo!Bo5Hfj~dA>#v4vaMWDFUh*PRLO6kGQ_f_aw0~7}x$MLoy zp6Ij-mp8eJAl=FOr-oDeBGL%_Fx<`e=0KZp#`B%blm;6~Wvf?F*6+ z*P$a>ZyA;kyB-`NemO}_pP_eZPYo`7!$=-=7EhU)UAaFIt?C-kuzc7-XDa*O)*!`& zubi2Bv^XI}qE{#qN-RjVE7ROyQu1#ZQHJPuWzVwkDn<=<4m&{ixNYaop8w)=#|F~B zX%M{~zK;_Y3m%NlW%7H{UnygStVJ$MDO2C zB@FWNVHe)65n2CMD{1H6Pe-mHagcc2zcI)s%Ge-_Y8uZeJPoOoPpjc==&VUHN5nhx za+WypWs7i+iy$9GgfBFRP(!*1|Ib1Zjy4e#9ubtXi;&<=gqmbu5pqw|2Q*V>yw@3* z54#>2jsEKbcDidV5Am#I7>XxT|6#>r1ts7aTQzAoZ`5ofTlYCz@=@6O&%SJ3n%Gi2 z*it-aE8!ViHR+lykJZ)e8(G#KmXG4nj*`tx^I^5a8rj{T;$TIJ;~vd$`g^o*o4&=Pb-pE^qn&rif8`IJ znN9JU5@w{xG8Si^Zg}~$K)3sNhQ`Jp_Qscw()h=lfT5T7+N9#q_=@L^pYW{lYtr8M z#~SHn_x7F6pnR0xeyUNa999kKz5V0`qPW9Sc-l!Rdv8zhCPGcpd;0i>bOz<4Xm(qJW@|{->@yc?Hu+J7N3%-VHJji~ zgqmcnS@#S&F3VD29=5d>?`I#89w2=)72^?dF=3_!4o$sF0}*;xhA+LV zL+=a$()yfKKN4s1LKIFmKtAmHZfdy9)L7!9O}73wB8wa&`iP}F7R4u+Q+y617ySN? zCA|@;v#_&M%piN64$2i*l8UK!3mr2(Kik$V9eP1H+i8Yh1lP=JxslD*WOPF8?| ztw7j8!Ku19A<5mNyTbN~Fu8aTvS7=Hy%vHnH>olj(%%LzYt9BwI=aAHI9^i(BJfjk zJH5HEB?6|0;FDC5d{{STWWC#aNtiIyklfCWx!$ReDR(AeeRV0m4bw-+(Fh!&3Hh)b z9pS)34II^w^jmm;Aac}sq5L)4xkl`}p74j^Qo}o?b%xiO!B3VUd zQVNk-0fHtSGgeAUOl8NGwMxLS&7BHnck(aPZDj%j-YB;o9y(&6-Rdn=<0er9P^*u$eHKc3JDl)w)1bS6kwZc5rsA|rVSK1Bz zy3v~2A{>2+R{xO|gUpM;Pj=%u)Dhq=_;KTFW*DCvn#&A2E8s?`dB2&&C9i;~{T`rC*8NEFCN zUWD!ZjB}>N(9Ok#ZmS`l*YTW)Bg4a~C1*mgAqjQ4&SHjVbr&SmOM16X#f-rzomDUhvnsiLx+jM1DifN9+UB{7{jM4Lu=O}Z`3={M7NeP5jApF5 zrdUkbM>83|XvQ@uO?@4;%AVc=CS=Qfmn>T($9sP=vIp9}`paq>Z>_MJ#_d4Zn60LX z5y`J*t&LJlY@3*`M3!i$+3Wc7=G}rU&P^@@HPu7<1F8z?s-6B>qqF3Ru)#Dg4C;0X z+3MjNgLH?PF9lKqyQrz*dBPqe+!I=ZCW<7?sGkxsh~Ao;oJP}cS$W+RT)|_5=dBza z(3L074xpp;!o*)%i_dr0$hNkjmTwXruAvEC*9r8;4H{2s>H8Xtt3B2V*q=L5*~qyo zT}0f(1gAI2W_@gNvMl$Zus=~S%dGvee0P{UFVZ|~UVQH0)njtfO1+e_dX?CoeAxC% zO{4{yWb2e>qjz3Z(VfFWCo1{|ujnRWeuFUoC9Oy{0jv{6r>km%PBQ!*0#Czy(cpVj zox$!BFk0jvo$Pucd!H_~RSljI9uNfDCcXC9kM2VPR`eoWwpJU(r765PTh)jZOXm@D zUcY00|Bl(&@%@uI8{S=G7x{&a4c+y!ecpDY!!^?kt&bsGn~B*pz42=*W@&oqmRQ3A zco>kbPk)l-*<5w!8vy5S;jKk|x6m!9Pd@C~BV5OKw7%{t+2|)LT8lP)cg4(0T;)oP zB?u+v^X~La;e2G zMIm}qouVVW^S4Dt^Rm6_`H*yk)Et+g9#G}OW>cUZr%ZKL$Uma$)whn_c&NNu*8cKR z5x)}M>qPe_Njcsv?pn6V$V)eSrsNsr)S+tdsU-0h1796lCpU2Ws)$NDP}x5@)x^~a zQWH8|ylFMBt21lss>%rydL@SsrLUarjBmhP=GaG`8@0w@a}?d@8HEA!qcs@8BUW#G zYAm*`Cm7q;nw2Z%mz-NE-OHU}HvGVFdb)4Ey*a8WgZTh;k#V^NX}8J|yd*Zog}a)s z)pJv_ofXCw&ljF2q+{KFLCfqw|!Za(=fH z-&Mmmk=!jHw9w_1?AJI2iu=jFYJPHD_9cV>xqGyD1|58qj|ZH}i&G`nR+Zcvi%TUf zaZ-w&%{V!^j`aYY)h=$wonCd%dsW|)IJr5gyR%I`qOLRKtCHk58f5WD%3B6|wSeJ| zQt#|#o#Ns^a94dc<#kuSWL(Z8+L&;;J0bZnCqxxHm6Lu6hUCMT=qNgAJVp13@NO4* zR}r~}Wbi2!nJZNY{GrkUB8bx*Wpb*9k>(1QLO#k?t^1cNg`&#_I_TKS1~&3glETmK zSS=YWZIkR+Eha+EN7^fyTzYe$++8_qV;o{U+r^NN(io#zj3$rTFvpEM9F!ytq$Eki z(W?(6(KwniDVxgk){+{W{Rs5faR)zMVv1d|mHgwO3lPz6uWwMoy;*WAlz7rdHlh@C* zXJO45o^Tg_f3nnUkx@;SaJMk%$+=nxW|cHhdhsH0M(ZeN6fe7Vip_)#Syy?R$cMEF zoWH{*Jz*rPTJk`Z2dXj8PQv_rk-5|tG^<$W2>)6ib8%E)SgwMavM2N2W|X&pX<@vQ zp!g}MAh7gYrzaogU{JxkT?NO;*|@t~vvQJdS1Wh+8pl@#_Xs39`GYK2O4!t3_f>4U zzf+j3-undxd$Wdeds7(tlzf~r^g@B5%h}_m;tUoRAGy7?A55ZMG6-zazw7qhQ~fgw*SZ4b!w&GEz<)>z)F(QVs%uDGC7SsA zMRcbamx(5nwjWAK7>&A93=(mQ;Q^9ixb74N^HLZOkp9kfx3GBGx?5tr-QlW|k22nV zHL0q*R!`E;$th_YK5K9fcD~Y}*%}g`g=YU_5zQ(FJK~iU-w~fM8a1mJoU~934r-M; zT(b&;W)+5n1RdAjkCcwPuz1;;UA9xZ-gPV=HhAFF*2&#Z#58t;o~gHnWMK=Zw#FdK z6to6ofW*GJYD|Nqlk70ITm?hE&61=!K~v*mY3OXl;#E99sV%+8x@EYgLh-WIwuC|6 z;L4JZVvr}hvi_GCP_o4u(gVOPu7!vLfVitbe^20wRH6V7Sd=f~~ zRNN8Q+o(0MJ@tD!QMWc(y6= z2{OXFCdT)+a{67ab((rq=I=YZtLNoRzf9zto-JX=v=pqmXP3NH{bP?OU6~#2P}|AU5arRCr6?v4SfMG&OGV@6al7+|F z&_Jd;YaoTd#h49&|A#YiKs~ zA;+*mi{tF<5M?I~>wffHam;)u6#_x66Zb%!_ZpRg5iCP77_$_^)7^%VcL^d1`_mN0 zk8Bxl9$qRPRH!iC3x=#_*(z8mqwWGN-{zxR2Q)j$LUty^igP~v*1444yI_?*TryKH z(_cWvByQxR>w|wY!#BkHt z>2fW{f!4kex%a?sapD*-xt+3`QPJ5wqUbl+4P-}4SJeV!wt||uW>o6?0{F<^y62_Rd zib5c`QURj0il%X!{eO3(ueGKHEz~gVYLE}}D!8iu%MEAo;lKTiqz$FQvZqoZ3dY;~ zsA*%qyZ#2bE$5~geTdWCQ;k5dfFgdlNqt-i8mqyFYc(Fa8kVZBUW;10cWPq(;3RvN zdOARu0j6~Z9YT~VCizOAhy!=Wg_aV+9L{66U&B^#h&dF;69b0h4o~S`;V?HO^}NyO zrZ%`J78hl(KT6TFc5f8)(ne+x3V}r^6F?M;C?_u(8}m>StIvkIo!AE(sN|zey??o> zp;G4}K2R*i4aH&xjv@`KsiEWop$WMGrCK}tAsg0}lw5gWq?nKrR=(SHr^W1H)0!xb zH6>0m|9tnF81Wg$j-Z@G)`?OVHe3=U*mFVbh__KLPL2e zOAzduAuc8JTdAaoYsnr?w~e8XzeKod+)1wDxx5;BYax0fy%OqF$ zpun+KYu}#Hy$9@Su0ie{<8n0aP#d`PS-DY+1XmaJr;rEun#$#ch<@2>`Ot^OSj6y# z{#1-*ZR$`TOTA!0Ax3GI6vDbuv6|(Fbwht970U9K{9E>3e$pz;L0xx)?(iF#7(XB$ zBL#PgDTk*OlZg=AEWljnDz5QlC{sK_;6}W)f`?vfG+ByNv~+#T!s^z(q?N8xiCjK6 zq50}mFPELuiH;&hCt7CGcbwdS5bVv)W zu838UTfh4nl#Wasl_}3UY&JSuv{1In=fYA6`-7uA#GCZD^lItC!l21GktoV5Dl5x^ zLw}J}_7|eEW0I8V`OtamT$&}S;C$A#MWtZkQAlflwAO$$UIxN+#i<;xT@&m$pNCgf!soIQS2Y3X9XmQOBLy9N#KN3YDjma2$0>E zN(~QP|ex$s> zkuODRf0Z;I(KwWY#RdDw5G4py-rGf5xSCN68fje%eQ8HFLW-}N_@vE zVag6F6AtXA$7_?iTC$$|6}dFE5u98b-RT|&-#ntXua3mv$edPWiDW#zYnP$b84?~) z4`N)K#JIJ>aRZN3Zxe{3Ky!sr!IVF>M*UQ3)K7&*-Je9(C%#j2MmTmC!_7X0t8Mn5 zi-@3b)i@9+Gg-YJ*6v7QUpp!Hnb{d^h|6jJuE8Ia@j|n_r+JBj0+$4nY>OW+)&v%dCAs4HU+hf79 z(`DY*g@+=R=gnW~SQ}-EcBe(oe%_`+aKHTnS;#m5&&jW;w@?d_FTCNWQDQ^KpU18*Tw601vh-+28YsPTAV@9gau9)!wJ}QNc0yO0JTfJK<1yEQT zFpoLv(rIX%HZlWOy2p`32%kw*J|k4zY5$b5GT-@TP7@DBIFHrdsBpErF6v&)mY_x$ zN3CofM)5!IwQiS>)UFW@i>F=RW^h>i;S`RHb)VTdQ^6?pXvv*veKAd|AuB6nTK(-6 zS#QHw@vuP9LT@bQ2q0c5NpA9Yao35+BGk1zdif}%l z{+hzo9yp=kdq83MgS6+O48;V9Bq@Jt0{nFn;ID%KzvBYv)70itBb=LR=6Cjf8nGPI5VDmRgfWHX>e8dHqDt#ovxd2b(7HH}jO~2jmv(W5$p^KE% zPjA8V{<+s5dP{`!T=T~auI??(^ZH@iTrM|sOHNJvvE~$@Nmrq6;t+bO(e$noYbDO0 zkN!#GuDfPLuf_IwE5hC-uym_GE*v(vjIae*c-SiEMva$yQ%#?BJ@5>D@){9tq^hNf z=Z6J?o@*^-b^`@^E>cro48I{itoaPGbPf%*-b7q?181T4&F^g;$!X}JzZFIp&Hq*y z@v!P2ROJ3=p+9FTVX9b;gjW&L5_xmJ=!rKT=#7(27 zM<_$BOKfEw`g^HVt_G2R%grG6z@qGg3XL1#d^!IcNh8J&5U>xWGirVo?QhZ4KA&iO zKB)k+Kib}7o9`YoG9r7p<;HQ@SDUpEF+7g@Z&O+c&LR-eP*GJ{A{+WUsaRHChWX(!Uv*En0|KdLd?Mt=(`GU2O-mbm%6t?5q}{7UqXTN>cMWo|61W;f}?Ne-!TU zM3CI5YUyu|>rHK%iFBsl37_8}bA$FET+n4QxW>;4==Kje>kB3G$^N$Y2(vsS7s! zwuHb`g1}UQz#IX8ZiB!P4uRNUd3A!*6X@5+yVfH#c~wT*=NNS9#1Y7c*=IY+wc;6e zmIZ#{ukh*9nadZW$n=G#H;q}VKm^l3Sjt1IBs<0{cqv{Xb-L{TJKvH((K=t}JMu|4 zI-H~Duq>m4{=Z0lauR&#U!*?w=rFx2LgsZr-BJy0O&FjY8d3}5CK+rcOOOZKW$#cM`m#`G ztopJr>SNWoF&7y7Bw;Fb|-Lk;10|QvH z=T@=s)&a{JCX)5h*qHK}VPu;WKi2<-!nP%TA`l)DPhlFh_NAQe4fm9X_C4bKYn+vQ zEz$j2YH{TIb=Q6H;1P~lBf5WAg6poCpO#1ae6QC~g!S>{SBk((v=i906CC*{_a4KJ z?X++V2a%=%(KEIQ(V8k!_EE_A@}`QMUy@qkomTgjN-PRX6D)V}V5RIl@b!SN3%3Md zUl(raLRiJ`Syg$E7KdzkEPxpy0ru&O0sG=XBcK#e*dp0+RS7DkWsYG(NVR zh5(UK4@8c`21IL!NZC&W{)thZ@4QsPtu)+3IB&2&HnK`>$QB*A}rN9HSY1=`&fZxE}Eb@@vusNb(lT z5Ulv=vxHQ)zZW- zNmOjdTFFL9C}1jZ}ou82%({gm)$NT?IEd6(= zHWVtFuG?%6FAExt4J1 zN9l22jn{=Q`5B7bHdL@P) zmXA}0E|g`8O^MFt?y+`)p#g!jJc_Wr9OY9=G?NvG1o#T$P#d+1riw>hC!E2QJFwwz z!V-k!!=hnSamdV~ijgvr&YYB5AY|yW?r7+QIOzJNrfd2^!3zCbE0q|=u-H&ju-vE> zCR4sVwUIHV-qPyMtOHSW&`120GjqB}PsX<4Z@J|1af*0KGlEyT-D~fJT-TP?ReOMap7=TgUSzP} zkWDU|!?&pyFCib+Uul{DEFS zLrvMIAI6v|ULi8;Kw!zHg=J3V{UkT$@f|cFvvWQyfIyVDn<&|;yKDE)OwCW<;JZ}~ zO|r>`Ms~QMrCEIsX433WA z?pI6u98UgdEFQAcN+i~_N(eR!mbXvM$nymT!!el_yR>qnyUN)cZc0Jb@PE7N<-?9p zQs4WP%YNzXUy;&ego@6Uc8bnaoayoJnULXK)Xw+z;K)SWa9ocGN7Ea|RVGWSsBmQ# zSn~};&_Q#AYtNt+^Ery^-myCQC|6egVT0%;glbCo1a&A$UfocVtYNXV`SFG7cvDe_ z;t+r-4(ZK+W9q2Ml9|)pMn-mC?tz||lIwPxV0{DS$DD<1bm`m=wQe1fy^~hG=PMF? z6G`_OrYLI-C6ZMM#FDMCULB&ID-zD}0!Mp$$cIh!Y4p!3=lxO$rKA37(WnyQfUgo_ zphR7tcXh3mQ~dil&y+M)gOh>AhCgTEI8wXnuLkqEd#Trj$3oj*Gj8WQ zU+4$PS!B5SPlHT~u8vxD*T`8^IW=1!NtU}uWU9)FM6)ZM7Z-|Z}t4?Z;to|@5rdr_7R zJ~bHO4nE^5r@U(K)N~F!YgixAuUwp@H$cx1Vl)Lmx! zvoVxe@3PB>r5|xLcV*cZx2Q0@b~HmU_K=!Cx)6T9sR6lm=M@rNLeU zbT@Ch!)%JF77{BbT5?T{btokuyA6y0J8!Vi?=A!~TJ)5P#brraEg8mw<=(!g?2Tfq zRWO--ZxvI4E?!4BRm`X%2#MSs<# zC*?_fN&xj~RjhYW)ejqi!+D_W8|f=Pvq!~e=2h_1_H~MMLr8%MOqz8o2&SZD7z{9j zS1KD=cj5is9^S8Zq#YHKnRrbW2s(i^PfmnunphhfU!V*CSvtdVZzb%6Q14jx3Gz{b z?6;U+=Q|%gjM zcf)e+)RYO9Xz_QrcC;9ol?25_W*(iH$JLEg$Byh`S?_MU_r3pxRKrh_mZLw)hdqY}t@kQl zra;X#mzyGw>`I~G|A4-1)#t;E0Qw&`xyxG7j}s!Kt+<9GJ24CgQz$sHl2eYS$YOtm zgL~6@uG_@O)vEe@?* zD>M9Mw1Q2^N4Z$$Ge$neP-1#D*m1%I)_vH(;?*)ekSsG}<9}5M%1yIk5wg&|uiPmc zysc=`Mp>cVMx~5YqCHTK`QsN)8Mtk;T$T8)}eJRF|7N(qw&_)&`IL)ui@kI z=X7QHC|&s*Nx(Ptd7JfXrYh+(VE`%d#%bZwww|@~ly=)pwXDv`hpewA6|GpWS*$Jm zYF#N8qaUla;ar?afqpVP8aMs8KBZyQFCG=aglyvztxX0LmPK{Th8#$EIpR5G&AI=IVCNjmm@rjdfi*MM$w%2ga-1@QjTX06 zq$*z}tSw)~y#<-I8mwBY!5NdDIKyOqV!>vV0+r``MNB>m70vph@mve#K^1{S))o;d zk@aZ{<*T*=Df`!X#q1djSWSf4G)OppiV>dI!&1rXE3wQ1+Xjisw_q~GJ)5zauTqF?jz9#9j!wF${-R>cE8UpoqZsq$%7z$o?~Ay- zYyXFR&U5oo>3^2ySF&_iCF`4mwfPZ{^+ z$rsI5AtTYheAt#G8s^4|8HHiURv15he0^c2vqQdnU-T_1eVKUZWCu!0^VU>H$ECX4 zl$5>`TCkE=VGvU+Y+M;&j$N=k2(KyQ#nG5C=_IlY6pO7i@Av3jQA|LoVnA9mhaE7n zyOVmxl)jl-4e6tZInVh$^Lv)19&L7J8`|v5HW2i_CDfx>Tn4XLzRTXQTs<{q4~ER3 zL_J!Z?adDgnyH(73V|lH5+F)fQibG+-jm7hm)dkVIh6+BHQ1mW&L5T!JM}};?NO=S zQSOj7S?)$arAH1->5*zgi{qxnYDBCded*9@#<^;F=8STh|6!xle?-&`v6EAIf6Q8U zB=TX71OX?N45Q*x7y*?e4W=aNNO3fu{H|z@~M9d9adVd%Jl?o%ER^%g`QK6CQS||^y2#jQHF#W>UXj3eIm;40HCEsDrX99kDi{eW1w`(O`utez{z^D2yVri>!9Z-rs?yr{yO zTOnwv41u>zD(@el6psF|aC98Ck!F^Ua^vi$Rrsb+tn&id_hOBqp?c>=`MYy7n_&)T z!%eR#DQyBirA;=Bw)k69>=u62BSfVb^;y*neOjJb^EIze8M?$Lov+I1nppV;xtJp0 zdrUwk?Z;CKDO&lkMIvhX2NRIVM(2;g4J(5~iG9UnXFACs7%W<)4m$>uZrGXd2n|B;|r#py;HuP zzl+gzx9pvopV&9RxsrpUb9>tZG1}3Zi2;=}77z&5R%{^qV|I)c*fgf-JM>&7aE%kV zz9Qg~W%?AOn4=o$=YG=N$|DG)Fgm_ZU!u^>mII!;Lz_2wl`pPnE~t`Xl>MC^!|oL+ zgq|wWsMFt95m-QcxVSY{-?8*e7k6QC5jST6bS+#XA7VkR%y(a=Sa3PR za2lmh$`+JDnqEH46tKK!D^qD07I(hl<}gs0aTxw-W zce!bUWrrgaWGjL&Xv;^rMEr&*NSzlxlq0*+Z9`5?>0!W1&*Qn@?ilMtlX0Y=pFG& z6Lzn^V8`vZUodd4j1B&Xj*e-wHde@(ajrZ-lt;ZiE%|+Za^JxCq&_y3=3W}ADi@f6 za=~E1`1c}f7L9^FPAK$g`A@&yFu_`t+8(DiF4V}5jF?PW1%7l0`&Nttjxkwb`2H7# zVLVbErz#$uL>7VKqDXI3C6SdqEikm{E@LclQ5Baa%^}8)%Qt4otSj9 zg4WeLF*}q)g^~n1>`902(HBLM1c6G@H)Frc*q38?ovHD>Emo_~uq&h-O{pKw1j00EN4Qyk{|9rCY9R9F(UhV+T}do$nZ zFkB7h@$hdOSW#zYyPa-R8h(azA|H0x8sGfkLVpRF6(7f|_$MVv{>UXMcX(P&8IsI$ zsmVQA&5cigmLbMjE{1#*F+R3zF%%!>6yL@8go{xwI|abzh6)Lbh+#Fk7z%?SC=3ZL z2D4>|akh&gA4QDA%N9fN5kv7^jK6U)(tU@-X*DF7WW=zVTnvRl45fBTC58|E+OIAW zm~-IxSb-`1%IW03r!boYhVjX|zObUjIMQ5Eil5H#jeh!_M|8*1@H3Ht{R{F@wwL~sFq&1QsvDE2|VzVTo_2K>k_F{fb5y{gjBD)E&xfL6A z7Z}sYCP9NQSNv^`Pt1T_uQmMnPVj3r}wV=KboBF4s(}Y?Pc8cr? zeX%A~L|$uFMCSH1;iaDE! zn`9T}_mp|p&|M~Y1`;{i|1RX47nIk{O&w@WPVMQW_2i*l34NC^$fcFkalUG`-i=wT zsiAl0%Xy(D=^mkKF)?HF0>cRBt3H<+T$PV%yBys6eR#ycpZBV|bGTSeeMwaEVq1{P`yG3el=0S(g&pK?-S7%U4lZAjR zlXD?bF8sRA_@3{sm!;O-w3zM`lHfw?a&W@(QkO{(d7(T>Aje4L;sCqBkeVpMjNdJm zl22B&U$yY=!m<@x9)n|wE%%i-U7p;&HOX_Y)FRs;Nj2U$0rJLK1-O^{?vQKZw8YzZmD=N1E4QYZ?{ZbTGez{zn-N#TLiGn&|IJXF)* zu;LV$xnHp9)%S}8M9I*fHta3(qxnZKETn^fq<$GUG6lwkq{%!552=;XTMw66aav6r zdZEygXj=X)dzBtDZsb~kJgir6zLVrpgR9(IR6Dd844}=_2T2XbJzT7vi4Wq=yDlh1 zOwcJTV){rHGa{IujD8Wib_LzdBTVr}X6I%`bR~F7UQ}Fgv1xG*CP}kr@NW8mR4VHU zLk|dx?z+0he>mixO$%^25T)QabQF@nt&c@|zMb|JMo;?~<@7=7^YT|}dH+6^@abcn zf01Qi?`FLV{IZa=QuYPJT>7|&Acff4>rJ?Ci&{cX>NH75wf4@n z_Q@hVTl5E}#sW3OZT#og%v;56YA(1PM4*LxF6`xD83Mn7PQkkF27`qZBediVlOOB+~k_*wYa7Lt*)tzcv*@p@`&K9 z6`T>No*W3(f5fV<$CyL8PnMP`Uxn~VNtX{NxgHk6M0Uipf8h#$X9Ez{MELP%4)jO^ z5bhnD`BMX8NO(+jkA$|_skWZj(~l)}L1Hqj-t z$7)1gxyQ6I7X-Q4XOZI)|UjUEH4?fu@R{e+b_yS z_tYC&(=FM}EjK_9Pwi_>+&R;dhp*+vaX*409GQ|fNqwxEAolvc+yTwt1vGJgfi~_U zHOig4JlE_VH_{n>WOQVDYIaVpi5i!Ab{GcqyN*cs^==IYa9iaVSvi_42;z@#dVrr_3ld9r* z+v3@aqb^^?+xyrEUFM0<^#zQpOvUq^AF$rXs1V`keGHFRI$X#JML16?Utw^JkcX4r z$GYb%WOOQb9veWe*+9$&K z;_dAY7uqMnk!DAgw-rT|_PK2F_Sro(Ol&I?1YOORc01@Z1*#wvh2>6Fg|}8@;($QV zTDKG?thFN0K>?z*OrzFXl+#*NL-~@e6`c6igu7L6{f31XDg$+Em6j=A3;Ph%j zDmR+mD6v+;CiHDOF?~~xzM(+*lKRHyCGT}|!aZ4Vee6D<5H}QX@arS6Jw`KRlail zN@r}5EjZ6jGG8n*4|GOn^sIz#8Qnhc*wp;MY+Lt|%0(hGa|3rimPVz4M`a_LXA!Ad z4sZwyr${>AI#gGy?!P2|vs_X_l(cQn)YP2odiMDboV9oA;NX5CKEG!$aW>Z)J-9t^ zx&7i@J9pf<>y|rqpY>2$*q6|4tBeOH%fGgwMV~enl4{`33uy&YjkSWS&da?ON^Ez+ z$li8q?}4cQrtq#`p!T@+AWd|yE8$jn)#4Zp2j#_y$+7YMkGFXRW9UqgiDdVgBGbuC zFYG6*Uw<-t=@{|eNbVI=%{rioK@sLWLomrfJVP*X zEoki>S&*{b3s%n(SSE^R39Qcq3^q&@AqXoDR9IQ$IO5THVegz&$2n5R`ozz>l%L-F z5*r4n&fAJ$5Rwz_5=)eu%75Dgo9`Yg3sfU}dBS>nbgoV3LKhJQ_lbGE+fZve)Qt3}&7JzH^0Jtl(VXmZ+4G@Qd`%EG4gUd&iKs6oxA@hkqUyz^&lRyS- zy)jawJg_5Y*RGpsjUFg-oGt$^d+!2g=T+4WH_7DQq_?E^($loG6Piww-bt@XleTF( zX_}-LC}naob0%j_Co|JIGr1tIR1gaCa8bg&h>8M&$XyUo0euyD@q&OBL`6|wQ4zc# z-gx=`|8?1WJ!hUXnY8--Ucb-y!#;ENy6v^sUVH7eZ(yj*F9CCAv@*DF(zPnmJ{^d* ztWA^bQ?d?hLYk<<1rv?Q^Xd-M3uLxbFCr7wlp_G&wSbh^#g~(U`1Hjf{`=)%G+;+P=Tpk0&Vj z@c86`=}`eg>K)HLrQ-{G*9gSG`ZaqK)A|&$^ZTZ!8nt~5vN$k)5C}L#hpo~zLs+x7 zmcZ84>SIIeY9qsxvW+Y1*G0&I4S+2ZN}K|B(x|n^@dTAsWC~Zawkf!ZjjBzz8^hD1 z2Yz{}waq5H5XpNvP#+4T?}jRWkC4h>9IjJ zQ=+pM1NH%CTKXo&Ck7}wsQ0ej8;EQ@Tt6@|+Ss@;)1_Suk4(1t-uV7T?Z)`7*X}L- zc+KmkoA_I4b)Z)csjRCV5`H(X*|PJFHEWZoB-zGg$74f@<`Hw71N(4lwr{X8G}(9S z)-Ahsj!ZO0N5&exWn?tUC>rZwsOrWjoJyjm+US#xqVff9S~GLa4eOq5^xehQcmK-! zZf7C;uJxr0ZQ#w1VueUxc~Gwf0#o3__+<)w)-Vvb6vOyx{HfkSeg^x%VfK}#it#Zm z;!J}mo!B&ZtpHI@DE>|BG~M(Cf(XP649BE@F(AC9(-?zs_@gGElqvf1`*#$0jtd36 zENfz9Fl5U}6C1QeN*`($tkBG3H%B&4%A3{e1^)0;K95ud7Nc! z#lWfS$nrn2Gc5J`ZS*V$;Og4qEZYt7dn0gYLn#pq&kz3uztJ4QN$)*6mxGU-m>8b~ z-gKLz!^l+ju(%Fna^&*c>!bDkM;+z(Gqdcv}=whhPGr?E6Gr~5`n z#}9$|z9SeAoS!eW!hr=+eMvS}Bn=6v9&L`ABt#Rv^#GA`qAAI8xoFK=HC)5Xr=RTh^8mu{qtqD|E0oUxZ@roBVbv zoz+r^qm8MM%26hqhD8y4zP&l3dSzJ{G#RI76(f6iEphvctd=i=%1#6o3UI$`Lpp-y zk|LbvlJ*E(X+r0wL~!;RlBM!!^$M;tx=4=YPfqwBG~s_R2*1~bzZxH~3(iI(9Ct5J znun6`*^~^0(|e+DV--pJ3aO%K1tLjbsxmu14(-3#D)8b^ff2936}bWt&NIZr6%{ZP zR)8o>1CzABqOB-efk=|&p#@Sfx}(Vj!|>3mro0X|Cfk??SSb1uFyb27OTg&D9E$R1 zny36+qF>r{R=HJUN^8z)JO(lhM;-%pt_sjT52=ROrJpb-fkzjw?z_@P72Z^K#~|2txTu#PYE2sE(t7Uusld3M$^cUZmnr7w2r^yT%xw5BRi1 z29Wmn*r>ezL(`1}xa>;PeN+gP*9Nj@tmyD5lqWR?vJ~esP-7@xm^iJF^N(=X0**fG zhZL@?^@}TW{xj-j4MVcm8T-8@vfeO}aUBqB?w3|EUb;IEwK8}S6ITsL)ee*}t7wk_ zBCAq+1Szn^sT`K)9#M*!Z5@Hb8bcR{CN+&=Lv&I;Z~NNOH|ia@%^!j3Qjt04C`Bnh z1lo*Jeh89yeEb$`^lo#RH>;K~h~_+O=pGAYYHjWCa?od|dO7I(W|ns-{%ZWFYVbm; zL5Wu!XoHBV28XUx!|}a*z5NxS$sIDU2;#k0#mfqli?BV&A_jNw5ySIrict=gb};g> zrhQLRSZ|jF?A^SrOh=Gcno?c~2DZPa^$S7(-LT{EuLUDSVJ(Q_Bc`ILxkZvJr=Crw z=@o4JsjVzOm$^sxmdD0R z7!<2AUTwIq4$An9E2Gk(i^v+I5t(WsGF=dR_-|`dut#Ku`KEKgp1vK&=>^9(XDW{O z?MT&U+bWVOJBrNmpzO-(77N-#2YemvHCEr(K;-2>rj7r;*SEC_it%NW8F~B)XB?w1 zQpOwQ+ew*gtMtczqRN`GcWzI$edJfG45MRR2h6m zo-AcU{h`WMoiMQ#ZI0T+#dbQWm#6=~p}1^hT^xx(%-CcGtwoIK^N^N}qJszL71Z6J zN&gR-#~d_2WY|q$Q}h3<*fTWmaP1NoH$7Iv<(Mi}qeBra%%-DuNo0;WtOU!mU3Omp zYkg8@JPZ$B3w*A#ycYQGm%c02kQK0!afW$RR%kx6DzpZT)_$w%f|YWPZ@Ohu0X8mq zI^4Kbc%H&l8b3dN9yse>aLo+(gbAqL;=q*0h^};Z8#A7G^Jau zK&oSUJXX;=ysD}!&($hVJ~=iA)on4l++NI6`{%prZYZnH;ken0H8@Yk}UGx3=&H3I0eQ7YK;}&o%l_kM!>g zg_%B23=-9iasa6GLTb&OUT6-goi;YlHyJK<)pl5=!#!rzU8``}H&QAGdRa-T4v|?% zr=p#HmWy=#mMwaX*MT~{#_P~t^ct-56(RyB6;<^#m&0B~WDej&W^hV%UhDPD*G87$ zxY;%{QP&rR@XfeZi^?In$u07f{`DsP>mh(I?_NJw>50ruwM2Fwbc;zZ99YE&#OXFg zR}LzAl)$Isvx(laD-bCC8%_E*LV%S#dDKQ@tBRhs$w2^I@oqFB~#5D?P zSv8?rW;v~tY*-%5Jg+*>swUSv+w@IF?Mki10K|R^i#X z3J;hUdeHlo^I+15JgDW2fbgk8Kf-nH@?zm8ux>;ua*)0mbSkYGOPk^#$RuC86HF6Zoy%MV|JE){f!P6Y&pVR2RJtG z>lF@ueWooF{+Y&~jyb?rHXGr2w+H3jRD$PuCv5n$(s8KqxKV^#@L26e3xtP9L?ykV?;Q53(Eb@pt-|lR&n_$GYs9G zgt$^qhV}{s#w}Ca|K(_72gm7s^s5rr*2EucqMR;y3$nZMcM|!^TKu5n> zrovBTdEO5C>{@RJeV$q%{ZENJbJ+|U8kB^%pg}@ho1z7MS~WJ^3Jn_J`T$1@`Za~i zfqVpFN6u2s5~~+IQ&<%6^wT@6V()-F^cm#y+ey(?c3SmYHXqX&I{`^^nU16xB7h$L5@W^3T>Q9?ef7)tJrG7_*D0zd{ zC-IxkB8b7IZ(_IuRt%LWQe=7PIeEy(8OP1zMcTc9@fXz<4;3Ouq zk%zXm9Mw8ks)aWcf}ut@rqKAl z=h+IEeOv@$z{_h(&opAiGP<&U?!v-my{uDb&h!|2$>|Q?(;j)AoM55fiIh3hWItIo z8~d98MBSb$K>jez4Lp(Bx(SUO=enM~B9l#~3&tNA-`mE8Wod33W{-&L=D|{${r9x* z$#$0NQS{%{zL*YpHwe&Uyc>qWQIF&=72!+$rdV&Q%*tiN~cM;&IxQ@wE3u zx;`y4!BX#;TMzgdaN-#8GvLJGkm|X*q~7WtfLykiKJghJ5ucOdj8FAO>MUhFuGAKW z0%v);C+P4!;K0uH9&qpo>?V~kJlr$Ofu{u<*WYM*B`sdyLt0$9pv7(OprzN}=bo4x zN4nRCR5%4B6?#)z`0ZLNcAJFI3Z8~IO!*S$@)C|uq$5?v5?MAVG79c9233L;x`tSo zwH)GbHU&+Q0uU(Ja(9!-TF71~e^r&{%7;MYXTh6B_Osy4K!pD2IjXRdKZO}*rBX>j6XNq?5o+N25D5^&$IaJe}n5J#RB z0D8U?3pNztZU@|nfP0?8RVl3zDi2N8sJKg@V{tnLBh8PASWWnK&KO6x$-Q` zCR#RSE^c$v3)v7ZZ+fZD-LzhX#u8CiqB$ z;{~hvMXkhi>vhVDjTzw>Y_hVSSGaN%9}IvvG+EN7k~5B|u)L$;E#%d?eJ~{Liv^F2 z;5}gR#w2{T5oXjv%lcy#COM=cUTP-d-(VQGmN2}%N%Ja$@C{&ps5G_q>q23yNm(~r zK|HsEb}N!*8&eM~4{bdANyKcr*6M7Dp93{6-TWM=d3X66Z?TW%7K?DqQ&Q%?$}N`7 zBXg0RlIkjm%??5?o+JCajGb}9)yvXJrV{@Oe`9D#H9icFCDL2mjK&2`C zWkjVNP<$3f z_Z4CYu)fa1Y$ZrK_w2+iAvx{5diy7h)F(k|Ny(;yLDTSP&<=z?A_mRpyUOQkPuX(Y zF4?Y;-p8si=}#wr*uQfgNF#XTN8TBKMyFAyTWz`=r|fc0p???2WBU<5@=1jYjQryn z4JR~htG?n;B*8h?bfP%Tx1gJ)E&j#gM{ueViQ{x6QjxLsNRb&YQvJ^Gt-wybvRJTr ze1ndiipCe*geM~#HtG2$=Z|NWt$2V^(U4J4w5v8Mhq z2V67w$PYOk@+yaioXU`%N0?4kjuV&cx;c627gS8S_>rGXG1OypI>Dvo2rhj-ozM$h zz|eonkiLqoTx>gxNpkrz?eH5B>2iT^qmRwO-b8^irVtoA0qU#h(^71l1R;qf`HcDHd` z(bU?FwXx{~xP6F^MWlDRrMM5behk;AM|p9{cx}V_4ib2~dlm{Pot8^a%2ckb)r5>i zJP*<`XqSVu3=d*o>1IB&n7u#^CyWbqZi|?4xkd<=;;GgC26-|X#7B+>Uu)J_9SsT& zEm&|o8dMyK1{u?J4bTLeVS!+~t2FF<((^T1?XG=cL#Z!J?vIU%{vlUS4UCRF+}J4Q zZa`G5VugqqfjV`e@LmT$t<6$=Xa`UHeb3>b1On+((5+kpw zB(wzMI^2#r8+_z*6Yo|wVWBO|8D!uQJYn+i-t> zoKXl8lCMgaY4MDtp<0 zzO2>m8VIZ}b&Mw!2qY8v|5+UHJhnM~=L^{89tZrD+u6)wx>jqCMp0L9lg=}7GG2m@rmW*CsbD#L&UyZW!3J*od9R&N;y;X@a&X>_Zk_Qx3c@4?bQ@=!Y) zlf3!YFJ#UW486P&a^OD4QCu_38Ly-O+I=Tu60t##jlE3Vc{sb{@_dUO93S9jb%J$c~D zfeG9%4QwG&zC0SW&`Yf4erp2c`hzWu7i)UBG?uxY-UnH}uI3aUT33RlnEr35K2=Ae zppS19=#|L5Yv%_22=s^By1N5ExCZZmu6d{{Yh0l%Wi}T6Al(w(;G5}|JkmVZo$}1$ z?6sbBr1>~`GSb9Hjx;YcS6Cfs3JxPp!SP5_aTsaFyJNq~rBq+S5JWCM3Ze&@hM1Q< zzBU5~H|{CU6&4_L;uK4fF;auiYn{UG8b`gkgxY8#FBbCc7!D-eAvkzYSlMx8Qe)D`*tjH(+)`-+uGgu9SZP=@v)gzM{;c(d?S46UlCOwEj|U!dj{^?;4^1 z)PG0l73sm*Gj((o$-e%x{j2*Wa|&-^2W2evHg-^-7Tn}cVP-KyEi;0u=r||DUYD+C z@Bc|>f{%Q*c&jqWk#HHzJN~UM%go{+OPr!48H)MokZ%7^xeWNwWi-0C?Lxe~Gx2c6 z>SZG77rQ7uJW0cke31QK6?Qt@)!6~*+n{&n+CSloKE;{Um%AX~)V?j1U<5BrecQH@ z(#Udk2Rm+xVE?}-vy(G89bi1=m-V4DBVk6<5N3qvqVHp@55C>)rxe?ZRPTK zYc;{++*a^>-e!0@w=I+Qx$Q_r&3CH0SaU(*G2r|SYAd2;)Gs*BvE%V0jaJ)&Tx$!!_Zm2@Z(Jl5n^@Yyv)AfMd6Q1NwgD?Htjb%AB^rrLJc%qvsEeFWei?bVz4C^X9hT2tF@$u5CJ@9m@c80igUm7 zd3T(rO9;XMwM0(m%^?C^$b(UHUi5qyTVgec;zJLiu#>z_WbFP>`BANdggKQ%OY7x} zliPZ?_XT|9G4#ibMfIllV{|Vexe`(fNk6FY(<)W&US%-u_@IHjL&2t7qA4|{G9-N< zoARe-C&;sz)RtC7U5XH5ql#pNV56G8qN=K#sVR-l>t|eP_)w)$pbx1)(V523TcTpY z#7P^H&^zJ+rn=KIaXJ%LPC_OAp_t<30O&C322 zXI-UT1@EO4>|prF9qiXs$UN(Mgj9W|COA}^;CQ5`INdj!{i@RJn0w@&lv_3b7WA4I zXy50G!$%&xo>20+ca_0>@cKOkn{J7ow0D&uSsxnA7c#*thUg(+;YeG*h`}K%V|g@J zrc6_0oBgg*UQJ9j0U^O+nt&-P_QtH6EK0EW_d6YY&j@>ZZDX$8NuZ2K47Xs%fv4+WvOi18wG;iONbC6>#M5Eh@rB} zB>2iMbDaA#KS*t}D)`9zGyg%Akh_fROY|-yINW6?IKDqqak_Vzzf+n|y~}*a4Fn&# z%Pc&#V=!3z?I* zPFWhxD%pZs4c`MQFzluHI1{%Ls?$43Ij+_Um5Orex+fp3Yj`_aWc1$VKrs|doTyM2P`KLg#r_uLV>GfbS_GvdzZdMIm`%6vzg|v zWDIeW{72nj@u9w+t#rM&=j+prc>QHa_GY%#GYzs>JiHHUN(bcHAY7Hx0e*(n=NbW@ zL)0bQID-?pd^o(t%|x}dc(q-*VV z*V>}teOtr~G*m4^`*^x#u1XVhj;A6PFX&+t?QpTeWU>tDM{|^sDy=LEA=s}>X*pEQ zz9y?I|CUYeP>C2FQl5|fdn8nzD zA8livU~vo;F??38Sni+7lzl;9mr`C$OdUOh1dFqds(g?1ar&MFp92VoN7s=hW3D|X zFp!63b!koM z7;DgVm#1@In!T{AZzy6R>%Z5d|F3@XF}3&q%^T<9V&*T>zS*xnP5WL9`=;L;^=>+| znB7jzKctfCbWw9oCH)3@axoJhc`>tXeX4pfQ*b!O3y#lp6=&APOhM#grXYG0Yltbl zXq6T-1&527g5$nRak{NY3JzB!1;Yj zGr>n*=X

$-{gZ%=^SEU6z@}L6#W1Wf^QyghA-%Tn2pPb-vdLaR#A>(@ZIUvMaqzVn)rhi6$t^kAn|~Jkmr1dwO1sqNSQ1ly0l1D(k&d$`GQvjA9>;O zm$f1>>4sCGap6+%7`6+ZugMvnPG8ETec|%s6*UhFmx9EFOQGvES0t@@nQTYRtNc-J z%G|B9`Gl#+7hMVjN0%5SDEW{0zmK3|L_6Zs8$`vxcEBDLFX*GYK5|Ck@0ILyD`XVPke*TamP6jm%4l~iLwXA48v;3p6pWzL7DXi5 zB2D0*oKf(?Wk^rKC?oB{Wl=l@V_K{B!nqUYt{WC9zT^tSM^@PPT)LpJGNdc)yAIip z4^vnf($g>hDv)zfn4q&~ib$S*S#X-9#iuno*FIc^^z@4|QiYX8@$`!+>?x&RzD&i@ zkK-e!UskA;+2@tPJpHoVD-+T$Wk^rIEX@RS`$6Zis-^KJxo+}nBaJ0PL9GGmhc`zK$ z12rVQswm8y0iJmF!Y-abY&y+lCpJzPG^@HHmT zzdEnDNt7OViEqo?%}U@Vf!=ogV57ZO&PxwYPflV}GxlpwAya)2*8!yC#5Ej1s5RALY8}j!|PU8f6%wPN=8M2UJZdR4q=|QzHY1 zMy8qr^xA0|v1;MAX?LiSsN4>%)USl5IIU~YF2c#zu9#TlrsnBA8ERqs}4XToM z50H(5DCwIvrv3elCoR$#Rh%+oC^0iXomHV5!-rm9KsPoi0{Y$k*Ps>C3nEo<$=KM|e7^%eYyi-HcC9MUW0>gyUU0 zYSm`6K#eSh$KlefEkr`@SrQ3fS(4BPhjJ}mWm@}wsYUA{)Rsok^{7yA3{Y6T|erdh=5F94jDk zEr1Mxc$}i-#(F$&`#g(eiH(oEJMUFe&2pwOql-}5)`HG`bAs;sIgaMG&RD^A1&bSC z1nZfmTg7tymnm;F)v91R)ewjzIw6i(@vz_ZY_B*zaxVFCuXxAh*k;;-#2u}Ibg~Jh zNGepBEFrQ`v%E0(N$oyN!<|FHXjAye&#nKY8s2>FYdCD?QT=FO(6f-j!$C@l$qu^D zcWLWPxAJq*$}~axlE^!AJL;fVCU}k2UuB!^rMX4iGcq)6&v^Bp>s7=@en#*8uKUUg zR=C47Ob9(%q0nQ(fET>~g4Z)&wym5Kq~E~*^9EU*$eYFxt`Ck+4#|!XZt^Wt=Vflx z;zzP>Dnx5pgC_jTT{=$pn0)`F^Q;;%v~vmLghf%d z$)=C8HjDnDD*yU(kkV}bJa067Xrob@&uBGb{xx4G-Y+;bE5Tt}G2m#jr%aZ)S61NH zg>1LnMNqDwGYcym7^IWK=S;cb*<_U^L2~b5W~7=bi{iTzD>Rjy8ZLt3y;|9_pXN%! zhh7~|CSOdonYHUCdlo9(B_~vxT2u6@hhs)MNhd!E${ufuYu)!tqxj3^anLw-h zf_SYfE`e79n~nZ=OZ2aa#hE_O(FlJwlZfX>cK^DBUMdc)7~N26Gi=Qp!IclWbJe`z z@R2*$yj6O6dR!H)^2osggb-~`2r=PFO)eEec$qL?^-lnK#X%wI5?JZQ3RzA*1Xn3o z7dd@C(2%jD#mnt6%Z>Re0LK6k)f@d36=1a%uZzWzla;5M`Z-Efnf5M`mF*%72oc(4 zuDvT9_qf0t2_N}L>DjK^J^9-3GNfl}&#cnzBK&B*SFkvF7W%%@q*y*EmML>kpiep7 zl{T|DSGn|th=xTBF@>3@fGlvYNX`hSO65IoYkGu!!8WFH6nXPKLN-KaF zaWgml6BdgP7iV{$zS^|&>23h{(5G)$ms?!SJr>ys53#&BY)SaGN^vcEZXt7h7<1v~@|lRAN6 zyn6|&$(brX@~+L>wVEQiKrk0lg1A#5a?)s}^4mGtI5;vs%{}L{Fyz1}F0A8sJ4tL=@93154~R$N@ajD-c{ zYiqua!W9BMzAT!zbra@?r?Ef)Xzq-~qQrrT(FU)Qk>4cMJA#Fh5#)Mpg#|g6#^mS` zCW9qX##+hP{^|Pu2CuV~8=J|~)@lVmZn&^aTGb%;HOu=+9Vw?AFd7G50` zDPA479oHutwf6J`FY(DN_G;2Q6J3ry{a#^4lgr{=m+;<$IHF;yQK1xH*a#7gba`>4_~lxlgF zo2f3teyVgc6=tA~%lD0r@4Ni!zQdPe`h2<6*45W{V2Jlt>1vFu0EtFw_*d$r=^_sO zRW1dVT$`_e*{YeUGB$7rJ@16aA~=i5B#NrG-uBd_EK`l7g*mSs#e{wEKb8;_jZ#Q# z!CvR}>7p>+Ehjuf?Y&~43g>KxadZKoCb<&=D?$W!LB<-kM*Lv+HsLAm|8*6Lo z&s!rGC!RWj=fQ+Hl^3&E7Tj zj*|XTi3n#psUe#>F^%4WUbWYhVjaLl-wW@6CDr!C_}Gvv=IENKS_(MT>ifnIHcYjb zC38oemGnk*uHO3d);^aiTaSOW-a7xdLjG8@SERYD*3aH{_e8CP=g&}YT))w=H*UbE z;`Vwm$=C89YuAFRkToaT%aMp9yW{%}gSJz!rCw%(hEyIaVF zgBdu#uh-Eiht=)MfSU zJ!tkuapKgGiN?Ul{xSII_R)uqPVeh`wCA;7dD#i_uUJrTPaQ25^^Xrtk2caXO-0YX z@u4Gt?!^mEi?+!fbGdLK$0O20;lldpNIk#rRP?ayXtAJuqz$t5w*0xHkeF?3{OI<1 z#WJjX42%yCW3lt-_Ql1r22SbGUuo$|{uv>baq(akRJIxqLYOE9 z2kn8O#>7;UbWhH|O<+_Vn>s3S;|awwmH#$mOLH9-;Wj+hxL5@Jz+)UOuVoZV?w(-i zP)CS^6^&JB(bafd@pSz6jP2(@q+%hify6sZ5K0RvoD`y+<~7d}-b<_tmX=A1r4vVN z90%=U{saVF1xsIzK7Ts?d&c(DwaWa7ROP2Y6)m!<-A0S%+AN+zoY24?8EKQA9c+Ww z998bcd_0&~EZ?(r*RE|_cMa^^emk0HaO$wM-fnIRNuXe|0HU8zEKRRDq_Se+!TRWQ z<7o3rtJF2kOPkm6fv>y9>q7|)Bzi#NCIi}(!Hb>)2geY#U)Q`1^?eYP>p|sU+gQ<2 zq&uef6+LylBXP7i39kX9N9r()R-v7l#O=AYK02C2D0+sc#|Do!?*K7uH=$0F%*BZl z^}&Y`(!u0l_(7PnOqiz|)qB{;OCD|wr>YM8ZObg({2$~%f>4<8C#i{%d= zLci1ZI-r?ip~R_xTM~W+C04pVy-ycgo|8=Cgks69cy9r>R!$|Uo12RJQarMWC%5D! z5IzcF6_LL!PQ9dElU>sj^{Hm9K8)@pG1r~<_1BtsWCf%dPTS6nqUT|}S0Pp1WmdNb zRb6aVeLe(SwY{^%Mc2-TeNRc!qGt+wsg5>xT77m`8N2ii+WEcUxE!W+FF39MM|O^v zgJXZOVzAj5e0TtRs`#Lcn_`4N2k`8VF9SRq`US4R+izKI_Yb~^4M?1GjmP;Jr`~*) zSZyR(vr4}NU2VaEHr!q!T3qUrfUEm>&Fv%8Bit{BxDmR=Oo^RJUE;{pk)zGTd5v+t zJCin<*uPnCmbgAIvpTGYXsK5=A3#UE9$5ET``ibtla1aR=nXejsylm`{FRB)J+TQ$ zl&+gZSA*yxsPt{p1U;?#K`bxK1Yiw&q&}X6dHM$@-DIf>ViX z=`7fiZ?TrthKUfpfS@};ZJU#9)Tjy;x&m`In%w}YQr7-{Q|bMtQi}XO5qSYRmsc!8 ztukSM)`ZO(od`5nL!+cgHLz-cc7uz=&a-;`42YG5VTo6&+A8h>J6gp9R)q(^j$;M& z^z(DEiY&R?0!gtuk`%im8~IbBjguwsFeq+vcVlWAt17C%i1IX`P=TKil%*JQcgoey zRj_O{D(06=jk%+(=*OO-G3@jjA4TuCu0%F#O|t7Us_QgL@k|t(4%Ajy$j-)EvC!4} zV(V-##b~nl*6{<3i-I2;Z4ASYWhGJHG?{0alAZ-}Cz&Xpqr(`V@ThNFd&hWoi5aF| zEXU9SK6L~Z0-UP7LtO@mp8;7(+#MW-fn z8X1M#?W?jJvOUuTyFSpH*|3DX(I7Wv$c7CRQU1*+rv9NUwJ{b_|ExX>UH=a?ij_m$ zgTNNos0yyV$~VpCqj!QjHyR=ViB6;a^506zjSy@}D)(PRxl4Skas@}wQvk|d_#IWS z)igq!1_;&^fl9qtjO^a@{<&r%hwJZ;pm^i zsMVuzQmZHk%UP?v<||GqmJJ}toEqT8@eD*8R?tMVG71^BzsHM(t+5eix*suRZH0Iz zLA7W6dYF(fL^%slpD@SG#nBxGIe|`qux@-5gyLY$= zMqryMv{X8^t0=wMm8;@}V*a);Ie2OFcTC}*56)rP=6ko@wPj$-rafD2{J0%;;RF&F zN+;X6RK@!}Xq!~?gwe#;@_O?t0LVQytA4@INSd&bKK(Z7Gd!ZMxCPYu)of}e>N$o= zbHku3s~2LnPX`S%+X#12iG`1XQ3#u;$@W$qKUnH2U@7fyt%}HXFivZy_jgX67wObF zjDxMGsYvXycYx#)h>qltSO^<^i;yhlbK}Jc#ez+UqI|9mrc2S6kQUiIGIsYw{{8dS z`WE=e{O@@3|3E4Fl$@i<6t(`)? zwGIDi-G%>GES%($S(p>RGf13I>>Wm*(L5??*w9fV&B7(nK$SHu#3IRlBoNd`5$h@= z$(RLLt$|eEFc3x=HW~tlxr`v9_#hVP?gSVTsg=?!z)k*978)pZ&#ny|IbN;0mmJt# z@)SdE(AoUrypik^DbB@4`Vx?)O>+5>7Te7yPN*6dhP}+q*!dR>Jsp92Y8Xb1l)TT# zKVQ(LS!th0?Pal50E2iA0CV`)I?O+F<7_apSCq(Fdpl1SV)SU4$Z8Dd2h6NWY2DaL zuJK)y4kV|41M zP$`z-{nkbfTu;CZ9iWqqW<#EQO*pOF%6faY>W%J#5BlLvMbxIDj+Idtj0`iBE|!eoPP6tAhyx`dmjW(swx0rzh+MoDEKKm`Zh&eE?=s`+?8!c|R|MgCVw9J;JbHE?`scEjv!r{ylu=bE*Km}Hbc$#M)2Z5a3gpv11%0X9~EB3 z!uIIMAe>N|mJ}nM4H-4r;8=hf;l7AHb&$tcjCNfJnJ! zlzo&_L^fj-ouyDS40q9H9Fq&BhAQEE; ztW%{J;?JbAPc5%Sy3AUWE=`oK_FJmNJSUAnO#abl{;dHOD-JLbfpsBEL}>4cC>&F0 z`hVjnr}E4tW(OXW<3VTdbrFxVOZJGrQarfl-t79C*P0m+W3$zOK}o>KCbk-WQ{T!u zf@3vfmuYvk<|c)^jlyt=f{!#&s{MdqldJaCud&=)hvjVaKM|>s07sxT+HRl|RkwKS z>i|Su=tplcI=6&Y{+`k)WiOL+#2Oh^I!qJ9W?K^5y-5$YiD?8fhb~J3=NSREGaGH0 z5SUw+CH@75zoCR5By{rddu+vyLnenzqiz{DPO3=cG#q zFc8mSN_wJ9NwI)9Havpiz-Oixfb~ic$01i=;%KcF?R1aAPF3~G%oHB@c5H8{=S3zi z7Zzvour&M5&_Kr^LT9rEOj#pr<=TEB>dQFEh~^}2vhxQR$t>fBj4k7b#_;0Tknd8! zVn?e!SsTWF9m~cyYWuOHXRKzOu%>6d?MK34A!({9#JDo18;h_#MBaj1TeS}-A=yTk z`*}Q;TUv%p7$HXKtT(y?NbuYkznFj#zS**o%nta-{6}14U$qjbuH4aIKQ< zKIqS^gN_H6gB86Uw!xaxZB~rT@A1+-|Ite_@2(S^^I3q$}j{S%PxH?M-IN)Xi){i2Gt4bpJ zm>w%}H6W;E)qrZ5<coHOcP& z2WZV>O$$hZjX@GNtuhkq_>loiS&K)MLHCZoaBA{S?m|~nxz-eMEf{chh%){UAyGD! zoF}dNN`{p750LK35S(;R1zmRcm#JvEyGJ1U8g}=`3@CQ@2uBA;gLtvQ6({;o&se|* znTX+0--{GOI)3iU+}YS?FW7pw4l7ufF==U?n?$d)Iz0d}*fWf1rq|s!5dGPP&P+)q z`iTe*F5A6h)6U&@+`T98oiN1jFC*sM)7+coQ6u$2kYcku?wXuGBH0z1E@gGN7Xywh z!`q&j`Yu+cjbH=KaqQT#UKw$?Ou|-rL(;ho>=Ed7<+@}Yu14H=8E+%F47=p8zo;=b zm|ZL>yuqsQ-Vz0Mu~;&;-A{QYK3=TEevrWiuGQBV^=Na`96T9WeZpA%ifQ3JQlm~! zHiNt*V~GE&hW~{Ueo&b+_#yzPvUjPG*euNU!oE-1-obtkrMcs(hhsTC96KP( zvu`-YIPya9H|Ow7qw&n(96l`KJvHY*x|E%C-8p*UAEI&rvBz_FYEmc#vcHQe_Bj&}N4h08H}WcokK@@I9;+OeV9E>RC>!XOpo!SiOyx9M`=xkL%4mvprs2Zv;yc#VID} zPj&NE(_z|T5rLMQZvM!CipAK_Gys?9jx+-M4CyOb+u3-mtI}Z;hiP<5ah54YaXci7 zRBgLt>&r@2(Y+EZ%$kv;QkOK+(}8ZTVv}hBr>SJ_L&bkxsMA$skuCE?k%_`37ouDS zo*6~kGLmF@mgy<9)@GA)b7-x9QY~cH6M?+7{?UMn%xlXFTxX#HbDf1dr0M&( z|8(o8rIdMXS@=oATHZaD*I{y}&bqk|_||?cFy~gw7MPz7=JbOraSKf6B6eIDA`Uke z5Qh`mjN?5nQsqpFUh_nyT8{tcARTA_RF>g zmzzGDW04z=*qrrI0N=8s*i>$$%~C42rnH&#?WX9&snEM)bkU>^R?Jz|!D^*d<+?0r z_vJt$a!(f#Swk9#B2vak*6V*wlCjHhasvQtIN1m4Y_ol!ev(n&EcoTfGgYb;)JJ5B zMr1N)gWs;q8Ld?Hw$ZG7VzXZp+gI!FO4wmJC?-va#C-uoVw{C<3_4D zUYAJKHv)_*)v^aVhMkZOqcn0_W6~Y2k}lW@aV|8RwI!S=ol|`VAlMcv9lb}CouzDt zmhzOrhvjSs%Ea=}4(59}_;_jXkJSqt!SCRX9T~V9pv=LBlpht&bMQMv=4u_0InYq- z7iU#vMdw^i@?XWm!Df9V?W!Xw+5|~4-l0ttN(v`%C`M;d0}^**s$8q!uN8JC?wQ8f_*Bo1d0x{BzKKZ8a}w#HGE%Na@D_w0FnH!Y*euG#J$Dp?yCp(3eoQt06Zns8F3XKV zM?%C)jC2!-xlhCv_m0L)N$#@|!h3ZK5ZNW@pg@tpv%8UixOtB4S$bNrlwEcT zJEE{!R61JQdNqwe&gVHlLnWA4jA$Q z&~&HvS!u$`I^C!|-E0UoiNQOJ%sLU^@G4vNpx8TOR+jxt*dx;3nA&Q#)-DEpe zrWa#4Vl$v3GoB43vp=Z9t`J()sh)^*7#5I@hgW}ULbrYx9~RO_IEFT~qpxOum4-_k zZUrXojU^nnok;ciQY|8c*ORmOtR;bH{WRv^WS~RKo7Ig|bD{ zRu3oxy#%G?iY9CJO{rNu)crPt;6`Zb`fs%EYCKFE5S@ilKrMBf*ojhh4mB<99Ar+r zB{s`*=ZJROZ4&o62w^gg8=-L!@>$?Ni;NwUxWc!IO0Y~cMhZk@Dvi=Bnt8}bmvcQ< z;M=C1${h{SNQulSjMN!pk^1*kapj4|F^rUSco3F!eA#;u?iJ!{OEl65cRBd6p?VaK z{IZe0lg?c`0CCnEZLV}?95=y8m9cfMMTGErGPcf2(pDw~wld{s`IBzt2_rNCLf*=! zN(DPxS?93Q#zbNp6Ulc1E0VQwq{_IA;-4f`%el!gh7pA)Y)I4dO^Tv5jwD$gYK*Px zw~goRt+MO7^*&fdskerCWHIky`b>K2Nvp~v*scIsHpThcz^QSIc?Tmn4=xeh_a-a2 z2LO>EAz1bERG}RKK!u57A0ajz;W(t35{WTIM|Sk+G^J;#bp6Fb3~qejS*LCw7WEv5vGbc~#H)JK`2)9D_aSS6Jrh`a_V3u3n{RJQht`_c23h~Io?Nm zpc`?x+^HJA^#u|2uKEbJwx*fNg2rLonUQswYFRA1k6X#NPEMjXT5S)51Ba`_kc8cq zlJ3qLN;!$*>G$ITw{{!XSk!PE+tdhx_;kk@?#ANf0%PNcY=k9MZh|G%TS`=2Ly<4H z7*hi~g)ioPb!;P)X)U2xf6^gTuD_@KxJ2WnNWh1~k0;BGZt~!R-M!JAanz?bpMh*i z{QXFmepM{ljcXLJ>Yjo*t|p%X=3GstDYF9mr2^uZyU=MpoDGc>XvCzz&Q8^jW(s-m zDi#i77b*6|t0y5Ia|y)b(e#WL0Gu$B4Oz4R;IcDYK(#(sIIDTam2xkyYk4{|s`Hy} z`ik|u4)W5(u7kYH=1`pJs(QxsA(1%15{aHQBUv3HRYn?}bznJ7hXlNQMja$7@U6vh zrIbSrDJn*zbigavOdqO|wkC5qk=r=A;K-3B{Q0N8+WjM= zquA)nlhlAt1@bTkE)&7MjrwF$ZSR9?9vK;0v#z#A&Lr_eLT-ML!J3EsQbTS%-ZXXu zw~$P7EXAFWZQKWk+Y5DQ1!=IXkG9A8*cDb5dHYM+v%JYK(%G1PB0W8TwNY+|)NkKt zT=6bfU#)+-JtfqIIYC8;y!V(iQJsyoTT6G*=_Pa{L%11INHlTiqSnR?uZH8F`+0#4 z-|NEO?vY6_7#hLFJiHNx3{rAC5YQ_mT?3_7+qFUOhD3+#>m0axAAE4b zLl4<*e`j1GJB52novdC`>R`LBn4Rvr+7%U~NskhzYcCUVY4oz>SI*Aip>?$ft9bA* zL4{Vt_G`TBbYvJex|Ug8bqrSEg`RUGe9?yW>(|VxGP3ttDNmX-ei<9@#{KH!<1QU~ zZ2ZOtA6zqZ1*CCtEJnH>KAq9av*7;yNWx<}$gbMnSr}Y=%AU18jVV;uwAr&ko&wAgaRLcuMY1s7jZ({Ng zGHIUyc^Hi-CgadZm!%w?-=K84=@>_jcF72uLUio^sZc<%xN%@&>d3$@5A+@aS59Uh zqNYs?@5x%wDPsikdHK5)XcaIu2qFcal&fTEo}uE?BpfKWUd%}4aI|GfC{E9x3kJk} zE*Q8Ge^|J4HkkBiVGN-eArYEO>r|9NYup*Bu{=v6%lWN$fwHCksx`QjJCW!<)3o~t zSkfwvfTd@%ektoP&5gWLTooY>XK%!Dl`4)~Ql!e@pB4GIE1iYZ3DH@YYmxT_Rb39# zdV>8~V|>Pv6oIj%8{DUrL4WH@)o{#{<-kxi%Kh-%cobx5&NmfGteCt>^L)CJ-tY+6 z!{AqWWoCvc7T!B1SKg(YHF>abK7?K~y{}=J`uQe<{A~L8tk$L4QpSm-JrPIv%^V#DpjlpqH(RG2NIvFPI4X$fIm}f@^hK? zUQ^yF-dpdfx>={&eGq)X9x2RjQF^g04R`7>5cZ7K#4B{h-ZSHF8A};v3k@4&7NaJ# z#igjA_s_poAy(msav@cy5_aopRcV=EwaY+|ooyMod9v<1%B^Iz5zejq+X`p7uu_)4 z^|v(miUfa{Q`r_CNq>?&_i<4SU-$ioS??N{|h7w$kZxO@jD0ZCxVMVu;L)3G8PM7IVuVu`M4o{JPP%w&X2q$#q#UMeyAQet$_E zBGZqUp>!K<9yp9%m09enn{2Bs26M#&nh> zlhyh^Bemg)1N?U`xs5?dB|^n1H=?=0FuRAoW+bUlJfJ$ek&o*#>tS{3U317@yvKS1 z)-`H}kV4}Bm{I~vn>QEZy@_PF6!^m0T;;gBoGg2)a;&ReJ!eruQl%vPEHWUG!G|7k zRm0(_+9u{w!{3|NFtvj8AAY`~BH7VRCI88CtgGSb-NycLCXbMb!5<6vpUQ_9R!(HcsjWGV*2gMt(;bn=q2ND zge8vemrxv^3`VLx#oVe?%V~u?*$hzxu^Bs(KG!KY>?k&4$4J{(F>Y1bbnD&pkU51F z{ENYfap=Y1#Mw26!27bC-8Z%qk(+>t=y?c5q==EMFYoM0B6dk3gbk*bfI1a?38DTPqX+h8_B1d2lhKWm@}8WTl=ET=|Qppf*S)Lb5NA{@+3v2#5w6AY^t)R?L1 zg-A3KhJvH2gR)_T<{%FD4iJZvpp4^&6{-5#Y%4cdJ}sY{I~W$R84#1c2gHiaR*SS* zN+mUwwyeCeoceL>te+=2H(YBf!n3YvW5M&4VQFp{;b`%+(&uGWVqfkSB<@ox4Nn3z z@IXmveJ#!fNsc)QvgINhwfrI_mjbHtT#y*+4CBfY#*RkoH)V5WZ^d4-+y=Za3l^1^IbX-k8;Jq`;FbZpOG zss3j`5c>OPKoF*pDaeniAoR@LJsuIc-bzHz6e}Y8P9)1xR^f3a3#WW+k9R4kQw6+l zh{F)YdWW@GWnQxt4&xA+q7m8C+&`nt;cCJrsyHDd5?v;d++`Y4MIyQt4&xA$>+rnl;fTO-!}4r(VOXPSvg1%n0)>v#C3${~l-@cJWYDk<1U;qqo7xT~w;ka;rT4#5 zd$nGOPuuPHVtjUW*CfM@Lu5zmp_+bI$s|iFyK7?5#S(*An2eF#bugFUoQcWw3^93# zG-C$%U|xjhzEQ$o+YLUrQNmwu@Z7wV>C=s}lyM)aZAK}ZTNUQUN(fi|t$<*I|Ay*9 z(b>>MXJKyWx#tZ}1cPDFI1w~>7JwrBnKCG~ZG@XNK{}IA%o|2oEN@tOyr`Imq`7YI zF|H}#q+#tS_5=EV%6u=+${DuB9C6!lG!B+IjJs(Rkh-zJIw#i}}P(7tmV&nyn@ z#(^f^_3JZ}oF*=o*Lr#9CU&|VshKI=0r|KoQIV45~7ndR?Fe&ZEqVuiNW%&lq`HBz1FXfI8EfmlVSN?OUTH6JAohag0u;8cR?H8Ig%e2Qr+v_O z8kswx*`?3`1$mZgjAPD~__UDIX6>PGEZccxk3E!al_oXrP1z1=*MS7IC;AQR7W;l$ICH4Ej2Ngf-s#K3IA{sBRj)9 z)Kq>U|J%W@vH5~U2UbIW>0%uS6D^8u0jgmyNT(~)?&cecH0kKSo`ntZ^l%17UdjZ67N zPqEme$*!B1niraFp9=QOADs&E)>;KVBetYRb5m!GnOGum(-4uEu41hfse&p~iLCS| z)Iw!eLjs)sl7N^0ij-G9fRK#Z8l2eNqe5(Ur%b($zo0W}1He{)(&DKo(qc$N`}!lLrHnWPcwuJ5ynGac z`~FzD-;1a&BMWm~>%6TmY{;IQV?70O&VwkYK+XlA$C3GeE3@oaBal6H+4^$>DwgkS zV6NhCVW_{12y`;6;MWwvG>LjfAg;KEMvRvZvaQ)Ys4S~7$Kh~9@>F(@@;eK&_Kudc zQ@34xsbic0#x*cL1B`hGnv# z%l}Tw=h88V&Ezhz88c?;-Z6~VadnI{L6t^#Ca8MHSh!fyXO$g8?gH)7F-VIGE2QP= z>g7sn6@Jv%$P1}GWyFpV#bBRe`fIeBHF|{e{&2Fw<^B+XygyhCVt-&0vp-NrR?&|Bu&go0`=jte4PJVknH|nM zD(BV@&ILod>T|)6NB-F;7mDz+^aCPsR3Q?ZIU|`$B2{n9vsES14_MCCR}%2@^Q3$( z{eala;SihMkfx&4y&o8_Zv9|x-t#=Lq0yZOHjBW9-t%g$L^hHL#EAljf-4QE^{*N` zbNGpHo_yY*a4?d%N&NJgSKCiD>Uj4`;xy7>dr>G~fipU394(gngjI|r;ay>PTwiCC z8D1VP!w^S4n+*Pr61+z~u|}M&u@x@Y8kMWdLUvehq9-$woda>$Vb4Ley~Ezo*%lGV zJM3-V7NNsNIPb7qQd`(H7ZJ!itkocPSlS{xEZf5>$_^_}FG<3vS+AboNk)<>TwV-H z3cNOyF(&o6L!{y4ZuVJKYPzP+rAUoNOKNVk_jf8P0=d!NYe2>FJL?DQw~q3WlypKV zBDnSLP8yqima`;3Of8nU*CgBv2|3$ik9kOGWed*FAqx&KCS|R7Z7Ij7N}Q#8#vg8s zjXWJ z*Kxgp3E|TiHA0=nu$)Hf<>=2e^G0hu#=(b6XTOpx8ZbnO5zuba1@Fd#VP5n3ZHKuEf$X95WC!Ni0ee^ zqa!$cfc1YRHAKA&0m(Sh;dVT6-Mw?D1GFgk?y z7VB*N|X#L?vdjOAJOf`>gpI4lm zf19XJHkbrvD4WiY6{pXrm1PlDP$wtbjPSG~zP`132Y4?)t5{}Y`#O-!pw*Mdgv7}g z8hiVu5>jPIop5e7oO??+rLZHx-fysY%{~aV5<7vZ&ve~-f*&;aM@sPX?mXH|AZ-Jg z;^DlrMfI#cRnMACHP3+wpWC6?b7pGRPwpel)1lrKo9k19O)P@T$$n$aV|1JcpyO=6 zx+LA|+i(#DUP5bkL%Y_{?#dFA8YL#RyMn|xX50B9_+ot#+zh*C2Mssb_56{cqs2*k zH2s_;E*1<<9p;(cg}bNt&W(eE(E_N3FOT~j0jaE5C{MH=ZEi6$yS?aXH%1XdZUaKk zT}Z|!*hHtx^`h**OKu$>Yfsf-^FHo%c8z@pQd1&!Gz>U|~Za#|(Y45LzhL}bp9h!AL+xp-gzPf2nSYFqOz!(@lT-POozE9Rrj$M0%Br#O)p z&%=8kz+EO&Vs~UjaA#y5gNxK4_Fa@RKKw3-ooG_-oZeUTU}1UkXt8V`{lh>Tk%Y64 z7&OXG!FN)SBz^OxR$rnqsYpf_8QRMr!b@oAktPc%;|ay`+os3l&W|mP;oP-OE0zq% zd!*0^#GKrZ$PC>aA9ih&cfw-%#CUsrZ1jl0K&7wI;dTN3PUJ8?O3YUb~d`$_9 zyCH~mLB=YUJ$xw2o>5;~Lgi3M)XOqzy;%P6Aq>UCb=>7e5UI9dU z%2&%E|L~!*pv5Bj1uBlUyvA^E$V`hRk)gIANb1pPIMuC(C-UY87)TPS_`$RnizkCN zc{7$T48mif!(+8xzNyL?|5}_MW5B^%c1Ff<;SLTo$szRG7Qe)G9gboT*;Pn@lbe%v z$~pB6laIL_RmJ?X^@e|gVwPLwJ}UjBvxFAP`hCQ`H%AVNmo2Mj80LGld3S>Ngnj)= z?jCp*eHu@ovv1KU{JZi0cko{U{tLn7*T4mqTP(3R!K6jYpeF&e2cW+S(8roTQbFuY zK(LiRslAYXpcp&&YXUyEfD(U=3G{ie%Qd5!d#MT2 zXnqzQv+BXKx9%vpkq-nq7aN^*#^uZ4q6*a1$qX`xxkiyMc?dTvlv_zlAaDWrW4xe?#riqEsBeyrka7oYL9_$ut zbKeVEzF4>qkMc^RCZ}1f66gT788B`nUxSfQ(O-ki?7eirU!(u0DrL)KHpx7k@0iB)zO-v4nGG>>U*>z`jA=#cL9zz~v^rHXKVHC*XHWABZIj6>&W;tG>5ygU>e|si-_dB-(-WDB6FNh z9juQIPUFpG{yA*%^19l{6q(kC4&sa?SdH`PWw~hzmszora-o&f2BXCYg2}c?ZTD2+ znkxE7{!1Sh0uw~N0c(e(DJB~S#t)(~a4j3I#uDOs!CC3nDZPxW4iDMJFj2!)Fp(Xd zz{N>j?6r5aeqi5_pw%`K`9c2Au8gbQfZM6U`AQ0=cQBRa3%xRrUt7EBrrPL)9t=II z{`b#d+U!u@hG{djVITg6bkxogGy3MMo3ApjDsjPNV`7q#(rcQpwV&Uh1AiX0oA;)% z?0aCx0sebn=L7t=*^_>9NAn%PdpG{~-W|;k;y>yd{vNV0ky>#@P#n@uooPW@!TuBG zfhF=U{5T8qSn0j3dAgbEbS;KI%Efd@;976~5!im!A`Qw7HDxH*M%KkrbQbk770T$X z(nkM$%7*hX{5T8C0V>-vl`X{|#S$5CcQGMmF@a)YGlpW;N|=pq%4{uG%Hpw3DCTd= zF<#Mw8{LpHz_@TLToO857*$6b!zjw5YVw+BSQ%^jdsq?V^7wHUv@L^U>jGu>m`9`? zU}pmi<|bRH5dSV1pRj4@{B1e8Qi4I8MTd#l4r4@BoTVJ#s#OpUikSn(r49*Lj)rWV zmGsg&0iPA&!)%pb$jW2aLO(vv!t$5|5v{Ad@;2JDG=Q=42q0QlC>X+x93Zq##gC?0 z!NMK|B~J6rSUUck-a(nsJS)9kDO)inwMxQf0#@fb?rX*?^%&|PfT@SQL8@Z&0yi6U zK~0+_)9B1?^k7?QQ&SrKOITg@JA7aoh;E$oM(O&Z)rGtjaJoWc>Zi~bFqdIJQW_z_ zP#t~KrOAn{lXCjSE;B;PC2(8Po){gO8W=*hfq9<(rIZYD3qKIJu&Ya^M+?YL3%c;z z!CD9MJyVYiVSPkMFC%H>>-+I>*7mcNG*%Ayx6JyipiH`Y61oi6$_)%Qr{$_HnTPf- zcPjWe3ywpr_kL+;&H;0{TVb!Qt=X!C5Y;V&ICY{`4XDLDR`d)uMsO#T_U$t4(*R5B zdPreux5xx-9vQoPBAG?2Mow9nWActftAVN2(wyh=d5D=Uw8v_}R{uAA@ z@NpLI=2b5LL+VqutlTO)QEE0K=yZXCZgZK|i&P!3kudv-jVWl@0I6v1xC|{blDB=- z7zG2f5ye;!IcbcFp)(t+OA=;7sV=H9p+b#`xP-_WYn=(Hbp&Xg!x~m}r8MrXpxQX@ z;X}tgit{S1_hYhEYTtO8M-VE2TPmmZ3I%7BQ`uUr7g7vurjt0M9AyVo&!U4$-mFGOjvk3D1s>$Oi5|+wA0R>~6 z%Vzvk79@FzVu_5EGR%i6U*Ig(mT=v>mgzsk)bh(hzgQ--(G+W*P^@6|IoZH$mzP%O ziZ9Ytlo-POFOaZ4D?G4Vt97{6G6*OqbYGP{YLM0g?A+imZ1Lo8ktq*Da={`7<9VumlN7nTS!a(~+N%#Ct9WrSfH-Ici*@$ER{Elf^-^L)09}^c2_OPfhj9&!(8KY0VO=j(|~b@fD)H?-QDb!l9Q;ls|L* zKz{B*G+o@;vAh`XcNHF7zQkY%|8*8G@XUd0OUCa6!~7OuF4lEK1g-c}<&d9Ca$)k6sVTBe-0Nlv_#lCss~=DiLk|sZl(w`B%-qfcMPS^f#m`y&7&p z_iSUEzN`_^SWiHvjp~~%9an5f*_KT;CIBrjg`}WnUY-#eU2h1t6bVlda9jT{aO40& z#v!kL5Q8U9h~ZfSW5D!FVj}N7miVkOEc#JaQnBiiu}L}4muXUoT%KX@mjj*}JJH(c zy_re#10@bu8pbnA9C9wmNOUG#^E@MuH~F_@L(R{a0dXfk+>NZXTE@TCt2*Y$MjO(l zV+Znd#>EPh)BTZ>rTbeKWlFzm=3JG!_u~Xy?&Xww2aCn2h^eapleCBZdF4}1(NbPk-r=Z3t-OZ^96C7kI0Px#V4a4Z;uJ~4-!?wE zwLaLqhieT-%YzXHC+(sH=z(Y!meUD(lY#o=OhFsX>H&rrw;9G=C27I{ zW85S^Ua_KAygP*uToih$3+KD#^$>ZB1*<#bcxDJoDUCK319eTUjt6q=DVVsNr}upF zSt5D!3NW$@L*LKID^=FDR-xYXT4zA1w!Yqa)Vo$^Av=WWAXh(+rP-_J-?A(A@s)=M z$ni{Y^zrrO$}x|x5y;2amnl#lUn7u@ua6~4A*bZiMex*7le|3(Wf-%K#zbTMOSCmG z4vxl0m63LJ0x~_f;x^=e{Wt_03*u1s#NjGW#<8RgN-|a3V%hq66L9XGn@qzZt1}NZpay7j8P6jNTGE8+T9dYY$G2OvLTQdD7APYsh6S z^(chke&I(U1iK}x`7crl>@yo3;bWLdaQuQjEcivlCnit!5R>W8j0w_oTamQa?;nNq z@g#nQ43eP2#~0ZaEbz3i#vqpVEx~#&be_Wc(49s)yqV37ujK^%VhKsExhm9ggYn*o zIx=^=OzCO;um~W6v5*Q-W^6y!-o?HirL>O!hq*U_v+Szs{YiT63}k?t1PCcYLOP^V z86or7olZKP>O?XDAr{qLxBJ%Z>Z(o+=`{1409P6wL46F02r}qnkf*$dh%z`JlgOY? zAS&X(d-7KhL3k?v-*>IO&fe$NxmDFsKmUJ}L@MPN^1%Qk=Yzq#28_rNImTdz`B$upZ^?0Du_){%5|BaSC8|n2qT4!#6l7l;>K(s80omQ*iHwcqSiTSD_L z2|9%|y;nZ3_>{pDi8c=&R$NSSbcf}s5*u9;vywblI|kwiVk zp7Zvv5C!fpd4-5RF|Qx+GlcEu0fYxHO587O2B!N(H1A;1pH9?%t`lwU@M+ba4*x*H zeLy5**UFeFf9VdNcdZy1j)y>oh=Eq_B#ZJJnZ3KiF5qJ1+*Mgncb8Op2mu__w3)=X z#sE59Q7giN!XCjnE#WZX!}c8~?6IU8J5=@>)$WYs>(2A9{WSh!eGDp`8bTu&E`0VU zjZ}W41d1&v&MGxc)GjulxUNb`Lz}Fl(>c8H+%G~NYeNRg3o~vujI_duVZ1WozEZfc z>EwAPf88+hFp@W&7%~n9J|C6 zw>7j_L$5BjYZw_;h9MK1HQw#DyTAJzsKs3!>;f*@_?-@?!Ls{NK_*xCF_4xwazm8F z4a{R_#;+#ky+;)zw;fe0$LeCkgYOgx)E(Ftj;k*=;R-U8dHM^NnmjSAz~5GP)A z(2YY+)jC3)qVXd@ItZto(K;Jbp;YXe&KTL*83pU*Vg&qjmFk?WV$A7KjioqvE}lPP z`69oP>0A(|>}n#HUnDo*2UQnTnxm(CrH z>(Hcjo#y#fu+No_UejW?4L;WCBEjrWIUhaE2x0&Cc+c=~H6g>MU+mYSGYkyKxqpDR$ zZQI^3zH6|a$9L(bjQi$>^%~$Xu=VEv{{xikG9=YL=oz%Fsk=T)9V;DO>OQn0_4)q7 z-0N~4W%>JZ?iMSu?{|w;WZ(bFSyf4tVo4TomSh2sC0Pd_v?L1#IVCV+Nj5R4?aNV6 zA88s;SdIlHR)!pHTLDu2tMpPvW(C2FRUi=!h167(J=KkkK{@E}giOt&E+KGN!^kb3uq-Y4Pn;^U{fruLM7A*rJC5w(?cJiaPC{c<-w?G`Z{{cZ^rj{ekCi9yS(L#~Mh zY0}CE_8!#`FT~!bjyMvzcEs`Yq_&Mtv85lqVWW_?b9VK0R>VdJ0oOFzb#IbIEO(u? zD}rPeyOQdZB-Mp3RW;!Gnn(;sV6b2V25DPFaE!sL2Ip6r+fds+n2m+~eHhoCq=-GD zzCKaE+ORRM#cUT$E^PzzSYgt0u5-S=-H|563%_LAzrhQZ%fpir zkIet1#Ea$O5f`tX?JgD_!NFv}iM3V7iMduuHP%+Q8P!-SSbS|2d|VkEB7^GqxSNtX zr8MkO!@wf<~Gev{*lNv}7_R z-KfJejc$Dk++aLqCI&LtHGCrdyUQzke|HUC%DsOH7t0po4i_U@wRYM)61*~Z*0*p9 zF&0i?8VjeBPOPOLeX%178Hk({jZ?}&It6?8YP%^@9_pq%H{PIWc42u_LMC%ICApZR zL;RkQi$W+zVWwOxY+^eMRRJ`(CoS5mr$vTtGc7>~4G@IK+S&M1?yN20VofQx2GtxhMQaE^=R^Qf zrwDMr6K?58&%;Dv!8M!Tg1qWs;{|Q9s-R;X(C(GA$<#$*rcGA0)C;o(n&kNhxxVQi%7C}p#ON7JWxSw~N+OSXswIE!Yn4sW{ z;A2A7_`1OBz6sqVQFtE>XSO8;8k-W0%}G$+#Iz(Dg>1Q{78I5YTKYBDkpp7b&0C_5 zx)Ia2ig?E;VQ&&FX7r|9w;VS0IYsbD#UcS2)r=RzUP<{*L12R3i0=C+#|oi9IUdTb zu<}rcW{tCn;H(ISHU3Yl%A(c?8rBF}SfisQYb@!8HU7HM{dZda_Vt+j= zB;yo54IC!J;KU9m#|dSWR5^i^MRH}7B2%8LyNozwUhIj0=f$1~7~+5BBDeITD>4c* z<@&^t84Hu9fP+Z?#IgJ9hcIc{FMlr+gda>MO<=~P>0h01o-~y}F==x0-ohpOm^3Bf z56#OSNcA{SNVC%3(_GZcg2v7_&|(tgXvxc#blFga_75|<1A0y6=)k0aYMUzlSYyf&B+`Oj67DUuRy9E%6_M-}Y2l9*i z-2K`o+k^N-p<@$I6pz}4Tz#kZfn&!PaDEk+KAp4ul$tmllBn)E=-$LGia~o7PZNdH zMD#Qf&3A6;PbX|Y43*?%Pq#_DbOB1b1b7%OUBCdvqnc zPu9R;6$1t_MR1(3w~}g@l-I=l3*~4D3Y2GSY7RJiYjlz4oJruS+K>or5CM`f^v>Ot zsw%0|`XkVc9ze%Nbcc3vN@|p6ar$$ti-s;|iVZH~%p?^4`ktitGBZ@d;Rq0Z+Tr9{ znl;dUrT~(iJXw6`uum2r61VWVx2k-0M%h^uTk}9>nE~XOH$K;y*W-u8koW-{Y#kho z1P9|d-r&^?f8n;dRd#1;G92je@FsL(Kz*t6b|x&!L}AIqOGE64`n}HHgr!d6XoKst zaAGJPvx5adxt+O|?KYjaj_btD$M+xF=|95M&<`tTzfr7kcpJrvQ&Kql|Ke4x?r2kC z1`5ahS_6t)InOgM9Kn)VgU&`qc*JQCM`r*liBpP|yv8LM9KiS1S$pX!BjstltDP+_ z$B4_>;zH;}yS&Nh;Fa!58TOx);rb*Oc(%C$AC+==Z>f@Ac#kBP8bPPut48SBhC1Ex zciX&nAXPti#H(0b?YU=iVTZ+>3FWYu#~Aw_uXNQLdaKL_M*Tp+n}LEnw3MT8dp}d$ zl4#WEm%N$!cJCE^1|%8>vaBJZHb+``?yC~5J1Me>>p7_^=ZL^#lU%=E={=*o&r#^7 zpfEKCg;^j~aTHg5Ns{tHrsZa%-tvs`Sf7FjkEX$pY0O#?`BY+91yCgr^ID|(z04`=?N{|G-DF#A(7P7G)z z)krV7{3QgIhj15)2D<-E=iAbcZkAD)6<=ll>=6QthQ1bXxz7gNfYr)wY8TA)!bIdk zNfI6QOD0KkhXtMv3w)Tj!@Jd#^y(e9`wo#!n|$f3-FH`i_jS^4vQp%GN>avC#4q~j zL$0X>trPHcP~fA3I(&4{l48{0YeumvkKM!Ll zxg=4$MATv^X?dmZ@BWUOJ~`?VE{2guRmxd>7%5lQp~HqJ_>lp|`cDpi#TkbZj$VR2 zKepocFwZzZl%)!o(~Z`P=#vujY8WelE*8)_0i9NHF8b%EnfZF;1rGfN!enhSPFQ_O z^;$tt?^BKHAsuIc%=L-U&56-DPNvV_7RMPtx-}u)RY&SS&XC0-kOdL9L$#hI#M}sF zwW2xi76j(+W>G?5uFx121l|2OSEn;53$rc9sOvV*h{5O_M2gW_ViIpND~nQQb+0zB zHP&0J-Ol5adJvJj&UKmRb@%Pm<9Rpuk5yo+oAB*ed(~xo>l~09KT{iDDlW_`E>%Th zzJ7&Qj)*#^~toJ?m$^XDJCbt2A;=GslqKa_;~3H2%eb* z;wJ=wDS8zWdT4+`tk4x4b_#kl!P5kRDPC^^^;Yd1)As!GYRXM2D4Oo+iS09Lc!@2R ziA)q?w{A0ZFD!~lag-Kzn=S?Dt=ly*H8zx!lTe|U8VhcHRJY(b(w=Lq+vqcmKmLSF& z0mPVP)7}SMwpu!+cQ}s#xSs}x1p;uG$7CEggDRcUJCc(rdhEbd-v1tZU z^eKGfOPqa6Kl*O1C@lGSX-H0#g)#0o)TPIQ7YR<4Av%Z2wMhc{8B88jW~_UO{ws62T>nXPmaFuchtl5K zZS4cs&CK}K^mO;DMU9O8)#8Rj#8O^s)H=ua4&S5BxJV{t_3ZqvT@!k)()DyrlI$AM zBF9L*e#U4qTgblju}VX60>Ex!8yg=V)qTKwX0O;X#!DHVe}xniB1jQsXHu?&k`?7y z>;>IZ4{KaIJv~{zpuib$eDO7!y~p?=BDCwa{-CCXHU3w18KB zuWPi{U1B~&lQkoUCKq}TbKkZEGyVy!Cur&(=I(SA%?yRK91}xf#2i4gS*;}Kxh3EI`6}1LnwzAMvUgywh zXoS+NQ?~h)8mAPyf2%VZ?D*d-fYb#ysp`aen^Y6l)}a1H!>@P2v;8EYORlHG=7!Sc zh{Hp-w)Og8W2b~T?iAu|Ez88cQnr~>daxn>PSJ{+@=Q`lWT$<(`wk^ z*lFHx8oMgSyJo!RR|*Kbb0UwjspW71ki9LDeP)epDh!?!<|>AND3!p}1KoekrP_fm zGtW2hr;pMgjU}EtYeE;>AdFftEHl)?ssSQ`iL& z5HVU1%mLSc)uQ5Bfa?J`2nZ*n#T2cRaWFA9Un9$PGC4or;${_id66o1`1=;y`kB1pICte*Vur4qjDZG)rqQ zFUn)zblcP7>BtTD?N-n?JGbFXKP;Vm_iK{{zfmT%CiTMOq8s!VX8S6Rx-I*j={JcL ztGRCyD;A-lc9OHIwks+X76-flCjtaKCV&n;=uk5ljK*N#Q3?jtTaU%nZPp#&m@ zz&L!q1LbqNB~awd&aEgFOUYIC6%1xr@Mhx2fRr#6JEsd8>#v|O3L(uE&d6g505Hn{ z$aI%=P8W3YoS?I|3H@uGeoH_4Y$XaaZ6a$*X+KKO7AhTLxI`@rbNkiDI64PoTuHs?}Xy!xWLhE2$ryKfaub>dEMFxh(s=CP6s zBb;=;IqO;i#qMn<@4;NjK6Y;>;hWdq(&+$1e`gZ?ok;)`v#%1p$p=-HDDP^63{yqO zJWlnXr|nPm=w6tQUY2kXxz0OWc2Xq}=Qy)WUf)t?%CS4I?}B{IV!D5qWG0>ZF3B9} z)E9=#ug{Tu2^ZVXp6_sdBiiEXx+9Z(w^%dbdAC?IIlxyx5Uh)Xi6tDYQR^#e>RR+* z;-ecocN(Ffjc-MU*nsgGr`^(z-e01yU|eNe7i?bZzEslr||zhmHS?kzRTN*(V{{H25$AVI#ljdbq#)4m9m!BHH10mWkJIj{jJwcgPmz%@=WtT{+&j z!KQ(!HRZX1tF^^LYv^A|1b?My=ntB#OEol@G&Gpe(2kiJx+EP9{eB~TNDU1cR05x9 z=#RKI@9+LWZs-y&ZqEI%!!iErXaPfge`^Xa-;n-6aH9DelKxo#{peuHfy)JHD5+Ir<>s_RKJO?x~{Cacdp_* zHmiK6UKeP*e-2{0bLOw8HUY9V9e9cfj4 zmP}1p_Q6=3diT&-L#Gbu-n5yqq5ab{ahTr>By zwv^Jox2@Zw#@qK5chcQDv3J7mnbS3XLz82BcZ?UUWcLV8&Q8azb^Ud1mLgG6%`Wxi z%Ao2kPeQxh4ilN3pET8;*zika53(=8ttE2df> z7ps_Recf4A^NS+g0yyawz$4w_;DgdFV9?LOi0MdTuz0!!M7%19Y-*&Q3Gstfy5*}b zYF}`g=Y0Q9&0PO;(=B7(rsYMH`Bkjs4XoAceMl=L_qJzvkb7vu4lTHzdFjyRiP?RV zN@wa$&3nf8%C!742Hn3llTw_z3a+?rv#MmWpHE12IR4+0>LMfa?XaKzLPmw8#)qGg z`TfN4_r)G>x0Epk5?y@p6pp%gSJu)(@oqkI{x^YKgrcFpdDeXsTWMsY@?blzJ z+pj*V(|;J%OCk&W#Bwt-e;{JGi9e7;;UlI;OAvOQ1rs^x4?2^85LC+~rC$v(0@E_Z+S zW3hb|W?RWK{-MMo5%Px;i}gJE-Q^}$u^ptose&0_|M9Loz?{0tH!%$Dou8d!ke^jV zFr>wu-E*BG#fW>_I!|f$*nC~AG3u|2HFFy1ZYf!JH|wuz<3<(k_g3tk-5q-*AaYS6 z!rtmk1iw+Tpp>5~in|7VnHVr%^0hlR1q*|OJ7Obe>Zndy0GP7c4 zHcih@j@uTAozv}^orF$v^D|RJyJn^}q|FT%5o5j>ShtE!69G<0nF^YH)YRR=n>y{C zdxj27&uajjpV~R6ZLf(Qcb_`ga8fiP4kZyEtcmC|ih7?YlEewq2|M zfmMJMtda>Z*Njp#aILX7Zfom)LnVpxS49@{{Hiz;*@3v*ICqYB2`$KK^cUTmy#{1i zza}~e@HNqiL4MNc)H4ND^?NJSd|}^U<72^QoT2{rxD>UCf2lKYFiCJiXO0u?T~dv0 zoi3C6nNsF@-K`Nx)uA3-Xy}#Eq`tefzo#vl4F8JAq3y3oX3l`ph%fYd)^3U`;Uczq zzQgs!yvt6={;^nNKYuLNI8}P^1HrmT$d+)hrYT;Ln?j3hizZ}`u6Oa&HzCSi1emk0 z4d$8QVJ1%VmX(dn;>$|Z&=`eu zjnoK5cUVRy_D_=P|3m^}XUOnI&00yliPorK2uMOQ*C4O_y+_TXP|xLPNz(y$<0nFwETTSB`gnuxVYeDbKC@Fw?Mqnh5@>2u3S^&}3b-l|iGG zL5o&)wA9Ka-Du_a8{I={Wyqip_(Usz#8p|#!Ip3rrbhd)!!@@u2v13bFRCFdx0RuQ zogf;CQd;?w&a$N+eRpaU(#kFmp-(9-CPpi}a=eu(rr`_H+Iz2P7n-epGcswofxFhlS zR>@;?QJ8r!ej!1q{!XFhc60Nm90Nx}%ClXBO)qU5UrIE-BpP8Ge{bR~?SBeGhYX@Z zhDkB4_IQXS+AJwi zC^0%K#N$Qn?&0g$v^>9K_(dzuvA7@N)DD=8Gr?NgkF)cq2( z_QUqxYCTiao|=Ae+hM)+%CnD7@7kr~GY@V%zPG+TH9ne4kLJ%3;zZTzm~?XN_}aE*%V6Hu*#S=}H9^E@!k3fsv;bON&vK%g1TC}MD zgr(R|oySX}Q-Z-YTK?Ld&x`cd%#F?LZqKEIrz^Lk#5mQXyQjt9JzF|KsHd zPU&2h0Iw`iR_<-j>GbMTI-5JKk&95VQe1psp^mm?en<7PbrXprl!lp&<}WEJPvDf! z5~bA=;3hTvwu1R#dup6F2K?Ctd?8syZ#YX<@~b32N9C@!wVNk)&TX3ByRTAdZ-r%z zDy4O9ElFtk#YH|bk+?%5U)kBxTfe)l_nXGlI;lyI+9|3t?M{1YmW~lEre0+YUo?wx zxH#0Sg>>ielvIgPsdwds?5{+*r4&lXh8$&cfwE#kR|VbuU~lb&?vb87Ftw9T;?T%rbRJcNI@Z@9!XUolJC0rwZm52)E9Ow9i(}m!bojZ~_H_=oJoZM zlf%tmYZnT2#xkqkn%O-Qx}!!{)HuthASM*_!Nnv_VMcl%$B;Ma&9JQ9l_aPN!F#K; z482=Hg`0`d!VHYoP!j(D8dj@>i(9*CdTMrVOf`sB>s+}_toCT()GB3UG?R8Rr)Dyp z`;zvaOP{=EP7AI(=I4t3T6V4D#wYX?*W9SBWGfBR9@|@!^R!^_R574`zRKhj(Fc3S z%6D8h#d_}Styx|4QIoAgy+Np0`YWWa7h(-EZd+I8zv=wNT}G<0z?mQay_Kl)nV`&^Z*IinZ|al7|SzW6i4N|wQh1b#xMK8msBPrbCKJl2j*j$ zqIoeo(aIMegka9{9l_FyVObRiOVPjXzJ2);E@Qds858Zv!jBi`)uGE`5SK(Z*9UWA zSH!Q2V=9APRfYn7bwF7XrQKVtF^FTYG7(dh*_XP&JzF~#iJ7VAT?DW*+fz(^EX+f^gpBcvf z>aCn@Pio*?Z>QzP$XToFnzWBXA&e#ZVEcnCKEG}R2Ww)fWW*!iZgC z+J0bdx@ymUhg)0xDoWJ*qf(#sjwd9;uHApBjH}GTR*Xg-jU+nA%tr(f{v*ot9}A+5 zy{)%?Wb5|PTb^;-4L5HOm)U|YB=o^@nb+_k?|2F#>i4$wR<^xX8#*tEuBeXia=L&~ zQpDwy9xF;1$X~058FXy{swG zHjXv{;Uju$7`PS3<)&Xb+1{n129MJDdXnMrCIL7a$2l>Hdd2NxfhM!H977qJ-8!K$Y2 zJ>}NvnVAC{hi*Bb*XpK*E*QS}EFQ+2(JOZv%k*lfyLcw$s^Zg+2QKwt~XiYrVZ@U;BZ_fGjK^WW1SC6;-osdKm`!i)YywUzo7OYzZFRtH#JKN(oM^TrhT!_`uZALXt_?B7(v=gmGsVN5U5WdBz<#dY*yc| zB=tQu)Ta-&oIB+wFRH%fsnjUrD~&Q?pk@r+r-Vw6luAbwGniVV>(+5j6OMv~?gd$e z9^}-)o+L1Z3f=R9^cs=g##o*jw+^17hVD6wQ%%E6*Hz(4HbN*_A3hK*ZleVK*y!Uz z$@-`wV!Q6yJ^by-i$6U_)zvJ*oEoF1ul^Y4B1x6xGfV$&}#CwIE3>!v;d8JXIlcAUcu9$<})AW(dt`2#vAgL)AH7ppjS9@rkTFwx4ZHTjALYEQ4 zUhBkfs#V6-WDuxHA6%=kgqnIQCfiD1c~3nhRHYAcqOK|~q&pN<85QM9M~n&~E~*RQv@P}QFwS~XQD{`cD~#BUh3LEQ1G~p zoa1U zUGw)_bO2si=W4XAqtPRAu3Ys1Bz+Xu56%}b~>#Tz0YA#U& z8SAbPXz34A0~uQ#QSwTq1WKZd7q@cER3BVe>J9!T=WCP1d#Z6W4=(p6y`PTWb=+}8 zA8fC6sXye{je}a}1xee6%6M(4gg*2S?gMcLQO@-q;l^etxMf3$Fesrc9;8JZ8;K1; z;!<%XNc*I7J=l3|DO?4H`=CufUI~}lv`%e%tqzf(GMK8KHw%V_O)6SOj_OIFVtufR zUtCywigPpfEf<@f(h5mZishwYw$$Py)U>L>^h@#fb z5qe~B&xi`^!$*G%gWKJf4jv7cY8oz+BiijDm;cJfF`rx@8ZuPc$xv~cSjIOTbz389 zgbRjBM$=Hq-LDbqUk7ULHj$|}gmVMoygEW5PDK+17UC2jmBbNsrpneM-ns~cqb7p3 zL%GaEBGCV~%RFAhk+n+d2%IAj?iC0*M$G!gyBHT@MAOVxA?3DoLoo;prGgk>C{6KN zWDqxm$>_sP1~GmR4NwhQ%FImfk>j>`s3B>odBl*2hzcZ+1nP9jtRVjPjBbA*N=(^; zmR%0+M8m5&hF7>w6NsY1A4tCT%FeG?7^X3*WFo20lq$}+{PdT2`P7YFy=M71m1w!jJJ{OvR9BEEZLibi&ck@jVUYbM|Xk^h6y9M>9 z9Q7aXq!tWR&2#A9VYa-1gE>2_P#+$WA=$8#t8BV=*l2{FhCuTh0s~z}h)HyvXbgsD z8BvU?!AW%Qmt7MK05}Vh+B9){PFH*XR(bNOs_TE7Z0&l7h&c)T*uWG$imIBgdqE!#;j`g9CRHHexKF5)C0wKen~m&}u}o?9Mu7JBmBd6-@S2 zwWYaAm7Q3WJSQBdKC4n_i>7I{{`QtDulQFNJH zDF#7>jUNz8RyYE_bECrgV86TTbG)i>bGoM-%8de*H46A-YB7;0Ffvza?iN;VXza-_ zv>2=dt;NqiB3OB(6kRZ{wLwtp3ZkfW9?TaVgQ|7V^Fj~$a6Mq4_j+3#?5&>Pr$fcn zPJuc!-HkfW<(6A4$!f?XS&dZ;V$XBrMmK8ai90h?lxCE)cv|*J%<27vdBkmBbec1ihxpE)^#mefF=I2r*%NwaeTT zCmVwHf;s{rF9IcmdYtSc5GNZFp53@G3(t)iNiT!J)(j>RV>2#EB2g=DG{wc@%JakC z^-(Rvci#{ktQZbeF@Ep$gNw5O;TA31KxV2U5y_yLcJJu%w$|HOiqzgaEud;=!Wusn zHd|X6*QUw(I{t5_uWqIiFEVzu%UE=4WvT!)M`$&WcCgM6j=Ub!Y| zXe^Q#gIJSvwCI0z(y`v*Rq@flAgaoyHOX#LRvCR|J;k!*(V-`OyUVM{N$Ij?mUrM2a7D6zkk~~XfHpch^r16QA2tQH%DA` zurPkFyDQcpP^>Uqom<7O5*Uo=?W>9B4g!{ z;n8p~Rl|vxA>q^qo8~E05UYe|&CrNNI_}#pKsF-MN)yL&)*D|55OIGD5(Y5MiWBoA+mB-Aiea1{f z!eJZX=#SpAZZ-yi*;EktQSXoSbiv|XDPrnluqATk`ruXw*WF<&Jc-&{(;1s(fgmOv zb?}&s{WvSj`%@i^5FFpnmHJA}4tBA&<<|CN()7n78e_9Q@}yy%iMHg-suLA7D#X!7 zB_<8WrV3VB;yPGN8XoCjxnI}8qWil{-arOXNgb1hRP`J_=a^-&-g+D=KzM!RIqPFx zs>YbMd$bCZuQF^RFvBKaL)dnTV=o@o8Y+Xop)&Xrr9LrGbC-zpuOVy<1ZJWIg2$|N znrNmFrvRxWW*UmSPW7#Onz{(si_yO@L|`X3^q=f9H-)u^Kpd;poznnT6y;gGLjYNW z_du)j(azsj3B*ce-FFE)8Oddsm@bGI(MPpyv3r3FY+W@I(C)w6r^aRu6fdOo4xiRS zt9FC-E#sk-%Z*5H&GbHP_~7}|#a&X2?w2DGqq{zQc%vP+xJ25=C6~11KCU{Am>+F+ z8ugf|zEp3BI@9UQuSgc?h~e7n#IH;y;I);7STUO&^})@0KEz&JY1FP@@kZ$$$vBkN zQngV1^$PDCSD+UxPanRE8Oyx2sZN`=PY?MH1YOytEpO@KHs9|)G2e911YB|3%)BP$wxnQO*&bnBcO`{5*HB1ZvfW7`KVgz}Pf!)vJ!nAm z3?l>(J;T)!8wgExn0^IA_ejR56GKn43pH|jxeT@|-F1FDnf8@oNcuQwTP*4A$O_9S zVS9#hfdnv=i&9M-C2CtI%bpl2@@yyD0@J4lMuOs8hv?$g>FBZ*Or8yOM@1?1*~a>H zKahLxRWQTW^ufD4F3aArpZxa2zQjIVx4Tv{q{r^tr+o*E5%v-CJ$v(!IgdR zojlIa!niFq($K z@}M_+huZdL>F!h}B`4dNHhz}0{&T8aVwGin^e9{C=|$Qd&*q6yKM1i<`f8$`XXe{} zPArt`)qg$c!bDzewHa%eTDyK9C~BJni9Go`duUv@?X_oyG+FLU`@Ue4(Jt@Xnxsuz zJ@iHm-CI}K`-x4ivS*(Mg1jNM^MXQJIZ4qt_3N!h2RcXR!F%nV^`jHO&arv1vw z+!ypnqrp8~ZhIkT>4!+h83w1o zxkWvec^#uEo95>CX{Xp1hGiS9EXG+`oM6}MVlwY4Oy+A&NJcowWPCr8A!9NihsiiH zCiAXj-%*O9|Fn|v;g|{+f@3P&MINT|EvKmE0kw)Yfrp`#uq0rLu!RCy(1L=c;|u_40U(z`#g8@?efwXEt&Y7TMn{u-9o5bV8=1J?0UdD{ zHlsR>PIOVLQLMLi)MBg(>HP`m{X#l!5Yn2_QQbvY;d~(Bd_Xwi&zw=aqeay6ti)%t zCJ_%`jd)>RNj%L$ZnE2&^DJb+kkPa(u?^|D78vQn_nehfHz>e8(^aynX^PkxPaOur zI?QH-X*Am8LPx|c>I|!0=1?64wId>V&bin?4(SbvG&wN_@~fTn!S1)SzDl^rzh0R| z@IG4tk)5H%NSGAzF3)zbVx`5lVa4HWf5K`sc)D=2*LYQ4 z9#Rdg^Fd8BdZR|Tgo8@ZE&b?^y}&90t>`c<>;KBMZ~Il1u1Y%b{_in#xS%M9becMq zGlnG`*?*S|c$xn$F5$>Vy*i~MJ7;=k_pqil+z~RY+=id(n;lLQvf1IjIZyIEP{+wZ z{o2$piMl(vlKrMs$!8^P*G}q`POjfs{hGMo;eJhA!ddO|I@CNIGp5R0{dz+B^~I3n z;Z)fQ=R*nSL&6CU=ZxIL9lEt4I@X5hVQurN{)0T#tXFMSv09RHDk9_N201bm*hB(v zS)ukF8LvoRxb%lEH`+sPv=?%}WC^)n6mn-5R1NptS7o09ZTbwfxf%jz@M_1!$yPX3 zhyViq1%#MbJ3@GmlH}z{FG-x1(7YRhP9fgo;pzno(W25eEQGij+262)US7XYFN+Nn zu+VaWv0#-Iao_4BG~=6_)+t+VHA*8^3C&Ug0{vW8rVke-5Gw(gO_Hi5K0a-rO0iol zjJ~Cw?N8YJ50!?O@(%1?Dmr+SKRhq>VR6AreOO$=OTEWyQF^Jf26!o5qdcjbNObc3 z);V33pd8Z9w2fO7-9te+^2dp?d#IB2RY`&GG}e7#Sa$xsKDY53;(>qq4eMZ<0C2!`*QWWeMR#``NOlXk4gsY>!acl_VqchMQLA8 z9AIDRBwiWbLy?gWia0TPX`<+MRk9@cO~?GSv0S!Y{g!xOSHC45VOL*HBp#MsK@huw zVA$0|iQpi+`kJe0xpoB$>k+1?*vX9%tTU9Vo1 z)8ZnK8Kue6E-}HLpt06**u<1^24}VYKD7?huck!y=?#hOv7I~H{+Lm+>qub7;~t-o z&X{^2z>l3lYg>OI3QOF}a5RtJY5(rFPpVp2@h3&~h(vYes>OCLWf~FpK!bD+G>8D1 zh8$rubn6KxFY7(jlXoRjgx~8NsTOB+f22AlcL$F4yBQ-U<#cPuiBO}Yx}jDbH!RAd zx|A1sYD#_Qx}q;_5!&`UB0$dZcT`t0{fN+Vu~XuEYrej)R$k?xs;Jmcc^XObK#(NE znn{v=Dj7!p^-<1nx#_31N-frsbib=g!0~s*k>nZ;c6!#mhb1Kts|1MkL<6dlbbyd~ zf({^d_`IH2TQR*o!P&rCHe(_N%P0b+200pu0l5!I~kYu`dVpnS}Eh;lz;WI16%6 z-^sli5l=`WMz40PMPsw(K33n4OiFF)Y&ap5??2b|0ya3a)00hTlkA8hjj9BMZ{!#WVrKH{~Mp@I_%}8<#?@! zfQcu6B4B#q5?X&=(t7{OYV*$7-jRAi(YM2MC2i^kUl3mgm@kNLtR}tM=@w*~lE&%j z5g)XM)q3oXWMQ5aWvp^ovOW88mXhe<%osTkgwVCt}#| zD_v^8dY(Zf3NbEk-m!(-^kgJH+?LRXKHPpKQTa+C^1EH2a=1OY9B%D7D5YP9ZC&zd z*pcOdp+(a{>)fQNM9W9plG%Bw_P>;rJunfvel+!>YRvp&@j*{KM3OEf?Y`e-u3Ch_ zRw1!&fSqesh&)sQA`ex>VC#qr2F@3VUNQjKF>t~z22RIXbl`0Ct4M&;Ljs&0?f=oF zfkBhck9gIJ#CtL~h_RpmvDh?~fc?=9d`T2yi&0m9u0dN{xBV}nhM)76a6cC<73Gb7 z?x_8`WxPFkh)#|twzTWeUh#@m>CY^of=?wCFvF`hW^M1k;CpOd8?q+#Ms3=T^-$u( zlTxSncC5qX{?nA2P zHQleOG?^2~>`(wX0{(A!{TRZs1rL>dPM4SKvc}#Suc&49Muia_NW$G<$0%=Nc^A0bkbY3Ll?4}PMPuXC>P6H z;A0lp>vytR79Bjgf05M-9g_CY!Cm9>f9P}$_SRK$$Iw@TlY+tj{~)uiTCmE)gD{-v zGh@gIq3x0+8H8Mu5+dpvQH<-#+XD)rOUiS5)TeXB;9M*`_trDUd*6&|enS))#J(Y| zgy&nOCsDKsq9Br&9lHOJHTsvrWmx}9;j*QM8XsY}F+>6Zbs(bc67|ZQlh68Q0{x~y zV|wSHF+~1_AQ&S5N)Rzbu5eLX+bBdcQJ6K;G$X~;Fe5FY4}FOIn?&Vr3XxkbP&q_C zx$Lfcd8?Tr(mdqs@SW|6-5vH#>Lmv~b>JNr!i<*?W@k8tk_fw>DLG#$0Q}7HN%My= zUjA)T+TV&#jF%^S1*+z09526>5WgkFuo_2PFkXH-+Y9U%FJTvfy<;8vc!>mzmq-xf zD@CEH-fZ;A9(^zbzJw&EFP_ zV#MTUdY%28{86IZJYuevpPhV8wQu(y68=AkZ0y^;AxU12mw8H`zZQC6sL^ep#tZ=u z|1__suCEULA&HXzQlm5zFkVlNhCcFgbE)t)(j zY-VPx+V2QCA`i$#Ap7iGtBOi@L_elz1)L2DCp6(WF_@K9$+e&c7t+;GRwC9fk{Y!4 zX>)tBUB0bQd$A$}(QzQb#Re%}xyNjGujd zH3rh}CC1+qY4!wQ8TYyln+MX-tjm8AE(7U52^Yh~44;>Tc0&b%Y5@@w@kG7y)M+67 zeggfzKw}_v&=^SnQ4kEIKM+I=q;oE6Ya4~AClndLy5;$9vI!E-i_qtL}6KsWX_B)UG1mW&x_G0~SL#UH{r`lF3Scg82A_3zl62v(A=A?l^^X5@^(MeX! zfSj^)>6B3>xwqfrO)J zF8o}upd4fQYiF^{_2KTF)$YHM70}btFdv=;!nps@>Cp#tlkv3^Q^mRH&JT*r(DqG! z%vQI#+uJ&4@1M|tTU~>{yUqFB32ki{+CMSZ(V1PM!1mPKkguoA@+7=_ilGgsj}P5D zJ9PT^nLZtLp?Lengxaf0(lLKzLUpf1c*S9wzeXI!!oFo!1d(EonryA$&jYe-_4c-_PFt+&FMX+Kz|HOkz`+8vYA zJNG0%$z>!)c2AI<6fmu}scpb@UW{;=!_@oGwqCUU|fu; zi|S-29`Sk~7ZQDEx|HJU1|2TEhqan&m+&aNVw*h=$e2N!tL*J}k6lehzI_Fj-r* zlS8?-sqMKiV=~g-Pmyq6EWGQc?tzw9g_iY^wYB>cST^R(rGAck6x?1w$h`UgxNA>H_lCljW`p8cb?XIf1p?j&eBBd~){-{tD z(i#o!1v46?IB|88P9rO~FjvFiwoJp|?um>M{?%Z(2iIVjucD|VS*BWyVTN&bV8qd~ zgz>#9)XBI-Flx9L1uj;MMDt#Uv~}_N+5;82yoymPlhE}MtgIvY2|8Pp>OjO@U`2Vw zH6n7CI38Ir8dVEz77gsU?UE%HSc2gE@}g`BO(`Mf#!3m*!96Er*D%&P+2ZH3My{cH z5YvadG@9rYE?SuydR*BedLXJKjl(aO~^S3B`RVM!pQZ3rH@6h*w34u*0e*bsn_2a*!u8e|5VO- zdM@dZb3uIZd5n{n@op33F?*iFYi{;&y@2P2T8WEvLfxX}Y91w@;o; zbl;svT(bu-%pTbF)rj%)`Hmj50j^v$8;Hzc*g(sz`vR3qw47yg>vpeS^|uOwN_gjO z>g#V(_k2W2P~g0YUjIM&p^Gt3?qt%3NB?T4&gEKVE_-o#Ewy2AQMh5GUDAf(UA0b; z>(Hg1j-J{T&6cddUyENUZtGR1ZrnM`Zv(A5V9J*RO7b1hV>75Jq(+CrRKJ=JtK7Xk z>aJ6wTE4R#bPCF3xGu=5EJ*jGW)%37ep!G<7NCqeSl_V(-4Lzc_)|T4(9tS?sJo1*Y zow}*`z=PWAF*d8M9!hMmFHdu{#)BG9|Di&J^+WpSwoZHK+0UNdwc*TXKRd1;Qs!c= z!>goDbjWu43~60pdjIUu-1N}o^w{{&*wAf$es}2ECc)6Pvm!5M@9P8Bpa*om_ zv*+xbpCK`F4hv@bfwR8>bWR>w&M_*(ow>b}S3Y}mc)dxt{n|?JPMz(Hjkjk{ zm3Zx;DecU;x7{a2(!+m@Fo{^ml!Q2YXkt#u9c6oFhjg$-HPikalW0~igbiJD%hru1 zd;7kf?R|497~@|HwHzDNrOCbRy=uH6dn9?IW9WLfp&f0mcN@ba+u0f7%+c`B)+s|yk3WO7Yhw4jZr4@n%cB)Ng zWtd>0wnD5l%+~}935ImB$L_h#?8c$}oe8yuUZEZun>w(6?10HoH@@NjY;n`3pmp-y zEVVvbj(Ck6Ez!WAr0_z{yk3Zx{(=|g?dQjiqCu^Z%}wi`bNcY&t7N@Z)^GE&*NNi7 z=Km8VLZsLJ+_~hnvh|g*Dujv!GcY;T4kj}#YB&vxYzwE6)!5ow zlR9BiB(i7{XR+8b|4#W0&_U!ch3`bN< z+{cS7*JnIlWSLnoAv?8S+*Uz@5vES!ltkhbk%&8foJ5i=_r7(z^t9>3l$=z-{@lbq zZsb|OegPI7&k+_JFRcm9mIGQ~Q!0gK*3_VR{t`MmHC6D`LPzHxnvR~BNIbF7k&{?j zN3cgnun!$AV81{|a70IN3>^i>mVCBv%b>KbBQ!{FX1nrfDm_XXEP8X%SBjp!VL(^e za_h~yA#95pJsnj}&Hf}Ypp!f)2}cuMYZ@KnQmwL`3N9zP878kkywDQQ5Lt}*43UkM zfUO1DMGO(t^AjrFi+&KOEy;O;I^Bud80Yi1Qr?zMIr?Q^XD(M=wVlIxSRLLmF*khe zL_DUumEbxl>@2ZBVP}a&WJ7K(YS!E=C%VEsRBO=JMo~py8%349epLFI1=U6L1?qVT z6@g0Bmc%?kClj1-II9r1r6<^YpVQg@dHOm>EYR0Eg}%m%nl#} z3FTAy7~P}12ojq1T;w{`2j2_Ch9mkHhz*-8@e2E$P0Dj`o$A{v(6o5mTd{NUIcbSa z*P^-T*NY}&GfH`JMYH=teO5{GrkwH`0i=WmqzGam#hzc*u^w^n+ZB{Nvscnjwn#s3wj(_2N~_Dmy@wT$@wM$@9h`yViR00MkWJ;Uu>@xLVz} zOQ5tWP*&sR^=c4_qm$88jrUqLy6@J1O#JS9^tEiMk7ZWNb^5dO`}R$f?^se!`hR~d z=tSQ9v1J>GFc5aUV5<+hsA;!=5y4|p8$jsYuQQOia{_}W#t#T`ulFPsl~2&8mL^NO zDWPl?zc46Nwxt7TYJHHY#qZUG?l{|+}DZ?HLqOQg1y!I%*%%d z+AM}R&&^`Ut;$&TCtbvYy<-p78`q)iICvCd4|`d^NvHrUX8v%Zr7^f|lLKG3J$1s(3BgnPs?e_?b6d4Zx) zL1tJ7`9cYS{rrt1FZ2R~ITc~<>S6OyOA1HV?TB zcvN8cs9cg{D+Y$Vb|J}P00iT-M3Uo01;#>>v3Yd0lhlLIT$f)3VgnCHa_dww$~T!}->=Wh;2Q>O>FTt~#;oi-ON}lJfDYd!vspu^4C3#IR%G z<8#NX)C~rsEPNPc3yj>A3Pk`LS-xLG>mt&5|EBY9j>Ufl$BIE1aQt&y&)ck>^KpP zlvE?exh(44Us%+;sUK$57h~sb5<&ZZx7{WYV(Z~HXMhnmzfICx8_PMVvp|J=(V@ci z6yah)Q03d5bW3PiJ_>V--V48NGs)_KWiSVT&OwNkhIpKwi z4uwHK%ERmEr?q(YVv)r5E*44L4%YdCqz_WRS>Q)+xwT%~ty3e_!U1IHBamThV@akZ zMVz2W{zNGw=WCNfnlpckNqkw7__9Lc2O1@QY@@_+TFus5Acou!yD`Zf#9GRV_^kt% zFOZvHA5$V>b%jbJE$^n}F>sh#l;_S69iQ$(XAFqk83*68vvTK{-W~V%&aM(Zd4#JZ z!DI3TJNyh;`&pGL$d)}Y_wO|IBSyYD;a)A0M++CB|7+Dha&(cAe^#X(ANN2eTL5w_ zA^w~p`zuIw9$N#Rz2_M|;)hbo zYim{XcB35iL4oq6)Ym)G*8BAy9m{Dk9l0h^xkglQU?}q44T{XOja;2#Dh?U^Eo9i7 zNSFVBtMp*+2{9GF$+v81Mve&A%<5f5-$oLlOG$=&Hd=XK)iSm#tR)_q7plu5yJE^J zQNEO7VwA?Nu1)H=R`npZfcF1rP)DT%-E2qv?S=(5mkNRX_$2;s_KRNv;o36`7rzvN z@+`h3!Iny%JzX*|ygpqrMDpyDE<>3-DF%EJ|#}<_WgX|91;75iU+z%1Y&WF@3UF$S+F9A z1c#L<1dHP)juX*RN%aCz#TGy9RF@6`mr%>VQWd*j)<-g^5{|?_ z>ihEq*IPZKT|4(yYAa!5LH!|zC2(xi0yvB-$ie)X@z8NX3nf(+N73!qoN7yGxf-#9 z-c=Ms2TH^mVE_ci?zUA#gcu;6EP%4b7nAcW|KDXVdbcoHT)JE2NhCu4+b$h#lyf*4 zJJ|r8{U?+7KPl`gm*m(3x(XP?ZD6E@nC^EozvWH~3dcE`WEd4iEP)pOSEr~%ayU*c z!T2OEJWYufIg0f+nM}1EOf`a@1d<1MNsuc1Re;e}p+=y=Ag=E3D0oQ{H#N?~bFrOC;Pg!mTx= zrraUWq`qJg?^`*v`{|Mz<+&pD+heln6~q5d5yvm?6!92#k8}B3`q5Psg_&~fy3f5? zHyQDa$4>3k(c`OO9w&&xDv>`yJ7Lx4yWsVS#XUGohaCG*57Wz4~5 zZzI_3!N}Cd^cR+xc*(yu@6NwR_g4FcXYJ4@;+xfOSuLz;Tgvc|zoe~S`nJCR$Lx8p zHoH&n=<1D|v=5(?0@uv!o=yA0`BVQ?HoHMli0;tTHg8F&TWZg|bm&f9@1ot}zV+Dv zwbOT}u81A4Dh3I+-VIn91bFW5E)lz16t;2-!ERa5E9kSG>G{cVcEl5b_wN_hHtV5h z^YZz#ZCkTWD&&Q9?Ku|Vu_5-Qv+ueJm~?<(Z#y=YOO!MV*{#;Yx$af#9g*7p3b&1x z?n0;+7L7URvee?vx2a@SQzBj5K*P^)w4du1Qo8f1xAazQy?HbJ5{EpUkf#fAuQze) z>wpz@c|j`3ymJ9EN4>Gs5wB}KQMUX^93;unL6ZD+CK)4S$&~Iv=W>aCP$+9ed7 zpWlpK0x=<@zAls3x0IRkqP{twtNYuoRUav?DT#YR4!^nBTH^ZN?IPIHYi{=^<@(L2 zevB+Ls$Yz4j?~>HC?8yc!HR3Nep#(+yE66_9P*T=;?-L}F{`H+<~TSI0|-3vsqkb@ z#sIS4$;j4<^@MJppac*gvCvf@Wo9es+9ewzG%#YR-`PY`pcEt)yi$GgiQ}e9tk!z#KK=$zcFQ(UqHBR|;owe#(mmTJFTNu;TrR+I~?ZRG_ZE5p{i2mb-+* zCn5L$Y^rM-$rxI|VIdmYkqmX5sB1};&3x4LLr&GvsVL|a78R`ql|?pkW%U=%_&$lm zgzG-hjGXW91Vak(5mAUVpYTHYh-FOY4u}AoIu3|BX+xCs2SJ@e{6!RI>e2P!PlW@b zslvtnv|PdGibt}^=cGD3r>Ni;T!g_x6iAF~AU!V0oscq<7uT8Sjtql8wFVypR4E4g zL8$EKU5o{)%swFdh0OMgInDE2iHUljD=|+IQF`v5JJEyPKWl~ym-6s#q_>Av8EO&SorUpfNIuv8E=6|~sE&X_c)|YZ2-7eU9 zX;gGu((l(wRO|@46lT?i9ie>eC?K*O)opm$ihrI6(rcb4mJv(-V}s&LxNs8RSwivP z;3S|O`BldWCs9&mDolm{KD0q0bp@TmT-Sw3lI}^uO8ulQJW?ZV;YIl9Q`%Z;gn2OM zD}y||JvCC1Z;8JjpbsF)zX2pkwd4jCBv102AHKCBk|r+{Ju>kxlx&=bgXv*M z_<_1X7i|346|$_()zHm48`{*T&>HLdX)Dv?XTz$OK)E zlqDSFIF9ishZ~ru1cz}NNie#M6NXVz#ciRdBb;hWXx?(5Q;1=>lA4~!LFKx$!k8uK zz9wAHB^--2;Xl#F(S$D%J$lSb#62c)C!1)4U&MN>i>@ZzFmOS&n2EnsEZAoGQuLFT zQ~4Q-wVzYH6XoXkExm?8{Pwbh`!bO{GAVRplDfQoG<)ZKb(JAgWsqa=JI||BpNKE_ zr4ppkbyP->@gDMd5EjuQCAKzO!J~26|%^RG0*tv(z0TaX{GrRm5PE&Ay$;M*yy)=hwrjX4t~3rD%cb5>O}Y@MtIP? zJL_pma7j;)Stk)7Lq>zDy~^d&j%$+E)sE{DH0DtcIB0!9-&rTmECccq&W`BPAEFpPb$?R=xYM0c-1insk#i^qQoh*N8Xcae>)nMhy{?kxGg> zn5Z2THG(7*_2y92>al(M%>`N?15k>o+!O>i(=LaOexrkDRvSgr-WW47Qlk&pOqX z(7expPGM2m(v+GHH1yW;mIb$@Fot1WuTA7$D{@2y)Zkstt1_eB>imLK;EUKpf)Er8d> z4K}*t-`lbTKTF`W`v(L3n9*JHQ+AQh`B@jFK}sy55cKx}$Ex?0!UDkI%s90mNtJQJ z0!peRsjvXopZ68Y@h4EAyfA`?Vezj^)LtiQVe!A4YTkXTK9Yt?xM=rJHr4gN)p4+P zXop{LoTzI_HT=TIooY*HUQy8NPN5#;Ri@H?f9CyqAv3VQUdT)X(ctA&7ZCsaEyhito%oJCM zez!Q^l2!86tdgHjD*5T85=`%#PSf_)FZLcWxX24`G^OL>giFelqU>)N<=%?Dv%Bqp zE->gkD4_FHqiQ6-UA9y2j6nJqz|fEA~Y7IFG}Qw7n|m^{__0#=;258xnGy zR&-<(Tau=fCi`)cy!%60T?%b}P~^V)BttPshGLLxok^D0&-8do-}>1Ax;LsGUgMG3 z!z4AA4(r2rTtNBQOu73=efxdtl_~aC`#oF9=Q@#%K_vF*IT76o@qr=u}gWHhT&nk%?O6@5}#GPK4$XdlwqehH=V(vh^% z;nc$u4Y^R`CLL${mwV!*^Vw9{Ihp{v`tXsMA?{44s~0Z!&*&iCrp{OlaljP__*2^K zj7mFAJ9K*Mn2=mkJRas`WbMv3wx*rqWXeN^Ne3Dy9Y^b)juTtc5{?bPePm+@cInb! z;V@N|*#b#Jo$jm?ms&A?z%}g&RJPA}gDB1F!azlyC};F~k21|&8};5gr4wjcz+K>w z8s8Thxd$z4QJ4?+1_*JP%lN67h;%Q|58=KXM-zF+VJ6>*V zY9X|@X2V_AZryt39iEDCO!}K)hQ&Ij*+gw}*EzntVYRo)nz5wB{oqE4Hm9@P;WD(G zk@7ORIEyGR?B!JzBLD4*DU-_HDoR>s+oC1^P*as^>b+{@z|He>4|cz#A65D69Upm% zJ?(p=G*~83MxGh{Rv$T5xXWbso?!t&8UJUZ$BmBCB)S8zJ);X#+q2w1?T+a#=pw5= z@^h`@iSCvC*Td#ks;$VTciB{>ee-kL#o8X*%lm9e@5X~W*Nq1&sVKIaczDk@7#_AT z7!K{wt6dHYcqu3(1p=+Q28xcmc2svAPRvomWp>uPA&i0P!{-zbo^`XRI%{w3z608q zrJ7X{2MBf&z%gST%rOUdrF~A>+H3Jpy&?10Tcztic$Li6_LE3}8`FnJxR~@SoI~GW zcej2m(Ue?vG^U^hT4guYC}Ug{_c=JBT?UU~u`Wq;)0ep<2fH(U%qyAMGDB0pq>|as zf55A#8etF3@*)RoH53y{Cf%0ZplLE0!{=!5&_}*%{-;Ce=ep1g;B`nQo=Ee0gJeQm zDXp8381W2Ar%(CFFYP&!8+Dy5yIvngEuI~<&_}Mt&!<}SR{Jfp(c|mTv^_O>b5)Zj zqgyvIJDRCbHKU^C8$SF2S{m`~&a*!4Efiu{rv+Aw-HsLGdz~_FHp}NqGYAaGcmt7@ z)-ZGPZi ztD%^d@k%ciGIVdrlI);%472*kk;3n1N%9!9VnY=r7#2?4u!#B@V;n0it4=xA97DP{ z>rVacZeZ577>p@6YPry0c1_ODc9v@}yTf4gkqzccR6*dRA;Vz45s+WhM>3c?WEjk!J7hMPI#{UkAqQ)XEG))gywb}xm|bBo`p5?Jf3hTv z24h$ljA4brI93=;opKmVNLLt)wJipt`sCAf3k>Gy`lO=4a+;?Td#E9EQ+?#%?+0GP zDnhAGCk%%vh~Y5XqNh5};MnAQP7`yxCk3m;?OnaYcE%{O7m=7|=_9AsRvcydj`CR5 z1)`Wt#&A%%;SeGqQo>opEmaCr3GCeYjeqACtg_ z#Vpt84<)DKSYab|%8@rX!YQ}FbUhh~uz#;}F&#D4Fr-yr^aF2=<@SRvtZgH_~NMm;?xmYAnV79fw@1M(NBIgMvb$KH~MnxaKQ;@oCHzH#tjCMyj3|W`V zDBMC_m`iGvslilwyi_pQ`xP#5%j<)SHBl(ejhMCqVhKJ;s$lRNZd(7oMt%;IwMlVA zAHGUSC7b}*KS;@dTQrFc?VJ~F9}qA ztyT(Kd?Y~byVd{AqRW?hkW zt3yZ3=d8k67)&J&yXY}+uZ_<#4T9D(o%W)UvX1EEdL25n<*Y(m22+U>+Va}CwhRJo8PDZttGA+?-)((a zs7oLIln%}D;YHPzH@}V;x?V)%BZpqUoz<27@-d{^hbPCTb`RgGjB#8_(hcQX8!hhFsIdST@FY;MZ-919hV&_^e$ z`E*u84$<;g=36NA74XIX>mw(wznm#$g&uDTotPfJWkxF)zPgZB7K{o>IHMA$FP%#0 zw9bj8N^1DU%qdHnzZzw}ADNk?>BC(mvEg52N?GRGn-^(yL^oC3cYtM)a+xGm#7Hx! z7-<&eGU=#Do&7a}AtL*;%)S!ZTq;>wL*b=ZBYRT~rJ3wVO+N-xiyeCF*mf~CH$S6H zX|a2!ue~sf^iR($akQQ^8_k@xQO{yb_V=i~7iY=SR+tL8Co)9r1{}!8&yGoqx{Fm#r^< zRZUu)njCo*eCa#-$bIMVqb>JB7@h5Kk-lS8=sQLw`i@fxh1NMm-+4sllqJnyjWWMF znpYpW?;M>eWtk7P?-*$e%ScDxanezdI{WB5M`rd}Xab|uWQIleG0M?>9IKgfbRSod z!PL4>_d9CuL+dv^G)MLHk^9Z#T=W*ddcUcP={Lc@m5s&9qu;pMMI9>BG??f&-;aK? zusHXdh}DZN@FRC1lD5jZ#E=s_d*#ai^KC&@tB*Y5Fh6;~UMIG?vsvl?W$)bs>^#o; zeoI>2CEqPa#CDElJ6hZF+LmvL5+#-`*_IW_iX`9SIIE-GBb_~7?XLG?StLM!wj|^b zE>%(zLPMdY(6m5kDJ@XoN7D<1La&rxFDcL;gizX2Ahb|Q`u#l5JnzhV_B|^(q5u8d z2EBXcxy>`rJTvpmGc&P}@nofx2o;%35spoXP(M~|!42d--JQriAW4|zBn;213UU-O z*#0litMWp1G82SC>g?%a5s)kDtfVu~YeVdS_Pn-X%kawLJiVq}q}Lq!n5dDq_%Tt7 zG|M}(vFbK|ZXw~Fu_|k;zos*-ak{A+{3R{90lGFS<|`3us*TDg$J?t+x{9l>uU__owi4EP(Z)MS(AX z?MEgB{$r|?6R*31rkgyPy4_g`mIkDw!BHQ+48bxNU2$rfpPU?7A0`-tBx+bqcY|NT|EBrP%kj=@rgAP(yz z-%I#stwO^$bidv!yn>mno|;Vtc08I}AIi&j1G67dl>e9v%*oabEPI>EQT6gw0*6lo zb$$4hjCTKamrv$VCdz(Dza|?rH0C3Q7ROf-TJ6k9lQDl}fDkDpMhLsZn7`ZkD|hu+ z``p2&9??_bF@rYF6#^@0y!s~{;Zm552D8|j`m4e0@<*0z_G%LD86${H@UeQ zNsh8=>`C3n^%2QYCOMwMVBR7a+~7x@`!***lUBvpzBg&j_EUa>Sstcb!ka53*4OE8 zSv)`28P_^(R?m>?o%N+tWA7jN$oJlNnf=#a!=26jb%$psmz1LyY2VzXH+f#rqk1i9 z-NCcGF_jC~+D&A<*{;<1_ViSHA(xF%cA>v|c0p9z3-;F$<$3E>v6@e|oz8l9CrE^=5e&x>x4k z=JZ@M3A&uizpTH>#eYnXbZ0Two%IU$H%X4AxkcSor2%5Is&sjp4P2${IzI$^%@GN( zS^``z0aixUWjy7s3A;!C^6ssSUM-PzjM0c-o2{7S<|BNc)zSa z($-ydXmg`Jmd;A}LZh4YQu*x6^m&7kfOnYQ*XYlRpjuIX^*8AC>+!j^^wHncp3yrY zc9i$Rkz@lCvu7c#qZikzvs|Yg`)&HyXV|MH@m*AF-7DJ86tN@yO)s4**!DNSbWX}X z-CmlOa4%lyueI0T1-GI2HPwBm6mL$=&!ljCqq3~^iz44K8mjQf5zM73Ts<`@vsqC8 zn|k$vc6%1}tfg%1_@a!rf)bN85?9(fzI19~Vt#6_v`xKGu6M1vPo`!(+}|+%=u<}? zJNWqV3*D#S$SqAJt#zXHbb@{kfJb#Et^(+faMH`#X5XT&u0ExGg{rXoT){`zdd-OO zQ{DGSzZ<3BYouSEvAn-T-AdQUj*{)TjQ35_%$$gP5-wkIXX+65i;mbm^H7+0TVC3c@ve;Rp7Bf8lN zb-69EdSfP02og2r==oYPP?J3}HB(&v)*qSfoK}5L$}#9z`DOhz`^rNmj`h`uH9vKx zE5NGS-6I8`JCYRlBtF6zs3IjJCc!$tcd~4&uTH>Q3NmgW>Y;8oNx=Z%Yjw1N3wK&Ew%2 zNL+p|-4!mcPh2zv1!B9qXpLM7!D5L@eY5CVAKag$f4sD&?t(-*CdwN`8GUfCiDK?X z`IGouy29YOr*GA7>se{a!Dhw2zglQM*I%_GNeo>ihAwM9?C!6rf!EB=nPpzqUtK-| zS^>2Cy6zhWZS{GBT&{Cy??|-6AVr&TqGU@E&GEfxBFotQ0oN&@*Cr}-(FEFGCtowo zL?gGzs+~oxb|oAl2|?Z&2Q^ACLg}&lW||LHp=1i9eLmFb{&>}Z8$=g(feGV|)k*YR zW~Ju-I(M99-@piI#C4(%`Z}R2CT-|HgSXLvAH^KAC0DxakLZOw9jbF@0zRVw_?&k~ zzJHwTvO?)TR6t*spmA3TI*hR-M$1zd31df^zPW7`mSr7lPf5p><6qNxRZg}^&@IQ7 z^j6{7j-sd1MiODO1ioA%Y?i>$k$yP|oSW^Yr)LPUw-#qxr{&CAX}sl1RXy-Imf93r zSSqx5=ZcmSt*B1Piq{*c?Z3uTO|*4&fH_D&P(Ks^Ni}YJ_3NT(y`&VKLKOAJZWUvp&aHf+g{cmdZb zAxe?U+;xFz)d(Ok_QE_l{)EtJAPGc>=Z#nj&&Yrdem4|OAwxIBqfiR!boU(TzD1hd ztN*?INcUm=E%x{4x~Mf=j+?}aVe%%iVwjYay=`9c9~60M^2n@C z)m09m2GZ{Sh+rxObzdlmGAD;y^~WQU<|1_exxO8$EH8r_>9&r8}$}6=NwYBM?~`Z4e@6 z^N0!Lb0YT*)xb5P={7x{g_9N@He+!jm^(za)`+T(lH_Dwxs%kv3I*f=&wDc z2#B#@-e=8JILLh1Z6ycUA6e*3D{>WHlDQ-LV**R`mioTS8z4K%>{J1#&jHT6HyM1W z+vq*(k=f-o1m)_45^d-x!yAP=``w)vzAg`j4O4`&ahUR4A&yLWxV@5r z?9VzyTpi|ltqL;`V&Mal%n=ysaWi<83V(?^|8Is`0$S(cECrc3?!?4PwZYOK|!h z;P^`v;NZiX`ok^&{ZHWy-DHth6}8FWMcVvwNs4+e7i&5sZT?rBbZ+w!h)aQJ!SAU9 zHC?az;F0cgy(a|cqfYOTJ|%9|flDKS1sX#RG^RyZ@6*Pj-8(#hr~0|!fP~&aLT?3< zER|B6Af*h%RP6_iWGckgqcB&AX+~M$7@_}Ci5e8#ky-*dV{j1mmy{$PY-8^kD#67a7`;4#&5@Zm=JV=jOVV&$k% zHFXi% zH{hX{0#8OvDgBUAs!enJx6lcNEbF5Xm3n3HGL&K(l*VB7xe~Q3%y!dhn6%JY@iHZ; zWnM-%CvY_!0mx;3CNH4tW8ZZmj1#?1GR8>uzg=my6=lZnZ_x0%sI`Uq`I`!7Z>t9P z+Yr4a5hb99TK>o@ZtEDzSysT5a_r2R=5=czn6LSNk~w^)w?<^raI;RIwN-m`Y<$l) zv0zN!CKj=Fy<7)`HG8Ve(t1V!qXdA%b2u;y_J9a-Kp^oJC-;wv$V^k$UN5lZp%4m} z3m+ZPFk8Cbsm%1(D(-jId?$MmC1{Ee^saNzJZ_gjchsdawS73Lt#O$j+Jf8l5)321 zUV?>-z1g{GrQf?zn)da4o@-_;#>yTd)D9xlj()V$iM-MjjxW6exL6FhY)B~b+`BVr zrdoNIK)dP;-0n&VcrKB?>eZk-QW}+{6svrL^I(?suadIIzjO~EM3RRX_u`b&Q zcB6^ionogAq~6<&9b2?Bu{U{WzQ36?m-gcL!dz#<;+>!pltR*Rp`zhEE@=+F-qO+r zWJ`O4$lPl4{uepHt<>Y~;j0vZ9Zs+JHjz!reC}cm51C_0tY;*a_S||;x>&wo#5_x& z7gDvKFreO}`sdJmZ@>N_Xg^%4PD5#Ktr!8pkM=w%PFT=AF3zt7ea0BHNO`s)50bl; z;VA;5@D$~YDR-p&RW*4PEZZ(|AhuoXi18!v(=N_MyA-$#Yv3|)(csTJZq{rG#O$?T z;9aVefLS66IUW*J0+%)l2H{fpMz}O#xGyb9rf_rbsFAEM|6>&Z{LVy>Zja6#-e+JX zJ<7AjeW%8T99$*CEm8r*aGQptZ>(&!VJ)SIl`G;aL;&yc6(YdS6H-jNBIxNWwIZmm zOQ!td4sPL+-IH~OxH9b9lrx+M|0 zMRILawcxa9Lf01<6^-uir`80Mjs<4gJnMa>S68h$T5Ka;uEQTX3pLf5AHx+U?*~4e z3w)Xdg*yK71#wAjq}SF4sqbapDjMkNR?*POBx|*=a~ZNnUOziWv^sEZOE|X)hZrO+ zy$olK9z0Au-k9LuD0no~2)}W9_RP3v#<*lV6V^^)F?q^Zonr7BA%!`QYCauH`lW8@ zm%0&A$P{{iURCrS*Q=pWH98noOPkuus&>TXqgF&}sa0LRqTxoK-FNIrQUeuYf=7ku zyjdKE1sW3vGpf>6D$R}ANkOqN7a&#(A{&~!Aj+}kD9_g1l*<*nh+@4~h}ghd5yl2Y zxO>2N^8ZS5OXcJ(+r{gSK7ZoCv111h920$bau?VN?~Hu z{B9?;w(y)6lZKTR^`Xg;=7*Csy&u#^A$7n-OaG9=y;2y*rKk^w3A^1%eTj^FRH_tw z?iTw83>|_S{%|Vr)rQ&zlUygz&4xgzio<{QHoBLS%@-VKVS6izNiw zu52m7O(%ThZ5=$;iq!qqQM+HWweRS`Bm`lWi2I~evfi(S5ELQ=ffEXc39)5vewMe0 z$Cu_wDs6~sm&5qh{j(F6@|m`hO&QF4m|_yu2%G!QE=RVvjk?Qs=1fN;ZjwGGro;py zYPAe&>%oPErB3U_yl(v`nZo$7o`oN4=ArynKN@OcX#+S5lP%H&7VM1jpq}Mybr%=s z7WUkIchx_}bam#W9!s8_omdzn!@a6>gmN(KOto+e_Xe>uQ;S{YGAmi^?lh^oOK;j_ z9(OB?t7F@xP95bi%|ba(45NPcB~zb5i!qf#eMpY_o*YK|o=c|PwwDEhILanwjj|uE z5of}2txD-OEJpCMblu+!i=_~Yjly9Td*$@(%o%0(*7{ENiFq*1zh!^_^T|&#vq!;9 z!&xK}P`F&TXJ~*Kmc3|KB!w1IB>cVzwc~A-WfXWoOK+R^fS}EumoJkho5xQ_r zG07@rVU@vxb&Ja~(;vb5B4?w7yjPGI-KI+FG-oS;?h_D7UhhD@qCv?>L*Xzb-#Dmb z<+XbL%2Q$JzG$OFFrv{1VgB>!l^q9$zm;h>8?9h7=ScMHCK`VvU?q zo!984+GP^s263YE-ykt!K66WmK_Oy9;V>~a=+N3r?KAYC=NhK*xz+PDpcqt>B;>Hr zGss_xh}kZaq@8RM2&O|oU|6W^_K=lAWR1dMvTjiu&7U8iQ}j*AT}}SH@K0Cz&_8DH z9WB@}WQ|918(JeVjsQM(_JGTp)J(08hf2e#><+b2h}xoXnA)zi7qzvAFyDE3 zY0CEUR&MHbuDVnQmVGFUWglq}NO+)Dhgdk@R!I3sNJ$}5M&U3iuh5{>ot-I#ELwBz z+xFf!_NF8eOGQ$ASt`aX=}_=1SH~1)et7Aa3$tisS;(UA?}e8hEKD=)PVc(}5eIg@ z>B|4R2X^AwuRoPTJ9av)erRXwYdN&DA+1;I312CZjLfd}Y6cR%HhI=}ne4^VH)&8& z@s$t%49RTkZ+yHn)3N-y3!Y@QMm*W?TqB-JUdst?kpY^)$bJRvmKxZ|3G?xmEeA2e z=RnZ9hy+v^W?r-Fa1q zom&%lJH^p16z5dP-J;8rjl~K=U625Xy5C?4tKzq)GAGM36`-SV9`po zd(eHk0RruCJY)Hhn1iWbKK{Y(VYV<>rm${gnUYe~y62=<_P`c&mMop5&|eOVKMy%D ztIPVs&d05pUz$Zq7T+)Fzb_h-aLXC^qj7JFa*S9kKF$KhDxq9oS1QIT(uZ~4ToMz(ahwB zMRSURcE4YuNKvERswqhpp6-Zk=k8a>=3dg|(3%!xObq0-zih}EZ*}`r0efqL9Zlva zMjhLM_iT@lgEVt2@Gt8G#a53;x2MN-=1|RCRO9q4_e?$CeYXq;N$yJ2nf4}hePO77 zkr4oU%QpRe$x1)f9S?iWv=x(d?Xa4s$yv>_Pff@BY0k{}3B8fYC0(e|0GlF#-Jc9i zHZhqj5DE3bBxRj-|B(3C%?S>Rdv+^;m4^t0x4)d4uk#|Ay?4d-!0g1iV{c?7nVV$<0`p!cPD6;dI8;3k+Fiq{R!ty z!r|oW|Fnu^Y3?mx-<)9ITEJ%RL1}O1-YJly(iDfrGIHqiZ7QXE|Axe<{MQlpbExj& zB*OlSz&)1WQiun7r7*#c;$#Pfs9`0CREh!9y{zvc0n?Tk7}Mk=c6J2jF>U%5F>L~F z5ICt4?<06gqTT_4vxmx4$=;5s2cB%#>^Hg=Xsl@~;@%Qae(OzC7cw=EmL>UqVchYzli1kYiE%`Q;y4W=PvYI56eN{s*}ZX3)< zKud?6J~MEH*?VM(z@kNUPprHmr6`oAeo(XGT#>bko=w^SiuH3W0KKwVMK}Z6cU0A= z`h0(_g;A1PL1IXZGYlEY1uBUWPG4D|&Ewi&n4KSA)EWi*L#!=HtSu6Yoklp^*C5v0 zJi2q+d`m}47d%f&7Y($g7A%P>-Q}P(DyE37hvyb8e?U=m3#=%XX;U`1F=d0>u^Kn8 zPbm%MsXk`W-LLJKA^TBt)|TOp=<(Y3YubF~B9Y(!&})cG>|3y>Jge#X#qWZsorNE^ z@M;JxtZBLrM8o>>m07h8tq!gASL;Fvy&c!EI#UDM&tEy|uerW7~b|hWG2=2W!hqxQP2p?n+adoBEp`dHUcx_K)x1cjCZ>?!6e(U47jb6>)IN5*V-KcedH7QsyTu!<3o%Sk@j{qE}Go65puq-Iti9Z58wDv;{rC}E}5 zRJXPBqzRO@yFbx;bHe%&uia?3k^7zm&7M3wfd1Z2QKukxQ~)dyn}k?%wykhVRuh(o zg6Y-Z5blu0+I?g1XrDbb*{;H1-NUsxAa?ysYQpFHtEMh=UpV63996wB(Iq&7vHfEl z)4Pv!Uli83{?|UzJ*9u#2mC`ZUE7W9xcBAitApL9X;sw#w|gHBOS2bkimfx+!LaC$r}os(A1BV>JL>ir(+S^q<&pa#hpf3 z|JxE(JO)Ug6+blllcli+&Q-3avsqoe#M<*)FqI9GX2lKEKg;czA6XNy*X(Ry4w?7j8m?&_n6VuJX5*z zT8%3heA)@-;5g)xEl_e(-V{A%3{tQ+K_vy9IyDTRJH zt9`;l`42lQ8~mzj^fyOJ_R&L+m)MV_Dlva3u(QEk7uj&0*l?Hk+|>9~^{GVRbd5p` zD5Wya2ts`;HHSMl%A>g`mkIP9^5!b{`x;H4_jUnF6U^lvPIMkFnmt{#QET?B5x+;t z^$0eN3wAh`cUOA6gboaW8xsNAoCZ8)1TL)ugMV|vXHzQUri_{foPg`u|Ng|rv;T039o5lKa z5x-finIORWtT*zoxl~-uV#`T6#{3jrFF<@qtkV2ed=1sn-s% z=E#@o6{NK+s^494Q}(mZeL&)EYU#iIN|>A06`!q?@Vk?E+Pp4+(?xJP$kPaD&F>P?RsdI*JsNkn2x|KY$r$hGEU9BUtGacf9?o(PRsr4(tWJ^kho}srAItJon&_8 zjkH?teaL9oG}sqxB~a{EI3st4r680Sm8gcr*EFvflT=K~#v~P!GQ7q|O{zh+bj5%r zC7nZnDH#O9F*M^@IH03?S27AY-aj;ioFKUBVy_ftwNm+L8A8j1joR-UNXii2y@zCXg(kp=f9ZX*7MH{ftdr%zkDG!Q6Ot62!)ku%$ zr0m7k43MBDAdwbaJtslmFBwou6@K0s4Db7E7w4aB+k6^3c_?Y&Au&j~BfVcX5_LOi zn)>J8Dl4iM0noitfHqFd`k%UFC9ZcLpUqW7h0Jtr~f8Hs47H{3UX{;q^h z(4-N4i{=M+9Y3<~=(uTS@6%gkV;#b!ZS6-+!x6Jz!sjm|$TIPR*ChgS=cLJ~s zxIZg6TILG@mk(5rcV~5veCm}Y4xv6;>Gvv~r@&m96yzb?=>@PS_M?d!hRyTlBGCQYjwJ`>uO9%JFdYLCUjx zxX3ud4O9{j|M2ESA71a(uK9-&F8ssxfGhk%2^an$-O97K z_nTfHd~yjFULjq{Gkit>61^T_Nok@P5>mF<;k_R8hZ8yh-2%Ppp5?d!{4)uj@xOq7 zt(_fGXA-F?k)pHT8S49Ab+rWCwBYFMw+GxGH^aSGa9C@)9!Tm-9lT`vRdxBZx>oGq zQ23f8cDM*vc+8=I2>ba9;(_hEUApa4j_uQAloz%yD`4PcbdSfF(%?Yl*zCAfPF83EswFHg@(?br7&a(-nZi|_NLyR3k zI1-3@94DqnCDn*DJm6Fv9sPh#VWA&FPR*-|-dB4CaU1)RBKC;@6Mods^*$c1&myO| z6e5GdjteLxNM;mo(UK(Pg-l;on>~_5eMEet&EA>XqFkGlaM5N@CAj`(+AN){i*_p! za9y;)VMiG5YCw9Ow16~3VG5+8@5IccDbfgq+Y*Jh)+sdV9r(8;c(zV6$LMQiMTmaV zGKah(yCtZ1B?P80H_OVYzG>%>fY)V-dqVHlZo^hYYv2_myQfHouN~(46G+`d%AwVr z(D@{l%xaYwFbQ8J`Rve={{&C_DT#c_>vO5+mXZv;mxNZu{x&>i*SskB)|=Juq$aEu z_iMyzwYYQ2r#MXHg~(xrH92~xE4q!GHdY6^ot38DyVY=B(>3C?&9~b42@dvCjl+;G zoR-0KVRD2P>EuK$__wA^{!l!rW~6|4bT{`C_T&i zB-VP-j=b3qE*C3pX93MFEzog4szbXZB{j+~D#0pZ#=}Nw2qPaJ?=#gL_>Va$Zir@hNVr?%yp?2 zf7Rv6A}!nPGStlpb+b^f9frE~)a>kHxbcYRY)P0~go&C_-EyXbYYSt#HKA@@#=Gz-B2j=kMWZIkb|$C9eJ|doRD;wns=;W~ME3)}*hFmT zB6giFTamQwLn^&orK?1U@xt3S#)~jEAXW<^cMR`zl;c^Vyy$d!Bjp-hS2&(bD}we) zw_PD2C0{G^!mx$ic^OO6$JG*osOr@cGM$a;{k++dFYNMIc{0!2K)NF#F$baUj?_Sv z?MbTsGj5@_wFCi%ceqBm-=EWzD>G;tV3WuKHr*;yZ|g7An0P7rGi)N8>y=y?bFXVe zn2vRg2yadG`nN82n%4J5^k*`v=Y6qK?$H07N|OqpMeGk+ti&+1UvXN_h>;-*QJ^zo zL0gJJwjlNUv-5VE>EPZ94Th&~nrT2-eB zCzRs_ArR%iXXTgDPr$w>Vc%b)9{nWodaeEBbs~%nzD{CAKS|e-H1-o)-VEs{&|)JT zS_E$~s;z#h!EXKNGpHy;>&}RNQi?$rLwjpW)R2)v`iWQfOYSGzBn|y!n?#L%vd#I` z`bh~F{p8w!`!8y~)cPe{bdReYE_aU-D7r_~qv#&AHQfVEMRk{T550BDdt}<1R}TCN zW5}g>OP$f zri6>7^nFfG22)I;`rDSr@)tX8r2*N53_7$La@~_!EzzmQ+WzKhb&a)Dc)Jtc+v|8$ z<=uAN|HEfrf`6h0A9JL#Mh8<{-0L;kE%CDYD5MLghWb*6y4Q;&UHJ8?d350?8(O4< zi!S^`z!hD%go`fxSk)pa5Lg057mj)qT^PHh3)3o5UGKt{fYLo!yxT%GS6%x8HNA$O;78^dy+vE z5o*OE*8dRkP;W_VgG8R!_Crkv$or5AGtNS>6t z&6g-FT=0lz90jLdDeLivue;Cw^R5Nj4T%#g@QfCb%91dymNx4cVSi38lkVS{l&ln+ z`;@WchxAhNky3ehP?(E&6*gMb4UE>cq0UY-H6@onQ`bOCA$}|h3*|NjD*9Vei~H+u z^6ErVo=H@m5et%wVeyJp;LF=XfiA`jU6#WH3cfBiQW?1{;V^opx$jSK)zP35DDqdn zIsxgp$ozc!yj>NXMye8=St-r-J_pZ3cnQSZF<0Cdf|R3PDnNNwZ@r^6&Fd?h?Y&oQ zlT^?Z6|p+@({BEHK7-P^x% z-<;map0HankEe&&?aW_^#pw~W`xgUiqn;K&I=ysesyfY6g44R_>k|%Ma|r#dhspFk zR%QBHzXY2l1R}nvh8@~2>2sbYtHiB~a;ysqlxKzaCM8B%%r>42=zWI(l1)9IboIQ* zT#*F%8(s}%aS(+*xS%IA%baj(>L3I89Vu`FNme(I3|ATOyY;I#PLxuwPZ`7By#67q z3i!E(b+^#G;-E*g!lxshFLmmAR3w?Y9u>)$ zy8cS4dO6IMaG|2lhKdy9jwAc7n-ZGSMAY-&XWe)jY6(Q_m#TVg+GU7_StS$LveIb{ z+Bi+HL6^Qbo)E`XwN;7!=S+w%r7uDaqk~$kx_+lYQ6*fgy8de@YO~!c#|)K>M%Pt| z5MA=OD_!-zR|_@wroHdiXMI6d96mR{eliJpQbMx3fg%5a)2gP3#c5>2X(ybvaAG#P z3}@qs*_S#qQ(wth5yLu_uucgJ$DKJfMBn>2md@nmrOy0$UMkNg=PTjKIzaflYb1+F z=rtv!>R5GE5!UZiBw{|xDspFuuh-Lc@17)CwAwA$s66IXU8q&{D$%8?k)YyqiP+P8 zxW5UNVr7`RH(zw=XkZ{BV()h7?u>E_Jj!urZs1L~Q^d6^>_Il2G2^fu$q5{`!!6M; zs}yASJxfX%QKD4RcE6}ZVXeQqe;A2N!$$BtQ>+|&_pc`_?ujtd<(}BG8fCitx)Do4 zW8-o-7yP!%}KW(f_r^u$o{1!X6|nQUI4m0Gsw9vnGn<6Z28DoO53+G%L;O?lr%R z)25Rc6+82|t8hbORlSF7;dDa@U?U;eOem=0{a%UsK|mR<^*s=1eh`@QXN1Db1;yB1 zba_IprNmee9ch|^ zT~(<{abO}Bm~f`q-szm_wM`xCXOhlArT>D;x|fdiOoduLs9tRGfkegtNHj%()WqxW z7Q9*sjcF5!b}tsZsk~PEt1|=xlvsEgncTAFN||qlbhPW}U<|8it{@hXj$8T|z_~ zvJA}4UkV)t!ZHuTb<^^(3m##5l+*LvbibUzWKvY|CX>=WW{KplHfX<>IswZHaHtD7 zVULazbt$Q`Fr>DxIMup?S;;UULLwb(b|lfhu0gcQm4a|fLSQSLx;R29SCG7;CKt}3 zl$ugnV9^*>;|U-%0x|(oG(z$&3@K4sxWC5vb0`(h(h+5FJEF`e0_ATs<`?rUV6qnt zW-Lj+IqNB_xM8QGzjmVA&Y=!SVGWRCMuP@F>ZBAdJv~2rcAV=J*n^5Wb&0}4iKf1g zx&KBAPkg?(B%@5~s2pW~)ypMGvJ;Skc>&$`FC|s@L>{K}NFeYT^vF*-Q!dpQIlMGo z3uF}KKiueQ!x=&N?nIchYFK|N*QS!T%e52q1rY8_2+UYBLfBkMl0BC~7DtbYP>906 z)A{|DMuq>9wD$?ZGbfgGcXbZW*pnEQK)vr3RvM(>xIf8sAj$N1oM;7a6$ra~JOLl8 z0e2e60YL@+mXrJ4CS~^5eC1SiQwy??15QglpUD4|BU==t5-9pYD3#+SAiY>es^F_$ z4~Ovt+^GSF?=59GU9Z3&NXh?GGpkbbxB^giCZb)HW~(lnHM+`_AaEAm>q>~|mpwt` z9_8ZkvDjn?XA|;SkqsC1FRd->E~?4Tte&f;c920YkYO7E-Tpf_ ziM{=e``e4{$L8DlEKUi|XoI5v-^zlT46vGWfyx{RPVC9R>DQW28zeT3rcMqWhIi=1 zr0DZW;@)@YqXCYY3BCDqncs5Tg)ny?L3mFMA&jVGO~@}-p@fJ^k|&+@V-U53r~dkh z+3BUTyx@3Kw{*kRgh*Gn6vxEij&nf1BT2qLunNV^fj~T#AlP<7zTfjI?-rV;WP?s& zDVmpt9UN6D{lm@4`v=(c53ngO`bS}_L)KTlU(U@kn+VN{P%O~CXfh6-eTs{EY-S4@ zV?Ah*FzINiKa_N1^W~3|b{bESSB42DGbl(iKSD9<)>cdS6^HE7FrmYyBXn*S9Sm-( z)7e`ZW(h~UhgRC0`DMe5kO2r}9zmE4y^IiMSCV8>oU2emL?xLN)4r}AZ(k_TzVM*@ zOK#t}L}*TgqJ6hp?FQS|SD4niAkn%YrCXSKj+9!rq{_4k@wXXOyj`WTa@+!ioi%7i zoZ3;m#wAJ0iyG@Du*dY&UStz@KhgV9SyCGQ>qC8im0s!b<>-8>#Jm_rK=F;9$_KrZ9&3ak%Zf890#+W?$ocTMj#P11qq9x zMvjzPqoj((P>(%EwLU&pO;h;;FfklRZ%?Ej%^J95e*hh#GtgncW2*L~)2aD`67DX+ z;WwVh{3-!^WBO6GV^RjrSfY&&$vDyBORD$OYEeQ&J-PHIYsfnY6zG)5PkC=oFyB|jfx+ojNkUge(syMI zGo}EeR7G$f6YhAv;TZblNe_ZgUVo=WvMfu9rWP{Pgoa7!1=_uc+sn zL=F3Tlc*7QL7ewB)w8_M0whLMknpJ)Db=B*%DiH*4wO>|2t@f{9lC!~U5EMR1pa1$ zGrT~~!8^5EoU*m_9#9=B{5`_wikv;dXEe$9T%lQ{JEnXB#ADrpcr<!h|@A>Hk{Z;-H6#@nNM)KRytwc4$j&bgL%lH8M9lUkRYW?eGYdUk4h zT3K0(OY<{=t_u8ab-O3YC)ur&FYHiAd&jQU4!Z!751U={0fQYco*Zjc0_>YPugtD_ zM$s0RZ7#H?W?DX|inLg^rx#{hdeBO{BbZhqP)Z$`ia#xmc7tGZ> zx)+OUL6=ktX}?)IB^)9TQL5ICdv{dofuiYuP;&cGVtdtJv)sAm;J|m%3nY|<=RFvTQ|=vu#1YHKN?Y6i^8o93cgnVG$0WlY|?!v-Rg&DyI@-HmKdYoCPn z#KQUWh-JUGc+O}_j|r%6q;ydILtVV(EBlus(|_4C54_su#kGY!d-87p-O}P#G9$3d zK0^bwRy%et?^Q02sY8wpj#{HHym0S}FQ&`Xf^m)P;yJEQOM_gU?(UW8?rQCBAPqev z*8LrInHQ|l>m2S|nZt{_S}!#57@`%k{no-?3mmwX+oSdL3)eaI#U-C!XicZ!#>FF zR?1VoFnjsIa9QscwRpOCoQ&)yCL3foy`dH-EAyV1NEfUwa-?~!dbJ*Ew^&?%^^5|c zo=n7MCV4gKM01&6#Q2{XG;WgS6+ksNukr!jty-}E{BBX-BvMS7zQ=V|&j96mcom)IVek^9|FN!M*+ZR!AQo-NKD)1F#2^6dIA9kSK!t|LD6k=)al2t1Y z7a!{kprX-=^=F==Mi7cP`+LLy-1mqt9NH(NB{j;k zB(~q)`?M&hNolhNH);|wj!&%??B~T2t2i%~5zYDsS%;O~MWt91g2Q?aoKUIbge8?! zSrJf?zaL7c5S@TdVXj3a*;#g4(<21E|EM0G?3rmMQZUU7oBKuQvA6dt&2U7^@|@9? z`k?5L9aM-@yTf6bmswI|K6#nZ+7${m)33tut3{Wsg4L2wmnYO9`)i+`;coL9FvsZt z-l11>a_k;5h-W29TmRCkd9iC2*3HR{x3zP?bq=n%`ZWvJcuGup%>ofm+9Poo+>cm$ zR*xs?f{6Di-${pb%ljjGKP#cC`i!K?kElL+%O&katdj9iLVc{H#;sVbrk?)JhDB;^ z2~u3j-}^0Z`xR#X{e#tL?G8s%shO5JmBIOZ3YZsjd7HH`bvGJm;Nk)XOqt6LqI-YA z<=Cws>V@dlg&fvV8v<;l#cvWp`syZei@4vPIJcU`mvGTD{@CGCWUaP6(E9?NrM5Fr zEYebbjzv!)Okx%S#IEnUbr!&`Tv>muX(}lQjM0Pu$ zk#_cxa?HLI$2(bR_GzNoVD?39rngP}hlXc*|3Ml^y5-gchGlL|VBwGOH=6Jsm>C*u zF2fHHVYdMyOp0iro1Ms3xq)iD$wNgE@BkT$0h#y<(bG3(35r3pNMZtsOaPFGQ)Z;1 zUO{!NCQ?{cDKrqd<^_pR4Tg#BTx){)r~m%W4=N z^&e~q^7;`e!ic+_$fY#|cff=Eq$EJ64`m64H^iZYbfkt-&0MJgL2ga#tl zydV*(IVymrhPXG$5ar$wmllnpAzw)N?L`rn641AiW=7B`qK%N zP{Z_Jj*1MAluTG)a(Se&h!sd*%R*i%9(SEpF_cuN(H-Zy>B{<RgMShp|>wrj$N$>E?JZ!L{o3K;kr;*ghLXoMIFd)?ISW<{Qbxd0yPRI z>gU}Jp_5@M`M)g3u9i+UcFxQaic(xhf0*FCdh5_c1d);N#bB zO&;rog#v5;W)8`EUCuA z^c_yM9*oHIj$#S{HWNqa$IQpEnK+iTV?*Rgr;S^0jKyR&MNaG+#fBOA8^wkNIpg1p zS;*n}>L8N#3u1&W91;0SvawC{LM30h>s^f7Ni3ocJCk;Iiux5vtkZ^Hi#qgI-J7fh z1jGU1x*CGdhDw5zGm5)FMVthw*=7nNjO4D>*KppYG^|k(B)&5$sW1}eEDNrNx?vS9 z0uBiX;IQ_|IAK^N)!5^GIk#E9*F3j)VOU@@8-{+&h8>%RD```To@R}9l}ii=S_%S% zmWG6HF0v}TJ!$E7Nkm+a8h^dlr?x^V;V^n^^=m6_u6zux$e@7?kqX$cTL-%jIGJiL zRbK;wu`6NRSHn1xkFu3%X<6|_!$O4<2k?zF?{71{k(34m2aAAUtG1A=nYyi`+#i9< zEEHT4dP#Hm3(KfKm>}L>r=I1teb7vicNm~}um;beHuzyilrkO9jS*%F1jY}eQcCU>I@`>r<(@8Y7?GI8_5Ca)B99@E>x{@+m`3 z)qsS11S#BOLTU=p$Eh07*tiFc6L=Wpj~2YD{-Sk-#aBR}Z-Kz+odV&~PSrqwUJmygL7-bxwD27rdU!X@1D-_lTLNW!5T0)tb-gZzYC1r`Y{VhVXkGQ zZUYgDWARPzaDA5$(TqfmvH|#j1%)sW%IP3(V8wui71BYF5}@2czQh3CE)irpuuB9Z zK=;pGQ8iaw!bO1Y7prEvWLFFs@`_-GxuB+Bax#@^)m8rQ(=XLy9E9%37*`hEE(>SQl@iIdqkx)w<|1c6o^p$qk^Ep z|EcT3(P?PVDa;N1nqq-l#N)KcY!Mlb2O!07HZ*SuH=kq~j4crhEX7H&z(&v4U!_2} zr+)HY5~#eUv?`JQZ4;rMo?5g7C{!L4d?lK36z?h}Ny<^qU}UoQcL*vjzpU!r%@5@E ze&4mSLX4z8Q7zTJ)L6V$XSPRO<<;m1PqZ0`(%+jjaGx{~YoR|0+ZZgQ`Y!&L=mhQ; zH!SgfaSJD~e!T_BYfhkq3n#GF;h5c)QXi7G<@zWX{CdWg#bV=Q4jFciZYGA%~HU@nH_%*7gcjIfJYAUvE99vg;G zJK+F}ClUrx$;=|+mO$Vs5rVKI{^%O7=x+V!8Ea8k>efrc0NyE7I^3EPmEH&{h1uL* zlPkJM60j|CkI2Nf#HjPA8CeMz+Y+gB+O`Dc_>)qcwD(6QUGq$=zsk1YS!upE;lEdM zgg@G4a@76NnY<|h3K{@~g+1zV6!%9ZNy@W7>h!iM>hR))d_zO|r5!9Cn0j({YNj)J zT*sFpsebug)&0$_QC>Jy;@kOFvY{s=6-gmaNUG<>mG*wf6?$3!awX}XRYFu}(o%*i z(qfqxXZfod5WA11AUD)U6Ll6Z%*!54&DDLm0q9-h4HRfTb~i7c6Tg$n1MJfbYEi)*O&HgT=? zfwCU*SF=XgIY8eG$!O%AO&STHLrEh~4QOQlz7q!`A%r>w{4+@-hYh~>g#Iy2^bYEa zZ0bu=z^dCXY9Gu`25HG5bU&_JKfHvAXxNpky}QJQczOzNw@zAle+UTKd-tI71>Rq7 zt~D$(`fKOrr)H{D=qD4IC#BGhsyjaE-L5MQC%p&t=}pwoA2uC5A6E~i>Ozf7ltZHS zCQ+k1oHA;|8ap>}+)oV+X7NZwo(J~abBXqLuTDl^0&&O=Bknq*ggihhaJ%9ZIAaxy=qGO?V0`OB1(EIXa=R6KV+J+~ZvZFoiN>aXOCHzwFoKP0^q zTcGXkPbz)&%Mx|fri+>dy#Kn$wj?86u>| z%PbF6={+1ZE|ZCv?j>2e59Yyp?ENDjS#_DboBr#s;qJWty2G=ROT{tw{>Z7>$@3Qo z$Xx7An+@mM^E29a)WbQ|ThW}GuRpHSADQ8BaeoBp;)$L9x@pZ9W@axOTE(C_JwAK- zv@WB+aOk?eZrz^LMW|7FIe(TA+g0!4L7Z)>>h)@PtMZ}k{VT@j&YPAO#`Ol^Viyiq z=HKR&(T?+0JCOi6@JLX1t5yJ4rXls3{_0uf>s@!GyG`wWeJo)PnZ@`|u$4*3@xNYT z++b91O6YY`krdXwu5X94x2eUPr24}l%LwzIAZb5clw`_%g(8Ws+tgK@qPpLqt1)Z; z35xbpL9trz_SflhB{ky(sy0YiA3xh^ zFD&T@N~**L5nwg1yEnqh_z9Z!Q$aIZ*|i0ou}rYuM>apwUg#WlZi(4OQNCG}bxqNs zU0w+qgP&n&KNk%B?&_&CGu2X|zkabjuS;eZi*Vu{jUtt+tlTMi%Ccl_yN z2gXl4fAqkG{+fx!SM7q<}e&a_bkeiAs$kmoBWH?|xWSeTAxC zA>sA0T~5Ghd`qpWn>(+xr^o#y5{xT6?bepP7w z&2zI0voq7@4Mqm`Jw9@-(cc-!{z?y4^*6O=W@Z=dKE?}2`djF*8r{z7nAW0}huaSK zP@;m$d~DZ7pV#$!rNqCU8si81>#Uj*>eENMKU^WnpE^<~NJt%E=aJ?}f746n3Q_x; zUpl7&@^o9LXz3gMwJ&Li25v*~tJtHp?-G04pg)sj=&7#R9yGSe9?Xz1`Dvg-H$1W^d*YgwzI_v2Onj=>TRc*UJQo^Da!)5;M7+ZE=l@LZfaS&BoP!D|)1q3%J3xRa4Z4V3Uk<~d|m_?D0D3blC) z{I*n4wLpK9+1t3yEK4+vc8-Scp{0cuj??IF2>@CaL;8G4SJqj`K+Bp8w`JI7VgS%y zpA)eU6gDZBu`dquRrW3>RYkg=NeVaNZV!fcC+Yv!(kXc#QBdcU@AeLcKdgg4kmUOx zVo#@Vld8i!RETIDS>5o!t8+P6C$Vy8`lHmXN>TrN67^-;2R-UzyN(&#c-GsbRfX7p zvA>lUrK;f}462Tlx|MBWyUb-*{QZ&*#kJ?Ue+BAl+L?V+c2?K$2j4+YhsZ%)!* z@6a@AbJyucs~A25fN{e^Xs*(GgX3pqg>DU8GiwLGe;9b^*1#VO@VC^!=@M0awe{^J z-&(6dxH+SPf=$Y|2?qUN=TZ);jN+t!jbfUKP3txWX~G6Pvu=i%ic+|s(jzu2P1nil zR5Y5$-z!iw#zg&sJU-1!8L^kPjmPhczB08Nnliu-knC0AuxBes%83Djn6O5 zj4Loz%|gO7jGE#Z&hf6q@j(~R<{O#HhPkP^4ol}6viABN`N2AJ##^^IJ2y3912}DI zEERoptZ1jiGGncMnMSFxdN_~{3}dxk^Tzo>UXKUbks6xyTOtwb(|DS_=nwWc%ys51 zcl3f(dRc$Nqq8%51xK@}YC!wW4{Fk-o3L$OWp&a9gV*Uj;)8!U6t-u@+HcCmn5I|R zZi}xbUz<*~7bm*o3%W8K&XqbWu$(%BQF|$2SZ23O5Q zdv8;fx}VNU=)N;);Ci|hMbA{Yc!s6o8PAu0|UB0tUC`}oqSg^Bs8 zxw3f+wr@{tUk6(zQu^3_C`}jbIVg>#YZvrBi5jihEmWc#4Q6XbBYg3!3D%p^KMkW} zjlZ(<9G5vEet6MwXY|hy=6Zpei~rn}ngBb42#vE&L|$D{fJaJPhCvganZ$bG^2EC0 zk|sc9u>IDFWBZOAf9$DahYuVZKf3SOzQYGj=+9{K z$v)j}nh@QYcx?}p(}x0iNt|zRalTl)VbPnnj=)rPP&k7?I3pPl%Y@s1apArK;jR=V zeJEO!g!^z3uJ<7*xKwq>8yciC2&6Jv0kKS~$4#nX9p$Zw-Rlud8Hk7Vv0b}W-iQ}W zFt^hoz4YahfYOMaz^x*HrF^^BEZg|j6x%uO!JQIWyIzjGyM`QQW)fBmfWgdM!jeo? z34$?$Eons1nN>3&26fgS>CK*EIiEdRe~oQ1dfVK9vWS1^!&`BXk3qnv2C_8#XG9Kegfxiy*e)Jkh2@Ca)IK$<30O@=Z5GTxa%Dh(jeefgBaxH z<7mkDhLBGmx$1*B{f*VND7k8_K-Gt@BoW9_JKev1r2C^9&;G9d_v1&pKSA8)SCeDc zLb&&o3@QA)-ivF`UFaRtPe(L5TbnA1>}|?S7sL2bv%Gd`8O)fi-S^fkqelDCs*0|) zp|+8{4by5pIjtH_f1S)_dg@db$y$+aZmsyb;p{$GakIw2ysa_9$GD5EaXV6>SX&^V zwMEQp8&Ez_p;#LzndGpwL0zzp#MG=K+_L4Yl?$z!6wiIvhIF(qW+pAIpr&;qhr@84 zMeffb9>C*?DK@!44n@0lW=gMwwPIrImjU6sWRi&3%}u4z&Oww82NR|RfHRD*W2DuLs0V)_?-vqBmrJokd;g)fQ+?Tz-(WGY9@ z`Oe(z{9?XsDn+fwS_*DkWEY?pcBslbUd)$JpS{Xkw% zQbQNSC4#PDJiRpCnmXM&Kf9zP6ZM8^g{svF>_#sW$0=Lixm%{;u-QbUD0|0iAz`-9 z&MwX9$~QEsdnjfVB0n#^o}HaPUo{;vO)e?b2Z^*guPTUIsAE z#z(0&)&PxrcePwe-lrDq#O~shkj`h)X~Z6t9jKv>CYn?JqLUP5<2lr&rAk6$x5Gz? z9fg|HC_c)#Eo$ew>e;*`tDC!~7Urhg=Ua30vuEUW}`r z@G)1}8CFU$&V5^Vp2cQmYoR-PE__et^l5i=GcZ@PU@l=ilX!S`V{{XkTDGFF_r&~C zr;=`8)nx$0@0qyL%{rGV@dR*Soc1!Ebe0#3jl0sTX-?5v=elwPy`$abkt;73{R+XKb zPM4}ZQo2*wpx*tGS=n_ldv}PIlC;AU?|tviiJh%It$V*JAOF^U^M0dP46CCR3+!KP zcIBh){PJEn?`b7cFDO%HS4;o@0sY^5bdj6>r)$q%{Hm`SKui6zM%+B1j~h_tzvQYa zuq@~ly>wB|dvR`hc2TpRvAOenG1SaWXB*Y`7{8CIW-shu#2CM4e1e0;_JeuCOcm%? zmF3Wx9z|KEcystVkL?nngT=A)2}VsYP=XPUrW4b7LbijsC-IfT%stnq3E9v3>SWvD z<;BHBsCgs4c#*(z2@W5D#b&Y4$M!?lvZ=Gpe}u39Sf624yYZH(Q0989eOk|8Y5_u$ z!r`YN%&JBoTAC?BpA%w67GIv!tLPbyT_S_K(K98K&fo+P!VBs`T-INGFz>r67Te(s zPwm@3BA@isTot`j?u~LmSudxMoNd zPJd*&b6PC&nsDvBoPQO1{}Aaz=uscOp}|7(cdV)UYi8$C;=tf@t-juLuy%hl+wbzt z$`}B?Hg(MtXk*2k+gP!J&a7y?x+s*hviQ#?N@LV`)08G}J`;;&n9)$ig!8yF@wiNR zeap65dS5_qzQi=NU4h2l2cjjkN_E|zFTw8%aCVn6c+C3#b=HogBQ*1o>#{Vq~e zEcyx%Te?ZDLVJVN{={mtRjBs|!qo~6qsl2CHIR1ij~%Asu&mlo1o6Xl%xIB{Ipw)U zh}70wjB?hPpUsu~Ref3u+CzkA(vq^aeXby~Z$^NndA;F(zEZKoF zbmEi2)EP_8loL8X>Yd^v@PMrai{l2lyCn21BgTvN*^{Z;IiyT6yQJB$S&&# zL;dz}cTn2Q2g6hABYWyYR)ypVdVi#ri7r3H3mX}{u#pKb>}04?olSV*CtOnvdv|uC zD;b~R;(d*Fc;DlWTi>i(Rx`Y>p@sKNXxVZ76;-ZegabAVHukV`#|SI03qxnY%Do~u zFDqx{Ga8g*b{`gl-L{l9_Y^bnBIO4`L8_5TgP_)^6cJ ztP$uy6&O=N@0aFpx*v}?WF91|%6(JxNquM%n3&ADLbe^YVu)A8nRuu7oO!X{yYx@W zBQqz$%&mkkwgopSXGAwLTe8}U8-x8VS{lxeFPvZSyp>P)hHRWYk?i>@Dx%YvhxM^t z7ks!rzs4#uxNo)X`18k495_7w)Uokn2aZ4ejuZ9ZzL6q($4JpNXc{Ng$So|N`$aWL zvfW7|g651!K)mV@mH)kz{h_O=8F6uaDhb(Hks2C3?hF%p$h83a-pt$-Mms=tNxw~~p|_J6V2(fed}Y}bY%=wrK1 zynDAP*%<`vY7m3$x?8&!HM;9U3HsQsL%VJ%A2THk7+vqHvWSMp!pG2JfN->AV0FsT zP-QI)f?61nfEcVr?=WmjRsBGgV;kbL$F2|GL&L+AObh}hHHc+Q{^klyu7?SZP9LtL zK_&(PlN!V_CQlDCDMqu`!Gzh4KAM>r1WalWgG~BY=x`Hh$*0bbTXdneU)3vgw;hfo zdg>$RCzQG~2sqXtmT|l?bMzR;P?lc-OPv`%tPgi_gPJr5Sk@qxvD|P

)skDJ`SW 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⪼Q1_TcY^Kzl>zsAfpl<|N$=>pIDIa0|xm9eZui&8sBxseauuSL9N* z<`RhA9PDHD+#V(-A6x?No+AQo(7ezqtg{2_q7Ex&{5|E14Tj`(ro9yA`z&f_+9l4k z<`$ryM9!}rwt$B8s3lF z|23i6oOztXH0%!9gKwrF;OXHuH6vebM!wV3T;&rG@>QUeukr0JSmE0WmcAWM&&?WZ zdbIhBy42;m?H?E+uMCc>-o2zs_}-7 z`U+;tyq-^0!`Zu+q`d%fYFK;lOQ=ab8(nm}czDmWT|+h!mN_x8J{how?pWBiBa5S+ zGQ$CZbxHM56ON68goU{!PmF<%6@9L!d>5mPOD?YF9&-euaACD_5v@s=_AoJtCdhV` zD2yu{tL@xpzVawSyxb;2w>LtVZz@c(-aaU?Ff+AiduQe5&8gNzJvMjKV9={qF_EyS z+{82LZpR7}^^{3?si2P-f~Y0{B8}LL7_v28Tg(8<&~Cc6dH`L!g5C12y%*=uwe2Ch z_ReaRwre++%nFUJEwuPTY(Y!sHC4%t<1{?$wG zC8AHKmLxHCb*zZkUIsco&Um_09$);H0H9M}7oFN3^5xXu5QY8f)FQ+wED=IUI`s=( zlznz2L7lo@(#+~=kHVrXJ^8m+v5T-M4#X(tbdD8v=_#LLl;%0`k3Fwuw2^&utitVy>G*#XMSQ; z=19*pYYC#m3ccu%B$E!V>G{x(P2N%XSdlxtMBatK(y8>pY2-vyjY_RWR*>}t~++!i<+hWTpV2QP$k{J8*?$;$a1q8 zDn#nBLFx)4MN0Un+rQ6y!}h&0u%6IiMgQ(8Kd}=sOjmWFIZYSM^nIyFGkweBBKrRR z2L3aM3f4UA!7m-ao1d+^jtP9Bv3@DE2!euE1Aq22Wy}#ciU~ZfCUNkHdcjmlSVl+r zKXXYKdSq}o|*Ym z%WFs*6uNw%Zf>`I7i?kg9{UjCB44W8ZJ!t8nKpeKFymHiITj_hzf?lP*_zMQjL&Ox zW0gF*H~Ns$?5~*p87+SW-B^&f2Olko=)ZT>(_J^T;8a%vXBjBL zBMK&7jQKZ7GJf3dh2lW8(Ah3VsDqDY-696 z_Nqply7-B!!TQL`L&rI_|CR6j@`={yoAwI%T89#e!2*&!OiXfmNNbyJj-jDsg^pL< zeSMJntjamr6V6V zy>su(h4b^a$yRi@f!;|Hvj@NW4k7Pa&DW>%Gwn;sUT}E*k+CwpyH+0h_-}scIFq<| zQPqjpWyK)QE9~COb9u4K29K(zS>d(GOeY`=B0>PALFhpmB&q9bds6~fyGqBdJ?r9X z`cghq_g6A2)cs@gMQC2z`EYq{09n0L; z*^Doco3n?aKx!5Twi>Yg*{z`LC10}8?j^%yEcMx=ODw)7Y+w&LD|&cKdT_q|Yh>-6 zvm%k9V~Nadi;hkP8}w{w$NR%CdjLN>c9JcbsTp32%!HCX_=*C$Zj#J4!ydlfZMAGB za%^je9I}xVt`xc1E}JbKx^TUH8n)irFHDx*gvlf;F{5+!)Ttuy-Q}Xb(mQ}p!WLd5 zi3Ek1*l?~8Hd8L(^O^8p}eVP8Uk7A2~|6qbEyoh&y(OY$+(L zD;=_FZt=ov+TN5<(Gy07RkPV6PLvFihBa9fxPF8J?Pia#c+*H&;cLh0bf}c$q7T;r z2Z}~D9ql-9yK~kO#OmYL;GPCva>VO!#W5z6J>>lSIaQN>yt=Qhj%!L9zFE9r_b+VN zIkS8F;_Qa$1wLs!KjnR?nJ9}7iBxU}K$ufwsNLp{zYb5d zBi^aE*p1H(H`+sf5a`A+ZoKd^J`%4FVaMAE_5u3^O%%(kB0J`GpR!@|-bGvS*syte zVP>a&7kk6C=H7)pGh23S+cC5Cv@Ar#9p{QWvq`Ms+{3xOgww?$FYKKwAe<{g0Hs+P z=gN9GuY#rX24~nt?r?%?^5`4$aMf>PG@M`$e)0ltFRM-%ch!2c%kv^gAh137X$buM zYLQrdLAcqJ5+MdE5sELXzTRcALqWS{=JPwvJ#bVdf9SyE&&6<(PVpJyzJP%8CxVF5*RzlypdgJs;Y!-$z`7TQFMvE*4>SWe+~PLbt!H7U_fX zcdnS7nYR_(1(KM36Lx;*^d4K%UA%V2mc|&l>;j;L4coNxyTgC+Z?A5cwzXhwzMQt< zl5GZRB>1l_1@B(8%s9RClnwS#x(&9`x;QgGwfXw8^Loxj(>oVtgq=;I<1J0flqSsG zq{&-~mt2$ZQm^gJ#kyZ~FU5E$Am(l&1W=l|NtyBlaazGLPGin%4pT}bvsSPsvksN? zO;UYpCe@cjQnd$P+J({IRhN%Ts?9Fj|Bj?;4>n5`nq{>6mC8Pex)!aAupgoL)e278P(|+iX7{rsPiFN(5t6RbfNpfqP#yz zRCK7G#EZ#9(jkfVd}zmhw{i_`K@$DHB8l2VCeahBMgG5&M5PHyRGLH*bxp!cy|$4= zk9RLc5)}|hRD>dlx`~@4Do+rn6)fYlNuo-DB+&|%Np!Xz)3W!Dx9s4P>-}l1GdSa^ z(^@y-C$@R*p&sctzyd-I(Dw!lh@`)2cgdRJ>$%DCGFVXw+rxyF93EmPtu2%X$Jvy# zothhMv6=a#wa=62^yP6RQI2y!k3U7aA_>lxCHrVrf@@4Yg-XAkMU zN3PX-LPtQMhxayy_fn-Yj`i@dKd4j-sq6kE))HqL?xhMmx?r|AnBo+`Ou{}&o0+hCGdZS!Gr>$Ta&;Kum@*5+R?IAsd4{9jJHcDY@PPP4uvboRR+@_iM9DRkv$|z`~gj2!9kW2nsAKK4W{`9tUd~ZZa|b zp>Zw){LP5Q0YiJp&ndjaMeF;{8;7ts8YV0bL=r)c6&~&>b0Cr^c$-sR52g=mB0)0& zaI-hxg1+-s=uz(5Lw=&`!&Q-$`_4l*u?w?hZujD}-K}9u_FFe>nVp`uuhz}XFK9)o zb}s8#ws>V{8NslBwC5Qm1ly4kV#<_atp1pU7~iuR!-@d+N)nKsu2VI8fSps5FL3{v8>o+}1P9ktCSjJ%m(>vjcSb9f=%-*qVMA^^%&bQ%O z7IN(&*C4)FUE8eJ*BDH%_$=#BRo(Iowt*Qz^DU>ML9HkSpl8uth z#iRfh+p0#?Y@cwMZ;vkqu|)0U{I*!J$;VViQN zZMf1_khRTv&W6P~Ei-$I|CocIBtTwL?00$faoJ` zn%YN-1?eCaEIUZE_@S8w^P~!v^Q6&p`=w*1ciQXSb9;7dnPNqrpl8r|CnkoHJxrLb zeZ2a)gzx70Y%g;>$zG>2%#`tGf6t+R&9Z#VC^vxLkdr;sDlJ8~I?dipH%V#5PO ze|F#OJ4S-BjEfCjC7+FoP*oa;)yy|2H`-#dcZbRB!N+OnA0aU?S+jpvBoYSu|H8OU zk;pMzqMjxYt4XwU_>6r|fNQwJmG23;?7=7f$aQSUHTr|FLgL7WkhuOgkzBN%ED)=S z79V%SSnmy??7@q9=-(lP8euG9(CLN2;zMG%L_JL)R+XsS-it)<3yJI@_fGD%f<(fg z*b@fX8HpUjCF*Gcv8qJnK5ry?e@J8xK5{|-J|R(;TMa2?`)O>$#=xXBN!(k44$lG@w7g{tQG43H_e7T}(u~N(mm*GWRVt8@f z7|472F}_^p^w)#w(IgTyr|!+zthi-xsbJaba-KQ-{`gneC(w?>pTLIvXAgE@Ca0Ea zfUq|h|Az3$sIztUYqsv1vKOxEc>htTL&P3(@S2g1Hh2vU62mtkZ{4vlz1dz3uYKiX zVH11s^iIS)MdW&S9Bc(v^HJ%K2ckWA&Krk#$l~1M^v-1YiNLgnT+AKGa_h{(mPGv1 zK(vQpmNT=uE^7P)IaAmh@RaXzNP7kbX@6()2;J&w5in}zO~=|iPRBSFTkR_IklbaS z$U&}TlOR&6rudhE2p}0KwoGqusrt!!bKX^0ObCTVbfb%7MF;6AlW@izv*t#cy_0T=i zqS}Mq#!qfo&$H(x|FPJt5N`6qxC(w?B9wssOpvk%Hw8iPN;k#w3Vx_h3!A_bHnZWx zHU^A+J%fnrmx%%C=TdV^vBFJDhi#r-+%jut&T6+1I$2yCSdAro9NojCX8;5Nbc>Af z=V1(cNMpQdoH2&;l+dw;&`}j@IC`;0&mj&SyrEiS_>RI+n?jiaZZf>$M-gV)D&CBC ztV_H{glFwGkS#Mi>dtEq8x#L`Ijp6N;U%%v(vRq!6ujfi;U8CeO($&Tj>0-6u+A`v zSrc=tNIyO0GmBOq5@laEy8|zh4ehTqJzWGI7);LV2v~6T^l7G^a!YhFRLfpqFnIMH zjSN4ub(-<-A~$(j>@EyxVgdX!qYTyLX<_kkdV83dys`-CSe=lS^5Z%oL(i%M&GaG< zJMTqeLYXHfKx8j!N*$#%iirxAx!7I;IQa29?9!PR-B^~OdEe8{G}*_auC?Fo%NDz8 z+tN`is?J=uI5l(K9^0|WK+o`2h2-Pz=jfT7&$kCJVsOIO(sFigs=L%{Q+F$Olkh}| zNr))XNpbn#JEisf>Ie60b21|Js=W#l9r!CkUpjhjkDp_-5C6?u0ajJ9+jurlYhQ|# zC>rdQibqtPPNNw9uS9TKZ}#LK!kG6Hk1xsP3&_rjlRfyiG?D#ZT(v68pm|M37-TGA zME-URULQo-o+>cJ&JUbw`)+XMF#Cm)l!Qw17Wt@_{>@P>(X{W>#@kiG;f^@rkj_z} z;8Ygv`yax%S74AN5+mNJ6-<@n{=E|8r=o2R!t#Rj~cWz*=U!C_WnH)je)d+TrD zf4VWShl$CviV>dd{10hx_Sr^LNk_t=4iXM8B4Iek8JujLr^|;qmk4smDYgV$W%7=kd@7%MBb0eMr5dLL?$X5Cqu{X*+gYC@0Oux z+@JODXV@gM#QoP1ACua{#3buN#P6><-F<^!$YG<0ynBhVUvbEOVei5AV@sdBC;AWQ zuwug4Q;q@Y8BTdUn2m@uiJ!?O_q@7oyegk~Ewmo#GrPP4#-p~_nhyBdxMKebF zZ-!X*;D>n##@~|EV@BbnW2d;JX=-j8e>L{U@efhs%^p!>Qb6RtXcg-Ui{U_6Q6)K6 zShuGfRg%l;ok9@UK~$njasxN>ZG|9JQUx2|cbX*I+!Flvn2f$+58hYs87*`bGIMxytD9g^(OoJ(kmtU4X|2RKp7+k^KeIDN?R zYb*>JtNdeN*n{7?HWK4aX~*vchCNJ7azLoT7*#aiKlh8jAGr1~F^PUhntXp+^=ot* zG%WuKGzwaKn3yE?60HlE?jKF>X`<%`LCYQ{tiHK}t*_X}T_wT_(Id3`nFvB7vm{!H zo}MyEdYw`J>`2OuazbN4QZ?{bM54Q=Qbs_rmp^2X{*G#~K^{~L=>nn*BJ-nyPRjesl2UDfL)L`(I8)BKA zXij5$Xp2d8HxL;;wfCoNS9DQMyl1qPD=KcXUeoX5Z2>tYBd9m8!c31VIL{hlxobRx|C=QSEwK97+85FtR=50p7cXk=Jz5SW^Os98)xr zi><}`R2#G^bD3UM&iNqsAl1mDkv)ycM$zHk# z*-SVa1Lv1IoMqRar9@1Wh06A#Jxoka8!F-DPWSK<1mRU7GQ4hKo&58NG<)#!1XEt< zI(Bt(54oWj^x+O^b@H-o-_*^SN@@ila$G_s#`iRGxcSi{7neo|hS6Lwl)VV|D8cwT z{WlJaP2)_>Cs}(56cJ!gT?D8glYm*gryo;SS1CHZV6eGJP+{Vg^Ih#iqH9iySQg~6#(67x&e`au%+1}#&3HE1`i+mg8IbaBW_MrSQ z)9{LXbNKDC2N~{RhHDRbobFpj+-?>gzasxC0>BGyQJ_i`1+L@5^s^o)Wkvp5mf_+Y zaaZLv-%Ax8R$oOY&V@Q15>n5Hc3kL^;$pQ|O=!ocUy~+&(zvd1%^ua?Br$tiucI%+ z800*AuxYv<+TS_uw>TapaArBRM@DtZq>N@E6yXXO{s87lUWuRgpqbRIg6Og1t@35i8aAst&x?MSXePZo$qxNp~LY4m3D z><`O`^Mr7SJ>+{1f8Z{yfwFW2eQMWKd6N)N3XxN+LL{*fFOJB1N`=A96$UfE#)-EF zX+}&RW{w&9(=PJ(cUv;JiWAqIRwtykih9;2_7cvNk%t(*P2W=c%y+8tBDRJn|Q@?^hcad zXSE(O7Fj;*kZH9Zj4g2dT?8BI`{N3zm#2JB3e(v`?(=^}Tz$eZ#`Xj*#k&YlO^HBM zQ=fCOYv9h}stV2&L*O`_g5JTgeTBh4f?>W(A>}d|2rd*?JT8#-jREnK%`}BGE!+JAJCsFt?W-dq+*<$Qz0`s3@>jjD`Z9uNzKa3lW`rR zfIUpuN~>%1HMcwgQ>{N}94;)XI$@pAVa4#%&jvA&SA8n3=W)FTOiv)A@aazyZw{-OOnZ+p$qIjLP zBQj2pM7Ag6taGHkD-}~!EOMDxu~eK`5fVLRPREdTj&RDujA_Q&hpKsc>F`-AVs_en z4>!s_M_+i|mYF?^kMtj_r3Q=o>cjDyWU@7U=A!K~TQL_knmzcc8Roik)qHq`qVGay zUNJwtd%?bsVz(I&-Bz?`j*C;XgXwMet=-)e;>|=xye~85S!uYtcn=>b?BaY>Vr)ui z(S2Od{Y9h8;_@j~r%a40zi_2co)9Qc?oh&&J=rOPVfE!?C%ddKRjSiLbz6rKgPo{e z88F)oCXEn+RU6Tq{^q!EG5)Ubs8F|36o--FNrWbuiQ>=EOi(`pn zaI!58*JYNB+YuS89i&B;WGS*FOT50x$#zv^4@s?!?;l+SD7AJEM%jh;ALU@40|mlM zdEyC3suGbVn5r(7S(?g=C_z;J05QhT)wP2IY}us@KHI~)_Tb4I`d3QKHEfg!ok^+C zV=nZBG{(vf_+rl6MTrtrlyCrMopwt5mJYLJj;(urYDq`$!Na^$m2n>iRrOk&3ZD%Z zv7`2f-FC-!_XyApt?b>X4lNWTjscEO(em1i;7sN!7DWW)X znkOj+L)=lD(;c&~n0|9{L;~UlK}^rS zbJOg*OqKW8|K7K0_Wkz9gR)Sde5{MvYuV_VeN_?cdh}&0!XEtaGLiLrE|^)bS=Q56 z5Q#?NupKKLQf`A&qrQGjP2eX5c;p6W5es^PsbY{dG2xAF_OkKzT%u2a^aSx{7J?yP z=<=3k%Kh3*thkk?N36-q>cmzD?<=IE7uE)!^L=T?;-^KnwugMb|5e3j{UV|#F=3#m zFpewYJBBBpo+c0(?Ss?kUY|sOwqmFzAI#)5<|QGUJxo|h<%W9w3bF|U+X;i|G^TY7 zm#wD>L?hc-@UB7Fyp=IxsGq%03BT7OCF#%}^5w#Jx;ys`ej^8@9x{fuw>xA%Ln&4u zRE5PbCi*b}cdSU9J!KLndcV~v7ZQYsNYI>0ciTMUQp-b&u6IFKN-=xLJ)94T&xn<# zmCPnm^a7D$$(7;q<0H)0L&nJQC(d+-nYY$vHHvC36fUK=xI_)`sT6pe#*r9B;O;?y zo=+9`=SiR|cE?eR)GTV`P>I8VK&Bsm*-)!0ES-4qWtTi+>hg!5ziH|*=U;aI#;MCM zyyA*WHeDR^UC}xtXkF6LYTZ@YO&SREk}s@ixrep5n}R$OJ4F3TBkJfXf6z?gB;w^k z<8elVN!;IwMpGp;Cz*ut_`rBlhe54Rhv=ySlajR{Rrsq7Bo*(-RO0}Xo^8og=X0om z81?9BL27_)F%Sk456+HL4Rv4`8NAoDWNOEnF%UX%N#Yt@*VFabdTsk~xAj_vjt3cx zhJtfknAzvr{_1-y>)K4_efGzQv_lhnx3lYQ=~2|}uP-qf``KB4Cv{90D>*@!wiPH$ zay`0zcYne}6s(#R1r{o?;P;1uWVRSnz&5KA@LfCL79z+2kpj7~MIt1=n*kJEH9)A* z%q;peTBgLxV@9i&dv>>x)P?}J;JPvj;J_bA3!C+fOAL=JB7tlRc1FY(@R9l78za`V zFndjdfgQj=&ctW{f+Xu&DUU1K%1isoiays*8=~kjMbTr5tPuY1)fA0r0ohhyjfme1 zi`WMpuQLEDO-Cn{*~b>8K)1qP=#*H5%3(qu^@V{Lqb0I+b)lVRXmsPF9IYLpJ2>7# zOY#w1tpGrz{EdX6Ag|-4b=>T&^=J>X=N#Y!`^fR~IlxId30OLK>-6IEjk7oVsSK-q z^^S)9%_APixpsBpF!%}YOSTv%m_5K?y9Xg1V`glfejBG~b^3nXOTTPCWJF0YxSdfh z);rczv07^KSQCs@92|9z;;1-6WsM1RTLZ#NcN0)d635&oCmU!G5e+M<#E1!C(y$V} z<3KB3zKe_DjkaY|Q8C_~y|JIf3}466Y{>T$%meB~a`HIS&5CRLJ7NEG1Dqk^<#3oF zY%mc7%l1fqx@+$rq_!#KTJ94OAzLdFAx<@5>$6;sz8G!%gLt+XB%D}ccbrm+c2qgl zkm8wLK@Zt!#IC0~OK-H=U9@RTyVhk$H@;P}6^KH%MCSHV2eJZL^X1afTjqA!+V=Ey zQ`3u!afyZ<4%Z5#{q=(&@H)Sk`6k=OIO0+E?*7cy%MGJ$X4qkZ-fhQjvr9-$y>@2D z_Swa=H*B8UnF|79U`LY0fOk*O^pe70{j%0%?@6K+5A0R7JT|o4Ic?ubX*E5eXnKNa z%GxHZE)7iwkF=*^w*68Ms&pTyvU7`iS620gTa%}&*UAKTs<+yH>X>oVvzzzq^(GqK zbG?a13LyZeB%04qR>?r1(*Z#zxzH=N2;HuXEmt8}V*=52lE>_FAvjoreXe#PR@-|W zeDVnEz~ypDak4idB@WYt0`QIoi23Fnkj$f_B^?l{CWZ1K zYK5jfb+74Sr2d0zj8jp3q9{JmDE{>QR~$0v1DR0#*{OKF1;hXnFckmQVZ~dZP~3%b z#ap3=6fYq`fH-;FB|S_9*(6n z(WiogK0_-(a--K8kd`2kcPfvA#}$Q zTv+4{ZV}xUI8-qWZ(KJkay77;oe6sz)eA$&A7gSdp?{m3Y-~jX4kZaVlv9Zl6-`Su zMueMPXbLV4JzTzbbJhvI9x+dVX=3iY;i1%6(0bq%y>UMpi?H1Qg4%V;>b{SMFSV-V4qkYq$;P@nG=Sipk(8{3z)}H0Uj2e|Z%>C- zNd_Byp`8eXx@}7em%T!$f5UO@rRx02R-!o}>`LhosX*-u+$JDSF1W^WvHR(iUjrh_6$wJv;y zK{W0kIb+|yJ>SW{E%Eoa7Jn?!VWf zBBN@7E*s_dt|c4eJ$$Grk_uy6%Y#--_g`*xGt7RTPMrLz>BRi^tHz5(GjzI5wZpQU z+P!A+Fm?S6bK5rDW2>D{v@dHcoU%cm9GTl-X=Lxt#RdCoSFJvEW~+VH+CCR#x7h-_ zZGLW7d+171*c-}{f)h!ss-GY!_WQ_Ho<$YaL7}?KsB)vgFI3%f02_QgeT+SJ7o1=2 zaKgtx1XZG*+XQa!R5NNy4ki}?|BOQMnLT{wp~TGH24Oy{U_QIZa<5VHHyI0V&nY<1 z?{HfAgX(W|@{oB$V!AFd@tX#b-YDvXt7y!CX&FRFy}%#{-(%dF<=mGvV`PB?AQ{7T zs^fvq01!Y;1{ggL`V)5}!^_vq4B&pv7{oApKgrNf0IS`X4q=pzvzNk02k=?CL5ByX z>3u>6lK^6}iWbhqtISr2*s1doOhf)^O9M@S=1p6Z-!!HSoZmFbm~kQ5!`!-SzQavK zm~TLY<(MQwhG|*QieBfq@?@Ap+8xRfA-r_-wexnlt$o~9DIn&^-!j4R`L~QG)*x^m zRZZHQX&5vq7bH7{A|wil2C2F(?#?81fxlOQkKIUTqEijsIOjJ@jT_vc^x#5?jVC(6 zl`gKcv7JhZMPrJE{aQ`WwN|YA$QCusKw}!W34J_3_+l%7Rt^1PGD82`1^3&A8};xzf4qVso5azAzbn^<7hz3I$7D82Uj6+5GiWJGMp| zL4bh93iQio2lT-^7IJN>g?x}f;+bD{$bRy?(|#;n0GzXmEL=yBIN_z1Dr*vHfQCd^ zh_!{Zu)7fg^lj9oJ>57ivyQOe((&^%yX+f`J9clMy2kulKWRo1{D;EfABvAq;zePi zW4G?uwrys9X7`qvsl9t_->pvDTQpX8(Cl|su@^WGG-Y6QUWXI*YN?)I%<%%J+Dl4f z+G5Pw-Z381aVclaH~+C{{EsHaoeGni#DuNtp&L8Lujvi0w##aY8zFg>X$DD-FJQ#i zie!}Xt6vsv$R|$jDnzd7h%ipHENI2xuXfWMGQ2R^WZ%4iOcWR%5i*9yH@cAH7vv%< zF<2l16J-dHz35GEbrIS%xgopQxk_O$G$lr?$qmoMveOSqenBB~p^>4}zo#?rm@Uty zvm*Q@g~sI_jj(QTpfv@Z&SN8Z)eROX?O)zSBj3UxPO@fSt< zr6a7WoS)hm+p1}!*42R{Bn!?eoYyd`e5J?7!TNZcSL{L_s}BNMBFz(>RvCZk5X zq|uZ~@I0^3VANnL`gft%p_Yy9Bb}{M0sE+8gRfSl*i7on*z>qHqgfAHI^O&gmwQgx zKI-0GyEXpfCIq>>2*OMoLB8X}y>YT>#QM&e-qGs7+EUuBoER2FcyHDqh`ka6X_b6m zfAXJ-xBtm3OEEGEeretO%u{VYXU`rR>%v4oD2P8OVKNf&kllNCOpwIG6xA^Jc`%?62GN)dSXhg0NNbdt-mPOmj*bsRl$n1L#D^PiSvtz=lqdhyq$R)o zt8rtm0cj69!QXpq(@_gYD3Fd0bU4zHPqJ3uBJ5dD~8(OV$u=H%exKq~?5DSf>=gj17RI6bN`1CIT< zL+q?tIrG5$oF#_o!Fv1A{xMP8x;HYHpLqIaoz?r2+dr@q#C7y5luOOB#81r#>^l9_ zjKGdDe!h#0upi|TL^c#6u^8z@$UiL$TCww;+|Hx&@QA88K8YbxCl^Lse?X!;)k(D< z#OUCnBi<+A204X9w4fJLjguX&pK1(QjHw0|qxQvOjuSn#r5bmmxx)1H)*Q4FQFnBn zE3DG2WR-t2E$FNNW)dA|6iGX0hqn0{N^4KJNTp}3qAfVAl|h@hMO()SZCk40-Um9> z^&LwZQ`u(K1dGr&-~kYQXhIZ*SH(9CVkPq53(mhA&aoX1HvX}-a*iZg>1`*7Vz3>Y zrG93xe=`KjR`Ae$J}Y#kW)J86M(7A*`hF9M1ss@O;%bx?zVnYBb0<_5r4V7S0wUzo zBtlneS;DD$0JSm<{rmxnZmn$?llLev>dkW&{J7_`y$)ckY?% zTcA+DIe5ZsB^Xj+^y+Z4ME2n#{fA9}b;USWkC1*uXNk{6QAqB`9L<}Ikb8zWf320wc`p@TR{*fa6 zM;hs`4e6I{X$>74XeQdlAh;Tmge)Y9HeCHok@V4W#F2)mF9Mx4A<&s@CHfF;8nM^Y z8`|}Idfk5E^3w~*c%Q6(rV*-cr(ecTu^a(vtv5pDSAMNY~x z(wMyokQmZHifXhVC6mS^z|*CHk8Kr)kNHz82Gd#e{T&x$y`iOyG^V;S78RS&>EQuT zx^YYq++@W+H3s1Rso_Ree3`h9DT3?90hlC0Fk|3-bv0kpqna5pIP4>WgEi3AaU#LB zR6}8x$3wQ2x7T&mkR3HZH5K57(+_@KXDWJs{nSi$xn`T$Cp-dCsa2Us*f?M)U}_k zYBb^5jKAPKw%|Oz!wGk`RIf4!D%wAFs-xs-_VvMhLZN+iq5Z{C@-+MU;5@nDZ0&Gb zd4g&zSi3y2uMdq!7aFYnq;)NFXbjWSn7(cqL^QCvL*%{RofFkGM98D~50DJMCPxvY z*%Q2!^5d(>pABdCF8l;48_RfH3%mqx1aSX{|RwPMkcaX-r0> zxK`X>>{O0n6bPaag`Qv#ji1wqjnO|_;6H2dk(f(dB>WFk_|Fyi&l!9axXa*wobaD7 z@SivMm}4%3&uexbmB!Qi8IS_a>2$$YWEf6?HnUQ*w%NJKsm?2l)+@u4)jRkUZ9 z+@D>DX4&sAOeFgFUl_xqij$66zkJ!Rg$vUk<#0I_Y=KTF(jVzS>y1NlqA^8}g|m}Z zy&opM+)Ts&$_O){|5anv6U8-#>owfmV%T27LWLp`-#8Uwx#dACemSA=us54o@B;)( z27%OXOhwns(!W%2zhuk_JjmZ!o1W-uTO&PrpB%Fs=g2b)m=?3g~D+F_KL5;!u-*Za3tZgst4m8q+trqKdc)5%)blF; zVYJBQ|6#Nu3NH?;ui?B3_)HAqlLp8jH{Oi-1F0G zEnJ+tc&x+G(K0zTCI*Ld7swEWvg3rOTdM3LQW?17vwq4GfUwM@0T3*1Sq}x;!}7E@ zUL3i8v~reVYUZ)Jrgk9q~Pq zs7F0?>)aL&ICY5U7Q~B8Wddgu;voxL=H~M@Sef9F1@F=hFJ=IU#NiD@VkU$!ce|0? zTWn%PBM}n@@z${KV+}QZ>EQxt!Ub&FGhFtkgvhVXO#W9P_+Lhl$tSWtD;(b(WN6`H zXYHBk_$-67BQqH4#22~rG z6RH`ShqswNV9O-FA?&NuA7R<#WM^55)aREE~TJbF>k}IiA^JmCzcZeE&|F(tRDKDolw%h`!aix4U(tY&o4Gu8{HQX=d0j%thl&W;5_y0pi!#zTjwkq$)DYrb8MYcy|)4sPJ4 zO#hI;p^@F}A(srkv|O1SE;kCtuE60Tw+su8_0s0O(G1aF)#CI1U3ERw_6vWQN1-1^t=D`5ijPXNBU%!-Kg!l9ZCfA_Z@O53luZi+{V#tbae*wr3P)4EFj?sa|w5L z5$-3IWs?PlIX)z?I4MGP;aHIcddhKd-Ia+fAegFf^hLL^hpZq70m%nMx^vYcZroh# z<}~>c;bnWs?~h3#ZuVR-!y>*?)R#ygvXD zk8@Frdg=fNHNSUybpL4F)AT#hBejbj=R=Y1n2}1AE>0W??O}n&(fLGcm8z7(@kfoM zJZ!EDf-+M-Y~g4lDU&P-Vz)trlmsLgq}QVjhUEC)9;`+Ft~q0+RxP^cPf3FMsS+Yp zdSa@(0)kWuBV|^|CS{JCbH>4Ea>$W57HoU)90H#SnQK&Ok+IecaUw#jiAXFM+{vS3 zm7&tYYglm`W8GlsVO@wy*AwDmR*R zA#H79;=EYpAdt^;I^BKqJ!DLMALx)n=Bosmq^4ja$9uOddtsP>$*V@$al~C64oH%>G1@XacGgp@k)%Q(RoKDKm!cD%(XmDZFo2(xkYl6Vx zf@+NRG()q&2-0x{iPhEyX@sBZ@(gGkf`AvZbdBp;K^R%+H`Q2acn zG`^IGcSSAkCf{tLuy*-o6J=dtaj6JULZqb{r9t7~0x0aXAeE!|qDD)S_C}`B`KUQg z@s=XaTN-g5SH&4oD%9f?U?LTmEM;NSC%PpF=G3Iw!~=)bEN~bi6DKC2EmcNHbai=L z*H&KIQ`h16TXu|bgfi_dHaDAWtOwt0vT>Y(uCsj=eZa9Psc<+>kvO4GOO>r7G@cRF z*q>R;aSEuMSop*ygHvH{-|~n~vBf2~nB3pv6mK0bNq1% zyIFzjGq>3{_?pE)n6aM^vzSpm&CN4(lwuX{L5NjF2*teWSyk#L8k^G-;5@qEkP6AO zjuYN%sa|dn3}h~znZ1>r#xzum9;Up)AaMSoYZqq`AY%DgasxuVyYFh%;SMHepd3IM z^ka6{n*FJ_83SgYzB!BVo&x_KgJ-`k;lm;k`9R#>An2FgZG0SxZWZm>C0Ct; zHp!?ti|}3(iGKQCW5`(qobyka~%Tb}Z7i zf7ILaer2Wen^(Mr`nL<8-!?v23|IcS)9G%ZZsFK=$1bfrv?C96qJ5b>$}}s>^E*a| zqTzRpP87a>F+!dej_sOZd1yx-=tTQ6dDLlJ2b8PRali|W0K?M@jX>P|+bT>u4BGZ( z3>3m~!S#y@#*2(1L5#@DFn-3J=7Diz!ML#)V{o>1M*5c+DK;=)Vx%}O zPO$!?g2PV&WO~hodjs~{JwT!qPo$!9OO*xCVU=k|We7yOt32Xj@_tV_U*^I2#5K;R zpCyxSCpi)Dy)Dj6;(JPyRS|GK2)KR)g#T6dsBtCpK3v&H_!yD!Bsa9|fm2S$dRahxG&XgV*p{-qD=ezfDW^Zqd9o3Sz|J(_)>QpJCtQnzx-$Y@;{`yCx#%{%Qq`*C+ZL6IXdP>lCY?&cI-R=P+uCOhog3PXjRns`;yYDzoN>{g1> zpg4)Rf(1ZLkhi8Bv#?jHNbLFwQv^bZ1%Qyc8_%3{w~8uud#?T3!ge$?!ynIS=j$pB=c_TMX_Zd*G*&hK@w`gUQlCc3)N=F@gh$4N0gFsfj1Wp-bOOhuGPq-E%!27ovj4 zylX7p&gsoFJA1rG7ChEx6K}>}GVk6U$xEN=c!R(kPJ;279f4lpWrwLin5|i_*+fr|nv#UTR(f0ryEAE=#pg=4uyOueMea!X@q{Z{!BtXe7qng=7m*BM_c! zsKlzrlgBFU^k1-PZ(_A3>ZL=uv2cg&A#@3Q>FBL9+oo-AVX9ncc!J+muzvDYMwF$l zR~gY$J%4k@Fh9dfKli-aq?7%kdDHUM1^3lPl01VRvoZlYF0D_SH<&$ zOO*CT`OyNE=`9`gHASG;813k&b0JW(ZeBa;xE;Qx*FqC#L6crf1YPHSMR$C+YK}Sw z2tJbm@MGD}@kU5tvsjjNjsUm3+ zK}5rF)Qd(L_0sY&i33jHfQsUHWfDcM6N=NPUPRHWB67)HzqR(-d+l@HQ`HUr^F7ZO zAL+NwyQaO?+H0@9_VB*OG}2Ue%BC-K=X@^&r0CKx^1X!Ln=H}2mCqPi>Jj0nw&N0S zbhvOYM1;##K7*?(`Qex-I2R=uE>Dg9ZpHDDE>dNAtu&ah#9P-mZ|Re-HlA9umV7Sl zu=>0_4%PBYKiAo$wfEgZlM4R3MK4|j`az|+X05%yeyP3E3qciH7!z8|95ANQ!kCd0 zZ)w}xv-Bg1vS~$!0Pr56j_1Ees54=N`g@c1;`(iA=6ZRX%nCAd6p+14`lH5tq`AOh zBn9VuVTdajj+-k|CEY0^S!awQdpcxI_Cobgr~Joa#D69~FRckid#^}FQukhwj4Q5@ z>}Rz#Ya8vP18rL!!LXRmQ^oTr#9)^qDcuOlkXu8AgMqC=ZT4#Kp@WYhv6Mifk zQ49VJqxfhyTt^b&D9KTx{k34V@4Moc^qPOaBWE#Q7z;9!8kpd31=-CP$@`?>SB?Cb zpcNT;Sz29eS2kmQo-LRqCKanaQ!eyKKKOp2$Y}9?5r}ApK);(?v-%>@jd#x9Kfmzc ze5*J0vi9VG*|~OWYU$w0q4xZ8Yuh=!Z97`>m7Lj`*21EF_IYZl-P)$zb6aa+skJQ| zeOs|Q^01DCJROk-EBt}VV|z=##NN^`*LzEY6M}w!LSL@X#b+XIUY54H@}o9Z1OlJ? zq;dCk9zbvt1Oz0QAh{*8Q-53HiAS6Gw!}&|pO7G+GFUo^Fj%ra9lozSVq%sOCMgU~ zY&qVf<)KW|KX3Le{t)&TDF*xc6vIb+!(eijsY-k{7?#&*$e$V2#8g^PUY91chd;nP z{#_#DaRcD-!<>9!lm8q1C|l{wO+J1TK4QbklY{}8=#xYT)K}R<@((60akc@wze#R^ zYcKWW6Xk&hb9HD?nPYFrKNlKBm*IOd@MV!499Fanj{6%BPLy=5C6;f zKH9y3ZxRl-@mT_gZ~tABd=J>gC6tZf&gvKPJ+H!P;{JSrpg;VC5YSJag3c%nIxp!7 zKdvvWtL95e>dgH3JjsHPaWS_c`7BlpMO+SG>TM+TV_bU5(|HU13 zgIRh5h5fe$#fHX6lK1#+`Z(TOQ*kfu>A^8^>3 z;MP3Xtd{pro{|sk$VBPEj$9L3#xGPL8~U^v?DC}H!EK~lmiR$DVN+K zKxXw99o)DI@(A8E2i`R2n0bQ?Z;)%=ZIJ|*wPtAjb|^y}c?4uA;V)6UF=n1EV$ki+ z7BQHO6LBszXDy!(j6gm=xY(4OW_crS^9>&`g$DBi7V)%rl{eJiM0>hOM#19gA{ld7RB*MD_fMDtL8=Xe7xu2Q_8;3P zOd&*(8A7a}!RmTzNj(DzqZ&9U4xA@dI6i7bs$O6)@kFyxc3z^{7Z^)>xgpW!WzlR% zkgyHm6afG#zB%NU0~41~)tBHF=Lm6ZdyWvt{}|NnFxBe!mDg}z(22F6Iat=R_13e&;emrtHeR*GX6l9+Brrz zV1gajKlM63N4vb-p1DiE!I{4=8;9n{3UpE?#LiE|yp%hy#QK|U$)Gp8F#pI+kIH}j zEeDkNWN)!O{Rqo;qeY?kG58k!ngT4L;Jqt|h6D{aD>o%8D0f@J-6l$)Z$f+dzd*Ur zWnK;4E0S^#E8XrP`KKYzdA$6blnL^M37M1;|9+(*FUdcu#BNWX(A{WG=x*?BX`kti z_vp^$TvK-`vqg8?6Yh3tBfS{f-=<>L3w>+!X2>u(hK!dqUaw?2k9Hp_d1Zv7zv8d2 zH8{ekT|pRuh?_+wYj2d9_ocnQWH;)f%+MpxOAS9yB=#QpMsN5x&?BKskA$xG$nRIW zqnzf6@-{gQ$n-#vy$8PCkcXXSG$)*9@GVNT_L&lSkJGrEMTsM7d7;CdpK#9?F}=gR zr_ z7#ztm5QVoT%NXHFX*Njs*_m*63hw6Al|Ss-82r@6(SI)_e*+l$aymr#l#K(wuJoHq zt)W~SCjZcQMxwz9AR@WZAT@{_cuPe4s3~~FH-Nz)YegoCECpluV-|J33nm{t0Mlbj z;$?z3Szh9_zhX@teNs1n0~pe~5@~u5LVenr5fABx>=q0;C#S-2B(Y!&9oZ?OxW>rI zX~ngINbfP5o3}w2fAaUu{xm8>4W)()6QK)*5zd7ee_|T>ulNQqs4PY*87QXN}8Oc2XNYAbabo z%EG`toQspZ7Ym`2gb=agbR|?{4erCaB;j2mcx=2Vct^RP2F9$Kz?gx(5U3ds?Wch= z@gL4LA}I}uAuYXB-X32m#?0=D^Y>z(fm-UD_ypIgwbXN2bn$BAa}&eo3PaBs&Ngo- zwbb2w_9$X71qZ{IN`^3WOG(6F?->}+PK`2*HLH?kOD=+LOGJn+xJ+x<(lr8Gt>DT& zfP&!lKSOV>{|yvcLKH9YGu(K5nMg-~xlEWb$Pi#IGd0$Oj4Iz&IKW|$0q3z5j>oh} z)qUkT*5!wHll8^!(X75+F1*NhFBe|8 z6MDEl>!I!%H|$+#`Dd2OcaAS;Ew-0BQ;WS8-{tGIrsnv3He50a=bk8GB5nz90$+T^k~R6pe(M9cp9c(}4(-$)6gdU;kup z>SS-_5Q}ic!Ci^UE@9;>8Mmr5!*P&(ehGz978KtHZYUNZB1zt_DcDIO*nIvJ8B#qj zN%cHo;UmPot4jq6byraERCH!2CRHTK`y$m^CC-rSYZ$V=^L*h)e|x_0^RmD}Gh^x* zNAZmhh@eV{c*igzbd1QtJ4Rbs5HUu~nUaWT@d}}i8(ksPu`Qmq=vr)yCm{m_8PPz7 zIsItGm=jM*23Y2w<+mK6`s?P~5BVhtDi9eQG+6>*<@H;dXlDG*Yg0;zIPB{Jl_hi% z($_Sh7I89>ZU}kMd1j)+Rvqr_c!SY-wDU88nFCQ>VU_uHg_#wfA|<9#MI!I%QRe3e zL}_k>aD_ZqAV?~|*`@hFkj8;X9my-dsYx0K;tG>uuE@&`dZj=VZ?F!6wC*jurvsU{ zg`k5=5_B*FK&2NoyJP>f9CYM!r?NZ6yFm$9Vd&1V(*jMg5kvV~l;a3Sw-=6s+Duov=Ml9TgSOyJZ zCp3J_G#Z4V$bq*w&JSBVk^1QOg>?hV-NKSpo!!Ec4f1&Y&l%BbYgmM1{Tt{1kipey zO;8CqEZRbwMVNx)eIZiCZRjmOV^qfkt%&A6W$g_e0j1De-~muEWd_oNnwXpp<8Z;f znn&r=bBCE<;M|3*%iBnOb)s~2(ij{+sxs4K8e(t!LN>_s6Oh?{fDM1Us4?`nfyqw# z1Y^!`AcSrq#J*!R_X#Cbr&hA*`H&pf3I_y|a z?*KOCC-~l6@olGW34LmRKulE1aeo2A)wfq5ita6l@E$8ef%n164MC)TqHN-GvtA>p zIMOwON|_hZpEJv>b<<85)}X?5h!2%;{t7wre}L1MZB5|z4wlnffFl6N8g zqgkngU*0NFs3{E_5O#awdx?-GH9A>^l~svy$Dhb$M@W(HGJ#{5*lchT{^LbR1C6>o z5x=TJs$$gjwx?J&zuqRk!Rjj9u1<)1Dn!5fAj;!skv5r??6kp9WIC>Nj1)Tv`B1%0p(bEZ94p)NKG0cd<#T3^I zJ!VAL3tuu32o1gLxOp%%ATKi}kp|pzR6Kuai4`{`b=@SAd2w#9a$IFN0*UG^NNnW7M-3@yEmHMF za9pV}NDjvH+AfTD;4=@00ku~c++k8_0DPi+^h5*T(XYXJ{@~|$C{p{q^uT(-b6GeXS}*97;{R&*v`h$j<|7j#DXZ$}V$LL0 z9q^tG5#P`2`>D*Q}Zct~QGv7VK_GxVH$&jj5ThO3kRsB`I71 zzgc(ze{uzHE)?nU9vh}+H_H;P8rYX)*(bDp#`0R1Wnk$nm5f25C=be6NgP8laUx0H z2XUGv9H9tvt5C+rZxzZczhVD3n*C!DCfq{+2D=Kta9I+DSbQ+`X`EPxn>ue3Y9u|k z2{n(>Z#Dh{32G=%fP_9Mm^*|aMlTqiJ0Gjz?-Yu-(VapO8`6ZI z&CQN8lhAIENc})U@PL#J-wl@+0ng+Zct-02@3xO(P#?oPK4@ZS{A%vaVUggjq?x;t zW?=DAB`_)_exLuEd zd(T4>0u@F&_)wlGR7h(g4=-MP$|PUK56agAd295d&Xq0~nT5_>Sm+)8QGG~Z#dj-Q9{&mK^dy*pV5s8?l=+-CG zWEJ-!9P&(L-y8IJo(q)PdX=6=Dbjww3THPCrU$4EvF{e0Bi zBHTIoqSVG02_g5{|18D|9XALM5@`)caHqkBB&K3U7O7%OWdE{KC6ts77Xl(Eth7Os z8Eio@>qe5iFD)Jww~w{U-zyTZCUdVyz{r5PH$6!=Bh_XMz77tPQ*fAN6&yEXq)OmM zR~wY7clptuo-FeYs4&@rk89kh(B&f!ca?P}If=|MtjmN^|2|=fi`^$I@qU&*w;It$ zyT4-}I3YWTaCko|c-$Il0|)PiHvUm?Ty2pmof)+~)~MDjJrY=ZecE$0*E#n$jkgc) zSz20Hq5@A-CPgf=u}KjNTOrmna#IH9#MK00sX3kzPmzC;yZ0#7V%xHv4K|$1X?}YxciP1KrlN30zyAb zx=o%&D(G)ZFZ7`&zAeLX>7z%nhiAJ;lq@nO(lA|^5@~QQq`CAcE%Ic)K_RUWh#guB z2U^RA7u%Id;DIy3V^>nju11qom93@(A|z~3eLk{o76YZOdJWbfkHtVEk!1tzv&9WAoC2lF$jS(H3TN2K`3MaP4 zsoq-26d_#d+XSMt*C$1A;b<*7yImk~X|rAu+fB>M;y#gqJJ=lpfkR)c4eNT3fCF9) z2SAEf_ia;RsgGO;o(5xFcdXc&+D2~W$ zJA2ZoL8`oXrR~SJ& zC&?}Y?EdXWvUzQ~b7jCJq|z|r8Nz&55GFRP3^A2tcO>*lK_?u3kD?dgSahHzFHP{% z6?|-~Qv{+2)FAPU0F<^y60Qv(a2YdJAmP?*3jiK7SlB&Iqzq0oP*>J(H4N32!wu~H z6MO9k?d^qAWneG_>0-~;c=bq4Q_6)6Hy1WL+@68kp(s2tv-99a1KA?4WV zg5o&cca?(Z{X&3fc)t)}lpORO-oqfiA7ZfDCGB%UfQr+cFz_KVwt)9Ai0_9O9Nm@c zhlCUb%R|D-w+wwWn77eLATezPiHRB}Fr;LHNEHVj)DZ7!00jKKHDJx-8n4ZpInV;V z1T8SFD@>}Kp&ZwM>-NNzvSL9X{xB#dC2K(~FAVj!$Yl$2?PT5Wv`PUm4f<4X z9uNX3{Q)7cMFhZVf2ssV6@ou2Z<9qqCR+v>mn7i-g>kQ{D4mZ51RM(l-*RdQo&`mc z6j_QqmOMv!d5^hLga2mrjk`-p*d^i3#$71?y$KuFjEd#wyAU)zw~N z*%JbuTYpJeqTH_}c}EnmDIrsY3{8Oy@q}FD_$O<%t=jh$;RqpQ7>`<$2bR@BffA&1 z5^*ATKq>;3)`dJCOwNZP7P~tTYmxX+p`i5>1M%k4~|qXtK{+3o7l|D1p^UeL%xX~r-WRKRLCoNYDnwkE0aqf}V8|aTY8TanFE1QXr1EUYAi2A}ljOgq~N3FguSdd}u$%^fNjT_D|(z zBDu_TPCh8GGOx#hu+%pRE4=%ggcS|~tBc%Hm3U#n2qbo_g5*KYkW8tOs0Xzjop$=x>#O<#xG z9gWyIuD^co!t#ytWqsR%k3qS4o4Y>L+3p5)7N7`P32%TmZ|PfC7VCCDCf9{D46T<6 zNYddegg$#DUm^5;O=7P}pZCYgKC|e0VTluLdLP)n8f4faTqNyXGYQvZ*f4f|i;yMP z_!c3HOVH>$tXa{pp+*A+tCC>&x^}`4!^VB4Rk*GGXg0trlPs?k%EUa1y)QKd4eZhm zJ^>Oj4;3$QH(DFfUJ-&rf14WOhN*VW0qq5;5E;tJ4(2@$orQy|$9a$7dj1 z9eV_#=r#E}0Js)RDCRL1-m8L*N}4}yhb8FhAhR1BWXkJMe<-)A>LmRW_fG9C>q%fz z5dxFqbis^mbJ}b$EP`2>jDqvN^ohDeO;4ah!wI+&67pDPF^kCQKqYe4#E6#!e1~IT zwAg$Mu`)#)6!Lv;M%LKr5+6xMm(r^)H5oKc##KhY1?beNW}ON ztE}0JJ7=XX`mMqR9et~CVG4o5-&l-2c(dP#d*edmA&BcikkSc0@D^+Q@D*SHlXnCB zeFBU-e7^z5SlmC11}xE z;*KTR-j^#quwk@D27<{6%(hk-{pi3)}x}&d1>n3TK+CYFa2uSn1#O1TbWkkve2FrqA zkVznyVKm;7W(uN{fyh>G5U&?Ryx*MEMta`U0sMXF08M#wXvB92CSmD2gtG6g{@idQ zLY)i@HpPN*dXgn!jGi8PQ3bs{oLD|A1bpT3ua)IdOx{7JN(ZtR+5X<-t?FbE&etrA ziD@hf!Fx2CTCrxG?6s)@uMG|OVs1d`flb~V@^Hw|6v)tv@#cT^riAm65snCp*ZhmY z4TOl08G}St3vp&r0jUUB#*C1MgUK0gFqs}8)>kvT5F!S+QCkCt4p(qIL`15WRPuO; zh|To=Xj(Ok@g7fw2k(o;MkQ!j|3@)rdtIXbI-yQwob+SMQ<_fJhGv6AJ^>QWSddae z7^zZjKrbgLRXGB?nH#cfds>9^()vb&qc)iv60{$}BG_b!h_N+sIWuv|1+56=o5+oY znUUv$xw=s+ZLxTB9muTLCaFC07)J>J;Ia2oP0Fo;B8 zcqB>~tIgnp5(BX}B=&C*VmJUD=4@p@coZ*a9wZz9Bvu&;k{Fg)7pZ!zd#X~c=Z@LJ zN8zf_ByPaeXBj(=Mp7mRAbH8jkdg~Vs<5d z>&v{SFC&e6lUXij>*`Hd7;kd8;7xCBSWgM&>252}>F>$KfLmrAf_O4}*%ad%1jy)8eE`#{DkFrN~{mKYar=2M#nXGFYX|J)~7f2Ud zT`9jtiJtCg7m7p-NQM?cGG(fI^z#=P<)e{GYI`OXOI47cJ}RjsPc}5t-hvjT%9KfP zi&X9{s&3g7XJpv;MzFnmRmt~6`m!C>aBoTUXM^O;U8gf13G8zM%s*+vAtexolR;a^ z{wZVm(h8$$Ql<(F%{H+j<1G1Jd~KetQtCs;HK!fuA(!yqYa1Gv{2YLWFkoBYBWe) z(bX#kjTFM6a+SQ*FrGaMBZNc6xY#kCGYX@m(yrf)BrAyN zCKfdPngtaC3(A8{NLP=9e|)9}4vcr58&4j}cB9v>WxPE}Hbp0>C_2d{;(zCw#_Qag z2wV?;$)hIZq3kVrFl^ZiheIlllP;{x(7&>Di;{W$G?GQ7Bn-M`$ zt_gXt_MxVC8jTSH#MMbR6OJnnTP44>3nog^$3jdYMOXlRX;y+m(P zx$&~(N(PwH`a~uxXfFaDFCcUx)2|s%A?QRI!i`tHBloLv|Icc78T2>HtpQVq(q*UV zdg6(FC`T&PJlIk=yg!g^JL;N(AJg}GdGLrBTuPY}x4Qo2p%gQJA+czm~ zWf)j|m?|)+^rJ>~t@~jc{JP*W9`V0>_4I%A2Y~2{TTrB zZ68T6rlv)4x$&LtGOIUf@8IqVX ziJG{>MUjWHjp)x^F;C9>VFw_+;QhIxm{lBv1}G<~VenwpFcPf4HvHUV)lmkQI<|q6 zE(GvW-)d-H2batw&T|qwg#?RhU-Y(}VWZ|8$70|T4eW$(YaAz2#u!JiVpsws^hvFy!TH`yrkLcb#aYqvTaU8C(VRPcd8+^ z!!Sr>$Pg4(pO{bFiBHMQoQE-E~FbK=N488*b#oxNDOgaeet&-alWg#sE7eyt2DXP!84b{V{!r%uALmGh}Y%ytKDQ<)O zlzNlmobNc~#R2Eo0#NRu_n;NzkOvzyaQ>&59FKNSEzzfj^s>g246?3~=MbVeXhNxb z&`&tIM|a0c8x=#Al?=mY3x<)3*t`ldQwqm4PcTWw8eSJQ)m=;#NwQBW>{1-sd9mB(4aGJ! zB$ET0e4as45m8_r`Er%GA z%I>YQN};ucxt{WWL2By|j-C66I1~XC=Y!tBAkOSMW`qdz|b`DwMYTg?}dl zNWiFXG^$9x@QdOJn_Kdq`!gF=0ob{K0!qgceVBiaC@mWHHa_gK2{FR_pZ2io9tNFwxhLeW?_1MfrlRZWVYScl6^9Q zC1*ccFBgzqFIRwF`gX@FcDy39QT|8GsPLJa+TWfV$w%K-d=9l`8_slZ``m1A`P^Nt z-7OwC9^aGS=MVN;e57;sz+rio9T&6HomShzf_%+!Ul<(HqzJFn1PPpADr|@OphUj#8Wof?Eo)Yp#Q#Tap-@3hHM@v4tk>R)l z+j$qJ*G&nCvMSE`VjPdSI76`5n7nA8b@8!@;n%^f@^PN-|8uIul2arRKRwm89@9U4 zdZE2E-JZ<;V@G)=+Ax&eaXiQlU^~onyo4=%fh6{#^58YMx|JNY3^nCw_rw91ZWP+` zV4o`^r<=4^GS4Vj8muj)RV-2~#bVW?V0pG!Q|4p zYJ|~|9Sin8w}AJA{d=tiBm|#3it8etc}h+&4x$m}gYr;zzRzckR1u=TRnCZ8Jg|*y z#lwpyDMiYrO7W7UEu-k#s=4~A^qgrc-689ZC{0!CL1+nu9GQJc|xi%S#n@X>m!-0pxXq5erU?A$YcWmLuWJ#Ml#vRtOe2^ zqeH1IIFvk;-Kv8Q)!l6_+f=0TY1XIQq2$31EFsRXs7_@E(Hlzits(uaY?MkNkV*I1WYQ3AtrZ5!T!JnlZVpWA)MC}l!HxTAo(mL=tuHko6-ga zQwRjBAdE@Vytm2)`t?*-P23V%YGP_RgR2&h(|$~S^b|Kx?m<;lg_#rE9neAzOO zVs+!bX_#PM2>66M1&B2!+;5PL{5lW2era~*_V(10%<5))t#+^1mTP#Y=H?FXkkcS? zLge6~sfSt$G(9!H{oEa`*_|?poLx@yLB6vn_cTeJb$+_7H@3;V-34dPxx6xO6TUom z-`|$WtCnZm%Q8RjwU_1IUzx;C$rl+9+Kb)}ndMI{x58ae;VIe)3L{e$NCZcG z-L)njw;*o3vos%F>|R`))6&XRBrYOIIpx60Tx<3~>+r&gd}LHwIVT;a-I5Pl?QbvH z1%{l<5_c94yinZ5V1wH%wI5iS<#3i^N*|Du)`r z4EeBLZXg|)HWr0SnCm4~?p2x45Y8nxpUky*ixmcGJZnd?DK#7^E{TX96bfmM{j}$2 zl4tBoG-rELT&N<7(zj5LMJF@51>duSn&o8K{)JxKOHOiXNK1G4)NF5YZt8GracSY8 zsHrEEQS1_aku_qasYx!2O!5Q@scxlVLOWFGY8sOy)XpB7nk!v7xoS4rlsj*VZ<#Na z=*%9Z%9y%?c2J8qFtmcjKnJ(TsGGJMgA%R~7@>%S}UQS|`b8)0*9MW=A4=)NoHt0r4j!;-00Kw%tL6knY( z6feotWPNqYq_XL-LZB3-0z_%`U|}vC=qfrWSN~7^6FQ)7A`j(rLK|9scW^9fl!F0= zCYMhdnxDK&XoXSv6suvdg0GCcdSV#9xKs<{ODXG2n4_(!l`B{$zC`1wsmX)wG+;vX znB2J4?_s<)Bm*+q+hIN#|7Q=)N@4ewy?c_I?`X-HPz`#EQ<5;u_z1QAoZh+Rbf^i# zQnw0opID6v+~ZZ4!3%Vos;6Odn6~SsPKv#Z%om@W+f`~6ek_S)e#M$`tZs$n&R0{u zzY@|(|WIJOdWl^fmF>8N4+hsz`nW%JZfyLE197+-M=c`!K|dAz?^ z@IM_x9#+B7X`=D?s$O4F%Glf>(VhNSPh|A7~LS<)Q5Vyutiuj9<-9^6SzZ zDx}%{^u5o=%zJG}PzX9ohA16n&6Cwl(I%|bJc@KwQ02j#j84BVJAZJM9r9xu>J*ET zf@0BS3YLe8nlh6{+PzmPAH(Gbu+ZBNjF<0>G&<<7=EHj?iZ>@dLx;E@?-RTZ4SP{`-K};sEX|vLS$q$U8oj(y^w9%&0_5;?2 z*hrfS2(B_yXou#8JViy4+jxxfjtZ@jvhQUyZCmG3BH125tZB^y#hS;vHRYjLb7^gB zh8Bf>rQ|T6lEZ)~`EXIhC<7`Yxu+s}>D>^MDr(xkRQ2Fd(#C*F8v|k;Lu{n&B`i~e zsad(BW+ehdQ1joUm8geD-TeHF{GG9h6VNy#kUW%F|83fgpw#mHAj6>Ktr))H%rJcQ zu%_zes&6%_ao1Qdmg2}oUq;s}R0&5DTIq4tvhL^UeE(Sf{%8JfUJ?o4AfGsq#uA<7 z!7AwV%Qvc6g9kf9$51pf8bxDASwTw{t0{BO6Q1_nM!Dgt^q|@l%*Z;G3OiYq(YX~B zVsp)f_qfh?np!E_tsO7dp#pY*%0n4l->xJE<7E)CdigKk`immcmPT?+05+~B1;cMP(bq>Hbj^8-gbE?ZGVrqJ;$#sG2MgMW}opIvJ0imI*PieyefU&q~Tx4qb!PopnGKx|4b#4N$i()+CQkbkf zc6eg1513$yMD_aXG}1;lk~|b6{l-xm=}a|JDha8jLguBUX{M5#nf`?vz=83uIs5F;3*5wtJJBY$$${f_=(7>M<Ekn|(xGc@Dy3%eyGbeR zOjml>Ilb$XNMCGfa0b88!EYJ`PJ=V}%?{2^Q$2&B)IG1LB>+Z`QkVoWuSij!0IoQ< zI^7pnI72t>6a_KfDk_mi9=6I?tfJFbUXVKmJ6TH~a}v1=@|s9vy}KeoC{Z?(0z;(v zHEUIpqIw-7&F4xI)RYtj@75Jso35WkU!#yI4`sUkHD%~?$&vg1My)U^QC4}CsOPmt z6lK;-c~2|9YOU1dWv#qb4+G#Tn~|S1Kpw1Cgw8iVO$)Kbb&oG;u3|6~Pz+9oHDT!e zD47A<0TtW>r!jC}RFYW;V6f~a6JmrfDh|6&lrFQQfJ2Tu;&#EWq>MgnD$6G$wzx9n z!IXg$Kf&avPDa#_NK6cWyg}9{Bf3dDnkaRdh4*(x}oBDGK!<>A`g}hVvKWK2z?Fd z{JM}1X`Q+?y)%P-qrLMK@162cdgl(6>nM8Xe#zP4_jJ=56ON`>RLm6%8So0j@>p3@_S(jC z+-SqEF>G8t)7|Cdp}5@5D%aXBw{HK!a;LbO62sM$m@fbrFl_HqbY;jx83;NiM>P=CkUkI`Fv!sZfub=GC<7k|5?byPc_2`5 z1_A~5fxy6hAW#@|r!YPc%$Ou&{A%{iujwzQrg|Vyh0=90WN@lAJAN1y9s^7EbIC(F zTd-mhjZl%nN~ox|Y>%j(b^OAq|H-let6B0;R?l9g;vCg(W+gy-lz<=0e9fR<(*+pl zRWUe}sTjSv6vah{#E0@zwOg%I)JFhn-hb>=^^w;m7>dC5VJfM^JcE1-dV`d=__5~8m z_noQ@8|sF}+^SaHf5GOK{3mob zUzBBcJ%(m`z)G}!ACll9??;l2NrT^Sb{U%(eq96&d-8u^tv&hub-ni7fpVVuM`24G zmIuoap!);HHt)0VpK80(CS?=Uq-=>9z-JGo;MtL z)a(zYytMxI&bvjnG!_1F$bu~oML9pI!q+SCUuj5j6Ct{g5@PsLLY|ZSoN3|F?!S~$ zVGZdi_lFFUj7{(I8z9I<38>v9v*M)^%CZ9y6dzhXBH(m`^dE3F$b+eY&i$(@lg6C7 zORQJ_E}pIEq?3y7g&NY2S^Rcxs|4T;H%}efKQmRr@6eI;aDl_|a`B*Fw4=0NW@KaT(UCr5HqSlsN()Me(dKyMc(+k7M2 zW|yy9S~yeyHXJgH{sy7XsL)@}US=KE<-0sG%1-qP^g7-N$er`Dl~veH_4J3m{SEBK zpI>-n{P_N6IYmCXaNvMU(H|LqOnIQ6_?QHEJ*PUo@x z6BcJ45nd!lQYVyuWx15m&3+OK*iYs%O8qHmB&rWmua^zYixSm@;`|~M@e3&8HD?+{ zeuAR@6eyMfdeeh4I*al}w3_@nUf5VH;l;jqu}&y&%_Fh?40Zjvk@}g7hh_Kq(rkNa zC+EGzE<=1avQZv`*%uwx3oDriNz9ZlaTHek3@iP)k=0`ht8f}%uvHswKYVEa!dzmu zL8wYMmH|NSxi8H48D{!(BeT;AGjZa!&=cit52xH8pH8`xIZ75ec-md;WZ!z&D4Z`@ z*&i@BUw7kex8E^&+wQ&NNlIX!BjNyimGsBX6VzGx87cMWAZ4?+NY|L3URg4i)o*8R z5`5fclaM{b+=ZVYsXqmh#a+%UWOg1{k-G;-9Baop^N!9^dunE%TvV{d!)Zk4h=}#j_aQ!4=abHtA}8;WpSa$M>P~iGPw4A5|Lge z+wGSQKC-vJ`ThsP%l?-8ACv&1_d5{V`s?qPt_9qt@N1HAzxYC(LU&#=px@1sN6VyS zS=g8t%|MJ?tj7M09jl`_ol8qlM-#+VaTo%FTqtYa4 z`0XqEd(%s^qT(FX*Xv$--mbew&MTA`>kf!g_4mER>5OoKq)(E9%`NPgOC}!apE$iN zDTH9(yf8JBp``IL$aY?n;@rb9-@Tl^a#Nrl?tE8*cw>Lv~^}{08 zhTHV=lq{KOA*)~5nC9<7B$6?CuzgK1`MA&-<0s3+@;me+Jlg$JXWDXY&6F5J5)es` zq}y+_GcUcWvE*eHcG2#sGAOPr%GCV9rP*cr`jBo%HuLwrnK^KGt{8|SrzEE6jv@8}S?xvACTuc?{wX;y@6>=aFe09HU3-f0Li4wMeu&ceJ`KKX z&XR|%M3hBVWJ!xjO>xi*iB{B2bid(kNC#zP!xBYPT<^0eF9a#$H{j* z64_l9=;_z2^p+P6X$)GDqm?N^G930gs3T% zCJ%Pa2|oU)1%}t9p4V@RQk^fSZlWXz6-t8L_Do4P$_zmob)j^JMY6Y6^TQ-O5YFq7}8XK)BWwk4=yat=)jeLvoL9kB<-;%qqI==-etCwc4mg-57@G2$mUS&u@ zPc`l2PpK`YCxt*yN@#7DI{uqnPupBi@=)}2vC4h)9;H;!lTvX#Jtt^wQkW;#3XIstTRxhODXWB~W=bs!pYNtgR>)-?N(VO87nHYK9<5 zL1cdTG8tzAQ?~LdGPTUYv|V~`EgPFGi#|-#3W27T5D=^PT=MB>yHlR$>XwJ1?z@js z-AV;@D-~DwWKwr`uRNqy*O0Di4!+rtFsNz~R8_5bs9HI=suNyTbyrVQnSK=m{VIm* z*D!*96)cPH`ZWcZeiZ`!Dxo#?tNA1&$oZ~Xc_^yw9;0fN3i2rxSM380s;wbiwF@Iu zt5XhDt>U3t<>0DKcv-dm$EK{V*XYek1Z^u3O6_>F5eeE>u-uxE7iU+APSP8#SN={)!8zF2;!aV~Wn*P7vsoB?%TZ#377up7y& zrHGj)K>c-d?E{jhHB3h}5;N6SNuTFjS>3>-Z#Sw(`kPeiOR}6Bm6qXIt3cszQTYCe zOcW#)Ij(=go(HlR3FgfLW0_$0ZSuIPR2O2_D@7`KurE|2)%%iE-FJX*0icGwIq`ar zLUxbHKeAKsUGmRVe~V0oxs^fYa4KYzR(zJIRQEamJCasDpj10YhWKYl_PwGHJ&?7$T&_!@WxR5@?h!TUjvOuNYlP+`6y`Nk$F-5|eX8=6;rhf$K(v0wqLDQN|=S zH261_v1DEPi5|%0YtVkV=|C{Rmn4pOxH~5HkT5~?_JU0tVjUf9{TR&lKt=y!B zyeA1~-3B+QyCLs!lhnD>>+Q~n*C^FORnVnU$r0^EiHk);Yq~<9Bzf364n%6YDoQ%; zx;+mqE|spk))eTkQa60I$6K}vRdOoq=xqV^Ros`a$n|M#likH zvZAP@thmJzR)3a}w>M({XTrW1LCLJ;!4C1Un)_E7yAk<+MPxQSDKfjdSZe;ejJ&-R zoNTUZZlXNd!J=qvzzAqfO|AH0c13)?AhL)5pBnk;EGY21!qHgO4rp1SU7ZgE4C1Xa z;siy(2m`w|B+J7giqeolu&k!51+3^ec&k#&rnpwXiXo3SLYkVrf_MqWrMM>#wylp4 z@HNv{4w79}RfWUu8pR>?YQ#}xRXEI_6vyvCGd`nZ>sL*V^{cv=Hi62NlBW2KI9udf zVxBq|18O^~TN4kG16jPk2Aw9l5F&i;3%$n|ad{bmvu53KMot=?a zk8jU)^~ytuZ`(3exI3C}IaH{yGIK(%_@%UyqqvP9^CdcaWO-U0S zl(fgUy=ys%q7mN|&Es1_E4B1dRO6bR2wBsS)3l+8zO8BsW8Teev!27?=1a4<)|6#xy)4z9|mz zO>sQF4dJL3JbzOh;+x|52k;DMbbNcY$+3ETQ_^_1l1`fgx^K)*LY?Mz*_N@?4%;Qz zAhG`H+4)-*^UTX?By6l;xj8SkuWQfgc8(D<4ds53bEk@l<=$c3i%SGwQ;cUj2H~n; zv{O2xFoaTV(%_rxvN?zwqas{8K4 z?gxZ{JZv3bNDO{d8Fb$(|8(Ck|I=T;B-cPnJ*(_1X-L=N{9NfSIo+2DUHtuLly2up z=Z8}JYOq%(9sHDmmF=@-vxrrz7420{{k1ikrR6o{*HsOZS--x{?dCN}?td4?No_wQ zj~pmGHcjq!nK(#JpZsNQO3`HZC*_CL)tC!}D&vGxyj3Wo!{1PfgF4J$6c+HKUo)^Z zba<~*pRUn@4m0JMs!6WH++tp%!w*}FaUu6&Z3w|n9=49ZUI1mn(==RkUtS`nB2mp! zB+nu~Zq1TP#rCEWQLQ^N3dQ!%pztAO7N}wwQTb#@VmY%h)1<* zN{48x(s|_kLzAvV+p0*dI7Cjx*_z}uoY9f$eJy$IE>AT!xcXC znuL?VW2{n)^BsfFKopE%dmU(I?~;X*!=;Z-WnmE%Oe z3$pm%Fl0)by#Q?gT9|BbELm7#RF1>rrP3lD9?1(a$p*P0#Y#4zC>U}v9aKpR6^q(l z!3vF1uuPm>5VP3WD=pF2d1&S}(eKTsBa5F3veOv>LTIs!WROu#T!=tKm6Y=&M!1KH z%WLGYWG{F|PVTP=p3$|LL130A5DMm|da;Q;#>~K`HTm^7Fs-@DiOEBm){L2XDu=5f z-QmtEhHP+!9HA5${V5xdP*2Rr&2tNnP`f=s$wP@yt&ANySMKDUFD3_6WMYCM^C56T z$2l2!M6#%8T*snlXV+*=O|AGn!x6~`slV)K<)H(X_78$(HSH2GdYtJv_@+|B(^X75CZ2AFJlavVE=ymHaT#dkp-gLbnZC+E ztE%!TisCS>Q5+wfhj6O0jp8skD~^|K3}^Js2E-!N{k9dDBCCor6I-e(vV>U>nm7p0plz2Ej4}&WGmY! z6$9Prot%mgY zc6T;nW03K(jUp4@l#R!?mt^GCS-bNoG96cuJ-&4^ax?1+n=q%? z%!!FshXQtStKhoIl(b3Fm>37Nf)QL-G1$SZ7-aheBe;-)WqAmLM61-ALO6K1VqE5g zJ-!*nAmOYgk8h^q;G0T~_@-idd^1CSeevx&j7xlzhZ5gjVHzG0-xP=VrZ^tohH$F* zrZ~hm#qs!NIHTj+%T12e4!wA+_u-pQVZ>jNPAX|J>Djwg=>VZn`<=4mfW+5W@P>v)D=JD-LQ`Zk6BAqSzkaJ`k{rBZl~YvOFH&Qfms~Fcne^;+qmCa1jv=V~}uG6NPm0H`8(OO{GSBQ))hAGDCiS z@$DvzOMH`u65l>z8Xghf6o>exI3C}IaH_Jj;t<~y$IH@&GdjNglF6}pd{feRx00qF zq4lNgB;7a3+{@R)2g{8O70EEC4L+q@*e#}9D1Kw1KQJ!E^uebTgUP945S9vt7w!~> zkf|_~JV?!cU#Sk(G#jQZ-OU1-W=cwmGMkdZg<M(~yD{9IqzM zFkR%7q)%VxX7HM+`lpSzP1O~IJ5uCf>o_3AN`s8DG3hU)vdIq;BRYUm;Wctt2MFCM z2RxA@7je24Ed#S0R29ra{hLkfF`}h~`uy5M{W{eCv)x#K2~lvh645kRl;6S zG>k#QxS@i1K{2T}6Yl(c>YDeuKINfYCT8G)YBt)7qt}|ngV$!qP%!t}zcu}iVR7@? z{5pB9tYmGtUJp0tH8+kF_D}U=n_L&UviJylHecdI}}&nsoGwWTJ7XJkOgHlHR`~*eMvu>NN)1o?cEQhjVd zP=!?FQexkErRk!$$~T* z9r(&w54q~juuc~&ir(1l>|vYjRhucaxWD{sA0H~vCTOH~auRf;4E>Yr(Vq0+1aW3o1QLv;rH{=Qxg?Zr--PKBJE&cx==}lGf^i#edWObj{$&3 zeU0!ZJYCN7tLY)%O5iM?G=i^t`tp=qB$g56*s{_mA~hmxe7f90c3@Ucy=EK}Y-x?acesVZ*uoP3{{_XUcPa+F!5N-aX<6PUPe6X7$I26+Hw^BnKLC z;J$m4dBys45x{kF7f9Zlu)%Jdc%&pz{o@a%gF5492{U@bS;1Rhq{RB`cEt z`XktoF35x3pFmdeYN0LR^GJWQ43Bceox3@jF$fnV7_Tx6T|zH9Jf+fM(x0;AUI=AL z0VEJ8xF;5kE5=2R;c33H47r4Y<+d^}zeb-zO}%$+Cx z*h$Jm(cUA*@ksx4(cUex$z^taYEJLVbRE`s#86c5J%(53xo`7XT37Q7p#HZPYP6u9UtwlUzV$UB!oY_ z`Yy5VZx4ugy%XOn#EC4QH{M6&9;VLJVm=oy0z7U!1C!REg+DXkFo%%23Tc#?=1wPm zR}CNRoJrm-AUNfp7|BFow^QKtsJ5?LnV*%-9S?`x_jnoqiX1O-DpQHc-&RcSiLVQj zwl^bpoc)4Mw6WgT{b8Z9dWB?2-48h{-?aEoCdrZR|A1IfOon`YYWWupQhMM(2gs29 zO1vTId0m2-UBlEk@$KuKt0D}6P%n@s5XyrELNxI2DolMpM(#e{&z80*I%QQwC-R`+ z|C8I&6fe6U7{KRdF~w(^jFX%oUtuDB>3($-5Gw$SnpUXsuCU z-85dKuTS{EArDpyLth(JVD!}xrek{*{VZv(qBFNcUnhHe6C>hu4M}?oBWs94&=92s zL}|!SqB)o+Hxy?3C(gBHnq*G;N!m%0EDtsv!7yi;pbQhm9fHt`MSoH(>VE|*7^xnjm43 z2fNaMHa#P2Vz4?N!qii5zkha-t5;j?LyOCYTRP!u9avau$*sro6|oe=lmpcy+E*$)92d{ z-Y!@BaZQc5M%lqw<9Xt9rQu2EiyO#7h*Y$TTsoEz=@bdAv?uge#kkZld}+ckLTX>j z!%83KGEG`6QV1+14_n89D3%&Z$tAVEgOo7)b2sg)FF~chG2JMMDlz6~++*aSd;s%y zQ%P={1mFNJB{A@s*xw={zKT{Mzmzzu` z@Awgi8qC+(?n_|(^^!Ip%6F92z)YWM%)JI&B@8vBm))#MWCWw4UQ?sOH2Du)`SMVv z$@eE|yAPL9x`uR*pUt91&wZi%nmUT2QBqI_XpN4N(25m`#zP9CxZ53kjv;CPnn>-X}dxOzE5}mDvbZ2{AZeA>goRsd#en2KsI&)BDTu#|gc)_>{Ip-U4 zg-)&;Dh6Jo7G*&~p z#@^DXu~X!7o}S#Y>KFT})|3ERQ&wL4O9UFVrWg!Lis7|C!w6baFtny%b6@4ia*0k}NgxaVt#bD2YV))2l7(rhO zhQ1WcH(|WT^)>wZ8`jrfxW43}=<636^i@N;zJ9JzUnl7WVhf8|V~UK%l#Tbxgj_Us zf_$XFI|aY4Zki53mK^fJwkM*5<>JqabL3b4Oh!8 z?eP?8%H~hFrL5B=Nj|2MaLf6eq=Hi63`3<{cf2q?zc49Rk-uzqMoy}xVe_vs3GrPX z>^^7OWR%LVr`WSI&DiW;P;AdK4V&UfO`Z3s67#wTjH&ku3j9DS@M|s#f z4n)vyV;Q3V82uL3q|PGwq|^#$k5e-Hcdk@<*gF37#PA=oQp*|LqRLZ@UZ6w^l@beE zN{Muako7O7mv;^=<~0!R{<{Dtdnh$FDJnIt@SqC$l|(Jfm8~eHgN)+Hs;=RnD>&iL@=~GY#j%p z7w8Wn)!jxBv$dLKPc_|0+gsY$%91; z7(LS%ef=Kw4=$iQm`9<$3tfHgQS%GgqiPI13Kd?ERrrm0lv2m=Di0pDMW{c|s1JIS zeB#JFO0n=L#loWkmU&c77>~kLFHa4P9#uo)QTX0-9r9`NkUCcli8rCVOAS&wSMjDA z5^pL>3*Mw)c#}MA9mid8y7P_T7{8h~<=4dr+?yl@s;dybGFWgrd9T5#dVe(Gt$&(* z(Qzm#`65yg>*S$q&bZEm#xnocc za-wXT-yp9auQ5KP7zSp((;??keJjD2g&RdH`6`?e15G=RelQmPMm{qA{ zJ@Xp(>NM&(yG(y`%Y{BS+KY8;ZRFJzogp^7#=8!f4w4j1nld)dHLb5hq){J~J!u7u zt###tEgL5%W!-*qa@AdRR*UshyN}1u2u|`)uA_d~IFI_gOZPP?Rq7Oi0-6nyHD%_HxUjWKoJL>gM)R5&@TSH_7vEgpk`1G+kf$_88O7(a8^ymS>Eg!= z{?QndX{X{d-$C6!ZTLsJuaJi{aw(?_d27Wf1dduDk{ncL4H^W??IzJFDjd=|)pOy@Q)bCy2lDuyx$eaeYK3%WBj>Qmr=^U0k6b!@jfEmXBS}_FB_? zty@=!UrvdB{UQt|5Y)Tl=#srNcTl2Mdc@mXtuY{YC5 zg2pHP9yY3b9V?E)Vk6NTD@C zr6pXKc7Iw}CYf$^Rmwv-W%Cy%Q;fcwyr`B;u81sfDk5nMjY){MzFE^|lPaC_&y+TG zw&H}(ziw(deQ08akHJel&FgAA7M2d~Olv1QT?YBs=+yE~kXGayg*G54H;y-{K<$c~ z>8zFqh@dm6m0sJPYcH2Y;SOK!TSI-fp+0)PJZzPIXj=Hvu=?u3OVQXpqG*hHC@-P$ znZFZ7mb^MGuf-XIC{4axrWoU26`5q(CI6a5iPT>+k@B!x0a4Mx-M>04_lbH-J5@2o z;A5(grDz&3zPI}oK}|5unodMa{|9-M(sj|OGLej5$w_9U8Isit(>WLu5~y{JT}o$(W{} zV5}JGOTXC`v>*|>x7^y_ZtY!|Z|`Vb)RJ93@?E{z$kJ`4~Q-xd7#D54INzumtL)iFM z;cY5Rm;_&6?!y#G;5FKBHZJSOYx8WVM+av9D-X8K4E&2Ci|$VOYj|QSW4soNl>((K zrQlOzqrl9z=D>TR&Y(7cS3eq)hqQfsE59|kO!q0gurXyB`PmR84j`P9_r@m^SeBY?QK|gdXeW_|2yP=gc z6~Dk)zS0^tM5MZq06uP3-ME&@{+RbZAwnt;7yDrxp!D>RkQ0?pu0 zj-D8;k|4kE39|oDbKO?@??!R6)}i)tXJKY@^}u_vx1TPUo4vo? zTG-!hPcOGF;O86ppw$kUU)s}c?E^aq;!~~LB@>@NC<*%1a%);%OOTf}vxT{rNl#r~ zhzLX6y^yk}4srHI+y*~%1B@_9FI zOmvzekZcj}!trO#jmIX2UkB%FTx*s7Z%Ooirz{WUu911ATrXCalw!-|p|*VI`&zMB z9_W+~l{ls21=yZRC|O10#kKL~TP4802qnNJf5iO5M&L*{%qeQf8&k(itg@8aLZ(m( zPOnzNK8H8(uzy0qas&KetSQ3sdxgLVN+=zT^)BA5<(DTdPrH`op&WjF)oNPqJ}7U~ zD6Ht@0E$k^MyUDrqgSpHU@L?YU>OSKzCJ0pKNe@hr7!u!vc{gM*%yV=SQM_{w>YzV zD)69i1he&W-n6H~ZCpm2G}ACGEM`05jui5b_vJlNq|)c1X<^__nN-l0z0lygViktVuZm; zgNs0Asyxwgo5@4*yq``@*3~%Nt_FKd66hzgg0nJHqN4DeDpImcTxfv7TLWr}K$Hdy zO%4X9Gnrk#E-TE^8YVOHU_0b6%7;}3kNjOEd6zc__Qe{)aKp zp{k)9c0&u40H2#z0u-K@%74lT#GY8IPtiC)tZ05PG@)7OtSPhVKo?1(2;$I+3Q6z;Aw)qAEPlpy}rxI z*`HG|;`theR`e%07veTt{(3D#D;lG%3P;gApqZg-%I8&rSr1l-+(ICVrox6z?JbOv z$_udnf{s4t9bFzuNB>7{_v#%zXI)ByUallqwnp572PpraV{$hfx3I)bRc()1CJ8{gX0V?8)5K^W_@J*DjuDNHV~bP<#DVk9!OM zz13=cipX9IrshAAb`}Qx&K>O~S!Y{nUApt~mMp+6$w|Cf z`52I{!ReCRft7iidC$!*AKuaGwcD-E^73MD*M%1zl$E)a{X6CIrVG;&$px}plAk5B zY+tx2OC%RQ`;zCR_^-0DKUtgbNF|$?Nnhj3`E@Z<@MX0ozMR2=FH^f)`y@%RZyq=0 zPJorga(eM)*cK-8uvKpTv0?n8Y^JhaRzsea?6Na?LH8z9ZoRpN^a}!aWSU{qd-wJM zG*-J*6bz3=6IzzP(RHG`n9@3Y2l5Ol16UWH!0E>^GCx$lAz%ah8;3E7IT-7Gg8 zNYc@2sr5f@Tx!c&^QTTh3#{fZBI;XT5%4O;Ibx`l{kkzMrYI$OXow);%;fl2gd>X? zUlBJuOE|JFGLf9eZCU}5^b%*r4JeK;VZjWt5)qXwK_+16ysaWhmP$)+P?94mJ0Y=D zWGN#nb_%MwXy)rF)OFY@!Xa+A44&#Ga&ghJ7Z4!8Q=t;Ku#ig|zsC|#FxXOUo**P-y{ z!IhW6$yKAGzAUYhiPiX*#Y249JZOqKBA1Jaz8@oh4g0hWj)G>M0J;y2hK`hxxDSkN zvm^r}ZS$5TXz7EwP0|I+9yJSft9?SgS^ydUhzQ1#=|@B`ucq{jbzc6kIG9TOiXmyE zV)%l`Acpjr2#%M+z}Gs4!1L0DQkThzf?p-J#bATr{Y_GQpPHFkp2`akig$g&V_l#L z&m2Dr_Tq$ba0G_T|0DQ(0$&~hUahF8NH0$qudXmgt*6)&HgbGz!vC%cztgmmqWol@ zsjBn&;{#^O+)0x=Vs#lL6m*Y}rUx15@HLSkRpHo!Z&FuwvR(~_4S{`M7r6)g&bLBFMQJfr`Lb} z|8<Of1@7KEm4za*Cae3QP)Y(n|V6ijh0OL7`c z&{rf(uEdaLLRuOW8^QbHQ^!!68UI95*(ZX^ej}-@ze#T2yj`!i7H30o5!w~^(FVm8 zJC&!LSNYsssi8V}QvoM~{iO3=*PVKq4DdQ@s~~YO2AhvNqt+Te%BQ;(VTiTA%kk(f&jA$?#K;9%@w=e~n(V_x< z)#BLw{FBLOpA1I()1(evj>1+Eh*}!{^G6Ca!pXyerXouy-Xeo{B2c{hLZn zHi65(cGnO+=_`qU_xI!>^&_}CoR_`6>~O!|497YMs{J>Et2%~03Tj)V|g%#E-wu84<@6eYc{(vR6K>W}xuZbK8i-;uLcsj%pGneCQ4 zzkO?_AQMgopt>iWBth(r}Z)i36olXq_gwfn)b9`MbYyK}uVC*?6{J z_a=7DT4Cx}shCiYmxrz6+&~1SF~O9|#u&d^oio42CIdB71@BT|WMiG8P|C|FIRD`E zcd*@`k|yVN7fHj}-JeDjRvG2N&dwpqQ%%x>5zdb*2HOP{gDQK$;G&0`BJYv($wpCg z^MQtjU6HGFi-`}q(&V8OhtD^;#q{DKtjXjLSR zk0=uD#xjPa9c_Rt5NisR=p)pJT_|}d3st+aP^Ac5?AY{MDdm-Bgi9Wj4eRa71|d0W zcD(kaBBhIyC|xG! zK|JgJ3X)rJserI+e~+;~(%&$%w6Hku`H-nKL$l$7GTSu@asG0bg7RxF^0Y0uo?q?cOEmjF7tx{Yd{bv^zN?R|1mv$>ldGCf8^O z1dYyprJ)ry4>9NnB>l+z-1?EyqI;@}fmpL2{l9idn11w&-jC#=ln^^fM@N0)$y0Bm zho>t&!WIg9ASooI3g!ExM;X*a;4F_R1zr z+jkmwDzwo%kPWwzcUN6yOw<&ovD|#TXt~)`-Ep&59+25 z)(tuJk(T(BJ=+_U{erZyun)?rrCdxpeT7PycjqgRRNIXfKxp)v6sQ!XCw|%eQ&|F5 z)asidws)T>XhTXKtiP9mpoIFcW9!%8#Hn3*un~pEeV6IBtaR64%r0@pzBMkD>{q?8 zKnbv(t$ZlU7XmDm)eLx#VqR}@NY2td#)BNc?mi7Oz9(CW#1oSbsW|wMibF}AA?t@sf5&z~f|8O#u#sYt z#R&PH+_J_it3!^W_;)z|y@JnOCqH8Na_4Ol--C7yP7g2ag7?=_aa5r+P|T~ZbNhMC zc>IpW_Lt0H_FU_>b+_Eve3r(S`emQH_hZ@EFQca}{mV6L^UJdb4igV_tG#shSy}W@ zh@F+0+OC^VRbmdcg4cxkA6%mq_qT44P4K&1sHvrcD~CiF6|3=7(2iDn=fM%J6d%)5 z4Zf>&M)^Td}MbOxe{F+X0onz3Z#9amZcA-L_eUmlU z&l{;_iD((9blecpw0|>DWUvs?L?oTFNWr(fmnmpji0hw}k0LZ&7cufc(h>B)aV~i% zA2|9&^YyYKr@bRB6alJ5C&TfbT82|EHSJ~PNVLLa`R9$MM5>W1A9qNY$z|?+?Iq4t z^wb&4(XkO{!!z3OnV9tb4vv&8ice4Vc3vw>c?Xu{2#FmmN&WeXd$-9Y<=b|&w&{Iy z+wKzwlhZI|nB0+>c=4Wo0(sm|rc30Km2O$s=!p?*s>L^eG z#0k3)1O!4@hG7evxP(dal9|V3Cd|U(@>g6y^tH7WYZY6JwAHG0w_3NV)w=#|mAX`m zT3eS|>sIaJU+e#T&$;KGd*A!L%q0H**nV>7-Lu_u&OP_ubC=)f;BoqD*Ks;-3L*ZS zoH{N=zoEFwbB$y?rzg8^@)V*Pb!~W$s76y{)1T zX?7VH>8&oz*0>t%$j5rBH~HS=9Hd~U!tmkGDhF8-HcZiNF`{^Qq2e7T9us&rjjAaF z5yJJ1@J;EE_7NgQv5b$g{e{XaLteS+1 zvZWezf61zQJ7}zrv(oan0^STKqLvimq~*UB8jHbd{ZI~3D~}(X8Jn7$kc*!!>6LPJ zd$SBmGTK`?96LJ<`bfhZ-g}&XP@2H>)6DU|#jBgzOi<_Xg zx-dawXY)_5usVB-Yh4PF<@j$U-Y3~Uc1iL%#bwM=Tt89%KiOi?W9XWQ9O4${vVlxKG@rh3dh?stgwWz1nWd#%-sJA^Le6`T<)CF{6!XzT2xEr}Jgcg6?BYG6N=a8_liKb8q@KC>6C%Q0+hRqFprjER8?$HV~67iZ40 zT;hwcg_s$bUV)PsXG~Q~Mm?r_f)SJ9zKW;wX!?_An(!?J8+j1yDx=j$(~85hoQmUW zOgMI-uqI3PgeHtA*?K?=tt~`S_JEY@F+!3R-c#n6lP!@x2@%EZxaXeea@WIxwiov!f?t`r<&AOmMWNZ0gYnCsT zp6Vd=vEi7SQ~_o|yHa7MsZ zxQcm_Gh`zOpMRl=85q?LisFzRS0Q;sqZvmRz$xA;4v&N=4p#vharP!BU7}p-DC7hi zQHmEwb%w5-TuP%RVH1dF?jP^#t~7ZsW6@F&8&qG!+CCiQeA^Ka`&3XyvN5YdsU zKGYOiZxcDvfV0GVk`$~bA;}+_pyeR2sGQ3v7K>}e8c6adEbF2*;pM3b_bXwBf!rP2 z+q$G-CZcqYu8^$VHCZ6~v^&$6Tf$_jW{?l|bou`Cr`)h|Iil2YD3ybiAddU)esW|;1|%H! zT?*+7p=xduaifSd%5RPHJFlXG1K09Uk6zwkT+&IJMHh_A2dcZz(j*uzh;*NY;cob) zlX4%gx?hO+A2q^Vd7-dfl=^G$B5%#*A}#s+&-T+^hP+lFN$r0oLCV+XC8ObUIn_ai zeX_t}lTR5e6NVW99M~pQDsk=&w+IMf%es|yUxgrSDG?y%>%Q%z5xVU%@3vBiVgK({BmJh9 zVemq=N{INXga}SF^&4)+MfwDe+pz}r!T)Pv$A}ietcVec&on@p`2yhEhW}s@2;U?> zrLe3xC|hwz>mgvmF=f|e{hpwS}r9TrAD0B>QC zl0w{2`VSXQt0A4MgLHi%Q8!8UE+G-KypSlbL~85_`xmG4bbp)GsTAz|1&Tb#vUCHs z{f(Hp8dGz8K&UQc7$`Qll@-BVX|bXq5d6xT92?v<7)u!>`lW*T7_id~ZY6--l@Ax` zf&k&aWBC0iFW-K!;+TR{rEO{ z6?v_Er*2v{XRn%`+9VH**@Rgs9-G+G`Cxm9N?TmEm-C~SPIix=29#jg8{d6zuXe3AW=84M-@m_b?2~a%ljhxyDWd48Wj%#Uo1>Dnv~Hwz_woXA$kb?-7AxsftQ3ufxP5_15bbqhBeNEh8 z@!VmSyt9{B)g9t1iSbv2=7CA7=bKa+K|I5v7Qixb9|m}!0!|+&ml|t_L(q=9l-%xq zo?J;va!8pH*N6?jZ4&Ot6BPJ5(D4F9VED}h)ZS#Lq6wlU9EUG3!b=RUGFA!4KpXAQ z)4kP~F%}r?%1PH(lbXINio~&*biLZe{Z!634wrCPoVLFz!F86(!9STj${nFu|6oLg z;A_s`&+S`Tq{y>%%NIi6N8Cg%)Cj-VX7pmg^&15F0}afIN+6#Vy;FheG)d?= z9;8)d=0|W~K&P?q%X*&o{wBO-UtiJbFm%8VB>~%C&6n1cjl*3~v&mwOrALtzn6(Kq zk)I2h3M;|c1s@S03}LOd5vkM)^JQ_(?_I3rT6Al zSYGv|XEZ>UGYg9DDJ4T^L@J3>OG`d(I+PJ<<=A37%ssYr?3}S>{BThE;n2>0<1-s3 zMz?L;EEj$b$L+o@oVYUibrJLla~liLr2^^?gcZPNCE&Gl8(U*X$~7OOfr~?9Z6!~) z<{INl9LpR2hDaj|fB82K_>aO^&IS+vqcCPBPbmL4qZyx0DS@yoLF``*s9Zl+kBbULn`%KB zX$vG9j!UY3kMO%nwOR#@xlVy6QbW*}mj-V=rKCrFsK-NEx7~a0z*cub8zZ~Omj;e+ zia5+BzA54ynKbtcQ;LkmG1z4JL68qFDFP>HP_-cxk-enK9SgMf-$u1bp0CvMF!&)4 zAq?_+@2?r9{_>oX5YDU+y5w=HJ{*}mq%KNnsm0Cz)1=idUmPUd`J8U?rqPLsjiZ}n z=hd9!pF~;sf^C^n?=#eN z4$4926l0na?aJ)L#EelEW-E54c6dKAAuxmlLZNnmoa%)Fgd3QE=Idnxs4o;>=)7^W zCNi(X-%3jUmMF?Q|FI^!9RA(VZIcq*r?QXBTFYi>A1=S8P6CQtDiKaGBQq3hM@iBr zzR7{gb}TrYeLJ=2+o?rtbe)`9)NVy*DdCtdV1(5MS4Ol0cuh#wpBvofnhgY*NdQbv ztC7ulOX?hGz)>3KSOR&|Fucn4(IO)b}y?f)(|hq^R!{iaIYTDoY9DHv#A)A&;>MUl^(weNLJom62AXPjVL@Y?2QDK;pN{ZBnlKf#1{(Ajg_LpS*Q+ao-`of71b zmaP>Pbz?=k2x=w&O#&3EDJD4pxyDH@;T4yekljPd!t>w%B19QY{zWuNphH7jT|-4! zDB%bTXsBgy^M?hHF&9h-3k9+{d`TVs)BcT0y?Md|JTU=+=T`9M?j=3y3svn_@cdrV z()S82%_S}6m{0-{6KLhkLRADZF#!(5gaX-AR8l7GOeMN-8OO z%rJk-F=5v(t`2`+ILiG6`Pb(5G~#)t0f`CShhmCub^3Law@gmmJ}DPYxUVG-7!Pt* z)9;_iZL{thh-(Iq^(`p4GLpjeMrkK5e2;Rqy_1u8#zbEzjWCl#O1ad4&{GnjrwbvX zN+*loFmDAxj+ZItR)tXX?UL%2N<5j6m9kSA8tbCqYTYV881lK+z;u&Q>ClbQ0U+V< ztUrkytoOV&qCd4vRm<99bs)7Yt;*V1ySkSM5DQ$g7|vi9mf{UzzRZvOKq#{=|A91& zG$x|I%51X39@(^Q#uAQXEsgkn(^0zOJ*01^zFE$Bm%GD~HP8VRd}hY*VK@tXR8&%@ z7A5?iNkQnHKc{?Zn)UrKY4eA|hWsGS`C}s_J*4OntNVVTPcHbk?vUKzI2Un8CsqwU zd1U1Jp)}e+pD_aZOre8*;ZLOyOp$5pgC@j)V4A(5KxH(w`-!1qhR|TdJXZfm2+DDZ z;U5V>l2^Fq+l^bbpI^c;!XWxv8&uP^pAQ;i3*>#RY-mM`OWLezXz`nsw!XMi=>4>K zgZ=cLH`w*V#|>XiOv;A~%Wy=wx#A)&L?!*mD+|4Lzr(bUOOm1SC`C{!Rx&?L>i?+- zMaLk*e9YDVv&cx7aK{K7LFTU#Txb9BnRv#_*LNib%W4e!;V{?&9QiH-e3vx>Gji2pcT%Wo6TUJPTz< zsnH!EE=RqUIH^CzxPP=Z>}VHiFX2e8GN^t%!F3kTPT6+|-4#mc>jfGodpI8qC!E?m!;dPjU!-#Dt#<8dduXX zozi1IgB_MCJ-KEY2O_#4i8iQdKZlI9YZoNhClt1?LDrLsqs!H6KGHQZIyt(vHN9?h z)9lo=Y&bF>GOCYpNr@CeHEh|%9M`}QrXaPZL5LA3tQZC&tWX)CL2t!GaO4qg3Ms@^ z*>YD%oM7pKWGaD7hbiPP^vrBD7=k?7>M07-Ck}wDTL`xbhTU@Z=2PS zcs-_DsgV6lmpg8IAAz%Z_J|UaLsb-FXX@m{va`>IEz?umHl*RJ3wkhVY_&npA07=~ zmY~M%Si#5cPe|N~VYLgAg+8`1PK9l1@mE)RFx%9c0wQcv9e38Z_xE<$oYY^+#;xx$ zwt20${So=4+??qge8K4KrZIT|MLtP%TkC>R`PzG0#5_ZSBFAr@A*!XZ*ytQ>Y;MA$ zo>fs~C{EVbPk2T`ziFh;HS2>y@sx~wb3Dz%6*f(bo+*5#CBx4azWXNCU1Ulg81AkN zp^BGy_SKZ#)b^df!_(PQj#c@$7oICj8I7JROxYNQ?uaqXkMMN%yuC(Xy#s=Kupu

2dv3;HW*ddE6pzny@XWF=#WA1^p-jG-^gS0LoU7Q3qq|RRBTacx*SdNN}&fGb< z={`9RVv|r4+M9Gp!oNgn!|QT*Hzss4Bm;E!EJ6>JfKwiO$8#q+vFTuLq(7#qYCMxgfs?!qX{V6yBp6q z%|vnkD8boo!Ug`+!0CrOXIoeXI&z&y*^-9BC*R?0_vz*7u#DP>__p8~v3}9q?3Tx$ znc^xOPD&h@RR&gJyHboZtLAh8xr+RF!|Rm)%lFtrCJgf57>^OlEriW^W>6}MRVJ?U z#|sh~FUK10aE8@Ko=b&vc!RAPVeQ^Rec^MB%e;273*GGAgnO?Duq@I3sEUoJ$u*P9 zQ($rey$<^WZn6Mov1u}9|sdB9F4BeSi|*N;xjwK84d zmwQC}j|4h}QiyRx24ZZUYH~!0b(YAe>|eFK>{s$%XDQF~jm~bE+1}c8ABV86DtOj%|K>M?{jI}A~*%!yG9pAHm5e9!RNeP=GzbA71i#X^sW^I}nt zAEW%bswa(OV#P&rz3QS{L(}G--Q=S)2cskMIpdLytYugiOCc=rJ!Lf}!Jub|Y@pZK zOW(z|d!I^>Ct{Q!(S<(y<4ka#)Qkzl9YMwSP453R{2hL`M#hCM$kQrL(a{Vn3*@`8 zKQv{gyWacAUGMYj4<`^46Hwp1wx0s>QsOksOyZsvmA>n6u% zSCm#Aku=-mUK!FiA&paa1G7M5RRd-AVcO0Lpq>EJ{b`E*{&lNOMP>dsya80|M`#Y0u#NWKhTo z${eUiL60&HI0`p%l}H9ci-h6sjV6#5`lxwlvGkscrl+Um+btHkHW3PCqBtT2JLrj^ zr>Y>0p)iJ;EhFPIx)hfUklEW?EuK7=eB_J_hx#U~eD7&|VsxXtC7HjsCeNZDJ2Nzx zo`x4Vui+%Xs=)>fKOlg7I(V9(&lhFT2hK8$>8c_h5okJ#+2l^elTe$XE_<#cQm{o7 zk?j1ehWUD!;>(KP@K=a*1fq3@U+&2OU@s#pCuRY`sc=CB%L0-Aq|2Ub1Q*g6xsYqZ ztV}G1cdape?N~)514?7A^2WrqO>0bsWCxJO7^m*WWPzB{?qXx)_`38Xy6T5!t!S;4LqFapcTDti71fC9<%&R79NU>Q;%KTPiN zhtzSVB{RGt5w~nZO7^uj=*J2c{F&O3RdfPbm{72&g8*Zu;GB_bzm?^&KZ~t6a`ez} zxb@$NqhFD!aLDN@A2PL#IQq0{g>$;&;3kbY`kH5jGwe7F(2Y3y07Zo}>NwjgoQ5Q0 z@rfI|u3}1*jE6Oj+gF&nWlGFp`d%B5RC{Y3*w- z`0ONaklrQJq`}DJaSt3%3bqtLoi8x|EEiW}!>PwA1_Qfd5Pt*1a_u!uAPT{n7ni@l z{Y;`Emq-ec?CfNTA_&F2qZnQk{Qwb9(aAt#s^2kFk$q?iUF!WdN-I92wBj>wq4WQq z;qPcCL0KQvkTf$m6=6cbvOvr~(3iEx^raBkKv@DYufEoYzE-=wq+rW&=-;39HBWmL zomi;oo;P}pw>L4Oy)~p8-WXX!6oQ5*t=jNClc`-?NS;J9nW0I+9zVh^uMfM1Hxx1} z7S5_zWNZVguu)AMqhrcHQQ|%eZGIKZKLe!{n1w1MpJf^aW}!6)_kuq%@#(A!J`*=` zGMZpWkwTn`dw14E&yqR^sLo^7-!i^^yY4@1+dg||+REU#sJtedPly@^W<<)tAIN#X zsiU3%7TK4gYp93>b|pa0j2Wa65M^j}rcX6iu@)3oQLx<5vyxTbWerVKs%jiRsWd;1 z)c3W{Q&1!C5=p^M+F|pLI(4mvdae%Yk(e>N;_?}6-oATx^xf0E?@A$J-KSKBeo5P= z{v7AmMwBGsMoF>@g6bc#X6)>tj?|U(PVJDr#mnu$`hXJHQpWIeW1KfzU>;A)bBoomLa zf99gzV?C-D(w+L>v#6!3Cevm#$rr=P(v;{Tq0KYnP~qfAt>JQ}7U6!8Sw@Id*U0Qv zItt6aKq&%XO_@1$NL6$P1tV0c@ZQgUYyxyEkLs{VUV?B%-|S4U$%J;d*Q93=WV2x8 zEVrE$;%SY=2WsXrTRZm}1!rtfa1ug<00Z}4Q%9lcPoJS{7I|oT(UCuso zG4aZc?UuZFlP38!9w&V8yrZ(E*rx7{c1+&;d&H6hzvYo@kr zu^p_DbI>+(R4LdFK7y`NL46uoo)3t~&@SezN=2^l8x`V7P+=-rbD^I0o?zILbKO^@5Wcd;=URI3=w zB@}}pC@>0FQ80W#!I-(CyE9C(0e-dNHdlx0+Vj3;lO4Dmn$B~QQV6YG=34vx7@BHG z?^Bm#tWyfw&K_pwN{W{p{ zVOT{V1EL7)DulvV3YMF3v4CMyQ%EriDi}6ZYL^HYHeF|J7~og4X|4{N787;tHT3-q z*1zu;mI#|)9$LKsmh^Ke#6M4(Y?im}QuJRllIp|x5v4~TcV)_SXdZLMA8T9ZO(?Kc~=Rzteh zUec(weN}7O%M=xTDHES)B-BQIDF$;5#qha?VHEmOFx*JNe6De?>#Mi=*VflM*OwGR zUw_b`uNu^BKbttTe&KmTH&Y4OPop*0wz7)MeQVNz^LH;*4=(UFQCC8f@^}5)fkxerh z#pU3o_=H*UD3UQeHqsoSKTGoBq)=_wjr|^DJ+2AdYR8s^ZB> zduY~Y`x}wwx(cD_(Nc&f@V=O}*yPpW-ywD3cS@4rt0WoT*p&UcNwuS$E+f&t8uEOB z#6ur;$nQo{vW8qMka*}<4N?{%#U!j)8O z&6`|52_0YUI+lXHtBx7JlXV=g?}R>eyVW+S6rClaqLb3072mhEKiG4?XCc(&6s%G6 zE3`jJ)S}mPiZ7t31m`*qTeny=;S@q|Eo{&p?@M)^>%U?Mlc~w&uv)A+G3C zMNC>x``KiZ!ir(8_M+b<)&Pk)yE6SwaflXP3t4t1rC@Ir;9`dw*&Xde@>`l+kmv$W zJ2*7B^N`ilJqk^$9H+V*tY$gP@@S)8KIXHi{79H$UF=v_)L7=1HQ_4-gu_2ac>_Nm zv95-^ULZO9a->5(wo4UR*ry33N;@K}B2x7=O->$!(h3Jsuxy2!1q?qs&|0>S{>52-TgGRaayMVz`Ua zJYJ;KF^tNA7cCL$=NR>FFUsHTRV=(nvGAe-%e<&2j2GdaXL|z+FRCH&BK++vhb+9P zhQy0d+7q%W!i#E1yeO1bc#(qPMN+WGK5(`nBRIgX*41-0PG+`uFOrC$E<&ivV1=_u zy#}JHKEn8J2BDjf43bi?$q<5Ho^;k(v~g~HLg$}EtQz=uQ3lPptU+xxq)+26aeeew z?_NWSiO*BKAySBC<_)PKWp=lQ^kwFCxfNylXR$6bAN$|x>lnR4-49ERI{E}{GH zVxnTqKnoXI3yPh?a>3(__kTLSm`Mh`ir*gRso}nt~WW8HmmAz>>?eYs~Fac znM$$jnl~K~F*%f9EJmJAPk^`-?8qApeO6L_c|xLw^wUGna5Eh=JvX_&H9F0$Z#|9e z#;Wn?1t{T;FjmM_IE7-dNK(0o9)VTZsV2@^3Kibw8t$zQ)%98XrGvYypf|W~q!6E& zd!Z7qr?O2-E*hhR7|oTCtFGg!!^5x9D=GPcNsYmwQ=0$cth5+&YDjV}XuyQDIjurq zV&x7*C_xY3c27xqmP}!xG|?x%Z$UdO*QH>uLm}eJRYYIW?CjZdBfz9x32@Xr2(Xx` z8BkBlUS>LA4)k%!1=*GE_L%HPEKKaJh|NhSDa6d`HI>-aLM-A~sG(S}C_S=JO3(9E zf08X#tP+Yd;fh5dRV)&PbUVW;+`A@Dnx8mh!lELr&yDeIfIqaxd_~m5K?VgP%qTC` z$Dzk!KB4NyO)^-xNpoN6ES{d7-Y`9NySgnsX54#>6znt}tlpyXNRR1z{7muaAc}Wr z64CI?iEGM0gmm3!m_p_95zg7xHqVINf^;ZC3L)KlOj})7q6=Fo8e3J0#uR`?8Ja$% z&__GV{F2FriSZddOn{0eTnH&dmg__Fsz~uThOT%ljOi_gXDX^G0}*oWL`6#xlP}`V zZJTsWZ9_WKZ3kFsZJ!;~t-eAwYYd;f0jU9hp0iaa)9RCot~_2bWt%8t%r8PnHJZ5q$Zp&FiP z5YF*m1}|E_F1e$yHdD`AO0)I@(?bYie)T^nQU;A$5Qrmlze(J4+*fRlr)3 z;mHV~&BX@atM?3fbtPY=_p_b*H3CClF}?Jtjp}e=3(~3t`iLq4i0C8jmGY8)n$SFz z0~TSqq(%mi?cPnKV51m34%P;R>B|kCVSA?5Fd4`c(+~C=W)ESi3(@9XXN0Wp6fa38 zztv@xg6%PO4ev<9#s7ypVvvIp`E}ZGk&Q~odS#F`=g%hY>_4NglF6)fY|2O1;pYhY zB0+zS&~~pjsYb^hy26^r<7m=tGK=Un#of~V^=&_1!o@zug{Med;qg;Zl*P|S zi%uFB6o-FDsK|X>`8U==B^T;(Nw4q2Mc#`W=Y#g?j_dI6CbZubvc8%$;p!W%V_DSp z%^WOo{Fe#7TpJpGnc$PIDcH_bQ7e7H4KZaHQZapaNzI4=x6g!p*qenQnN}5%cMuVg z*<uy%6YYa|x75i)Vvi?T zKWk4)4~}l)yWE4fjgLxY^6GeY@2V1dTp$NWr(1(lTjb>h`J(r20zks-YXN0RfCU9 z0&S2-B(`m9ZGPOU^vQ^G9(TdWDW`YQmX~mMomZA~A>16=Y^mK2OjqOE^{WlUU(+i+~)oy`X z&K&iJ5MU?~BPGMwc(*qe>11C*IZ+v$Y6k6Y2KqxVI4{v)1q*{0mkgdzRQ6%e*=y6p zGw!RJz*D@1J}ys0*inPSZ_qQlAw~`ZTR9 zw};=9aNi{KnF`RJSE6enb2Zdf>j={*5@(3({v<$ z_{|CP&4RhSA7*_leE2O1=PgMy&DwG?3FV!F!ulih(el^8ip5?&`>j@E zri<0Ms1kUM;FwC@J`j^x-gzEytR%@uvDQv38^T~3sAC!qm(4>RdjO6-766VZ5C&89 zb+Zr#BQS@>2uJi2X0NqZU6L$~1$Z153)JL^4fHfQe?0sysa+)0qNmyV&3mHP&)bW? zXCJ7c7r#en69L{MwEax`LksK0hvaV^$YhskG8t=~!vBR3r91zH5M>IFExz2{oevB2 zshQc@^WU2YyjKYLQO6zvD>8x2tu3SSZsAaUU1s=wiOTzgitn`Sgo->7J#~9)b2pXu zCo1pX8I@(yZMXSdPglbS66Oa4)2(X!8~W9ax5ywRRP376nrp3e_2pM_4`_N-bsZ>b zubtvzE?0yM;?{|>&dY^? zzD~NPJbtrXUM!!Q9J)b2+PF>@Q^+N-SD9<9s$$}r%ZZTb3mL~KpY)5J*;#dKYmLe* z?{AOlv(BsJ-MZGqOvQ3S4pmIbtaIpc>ek9-DSfkhRdS`8$yMTG>omG1i3(RG878he z@{&FK`Rb{DpJUDXaaLi8S!X`TPv7d|f~K z6ZXB=H4+iJEIl=u4J*akK=MO4jQmmSSblI#NHI5nY=8N)6*WD(sx`S;+inf6`=k+2>RI(Xd4%uO(44 zB87N3?UxqpauQ|i&^~z{(3VSZO86ufiS9o)d`+z@1gU)G;OR%>P$zA!7?T`~P+)qP zC`gWE;fGj6N}b1!?1NC8V39&>I4(Pc4JkjtQr%E*+W##!y_Fsti%QQ!;h{=zEPwXh z*k&+K7a3a)b<|?{cEnO6Ll!<3RdLLA9?|xtsqmD7MQQSfM|F!_gM!gkZLoV>IwC!t9an3>LWysj(tudN7@RpaLg8B z<`jcQIbO&f$nK37%diXMg%o1ExYAm>fbl}{@jb=&pmDk3>v*9Mj29V#CiHN)$8-9? zEgxR#2-qkP`VTOP&jA|=(CkQD$qPWuY0cNXdB?g!p%m)}_OAylf zES3*28;lG=sJ!I0;34Kf8jJTz!4}wri(9*etHFFdJ!N1`VMq~pU`XluGASY0Ro9xP zpO&3anv$g{IxNqTad=fRWEa+m65EJOhM}`6gUHPR0(UVbdFdz5CgODM)MPSo$K7>2n-P1Db$o076i%zIE~ zo)PU(*O?T|K^W2QH)T{KS`A4)5$(P*X}5ia6q2{skSGIvy&}^r4s7L_o#N0#R1P9= zfs@B#>0H*K6r2Oi3eGXk055JtC>Xs;!3e^b<>e;H0KZxc$<=hrq+xecMz~yGbV`qG zRXro1#qfFr)X{(uu%eWb!m(mnvO(UO-aNOdwL!l3*RxzIwvTlg;H#y>X$Emx3N|A{ z%r|N)N5{5ZF*YedcDwxlbh(y!y=j5omS^})#{*(=l+93n>vFm4PzsUge6JCg4-{?K zpj&-3$V^uwFf&5w?^c9f{`0-6a0Kj$BvLT{#SuP|*q5I(tRdlxFZ`uKjwaa@27gg% zzE5tl&2uofSeUJFl}I6mrcby^_TR8U7RDSaQ8SxXY8=m<{+$U^#Ax zeqN>P@2`Jr(%1gF(+!b*H(9pK(jFs^hAk(Hr4YwIzGh@&Lu4^n#q&UqaWpB|+!BB7 zL0cl}TG>jT9rt|g$e<%iAr4*iATIWE`$^2lI+_%^`9+3vo?fYKWysRD`pWtT*4FAl z#Tt_98b$Nw;i9VHK@3%mk9t2zT=HY5H5j+17S2MI$jN?HqUW3c!&&%*qXzS}Ow#o{ ztx$#23RSqb;^(fb;_^TZSvN#dXCset(>)H;u|0@m|ASFV)pWaDO}8_@uDhM~5V~E4 zZ0dF$i6pXQ%8{gJz*yOD#5e{)>48#+9{7ku^=x!rFLm~m18+XaCaxC(pDJjH9vJNr%Y~{h(Uz{d)urgDOBuPkj%iR=S42}p)TM~7u7qgns%g8rOf*xMLZB`s zvis^f&ebJ_P}h*Ft0mj&;vT50hV&PTPF$$E6rJaom64Crr}V0;YnW0z+1oHYpY|s_ z(^gH|uc4Y`rY(g)Tgn`WaIX1pH^eQ-_!>+CbPT~6ZU zixV}pUpPD4pk)FyUuRZ)1_~9*N4$%A)!jQ#D=JxKMfFueLN$%o)O~z0>57b-f}wV$ zG9d=|)xuh?F0At8d|pUDvf4WpE|yL0;*ICyA(s<^$rz49QIN%nu^d7fyijAdiV7&HH7rhd~x45X-xJu0)Oh7+n8sHX0z z;Tw(mj`BhE8q!U9y+Kwp?HZC}%fxU~!@}+g&eM@jaMMX45*BS2`csj3t|2||GUkx4 zv8Y9=sfHv@vdr0%o7dn)8I23@DvGBg5?WIZAx>2r%M%?JjbhnbGs}jAm`b_YQBJE+ zivFZvneypXV~S;d-R3g{44>X?0(7f{>ae3HQY>t$#p%DQ1t6n?*0*AGI>ZbuLqgLQ zM*1C~$ZNOXFCPHxT^;qEoZW_3aM?}@c6 z_AH~x?5rLX@@nYDF*!exPiJ1$n&#Z=jGh-wAH^D-h?CRjPj8)Blc6~m&0!K*5v>`N z@6mFCmd~Ax4$eqXzL%#bO;!zZU716u33e4{U**g=$BJi$*2?+qE$ko4N zkJIO)j??4CLWn;nr;bbPiu2;vv}Wg~C%YQCKv9jR$c&80E~fydTgN>ui<%aIxBDpZ zTd9OmC=#WsS^7{I3>2d*7)scf7>)m1g#+%`w6_pqKH)rmK(sJ zLachFTUV>uEKzqdLcsl;n3i9Gp)g)8GU<2U}vWWTX(cJ&CSw{%8osh+*!ro zu>}=lOVUdcBYgB{p-IIUbBwtfBg-rf$cY=sE+4+#q3@`m3%x5?*2bMl@2_{g_g3TI zN$<_QD!CUErWd%Xr4Wyjzgvm35N$HkCCN;R%ig8pGJ4`S@6Tq6(bGb{IkaLifGQRv zRbUkZXifYHsnsT!bz6l%FG>iAXn4Mjn!KBlF@r_#t~T((qUn7(^m8}*0b2?&qMm<`z2AZA~BC7z1c@>zRc|?KtxB{gR3jD$X709yy+EN?f>n@skceRsXY&uZVP1Wx)!XNN0$}a8c9u6IA;s z{kA{wq(F=qN(-Pu4b4Mk;YS@B3$_%(EQctIYNxy$?G%aa3`L^dSjLddnQF2?%qvte ze*caOC50HjS7f1L{0=)d{nnHMDV~m2HVpO31|fOGG-2g-r~3~Yy6n~U z)2UCTA8nAK(;k{*LX!?-4s9JqxzZ1%uwod9=rF~+Ph%c~Mh4qSkna9$S9F%9j!{g+ z?!$h>YAM(SD^zfqHLTo;DSCn85H%Ht`#=Sbd23CUtQk@764&h7CAutT@m526vVNUH z`pmL=rZ1Y7hmx^XDV{4a){H8dr{LB*+u<&@8PZ1_W6Pjki{&HETB9T*PBrtMN5?Ps z7$=3e5BLjkUEXu@THXGR;?TulU8q%*wY&1xQ*=+OT$qYCzA3oJZ@FkgH6=Q5o+?Qmg zFzcEMLD!UmeL$72X;#nq%H$k$%?!3%T{GHJ9ASBdcStE%nuwlro9pVdNXXQX?D7z4 zW);$V&X9ojeIjT?DKMv2UhK041v){^!S~^&O%~|{D|;r33&}2pH%6&Z6|Y1U#2G2r z%7G#89#_TBVs=(Ty5GLgAwRi)4mUL<@0s9=&o@XMY#}n8;xgfCczee=y(ZtxM(E{o z$tOvFUd5?!%37c&2^jXi%Lon_6_Qp0w_=!TO!OS978A4w#KI|`w*udY$x-O^(cv_& zLMnzlDXfr-T-N^kqWv+8x#-%l>DK7xnZa#yk|vgvl$>}NJojXIf`OMAW@e}7Hpzn@ zByLyBKl0P2x#?+n#=zc{m~L$uoRbVznguCecKVbrgC2S}zJ)ew@y3%jepkh7A0y2m z@1#IvM3ojmp_8JQs%GiT8H~=Hymybz-Zw~E`@Wammz2l%OU3+qbQY8D*4IS6uCsqS z&cvs8rptFCvx>)VOe4^%(JwhSDa6a^uh05Tldo!O)LFW1^o|Yk%*HKxSNfj$d{B9u z+UBy0S!qIZ@}ZJ(7_ zI7TNn$lE`1MKtT8v)Iy-Q=%#xsg%z7&gasKj{Jf3UZX@u?U~iZ=_1?G&Z73@_?!@5 zCZ;(k{d#C;pUv`;>87#!#tz3F9-tK*V3mSAkvO+;bnHl(y`~EM#40LIu}RcfykTmx z#p||B2S2yPL7uTz-t>75EIDBy1^aL^uJuvVYd-TCsMVuGAnDT*hE3|Bz>X_#A2xEt z*=n{Cir!0}<#iqJfG86NDMXs(Z_ZZ zNQtHGSLBC0Wo41Y7CqXuK=I}M4ddj4{lkV|fIPkg!C8!jhmEQ)^?S<#9?OT%a7y?( zarT?WY{05dE2|4e;!AZ~=?d7))N6AGg~$c~f=PiHvEJir3eg`DL6TZt>z0&497FtW zsP#Y@WTZa~jMR`vC856UZR)KKiQ?pO7^eM&5aL0EVB=p3c4wXT{=i9VHI2>HLAu_q zRcEIYX2|I7ecbwhEpxKhCtWh0N+%EYCx`?kDa1AUe^-&1?@H)iJHAOiA+T+Ggmpcx z5ejee{r5zxU+1cqf*l+svi{0iy`!_w%-qIpD<^sPoXz~AYN9?bSTUG31cq<6_e4jx*rowK9@{V zHk#$8GI^;}c_1-4tYY%qvO1WMF;H~;UR(MaL1)DLKW6ggfxFv|4?6arBt0Er%y+bl zr;C+OhI~WCr~OiS22!Hy%jBOldFgsYHnF7BydKk#43>gD@J)jrr7Zg&C<-quQUywi zb6!e{iy|bcj&|uk75-X7;;*>NV-1plAxE$plH^z+-m9#gua(GfEYQ zSr7r;!huEP956D(e4)oQVw09Pdbp8-y$A&T6SNWime&p8W$fzIiIpCoT~vB(V4##! zllnUQTF{fZj`jH(oMS;~=41!oe{@Eka_8-a^d(4~yT)O0f_JXYdM`r#e?>e}EP05^ z1iPrh@-eoD_&Na#eVD$L5CK{WD~5pxeRr=E=bPic3GK7?lY&iWXv%r1`R(_Hv(=D~ zNphWIkTQ8{9%M>O{~5gK)Kaj!#qe6I6#7{@_mDB)OHe9|m`a6vB-nS@CH`15 zLa|uhDi*#LST2ruO--Df3tCxk#8Wl*sg(-V(WrXl_?opP5?Bp=t=za!#`5->QN|fb zyN|j#zSU)p40(BK$p(Wg(sP~>SIQ)&Rpu*d_`+71ByW+^>Zet$KFcXk-LKW(vsULt zdHdh^L3fl@jO(4qlM|1v6%U4Nm6GbsZAyTl*iq zUKs&a^!l!&wc**FeJtMj^5rew2c=+>UYJd2Ypkz^?-rdx(O8Hn8eJ*SY%STmEtZ}Z zXM}vKbCyCxnpx#MZ|`q!7q}F$l@JRjB}8fkqd(IOvZGymXrzYpu6(CKR^ww0$tZx8 zOgOWWLSQB33Pfn2-?F2r>!g!v3?pxIjYz@f3^e40sUe+x`s}-!#3=@G#bW4Jamc^~mWv|+p(gIL^miEXRLu^MQlUB;_3I7d%J^)j ze1TAAlJQ|TM=^-kke8&E{G~xQ4B`rZsZ+kJhPOeyCOIr1_`(OOR-f(^sP5P5oebj2 z;~FQz1~xoCUh!b6A#nEGTJT^HSM=8t>Cj+>m(E>&Dj&EoS9Khf0oTU&^<{{-gZ_h6;)GHzO zMwAc%7h`sNDwXE*PWM_FCW%3fI z@~Xt-`xTRCmes+8j-%+=)b|TI9mjmeI*vlnaip+f7zjE}^5=Qq{s?0h^Q!l_qe{VM znrQ#0Ci9N=y;4Y1$r{oJm!BA9J-8HeD#c=OQToipXtZG!(Yz+k7)0BD@&e#I?<8j|%p?S6zo);ce2s#q*Qls;3hz;d0}T}RJ0@771o@+z=X9L7-r zPI3YKT-YHdc3@OrX;&OFJ}UINA~eIk;rQl^!f?!8VLXF;kkXB>PuT~Co7NM>EJI0M z=%g-A>>lYhD6aX}kXH#LJ;a#0OJtd-#=#G0lBxHcS$U*yZ!Q9*ooVHHtxM-I@i9FL zEDs|q4lzs$D~2~EISr>$;ChGITnXFL7OLrm`y1Qj{XDay9H=h*%F(l5x1^rFXT8IE zr^-n0Qwl)L+xy-Wz3=_r`=ns!!l1uW#iREvI1i(Qc>umknf*pE=%d0Y% z#_^+Qx#F`}Q~bkHdmc#b$TJlE=Zi(X4 z62JjB7%fq1Y)M2*e4eV#$*VUXL*iuu6V6$X%08@M2M8D; z(0Y*QOsfe(xtb989F@DfgGFb`AG8F`0)*nz?!fOMPc@i4}g z5E0`tWK)c5-@T9Y@}5_{iUWP>eEtT+#}OW*Nx`BEMBk~>^?z3H?I!*IgXs1N_@jI& zM0EQ|qw-@ApC_6qQNo)NB{PTbeA0xDH;8L6x;^gmaRVz7ubt`}JrK3;p(}Or)diXj zx;16Lo^7oXm(c3mXsYp;4>dNr$>S9NWN+VT6@CwSsNaRv5Op0 zO%fQ|@=YaaN#_`N8r(e(3`z%`C@*wEaQinCt$M?#h9vV#BmUJO8Orl`SVM9zCS)VC zU1h))+$%rhN|b_)@${SjPLk#Z)nE+pH0VDK?7_xM0>yBw*r-F9Fiyhcm${L}JTyIr z#av#onExvl2b=<{7)Wa3uInV4nN>mX6s1IB5hedr`PYk|>^9|r7DZ=Kq3FIPzG%7T z{KQ5fzB*f$o$WJ4@h3zKrCat)ndM3dW)pekoka&Cte*EZU$Cy=BYN3`m} zMiDrhuS|S5*%0~%n*&XV-R>lRL(@>L6zrKiy#E-Z8benNc6hSp;|y%xPNLXsAt)2? zVk-^1@-ow*4Qh%-*HSEh4#%(xN2`g`NpQ3znspKd$&K{v`(u><0y>GJTzcz)x#{;~D?j`*d_Gb9NLV(ir3 z3j~tBabC823}7|n+GK8Pkl9foa+84wg|#n1HTi+{_8a6q+TQ5YZ$^Cw$|N{RA%fFz zQf9w=!KKy;;zr~Pu8{zirYoO+EwW#BeFZ^G!FoGCxR5Oqn$#DF8g` z28C>z7tO=?nJ``^jHM7ys*gJ3VgX-6!Wb()-5?jjg(n@93qc%TX*ri?hp#A?4Cw=@ zaq;D&!k{drhL45{ih0I7GCj*xE`^xZ+~P9nE9a*28j`sQEgv^X3A^FHH6&}~kj$mO z6TU1Wo(~FWBjG?cJ{|-vwXRvr>pq_FSWz*HWF{_gtUnh*F4$*Lx7VA6|dHqe)>W z{1$I%jdC$4eUEbF1&$_#ouJhV&lft96l}eOSD1(ke&k&hM7UK2`6&J}Q&3DWYB28` zNgea_2vsGU`Kn5Wcl`Vn&cYKxHJGo07sf)>PAgRH-irGZ3xB_w;iZP$wT7sb;G$M? zE)O`DBHYxFyT(P$%5i2jE1ey6J?QFsdkWY!7{^Wv>q|qQ>)vq>-f?h>2mi~+q-x?p zt|lH>hpXd(c3t8@hHQ)nd&(0=y`y5^#s0mBM?jE51cW!3crj;R0#%=aD-N1b9KR%J zIQ^&KuQ!?!MCv22^LXux5fBAQA>R1@3pc}S)4II|W9E%^{#?Q8-Q}1UX`^fmP;@Re zDHo>RSn&hKrOY{X2R21y_N|B{s|v&>+U#P5Xg2FnBDsw~-~>rw<#F?QboCO~l@vl( zA5XgS?#I-!hIDm(bfM}}bkwDcTwR}TP*>OU@rsDL6w%d{5KUb*ZC96xX6jN1)TKmr zUtJwnmlQ%>UvPD$ID)!rNLSbA7pg8rM_tOu)%Euc>gpPg6cKePqN^(*n!0M*t}YYJ z)TI!pONs2hx_;BuC52GeKP7dI5fIT;4aWH>-2EF1)s>>N2v#os2FZ7NbyW|-iiV06 zjVUPoFrk^IYRU{7A(&}OA<&c(0V4Y0{5K!w>72ji>XU-0k4f@RU41_M)?mK7{*wgO zzK}p{?WrNzRHDg0GDw-XHtwz$F;DTC52!$>i~;Vydo|rVD^pZ%N-CZC+|$N2Ne>WvD#`w7YyK~@W-8q$+1rUo+9zjh~jshds;wyGn4@n{#icxAtaB<7-l zqa3n$Wxs|bKB9;tbMwlh*F|z#(MU?ED87_UXt7BUmMzlZihH8tqEUo9HnVKVCo9To zM`3#?P>TLkQ$D?Fj34ioAgy3@0V%AIM=UIM9AN@9RnsfYj&;siEl&TXku} zrn{N6p06!l0fhsEs}y46J2g#SvMJ8orpIYjPEtxLr;q%pC6QX#XF@(uGb1l;=v7x0 zls!%rlqC#fry;fEFPu1$kgyfGzasw>YP|~;nC*Ta@yY&3A<`Asn`Ic2154ewz+yqG zSU$}&EbrT0cevEH<%<;hLqU!!9!kz*z|&2L0e-c|f^s!&H*WQ@H??iaM1Lrloaaoq z4UHpjte9{HPMJ{MkI75XUdiN{@#2|^dbv{>O-!~_OfD&_`!MPIhL196IR%bX(u#J) zU{hHg47iV==-J#8f{wpmTcHyiRS8swU)kb5++ie~=w%pak)TPzQU-7}cO1BZz0=yc@OY|Zh^I=%PiG8bVe$0UXoz?!g@~sm6NMn2W(e%n!=#F*e*jf* zq!97ca26I%{}2kqQz=9|OGQOh^M(a7!Xet zJ)7I(>B}p0;;Ev0JT<@CNj!ZO1|ptHA>yf{J(T7y8U%=^nRvw0_Ir7_IVP#oa&V+~ zl3L7Zs>6H-?Irv4s{BrERsT(ww_B^L?y?I`#&MJSw z1uC{WYe<%coK=3vA&axhH6({7I28N25IvvGsv!wEEKEOZkfGB&$dz;PLtSzy#0lT8 zW-jyXE-O9>3dKJxwdWh&o?<_whVoStbVCJ0l}gZ$D=(}uhk0Y95RLiPf*Ygw zG)D2gG2cs#86)4%{!tC)EipDlOB9TjD79T{$>H7-DMU+txZsv3J}psvZ^=)+C7$rB z!TjL0u_;=jV6;T3(Tl>td@`gxjkMeV60`RlJ*^;>JEVdw5wHjcqFSvcTI6bi^oLaL z?r0H_Ar4*(nw>dN{DXvi;P;THnmGGGQ%mAbjL+E2nJpOB8)6z(3D_C32-q)>GY9E7 z&&XxOf6ntf618j;jzY3L&(r&!by{2g(1&&@tQcnh5T#$C=XW^YqxGC<&h;q#a;?|5 z2IfzAMMU@p=ip}th8A7a$YOyr{SPOHjvrDI)RV-*d}gl`a#B|`Y1)X?_l z`-$*$fh4>i;E<1vGbYM5(`5FE^7hZFi1QpZU3Oy?rdRA&2 z(L>LVcRlx3hn{orV$GJ(83xu_aBIIoyivl&z{n5KDZ^L>Bb$^Rm9s zE_K2iN7|frO{7UD(HXn#H{n#KgbE|dR#(boc%dpKLq09(z`l;VbHqxqicOkP-_ z7DG(U;qIzMKD$$x)11^j0)xMqX}U>eTfa!a!eNTwq15QsQdlv3uYl2CF10od@T>Lu zTpj(zgR}&PZvn=vG=nh*dy~YDg#?FrqUC=%aVf-R-<@uti(_(7L;ClFZg2~zhq@$Q3|-TbV&14xdW1ifk}CGseOiBg%VV@s<`S?< zdr2}}qP*Z3tyC^^DkG`QZ%8fa?7y`&TQD{ktZ{A<90K6$bDLt$P(wbolCf|V1rquhHM6jwts*$PQbBMN~=R0JUA)yO{j-S(`F zU%ED=VDAONp=-I-&aCDNPfB01GBEkDbxsLKheV%8}v{^ z`i6_iXnIfx^q|avm`@MwkJ+eA&-j(=Knk(D_Vug-`B2B@<1<|!>UfsC^52;DXzVk} zf;}T;fzgSs-*fE{X-4E5L6^?9wq-}Dar_w1ce8?u-Twa_QxL^k?VL!};E#q?OeSjL zXD97{TZzyA!G^>yEAL6pZ#eP$sS(nbuN$Tb2Gx9m937Jy(!{B>(URMfn zU*nhB90{}SZ%HX#@7gsNQo=Mr344lm-y>7j?w|;}bw8`|*nUQ9iwuw4U3OTRU`T^} zuBCXVI6n??1zzDuHF>f&XnrpxKffa#C~z{Y;7Cg7iO%myiQgecNF6B)+J3hvF^xuw zw${-|9wKH!YjO$`4X04lM>^`2f=YZfQ<+mJ1WqA^6~jQx=M?RG?R!(SXis+qDZ~_Q zg|>(hH@9bOI5kEw7)%s{p%sY?!z8L{0ud5*zjP1`I(v@0e?9`CSeZ#7wkrnV zKci-!kvwg4VrCyxu$nycgb=jwVFkxx-4Iz2slr`w|j_Vc(;425(DorZ+Ge9*-jQW0fU zsuB=4$m*;!qUG~w$H-5~e^n4-hT@RlDR6B5tRR`}X##@9*DBfhlRBF0x}zwD)i+4WTsm|D}#?l8iE zu|Bq!6oV5>ig99%(cppYzmCydaru6t;u1i}g+9l)_3=B!A#cuEE@h& z<5)Rz4aqc@Cj6E`GPh{*pf7|6DL($HoP77^<%ZwKgA|8&t~jJ^kuKqw2i0WRs}HdX z%_(qp)4$*Q-UeB}YY>7#6CKOZ98uBwNtT}CwAvtZqX*YlCB%h54Z;wbK zH-~kqD*wj0vT@D+OGMV%rDI3rTIAiLwfbCDeo-S-@gmiP9HiB^I^M2i?_^8ZsL>4_xb&a;T1wv#z6UZ z#jvkE-ld}TKWX?56MYfc`TU{e_WSvspL`{GW$~Hh1FyPsc5G_$veDZ{FPs>iktH?X zOCCN_n9A8_`FF+evC@S2uJY2hfNqfa%h;5B-YEmi_PGL|GPkj1pH@~Hs0|u?HU_ns zVC}z@Eoobjj~&`M%tW|h+tlXP#5!+(`y&EVu9Vv!lSWzGA3jRNlS!WZyJDCm4ZiS6 z(}^!cwC&B)xkEN=pb_JfvQx2TbW>}FXKHmJAqv*cBmc%@5uZ!S-uY|6r${b+b=vw^ zyPdqzOiYi{=#p-E(d=GRrK!d)M+rEpX*WQ8c0 z;i!gDA8fy3EWTg;uu;TV^H0|r7Rl|?@}`!2s9rZN-_d>Ha&<2o66sDeti&G64`5+w+l@=W2h)^d*ac3hvM(%KxY+ zRd&TuWLl>v#1cr8qegl|G4Cx|Qy&ee!z=!UmzQ*`(}$OL{J7e}9sQW(0mq1V14+E4 z*7AH&q_giWtvlCEw{DHF44RDWausofc)Yc$7j6604E?@FlbMpDt?Y-kq%}D^edqdF z$#mA3vW8bomhh;thv9y*o}6evJR>2VS0VQAmy1mS(k~lt%FW|U$BJ$wqc(i3=!V@H z2K!^XoC(h;;mBy=bVnOpSC2hZeoZ|VB*F~D*}*7~qQ?%@@UlWycqWI9@GEL~Sq&*X zi`+)|qiT3bi6}gK(*a*ZgtDc+@BCPyAw#RFfp9^KsH6j!0ql5eQ{4N6bxE{%v?ydh zK|fm1+4M)-rx|V0V$8%k&s(|n@^X}#nVp{7qYB~iq2=T{_i?7!O6oO<)a!&40r?!) zEULM`s0`IGnJpFfdO^iQnYZC@Q3zADtiB!-38V(>6k0W9-XF8GNmgfXnSuS=XmGgoqe{CZ@Ohd zGPnc7#|tMq+e!9u3hW z_+jid<6_5aB z*g`?u4U`x&&v*c~-1<~TJ|DUxF)C*YCEQ6B7Y_?!jZzdcWEjlx_d zqqQP9PIgZcsI&L&)1&IujAJDvxn6wig&|Udc8V=+#g=15DhxZ4@cDgj_>>fq)5FE# zZm78Q5&A{}!pF>>=3@}S$7nhAg^xv!VIF}`5*oyulY|D7B%1qx3;co*xP&7$hb(_! za07yDfWRCCcp|LjHrmH^^uq+wl5VSa@JIZ()%{|;c zRKnurl!SYVh`E1K<(sv+bvF&58=3q%vnKrKWzq7W=zh!>6X^o+{jzB*O1&Xl^)3xNMYi!*VQwuDn1i^zGCtiQB(6 zP3&kFv8aT@yNC}Tb+{rHm2iH(^dq6!oK@`{U!GUA9LrF1jwSgel*tnzDZ2ysrBN>Q zU$W;c4MzG$@JAc`xkmxia zMh5dVA;!WSiN0X1$Sv^eC<0{t6<{v<25{OnQ3xjo1hPM5e+$Rm8+M2dy_V);Y{EAC?944%BWr+7YnGra!m--nIv zBBt4mVWsnk;p=@m_5@*oI-Vec?UQu%eI-zbm8L#5lZGW|5Q(92u+YF$e`-SPXvfps zQXg<+E3n*83{E0;q>M^9Pr8^)=6j{gIq9NwxAsUr8GGBe5h61l_MolQYoE+eF&Vc>K%jR;TEJRfK{MIb;# zC+zdzeU-3(D{@HsL2vt|^XM8E{F4$BrnD%)@Ld5;omyPN6d(^URO+FYj{I{~&%&N> zi&pd61E=w9c+Idq6S+5MTb!a3g5gH4) zuF&{FChI%PC9EfQdM@FKLXRZt6GbRLi+h3!)jyZ8(uCegklX9BORw=LcTQ^AIl^Jz z)a=s|hkF`NFh)|C!B$f9W zQZBpHm3?l)Jy&pjNV#~ol?^op7pN^w%D&o_SWMVTIIQ1_b82Ma;J4=|NYa>?Zy5zV#>n4Be43MTT69fjwZSil!q>QWLm!_e}mNg_d_*a-+0 zg-91jJ6IrHAR_rO+DXG6kRNR%@X8=v#ANuRQwItw?y62NOgg==(COTKIt2-xg5)|) zNYUWSL#M!_Q{aiY=+xi~otBcIcp5&_q|=z3MBHrpEo!q+d1ba%B*Fx1Q?oh9^ z@P&R$5m~)4kh~x@rL$DdGDm2)o>L;Q>LSQJFSjXX&?VfH1rF;z*Wd$+_2Q*WUsWgFlSp(Ong&Fv`)w|Z(S$4<*q3beITo5Wuu$Dy+&t- z3Hp(Oj+Q=>(VI03OU8C^j<0YE%>v|vPpIW;)GY9;5>diPw4=~$*;t>!z0ahrhqCaf zhQQh`M$n6eE&1Aur7grvqS5D#;*R!rV-;D#tw?SD+t5=Jm%i@x<(Bjhs;+iw!R-@jla05yVg=k@UhxD zTs~uIy^^TzKt)s^kV#$2l&oNW7itNC9~~3F%Y+?kpv#0E`BC)$Z@H1}PszoIM2%OI zy2e|b!ETtC+9bQ{QKGT++^(HZk zjt?1j?}mj8j)qJAJd4@f@xfth2prZvfm7I`Bz%ql;SB#}@_k9(5eWJx^AA^xV2mh8zvNMN=B%^y zTDkr}8!Isjc_o6cPxdv0+`-1qFMwAj>O?o1ZNPb$&{6d7Bm-&PtU6@!Om%?s z2RDw+v<7vKGAP0fPPfEUT5|n#iPg`_pBv}o9r88VVQy@HF5l!!ArLc zUOPS48l3g^4BFw@!Q17W#^C1hne7v!cMgiXY!y$NQ7Xyy*CealAo?NWf_@IQ<_-*Z zS4Q*VG@P9^?8zbZJ@ffwVJNSf%8WK1H9gW8ekiHvuiEdGv(!251O};DFxa|53d5*# z>%|e6@^N^eR0mcglM%>YYS~p z>w^@X)){(9t(I}>Yuf7AX?=`ib^1puj#{NYi!W-ab!v;XPS8c;=9R|nj`-89Dkb_Tb%DzWT#jYt@{WeqT zxDSa}BGgGB;&aE{MkF;(xN<{*U$lv!c z$Pbd=wl84p6NH=qp(4uZ zB=Y~XztK<{Vgh<`Aiy}BzEhdn+f|pPiZe!1C2PB(C_66FGff&7((-+Z?>*#a`i=fv z@)f(w|F47le_r*f!Z&G4G$&Gz67t zcta>Y+4f@c6V&vl0x0k-}H63$Ks4M?%SXQyQ=JXHeViSG$MW@>8`$R+Xp_HQ;x#C@t4 z>6<|)_Wn$ZP>ki%m?eTljcS<{z~QqVa6IZ6 zPBw7oguP;BQrXa#OYIr2X`M~cu{X^PCxBAV>Td31EZ3)tV74`d9;R*zy>o)8-mBXB za`m?*#qV9N?&|)K!Dx{2^xnv@YMnFTEfMh{GpV#^^8}~T2Za~W?4a->v!a1MoEj)a zs3DubNsiu@X)|-ax%tJ~;l^UEy|l0}-&$lq*F|?ol6XOq*=Zt~wO`Kn>R_tBG*kK9 z3J@F*I)EfavnIqEG@%2fChX(c;qZGrdnVw{2m{g-7<@uyC_TF(CGrkJJqa?DW*|d- z3w=LhCS2}tq}G_4&eNS7+%xe{CyS?Ul&&#S7JU2y3*SX-IGIUv!qg0tI@Tp}b$LI? zRGrm2d*fU-WXEE2!D4eF2YEd#J{K)kWhc!BEV}@iZAc*dMyoHmoz5K71K{j~LadrY zpI@*tZE{g~KTw-9wG}3&byAEn3qhF$k;j|=pQAFV9ny6Pib7L^LJErhhGIhHBzZqr zsCw%_dr}H6Zs9wFPruV91-3_(POAOjIovB!hen_rP?Mg^RE@edp> zor)`T5^R)ASj6^Mi6o zL{`!|YXsYl*nqEr3DGwODg=~7MZAHR&cXwdiI|P0x$^!+n6-|zKktb~$jSTE{@nvg zRy$1HCOswZ%bKz!)EQn{LVa~;%9R&{PYtuC%;6Y@&~rtA>zv-WTRtj^-zVg-Ouk4V zPBB<%&a5@QpIQSPa&qLjpuowZQBK&?j-P3h>Gr7y*VXn z7;j8Mv_%N^(zZni1jnz>i-P9~Rwg+}NDdN`XGm$JTha0wBH-*`035eX;F(Y4f_S>} zR28K87w8eC@0=>TWGs$?LuDAkzH(zY!JOwPfx1>>st2+uW_5(IMWMwEXi;eS-jkt# zo|mYroa^_KJt4y?4P*#i%* zIGM}jgmD@C)-}Py?GDYr9gjE^G&>~RSu4VhS1aM7k`yfgJRczd z&$J`Ko85DIJ}oi3Hw*xGCR1|)42#y+vrLVEKx}lN6dSYsF;$&DOCjzS8cYH27D+w9 zzM-luvN0PR20(CVKfK0pye*24;riX@CHS@^3myLsZihD)FUfiRWyVArBp2H^Qg6*s zu?wjF9h^`0DOo*S^^sUC$x)4fG1Ukkj&~X9<>oo5d*^VRGeZ-FB0?L#@)6zWJhaW&VXpow~qLk6IJ~!Y+M|D_*4^>ha~HsURk>!UE13f(%Y<} zP8}ooZChn!BCaZ2-;$%^8f{stnrj@YjW%ZITZeCC7n`n7Ow?ozaB)gjD(2->i@C*i zZGN&QC*>{8>R%S*WDi@xnqC}m3BCT|w!xr4I^)*>N2}^D@`F?Xk z_|@hGrB(Bt{Izb%@3Qf9XfxvNIDkJ+Pst`J>_s>rp9;?fmR~N6%jyl>8^(h>9 za-cQ8G&kY%$b$K+ox)@v3dOpU8D`dT77Lu?s(%`VH#mhi6%<%|$~U*2fs4sXZg3+t zujD;ut&M_8oSd>2jor7iQu<$kB74~k<+{Eo7&zy0lcVhHgA%T_Qjrcg@WDR7_9?Wf zzU08KEr7i;8?=#9O!)y!MQF^v!W{i7&Mspp4{4p~elyK-vn3Cf?{z^kqTzD)DP%Fe zJCYp5^2}mfS zNRq7ZVAZjNWQvqzsgRwVB42k!L2OdOq=%?r z7^Xr=6Nr;j;Tx`kJR}u95L9TsRvv;DB_#8IWcu@7EgT6&6iJc~9xQiBNTx_h*0URP zs_q%_F-okjH$ma~O;nN;kcX5-d_)EHBI~ifi82C&cqKq`K@2hiQeN$1;K|2dDFc#@ zBK;oFslSD=GGiH)hcr3+l+jx5oYx)NTYN`hZdIbv9TD>ridt4DkDi2l{r&B-qITTaN@R~w=)mg4jh|wkT;Fn60J4KWvV;z;EwMug8=&>)0 zTO|U{$&xx{Y9oZ^N{E0%Y3kWVD2Wr*%hN~|VuRyeF1UQ5a-rca=Yw|%$;>5j@e_a* zhOts5d0DAamDax8_Y7y)pyyOUGT&j;IL{zuNUA!SsJR#X>`bCgucdame7l7tqule2 zWH2NX0TrLui6cY3sux>qkGxM#V39;2@HM3XMCQ_!zSd0Zi=#hqCzA&owV=OV#p~x} zRRyrq1S1$xNlKX(+O{_YC%YmVF|B`u@l6q=@@fc7gcE`f>BB_2*p(5emDuhZaHeHQ&kAS6qY5iV# z(eITP5QF-C=SdpEH_Csfb)`fK@uUCd0YDzoX0zR@s04uKPtuaty>gy*wp8R{&h%0` zBm_$5mx5mV&0yKy(5bfuM^OaEbVcx828Ph*-il+Mm!gEDMi)6@W=Hgg8IvT9NR#q| zh!QbK7gQ8>4JM4Rgk^S$RDq!vHI-^pFG#2ei=EYtIjPdNq`2!HOx2bZUgPCqq;1kM z>lxsfichggW!)lj5DX3*esQ;VK3*%xvs%doNrjD&9rMliuV3cJ5V`EM@m(0$_r zvBO%Fu}p;^y;so*RQR;Hn)$Rs;L{OepifI_RqEtpqO7hL)0~gHOUr|;F2U!GYNCE) zTJnq21unR#5~7f!gnU8ecg)uLcVWgdLi&{MUW24n6aBR8V_5i<(%&Ek!C;1!nY=jRciD!J%6O)_3e4hOX5LYMt~x{5}*!}51F1rLW87dpj zRP5LUuNE-;#M-c@VpSCZgS%qE|8Reh2U{*hxR07}N3%T{C($}en^8<@GeP1j`%k&i z;yB<>q3{z-{@+4x=3yW`&6BjIf9;1wlp;J3Lh-w+r)&KlUoitW$q%}wB*G|ObYsh%PJ36(t_>9QP!%y6UjES8HEz!216x;+3?g6 zGg~pEC?S2mx!xd|Q4H`E#lOrsy)bZkp>xW7rGzAE(OLI?>`$=$~cWuCjTeoT<@kxABA>7K3gCO zIoCR5Iwh?O@*;txA+Iq=nkROs&c*qmbm3rIU9-4#dU5KyxN{~9FDk5T@-|_88g7KM z)+lxIY51ndKi^!O^&dss;nZIvV$;?EEj7!fLMM#=im}@?JJW(l33;Uu!_9XaWE!ozs`IyZt%&%nTB%*_ zqFp1@=w9vTV(ImkBTA!QrC?iytqo=QmnMB~>K(zA_X=91jIYxkW}TIW2Oe`6b? zMA}hu;yo65y~(tyU)s@;HI9WPy@;LB{8VmHBofI(8fku4iIkbgt@2xN4@F`SQ6#o( zA((uD>{ z;6F22@`JXGWrXx4f_EEa(FIGImjwMyIBRx=z?+mS5Saz?_1CIlC76Mf{R}sQJfx=m zpvlx-*pH)#VzG}yvH0=I(}q@d|b2 z8iCoSj9?#0CjMRk0Z$)H;;V@PmJF>=g2R-AuCp#oFRn z+e@q}!lR{F8Az0zq>*7D=p9^(^(__6b4qIq&nX8D;eP2YUb@RkQOKo_eaW;8oX9Vg z6R%UN7ejdGNwS@2X=ZWE&UehWPn<62t}Knqf>|=qgi|E{gyACv!`t%Li6O(X+Bdo( zS!Z&7>%R&?|5cGabF~PTPKL8U$4DE&vgj_1bYv>tr;)f%`YNN6e0|~B>)BWq0`icS zIliTe4i1A^l|Tu}N6bcu9c!rkm{}}t(VW_=j+Y(F2=M{`h`BD@h`Y0a<;Ld9GV%r^P1I{_FxjfiNhCVA*puwJ;nNSHa zOe-P(?C)&XOt(B*04yQB-gTBimY$pqXo|%yHl^=Fw_&*_i_etAe>s@V^f9w31U{pL zfJkQhc~icpU`^6+c}QvaGlLQ0j{Ophd=Gb9qhKeH?};4oRJ~lE7|a#wtc!u zL%w$cpSd_6opwY)*x(cFiF<%tA3A}UK5E;&>}*1&X5VpjNDdz zB;QDAx2qeK7dw-y0+TBWCL{Ul#Do!0g@~4A!wHTtRG=5Hvj)x6*VN;EQ?Oh|yEHo& zw_QBln@}Fop)gkkgWZ$mPgMae%j1<0W403VBI$J|u`Er|kk;)>Nb*5+f4M;(?OFM$ zD)tGGt;*ic zy!eDDZ7X5tN~4994_zbsJKj8#mOR-;nR5B=62_~AaotVb?I02I4FXB?jX7j@qeRHx z5J;MDk3lkmR5?l(z|Z-7-bUKPWhLTQ>@HzkuN-cNoDnG~e272b>?T zlkuh3>+2W!>$l76tY=hpo_7ccfx-H#4Qon-*dPzGR4`C9o~T*Dh+aivGzu58JXV0&+s zuvy(pu^0vwi_|7zbqgDbd(1Xr$s3dm&8=j3Pm6S~hXUWT9jM0ouQ<(cHjgPjP0 zaqd%P2IrWWeoE+kCqz+$e*cGNmF4EYq_AB=QqjN??}+vb`yjf~j>jQzPj5)Cj_AsR zZzEK#jlzR?^rQQBUpyXzLMZ|60=M?PMexPR3sd7hDu{H94uoN zrW&twsK&$QJp~(re|(+Tkann)(XJFzQUh6ZQHa=tK;RN@F@HZtxs}kTL>{ zFxBlj-5s|oT4!^nXW>57QRN{O+dgE89 zkCGGb(eiyJkmS{BmsmwUu>L_?(hY_drTJ6UR~SVTj`qJJi=OxKdQ=cP9OpoYGWgCFlv z^I&Z4epT}@5)uH{cmR}#bR^EhN}^u?tg1j~$|*^@tdbMz)BsC8WoUFBv3$n%X4G2^5RMt323Eu(XL`d7B((Q0|jw zD+j8Y%3)Vf^1CKi>N`cAtvI(j&fWsY^K6B=*BTz*(^spqc~7XrDWN3ZY=0On{G$Q6P>E)VPE{KvwZ^C@JN|78ui)?Hd2 z(wP2)30kaxw8!ULULaO1HdHGX6$#`ISXPiK2{XnMdVZ{gPo%GO%X*P>rC^EQuN=~% z+p%T6%(19WW?0r+RMtqC@*}-vg%Or-*5n|@nYp@`LQ3eX1sdf~F=**AAtx!kMI0q7 zxBJ?>Qeq)O9&Fz(e9tjTYxs4o92c0qPK=0Xr69hE$V_Zrq7ZnAG5{jQyjW+?y``tK z6ZY1*kH|v`d*`W`C(@Kz*i(`?xRUg+cfM)fC+sN>Ihf)Q(`d+mV+~o7eOYM8XBpWd z?3Iw$g+_d)LG}%Mip7>~6=8dUZ6fmauXO{_jqPjRR&D9*lM z7sK(Wr!Z6(6vnFy7aQHs!h8`MU*l`=HKXJw`2IXElByga09tv9-+`Wn*lbs}A!0ia*ougoEl z`1T8kHU_!IP9!@ehY@N$7r1oJO2>1>BhixZcL>QavR{bsY-o{(b=ydg;CZDA@BVen z6VCqk%klS_PLf3==&rN@YctWqw~k?VN+op!d~He`oG z%JKuzK#>GB9E!Ho=J@A&ewG^d0?83)jTZOLv}*_hjGlxhSGr`#hh$@($lG3!t9rN@ z2+~2ibimrKxr1}_hvsSr4{?TTt=?+b@o9RO&~@w`zs0VTX=I0|UE4Zf0;U^fYVt>o zFf8{J$(1sq)8zDlCHZEM^UgMindI6cIcbfnj^yYwIWJ8&vs_i%Hxy(V+PA(YXQu5N zB0nG6H&WZ&n5@g%Dp>xbY;Wh-x4T|2a%EBh)*;_NZszk#i?WsG1i6&&QCOE0yB<^b{dBo z(+8%wP`;)RG_{;kr&j@yVaSV;P}&%5$D9q@e&LzvgAHl8YvpXa1sbhBBgfSFfoS0a zf{e6WQ#-4!C@Ri~htbS(D&L|Uc`GOGjc}(>UCzV{q7|B;k%`(~lD;FpaNX#}D`@oYTl^&EEXpp7=ystAp#`d!oWORcPLY`MEWyD-zZ>Z)|sAo@;B z);84^CPp@kgKWh?hI_=iqvsb8?-;uC@}c#$q4BB4?6gQMt}cg!h_&1NI-&36W~NC! z9+EqnhxeL47099gE@EjCRx;SL zK6HWhCgC$Z0WtdfVIJrRLwhbM)aEzMi(A-hQ7#_yV;F}uylk@YAZIfAIe(jsjV zJzUvH*;$Vgf2DoynkE2x$Jfxn0hq~M{@;V#HTnMudyt;GEkV!Xf_af{R1b&ijLc6C zkBp3z?Vg|h!qks^89LLzlWNJn4p zSzzz$lxLm%!KAP7>`flh!KAM+rty3y+c4^9Iw=kxJu43D5=de=<(W>|{yg29Q&3>{ zjZ)Z9P$=(wD-O_9##9g$jZ~9_eT$`<@;B0A`x^=8;2j243nA&|x6vE04SBab*v=eg z7<DQpV%m?;>rCZPOzofuF` zQu(6csaD`%w-xBc>(uady&5fCp@yGWmr_Pf$mS+KAJX{?^Pvdi^P!K)hi}ze@|sU& zx2YA4e(5yf0lqw>uSr@eER}{h0}cnTDm?Qggq5>0)+pHIh`+0+-p zw5;x8$wN9|{B>r-!g)(bj@`%Fhuzw}uY)v=&e?3r9GgBcCsnrgkv&J2_K*A@q7Zyg literal 0 HcmV?d00001 diff --git a/extras/pyterrier-flake8-ext/README.md b/extras/pyterrier-flake8-ext/README.md new file mode 100644 index 00000000..74002601 --- /dev/null +++ b/extras/pyterrier-flake8-ext/README.md @@ -0,0 +1,4 @@ +# flake8 extensions for PyTerrier + +`JavaCheck` applies rules to help ensure that the `@pt.java.required` annotation is applied +where it needs to be. Raises `PT100`. diff --git a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/__init__.py b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/__init__.py new file mode 100644 index 00000000..60e201e5 --- /dev/null +++ b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/__init__.py @@ -0,0 +1,5 @@ +__version__ = '0.0.1' + +from pyterrier_flake8_ext.java_check import JavaCheck + +__all__ = ['JavaCheck'] diff --git a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py new file mode 100644 index 00000000..4a3c97b5 --- /dev/null +++ b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py @@ -0,0 +1,78 @@ +import ast +from typing import Generator, Tuple, Type, Any, List, Optional +import pyterrier_flake8_ext + + +class JavaCheck: + """McCabe cyclomatic complexity checker.""" + name = 'javacheck' + version = pyterrier_flake8_ext.__version__ + _code = 'PT100' + _error_tmpl = "PT100 {} uses java but is not annotated with @pt.java.required" + + def __init__(self, tree: ast.AST): + self.tree = tree + + def run(self) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: + yield from self._run(self.tree) + # with open('deleteme/x.pkl', 'ab') as fout: + # pickle.dump(self.tree, fout) + # print(self.tree) + + def _run(self, node: ast.AST, context: List[str] = []) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: + if isinstance(node, ast.FunctionDef): + if not self._has_java_required(node): + java_usage = self._uses_java(node) + if java_usage: + text = self._error_tmpl.format('.'.join(context + [node.name])) + yield java_usage.lineno, java_usage.col_offset, text, type(self) + + if isinstance(node, ast.FunctionDef): + context = context + [node.name] + + if isinstance(node, ast.ClassDef): + context = context + [node.name] + + # we probably don't need such an extensive list when searching for functions + for attr in ['body', 'value', 'values', 'target', 'targets', 'left', 'right', 'elt', 'elts', 'keys', 'values', 'test', 'orelse', 'generators', 'func', 'args', 'keywords', 'format_spec']: + if hasattr(node, attr): + value = getattr(node, attr) + if value is not None: + if hasattr(value, '__len__'): + for child in value: + yield from self._run(child, context) + else: + yield from self._run(value, context) + + def _has_java_required(self, function: ast.FunctionDef) -> bool: + for decorator in function.decorator_list: + if isinstance(decorator, ast.Name): + if decorator.id == 'required': + return True + elif isinstance(decorator, ast.Attribute): + if decorator.attr == 'required': + return True + return False + + def _uses_java(self, node: ast.AST) -> Optional[ast.AST]: + if isinstance(node, ast.Name): + if node.id in ('java', 'J'): + return node + elif isinstance(node, ast.Attribute): + if node.attr in ('java', 'J'): + return node + + for attr in ['body', 'value', 'values', 'target', 'targets', 'left', 'right', 'elt', 'elts', 'keys', 'values', 'test', 'orelse', 'generators', 'func', 'args', 'keywords', 'format_spec']: + if hasattr(node, attr): + value = getattr(node, attr) + if value is not None: + if hasattr(value, '__len__'): + for child in value: + res = self._uses_java(child) + if res: + return res + else: + res = self._uses_java(value) + if res: + return res + return None diff --git a/extras/pyterrier-flake8-ext/setup.py b/extras/pyterrier-flake8-ext/setup.py new file mode 100644 index 00000000..21c9572b --- /dev/null +++ b/extras/pyterrier-flake8-ext/setup.py @@ -0,0 +1,39 @@ +import os +from setuptools import setup + +def get_version(rel_path): + suffix = os.environ["PYTERRIER_VERSION_SUFFIX" ] if "PYTERRIER_VERSION_SUFFIX" in os.environ else "" + for line in open(rel_path): + if line.startswith('__version__'): + delim = '"' if '"' in line else "'" + return line.split(delim)[1] + suffix + else: + raise RuntimeError("Unable to find version string.") + + +setup( + name="pyterrier-flake8-ext", + version=get_version("pyterrier_flake8_ext/__init__.py"), + author="Sean MacAvaney", + author_email='sean.macavaney@glasgow.ac.uk', + description="Terrier IR platform Python API", + project_urls={ + 'Documentation': 'https://pyterrier.readthedocs.io', + 'Changelog': 'https://github.com/terrier-org/pyterrier/releases', + 'Issue Tracker': 'https://github.com/terrier-org/pyterrier/issues', + 'CI': 'https://github.com/terrier-org/pyterrier/actions', + }, + long_description=open('README.md', 'rt').read(), + long_description_content_type="text/markdown", + url="https://github.com/terrier-org/pyterrier", + packages=['pyterrier_flake8_ext'], + entry_points={ + 'flake8.extension': [ + 'PT100 = pyterrier_flake8_ext:JavaCheck', + ] + }, + install_requires=[ + 'flake8', + ], + python_requires='>=3.8', +) From 0b2704724830d43f0e047b91fe8b4c29721a9f71 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 10:17:46 +0100 Subject: [PATCH 082/153] for ease of reading in gh actions --- .github/workflows/style.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index f077a08c..96231ca8 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -17,7 +17,10 @@ jobs: with: python-version: '3.10' - - name: pt.java.required checks + - name: Install run: | pip install flake8 ./extras/pyterrier-flake8-ext/ - flake8 pyterrier --select=PT --show-source --statistics --count + + - name: pt.java.required checks + run: | + flake8 ./pyterrier --select=PT --show-source --statistics --count From 80f8ab69b04b2da50150849dbe755d9381b7aee0 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 10:23:50 +0100 Subject: [PATCH 083/153] warning for the other case too: annotated but doesn't use java --- .../pyterrier_flake8_ext/java_check.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py index 4a3c97b5..3dcf0fb0 100644 --- a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py +++ b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py @@ -7,25 +7,25 @@ class JavaCheck: """McCabe cyclomatic complexity checker.""" name = 'javacheck' version = pyterrier_flake8_ext.__version__ - _code = 'PT100' - _error_tmpl = "PT100 {} uses java but is not annotated with @pt.java.required" + _missing_anno_tmpl = "PT100 {} uses java but is not annotated with @pt.java.required" + _extra_anno_tmpl = "PT101 {} is annotated with @pt.java.required but doesn't use java" def __init__(self, tree: ast.AST): self.tree = tree def run(self) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: yield from self._run(self.tree) - # with open('deleteme/x.pkl', 'ab') as fout: - # pickle.dump(self.tree, fout) - # print(self.tree) def _run(self, node: ast.AST, context: List[str] = []) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: if isinstance(node, ast.FunctionDef): - if not self._has_java_required(node): - java_usage = self._uses_java(node) - if java_usage: - text = self._error_tmpl.format('.'.join(context + [node.name])) - yield java_usage.lineno, java_usage.col_offset, text, type(self) + java_usage = self._uses_java(node) + has_java_anno = self._has_java_required(node) + if not has_java_anno and java_usage: + text = self._missing_anno_tmpl.format('.'.join(context + [node.name])) + yield java_usage.lineno, java_usage.col_offset, text, type(self) + elif has_java_anno and not java_usage: + text = self._extra_anno_tmpl.format('.'.join(context + [node.name])) + yield node.lineno, node.col_offset, text, type(self) if isinstance(node, ast.FunctionDef): context = context + [node.name] From ed6947eaadea3f9375dcdae84b6b1777f782c937 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 11:56:55 +0100 Subject: [PATCH 084/153] fixed missing pt.java.required decorator and allow decorators on classes --- .../pyterrier_flake8_ext/java_check.py | 61 ++++++-- pyterrier/anserini/java.py | 30 ++-- pyterrier/anserini/retriever.py | 2 +- pyterrier/datasets.py | 15 +- pyterrier/java/_init.py | 131 ++++++++++-------- pyterrier/java/utils.py | 5 +- pyterrier/terrier/index.py | 16 ++- pyterrier/terrier/index_factory.py | 1 + pyterrier/terrier/java.py | 6 +- pyterrier/terrier/retriever.py | 10 +- pyterrier/terrier/rewrite.py | 9 +- pyterrier/terrier/stopwords.py | 4 +- pyterrier/utils.py | 20 ++- 13 files changed, 202 insertions(+), 108 deletions(-) diff --git a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py index 3dcf0fb0..3a35bf58 100644 --- a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py +++ b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py @@ -17,15 +17,33 @@ def run(self) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: yield from self._run(self.tree) def _run(self, node: ast.AST, context: List[str] = []) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: - if isinstance(node, ast.FunctionDef): - java_usage = self._uses_java(node) - has_java_anno = self._has_java_required(node) - if not has_java_anno and java_usage: + if isinstance(node, ast.FunctionDef) or isinstance(node, ast.ClassDef): + has_java_anno, hard_require = self._has_java_required(node) + java_usage = None + if isinstance(node, ast.FunctionDef): + for child in node.body: + java_usage = self._uses_java(child) + if java_usage: break + if isinstance(node, ast.ClassDef): + for child in node.body: + if isinstance(child, ast.FunctionDef): + for child2 in child.body: + java_usage = self._uses_java(child2) + if java_usage: break + else: + java_usage = self._uses_java(child) + if java_usage: break + if not has_java_anno and java_usage and isinstance(node, ast.FunctionDef): text = self._missing_anno_tmpl.format('.'.join(context + [node.name])) yield java_usage.lineno, java_usage.col_offset, text, type(self) - elif has_java_anno and not java_usage: + elif has_java_anno and not java_usage and hard_require: text = self._extra_anno_tmpl.format('.'.join(context + [node.name])) yield node.lineno, node.col_offset, text, type(self) + if has_java_anno and isinstance(node, ast.ClassDef): + # simulate @required annotations on the methods defined by this class + for child in node.body: + if isinstance(child, ast.FunctionDef): + child.decorator_list.append(ast.Name('__required__soft')) if isinstance(node, ast.FunctionDef): context = context + [node.name] @@ -33,7 +51,7 @@ def _run(self, node: ast.AST, context: List[str] = []) -> Generator[Tuple[int, i if isinstance(node, ast.ClassDef): context = context + [node.name] - # we probably don't need such an extensive list when searching for functions + # we probably don't need such an extensive list when searching for functions/classes for attr in ['body', 'value', 'values', 'target', 'targets', 'left', 'right', 'elt', 'elts', 'keys', 'values', 'test', 'orelse', 'generators', 'func', 'args', 'keywords', 'format_spec']: if hasattr(node, attr): value = getattr(node, attr) @@ -44,23 +62,38 @@ def _run(self, node: ast.AST, context: List[str] = []) -> Generator[Tuple[int, i else: yield from self._run(value, context) - def _has_java_required(self, function: ast.FunctionDef) -> bool: + def _has_java_required(self, function: ast.FunctionDef) -> Tuple[bool, bool]: for decorator in function.decorator_list: if isinstance(decorator, ast.Name): - if decorator.id == 'required': - return True + if decorator.id in ('required', 'required_raise'): + return True, True + if decorator.id == '__required__soft': + return True, False elif isinstance(decorator, ast.Attribute): - if decorator.attr == 'required': - return True - return False + if decorator.attr in ('required', 'required_raise'): + return True, True + if decorator.attr == '__required__soft': + return True, False + return False, False def _uses_java(self, node: ast.AST) -> Optional[ast.AST]: if isinstance(node, ast.Name): - if node.id in ('java', 'J'): + if node.id in ('autoclass', 'cast', 'J'): return node elif isinstance(node, ast.Attribute): - if node.attr in ('java', 'J'): + if node.attr in ('autoclass', 'cast', 'J'): + return node + elif isinstance(node, ast.Import): + for name in node.names: + if name.name == 'jnius': + return node + elif isinstance(node, ast.ImportFrom): + if node.module == 'jnius': return node + elif isinstance(node, ast.ClassDef): + return None # break search at class definintions + elif isinstance(node, ast.FunctionDef): + return None # break search at function definintions for attr in ['body', 'value', 'values', 'target', 'targets', 'left', 'right', 'elt', 'elts', 'keys', 'values', 'test', 'orelse', 'generators', 'func', 'args', 'keywords', 'format_spec']: if hasattr(node, attr): diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index c45b3e62..4b5111bf 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -1,4 +1,5 @@ import os +import inspect from glob import glob from typing import Callable, Optional, Union from functools import wraps @@ -68,22 +69,29 @@ def set_version(version: str): def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: """ - Can act as either a standalone function or a function wrapper. Requires pyserini to be installed (raises error if not installed). If the JVM has not yet been started, it runs pt.java.init(), too, similar to pt.java.required(). + + Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it + is applied to all methods defined by the class. """ - if fn is None: + if fn is None: # standalone call return required(pt.utils.noop)() - @wraps(fn) - def _wrapper(*args, **kwargs): - if not is_installed(): - raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') - if not pt.java.started(): - pt.java.init() - return fn(*args, **kwargs) - - return _wrapper + if isinstance(fn, type): # wrapping a class + for name in pt.utils.get_class_methods(fn): + setattr(fn, name, required(getattr(fn, name))) + return fn + + else: # wrapping a function + @wraps(fn) + def _wrapper(*args, **kwargs): + if not is_installed(): + raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') + if not pt.java.started(): + pt.java.init() + return fn(*args, **kwargs) + return _wrapper J = pt.java.JavaClasses({ diff --git a/pyterrier/anserini/retriever.py b/pyterrier/anserini/retriever.py index 557fa5cd..a7b1b3ee 100644 --- a/pyterrier/anserini/retriever.py +++ b/pyterrier/anserini/retriever.py @@ -4,11 +4,11 @@ from pyterrier.anserini.java import required +@required class AnseriniBatchRetrieve(pt.Transformer): """ Allows retrieval from an Anserini index. To use this class, you must first enable anserini using `pt.anserini.enable()`. """ - @required def __init__(self, index_location, k=1000, wmodel="BM25", verbose=False): """ Construct an AnseriniBatchRetrieve retrieve from pyserini.search.lucene.LuceneSearcher. diff --git a/pyterrier/datasets.py b/pyterrier/datasets.py index d6e47265..a1cc242a 100644 --- a/pyterrier/datasets.py +++ b/pyterrier/datasets.py @@ -365,6 +365,14 @@ def info_url(self): return self.locations['info_url'] if "info_url" in self.locations else None +@pt.java.required +def _pt_tokeniser(): + tokeniser = pt.terrier.J.Tokenizer.getTokeniser() + def pt_tokenise(text): + return ' '.join(tokeniser.getTokens(text)) + return pt_tokenise + + class IRDSDataset(Dataset): def __init__(self, irds_id, defer_load=False): self._irds_id = irds_id @@ -447,11 +455,8 @@ def get_topics(self, variant=None, tokenise_query=True): # apply pyterrier tokenisation (otherwise the queries may not play well with batchretrieve) if tokenise_query and 'query' in df: - pt.java.required() # java is required for this path - tokeniser = pt.terrier.J.Tokenizer.getTokeniser() - def pt_tokenise(text): - return ' '.join(tokeniser.getTokens(text)) - df['query'] = df['query'].apply(pt_tokenise) + tokeniser = _pt_tokeniser() + df['query'] = df['query'].apply(tokeniser) return df def get_topics_lang(self): diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 4ebdfe94..86b1a25f 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -1,3 +1,4 @@ +import inspect import os from warnings import warn from functools import wraps @@ -10,6 +11,70 @@ _started = False +def started() -> bool: + """ + Returns True if pt.java.init() has been called. Otherwise False. + """ + return _started + + +def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + Requires the Java Virtual Machine to be started. If the JVM has not yet been started, it runs pt.java.init(). + + Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it + is applied to all methods defined by the class. + """ + if fn is None: # standalone call + return required(pt.utils.noop)() + + if isinstance(fn, type): # wrapping a class + for name in pt.utils.get_class_methods(fn): + setattr(fn, name, required(getattr(fn, name))) + return fn + + else: # wrapping a function + @wraps(fn) + def _wrapper(*args, **kwargs): + if not started(): + init() + return fn(*args, **kwargs) + return _wrapper + + +def required_raise(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + Similar to `pt.java.required`, but raises an error if called before pt.java.init(). + """ + if fn is None: + return required_raise(pt.utils.noop)() + + @wraps(fn) + def _wrapper(*args, **kwargs): + if not started(): + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + return fn(*args, **kwargs) + return _wrapper + + +def before_init(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + If the JVM has already started, an error is raised. + + Can be used as either a standalone function or a function decorator. + """ + if fn is None: + return before_init(pt.utils.noop)() + + @wraps(fn) + def _wrapper(*args, **kwargs): + if started(): + raise RuntimeError(f'You can only call {fn} before either you start using java or call pt.java.init()') + return fn(*args, **kwargs) + return _wrapper + + +@required_raise def _post_init(jnius): pt.autoclass = jnius.autoclass pt.cast = jnius.cast @@ -59,7 +124,7 @@ def init() -> None: for jar in pt.java.configure['jars']: jnius_config.add_classpath(jar) - import jnius + import jnius # noqa: PT100 _started = True pt.java.set_log_level(pt.java.configure['log_level']) @@ -76,62 +141,6 @@ def init() -> None: _post_init(jnius) -def started() -> bool: - """ - Returns True if pt.java.init() has been called. Otherwise False. - """ - return _started - - -def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: - """ - Requires the Java Virtual Machine to be started. If the JVM has not yet been started, it runs pt.java.init(). - - Can be used as either a standalone function or a function decorator. - """ - if fn is None: - return required(pt.utils.noop)() - - @wraps(fn) - def _wrapper(*args, **kwargs): - if not started(): - init() - return fn(*args, **kwargs) - return _wrapper - - -def required_raise(fn: Optional[Callable] = None) -> Union[Callable, bool]: - """ - Similar to `pt.java.required`, but raises an error if called before pt.java.init(). - """ - if fn is None: - return required_raise(pt.utils.noop)() - - @wraps(fn) - def _wrapper(*args, **kwargs): - if not started(): - raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') - return fn(*args, **kwargs) - return _wrapper - - -def before_init(fn: Optional[Callable] = None) -> Union[Callable, bool]: - """ - If the JVM has already started, an error is raised. - - Can be used as either a standalone function or a function decorator. - """ - if fn is None: - return before_init(pt.utils.noop)() - - @wraps(fn) - def _wrapper(*args, **kwargs): - if started(): - raise RuntimeError(f'You can only call {fn} before either you start using java or call pt.java.init()') - return fn(*args, **kwargs) - return _wrapper - - def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: if started: if not pt.java.started(): @@ -154,8 +163,8 @@ def autoclass(*args, **kwargs): """ Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. """ - import jnius - return jnius.autoclass(*args, **kwargs) + import jnius # noqa: PT100 + return jnius.autoclass(*args, **kwargs) # noqa: PT100 @required_raise @@ -163,8 +172,8 @@ def cast(*args, **kwargs): """ Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. """ - import jnius - return jnius.cast(*args, **kwargs) + import jnius # noqa: PT100 + return jnius.cast(*args, **kwargs) # noqa: PT100 @before_init diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 3cfd9b37..4e993d03 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -1,5 +1,5 @@ import pyterrier as pt -from pyterrier.java import required_raise, before_init, started, configure, mavenresolver +from pyterrier.java import required_raise, required, before_init, started, configure, mavenresolver from typing import Dict, Optional @@ -12,6 +12,7 @@ def _is_binary(f): return isinstance(f, (io.RawIOBase, io.BufferedIOBase)) +@required def redirect_stdouterr(): from jnius import autoclass, PythonJavaClass, java_method @@ -119,7 +120,7 @@ def set_log_level(level): if not started(): configure['log_level'] = level else: - J.PTUtils.setLogLevel(level, None) + J.PTUtils.setLogLevel(level, None) # noqa: PT100 handled by started() check above class JavaClasses: diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index 7aaac2e9..f17ac849 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -44,6 +44,7 @@ def _java_post_init(jnius): global TQDMCollection global TQDMSizeCollection + @pt.java.required class DocListIterator(jnius.PythonJavaClass): __javainterfaces__ = [ 'java/util/Iterator', @@ -93,7 +94,7 @@ def next(self): self.lastdoc = self.pyDictToMapEntry(doc_dict) return self.lastdoc - + @pt.java.required class TQDMCollection(jnius.PythonJavaClass): __javainterfaces__ = ['org/terrier/indexing/Collection'] @@ -174,6 +175,7 @@ def next(self): lastdoc = [text, meta] return lastdoc + @pt.java.required class FlatJSONDocumentIterator(jnius.PythonJavaClass): __javainterfaces__ = ['java/util/Iterator'] @@ -271,7 +273,7 @@ def createCollection(files_path : List[str], coll_type : str = 'trec', props = { [asList, pt.terrier.J.TagSet.TREC_DOC_TAGS, "", ""]) return colObj -@pt.java.required + def treccollection2textgen( files : List[str], meta : List[str] = ["docno"], @@ -407,6 +409,7 @@ class IndexingType(Enum): MEMORY = 3 #: An in-memory index. No persistent index is created. +@pt.java.required class TerrierIndexer: """ This is the super class for all of the Terrier-based indexers exposed by PyTerrier. It hosts common configuration @@ -422,7 +425,6 @@ class TerrierIndexer: "trec.collection.class": "TRECCollection", } - @pt.java.required def __init__(self, index_path : str, *args, blocks : bool = False, overwrite: bool = False, @@ -632,6 +634,10 @@ def get_column_lengths(df): @pt.java.required @staticmethod def create_javaDocIterator(text, *args, **kwargs): + HashMap = pt.java.J.HashMap + TaggedDocument = pt.terrier.J.TaggedDocument + StringReader = pt.java.J.StringReader + tokeniser = pt.terrier.J.Tokeniser.getTokeniser() all_metadata = {} for i, arg in enumerate(args): @@ -661,12 +667,12 @@ def create_javaDocIterator(text, *args, **kwargs): def convertDoc(text_row, meta_column): if text_row is None: text_row = "" - hashmap = pt.java.J.HashMap() + hashmap = HashMap() for column, value in meta_column[1].items(): if value is None: value = "" hashmap.put(column, value) - return pt.terrier.J.TaggedDocument(pt.java.J.StringReader(text_row), hashmap, pt.terrier.J.Tokeniser.getTokeniser()) + return TaggedDocument(StringReader(text_row), hashmap, tokeniser) df = pd.DataFrame.from_dict(all_metadata, orient="columns") lengths = DFIndexUtils.get_column_lengths(df) diff --git a/pyterrier/terrier/index_factory.py b/pyterrier/terrier/index_factory.py index b21b3469..ad1d1dbc 100644 --- a/pyterrier/terrier/index_factory.py +++ b/pyterrier/terrier/index_factory.py @@ -2,6 +2,7 @@ import pyterrier as pt +@pt.java.required class IndexFactory: """ The ``of()`` method of this factory class allows to load a Terrier `Index `_. diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 6adbe4b1..aaf89e36 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -68,6 +68,7 @@ def _pre_init(jnius_config): pt.java.add_package(TERRIER_PKG, "terrier-python-helper", helper_version) +@pt.java.required_raise def _post_init(jnius): global _properties @@ -135,6 +136,7 @@ def _new_indexref(s): return pt.IndexRef.of(s) +@pt.java.required def _new_wmodel(b): return J.Serialization.deserialize(b, J.ApplicationSetup.getClass("org.terrier.matching.models.WeightingModel")) @@ -180,6 +182,7 @@ def _index_ref_reduce(self): # handles the pickling of WeightingModel classes, which are themselves usually Serializable in Java +@pt.java.required def _wmodel_reduce(self): serialized = bytes(J.Serialization.serialize(self)) return ( @@ -202,6 +205,7 @@ def _callable_wmodel_reduce(self): ) +@pt.java.required def _index_add(self, other): fields_1 = self.getCollectionStatistics().getNumberOfFields() fields_2 = self.getCollectionStatistics().getNumberOfFields() @@ -330,7 +334,6 @@ def version(): return J.Version.VERSION -@pt.java.required def check_version(min): """ Returns True iff the underlying Terrier version is no older than the requested version. @@ -343,7 +346,6 @@ def check_version(min): return current_ver >= min -@pt.java.required def check_helper_version(min): """ Returns True iff the underlying Terrier helper version is no older than the requested version. diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 7927654d..51351c23 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -16,9 +16,11 @@ def _matchop(query): return True return False +@pt.java.required def _function2wmodel(function): from jnius import PythonJavaClass, java_method + @pt.java.required class PythonWmodelFunction(PythonJavaClass): __javainterfaces__ = ['org/terrier/python/CallableWeightingModel$Callback'] @@ -51,6 +53,7 @@ def _mergeDicts(defaults, settings): KV.update(settings) return KV +@pt.java.required def _parse_index_like(index_location): JIR = pt.java.autoclass('org.terrier.querying.IndexRef') JI = pt.java.autoclass('org.terrier.structures.Index') @@ -79,7 +82,6 @@ class BatchRetrieveBase(pt.Transformer, Symbol): Attributes: verbose(bool): If True transform method will display progress """ - @pt.java.required def __init__(self, verbose=0, **kwargs): super().__init__(kwargs) self.verbose = verbose @@ -113,6 +115,7 @@ def _from_dataset(dataset : Union[str,Dataset], kwargs = args return clz(indexref, **kwargs) +@pt.java.required class BatchRetrieve(BatchRetrieveBase): """ Use this class for retrieval by Terrier @@ -454,7 +457,7 @@ def setControl(self, control, value): self.controls[str(control)] = str(value) - +@pt.java.required class TextIndexProcessor(pt.Transformer): ''' Creates a new MemoryIndex based on the contents of documents passed to it. @@ -533,6 +536,7 @@ def transform(self, topics_and_res): raise ValueError("returns attribute should be docs of queries") return inner_res + class TextScorer(TextIndexProcessor): """ A re-ranker class, which takes the queries and the contents of documents, indexes the contents of the documents using a MemoryIndex, and performs ranking of those documents with respect to the queries. @@ -574,6 +578,8 @@ class TextScorer(TextIndexProcessor): def __init__(self, takes="docs", **kwargs): super().__init__(BatchRetrieve, takes=takes, **kwargs) + +@pt.java.required class FeaturesBatchRetrieve(BatchRetrieve): """ Use this class for retrieval with multiple features diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index 2c60f35d..02601008 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -24,6 +24,7 @@ def _check_terrier_prf(): break assert _terrier_prf_package_loaded, _terrier_prf_message +@pt.java.required def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', matchop=False) -> pt.Transformer: """ @@ -100,6 +101,7 @@ def reset() -> pt.Transformer: """ return pt.apply.generic(lambda topics: pt.model.pop_queries(topics)) +@pt.java.required class SDM(pt.Transformer): ''' Implements the sequential dependence model, which Terrier supports using its @@ -110,7 +112,6 @@ class SDM(pt.Transformer): The original query is saved in the `"query_0"` column, which can be restored using `pt.rewrite.reset()`. ''' - @pt.java.required def __init__(self, verbose = 0, remove_stopwords = True, prox_model = None, **kwargs): super().__init__(**kwargs) self.verbose = 0 @@ -174,7 +175,8 @@ class SequentialDependence(SDM): The original query is saved in the `"query_0"` column, which can be restored using `pt.rewrite.reset()`. ''' pass - + +@pt.java.required class QueryExpansion(pt.Transformer): ''' A base class for applying different types of query expansion using Terrier's classes. @@ -187,7 +189,6 @@ class QueryExpansion(pt.Transformer): ''' - @pt.java.required def __init__(self, index_like, fb_terms=10, fb_docs=3, qeclass="org.terrier.querying.QueryExpansion", verbose=0, properties={}, **kwargs): super().__init__(**kwargs) self.verbose = verbose @@ -367,6 +368,7 @@ def __init__(self, *args, **kwargs): kwargs["qemodel"] = "KL" super().__init__(*args, **kwargs) +@pt.java.required class RM3(QueryExpansion): ''' Performs query expansion using RM3 relevance models. RM3 relies on an external Terrier plugin, @@ -424,6 +426,7 @@ def transform(self, queries_and_docs): self.qe.fbDocs = self.fb_docs return super().transform(queries_and_docs) +@pt.java.required class AxiomaticQE(QueryExpansion): ''' Performs query expansion using axiomatic query expansion. This class relies on an external Terrier plugin, diff --git a/pyterrier/terrier/stopwords.py b/pyterrier/terrier/stopwords.py index 0934f552..eddb519e 100644 --- a/pyterrier/terrier/stopwords.py +++ b/pyterrier/terrier/stopwords.py @@ -23,12 +23,14 @@ def _to_obj(this): return this, None @staticmethod + @pt.java.required def _indexing_config(this, stopword_list : Union[List[str], None], termpipelines : List[str], properties : Dict[str,str], hooks : List): if this is None or this == TerrierStopwords.none: pass if this == TerrierStopwords.terrier: termpipelines.append('Stopwords') if this == TerrierStopwords.custom: + cst = pt.java.cast assert pt.terrier.check_version("5.8"), "Terrier 5.8 required" assert stopword_list is not None, "expected to receive a stopword list" @@ -39,7 +41,7 @@ def _indexing_config(this, stopword_list : Union[List[str], None], termpipelines # this hook updates the index's properties to handle the python stopwords list def _hook(pyindexer, index): - pindex = pt.java.cast("org.terrier.structures.PropertiesIndex", index) + pindex = cst("org.terrier.structures.PropertiesIndex", index) # store the stopwords into the Index's properties pindex.setIndexProperty("pyterrier.stopwords", ",".join(stopword_list_esc)) diff --git a/pyterrier/utils.py b/pyterrier/utils.py index 90f206d4..a119ab61 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -1,5 +1,6 @@ +import inspect import sys -from typing import Callable, Tuple +from typing import Callable, Tuple, List import platform from functools import wraps from importlib.metadata import EntryPoint @@ -161,3 +162,20 @@ def set_tqdm(type=None): else: raise ValueError(f"Unknown tqdm type {type}") pt.tqdm.pandas() + + +def get_class_methods(cls) -> List[str]: + """ + Returns methods defined directly by the provided class. This will ignore inherited methods unless they are + overridden by this class. + """ + all_attrs = inspect.getmembers(cls, predicate=inspect.isfunction) + + base_attrs = set() + for base in cls.__bases__: + base_attrs.update(name for name, _ in inspect.getmembers(base, predicate=inspect.isfunction)) + + # Filter out methods that are in base classes and not overridden in the subclass + class_methods = [name for name, func in all_attrs if name not in base_attrs or func.__qualname__.split('.')[0] == cls.__name__] + + return class_methods From 8d13dff72df4aed1b43ed4441c1156d01a518408 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 12:12:17 +0100 Subject: [PATCH 085/153] python compatibility --- pyterrier/anserini/java.py | 4 ++-- pyterrier/java/_init.py | 4 ++-- pyterrier/utils.py | 12 +++++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index 4b5111bf..0dc3251c 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -79,8 +79,8 @@ def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: return required(pt.utils.noop)() if isinstance(fn, type): # wrapping a class - for name in pt.utils.get_class_methods(fn): - setattr(fn, name, required(getattr(fn, name))) + for name, value in pt.utils.get_class_methods(fn): + setattr(fn, name, required(value)) return fn else: # wrapping a function diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 86b1a25f..f6cef0bb 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -29,8 +29,8 @@ def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: return required(pt.utils.noop)() if isinstance(fn, type): # wrapping a class - for name in pt.utils.get_class_methods(fn): - setattr(fn, name, required(getattr(fn, name))) + for name, value in pt.utils.get_class_methods(fn): + setattr(fn, name, required(value)) return fn else: # wrapping a function diff --git a/pyterrier/utils.py b/pyterrier/utils.py index a119ab61..47f51d72 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -1,6 +1,6 @@ import inspect import sys -from typing import Callable, Tuple, List +from typing import Callable, Tuple, List, Callable import platform from functools import wraps from importlib.metadata import EntryPoint @@ -164,7 +164,7 @@ def set_tqdm(type=None): pt.tqdm.pandas() -def get_class_methods(cls) -> List[str]: +def get_class_methods(cls) -> List[Tuple[str, Callable]]: """ Returns methods defined directly by the provided class. This will ignore inherited methods unless they are overridden by this class. @@ -176,6 +176,12 @@ def get_class_methods(cls) -> List[str]: base_attrs.update(name for name, _ in inspect.getmembers(base, predicate=inspect.isfunction)) # Filter out methods that are in base classes and not overridden in the subclass - class_methods = [name for name, func in all_attrs if name not in base_attrs or func.__qualname__.split('.')[0] == cls.__name__] + class_methods = [] + for name, func in all_attrs: + if name not in base_attrs or func.__qualname__.split('.')[0] == cls.__name__: + # bind classmethod and staticmethod functions to this class + if any(isinstance(func, c) for c in [classmethod, staticmethod]): + func = func.__get__(cls) + class_methods.append((name, func)) return class_methods From 5cce327b530f1df07325055e2aa55416673af3a6 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 12:47:39 +0100 Subject: [PATCH 086/153] the order of decorators is important? --- pyterrier/terrier/index.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index f17ac849..16141e4a 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -631,8 +631,8 @@ def get_column_lengths(df): meta2len = {k : 1 if math.isnan(l) else l for k, l in meta2len.items()} return meta2len - @pt.java.required @staticmethod + @pt.java.required def create_javaDocIterator(text, *args, **kwargs): HashMap = pt.java.J.HashMap TaggedDocument = pt.terrier.J.TaggedDocument From e70402f196466a45e526e69175a366b2f04bc0b1 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 14:15:28 +0100 Subject: [PATCH 087/153] check for out-of-order pt.java.required --- .../pyterrier_flake8_ext/java_check.py | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py index 3a35bf58..03427552 100644 --- a/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py +++ b/extras/pyterrier-flake8-ext/pyterrier_flake8_ext/java_check.py @@ -7,8 +7,9 @@ class JavaCheck: """McCabe cyclomatic complexity checker.""" name = 'javacheck' version = pyterrier_flake8_ext.__version__ - _missing_anno_tmpl = "PT100 {} uses java but is not annotated with @pt.java.required" - _extra_anno_tmpl = "PT101 {} is annotated with @pt.java.required but doesn't use java" + _missing_anno_tmpl = "PT100 {} uses java but is not decorated with @pt.java.required" + _extra_anno_tmpl = "PT101 {} is decorated with @pt.java.required but doesn't use java" + _required_order = "PT102 {} is decorated with @pt.java.required but isn't the last decorator" def __init__(self, tree: ast.AST): self.tree = tree @@ -19,6 +20,10 @@ def run(self) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: def _run(self, node: ast.AST, context: List[str] = []) -> Generator[Tuple[int, int, str, Type[Any]], None, None]: if isinstance(node, ast.FunctionDef) or isinstance(node, ast.ClassDef): has_java_anno, hard_require = self._has_java_required(node) + if has_java_anno: + err = self._required_order_error(node) + if err: + yield err java_usage = None if isinstance(node, ast.FunctionDef): for child in node.body: @@ -76,6 +81,19 @@ def _has_java_required(self, function: ast.FunctionDef) -> Tuple[bool, bool]: return True, False return False, False + def _required_order_error(self, function: ast.FunctionDef) -> Optional[Tuple[int, int, str, Type[Any]]]: + for i, decorator in enumerate(function.decorator_list): + is_last = i == len(function.decorator_list) - 1 + if isinstance(decorator, ast.Name): + if decorator.id in ('required', 'required_raise') and not is_last: + text = self._required_order.format(function.name) + return decorator.lineno, decorator.col_offset, text, type(self) + elif isinstance(decorator, ast.Attribute) and not is_last: + if decorator.attr in ('required', 'required_raise'): + text = self._required_order.format(function.name) + return decorator.lineno, decorator.col_offset, text, type(self) + return None + def _uses_java(self, node: ast.AST) -> Optional[ast.AST]: if isinstance(node, ast.Name): if node.id in ('autoclass', 'cast', 'J'): From 6ee75d06da061d8fe3d284e81f8062b7deba581b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 14:34:32 +0100 Subject: [PATCH 088/153] prf --- pyterrier/terrier/java.py | 35 ++++++++++++++++++++-- pyterrier/terrier/rewrite.py | 24 ++------------- tests/base.py | 1 + tests/test_rewrite.py | 57 ++++++++++++++++++------------------ 4 files changed, 64 insertions(+), 53 deletions(-) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index aaf89e36..f5958ffc 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -1,6 +1,7 @@ import sys +from functools import wraps from packaging.version import Version -from typing import Optional, Union, List +from typing import Optional, Union, List, Callable import pyterrier as pt TERRIER_PKG = "org.terrier" @@ -14,6 +15,7 @@ 'helper_version': None, 'boot_packages': [], 'force_download': True, + 'prf_version': None, }) @@ -28,8 +30,32 @@ def set_helper_version(version: Optional[str] = None): @pt.java.before_init -def enable_prf(version: Optional[str] = None): - pt.java.add_package('com.github.terrierteam', 'terrier-prf', version) +def enable_prf(version: Optional[str] = '-SNAPSHOT'): + configure['prf_version'] = version + + +def prf_required(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + Requires prf to be enabled (raises error if not enabled). + + Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it + is applied to all methods defined by the class. + """ + if fn is None: # standalone call + return prf_required(pt.utils.noop)() + + if isinstance(fn, type): # wrapping a class + for name, value in pt.utils.get_class_methods(fn): + setattr(fn, name, prf_required(value)) + return fn + + else: # wrapping a function + @wraps(fn) + def _wrapper(*args, **kwargs): + if not configure['prf_version']: + raise RuntimeError('you need to call pt.terrier.enable_prf() before java is loaded to use this function.') + return fn(*args, **kwargs) + return _wrapper @@ -67,6 +93,9 @@ def _pre_init(jnius_config): configure['helper_version'] = helper_version # save this specific version pt.java.add_package(TERRIER_PKG, "terrier-python-helper", helper_version) + if configure['prf_version'] is not None: + pt.java.add_package('com.github.terrierteam', 'terrier-prf', configure['prf_version']) + @pt.java.required_raise def _post_init(jnius): diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index 02601008..f8beefb9 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -4,25 +4,7 @@ from types import FunctionType import pyterrier as pt from pyterrier.terrier.index import TerrierTokeniser - -# TODO: replace _check_terrier_prf with a @pt.terrier.java.required_prf or similar -# TODO: make sure @pt.java.required on all necessary functions - -_terrier_prf_package_loaded = False -_terrier_prf_message = 'terrier-prf jar not found: you should start PyTerrier with '\ - + 'pt.init(boot_packages=["com.github.terrierteam:terrier-prf:-SNAPSHOT"])' - -def _check_terrier_prf(): - import jnius_config - global _terrier_prf_package_loaded - if _terrier_prf_package_loaded: - return - - for j in jnius_config.get_classpath(): - if "terrier-prf" in j: - _terrier_prf_package_loaded = True - break - assert _terrier_prf_package_loaded, _terrier_prf_message +from pyterrier.terrier.java import prf_required @pt.java.required def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', matchop=False) -> pt.Transformer: @@ -394,6 +376,7 @@ class RM3(QueryExpansion): ) ''' + @prf_required def __init__(self, *args, fb_terms=10, fb_docs=3, fb_lambda=0.6, **kwargs): """ Args: @@ -402,7 +385,6 @@ def __init__(self, *args, fb_terms=10, fb_docs=3, fb_lambda=0.6, **kwargs): fb_docs(int): number of feedback documents to consider. Terrier's default setting is 3 feedback documents. fb_lambda(float): lambda in RM3, i.e. importance of relevance model viz feedback model. Defaults to 0.6. """ - _check_terrier_prf() rm = pt.terrier.J.RM3() self.fb_lambda = fb_lambda kwargs["qeclass"] = rm @@ -440,6 +422,7 @@ class AxiomaticQE(QueryExpansion): - fb_terms(int): number of feedback terms. Defaults to 10 - fb_docs(int): number of feedback documents. Defaults to 3 ''' + @prf_required def __init__(self, *args, fb_terms=10, fb_docs=3, **kwargs): """ Args: @@ -447,7 +430,6 @@ def __init__(self, *args, fb_terms=10, fb_docs=3, **kwargs): fb_terms(int): number of terms to add to the query. Terrier's default setting is 10 expansion terms. fb_docs(int): number of feedback documents to consider. Terrier's default setting is 3 feedback documents. """ - _check_terrier_prf() rm = pt.terrier.J.AxiomaticQE() self.fb_terms = fb_terms self.fb_docs = fb_docs diff --git a/tests/base.py b/tests/base.py index 71dfa6c7..5d18dec6 100644 --- a/tests/base.py +++ b/tests/base.py @@ -20,6 +20,7 @@ def __init__(self, *args, **kwargs): pt.terrier.set_version(terrier_version) pt.terrier.set_helper_version(terrier_helper_version) + pt.terrier.enable_prf() pt.java.set_log_level("DEBUG") # pt.java.add_option('-ea') can be added here to ensure that all Java assertions are met pt.java.init() diff --git a/tests/test_rewrite.py b/tests/test_rewrite.py index 627e831c..7b1f436d 100644 --- a/tests/test_rewrite.py +++ b/tests/test_rewrite.py @@ -221,40 +221,39 @@ def _sdm(self, freq): pt.Evaluate(br_sdm.transform(t), dataset.get_qrels(), metrics=["map"])["map"], places=4) - # RM3 cannot be tested with current jnius, as it must be placed into the boot classpath - # def test_rm3(self): - # dataset = pt.datasets.get_dataset("vaswani") - # indexref = dataset.get_index() - - # qe = pt.rewrite.RM3(indexref) - # br = pt.BatchRetrieve(indexref) - - # queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - # res = br.transform(queriesIn) - - # queriesOut = qe.transform(res) - # self.assertEqual(len(queriesOut), 1) - # query = queriesOut.iloc[0]["query"] - # #self.assertTrue("compact^1.82230972" in query) - # self.assertTrue("applypipeline:off " in query) + def test_rm3(self): + dataset = pt.datasets.get_dataset("vaswani") + indexref = dataset.get_index() + + qe = pt.rewrite.RM3(indexref) + br = pt.BatchRetrieve(indexref) + + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) + res = br.transform(queriesIn) + + queriesOut = qe.transform(res) + self.assertEqual(len(queriesOut), 1) + query = queriesOut.iloc[0]["query"] + #self.assertTrue("compact^1.82230972" in query) + self.assertTrue("applypipeline:off " in query) - # pipe = br >> qe >> br + pipe = br >> qe >> br - # # lets go faster, we only need 18 topics. qid 16 had a tricky case - # t = dataset.get_topics().head(18) + # lets go faster, we only need 18 topics. qid 16 had a tricky case + t = dataset.get_topics().head(18) - # all_qe_res = pipe.transform(t) - # map_pipe = pt.Evaluate(all_qe_res, dataset.get_qrels(), metrics=["map"])["map"] + all_qe_res = pipe.transform(t) + map_pipe = pt.Evaluate(all_qe_res, dataset.get_qrels(), metrics=["map"])["map"] - # br_qe = pt.BatchRetrieve(indexref, - # controls={"qe":"on"}, - # properties={"querying.processes" : "terrierql:TerrierQLParser,parsecontrols:TerrierQLToControls,"\ - # +"parseql:TerrierQLToMatchingQueryTerms,matchopql:MatchingOpQLParser,applypipeline:ApplyTermPipeline,"\ - # +"sd:DependenceModelPreProcess,localmatching:LocalManager$ApplyLocalMatching,qe:RM3,"\ - # +"labels:org.terrier.learning.LabelDecorator,filters:LocalManager$PostFilterProcess"}) - # map_qe = pt.Evaluate(br_qe.transform(t), dataset.get_qrels(), metrics=["map"])["map"] + br_qe = pt.BatchRetrieve(indexref, + controls={"qe":"on"}, + properties={"querying.processes" : "terrierql:TerrierQLParser,parsecontrols:TerrierQLToControls,"\ + +"parseql:TerrierQLToMatchingQueryTerms,matchopql:MatchingOpQLParser,applypipeline:ApplyTermPipeline,"\ + +"sd:DependenceModelPreProcess,localmatching:LocalManager$ApplyLocalMatching,qe:RM3,"\ + +"labels:org.terrier.learning.LabelDecorator,filters:LocalManager$PostFilterProcess"}) + map_qe = pt.Evaluate(br_qe.transform(t), dataset.get_qrels(), metrics=["map"])["map"] - # self.assertAlmostEqual(map_qe, map_pipe, places=4) + self.assertAlmostEqual(map_qe, map_pipe, places=2) def test_linear_terrierql(self): pipe = pt.apply.query(lambda row: "az") >> pt.rewrite.linear(0.75, 0.25) From 935458c659b270049fc18e8fb7c5de71a91d7a3b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 14:43:08 +0100 Subject: [PATCH 089/153] refactoring --- pyterrier/anserini/java.py | 24 ++++++------------------ pyterrier/java/_init.py | 18 +++--------------- pyterrier/terrier/java.py | 19 +++---------------- pyterrier/utils.py | 25 +++++++++++++++++++++++++ 4 files changed, 37 insertions(+), 49 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index 0dc3251c..fdb761ea 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -67,7 +67,8 @@ def set_version(version: str): configure['version'] = version -def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: +@pt.utils.pre_invocation_decorator +def required() -> Union[Callable, bool]: """ Requires pyserini to be installed (raises error if not installed). If the JVM has not yet been started, it runs pt.java.init(), too, similar to pt.java.required(). @@ -75,23 +76,10 @@ def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ - if fn is None: # standalone call - return required(pt.utils.noop)() - - if isinstance(fn, type): # wrapping a class - for name, value in pt.utils.get_class_methods(fn): - setattr(fn, name, required(value)) - return fn - - else: # wrapping a function - @wraps(fn) - def _wrapper(*args, **kwargs): - if not is_installed(): - raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') - if not pt.java.started(): - pt.java.init() - return fn(*args, **kwargs) - return _wrapper + if not is_installed(): + raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') + if not pt.java.started(): + pt.java.init() J = pt.java.JavaClasses({ diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index f6cef0bb..c7cefba2 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -18,6 +18,7 @@ def started() -> bool: return _started +@pt.utils.pre_invocation_decorator def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: """ Requires the Java Virtual Machine to be started. If the JVM has not yet been started, it runs pt.java.init(). @@ -25,21 +26,8 @@ def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ - if fn is None: # standalone call - return required(pt.utils.noop)() - - if isinstance(fn, type): # wrapping a class - for name, value in pt.utils.get_class_methods(fn): - setattr(fn, name, required(value)) - return fn - - else: # wrapping a function - @wraps(fn) - def _wrapper(*args, **kwargs): - if not started(): - init() - return fn(*args, **kwargs) - return _wrapper + if not started(): + init() def required_raise(fn: Optional[Callable] = None) -> Union[Callable, bool]: diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index f5958ffc..17dc463d 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -34,6 +34,7 @@ def enable_prf(version: Optional[str] = '-SNAPSHOT'): configure['prf_version'] = version +@pt.utils.pre_invocation_decorator def prf_required(fn: Optional[Callable] = None) -> Union[Callable, bool]: """ Requires prf to be enabled (raises error if not enabled). @@ -41,22 +42,8 @@ def prf_required(fn: Optional[Callable] = None) -> Union[Callable, bool]: Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ - if fn is None: # standalone call - return prf_required(pt.utils.noop)() - - if isinstance(fn, type): # wrapping a class - for name, value in pt.utils.get_class_methods(fn): - setattr(fn, name, prf_required(value)) - return fn - - else: # wrapping a function - @wraps(fn) - def _wrapper(*args, **kwargs): - if not configure['prf_version']: - raise RuntimeError('you need to call pt.terrier.enable_prf() before java is loaded to use this function.') - return fn(*args, **kwargs) - return _wrapper - + if not configure['prf_version']: + raise RuntimeError('you need to call pt.terrier.enable_prf() before java is loaded to use this function.') def _pre_init(jnius_config): diff --git a/pyterrier/utils.py b/pyterrier/utils.py index 47f51d72..f471189f 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -185,3 +185,28 @@ def get_class_methods(cls) -> List[Tuple[str, Callable]]: class_methods.append((name, func)) return class_methods + + +def pre_invocation_decorator(decorator): + """ + Builds a decorator function that funs the decoraded code before running the wrapped function. It can run as a + standalone function, a function @decorator, or a class @decorator. When used as a class decorator, it is applied to + all functions defined by the class. + """ + @wraps(decorator) + def _decorator_wrapper(fn): + if fn is None: # standalone call + return _decorator_wrapper(pt.utils.noop)() + + if isinstance(fn, type): # wrapping a class + for name, value in pt.utils.get_class_methods(fn): + setattr(fn, name, _decorator_wrapper(value)) + return fn + + else: # wrapping a function + @wraps(fn) + def _wrapper(*args, **kwargs): + decorator() + return fn(*args, **kwargs) + return _wrapper + return _decorator_wrapper From d0c57ff692dc972013a176b1d822e227a4b68e22 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 16:20:39 +0100 Subject: [PATCH 090/153] avoid greedy java init in tests --- tests/anserini/test_anserini.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/anserini/test_anserini.py b/tests/anserini/test_anserini.py index 2168cfe6..090d5d88 100644 --- a/tests/anserini/test_anserini.py +++ b/tests/anserini/test_anserini.py @@ -14,13 +14,14 @@ def skip_pyserini(self): def __init__(self, *args, **kwargs): super(AnseriniTestCase, self).__init__(*args, **kwargs) - anserini_version = os.environ.get("ANSERINI_VERSION", ANSERINI_VERSION) - terrier_version = os.environ.get("TERRIER_VERSION", None) - if terrier_version is not None: - print("Testing with Terrier version " + terrier_version) - if not pt.started(): - pt.init(version=terrier_version, logging="DEBUG", boot_packages=["io.anserini:anserini:%s:fatjar" % anserini_version]) - self.here = os.path.dirname(os.path.realpath(__file__)) + if pt.anserini.is_installed(): + anserini_version = os.environ.get("ANSERINI_VERSION", ANSERINI_VERSION) + terrier_version = os.environ.get("TERRIER_VERSION", None) + if terrier_version is not None: + print("Testing with Terrier version " + terrier_version) + if not pt.started(): + pt.init(version=terrier_version, logging="DEBUG", boot_packages=["io.anserini:anserini:%s:fatjar" % anserini_version]) + self.here = os.path.dirname(os.path.realpath(__file__)) def test_anserini_vaswani(self): self.skip_pyserini() From f299c4540a9d393a602db09d832f42c8ef4d8447 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 16:20:52 +0100 Subject: [PATCH 091/153] more deprecation/backcompat --- pyterrier/__init__.py | 7 +++++-- tests/test_iterdictindex.py | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 753ef928..dcbbf14e 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -6,7 +6,6 @@ from pyterrier.transformer import Transformer, Estimator, Indexer from pyterrier import java -from pyterrier.java import redirect_stdouterr # for backward compat, maybe remove/deprecate some day? from pyterrier import terrier from pyterrier.terrier import BatchRetrieve, TerrierRetrieve, FeaturesBatchRetrieve, IndexFactory, run, rewrite, index, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser @@ -44,6 +43,9 @@ set_tqdm = deprecated(version='0.11.0', reason="use pt.utils.set_tqdm(...) instead")(utils.set_tqdm) set_property = deprecated(version='0.11.0', reason="use pt.terrier.set_property(...) instead")(terrier.set_property) set_properties = deprecated(version='0.11.0', reason="use pt.terrier.set_properties(...) instead")(terrier.set_properties) +redirect_stdouterr = deprecated(version='0.11.0', reason="use pt.java.redirect_stdouterr(...) instead")(java.redirect_stdouterr) +autoclass = deprecated(version='0.11.0', reason="use pt.java.autoclass(...) instead")(java.autoclass) +cast = deprecated(version='0.11.0', reason="use pt.java.cast(...) instead")(java.cast) # Additional setup performed in a function to avoid polluting the namespace with other imports like platform @@ -65,7 +67,7 @@ def _(): 'java', 'terrier', 'anserini', 'cache', 'debug', 'io', 'measures', 'model', 'new', 'ltr', 'parallel', 'pipelines', 'text', 'transformer', 'datasets', 'get_dataset', 'find_datasets', 'list_datasets', 'Experiment', 'GridScan', 'GridSearch', 'KFoldGridSearch', 'Evaluate', - 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'redirect_stdouterr', + 'utils', 'Utils', 'Transformer', 'Estimator', 'Indexer', 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'IndexFactory', 'run', 'rewrite', 'index', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'TerrierStemmer', 'TerrierStopwords', 'TerrierTokeniser', @@ -73,4 +75,5 @@ def _(): # Deprecated: 'init', 'started', 'logging', 'version', 'check_version', 'extend_classpath', 'set_tqdm', 'set_property', 'set_properties', + 'redirect_stdouterr', 'autoclass', 'cast', ] diff --git a/tests/test_iterdictindex.py b/tests/test_iterdictindex.py index 57742a72..ab0e9542 100644 --- a/tests/test_iterdictindex.py +++ b/tests/test_iterdictindex.py @@ -191,7 +191,7 @@ def test_check_nostemmer_utf_toks(self): pt.terrier.J.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") def test_check_customstops(self): - if not pt.check_version("5.8"): + if not pt.terrier.check_version("5.8"): self.skipTest("Requires Terrier 5.8") it = [ {'docno': '1', 'url': 'url1', 'text': 'He ran out of møney, so he had to stop playing', 'title': 'Woes of playing poker'}, From 215b780791f1b0eb0cf8e8c80e637faceb503151 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 17:23:46 +0100 Subject: [PATCH 092/153] no_download support and automatic "offline" mode handling in mavenresolver --- pyterrier/java/_init.py | 4 +- pyterrier/java/mavenresolver.py | 98 +++++++++++++++++++++++++++++---- 2 files changed, 90 insertions(+), 12 deletions(-) diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index c7cefba2..53b3a18c 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -216,8 +216,8 @@ def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=Tr pt.terrier.set_helper_version(helper_version) if tqdm is not None: pt.utils.set_tqdm(tqdm) - - # TODO: missing no_download. Is this something like pt.java.set_offline(True)? + if no_download: + pt.java.mavenresolver.offline() pt.java.init() diff --git a/pyterrier/java/mavenresolver.py b/pyterrier/java/mavenresolver.py index d75e5f1a..91ccba53 100644 --- a/pyterrier/java/mavenresolver.py +++ b/pyterrier/java/mavenresolver.py @@ -2,6 +2,8 @@ import urllib.request from packaging.version import Version from pathlib import Path +from enum import Enum +from warnings import warn import wget import os import re @@ -10,6 +12,51 @@ MAVEN_BASE_URL = "https://repo1.maven.org/maven2/" JITPACK_BASE_URL = "https://jitpack.io/" + +class OnlineMode(Enum): + ONLINE = 'ONLINE' + OFFLINE = 'OFFLINE' + UNSET = 'UNSET' + + +_online_mode = OnlineMode.UNSET + + +def online_mode() -> OnlineMode: + """ + Returns whether mavenresolver is operating in "online" mode, "offline" mode, or if the mode has not been set yet. + + In "online" mode, packages will always be requested from maven. Network failures will raise errors in this mode. + + In "offline" mode, maven will not be contacted, and the most recent versions of packages that are currently cached + on the system will be used when requesting package versions, etc. If no versions are available, an error will be + raised. + + If not set, mavenresolver will behave in "online" mode until it receives a network error, at which point it will + move automatically to "offline" mode. + """ + return _online_mode + + +def offline(is_offline: bool = True): + """ + Enables offline mode. + """ + global _online_mode + _online_mode = { + True: OnlineMode.OFFLINE, + False: OnlineMode.ONLINE + }[is_offline] + + +def online(is_online: bool = True): + global _online_mode + _online_mode = { + True: OnlineMode.ONLINE, + False: OnlineMode.OFFLINE + }[is_online] + + # obtain a file from maven def get_package_jar(orgName, packageName, version, file_path, artifact="jar", force_download=False): orgName = orgName.replace(".", "/") @@ -23,6 +70,11 @@ def get_package_jar(orgName, packageName, version, file_path, artifact="jar", fo filename = packageName + "-" + version + suffix + "." + ext filelocation = orgName + "/" + packageName + "/" + version + "/" + filename + + mode = online_mode() + + if force_download and mode == OnlineMode.OFFLINE: + force_download = False # OFFLINE overrides force_download target_file = os.path.join(file_path, filename) file_exists = os.path.isfile(target_file) @@ -31,7 +83,7 @@ def get_package_jar(orgName, packageName, version, file_path, artifact="jar", fo return target_file else: # ensure that wget doesnt put the file in a different name - os.remove(target_file) + os.rename(target_file, f'{target_file}.bak') # check local Maven repo, and use that if it exists from os.path import expanduser @@ -41,6 +93,9 @@ def get_package_jar(orgName, packageName, version, file_path, artifact="jar", fo if os.path.isfile(mvnLocalLocation): return mvnLocalLocation + if mode == OnlineMode.OFFLINE: + raise ValueError(f'{filename} not found') + if force_download: print("Downloading "+ packageName + " " + version + " " + artifact + " to " + file_path + "...") else: @@ -53,30 +108,53 @@ def get_package_jar(orgName, packageName, version, file_path, artifact="jar", fo try: wget.download(mvnUrl, file_path) - except urllib.error.HTTPError as he: + except (urllib.error.HTTPError, urllib.error.URLError) as he: + if mode == OnlineMode.UNSET: + offline() # now we're in offline mode + if file_exists: + os.rename(f'{target_file}.bak', target_file) # move back + if mode == OnlineMode.UNSET: + warn(f'Attempted to download {mvnUrl}, but was offline. Using cached version: {target_file}') + return target_file raise ValueError("Could not fetch " + mvnUrl) from he + + if file_exists: + os.remove(f'{target_file}.bak') # clean up temp file print("Done") - return (os.path.join(file_path, filename)) + return os.path.join(file_path, filename) # returns the latest version def latest_version_num(orgName, packageName): orgName = orgName.replace(".", "/") if "com/github" in orgName: # its jitpack - return("-SNAPSHOT") + return "-SNAPSHOT" + + mode = online_mode() + + if mode == OnlineMode.OFFLINE: + version = latest_local_version_num(packageName) + if version is None: + raise ValueError(f'Could not find latest version of {packageName}') + return version url_str = MAVEN_BASE_URL + orgName + "/" + packageName + "/maven-metadata.xml" try: with urllib.request.urlopen(url_str) as url: xml_str = url.read() except urllib.error.URLError: - # no internet connection, use the latest version found locally. - version = latest_local_version_num(packageName) - if version is None: - raise # version not found, re-raise the URLError error - else: - return version + if mode == OnlineMode.UNSET: + offline() + # no internet connection, use the latest version found locally. + version = latest_local_version_num(packageName) + if version is None: + raise # version not found, re-raise the URLError error + else: + warn(f'Attempted to get latest version of {packageName} from maven, but was offline. Using latest cached version: {version}') + return version + else: # mode == OnlineMode.ONLINE + raise xmldoc = minidom.parseString(xml_str) obs_values = xmldoc.getElementsByTagName("latest") version = obs_values[0].firstChild.nodeValue From 4311bdccb2ebafc5301ab1587a85e69e02818493 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 17:27:58 +0100 Subject: [PATCH 093/153] alright, one of the last things remaining is this pesky macos test --- .github/workflows/push.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 86f0a37f..c0b93066 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -18,11 +18,11 @@ jobs: java: [11, 13] os: ['ubuntu-latest', 'macos-13', 'windows-latest'] terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', - # include: - # - os: 'macos-latest' - # python-version: '3.9' - # java: 11 - # terrier: 'snapshot' + include: + - os: 'macos-latest' + python-version: '3.9' + java: 11 + terrier: 'snapshot' runs-on: ${{ matrix.os }} steps: From 5ccfbf018671409566f07d6fc3c64d68c9d96b4a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 17:32:42 +0100 Subject: [PATCH 094/153] so what's the deal? Is it the python version? --- .github/workflows/push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index c0b93066..5b2a3219 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -20,7 +20,7 @@ jobs: terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', include: - os: 'macos-latest' - python-version: '3.9' + python-version: '3.8' java: 11 terrier: 'snapshot' From d9408849904c20ca080718a2b3a25ece1c6b9623 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 17:40:04 +0100 Subject: [PATCH 095/153] ok so must be macos-latest? --- .github/workflows/push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 5b2a3219..14da5b32 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -19,7 +19,7 @@ jobs: os: ['ubuntu-latest', 'macos-13', 'windows-latest'] terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', include: - - os: 'macos-latest' + - os: 'macos-13' python-version: '3.8' java: 11 terrier: 'snapshot' From 52f646e0856be6f8e08c6b1ce30758c7a0816471 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 17:49:47 +0100 Subject: [PATCH 096/153] is it an arm issue? also disable other configs to save time --- .github/workflows/push.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 14da5b32..427fbdbd 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -14,12 +14,12 @@ jobs: strategy: matrix: - python-version: ['3.8', '3.11'] - java: [11, 13] - os: ['ubuntu-latest', 'macos-13', 'windows-latest'] - terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', + # python-version: ['3.8', '3.11'] + # java: [11, 13] + # os: ['ubuntu-latest', 'macos-13', 'windows-latest'] + # terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', include: - - os: 'macos-13' + - os: 'macos-13-arm64' python-version: '3.8' java: 11 terrier: 'snapshot' From ad9a3788d5bb6ca6d3de7295a9d7ca0701bed242 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 20:51:03 +0100 Subject: [PATCH 097/153] this is actually the arm image name for macos-13 --- .github/workflows/push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 427fbdbd..e6379945 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -19,7 +19,7 @@ jobs: # os: ['ubuntu-latest', 'macos-13', 'windows-latest'] # terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', include: - - os: 'macos-13-arm64' + - os: 'macos-13-xlarge' python-version: '3.8' java: 11 terrier: 'snapshot' From 9df53f164ac407c7aec133c309a0a8fc3395e3e3 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 20:53:00 +0100 Subject: [PATCH 098/153] hmm that didn't work, here's a version on 14 with intel --- .github/workflows/push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index e6379945..d1573ef7 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -19,7 +19,7 @@ jobs: # os: ['ubuntu-latest', 'macos-13', 'windows-latest'] # terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', include: - - os: 'macos-13-xlarge' + - os: 'macos-14-large' python-version: '3.8' java: 11 terrier: 'snapshot' From cfd7d2787e50cc1e3f0c62b515a11a1b7cc83e07 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 21:01:08 +0100 Subject: [PATCH 099/153] revert for the time being --- .github/workflows/push.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index d1573ef7..c0b93066 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -14,13 +14,13 @@ jobs: strategy: matrix: - # python-version: ['3.8', '3.11'] - # java: [11, 13] - # os: ['ubuntu-latest', 'macos-13', 'windows-latest'] - # terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', + python-version: ['3.8', '3.11'] + java: [11, 13] + os: ['ubuntu-latest', 'macos-13', 'windows-latest'] + terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', include: - - os: 'macos-14-large' - python-version: '3.8' + - os: 'macos-latest' + python-version: '3.9' java: 11 terrier: 'snapshot' From 57c6cc3de490cde79b61fc0f9885a2e9adfb59fa Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 21:31:36 +0100 Subject: [PATCH 100/153] more informative java loaded message --- pyterrier/anserini/java.py | 2 +- pyterrier/java/_init.py | 11 ++++++++++- pyterrier/terrier/java.py | 3 +-- setup.py | 12 ++++++------ 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index fdb761ea..dceefa75 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -31,7 +31,7 @@ def _pre_init(jnius_config): def _post_init(jnius): if not is_installed(): # pyserini not installed, do nothing - return + return False # Temporarily disable the configure_classpath while pyserini is init'd, otherwise it will try to reconfigure jnius import pyserini.setup diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 53b3a18c..bfe8e242 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -1,3 +1,4 @@ +import sys import inspect import os from warnings import warn @@ -124,9 +125,17 @@ def init() -> None: raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") + message = [] for entry_point in pt.utils.entry_points('pyterrier.java.post_init'): _post_init = entry_point.load() - _post_init(jnius) + msg = _post_init(jnius) + if msg is None: + message.append(entry_point.name) + elif msg is False: + pass + else: + message.append(f'{entry_point.name} [{msg}]') + sys.stderr.write('Java started with: ' + ', '.join(message) + '\n') def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 17dc463d..d1d86573 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -144,8 +144,7 @@ def _post_init(jnius): if "BUILD_DATE" in dir(J.Version): version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" - print(f"PyTerrier {pt.__version__} has loaded Terrier {version_string} and " - f"terrier-helper {configure['helper_version']}\n", file=sys.stderr) + return f"version={version_string}, helper_version={configure['helper_version']}" def _new_indexref(s): diff --git a/setup.py b/setup.py index ccee73f5..83e38858 100644 --- a/setup.py +++ b/setup.py @@ -72,14 +72,14 @@ def get_version(rel_path): ], entry_points={ 'pyterrier.java.pre_init': [ - 'terrier = pyterrier.terrier.java:_pre_init', - 'anserini = pyterrier.anserini.java:_pre_init', + 'pyterrier.terrier.java = pyterrier.terrier.java:_pre_init', + 'pyterrier.anserini.java = pyterrier.anserini.java:_pre_init', ], 'pyterrier.java.post_init': [ - 'core = pyterrier.java._init:_post_init', - 'terrier = pyterrier.terrier.java:_post_init', - 'terrier.index = pyterrier.terrier.index:_java_post_init', - 'anserini = pyterrier.anserini.java:_post_init', + 'pyterrier.java = pyterrier.java._init:_post_init', + 'pyterrier.terrier.java = pyterrier.terrier.java:_post_init', + 'pyterrier.terrier.index = pyterrier.terrier.index:_java_post_init', + 'pyterrier.anserini.java = pyterrier.anserini.java:_post_init', ], }, install_requires=requirements, From 4054fd12be5e38238441dc8d980a58adcd847ad1 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 21:41:19 +0100 Subject: [PATCH 101/153] management of java settings, etc --- pyterrier/anserini/java.py | 2 +- pyterrier/java/mavenresolver.py | 4 +++- pyterrier/java/utils.py | 2 +- pyterrier/terrier/java.py | 19 ++++++++++++------- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index dceefa75..fe6670cd 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -20,7 +20,7 @@ def _pre_init(jnius_config): jar = _get_pyserini_jar() else: # download and use the anserini version specified by the user - jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure['version'], 'fatjar') + jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure['version'], artifact='fatjar') if jar is None: raise RuntimeError('Could not find anserini jar') diff --git a/pyterrier/java/mavenresolver.py b/pyterrier/java/mavenresolver.py index 91ccba53..6f443bd4 100644 --- a/pyterrier/java/mavenresolver.py +++ b/pyterrier/java/mavenresolver.py @@ -58,7 +58,9 @@ def online(is_online: bool = True): # obtain a file from maven -def get_package_jar(orgName, packageName, version, file_path, artifact="jar", force_download=False): +def get_package_jar(orgName, packageName, version, file_path=None, artifact="jar", force_download=False): + if file_path is None: + file_path = pt.io.pyterrier_home() orgName = orgName.replace(".", "/") suffix = "" ext = "jar" diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 4e993d03..223a5b1e 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -86,7 +86,7 @@ def add_jar(jar_path): def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): if version is None or version == 'snapshot': version = mavenresolver.latest_version_num(org_name, package_name) - file_name = mavenresolver.get_package_jar(org_name, package_name, version, pt.io.pyterrier_home(), file_type) + file_name = mavenresolver.get_package_jar(org_name, package_name, version, artifact=file_type) add_jar(file_name) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index d1d86573..98eb673d 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -67,21 +67,23 @@ def _pre_init(jnius_config): # "snapshot" means use Jitpack.io to get a build of the current # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT if terrier_version == "snapshot": - trJar = pt.java.mavenresolver.get_package_jar("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", pt.io.pyterrier_home(), "jar-with-dependencies", force_download=configure['force_download']) + trJar = pt.java.mavenresolver.get_package_jar("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", artifact="jar-with-dependencies", force_download=configure['force_download']) else: - trJar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, "terrier-assemblies", terrier_version, pt.io.pyterrier_home(), "jar-with-dependencies") - pt.java.add_jar(trJar) + trJar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, "terrier-assemblies", terrier_version, artifact="jar-with-dependencies") + jnius_config.add_classpath(trJar) # now the helper classes if configure['helper_version'] is None or configure['helper_version'] == 'snapshot': helper_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") + configure['helper_version'] = helper_version # save this specific version else: helper_version = str(configure['helper_version']) # just in case its a float - configure['helper_version'] = helper_version # save this specific version - pt.java.add_package(TERRIER_PKG, "terrier-python-helper", helper_version) + helper_jar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, 'terrier-python-helper', helper_version) + jnius_config.add_classpath(helper_jar) if configure['prf_version'] is not None: - pt.java.add_package('com.github.terrierteam', 'terrier-prf', configure['prf_version']) + prf_jar = pt.java.mavenresolver.get_package_jar('com.github.terrierteam', 'terrier-prf', configure['prf_version']) + jnius_config.add_classpath(prf_jar) @pt.java.required_raise @@ -144,7 +146,10 @@ def _post_init(jnius): if "BUILD_DATE" in dir(J.Version): version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" - return f"version={version_string}, helper_version={configure['helper_version']}" + res = f"version={version_string}, helper_version={configure['helper_version']}" + if configure['prf_version'] is not None: + res += f" prf_version={configure['prf_version']}" + return res def _new_indexref(s): From 423b78b63bad1fd60121710a1edccea1ab6d1f1b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 30 Jul 2024 21:41:34 +0100 Subject: [PATCH 102/153] disable arm64 again --- .github/workflows/push.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index c0b93066..86f0a37f 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -18,11 +18,11 @@ jobs: java: [11, 13] os: ['ubuntu-latest', 'macos-13', 'windows-latest'] terrier: ['snapshot'] #'5.3', '5.4-SNAPSHOT', - include: - - os: 'macos-latest' - python-version: '3.9' - java: 11 - terrier: 'snapshot' + # include: + # - os: 'macos-latest' + # python-version: '3.9' + # java: 11 + # terrier: 'snapshot' runs-on: ${{ matrix.os }} steps: From 3c9bc214c694305daf001b8890bf8593f3ed62e8 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 09:34:40 +0100 Subject: [PATCH 103/153] disallow changing java settings once it's started --- pyterrier/java/_init.py | 11 +++++------ pyterrier/java/config.py | 5 +++++ pyterrier/terrier/java.py | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index bfe8e242..f0306f45 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -6,7 +6,6 @@ from typing import Dict, Any, Tuple, Callable, Optional, Union from copy import deepcopy import pyterrier as pt -import pyterrier.java.config _started = False @@ -130,19 +129,19 @@ def init() -> None: _post_init = entry_point.load() msg = _post_init(jnius) if msg is None: - message.append(entry_point.name) + message.append(f' - {entry_point.name}\n') elif msg is False: pass else: - message.append(f'{entry_point.name} [{msg}]') - sys.stderr.write('Java started with: ' + ', '.join(message) + '\n') + message.append(f' - {entry_point.name} [{msg}]') + sys.stderr.write('Java started and loaded:\n' + ''.join(message) + '\n') def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: if started: if not pt.java.started(): warn(f'Starting java parallel with configs {configs}') - pyterrier.java.config._CONFIGS = configs + pt.java.config._CONFIGS = configs init() else: warn("Avoiding reinit of PyTerrier") @@ -151,7 +150,7 @@ def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: return ( started(), - deepcopy(pyterrier.java.config._CONFIGS), + deepcopy(pt.java.config._CONFIGS), ) diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py index 38b0f281..778b9e2b 100644 --- a/pyterrier/java/config.py +++ b/pyterrier/java/config.py @@ -1,5 +1,6 @@ from typing import Dict, Any from copy import deepcopy +from pyterrier.java._init import before_init, started _CONFIGS = {} @@ -10,6 +11,7 @@ def __init__(self, name): def get(self, key): return deepcopy(_CONFIGS[self.name][key]) + @before_init def set(self, key, value): self(**{key: value}) @@ -21,10 +23,13 @@ def append(self, key, value): def __getitem__(self, key): return self.get(key) + @before_init def __setitem__(self, key, value): self.set(key, value) def __call__(self, **settings: Any): + if started() and any(settings): + raise RuntimeError('You cannot change java settings after java has started') for key, value in settings.items(): if key not in _CONFIGS[self.name]: raise AttributeError(f'{key!r} not defined as a java setting for {self.name!r}') diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 98eb673d..5d7bb801 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -144,7 +144,7 @@ def _post_init(jnius): version_string = J.Version.VERSION if "BUILD_DATE" in dir(J.Version): - version_string += f" (built by {J.Version.BUILD_USER} on {J.Version.BUILD_DATE})" + version_string += f" (build: {J.Version.BUILD_USER} {J.Version.BUILD_DATE})" res = f"version={version_string}, helper_version={configure['helper_version']}" if configure['prf_version'] is not None: From 2cffed6ce84edebd7c37d8dcdb7f369c13a57a30 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 10:19:01 +0100 Subject: [PATCH 104/153] cleaner pre_init/post_init/etc configuration --- pyterrier/anserini/java.py | 55 +++-- pyterrier/java/__init__.py | 4 +- pyterrier/java/_init.py | 116 ++++++---- pyterrier/terrier/index.py | 212 +------------------ pyterrier/terrier/java.py | 422 ++++++++++++++++++++++++++++--------- setup.py | 13 +- 6 files changed, 423 insertions(+), 399 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index fe6670cd..a8bed7c4 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -11,36 +11,31 @@ }) -def _pre_init(jnius_config): - if not is_installed(): - # pyserini not installed, do nothing - return - - if configure['version'] is None: - jar = _get_pyserini_jar() - else: - # download and use the anserini version specified by the user - jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure['version'], artifact='fatjar') - - if jar is None: - raise RuntimeError('Could not find anserini jar') - else: - jnius_config.add_classpath(jar) - - -def _post_init(jnius): - if not is_installed(): - # pyserini not installed, do nothing - return False - - # Temporarily disable the configure_classpath while pyserini is init'd, otherwise it will try to reconfigure jnius - import pyserini.setup - _configure_classpath = pyserini.setup.configure_classpath - try: - pyserini.setup.configure_classpath = pt.utils.noop - import pyserini.search.lucene # load the package - finally: - pyserini.setup.configure_classpath = _configure_classpath +class AnseriniInit(pt.java.JavaInitializer): + def condition(self): + return is_installed() + + def pre_init(self, jnius_config): + if configure['version'] is None: + jar = _get_pyserini_jar() + else: + # download and use the anserini version specified by the user + jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure['version'], artifact='fatjar') + + if jar is None: + raise RuntimeError('Could not find anserini jar') + else: + jnius_config.add_classpath(jar) + + def post_init(self, jnius): + # Temporarily disable the configure_classpath while pyserini is init'd, otherwise it will try to reconfigure jnius + import pyserini.setup + _configure_classpath = pyserini.setup.configure_classpath + try: + pyserini.setup.configure_classpath = pt.utils.noop + import pyserini.search.lucene # load the package + finally: + pyserini.setup.configure_classpath = _configure_classpath def is_installed(): diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index bbcfa62c..d47eeb51 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,5 +1,5 @@ from pyterrier.java import mavenresolver -from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init +from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init, JavaInitializer, CoreInit from pyterrier.java import config from pyterrier.java.config import configure from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array, JavaClasses, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level @@ -8,5 +8,5 @@ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', 'redirect_stdouterr', 'required', 'required_raise', 'set_log_level', 'set_memory_limit', 'set_redirect_io', - 'started', 'legacy_init', + 'started', 'legacy_init', 'JavaInitializer', 'CoreInit', ] diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index f0306f45..853e17a9 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -1,5 +1,4 @@ import sys -import inspect import os from warnings import warn from functools import wraps @@ -11,6 +10,23 @@ _started = False +class JavaInitializer: + def priority(self) -> int: + return 0 + + def condition(self) -> bool: + return True + + def pre_init(self, jnius_config) -> None: + pass + + def post_init(self, jnius) -> None: + pass + + def message(self) -> Optional[str]: + return None + + def started() -> bool: """ Returns True if pt.java.init() has been called. Otherwise False. @@ -62,16 +78,43 @@ def _wrapper(*args, **kwargs): return _wrapper -@required_raise -def _post_init(jnius): - pt.autoclass = jnius.autoclass - pt.cast = jnius.cast +class CoreInit(JavaInitializer): + def priority(self) -> int: + return -100 # run this initializer before anything else + + def pre_init(self, jnius_config): + if pt.utils.is_windows(): + if "JAVA_HOME" in os.environ: + java_home = os.environ["JAVA_HOME"] + fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' + os.environ["PATH"] = os.environ["PATH"] + ";" + fix + + if pt.java.configure['mem'] is not None: + jnius_config.add_options('-Xmx' + str(pt.java.configure['mem']) + 'm') + + for opt in pt.java.configure['options']: + jnius_config.add_options(opt) - jnius.protocol_map['java.util.Map$Entry'] = { - '__getitem__' : _mapentry_getitem, - '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), - '__len__' : lambda self: 2 - } + for jar in pt.java.configure['jars']: + jnius_config.add_classpath(jar) + + @required_raise + def post_init(self, jnius): + pt.java.set_log_level(pt.java.configure['log_level']) + + if pt.java.configure['redirect_io']: + pt.java.redirect_stdouterr() + + java_version = pt.java.J.System.getProperty("java.version") + if java_version.startswith("1.") or java_version.startswith("9."): + raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" + + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") + + jnius.protocol_map['java.util.Map$Entry'] = { + '__getitem__' : _mapentry_getitem, + '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), + '__len__' : lambda self: 2 + } # Map$Entry can be decoded like a tuple @@ -91,50 +134,37 @@ def init() -> None: # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') # return - if pt.utils.is_windows(): - if "JAVA_HOME" in os.environ: - java_home = os.environ["JAVA_HOME"] - fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' - os.environ["PATH"] = os.environ["PATH"] + ";" + fix + initalizers = [] + for entry_point in pt.utils.entry_points('pyterrier.java.init'): + initalizer = entry_point.load()() + if initalizer.condition(): + initalizers.append((entry_point.name, initalizer)) - import jnius_config + # sort by priority + initalizers = sorted(initalizers, key=lambda i: i[1].priority()) - for entry_point in pt.utils.entry_points('pyterrier.java.pre_init'): - _pre_init = entry_point.load() - _pre_init(jnius_config) - - if pt.java.configure['mem'] is not None: - jnius_config.add_options('-Xmx' + str(pt.java.configure['mem']) + 'm') - - for opt in pt.java.configure['options']: - jnius_config.add_options(opt) + import jnius_config - for jar in pt.java.configure['jars']: - jnius_config.add_classpath(jar) + # run pre-initialization setup + for _, initializer in initalizers: + initializer.pre_init(jnius_config) import jnius # noqa: PT100 _started = True - pt.java.set_log_level(pt.java.configure['log_level']) - if pt.java.configure['redirect_io']: - pt.java.redirect_stdouterr() - - java_version = pt.java.J.System.getProperty("java.version") - if java_version.startswith("1.") or java_version.startswith("9."): - raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" - + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") + # run post-initialization setup + for _, initializer in initalizers: + initializer.post_init(jnius) + # build "Java started" message message = [] - for entry_point in pt.utils.entry_points('pyterrier.java.post_init'): - _post_init = entry_point.load() - msg = _post_init(jnius) + for name, initializer in initalizers: + msg = initializer.message() if msg is None: - message.append(f' - {entry_point.name}\n') - elif msg is False: - pass + message.append(f' - {name}\n') else: - message.append(f' - {entry_point.name} [{msg}]') - sys.stderr.write('Java started and loaded:\n' + ''.join(message) + '\n') + message.append(f' - {name} [{msg}]\n') + sys.stderr.write('Java started and loaded:\n' + ''.join(message)) def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: diff --git a/pyterrier/terrier/index.py b/pyterrier/terrier/index.py index 16141e4a..cbaaedc8 100644 --- a/pyterrier/terrier/index.py +++ b/pyterrier/terrier/index.py @@ -13,7 +13,7 @@ from warnings import warn from deprecated import deprecated from collections import deque -from typing import List, Dict, Union, Any +from typing import List, Dict, Union import more_itertools import pyterrier as pt from pyterrier.terrier.stemmer import TerrierStemmer @@ -21,7 +21,7 @@ from pyterrier.terrier.stopwords import TerrierStopwords -# These classes are only defined after pt.java.init() +# These classes are only defined after pt.java.init() in pyterrier.terrier.java._post_init DocListIterator = None PythonListIterator = None FlatJSONDocumentIterator = None @@ -37,214 +37,6 @@ def __init__(self, *args, **kwargs): # lastdoc ensures that a Document instance from a Collection is not GCd before Java has used it. lastdoc = None -def _java_post_init(jnius): - global DocListIterator - global PythonListIterator - global FlatJSONDocumentIterator - global TQDMCollection - global TQDMSizeCollection - - @pt.java.required - class DocListIterator(jnius.PythonJavaClass): - __javainterfaces__ = [ - 'java/util/Iterator', - ] - - def __init__(self, pyiterator): - self.pyiterator = pyiterator - self.hasnext = True - self.lastdoc = None - self.tr57 = not pt.terrier.check_version("5.8") - - @staticmethod - def pyDictToMap(a_dict): #returns Map - rtr = pt.java.J.HashMap() - for k,v in a_dict.items(): - rtr.put(k, v) - return rtr - - def pyDictToMapEntry(self,doc_dict : Dict[str,Any]): #returns Map.Entry, DocumentPostingList>> - dpl = pt.terrier.J.DocumentPostingList() - # this works around a bug in the counting of doc lengths in Tr 5.7 - if self.tr57: - for t, tf in doc_dict["toks"].items(): - for i in range(int(tf)): - dpl.insert(t) - else: # this code for 5.8 onwards - for t, tf in doc_dict["toks"].items(): - dpl.insert(int(tf), t) - - # we cant make the toks column into the metaindex as it isnt a string. remove it. - del doc_dict["toks"] - return pt.terrier.J.MapEntry(DocListIterator.pyDictToMap(doc_dict), dpl) - - @jnius.java_method('()Z') - def hasNext(self): - return self.hasnext - - @jnius.java_method('()Ljava/lang/Object;') - def next(self): - try: - doc_dict = next(self.pyiterator) - except StopIteration as se: - self.hasnext = False - # terrier will ignore a null return from an iterator - return None - # keep this around to prevent being GCd before Java can read it - self.lastdoc = self.pyDictToMapEntry(doc_dict) - return self.lastdoc - - @pt.java.required - class TQDMCollection(jnius.PythonJavaClass): - __javainterfaces__ = ['org/terrier/indexing/Collection'] - - def __init__(self, collection): - super(TQDMCollection, self).__init__() - assert isinstance(collection, pt.terrier.J.MultiDocumentFileCollection) - self.collection = collection - size = self.collection.FilesToProcess.size() - self.pbar = pt.tqdm(total=size, unit="files") - self.last = -1 - - @jnius.java_method('()Z') - def nextDocument(self): - rtr = self.collection.nextDocument() - filenum = self.collection.FileNumber - if filenum > self.last: - self.pbar.update(filenum - self.last) - self.last = filenum - return rtr - - @jnius.java_method('()V') - def reset(self): - self.pbar.reset() - self.collection.reset() - - @jnius.java_method('()V') - def close(self): - self.pbar.close() - self.collection.close() - - @jnius.java_method('()Z') - def endOfCollection(self): - return self.collection.endOfCollection() - - @jnius.java_method('()Lorg/terrier/indexing/Document;') - def getDocument(self): - global lastdoc - lastdoc = self.collection.getDocument() - return lastdoc - - class PythonListIterator(jnius.PythonJavaClass): - __javainterfaces__ = ['java/util/Iterator'] - - def __init__(self, text, meta, convertFn, len=None, index=0): - super(PythonListIterator, self).__init__() - self.text = text - self.meta = meta - self.index = index - self.convertFn = convertFn - if len is None: - self.len = len(self.text) - else: - self.len = len - - @jnius.java_method('()V') - def remove(): - # 1 - pass - - @jnius.java_method('(Ljava/util/function/Consumer;)V') - def forEachRemaining(action): - # 1 - pass - - @jnius.java_method('()Z') - def hasNext(self): - return self.index < self.len - - @jnius.java_method('()Ljava/lang/Object;') - def next(self): - text = self.text[self.index] - meta = self.meta.__next__() - self.index += 1 - global lastdoc - if self.convertFn is not None: - lastdoc = self.convertFn(text, meta) - else: - lastdoc = [text, meta] - return lastdoc - - @pt.java.required - class FlatJSONDocumentIterator(jnius.PythonJavaClass): - __javainterfaces__ = ['java/util/Iterator'] - - def __init__(self, it): - super(FlatJSONDocumentIterator, self).__init__() - self._it = it - # easiest way to support hasNext is just to start consuming right away, I think - self._next = next(self._it, StopIteration) - - @jnius.java_method('()V') - def remove(): - # 1 - pass - - @jnius.java_method('(Ljava/util/function/Consumer;)V') - def forEachRemaining(action): - # 1 - pass - - @jnius.java_method('()Z') - def hasNext(self): - return self._next is not StopIteration - - @jnius.java_method('()Ljava/lang/Object;') - def next(self): - result = self._next - self._next = next(self._it, StopIteration) - if result is not StopIteration: - global lastdoc - lastdoc = pt.terrier.J.FlatJSONDocument(json.dumps(result)) - return lastdoc - return None - - class TQDMSizeCollection(jnius.PythonJavaClass): - __javainterfaces__ = ['org/terrier/indexing/Collection'] - - def __init__(self, collection, total): - super(TQDMSizeCollection, self).__init__() - self.collection = collection - self.pbar = pt.tqdm(total=total, unit="documents") - - @jnius.java_method('()Z') - def nextDocument(self): - rtr = self.collection.nextDocument() - self.pbar.update() - return rtr - - @jnius.java_method('()V') - def reset(self): - self.pbar.reset() - self.collection.reset() - - @jnius.java_method('()V') - def close(self): - self.pbar.close() - self.collection.close() - - @jnius.java_method('()Z') - def endOfCollection(self): - return self.collection.endOfCollection() - - @jnius.java_method('()Lorg/terrier/indexing/Document;') - def getDocument(self): - global lastdoc - lastdoc = self.collection.getDocument() - return lastdoc - - - type_to_class = { 'trec' : 'org.terrier.indexing.TRECCollection', 'trecweb' : 'org.terrier.indexing.TRECWebCollection', diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 5d7bb801..4a4d3d96 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -1,7 +1,8 @@ import sys +import json from functools import wraps from packaging.version import Version -from typing import Optional, Union, List, Callable +from typing import Optional, Union, List, Callable, Dict, Any import pyterrier as pt TERRIER_PKG = "org.terrier" @@ -46,110 +47,321 @@ def prf_required(fn: Optional[Callable] = None) -> Union[Callable, bool]: raise RuntimeError('you need to call pt.terrier.enable_prf() before java is loaded to use this function.') -def _pre_init(jnius_config): - """ - Download Terrier's jar file for the given version at the given file_path - Called by pt.init() - - Args: - file_path(str): Where to download - terrier_version(str): Which version of Terrier - None is latest release; "snapshot" uses Jitpack to download a build of the current Github 5.x branch. - helper_version(str): Which version of the helper - None is latest - """ - # If version is not specified, find newest and download it - if configure['terrier_version'] is None: - terrier_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") - else: - terrier_version = str(configure['terrier_version']) # just in case its a float - configure['terrier_version'] = terrier_version # save this specific version - - # obtain the fat jar from Maven - # "snapshot" means use Jitpack.io to get a build of the current - # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT - if terrier_version == "snapshot": - trJar = pt.java.mavenresolver.get_package_jar("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", artifact="jar-with-dependencies", force_download=configure['force_download']) - else: - trJar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, "terrier-assemblies", terrier_version, artifact="jar-with-dependencies") - jnius_config.add_classpath(trJar) - - # now the helper classes - if configure['helper_version'] is None or configure['helper_version'] == 'snapshot': - helper_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") - configure['helper_version'] = helper_version # save this specific version - else: - helper_version = str(configure['helper_version']) # just in case its a float - helper_jar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, 'terrier-python-helper', helper_version) - jnius_config.add_classpath(helper_jar) - - if configure['prf_version'] is not None: - prf_jar = pt.java.mavenresolver.get_package_jar('com.github.terrierteam', 'terrier-prf', configure['prf_version']) - jnius_config.add_classpath(prf_jar) - - -@pt.java.required_raise -def _post_init(jnius): - global _properties - - jnius.protocol_map["org.terrier.structures.postings.IterablePosting"] = { - '__iter__': lambda self: self, - '__next__': lambda self: _iterableposting_next(self), - '__str__': lambda self: self.toString() - } - - jnius.protocol_map["org.terrier.structures.CollectionStatistics"] = { - '__str__': lambda self: self.toString() - } - - jnius.protocol_map["org.terrier.structures.LexiconEntry"] = { - '__str__': lambda self: self.toString() - } - - jnius.protocol_map["org.terrier.structures.Lexicon"] = { - '__getitem__': _lexicon_getitem, - '__contains__': lambda self, term: self.getLexiconEntry(term) is not None, - '__len__': lambda self: self.numberOfEntries() - } - - jnius.protocol_map["org.terrier.querying.IndexRef"] = { - '__reduce__' : _index_ref_reduce, - '__getstate__' : lambda self : None, - } - - jnius.protocol_map["org.terrier.matching.models.WeightingModel"] = { - '__reduce__' : _wmodel_reduce, - '__getstate__' : lambda self : None, - } - - jnius.protocol_map["org.terrier.python.CallableWeightingModel"] = { - '__reduce__' : _callable_wmodel_reduce, - '__getstate__' : lambda self : None, - } - - jnius.protocol_map["org.terrier.structures.Index"] = { - # this means that len(index) returns the number of documents in the index - '__len__': lambda self: self.getCollectionStatistics().getNumberOfDocuments(), - - # document-wise composition of indices: adding more documents to an index, by merging two indices with - # different numbers of documents. This implemented by the overloading the `+` Python operator - '__add__': _index_add, - - # get_corpus_iter returns a yield generator that return {"docno": "d1", "toks" : {'a' : 1}} - 'get_corpus_iter' : _index_corpusiter - } - - pt.IndexRef = J.IndexRef - _properties = pt.java.J.Properties() - pt.ApplicationSetup = J.ApplicationSetup - J.ApplicationSetup.bootstrapInitialisation(_properties) - - version_string = J.Version.VERSION - if "BUILD_DATE" in dir(J.Version): - version_string += f" (build: {J.Version.BUILD_USER} {J.Version.BUILD_DATE})" - - res = f"version={version_string}, helper_version={configure['helper_version']}" - if configure['prf_version'] is not None: - res += f" prf_version={configure['prf_version']}" - return res +class TerrierInit(pt.java.JavaInitializer): + def pre_init(self, jnius_config): + """ + Download Terrier's jar file for the given version at the given file_path + Called by pt.init() + + Args: + file_path(str): Where to download + terrier_version(str): Which version of Terrier - None is latest release; "snapshot" uses Jitpack to download a build of the current Github 5.x branch. + helper_version(str): Which version of the helper - None is latest + """ + # If version is not specified, find newest and download it + if configure['terrier_version'] is None: + terrier_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") + else: + terrier_version = str(configure['terrier_version']) # just in case its a float + configure['terrier_version'] = terrier_version # save this specific version + + # obtain the fat jar from Maven + # "snapshot" means use Jitpack.io to get a build of the current + # 5.x branch from Github - see https://jitpack.io/#terrier-org/terrier-core/5.x-SNAPSHOT + if terrier_version == "snapshot": + trJar = pt.java.mavenresolver.get_package_jar("com.github.terrier-org.terrier-core", "terrier-assemblies", "5.x-SNAPSHOT", artifact="jar-with-dependencies", force_download=configure['force_download']) + else: + trJar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, "terrier-assemblies", terrier_version, artifact="jar-with-dependencies") + jnius_config.add_classpath(trJar) + + # now the helper classes + if configure['helper_version'] is None or configure['helper_version'] == 'snapshot': + helper_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-python-helper") + configure['helper_version'] = helper_version # save this specific version + else: + helper_version = str(configure['helper_version']) # just in case its a float + helper_jar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, 'terrier-python-helper', helper_version) + jnius_config.add_classpath(helper_jar) + + if configure['prf_version'] is not None: + prf_jar = pt.java.mavenresolver.get_package_jar('com.github.terrierteam', 'terrier-prf', configure['prf_version']) + jnius_config.add_classpath(prf_jar) + + + @pt.java.required_raise + def post_init(self, jnius): + global _properties + + jnius.protocol_map["org.terrier.structures.postings.IterablePosting"] = { + '__iter__': lambda self: self, + '__next__': lambda self: _iterableposting_next(self), + '__str__': lambda self: self.toString() + } + + jnius.protocol_map["org.terrier.structures.CollectionStatistics"] = { + '__str__': lambda self: self.toString() + } + + jnius.protocol_map["org.terrier.structures.LexiconEntry"] = { + '__str__': lambda self: self.toString() + } + + jnius.protocol_map["org.terrier.structures.Lexicon"] = { + '__getitem__': _lexicon_getitem, + '__contains__': lambda self, term: self.getLexiconEntry(term) is not None, + '__len__': lambda self: self.numberOfEntries() + } + + jnius.protocol_map["org.terrier.querying.IndexRef"] = { + '__reduce__' : _index_ref_reduce, + '__getstate__' : lambda self : None, + } + + jnius.protocol_map["org.terrier.matching.models.WeightingModel"] = { + '__reduce__' : _wmodel_reduce, + '__getstate__' : lambda self : None, + } + + jnius.protocol_map["org.terrier.python.CallableWeightingModel"] = { + '__reduce__' : _callable_wmodel_reduce, + '__getstate__' : lambda self : None, + } + + jnius.protocol_map["org.terrier.structures.Index"] = { + # this means that len(index) returns the number of documents in the index + '__len__': lambda self: self.getCollectionStatistics().getNumberOfDocuments(), + + # document-wise composition of indices: adding more documents to an index, by merging two indices with + # different numbers of documents. This implemented by the overloading the `+` Python operator + '__add__': _index_add, + + # get_corpus_iter returns a yield generator that return {"docno": "d1", "toks" : {'a' : 1}} + 'get_corpus_iter' : _index_corpusiter + } + + self._post_init_index(jnius) + + pt.IndexRef = J.IndexRef + _properties = pt.java.J.Properties() + pt.ApplicationSetup = J.ApplicationSetup + J.ApplicationSetup.bootstrapInitialisation(_properties) + + def message(self): + version_string = J.Version.VERSION + if "BUILD_DATE" in dir(J.Version): + version_string += f" (build: {J.Version.BUILD_USER} {J.Version.BUILD_DATE})" + + res = f"version={version_string}, helper_version={configure['helper_version']}" + if configure['prf_version'] is not None: + res += f" prf_version={configure['prf_version']}" + + return res + + def _post_init_index(self, jnius): + @pt.java.required + class DocListIterator(jnius.PythonJavaClass): + __javainterfaces__ = [ + 'java/util/Iterator', + ] + + def __init__(self, pyiterator): + self.pyiterator = pyiterator + self.hasnext = True + self.lastdoc = None + self.tr57 = not pt.terrier.check_version("5.8") + + @staticmethod + def pyDictToMap(a_dict): #returns Map + rtr = pt.java.J.HashMap() + for k,v in a_dict.items(): + rtr.put(k, v) + return rtr + + def pyDictToMapEntry(self,doc_dict : Dict[str,Any]): #returns Map.Entry, DocumentPostingList>> + dpl = pt.terrier.J.DocumentPostingList() + # this works around a bug in the counting of doc lengths in Tr 5.7 + if self.tr57: + for t, tf in doc_dict["toks"].items(): + for i in range(int(tf)): + dpl.insert(t) + else: # this code for 5.8 onwards + for t, tf in doc_dict["toks"].items(): + dpl.insert(int(tf), t) + + # we cant make the toks column into the metaindex as it isnt a string. remove it. + del doc_dict["toks"] + return pt.terrier.J.MapEntry(DocListIterator.pyDictToMap(doc_dict), dpl) + + @jnius.java_method('()Z') + def hasNext(self): + return self.hasnext + + @jnius.java_method('()Ljava/lang/Object;') + def next(self): + try: + doc_dict = next(self.pyiterator) + except StopIteration as se: + self.hasnext = False + # terrier will ignore a null return from an iterator + return None + # keep this around to prevent being GCd before Java can read it + self.lastdoc = self.pyDictToMapEntry(doc_dict) + return self.lastdoc + + @pt.java.required + class TQDMCollection(jnius.PythonJavaClass): + __javainterfaces__ = ['org/terrier/indexing/Collection'] + + def __init__(self, collection): + super(TQDMCollection, self).__init__() + assert isinstance(collection, pt.terrier.J.MultiDocumentFileCollection) + self.collection = collection + size = self.collection.FilesToProcess.size() + self.pbar = pt.tqdm(total=size, unit="files") + self.last = -1 + + @jnius.java_method('()Z') + def nextDocument(self): + rtr = self.collection.nextDocument() + filenum = self.collection.FileNumber + if filenum > self.last: + self.pbar.update(filenum - self.last) + self.last = filenum + return rtr + + @jnius.java_method('()V') + def reset(self): + self.pbar.reset() + self.collection.reset() + + @jnius.java_method('()V') + def close(self): + self.pbar.close() + self.collection.close() + + @jnius.java_method('()Z') + def endOfCollection(self): + return self.collection.endOfCollection() + + @jnius.java_method('()Lorg/terrier/indexing/Document;') + def getDocument(self): + global lastdoc + lastdoc = self.collection.getDocument() + return lastdoc + + class PythonListIterator(jnius.PythonJavaClass): + __javainterfaces__ = ['java/util/Iterator'] + + def __init__(self, text, meta, convertFn, len=None, index=0): + super(PythonListIterator, self).__init__() + self.text = text + self.meta = meta + self.index = index + self.convertFn = convertFn + if len is None: + self.len = len(self.text) + else: + self.len = len + + @jnius.java_method('()V') + def remove(): + # 1 + pass + + @jnius.java_method('(Ljava/util/function/Consumer;)V') + def forEachRemaining(action): + # 1 + pass + + @jnius.java_method('()Z') + def hasNext(self): + return self.index < self.len + + @jnius.java_method('()Ljava/lang/Object;') + def next(self): + text = self.text[self.index] + meta = self.meta.__next__() + self.index += 1 + global lastdoc + if self.convertFn is not None: + lastdoc = self.convertFn(text, meta) + else: + lastdoc = [text, meta] + return lastdoc + + @pt.java.required + class FlatJSONDocumentIterator(jnius.PythonJavaClass): + __javainterfaces__ = ['java/util/Iterator'] + + def __init__(self, it): + super(FlatJSONDocumentIterator, self).__init__() + self._it = it + # easiest way to support hasNext is just to start consuming right away, I think + self._next = next(self._it, StopIteration) + + @jnius.java_method('()V') + def remove(): + # 1 + pass + + @jnius.java_method('(Ljava/util/function/Consumer;)V') + def forEachRemaining(action): + # 1 + pass + + @jnius.java_method('()Z') + def hasNext(self): + return self._next is not StopIteration + + @jnius.java_method('()Ljava/lang/Object;') + def next(self): + result = self._next + self._next = next(self._it, StopIteration) + if result is not StopIteration: + global lastdoc + lastdoc = pt.terrier.J.FlatJSONDocument(json.dumps(result)) + return lastdoc + return None + + class TQDMSizeCollection(jnius.PythonJavaClass): + __javainterfaces__ = ['org/terrier/indexing/Collection'] + + def __init__(self, collection, total): + super(TQDMSizeCollection, self).__init__() + self.collection = collection + self.pbar = pt.tqdm(total=total, unit="documents") + + @jnius.java_method('()Z') + def nextDocument(self): + rtr = self.collection.nextDocument() + self.pbar.update() + return rtr + + @jnius.java_method('()V') + def reset(self): + self.pbar.reset() + self.collection.reset() + + @jnius.java_method('()V') + def close(self): + self.pbar.close() + self.collection.close() + + @jnius.java_method('()Z') + def endOfCollection(self): + return self.collection.endOfCollection() + + @jnius.java_method('()Lorg/terrier/indexing/Document;') + def getDocument(self): + global lastdoc + lastdoc = self.collection.getDocument() + return lastdoc + + pt.terrier.index.DocListIterator = DocListIterator + pt.terrier.index.PythonListIterator = PythonListIterator + pt.terrier.index.FlatJSONDocumentIterator = FlatJSONDocumentIterator + pt.terrier.index.TQDMCollection = TQDMCollection + pt.terrier.index.TQDMSizeCollection = TQDMSizeCollection def _new_indexref(s): diff --git a/setup.py b/setup.py index 83e38858..045fffdf 100644 --- a/setup.py +++ b/setup.py @@ -71,15 +71,10 @@ def get_version(rel_path): "Operating System :: OS Independent", ], entry_points={ - 'pyterrier.java.pre_init': [ - 'pyterrier.terrier.java = pyterrier.terrier.java:_pre_init', - 'pyterrier.anserini.java = pyterrier.anserini.java:_pre_init', - ], - 'pyterrier.java.post_init': [ - 'pyterrier.java = pyterrier.java._init:_post_init', - 'pyterrier.terrier.java = pyterrier.terrier.java:_post_init', - 'pyterrier.terrier.index = pyterrier.terrier.index:_java_post_init', - 'pyterrier.anserini.java = pyterrier.anserini.java:_post_init', + 'pyterrier.java.init': [ + 'pyterrier.java = pyterrier.java._init:CoreInit', + 'pyterrier.terrier.java = pyterrier.terrier.java:TerrierInit', + 'pyterrier.anserini.java = pyterrier.anserini.java:AnseriniInit', ], }, install_requires=requirements, From 865784d853a0667d833ca1de4abaddd807823616 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 10:20:49 +0100 Subject: [PATCH 105/153] missing decorator --- pyterrier/terrier/java.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 4a4d3d96..4ec00eb0 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -146,6 +146,7 @@ def post_init(self, jnius): pt.ApplicationSetup = J.ApplicationSetup J.ApplicationSetup.bootstrapInitialisation(_properties) + @pt.java.required_raise def message(self): version_string = J.Version.VERSION if "BUILD_DATE" in dir(J.Version): From dc3625a4f051bdb4ea790ded702cb381b0db821f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 10:31:37 +0100 Subject: [PATCH 106/153] misc fixes --- pyterrier/anserini/java.py | 2 -- pyterrier/java/_init.py | 22 ++++++++++++++++++++++ tests/anserini/test_anserini.py | 7 ------- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index a8bed7c4..cad1fc3e 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -1,8 +1,6 @@ import os -import inspect from glob import glob from typing import Callable, Optional, Union -from functools import wraps import pyterrier as pt diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 853e17a9..4dfe0eae 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -11,19 +11,41 @@ class JavaInitializer: + """ + A `JavaInitializer` manages the initilization of a module that uses java components. The two main methods are + `pre_init` and `post_init`, which perform configuration before and after the JVM has started, respectively. + """ + def priority(self) -> int: + """ + Returns the priority of this initializer. A lower priority is executed first. + """ return 0 def condition(self) -> bool: + """ + Returns True if the initializer should be run. Otherwise False. + """ return True def pre_init(self, jnius_config) -> None: + """ + Called before the JVM is started. `jnius_config` is the `jnius_config` module, whic can be used to configure + java, such as by adding jars to the classpath. + """ pass def post_init(self, jnius) -> None: + """ + Called after the JVM has started. `jnius` is the `jnius` module, which can be used to interact with java. + """ pass def message(self) -> Optional[str]: + """ + Returns a message to be displayed after the JVM has started alongside the name of the entry point. If None, + only the entry point name will be displayed. + """ return None diff --git a/tests/anserini/test_anserini.py b/tests/anserini/test_anserini.py index 090d5d88..a48db50d 100644 --- a/tests/anserini/test_anserini.py +++ b/tests/anserini/test_anserini.py @@ -1,7 +1,6 @@ import unittest import os import pyterrier as pt -ANSERINI_VERSION="0.22.0" class AnseriniTestCase(unittest.TestCase): @@ -15,12 +14,6 @@ def skip_pyserini(self): def __init__(self, *args, **kwargs): super(AnseriniTestCase, self).__init__(*args, **kwargs) if pt.anserini.is_installed(): - anserini_version = os.environ.get("ANSERINI_VERSION", ANSERINI_VERSION) - terrier_version = os.environ.get("TERRIER_VERSION", None) - if terrier_version is not None: - print("Testing with Terrier version " + terrier_version) - if not pt.started(): - pt.init(version=terrier_version, logging="DEBUG", boot_packages=["io.anserini:anserini:%s:fatjar" % anserini_version]) self.here = os.path.dirname(os.path.realpath(__file__)) def test_anserini_vaswani(self): From 8b27581e0fc5167ea7185b65b834d49c5d95839e Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 11:28:13 +0100 Subject: [PATCH 107/153] anserini messages --- pyterrier/anserini/java.py | 20 +++++++++++++++----- pyterrier/java/_init.py | 2 ++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index cad1fc3e..4ac3cf71 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -1,6 +1,7 @@ import os +from pathlib import Path from glob import glob -from typing import Callable, Optional, Union +from typing import Callable, Optional, Union, Tuple import pyterrier as pt @@ -10,15 +11,20 @@ class AnseriniInit(pt.java.JavaInitializer): + def __init__(self): + self._message = None + def condition(self): return is_installed() def pre_init(self, jnius_config): if configure['version'] is None: - jar = _get_pyserini_jar() + jar, version = _get_pyserini_jar() + self._message = f"version={version} (from pyserini package)" else: # download and use the anserini version specified by the user jar = pt.java.mavenresolver.get_package_jar('io.anserini', "anserini", configure['version'], artifact='fatjar') + self._message = f"version={configure['version']} (local cache)" if jar is None: raise RuntimeError('Could not find anserini jar') @@ -35,6 +41,9 @@ def post_init(self, jnius): finally: pyserini.setup.configure_classpath = _configure_classpath + def message(self): + return self._message + def is_installed(): try: @@ -44,16 +53,17 @@ def is_installed(): return True -def _get_pyserini_jar() -> Optional[str]: +def _get_pyserini_jar() -> Optional[Tuple[str, str]]: # find the anserini jar distributed with pyserini # Adapted from pyserini/setup.py and pyserini/pyclass.py import pyserini.setup jar_root = os.path.join(os.path.split(pyserini.setup.__file__)[0], 'resources/jars/') paths = glob(os.path.join(jar_root, 'anserini-*-fatjar.jar')) if not paths: - return None + return None, None latest_jar = max(paths, key=os.path.getctime) - return latest_jar + version = Path(latest_jar).name.split('-')[-2] + return latest_jar, version @pt.java.before_init def set_version(version: str): diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py index 4dfe0eae..804efc72 100644 --- a/pyterrier/java/_init.py +++ b/pyterrier/java/_init.py @@ -156,6 +156,8 @@ def init() -> None: # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') # return + # TODO: what about errors during init? What happens to _started? Etc. + initalizers = [] for entry_point in pt.utils.entry_points('pyterrier.java.init'): initalizer = entry_point.load()() From 9869fe3e685975bfb99bd29d3282e6b5f0a6693b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 11:55:23 +0100 Subject: [PATCH 108/153] reorg pyterrier/java files to make more sense --- pyterrier/__init__.py | 2 +- pyterrier/anserini/java.py | 2 +- pyterrier/java/__init__.py | 6 +- pyterrier/java/_init.py | 289 ---------------------------- pyterrier/java/config.py | 52 ----- pyterrier/java/core.py | 197 +++++++++++++++++++ pyterrier/java/utils.py | 383 +++++++++++++++++++++++++------------ pyterrier/terrier/java.py | 2 +- setup.py | 2 +- 9 files changed, 466 insertions(+), 469 deletions(-) delete mode 100644 pyterrier/java/_init.py delete mode 100644 pyterrier/java/config.py create mode 100644 pyterrier/java/core.py diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index dcbbf14e..8d611ee9 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -29,7 +29,7 @@ # old name Utils = utils -# will be set in terrier.java._post_init once java is loaded +# will be set in terrier.terrier.java once java is loaded IndexRef = None diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index 4ac3cf71..298a8973 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -5,7 +5,7 @@ import pyterrier as pt -configure = pt.java.config.register('pyterrier.anserini', { +configure = pt.java.register_config('pyterrier.anserini', { 'version': None, }) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index d47eeb51..08655365 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,8 +1,6 @@ from pyterrier.java import mavenresolver -from pyterrier.java._init import init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init, JavaInitializer, CoreInit -from pyterrier.java import config -from pyterrier.java.config import configure -from pyterrier.java.utils import redirect_stdouterr, bytebuffer_to_array, JavaClasses, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level +from pyterrier.java.utils import JavaInitializer, init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init, register_config, Configuration, JavaClasses +from pyterrier.java.core import CoreInit, configure, redirect_stdouterr, bytebuffer_to_array, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level __all__ = [ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', diff --git a/pyterrier/java/_init.py b/pyterrier/java/_init.py deleted file mode 100644 index 804efc72..00000000 --- a/pyterrier/java/_init.py +++ /dev/null @@ -1,289 +0,0 @@ -import sys -import os -from warnings import warn -from functools import wraps -from typing import Dict, Any, Tuple, Callable, Optional, Union -from copy import deepcopy -import pyterrier as pt - - -_started = False - - -class JavaInitializer: - """ - A `JavaInitializer` manages the initilization of a module that uses java components. The two main methods are - `pre_init` and `post_init`, which perform configuration before and after the JVM has started, respectively. - """ - - def priority(self) -> int: - """ - Returns the priority of this initializer. A lower priority is executed first. - """ - return 0 - - def condition(self) -> bool: - """ - Returns True if the initializer should be run. Otherwise False. - """ - return True - - def pre_init(self, jnius_config) -> None: - """ - Called before the JVM is started. `jnius_config` is the `jnius_config` module, whic can be used to configure - java, such as by adding jars to the classpath. - """ - pass - - def post_init(self, jnius) -> None: - """ - Called after the JVM has started. `jnius` is the `jnius` module, which can be used to interact with java. - """ - pass - - def message(self) -> Optional[str]: - """ - Returns a message to be displayed after the JVM has started alongside the name of the entry point. If None, - only the entry point name will be displayed. - """ - return None - - -def started() -> bool: - """ - Returns True if pt.java.init() has been called. Otherwise False. - """ - return _started - - -@pt.utils.pre_invocation_decorator -def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: - """ - Requires the Java Virtual Machine to be started. If the JVM has not yet been started, it runs pt.java.init(). - - Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it - is applied to all methods defined by the class. - """ - if not started(): - init() - - -def required_raise(fn: Optional[Callable] = None) -> Union[Callable, bool]: - """ - Similar to `pt.java.required`, but raises an error if called before pt.java.init(). - """ - if fn is None: - return required_raise(pt.utils.noop)() - - @wraps(fn) - def _wrapper(*args, **kwargs): - if not started(): - raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') - return fn(*args, **kwargs) - return _wrapper - - -def before_init(fn: Optional[Callable] = None) -> Union[Callable, bool]: - """ - If the JVM has already started, an error is raised. - - Can be used as either a standalone function or a function decorator. - """ - if fn is None: - return before_init(pt.utils.noop)() - - @wraps(fn) - def _wrapper(*args, **kwargs): - if started(): - raise RuntimeError(f'You can only call {fn} before either you start using java or call pt.java.init()') - return fn(*args, **kwargs) - return _wrapper - - -class CoreInit(JavaInitializer): - def priority(self) -> int: - return -100 # run this initializer before anything else - - def pre_init(self, jnius_config): - if pt.utils.is_windows(): - if "JAVA_HOME" in os.environ: - java_home = os.environ["JAVA_HOME"] - fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' - os.environ["PATH"] = os.environ["PATH"] + ";" + fix - - if pt.java.configure['mem'] is not None: - jnius_config.add_options('-Xmx' + str(pt.java.configure['mem']) + 'm') - - for opt in pt.java.configure['options']: - jnius_config.add_options(opt) - - for jar in pt.java.configure['jars']: - jnius_config.add_classpath(jar) - - @required_raise - def post_init(self, jnius): - pt.java.set_log_level(pt.java.configure['log_level']) - - if pt.java.configure['redirect_io']: - pt.java.redirect_stdouterr() - - java_version = pt.java.J.System.getProperty("java.version") - if java_version.startswith("1.") or java_version.startswith("9."): - raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" - + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") - - jnius.protocol_map['java.util.Map$Entry'] = { - '__getitem__' : _mapentry_getitem, - '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), - '__len__' : lambda self: 2 - } - - -# Map$Entry can be decoded like a tuple -def _mapentry_getitem(self, i): - if i == 0: - return self.getKey() - if i == 1: - return self.getValue() - raise IndexError() - - -@pt.utils.once() -def init() -> None: - global _started - # TODO: if we make java optional some day, should check here that it's installed. E.g., - # if find_spec('jnius_config') is None: - # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') - # return - - # TODO: what about errors during init? What happens to _started? Etc. - - initalizers = [] - for entry_point in pt.utils.entry_points('pyterrier.java.init'): - initalizer = entry_point.load()() - if initalizer.condition(): - initalizers.append((entry_point.name, initalizer)) - - # sort by priority - initalizers = sorted(initalizers, key=lambda i: i[1].priority()) - - import jnius_config - - # run pre-initialization setup - for _, initializer in initalizers: - initializer.pre_init(jnius_config) - - import jnius # noqa: PT100 - _started = True - - # run post-initialization setup - for _, initializer in initalizers: - initializer.post_init(jnius) - - # build "Java started" message - message = [] - for name, initializer in initalizers: - msg = initializer.message() - if msg is None: - message.append(f' - {name}\n') - else: - message.append(f' - {name} [{msg}]\n') - sys.stderr.write('Java started and loaded:\n' + ''.join(message)) - - -def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: - if started: - if not pt.java.started(): - warn(f'Starting java parallel with configs {configs}') - pt.java.config._CONFIGS = configs - init() - else: - warn("Avoiding reinit of PyTerrier") - - -def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: - return ( - started(), - deepcopy(pt.java.config._CONFIGS), - ) - - -@required_raise -def autoclass(*args, **kwargs): - """ - Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. - """ - import jnius # noqa: PT100 - return jnius.autoclass(*args, **kwargs) # noqa: PT100 - - -@required_raise -def cast(*args, **kwargs): - """ - Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. - """ - import jnius # noqa: PT100 - return jnius.cast(*args, **kwargs) # noqa: PT100 - - -@before_init -def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): - """ - Function that can be called before Terrier classes and methods can be used. - Loads the Terrier .jar file and imports classes. Also finds the correct version of Terrier to download if no version is specified. - - Args: - version(str): Which version of Terrier to download. Default is `None`. - - * If None, find the newest Terrier released version in MavenCentral and download it. - * If `"snapshot"`, will download the latest build from `Jitpack `_. - - mem(str): Maximum memory allocated for the Java virtual machine heap in MB. Corresponds to java `-Xmx` commandline argument. Default is 1/4 of physical memory. - boot_packages(list(str)): Extra maven package coordinates files to load before starting Java. Default=`[]`. There is more information about loading packages in the `Terrier documentation `_ - packages(list(str)): Extra maven package coordinates files to load, using the Terrier classloader. Default=`[]`. See also `boot_packages` above. - jvm_opts(list(str)): Extra options to pass to the JVM. Default=`[]`. For instance, you may enable Java assertions by setting `jvm_opts=['-ea']` - redirect_io(boolean): If True, the Java `System.out` and `System.err` will be redirected to Pythons sys.out and sys.err. Default=True. - logging(str): the logging level to use: - - * Can be one of `'INFO'`, `'DEBUG'`, `'TRACE'`, `'WARN'`, `'ERROR'`. The latter is the quietest. - * Default is `'WARN'`. - - home_dir(str): the home directory to use. Default to PYTERRIER_HOME environment variable. - tqdm: The `tqdm `_ instance to use for progress bars within PyTerrier. Defaults to tqdm.tqdm. Available options are `'tqdm'`, `'auto'` or `'notebook'`. - helper_version(str): Which version of the helper. - - - **Locating the Terrier .jar file:** PyTerrier is not tied to a specific version of Terrier and will automatically locate and download a recent Terrier .jar file. However, inevitably, some functionalities will require more recent Terrier versions. - - * If set, PyTerrier uses the `version` init kwarg to determine the .jar file to look for. - * If the `version` init kwarg is not set, Terrier will query MavenCentral to determine the latest Terrier release. - * If `version` is set to `"snapshot"`, the latest .jar file build derived from the `Terrier Github repository `_ will be downloaded from `Jitpack `_. - * Otherwise the local (`~/.mvn`) and MavenCentral repositories are searched for the jar file at the given version. - In this way, the default setting is to download the latest release of Terrier from MavenCentral. The user is also able to use a locally installed copy in their private Maven repository, or track the latest build of Terrier from Jitpack. - - If you wish to run PyTerrier in an offline enviroment, you should ensure that the "terrier-assemblies-{your version}-jar-with-dependencies.jar" and "terrier-python-helper-{your helper version}.jar" - are in the "~/.pyterrier" (if they are not present, they will be downloaded the first time). Then you should set their versions when calling ``init()`` function. For example: - ``pt.init(version = 5.5, helper_version = "0.0.6")``. - """ - - # Set the corresponding options - pt.java.set_memory_limit(mem) - pt.java.set_redirect_io(redirect_io) - pt.java.set_log_level(logging) - for package in boot_packages: - pt.java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) - for opt in jvm_opts: - pt.java.add_option(opt) - pt.terrier.set_version(version) - pt.terrier.set_helper_version(helper_version) - if tqdm is not None: - pt.utils.set_tqdm(tqdm) - if no_download: - pt.java.mavenresolver.offline() - - pt.java.init() - - # Import other java packages - if packages: - pkgs_string = ",".join(packages) - pt.terrier.set_property("terrier.mvn.coords", pkgs_string) diff --git a/pyterrier/java/config.py b/pyterrier/java/config.py deleted file mode 100644 index 778b9e2b..00000000 --- a/pyterrier/java/config.py +++ /dev/null @@ -1,52 +0,0 @@ -from typing import Dict, Any -from copy import deepcopy -from pyterrier.java._init import before_init, started - -_CONFIGS = {} - -class Configuration: - def __init__(self, name): - self.name = name - - def get(self, key): - return deepcopy(_CONFIGS[self.name][key]) - - @before_init - def set(self, key, value): - self(**{key: value}) - - def append(self, key, value): - res = self.get(key) - res.append(value) - self(**{key: res}) - - def __getitem__(self, key): - return self.get(key) - - @before_init - def __setitem__(self, key, value): - self.set(key, value) - - def __call__(self, **settings: Any): - if started() and any(settings): - raise RuntimeError('You cannot change java settings after java has started') - for key, value in settings.items(): - if key not in _CONFIGS[self.name]: - raise AttributeError(f'{key!r} not defined as a java setting for {self.name!r}') - _CONFIGS[self.name][key] = value - return deepcopy(_CONFIGS[self.name]) - - -def register(name, config: Dict[str, Any]): - assert name not in _CONFIGS - _CONFIGS[name] = deepcopy(config) - return Configuration(name) - - -configure = register('pyterrier.java', { - 'jars': [], - 'options': [], - 'mem': None, - 'log_level': 'WARN', - 'redirect_io': True, -}) diff --git a/pyterrier/java/core.py b/pyterrier/java/core.py new file mode 100644 index 00000000..b5a2ae37 --- /dev/null +++ b/pyterrier/java/core.py @@ -0,0 +1,197 @@ +import os +from pyterrier.java import required_raise, required, before_init, started, mavenresolver, JavaClasses, JavaInitializer, register_config +from typing import Dict, Optional +import pyterrier as pt + + +stdout_ref = None +stderr_ref = None + + + +configure = register_config('pyterrier.java', { + 'jars': [], + 'options': [], + 'mem': None, + 'log_level': 'WARN', + 'redirect_io': True, +}) + + + +class CoreInit(JavaInitializer): + def priority(self) -> int: + return -100 # run this initializer before anything else + + def pre_init(self, jnius_config): + if pt.utils.is_windows(): + if "JAVA_HOME" in os.environ: + java_home = os.environ["JAVA_HOME"] + fix = f'{java_home}\\jre\\bin\\server\\;{java_home}\\jre\\bin\\client\\;{java_home}\\bin\\server\\' + os.environ["PATH"] = os.environ["PATH"] + ";" + fix + + if pt.java.configure['mem'] is not None: + jnius_config.add_options('-Xmx' + str(pt.java.configure['mem']) + 'm') + + for opt in pt.java.configure['options']: + jnius_config.add_options(opt) + + for jar in pt.java.configure['jars']: + jnius_config.add_classpath(jar) + + @required_raise + def post_init(self, jnius): + pt.java.set_log_level(pt.java.configure['log_level']) + + if pt.java.configure['redirect_io']: + pt.java.redirect_stdouterr() + + java_version = pt.java.J.System.getProperty("java.version") + if java_version.startswith("1.") or java_version.startswith("9."): + raise RuntimeError(f"Pyterrier requires Java 11 or newer, we only found Java version {java_version};" + + " install a more recent Java, or change os.environ['JAVA_HOME'] to point to the proper Java installation") + + jnius.protocol_map['java.util.Map$Entry'] = { + '__getitem__' : _mapentry_getitem, + '__iter__' : lambda self: iter([self.getKey(), self.getValue()]), + '__len__' : lambda self: 2 + } + + +# Map$Entry can be decoded like a tuple +def _mapentry_getitem(self, i): + if i == 0: + return self.getKey() + if i == 1: + return self.getValue() + raise IndexError() + + +def _is_binary(f): + import io + return isinstance(f, (io.RawIOBase, io.BufferedIOBase)) + + +@required +def redirect_stdouterr(): + from jnius import autoclass, PythonJavaClass, java_method + + # TODO: encodings may be a probem here + class MyOut(PythonJavaClass): + __javainterfaces__ = ['org.terrier.python.OutputStreamable'] + + def __init__(self, pystream): + super(MyOut, self).__init__() + self.pystream = pystream + self.binary = _is_binary(pystream) + + @java_method('()V') + def close(self): + self.pystream.close() + + @java_method('()V') + def flush(self): + self.pystream.flush() + + @java_method('([B)V', name='write') + def writeByteArray(self, byteArray): + # TODO probably this could be faster. + for c in byteArray: + self.writeChar(c) + + @java_method('([BII)V', name='write') + def writeByteArrayIntInt(self, byteArray, offset, length): + # TODO probably this could be faster. + for i in range(offset, offset + length): + self.writeChar(byteArray[i]) + + @java_method('(I)V', name='write') + def writeChar(self, chara): + if self.binary: + return self.pystream.write(bytes([chara])) + return self.pystream.write(chr(chara)) + + # we need to hold lifetime references to stdout_ref/stderr_ref, to ensure + # they arent GCd. This prevents a crash when Java callsback to GCd py obj + + global stdout_ref + global stderr_ref + import sys + stdout_ref = MyOut(sys.stdout) + stderr_ref = MyOut(sys.stderr) + jls = autoclass("java.lang.System") + jls.setOut( + autoclass('java.io.PrintStream')( + autoclass('org.terrier.python.ProxyableOutputStream')(stdout_ref), + signature="(Ljava/io/OutputStream;)V")) + jls.setErr( + autoclass('java.io.PrintStream')( + autoclass('org.terrier.python.ProxyableOutputStream')(stderr_ref), + signature="(Ljava/io/OutputStream;)V")) + + +def bytebuffer_to_array(buffer): + assert buffer is not None + def unsign(signed): + return signed + 256 if signed < 0 else signed + return bytearray([ unsign(buffer.get(offset)) for offset in range(buffer.capacity()) ]) + + +@before_init +def add_jar(jar_path): + configure.append('jars', jar_path) + + +@before_init +def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): + if version is None or version == 'snapshot': + version = mavenresolver.latest_version_num(org_name, package_name) + file_name = mavenresolver.get_package_jar(org_name, package_name, version, artifact=file_type) + add_jar(file_name) + + +@before_init +def set_memory_limit(mem: Optional[float]): + configure['mem'] = mem + + +@before_init +def add_option(option: str): + configure.append('options', option) + + +@before_init +def set_redirect_io(redirect_io: bool): + configure['redirect_io'] = redirect_io + + +def set_log_level(level): + """ + Set the logging level. The following string values are allowed, corresponding + to Java logging levels: + + - `'ERROR'`: only show error messages + - `'WARN'`: only show warnings and error messages (default) + - `'INFO'`: show information, warnings and error messages + - `'DEBUG'`: show debugging, information, warnings and error messages + + Unlike other java settings, this can be changed either before or after init() has been called. + """ + if not started(): + configure['log_level'] = level + else: + J.PTUtils.setLogLevel(level, None) # noqa: PT100 handled by started() check above + + +J = JavaClasses({ + 'ArrayList': 'java.util.ArrayList', + 'Properties': 'java.util.Properties', + 'PTUtils': 'org.terrier.python.PTUtils', + 'System': 'java.lang.System', + 'StringReader': 'java.io.StringReader', + 'HashMap': 'java.util.HashMap', + 'Arrays': 'java.util.Arrays', + 'Array': 'java.lang.reflect.Array', + 'String': 'java.lang.String', + 'List': 'java.util.List', +}) diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 223a5b1e..7ae05a30 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -1,157 +1,300 @@ +import sys +from warnings import warn +from functools import wraps +from typing import Dict, Any, Tuple, Callable, Optional, Union +from copy import deepcopy import pyterrier as pt -from pyterrier.java import required_raise, required, before_init, started, configure, mavenresolver -from typing import Dict, Optional +_started = False +_configs = {} -stdout_ref = None -stderr_ref = None +class JavaInitializer: + """ + A `JavaInitializer` manages the initilization of a module that uses java components. The two main methods are + `pre_init` and `post_init`, which perform configuration before and after the JVM has started, respectively. + """ + def priority(self) -> int: + """ + Returns the priority of this initializer. A lower priority is executed first. + """ + return 0 + + def condition(self) -> bool: + """ + Returns True if the initializer should be run. Otherwise False. + """ + return True + + def pre_init(self, jnius_config) -> None: + """ + Called before the JVM is started. `jnius_config` is the `jnius_config` module, whic can be used to configure + java, such as by adding jars to the classpath. + """ + pass + + def post_init(self, jnius) -> None: + """ + Called after the JVM has started. `jnius` is the `jnius` module, which can be used to interact with java. + """ + pass + + def message(self) -> Optional[str]: + """ + Returns a message to be displayed after the JVM has started alongside the name of the entry point. If None, + only the entry point name will be displayed. + """ + return None + + +def started() -> bool: + """ + Returns True if pt.java.init() has been called. Otherwise False. + """ + return _started -def _is_binary(f): - import io - return isinstance(f, (io.RawIOBase, io.BufferedIOBase)) +@pt.utils.pre_invocation_decorator +def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + Requires the Java Virtual Machine to be started. If the JVM has not yet been started, it runs pt.java.init(). -@required -def redirect_stdouterr(): - from jnius import autoclass, PythonJavaClass, java_method + Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it + is applied to all methods defined by the class. + """ + if not started(): + init() - # TODO: encodings may be a probem here - class MyOut(PythonJavaClass): - __javainterfaces__ = ['org.terrier.python.OutputStreamable'] - def __init__(self, pystream): - super(MyOut, self).__init__() - self.pystream = pystream - self.binary = _is_binary(pystream) +def required_raise(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + Similar to `pt.java.required`, but raises an error if called before pt.java.init(). + """ + if fn is None: + return required_raise(pt.utils.noop)() - @java_method('()V') - def close(self): - self.pystream.close() + @wraps(fn) + def _wrapper(*args, **kwargs): + if not started(): + raise RuntimeError(f'You need to call pt.java.init() required before you can call {fn}') + return fn(*args, **kwargs) + return _wrapper - @java_method('()V') - def flush(self): - self.pystream.flush() - @java_method('([B)V', name='write') - def writeByteArray(self, byteArray): - # TODO probably this could be faster. - for c in byteArray: - self.writeChar(c) +def before_init(fn: Optional[Callable] = None) -> Union[Callable, bool]: + """ + If the JVM has already started, an error is raised. - @java_method('([BII)V', name='write') - def writeByteArrayIntInt(self, byteArray, offset, length): - # TODO probably this could be faster. - for i in range(offset, offset + length): - self.writeChar(byteArray[i]) + Can be used as either a standalone function or a function decorator. + """ + if fn is None: + return before_init(pt.utils.noop)() - @java_method('(I)V', name='write') - def writeChar(self, chara): - if self.binary: - return self.pystream.write(bytes([chara])) - return self.pystream.write(chr(chara)) + @wraps(fn) + def _wrapper(*args, **kwargs): + if started(): + raise RuntimeError(f'You can only call {fn} before either you start using java or call pt.java.init()') + return fn(*args, **kwargs) + return _wrapper - # we need to hold lifetime references to stdout_ref/stderr_ref, to ensure - # they arent GCd. This prevents a crash when Java callsback to GCd py obj +class JavaClasses: + def __init__(self, mapping: Dict[str, str]): + self._mapping = mapping + self._cache = {} - global stdout_ref - global stderr_ref - import sys - stdout_ref = MyOut(sys.stdout) - stderr_ref = MyOut(sys.stderr) - jls = autoclass("java.lang.System") - jls.setOut( - autoclass('java.io.PrintStream')( - autoclass('org.terrier.python.ProxyableOutputStream')(stdout_ref), - signature="(Ljava/io/OutputStream;)V")) - jls.setErr( - autoclass('java.io.PrintStream')( - autoclass('org.terrier.python.ProxyableOutputStream')(stderr_ref), - signature="(Ljava/io/OutputStream;)V")) + def __dir__(self): + return list(self._mapping.keys()) + @required_raise + def __getattr__(self, key): + if key not in self._mapping: + return AttributeError(f'{self} has no attribute {key!r}') + if key not in self._cache: + clz = self._mapping[key] + if callable(clz): + clz = clz() + self._cache[key] = pt.java.autoclass(clz) + return self._cache[key] -def bytebuffer_to_array(buffer): - assert buffer is not None - def unsign(signed): - return signed + 256 if signed < 0 else signed - return bytearray([ unsign(buffer.get(offset)) for offset in range(buffer.capacity()) ]) -@before_init -def add_jar(jar_path): - configure.append('jars', jar_path) +@pt.utils.once() +def init() -> None: + global _started + # TODO: if we make java optional some day, should check here that it's installed. E.g., + # if find_spec('jnius_config') is None: + # warnings.warn('pyterrier[java] not installed; no need to run pt.java.init()') + # return -@before_init -def add_package(org_name: str = None, package_name: str = None, version: str = None, file_type='jar'): - if version is None or version == 'snapshot': - version = mavenresolver.latest_version_num(org_name, package_name) - file_name = mavenresolver.get_package_jar(org_name, package_name, version, artifact=file_type) - add_jar(file_name) + # TODO: what about errors during init? What happens to _started? Etc. + initalizers = [] + for entry_point in pt.utils.entry_points('pyterrier.java.init'): + initalizer = entry_point.load()() + if initalizer.condition(): + initalizers.append((entry_point.name, initalizer)) -@before_init -def set_memory_limit(mem: Optional[float]): - configure['mem'] = mem + # sort by priority + initalizers = sorted(initalizers, key=lambda i: i[1].priority()) + import jnius_config -@before_init -def add_option(option: str): - configure.append('options', option) + # run pre-initialization setup + for _, initializer in initalizers: + initializer.pre_init(jnius_config) + import jnius # noqa: PT100 + _started = True + + # run post-initialization setup + for _, initializer in initalizers: + initializer.post_init(jnius) + + # build "Java started" message + message = [] + for name, initializer in initalizers: + msg = initializer.message() + if msg is None: + message.append(f' - {name}\n') + else: + message.append(f' - {name} [{msg}]\n') + sys.stderr.write('Java started and loaded:\n' + ''.join(message)) -@before_init -def set_redirect_io(redirect_io: bool): - configure['redirect_io'] = redirect_io +def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: + global _configs + if started: + if not pt.java.started(): + warn(f'Starting java parallel with configs {configs}') + _configs = configs + init() + else: + warn("Avoiding reinit of PyTerrier") -def set_log_level(level): + +def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: + return ( + started(), + deepcopy(_configs), + ) + + +@required_raise +def autoclass(*args, **kwargs): """ - Set the logging level. The following string values are allowed, corresponding - to Java logging levels: - - - `'ERROR'`: only show error messages - - `'WARN'`: only show warnings and error messages (default) - - `'INFO'`: show information, warnings and error messages - - `'DEBUG'`: show debugging, information, warnings and error messages - - Unlike other java settings, this can be changed either before or after init() has been called. + Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. """ - if not started(): - configure['log_level'] = level - else: - J.PTUtils.setLogLevel(level, None) # noqa: PT100 handled by started() check above + import jnius # noqa: PT100 + return jnius.autoclass(*args, **kwargs) # noqa: PT100 -class JavaClasses: - def __init__(self, mapping: Dict[str, str]): - self._mapping = mapping - self._cache = {} - - def __dir__(self): - return list(self._mapping.keys()) +@required_raise +def cast(*args, **kwargs): + """ + Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. + """ + import jnius # noqa: PT100 + return jnius.cast(*args, **kwargs) # noqa: PT100 - @required_raise - def __getattr__(self, key): - if key not in self._mapping: - return AttributeError(f'{self} has no attribute {key!r}') - if key not in self._cache: - clz = self._mapping[key] - if callable(clz): - clz = clz() - self._cache[key] = pt.java.autoclass(clz) - return self._cache[key] +@before_init +def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): + """ + Function that can be called before Terrier classes and methods can be used. + Loads the Terrier .jar file and imports classes. Also finds the correct version of Terrier to download if no version is specified. + + Args: + version(str): Which version of Terrier to download. Default is `None`. + + * If None, find the newest Terrier released version in MavenCentral and download it. + * If `"snapshot"`, will download the latest build from `Jitpack `_. + + mem(str): Maximum memory allocated for the Java virtual machine heap in MB. Corresponds to java `-Xmx` commandline argument. Default is 1/4 of physical memory. + boot_packages(list(str)): Extra maven package coordinates files to load before starting Java. Default=`[]`. There is more information about loading packages in the `Terrier documentation `_ + packages(list(str)): Extra maven package coordinates files to load, using the Terrier classloader. Default=`[]`. See also `boot_packages` above. + jvm_opts(list(str)): Extra options to pass to the JVM. Default=`[]`. For instance, you may enable Java assertions by setting `jvm_opts=['-ea']` + redirect_io(boolean): If True, the Java `System.out` and `System.err` will be redirected to Pythons sys.out and sys.err. Default=True. + logging(str): the logging level to use: + + * Can be one of `'INFO'`, `'DEBUG'`, `'TRACE'`, `'WARN'`, `'ERROR'`. The latter is the quietest. + * Default is `'WARN'`. + + home_dir(str): the home directory to use. Default to PYTERRIER_HOME environment variable. + tqdm: The `tqdm `_ instance to use for progress bars within PyTerrier. Defaults to tqdm.tqdm. Available options are `'tqdm'`, `'auto'` or `'notebook'`. + helper_version(str): Which version of the helper. + + + **Locating the Terrier .jar file:** PyTerrier is not tied to a specific version of Terrier and will automatically locate and download a recent Terrier .jar file. However, inevitably, some functionalities will require more recent Terrier versions. + + * If set, PyTerrier uses the `version` init kwarg to determine the .jar file to look for. + * If the `version` init kwarg is not set, Terrier will query MavenCentral to determine the latest Terrier release. + * If `version` is set to `"snapshot"`, the latest .jar file build derived from the `Terrier Github repository `_ will be downloaded from `Jitpack `_. + * Otherwise the local (`~/.mvn`) and MavenCentral repositories are searched for the jar file at the given version. + In this way, the default setting is to download the latest release of Terrier from MavenCentral. The user is also able to use a locally installed copy in their private Maven repository, or track the latest build of Terrier from Jitpack. + + If you wish to run PyTerrier in an offline enviroment, you should ensure that the "terrier-assemblies-{your version}-jar-with-dependencies.jar" and "terrier-python-helper-{your helper version}.jar" + are in the "~/.pyterrier" (if they are not present, they will be downloaded the first time). Then you should set their versions when calling ``init()`` function. For example: + ``pt.init(version = 5.5, helper_version = "0.0.6")``. + """ -J = JavaClasses({ - 'ArrayList': 'java.util.ArrayList', - 'Properties': 'java.util.Properties', - 'PTUtils': 'org.terrier.python.PTUtils', - 'System': 'java.lang.System', - 'StringReader': 'java.io.StringReader', - 'HashMap': 'java.util.HashMap', - 'Arrays': 'java.util.Arrays', - 'Array': 'java.lang.reflect.Array', - 'String': 'java.lang.String', - 'List': 'java.util.List', -}) + # Set the corresponding options + pt.java.set_memory_limit(mem) + pt.java.set_redirect_io(redirect_io) + pt.java.set_log_level(logging) + for package in boot_packages: + pt.java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) + for opt in jvm_opts: + pt.java.add_option(opt) + pt.terrier.set_version(version) + pt.terrier.set_helper_version(helper_version) + if tqdm is not None: + pt.utils.set_tqdm(tqdm) + if no_download: + pt.java.mavenresolver.offline() + + pt.java.init() + + # Import other java packages + if packages: + pkgs_string = ",".join(packages) + pt.terrier.set_property("terrier.mvn.coords", pkgs_string) + + +class Configuration: + def __init__(self, name): + self.name = name + + def get(self, key): + return deepcopy(_configs[self.name][key]) + + @before_init + def set(self, key, value): + self(**{key: value}) + + def append(self, key, value): + res = self.get(key) + res.append(value) + self(**{key: res}) + + def __getitem__(self, key): + return self.get(key) + + @before_init + def __setitem__(self, key, value): + self.set(key, value) + + def __call__(self, **settings: Any): + if started() and any(settings): + raise RuntimeError('You cannot change java settings after java has started') + for key, value in settings.items(): + if key not in _configs[self.name]: + raise AttributeError(f'{key!r} not defined as a java setting for {self.name!r}') + _configs[self.name][key] = value + return deepcopy(_configs[self.name]) + + +def register_config(name, config: Dict[str, Any]): + assert name not in _configs + _configs[name] = deepcopy(config) + return Configuration(name) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 4ec00eb0..665ea905 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -11,7 +11,7 @@ _properties = None -configure = pt.java.config.register('pt.terrier.java', { +configure = pt.java.register_config('pt.terrier.java', { 'terrier_version': None, 'helper_version': None, 'boot_packages': [], diff --git a/setup.py b/setup.py index 045fffdf..938a698d 100644 --- a/setup.py +++ b/setup.py @@ -72,7 +72,7 @@ def get_version(rel_path): ], entry_points={ 'pyterrier.java.init': [ - 'pyterrier.java = pyterrier.java._init:CoreInit', + 'pyterrier.java = pyterrier.java:CoreInit', 'pyterrier.terrier.java = pyterrier.terrier.java:TerrierInit', 'pyterrier.anserini.java = pyterrier.anserini.java:AnseriniInit', ], From 0d1acdd9bc633e4addc7e6cc58c49bb2ab3ec0f6 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 12:25:51 +0100 Subject: [PATCH 109/153] organize java files --- pyterrier/java/core.py | 50 ++++---- pyterrier/java/utils.py | 246 ++++++++++++++++++++++++---------------- 2 files changed, 179 insertions(+), 117 deletions(-) diff --git a/pyterrier/java/core.py b/pyterrier/java/core.py index b5a2ae37..d1b54f81 100644 --- a/pyterrier/java/core.py +++ b/pyterrier/java/core.py @@ -1,23 +1,16 @@ import os from pyterrier.java import required_raise, required, before_init, started, mavenresolver, JavaClasses, JavaInitializer, register_config -from typing import Dict, Optional +from typing import Optional import pyterrier as pt -stdout_ref = None -stderr_ref = None - - - -configure = register_config('pyterrier.java', { - 'jars': [], - 'options': [], - 'mem': None, - 'log_level': 'WARN', - 'redirect_io': True, -}) +_stdout_ref = None +_stderr_ref = None +# ---------------------------------------------------------- +# Java Initialization +# ---------------------------------------------------------- class CoreInit(JavaInitializer): def priority(self) -> int: @@ -111,22 +104,22 @@ def writeChar(self, chara): return self.pystream.write(bytes([chara])) return self.pystream.write(chr(chara)) - # we need to hold lifetime references to stdout_ref/stderr_ref, to ensure + # we need to hold lifetime references to _stdout_ref/_stderr_ref, to ensure # they arent GCd. This prevents a crash when Java callsback to GCd py obj - global stdout_ref - global stderr_ref + global _stdout_ref + global _stderr_ref import sys - stdout_ref = MyOut(sys.stdout) - stderr_ref = MyOut(sys.stderr) + _stdout_ref = MyOut(sys.stdout) + _stderr_ref = MyOut(sys.stderr) jls = autoclass("java.lang.System") jls.setOut( autoclass('java.io.PrintStream')( - autoclass('org.terrier.python.ProxyableOutputStream')(stdout_ref), + autoclass('org.terrier.python.ProxyableOutputStream')(_stdout_ref), signature="(Ljava/io/OutputStream;)V")) jls.setErr( autoclass('java.io.PrintStream')( - autoclass('org.terrier.python.ProxyableOutputStream')(stderr_ref), + autoclass('org.terrier.python.ProxyableOutputStream')(_stderr_ref), signature="(Ljava/io/OutputStream;)V")) @@ -137,6 +130,19 @@ def unsign(signed): return bytearray([ unsign(buffer.get(offset)) for offset in range(buffer.capacity()) ]) +# ---------------------------------------------------------- +# Configuration +# ---------------------------------------------------------- + +configure = register_config('pyterrier.java', { + 'jars': [], + 'options': [], + 'mem': None, + 'log_level': 'WARN', + 'redirect_io': True, +}) + + @before_init def add_jar(jar_path): configure.append('jars', jar_path) @@ -183,6 +189,10 @@ def set_log_level(level): J.PTUtils.setLogLevel(level, None) # noqa: PT100 handled by started() check above +# ---------------------------------------------------------- +# Common classes (accessible via pt.java.J.[ClassName]) +# ---------------------------------------------------------- + J = JavaClasses({ 'ArrayList': 'java.util.ArrayList', 'Properties': 'java.util.Properties', diff --git a/pyterrier/java/utils.py b/pyterrier/java/utils.py index 7ae05a30..8678d45a 100644 --- a/pyterrier/java/utils.py +++ b/pyterrier/java/utils.py @@ -5,54 +5,19 @@ from copy import deepcopy import pyterrier as pt + _started = False _configs = {} -class JavaInitializer: - """ - A `JavaInitializer` manages the initilization of a module that uses java components. The two main methods are - `pre_init` and `post_init`, which perform configuration before and after the JVM has started, respectively. - """ - - def priority(self) -> int: - """ - Returns the priority of this initializer. A lower priority is executed first. - """ - return 0 - - def condition(self) -> bool: - """ - Returns True if the initializer should be run. Otherwise False. - """ - return True - - def pre_init(self, jnius_config) -> None: - """ - Called before the JVM is started. `jnius_config` is the `jnius_config` module, whic can be used to configure - java, such as by adding jars to the classpath. - """ - pass - - def post_init(self, jnius) -> None: - """ - Called after the JVM has started. `jnius` is the `jnius` module, which can be used to interact with java. - """ - pass - - def message(self) -> Optional[str]: - """ - Returns a message to be displayed after the JVM has started alongside the name of the entry point. If None, - only the entry point name will be displayed. - """ - return None - - -def started() -> bool: - """ - Returns True if pt.java.init() has been called. Otherwise False. - """ - return _started +# ---------------------------------------------------------- +# Decorators +# ---------------------------------------------------------- +# These functions wrap functions/classes to enforce certain +# behavior regarding Java. For instance @pt.java.required +# automatically starts java before it's invoked (if it's not +# already started). +# ---------------------------------------------------------- @pt.utils.pre_invocation_decorator def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: @@ -62,7 +27,7 @@ def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ - if not started(): + if not _started: init() @@ -97,27 +62,40 @@ def _wrapper(*args, **kwargs): return fn(*args, **kwargs) return _wrapper -class JavaClasses: - def __init__(self, mapping: Dict[str, str]): - self._mapping = mapping - self._cache = {} - def __dir__(self): - return list(self._mapping.keys()) +# ---------------------------------------------------------- +# Jnius Wrappers +# ---------------------------------------------------------- +# These functions wrap jnius to make sure that java is +# running before they're called. Doing it this way allows +# functions to import them before java is loaded. +# ---------------------------------------------------------- + +@required_raise +def autoclass(*args, **kwargs): + """ + Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. + """ + import jnius # noqa: PT100 + return jnius.autoclass(*args, **kwargs) # noqa: PT100 - @required_raise - def __getattr__(self, key): - if key not in self._mapping: - return AttributeError(f'{self} has no attribute {key!r}') - if key not in self._cache: - clz = self._mapping[key] - if callable(clz): - clz = clz() - self._cache[key] = pt.java.autoclass(clz) - return self._cache[key] +@required_raise +def cast(*args, **kwargs): + """ + Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. + """ + import jnius # noqa: PT100 + return jnius.cast(*args, **kwargs) # noqa: PT100 +# ---------------------------------------------------------- +# Init +# ---------------------------------------------------------- +# This function (along with legacy_init) loads all modules +# registered via pyterrier.java.init entry points and starts +# the JVM. +# ---------------------------------------------------------- @pt.utils.once() def init() -> None: @@ -162,42 +140,6 @@ def init() -> None: sys.stderr.write('Java started and loaded:\n' + ''.join(message)) -def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: - global _configs - if started: - if not pt.java.started(): - warn(f'Starting java parallel with configs {configs}') - _configs = configs - init() - else: - warn("Avoiding reinit of PyTerrier") - - -def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: - return ( - started(), - deepcopy(_configs), - ) - - -@required_raise -def autoclass(*args, **kwargs): - """ - Wraps jnius.autoclass once java has started. Raises an error if called before pt.java.init() is called. - """ - import jnius # noqa: PT100 - return jnius.autoclass(*args, **kwargs) # noqa: PT100 - - -@required_raise -def cast(*args, **kwargs): - """ - Wraps jnius.cast once java has started. Raises an error if called before pt.java.init() is called. - """ - import jnius # noqa: PT100 - return jnius.cast(*args, **kwargs) # noqa: PT100 - - @before_init def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): """ @@ -261,6 +203,88 @@ def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=Tr pt.terrier.set_property("terrier.mvn.coords", pkgs_string) +def started() -> bool: + """ + Returns True if pt.java.init() has been called. Otherwise False. + """ + return _started + + +class JavaInitializer: + """ + A `JavaInitializer` manages the initilization of a module that uses java components. The two main methods are + `pre_init` and `post_init`, which perform configuration before and after the JVM has started, respectively. + """ + + def priority(self) -> int: + """ + Returns the priority of this initializer. A lower priority is executed first. + """ + return 0 + + def condition(self) -> bool: + """ + Returns True if the initializer should be run. Otherwise False. + """ + return True + + def pre_init(self, jnius_config) -> None: + """ + Called before the JVM is started. `jnius_config` is the `jnius_config` module, whic can be used to configure + java, such as by adding jars to the classpath. + """ + pass + + def post_init(self, jnius) -> None: + """ + Called after the JVM has started. `jnius` is the `jnius` module, which can be used to interact with java. + """ + pass + + def message(self) -> Optional[str]: + """ + Returns a message to be displayed after the JVM has started alongside the name of the entry point. If None, + only the entry point name will be displayed. + """ + return None + + +# ---------------------------------------------------------- +# Parallel +# ---------------------------------------------------------- +# These functions are for working in parallel mode, e.g., +# with multiprocessing. They help restarting and configure +# the JVM the same way it was when it was started in the +# parent process +# ---------------------------------------------------------- + +def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: + global _configs + if started: + if not pt.java.started(): + warn(f'Starting java parallel with configs {configs}') + _configs = configs + init() + else: + warn("Avoiding reinit of PyTerrier") + + +def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: + return ( + started(), + deepcopy(_configs), + ) + + +# ---------------------------------------------------------- +# Configuration Utils +# ---------------------------------------------------------- +# We need a global store of all java-related configurations +# so that when running in paralle, we can set everying back +# up the same way it started. These utils help manage this +# gloabal configuration. +# ---------------------------------------------------------- + class Configuration: def __init__(self, name): self.name = name @@ -298,3 +322,31 @@ def register_config(name, config: Dict[str, Any]): assert name not in _configs _configs[name] = deepcopy(config) return Configuration(name) + + +# ---------------------------------------------------------- +# Java Classes +# ---------------------------------------------------------- +# This class enables the lazy loading of java classes. It +# helps avod needing a ton of autclass() statements to +# pre-load Java classes. +# ---------------------------------------------------------- + +class JavaClasses: + def __init__(self, mapping: Dict[str, str]): + self._mapping = mapping + self._cache = {} + + def __dir__(self): + return list(self._mapping.keys()) + + @required_raise + def __getattr__(self, key): + if key not in self._mapping: + return AttributeError(f'{self} has no attribute {key!r}') + if key not in self._cache: + clz = self._mapping[key] + if callable(clz): + clz = clz() + self._cache[key] = pt.java.autoclass(clz) + return self._cache[key] From c3a55b41d5177831ffe03af3fb525b5f54af0221 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 13:43:37 +0100 Subject: [PATCH 110/153] remove deprecated calls in tests --- tests/test_br.py | 14 +++++++------- tests/test_dunder.py | 6 +++--- tests/test_fbr.py | 12 ++++++------ tests/test_index_op.py | 2 +- tests/test_index_with_background.py | 9 ++++----- tests/test_iterdictindex.py | 10 +++++----- tests/test_iterdictindex_pretok.py | 5 ++--- tests/test_pickle.py | 2 +- tests/test_scoring.py | 2 +- 9 files changed, 30 insertions(+), 32 deletions(-) diff --git a/tests/test_br.py b/tests/test_br.py index 094a1972..80f15636 100644 --- a/tests/test_br.py +++ b/tests/test_br.py @@ -89,7 +89,7 @@ def test_br_col_passthrough(self): def test_br_mem(self): indexloc = self.here + "/fixtures/index/data.properties" memindex = pt.IndexFactory.of(indexloc, memory=True) - pindex = pt.cast("org.terrier.structures.IndexOnDisk", memindex) + pindex = pt.java.cast("org.terrier.structures.IndexOnDisk", memindex) self.assertEqual("fileinmem", pindex.getIndexProperty("index.lexicon.data-source", "notfound")) retr = pt.BatchRetrieve(memindex) retr.search("chemical reactions") @@ -149,7 +149,7 @@ def test_one_term_query_correct_docid_score_rank(self): jindex.close() def test_two_term_query_correct_qid_docid_score(self): - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") retr = pt.BatchRetrieve(indexref) input = pd.DataFrame([["1", "Stability"], ["2", "Generator"]], columns=['qid', 'query']) @@ -171,7 +171,7 @@ def test_two_term_query_correct_qid_docid_score(self): self.assertAlmostEqual(row['score'], exp_result[index][2]) def test_num_results(self): - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here+"/fixtures/index/data.properties") retr = pt.BatchRetrieve(indexref, num_results=10) input=pd.DataFrame([["1", "Stability"]],columns=['qid','query']) @@ -186,8 +186,8 @@ def test_num_results(self): self.assertEqual(len(result), 1001) def test_num_manual_wmodel(self): - JIR = pt.autoclass('org.terrier.querying.IndexRef') - Tf = pt.autoclass("org.terrier.matching.models.Tf")() + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + Tf = pt.java.autoclass("org.terrier.matching.models.Tf")() indexref = JIR.of(self.here+"/fixtures/index/data.properties") from jnius import JavaException try: @@ -214,7 +214,7 @@ def test_threading_manualref(self): topics = pt.get_dataset("vaswani").get_topics().head(8) #this test ensures that we operate when the indexref is specified to be concurrent - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of("concurrent:" + self.here+"/fixtures/index/data.properties") retr = pt.BatchRetrieve(indexref, threads=4) result = retr.transform(topics) @@ -231,7 +231,7 @@ def test_threading_selfupgrade(self): topics = pt.get_dataset("vaswani").get_topics().head(10) #this test ensures we can upgrade the indexref to be concurrent - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here+"/fixtures/index/data.properties") retr = pt.BatchRetrieve(indexref, threads=5) result = retr.transform(topics) diff --git a/tests/test_dunder.py b/tests/test_dunder.py index 8c82b15f..d6fb5af9 100644 --- a/tests/test_dunder.py +++ b/tests/test_dunder.py @@ -6,7 +6,7 @@ class TestDunder(TempDirTestCase): def test_callable_wmodel_dunders(self): - testPosting = pt.autoclass("org.terrier.structures.postings.BasicPostingImpl")(0,1) + testPosting = pt.java.autoclass("org.terrier.structures.postings.BasicPostingImpl")(0,1) lambdafn = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() callback, wmodel = pt.terrier.retriever._function2wmodel(lambdafn) @@ -45,11 +45,11 @@ def test_callable_wmodel_dunders(self): def test_wmodel_dunders(self): - wmodel = pt.autoclass("org.terrier.matching.models.BM25")() + wmodel = pt.java.autoclass("org.terrier.matching.models.BM25")() wmodel.__reduce__() wmodel.__getstate__() rtr = wmodel.__reduce__() - pt.cast("org.terrier.matching.models.BM25", rtr[0](*rtr[1])) + pt.java.cast("org.terrier.matching.models.BM25", rtr[0](*rtr[1])) import pickle #import dill as pickle #check the byte array is picklable diff --git a/tests/test_fbr.py b/tests/test_fbr.py index 75b6bb5a..534242f0 100644 --- a/tests/test_fbr.py +++ b/tests/test_fbr.py @@ -27,7 +27,7 @@ def test_fbr_reranking(self): if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") # this test examines the use of ScoringMatchingWithFat - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") # we only want a candidate set of 2 documents firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 2 @@ -70,7 +70,7 @@ def test_fbr_reranking2(self): if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") # we only want a candidate set of 3 documents firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 3 @@ -104,7 +104,7 @@ def test_fbr_reranking2(self): self.assertAlmostEqual(result1F_map[docno], result2_map[docno], msg="feature score mismatch at rank %d for docno %s" % (rank, docno), places=4) def test_fbr_ltr(self): - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") topics = pt.io.read_topics(self.here + "/fixtures/vaswani_npl/query-text.trec").head(3) @@ -117,7 +117,7 @@ def test_fbr_ltr(self): RandomForestClassifier(n_estimators=10).fit(np.stack(res["features"]), res["label"]) def test_fbr(self): - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) @@ -138,7 +138,7 @@ def test_fbr(self): self.assertNotEqual(retrBasic.controls["matching"], "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull") def test_fbr_example(self): - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") index = pt.IndexFactory.of(indexref) # this ranker will make the candidate set of documents for each query @@ -167,7 +167,7 @@ def test_fbr_example(self): self.assertEqual(resultP.iloc[0].features[1], resultC.iloc[0].features[1]) def test_fbr_empty(self): - JIR = pt.autoclass('org.terrier.querying.IndexRef') + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") input = pd.DataFrame([["1", ""]], columns=['qid', 'query']) diff --git a/tests/test_index_op.py b/tests/test_index_op.py index a6f27538..87c86045 100644 --- a/tests/test_index_op.py +++ b/tests/test_index_op.py @@ -131,7 +131,7 @@ def test_index_add_write(self): self.assertEqual(len(index1) + len(index2), len(comb_index)) # Instantiate writer object and write merged index to disk - writer = pt.autoclass("org.terrier.structures.indexing.DiskIndexWriter")(new_disk_index_loc, "data") + writer = pt.java.autoclass("org.terrier.structures.indexing.DiskIndexWriter")(new_disk_index_loc, "data") writer.write(comb_index) new_disk_index = pt.IndexFactory.of(new_disk_index_loc) diff --git a/tests/test_index_with_background.py b/tests/test_index_with_background.py index dd69e1f1..6e526fb5 100644 --- a/tests/test_index_with_background.py +++ b/tests/test_index_with_background.py @@ -46,9 +46,8 @@ def _test2_manual(self, type): indexref_big = pt.get_dataset("vaswani").get_index() index_big = pt.IndexFactory.of(indexref_big) - from pyterrier import autoclass - stopwords = autoclass("org.terrier.terms.Stopwords")(None) - stemmer = autoclass("org.terrier.terms.PorterStemmer")(None) + stopwords = pt.java.autoclass("org.terrier.terms.Stopwords")(None) + stemmer = pt.java.autoclass("org.terrier.terms.PorterStemmer")(None) q = "MATHEMATICAL ANALYSIS AND DESIGN DETAILS OF WAVEGUIDE FED MICROWAVE RADIATIONS" self.assertEqual("1048", index_big.getMetaIndex().getItem("docno", 1047)) @@ -86,7 +85,7 @@ def _check_index(index_small): self.assertTrue(np.array_equal(rtr1["score"].values, rtrall["score"].values)) _check_index(index1) - _check_index( pt.autoclass("org.terrier.python.IndexWithBackground")(index1, index_big)) + _check_index( pt.java.autoclass("org.terrier.python.IndexWithBackground")(index1, index_big)) def test_itM(self): self._test_it(pt.index.IndexingType.MEMORY) @@ -128,7 +127,7 @@ def _test_it(self, type): index2 = pt.IndexFactory.of(indexref2) self.assertEqual(1, index2.getCollectionStatistics().getNumberOfDocuments()) - index_combined = pt.autoclass("org.terrier.python.IndexWithBackground")(index2, index1) + index_combined = pt.java.autoclass("org.terrier.python.IndexWithBackground")(index2, index1) self.assertEqual(3, index_combined.getCollectionStatistics().getNumberOfDocuments()) self.assertEqual(1, index_combined.getLexicon()["test"].getFrequency()) diff --git a/tests/test_iterdictindex.py b/tests/test_iterdictindex.py index ab0e9542..1d8c0458 100644 --- a/tests/test_iterdictindex.py +++ b/tests/test_iterdictindex.py @@ -184,7 +184,7 @@ def test_check_nostemmer_utf_toks(self): indexer = pt.IterDictIndexer(self.test_dir, stemmer=None, stopwords=None, tokeniser="UTFTokeniser") indexref = indexer.index(it) index = pt.IndexFactory.of(indexref) - index = pt.cast("org.terrier.structures.IndexOnDisk", index) + index = pt.java.cast("org.terrier.structures.IndexOnDisk", index) self.assertEqual("", index.getIndexProperty("termpipelines", "bla")) self.assertTrue("før" in index.getLexicon()) # restore setting after test @@ -201,7 +201,7 @@ def test_check_customstops(self): indexer = pt.IterDictIndexer(self.test_dir, tokeniser=pt.TerrierTokeniser.utf, stemmer=pt.TerrierStemmer.none, stopwords=['møney', 'crashing', ','], overwrite=True) indexref = indexer.index(it) index = pt.IndexFactory.of(indexref) - index = pt.cast("org.terrier.structures.IndexOnDisk", index) + index = pt.java.cast("org.terrier.structures.IndexOnDisk", index) self.assertIn(member="PyTerrierCustomStopwordList$Retrieval", container=index.getIndexProperty("termpipelines", "bla")) self.assertIsNotNone(index.getIndexProperty('pyterrier.stopwords', None)) @@ -210,7 +210,7 @@ def test_check_customstops(self): self.assertTrue("crashing" in index.getIndexProperty('pyterrier.stopwords', None)) # lets validate the actual stopword list as parsed from the property - actual_stopwords = pt.autoclass("org.terrier.python.PyTerrierCustomStopwordList$Retrieval")() + actual_stopwords = pt.java.autoclass("org.terrier.python.PyTerrierCustomStopwordList$Retrieval")() actual_stopwords.setIndex(index) self.assertEqual(3, actual_stopwords.stopWords.size()) self.assertTrue(actual_stopwords.stopWords.contains(",")) @@ -240,7 +240,7 @@ def test_check_nostemmer(self): indexer = pt.IterDictIndexer(self.test_dir, stemmer=setting[0], stopwords=setting[1], overwrite=True) indexref = indexer.index(it) index = pt.IndexFactory.of(indexref) - index = pt.cast("org.terrier.structures.IndexOnDisk", index) + index = pt.java.cast("org.terrier.structures.IndexOnDisk", index) self.assertEqual("", index.getIndexProperty("termpipelines", "bla")) self.assertEqual(11, index.getDocumentIndex().getDocumentLength(0)) @@ -265,7 +265,7 @@ def test_check_weakstemmer(self): indexref = indexer.index(it) index = pt.IndexFactory.of(indexref) self.assertEqual(3, index.getDocumentIndex().getDocumentLength(0)) #ran money playing - index = pt.cast("org.terrier.structures.IndexOnDisk", index) + index = pt.java.cast("org.terrier.structures.IndexOnDisk", index) # restore setting after test pt.terrier.J.ApplicationSetup.setProperty("termpipelines", "Stopwords,PorterStemmer") self.assertEqual("Stopwords,WeakPorterStemmer", index.getIndexProperty("termpipelines", "bla")) diff --git a/tests/test_iterdictindex_pretok.py b/tests/test_iterdictindex_pretok.py index 1523b47f..81645b15 100644 --- a/tests/test_iterdictindex_pretok.py +++ b/tests/test_iterdictindex_pretok.py @@ -63,12 +63,11 @@ def test_json_pretok_iterator(self): ] import json - from pyterrier import autoclass testfile = os.path.join(self.test_dir, "test.json") with open(testfile, 'wt') as file: for doc in it: file.write(json.dumps(doc)) - jparserCls = autoclass("org.terrier.python.JsonlPretokenisedIterator") + jparserCls = pt.java.autoclass("org.terrier.python.JsonlPretokenisedIterator") jparser = jparserCls(testfile) self.assertTrue(jparser.hasNext()) nextRow = jparser.next() @@ -120,7 +119,7 @@ def _make_pretok_index(self, n, index_type, meta=('docno', 'url')): post.next() self.assertEqual(1, post.frequency) - pindex = pt.cast("org.terrier.structures.PropertiesIndex", index) + pindex = pt.java.cast("org.terrier.structures.PropertiesIndex", index) self.assertEqual("", pindex.getIndexProperty("termpipelines", "BLA")) index.close() diff --git a/tests/test_pickle.py b/tests/test_pickle.py index 769b228d..32f96c74 100644 --- a/tests/test_pickle.py +++ b/tests/test_pickle.py @@ -83,7 +83,7 @@ def test_br_joblib_callback(self): self._br(joblib, wmodel=lambda keyFreq, posting, entryStats, collStats: posting.getFrequency()) def test_br_pickle_straightwmodel(self): - self._br(pickle, wmodel=pt.autoclass("org.terrier.matching.models.BM25")()) + self._br(pickle, wmodel=pt.java.autoclass("org.terrier.matching.models.BM25")()) def test_br_joblib(self): import joblib diff --git a/tests/test_scoring.py b/tests/test_scoring.py index e7d62390..c30663bc 100644 --- a/tests/test_scoring.py +++ b/tests/test_scoring.py @@ -10,7 +10,7 @@ class TestScoring(TempDirTestCase): def test_scoring_text(self): - pt.logging("DEBUG") + pt.java.set_log_level("DEBUG") dataset = pt.get_dataset("vaswani") indexer = pt.TRECCollectionIndexer( self.test_dir, From e1d7d3ef2b11a0c655416be86d845bd75fe3c71f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 15:47:48 +0100 Subject: [PATCH 111/153] documentation updates --- docs/conf.py | 1 - docs/datasets.rst | 6 +-- docs/installation.rst | 92 ++++++++++++++++++++--------------- docs/terrier-indexing.rst | 20 ++++---- docs/terrier-retrieval.rst | 4 +- pyterrier/java/__init__.py | 4 +- pyterrier/java/core.py | 13 +++++ pyterrier/terrier/__init__.py | 8 +-- 8 files changed, 86 insertions(+), 62 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index b959a3ca..004130f5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,7 +21,6 @@ # -- Dataset table listing ----------------------------------------------------- import pyterrier as pt import textwrap -pt.init() from extras import generate_includes if not "QUICK" in os.environ: diff --git a/docs/datasets.rst b/docs/datasets.rst index 4a1e83e7..6490943b 100644 --- a/docs/datasets.rst +++ b/docs/datasets.rst @@ -11,11 +11,11 @@ each defined dataset can download and provide easy access to: - relevance assessments (aka, labels or qrels), as a dataframe, ready for evaluation - ready-made Terrier indices, where appropriate -.. autofunction:: pyterrier.datasets.list_datasets() +.. autofunction:: pyterrier.datasets.list_datasets -.. autofunction:: pyterrier.datasets.find_datasets() +.. autofunction:: pyterrier.datasets.find_datasets -.. autofunction:: pyterrier.datasets.get_dataset() +.. autofunction:: pyterrier.datasets.get_dataset .. autoclass:: pyterrier.datasets.Dataset :members: diff --git a/docs/installation.rst b/docs/installation.rst index 69abe482..8b9db2de 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -23,13 +23,13 @@ If you want the latest version of PyTerrier, you can install direct from the Git NB: There is no need to have a local installation of the Java component, Terrier. PyTerrier will download the latest release on startup. -Installation Troubleshooting -============ +Troubleshooting +~~~~~~~~~~~~~~~ We aim to ensure that there are pre-compiled binaries available for any dependencies with native components, for all supported Python versions and for all major platforms (Linux, macOS, Windows). One notable exception is Mac M1 etc., as there are no freely available GitHub Actions runners for M1. Mac M1 installs may require to compile some dependencies. -If the installation failed due to `pyautocorpus` did not run successfully, you may need to install `pcre` to your machine. +If the installation failed due to ``pyautocorpus`` did not run successfully, you may need to install ``pcre`` to your machine. macOS:: @@ -40,64 +40,76 @@ Linux:: apt-get update -y apt-get install libpcre3-dev -y +For users with an M1 Mac or later models, it is sometimes necessary to install the SSL certificates to avoid certificate errors. +To do this, locate the `Install Certificates.command` file within the `Application/Python[version]` directory. Once found, double-click on it to run the installation process. -Configuration -============== +Runing PyTerrier +================ -You must always start by importing PyTerrier and running init():: +Once installed, you can get going with PyTerrier just by importing it. It's common to alias it as `pt` when importing:: import pyterrier as pt - pt.init() -PyTerrier uses `PyJnius `_ as a "glue" layer in order to call Terrier's Java classes. PyJnius will search -the usual places on your machine for a Java installation. If you have problems, set the `JAVA_HOME` environment variable:: +Java Configuration +================== - import os - os.environ["JAVA_HOME"] = "/path/to/my/jdk" - import pyterrier as pt - pt.init() +PyTerrier integrates with several Java-based engines, such as Terrier. It uses `PyJnius `_ as +a "glue" layer in order to call these Java components. PyTerrier manages this for you automatically and uses reasonable defaults +for the way it interacts with Java. However, sometimes you may need to modify the settings to work with your system. This section +describes how to manage this configuration. -`pt.init()` has a multitude of options, for instance that can make PyTerrier more notebook friendly, or to change the underlying version of Terrier, as described below. +**Note:** Because these options affect the the JVM's settings, they need to be set before Java starts---for instance, at the top of +a script/notebook before any Java components are loaded. -For users with an M1 Mac or later models, it is necessary to install the SSL certificates to avoid certificate errors. -To do this, locate the `Install Certificates.command` file within the `Application/Python[version]` directory. Once found, double-click on it to run the installation process. +**Starting Java.** PyTerrier will start java when you use a component that requires it, such as `BatchRetrieve`. However, sometimes +you might want to start it early: -API Reference -============= +.. autofunction:: pyterrier.java.init -All usages of PyTerrier start by importing PyTerrier and starting it using the `init()` method:: +You can also check if Java has been started (either automatically or by `pt.java.init()`): - import pyterrier as pt - pt.init() +.. autofunction:: pyterrier.java.started + +**Java Home Path.** PyJnius will search the usual places on your machine for a Java installation. If you have problems, you can +overrirde the java home path: -PyTerrier uses some of the functionality of the Java-based `Terrier `_ IR platform -for indexing and retrieval functionality. Calling `pt.init()` downloads, if necessary, the Terrier jar -file, and starts the Java Virtual Machine (JVM). It also configures the Terrier so that it can be more -easily used from Python, such as redirecting the stdout and stderr streams, logging level etc. +.. autofunction:: pyterrier.java.set_java_home -Below, there is more documentation about method related to starting Terrier using PyTerrier, -and ways to change the configuration. +**Other General Options.** The following are other options for configuring Java: -Startup-related methods -~~~~~~~~~~~~~~~~~~~~~~~ +.. autofunction:: pyterrier.java.add_jar +.. autofunction:: pyterrier.java.add_package +.. autofunction:: pyterrier.java.set_memory_limit +.. autofunction:: pyterrier.java.set_redirect_io +.. autofunction:: pyterrier.java.add_option +.. autofunction:: pyterrier.java.set_log_level -.. autofunction:: pyterrier.init() +Terrier Configuration +~~~~~~~~~~~~~~~~~~~~~ -.. autofunction:: pyterrier.started() +These options adjust how the Terrier engine is loaded. -.. autofunction:: pyterrier.run() +.. autofunction:: pyterrier.terrier.set_version +.. autofunction:: pyterrier.terrier.set_helper_version +.. autofunction:: pyterrier.terrier.enable_prf +.. autofunction:: pyterrier.terrier.set_property +.. autofunction:: pyterrier.terrier.set_properties +.. autofunction:: pyterrier.terrier.extend_classpath -Methods to change PyTerrier configuration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Anserini Configuration +~~~~~~~~~~~~~~~~~~~~~~ -.. autofunction:: pyterrier.extend_classpath() +These options adjust how the Anserini engine is loaded. Note that the `pyserini` package needs to be +installed to use PyTerrier's Anserini integration. -.. autofunction:: pyterrier.logging() +.. autofunction:: pyterrier.anserini.set_version -.. autofunction:: pyterrier.redirect_stdouterr() -.. autofunction:: pyterrier.set_property() +Note on Deprecated Java Configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autofunction:: pyterrier.set_properties() +Previous versions of PyTerrier required you to run ``pt.init()`` (often in a ``if pt.started()`` block) +to configure Java and start using PyTerrier. This function still exists (it calls ``pt.java.init()`` +and associated other configuration methods), but is no longer needed and deprecated. -.. autofunction:: pyterrier.set_tqdm() +Instead, PyTerrier now automatically loads Java when a function is called that needs it. diff --git a/docs/terrier-indexing.rst b/docs/terrier-indexing.rst index 3ea9128f..26022258 100644 --- a/docs/terrier-indexing.rst +++ b/docs/terrier-indexing.rst @@ -20,12 +20,12 @@ TerrierIndexer All indexer classes extend ``TerrierIndexer``. Common indexer contrustor arguments for all four indexers are shown below. -.. autoclass:: pyterrier.index.TerrierIndexer +.. autoclass:: pyterrier.terrier.TerrierIndexer TRECCollectionIndexer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: pyterrier.TRECCollectionIndexer +.. autoclass:: pyterrier.terrier.TRECCollectionIndexer :members: index Example indexing the TREC WT2G corpus:: @@ -47,13 +47,13 @@ Example indexing the TREC WT2G corpus:: FilesIndexer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: pyterrier.FilesIndexer +.. autoclass:: pyterrier.terrier.FilesIndexer :members: index DFIndexer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: pyterrier.DFIndexer +.. autoclass:: pyterrier.terrier.DFIndexer :members: index Example indexing a dataframe:: @@ -79,7 +79,7 @@ Example indexing a dataframe:: IterDictIndexer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: pyterrier.IterDictIndexer +.. autoclass:: pyterrier.terrier.IterDictIndexer :members: index **Examples using IterDictIndexer** @@ -130,7 +130,7 @@ NB: Use ``pt.io.autoopen()`` as a drop-in replacement for ``open()`` that suppor If you have TREC-formatted files that you wish to use with an IterDictIndexer-like indexer, ``pt.index.treccollection2textgen()`` can be used as a helper function to aid in parsing such files. -.. autofunction:: pyterrier.index.treccollection2textgen +.. autofunction:: pyterrier.terrier.treccollection2textgen Example using Indexing Pipelines:: @@ -165,7 +165,7 @@ indexing configurations, and how to apply them when indexing using PyTerrier, no Terrier has three different types of indexer. The choice of indexer is exposed using the ``type`` kwarg to the indexer class. The indexer type can be set using the ``IndexingType`` enum. -.. autoclass:: pyterrier.index.IndexingType +.. autoclass:: pyterrier.terrier.IndexingType :inherited-members: CLASSIC, SINGLEPASS, MEMORY **Stemming configuation or stopwords** @@ -174,7 +174,7 @@ The default Terrier indexing configuration is to apply an English stopword list, indexer = pt.IterDictIndexer(stemmer='SpanishSnowballStemmer', stopwords=None) -.. autoclass:: pyterrier.index.TerrierStemmer +.. autoclass:: pyterrier.terrier.TerrierStemmer :inherited-members: See also the `org.terrier.terms `_ package for a list of @@ -182,7 +182,7 @@ the available term pipeline objects provided by Terrier. Similarly the use of Terrier's English stopword list can be disabled using the ``stopwords`` kwarg. -.. autoclass:: pyterrier.index.TerrierStopwords +.. autoclass:: pyterrier.terrier.TerrierStopwords :inherited-members: A custom stopword list can be set by setting the ``stopwords`` kwarg to a list of words:: @@ -198,7 +198,7 @@ package. For instance, its common to use `UTFTokeniser` when indexing non-Englis indexer = pt.IterDictIndexer(stemmer=None, stopwords=None, tokeniser="UTFTokeniser") -.. autoclass:: pyterrier.index.TerrierTokeniser +.. autoclass:: pyterrier.terrier.TerrierTokeniser :inherited-members: diff --git a/docs/terrier-retrieval.rst b/docs/terrier-retrieval.rst index 8d437354..579938a2 100644 --- a/docs/terrier-retrieval.rst +++ b/docs/terrier-retrieval.rst @@ -30,7 +30,7 @@ For instance, to create a re-ranking pipeline that re-scores the top 100 BM25 do BatchRetrieve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: pyterrier.BatchRetrieve +.. autoclass:: pyterrier.terrier.BatchRetrieve :members: transform, from_dataset @@ -119,7 +119,7 @@ for the documents, and these are then scored. Optionally, an index-like object can be specified as the `background_index` kwarg, which will be used for the collection statistics (e.g. term frequencies, document lengths etc. -.. autoclass:: pyterrier.batchretrieve.TextScorer +.. autoclass:: pyterrier.terrier.TextScorer Non-English Retrieval ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 08655365..7f3a28c7 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,10 +1,10 @@ from pyterrier.java import mavenresolver from pyterrier.java.utils import JavaInitializer, init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init, register_config, Configuration, JavaClasses -from pyterrier.java.core import CoreInit, configure, redirect_stdouterr, bytebuffer_to_array, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level +from pyterrier.java.core import CoreInit, configure, redirect_stdouterr, bytebuffer_to_array, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level, set_java_home __all__ = [ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', 'redirect_stdouterr', 'required', 'required_raise', 'set_log_level', 'set_memory_limit', 'set_redirect_io', - 'started', 'legacy_init', 'JavaInitializer', 'CoreInit', + 'started', 'legacy_init', 'JavaInitializer', 'CoreInit', 'set_java_home', ] diff --git a/pyterrier/java/core.py b/pyterrier/java/core.py index d1b54f81..c07063cf 100644 --- a/pyterrier/java/core.py +++ b/pyterrier/java/core.py @@ -17,6 +17,9 @@ def priority(self) -> int: return -100 # run this initializer before anything else def pre_init(self, jnius_config): + if configure['java_home']: + os.environ['JAVA_HOME'] = configure['java_home'] + if pt.utils.is_windows(): if "JAVA_HOME" in os.environ: java_home = os.environ["JAVA_HOME"] @@ -140,6 +143,7 @@ def unsign(signed): 'mem': None, 'log_level': 'WARN', 'redirect_io': True, + 'java_home': None, }) @@ -171,6 +175,15 @@ def set_redirect_io(redirect_io: bool): configure['redirect_io'] = redirect_io +@before_init +def set_java_home(java_home: str): + """ + Sets the directory to search when loading Java. + + Note that you can achieve the same outcome by setting the `JAVA_HOME` environment variable. + """ + configure['java_home'] = java_home + def set_log_level(level): """ Set the logging level. The following string values are allowed, corresponding diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 928ce72f..660b100b 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,13 +1,13 @@ # java stuff from pyterrier.terrier import java from pyterrier.terrier.java import configure, set_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version -from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve +from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve, TextScorer from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier.stemmer import TerrierStemmer from pyterrier.terrier.tokeniser import TerrierTokeniser from pyterrier.terrier.stopwords import TerrierStopwords from pyterrier.terrier import index -from pyterrier.terrier.index import TerrierIndexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, TerrierStemmer, TerrierStopwords, TerrierTokeniser +from pyterrier.terrier.index import TerrierIndexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, treccollection2textgen from pyterrier.terrier import rewrite TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve @@ -18,10 +18,10 @@ 'java', 'configure', 'set_version', 'set_helper_version', 'enable_prf', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', # retrieval - 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', + 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'TextScorer', # indexing - 'index', 'TerrierIndexer', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', + 'index', 'TerrierIndexer', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'treccollection2textgen', # rewriting 'rewrite', From b88ef8ebb8172e4f40f3e01c0e000b7d51e3e5df Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 18:04:10 +0100 Subject: [PATCH 112/153] private modules --- pyterrier/java/__init__.py | 6 +++--- pyterrier/java/{core.py => _core.py} | 0 pyterrier/java/{utils.py => _utils.py} | 0 3 files changed, 3 insertions(+), 3 deletions(-) rename pyterrier/java/{core.py => _core.py} (100%) rename pyterrier/java/{utils.py => _utils.py} (100%) diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 7f3a28c7..9838a378 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,10 +1,10 @@ from pyterrier.java import mavenresolver -from pyterrier.java.utils import JavaInitializer, init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init, register_config, Configuration, JavaClasses -from pyterrier.java.core import CoreInit, configure, redirect_stdouterr, bytebuffer_to_array, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level, set_java_home +from pyterrier.java._utils import JavaInitializer, init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init, register_config, Configuration, JavaClasses +from pyterrier.java._core import CoreInit, configure, redirect_stdouterr, bytebuffer_to_array, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level, set_java_home __all__ = [ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', 'redirect_stdouterr', 'required', 'required_raise', 'set_log_level', 'set_memory_limit', 'set_redirect_io', - 'started', 'legacy_init', 'JavaInitializer', 'CoreInit', 'set_java_home', + 'started', 'legacy_init', 'JavaInitializer', 'CoreInit', 'set_java_home', 'register_config', 'Configuration', ] diff --git a/pyterrier/java/core.py b/pyterrier/java/_core.py similarity index 100% rename from pyterrier/java/core.py rename to pyterrier/java/_core.py diff --git a/pyterrier/java/utils.py b/pyterrier/java/_utils.py similarity index 100% rename from pyterrier/java/utils.py rename to pyterrier/java/_utils.py From 1e03262b9d6c8aec88ea8d8f057ee4e733a01b2c Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 18:17:45 +0100 Subject: [PATCH 113/153] note about what triggered init in java started message --- pyterrier/anserini/java.py | 4 ++-- pyterrier/java/_utils.py | 22 +++++++++++++++------- pyterrier/terrier/java.py | 4 ++-- pyterrier/utils.py | 11 ++++------- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index 298a8973..696ba7a4 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -71,12 +71,12 @@ def set_version(version: str): @pt.utils.pre_invocation_decorator -def required() -> Union[Callable, bool]: +def required(fn: Callable): """ Requires pyserini to be installed (raises error if not installed). If the JVM has not yet been started, it runs pt.java.init(), too, similar to pt.java.required(). - Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it + Can be used as a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ if not is_installed(): diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index 8678d45a..d1d93a07 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -20,15 +20,16 @@ # ---------------------------------------------------------- @pt.utils.pre_invocation_decorator -def required(fn: Optional[Callable] = None) -> Union[Callable, bool]: +def required(fn: Callable): """ Requires the Java Virtual Machine to be started. If the JVM has not yet been started, it runs pt.java.init(). - Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it + Can be used as a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ if not _started: - init() + trigger = fn.__qualname__ if hasattr(fn, '__qualname__') else fn.__name__ + _init(trigger=trigger) def required_raise(fn: Optional[Callable] = None) -> Union[Callable, bool]: @@ -97,8 +98,12 @@ def cast(*args, **kwargs): # the JVM. # ---------------------------------------------------------- -@pt.utils.once() def init() -> None: + _init() + + +@pt.utils.once() +def _init(trigger=None): global _started # TODO: if we make java optional some day, should check here that it's installed. E.g., # if find_spec('jnius_config') is None: @@ -131,13 +136,17 @@ def init() -> None: # build "Java started" message message = [] + if trigger: + message.append(f'Java started (triggered by {trigger}) and loaded:\n') + else: + message.append('Java started and loaded:\n') for name, initializer in initalizers: msg = initializer.message() if msg is None: message.append(f' - {name}\n') else: message.append(f' - {name} [{msg}]\n') - sys.stderr.write('Java started and loaded:\n' + ''.join(message)) + sys.stderr.write(''.join(message)) @before_init @@ -262,9 +271,8 @@ def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: global _configs if started: if not pt.java.started(): - warn(f'Starting java parallel with configs {configs}') _configs = configs - init() + _init(trigger='parallel_init') else: warn("Avoiding reinit of PyTerrier") diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 665ea905..147dafce 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -36,11 +36,11 @@ def enable_prf(version: Optional[str] = '-SNAPSHOT'): @pt.utils.pre_invocation_decorator -def prf_required(fn: Optional[Callable] = None) -> Union[Callable, bool]: +def prf_required(fn: Callable): """ Requires prf to be enabled (raises error if not enabled). - Can be used as either a standalone function or a function/class @decorator. When used as a class decorator, it + Can be used as a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ if not configure['prf_version']: diff --git a/pyterrier/utils.py b/pyterrier/utils.py index f471189f..67828b09 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -189,15 +189,12 @@ def get_class_methods(cls) -> List[Tuple[str, Callable]]: def pre_invocation_decorator(decorator): """ - Builds a decorator function that funs the decoraded code before running the wrapped function. It can run as a - standalone function, a function @decorator, or a class @decorator. When used as a class decorator, it is applied to - all functions defined by the class. + Builds a decorator function that runs the decoraded code before running the wrapped function. It can run as a + function @decorator, or a class @decorator. When used as a class decorator, it is applied to all functions defined + by the class. """ @wraps(decorator) def _decorator_wrapper(fn): - if fn is None: # standalone call - return _decorator_wrapper(pt.utils.noop)() - if isinstance(fn, type): # wrapping a class for name, value in pt.utils.get_class_methods(fn): setattr(fn, name, _decorator_wrapper(value)) @@ -206,7 +203,7 @@ def _decorator_wrapper(fn): else: # wrapping a function @wraps(fn) def _wrapper(*args, **kwargs): - decorator() + decorator(fn) return fn(*args, **kwargs) return _wrapper return _decorator_wrapper From 6fb88f7b14a83bf6791d3d9534faee0a754faffe Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 20:19:17 +0100 Subject: [PATCH 114/153] more concise java started message --- pyterrier/java/_utils.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index d1d93a07..c2b5e479 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -137,16 +137,16 @@ def _init(trigger=None): # build "Java started" message message = [] if trigger: - message.append(f'Java started (triggered by {trigger}) and loaded:\n') + message.append(f'Java started (triggered by {trigger}) and loaded: ') else: - message.append('Java started and loaded:\n') + message.append('Java started and loaded: ') for name, initializer in initalizers: msg = initializer.message() if msg is None: - message.append(f' - {name}\n') + message.append(name) else: - message.append(f' - {name} [{msg}]\n') - sys.stderr.write(''.join(message)) + message.append(f'{name} [{msg}]') + sys.stderr.write(message[0] + ', '.join(message[1:]) + '\n') @before_init From e721392574bb40fab860cff2b132b332a57b677b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 20:37:08 +0100 Subject: [PATCH 115/153] error when no java initializers found (likely an issue with the editable/develop installation) --- pyterrier/java/_utils.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index c2b5e479..557dcdaa 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -112,26 +112,30 @@ def _init(trigger=None): # TODO: what about errors during init? What happens to _started? Etc. - initalizers = [] + initializers = [] for entry_point in pt.utils.entry_points('pyterrier.java.init'): initalizer = entry_point.load()() if initalizer.condition(): - initalizers.append((entry_point.name, initalizer)) + initializers.append((entry_point.name, initalizer)) + + if len(initializers) == 0: + raise RuntimeError('No Java initializers found. This is likely a configuration issue with the package. ' + 'If installed using `pip install -e .` or `python setup.py develop`, try reinstalling.') # sort by priority - initalizers = sorted(initalizers, key=lambda i: i[1].priority()) + initializers = sorted(initializers, key=lambda i: i[1].priority()) import jnius_config # run pre-initialization setup - for _, initializer in initalizers: + for _, initializer in initializers: initializer.pre_init(jnius_config) import jnius # noqa: PT100 _started = True # run post-initialization setup - for _, initializer in initalizers: + for _, initializer in initializers: initializer.post_init(jnius) # build "Java started" message @@ -140,7 +144,7 @@ def _init(trigger=None): message.append(f'Java started (triggered by {trigger}) and loaded: ') else: message.append('Java started and loaded: ') - for name, initializer in initalizers: + for name, initializer in initializers: msg = initializer.message() if msg is None: message.append(name) From 2f6a094c14743f24e99af75c92491dcfcdc000ab Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 20:44:49 +0100 Subject: [PATCH 116/153] avoid the annoying "bootstrap configuration" message --- pyterrier/terrier/java.py | 47 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 147dafce..7481a9df 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -1,6 +1,7 @@ +import os import sys import json -from functools import wraps +from pathlib import Path from packaging.version import Version from typing import Optional, Union, List, Callable, Dict, Any import pyterrier as pt @@ -58,6 +59,13 @@ def pre_init(self, jnius_config): terrier_version(str): Which version of Terrier - None is latest release; "snapshot" uses Jitpack to download a build of the current Github 5.x branch. helper_version(str): Which version of the helper - None is latest """ + properties_file = Path(pt.io.pyterrier_home()) / 'etc' / 'terrier.default.properties' + if not properties_file.exists(): + properties_file.parent.mkdir(parents=True, exist_ok=True) + with properties_file.open('wt') as fout: + fout.write(_DEFAULT_PROPERTIES) + jnius_config.add_options(f'-Dterrier.setup={properties_file}') + # If version is not specified, find newest and download it if configure['terrier_version'] is None: terrier_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") @@ -641,3 +649,40 @@ def check_helper_version(min): 'RM3': 'org.terrier.querying.RM3', 'AxiomaticQE': 'org.terrier.querying.AxiomaticQE', }) + + +# Pulled from +_DEFAULT_PROPERTIES = """ +#default controls for manager +querying.processes=terrierql:TerrierQLParser,parsecontrols:TerrierQLToControls,parseql:TerrierQLToMatchingQueryTerms,matchopql:MatchingOpQLParser,applypipeline:ApplyTermPipeline,localmatching:LocalManager$ApplyLocalMatching,qe:QueryExpansion,labels:org.terrier.learning.LabelDecorator,filters:LocalManager$PostFilterProcess,decorate:SimpleDecorateProcess +#default controls for the web-based interface. SimpleDecorate +#is the simplest metadata decorator. For more control, see Decorate. +querying.postfilters=decorate:SimpleDecorate,site:SiteFilter,scope:Scope + +#default and allowed controls +querying.default.controls=wmodel:DPH,parsecontrols:on,parseql:on,applypipeline:on,terrierql:on,localmatching:on,filters:on,decorate:on,decorate_batch:on +querying.allowed.controls=scope,qe,qemodel,start,end,site,scope + +#the processing stages a term goes through +termpipelines=Stopwords,PorterStemmer + +#document tags specification +#for processing the contents of +#the documents, ignoring DOCHDR +TrecDocTags.doctag=DOC +TrecDocTags.idtag=DOCNO +TrecDocTags.skip=DOCHDR +#set to true if the tags can be of various case +TrecDocTags.casesensitive=false + + +#starting from Terrier 5.3, we assume that documents are in UTF-8 +trec.encoding=UTF-8 + + +#query tags specification +TrecQueryTags.doctag=TOP +TrecQueryTags.idtag=NUM +TrecQueryTags.process=TOP,NUM,TITLE +TrecQueryTags.skip=DESC,NARR +""" From 783f39ae523560790d9c664448ff7a0360200e1b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 31 Jul 2024 20:44:49 +0100 Subject: [PATCH 117/153] avoid the annoying "bootstrap configuration" message --- pyterrier/terrier/java.py | 50 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 147dafce..d79e3a0d 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -1,6 +1,7 @@ +import os import sys import json -from functools import wraps +from pathlib import Path from packaging.version import Version from typing import Optional, Union, List, Callable, Dict, Any import pyterrier as pt @@ -58,6 +59,16 @@ def pre_init(self, jnius_config): terrier_version(str): Which version of Terrier - None is latest release; "snapshot" uses Jitpack to download a build of the current Github 5.x branch. helper_version(str): Which version of the helper - None is latest """ + + # Make sure the terrier.default.properties file exists and is registered as an option, which avoids an annoying + # "No etc/terrier.properties, using terrier.default.properties for bootstrap configuration." message. + properties_file = Path(pt.io.pyterrier_home()) / 'etc' / 'terrier.default.properties' + if not properties_file.exists(): + properties_file.parent.mkdir(parents=True, exist_ok=True) + with properties_file.open('wt') as fout: + fout.write(_DEFAULT_PROPERTIES) + jnius_config.add_options(f'-Dterrier.setup={properties_file}') + # If version is not specified, find newest and download it if configure['terrier_version'] is None: terrier_version = pt.java.mavenresolver.latest_version_num(TERRIER_PKG, "terrier-assemblies") @@ -641,3 +652,40 @@ def check_helper_version(min): 'RM3': 'org.terrier.querying.RM3', 'AxiomaticQE': 'org.terrier.querying.AxiomaticQE', }) + + +# Pulled from +_DEFAULT_PROPERTIES = """ +#default controls for manager +querying.processes=terrierql:TerrierQLParser,parsecontrols:TerrierQLToControls,parseql:TerrierQLToMatchingQueryTerms,matchopql:MatchingOpQLParser,applypipeline:ApplyTermPipeline,localmatching:LocalManager$ApplyLocalMatching,qe:QueryExpansion,labels:org.terrier.learning.LabelDecorator,filters:LocalManager$PostFilterProcess,decorate:SimpleDecorateProcess +#default controls for the web-based interface. SimpleDecorate +#is the simplest metadata decorator. For more control, see Decorate. +querying.postfilters=decorate:SimpleDecorate,site:SiteFilter,scope:Scope + +#default and allowed controls +querying.default.controls=wmodel:DPH,parsecontrols:on,parseql:on,applypipeline:on,terrierql:on,localmatching:on,filters:on,decorate:on,decorate_batch:on +querying.allowed.controls=scope,qe,qemodel,start,end,site,scope + +#the processing stages a term goes through +termpipelines=Stopwords,PorterStemmer + +#document tags specification +#for processing the contents of +#the documents, ignoring DOCHDR +TrecDocTags.doctag=DOC +TrecDocTags.idtag=DOCNO +TrecDocTags.skip=DOCHDR +#set to true if the tags can be of various case +TrecDocTags.casesensitive=false + + +#starting from Terrier 5.3, we assume that documents are in UTF-8 +trec.encoding=UTF-8 + + +#query tags specification +TrecQueryTags.doctag=TOP +TrecQueryTags.idtag=NUM +TrecQueryTags.process=TOP,NUM,TITLE +TrecQueryTags.skip=DESC,NARR +""" From dace9babaae03b40797e1dbe619aae4033f63ede Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 3 Aug 2024 09:05:17 +0100 Subject: [PATCH 118/153] updated documentation about init --- docs/pipeline_examples.md | 5 +++-- docs/terrier-indexing.rst | 1 - pyterrier/terrier/java.py | 10 ---------- pyterrier/terrier/rewrite.py | 8 ++++---- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/docs/pipeline_examples.md b/docs/pipeline_examples.md index d6ea455d..2dcab7d7 100644 --- a/docs/pipeline_examples.md +++ b/docs/pipeline_examples.md @@ -46,10 +46,11 @@ pipe = (pt.BatchRetrieve(wikipedia_index, wmodel="BM25") >> ### RM3 Query Expansion -We also provide RM3 query expansion, by virtue of an external plugin to Terrier called [terrier-prf](https://github.com/terrierteam/terrier-prf). This needs to be load at initialisation time. +We also provide RM3 query expansion, using an external plugin to Terrier called [terrier-prf](https://github.com/terrierteam/terrier-prf). +You need to call `pt.terrier.enable_prf()` to download and load this plugin. ```python -pt.init(boot_packages=["com.github.terrierteam:terrier-prf:-SNAPSHOT"]) +pt.terrier.enable_prf() # This is required before Java starts pipe = (pt.BatchRetrieve(indexref, wmodel="BM25") >> pt.rewrite.RM3(indexref) >> pt.BatchRetrieve(indexref, wmodel="BM25") diff --git a/docs/terrier-indexing.rst b/docs/terrier-indexing.rst index 26022258..e5771a13 100644 --- a/docs/terrier-indexing.rst +++ b/docs/terrier-indexing.rst @@ -31,7 +31,6 @@ TRECCollectionIndexer Example indexing the TREC WT2G corpus:: import pyterrier as pt - pt.init() # list of filenames to index files = pt.io.find_files("/path/to/WT2G/wt2g-corpus/") diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index d79e3a0d..3f5c2f60 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -50,16 +50,6 @@ def prf_required(fn: Callable): class TerrierInit(pt.java.JavaInitializer): def pre_init(self, jnius_config): - """ - Download Terrier's jar file for the given version at the given file_path - Called by pt.init() - - Args: - file_path(str): Where to download - terrier_version(str): Which version of Terrier - None is latest release; "snapshot" uses Jitpack to download a build of the current Github 5.x branch. - helper_version(str): Which version of the helper - None is latest - """ - # Make sure the terrier.default.properties file exists and is registered as an option, which avoids an annoying # "No etc/terrier.properties, using terrier.default.properties for bootstrap configuration." message. properties_file = Path(pt.io.pyterrier_home()) / 'etc' / 'terrier.default.properties' diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index f8beefb9..3440ce60 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -354,8 +354,8 @@ def __init__(self, *args, **kwargs): class RM3(QueryExpansion): ''' Performs query expansion using RM3 relevance models. RM3 relies on an external Terrier plugin, - `terrier-prf `_. You should start PyTerrier with - `pt.init(boot_packages=["com.github.terrierteam:terrier-prf:-SNAPSHOT"])`. + `terrier-prf `_. You need to call ``pt.terrier.enable_prf()`` + before RM3 is available. This transformer must be followed by a Terrier Retrieve() transformer. The original query is saved in the `"query_0"` column, which can be restored using `pt.rewrite.reset()`. @@ -412,8 +412,8 @@ def transform(self, queries_and_docs): class AxiomaticQE(QueryExpansion): ''' Performs query expansion using axiomatic query expansion. This class relies on an external Terrier plugin, - `terrier-prf `_. You should start PyTerrier with - `pt.init(boot_packages=["com.github.terrierteam:terrier-prf:-SNAPSHOT"])`. + `terrier-prf `_. You need to call ``pt.terrier.enable_prf()`` + before AxiomaticQE is available. This transformer must be followed by a Terrier Retrieve() transformer. The original query is saved in the `"query_0"` column, which can be restored using `pt.rewrite.reset()`. From efc3279712db85b674457beef96a654294dff95a Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 3 Aug 2024 09:09:35 +0100 Subject: [PATCH 119/153] renamed java Java Initializers to better clarify their purpose --- pyterrier/anserini/java.py | 2 +- pyterrier/java/__init__.py | 4 ++-- pyterrier/java/_core.py | 2 +- pyterrier/terrier/java.py | 2 +- setup.py | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index 696ba7a4..be8411c6 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -10,7 +10,7 @@ }) -class AnseriniInit(pt.java.JavaInitializer): +class AnseriniJavaInit(pt.java.JavaInitializer): def __init__(self): self._message = None diff --git a/pyterrier/java/__init__.py b/pyterrier/java/__init__.py index 9838a378..30c7e9ae 100644 --- a/pyterrier/java/__init__.py +++ b/pyterrier/java/__init__.py @@ -1,10 +1,10 @@ from pyterrier.java import mavenresolver from pyterrier.java._utils import JavaInitializer, init, started, parallel_init, parallel_init_args, required, required_raise, before_init, autoclass, cast, legacy_init, register_config, Configuration, JavaClasses -from pyterrier.java._core import CoreInit, configure, redirect_stdouterr, bytebuffer_to_array, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level, set_java_home +from pyterrier.java._core import CoreJavaInit, configure, redirect_stdouterr, bytebuffer_to_array, J, add_jar, add_package, set_memory_limit, set_redirect_io, add_option, set_log_level, set_java_home __all__ = [ 'add_jar', 'add_option', 'add_package', 'autoclass', 'before_init', 'bytebuffer_to_array', 'cast', 'config', 'configure', 'init', 'J', 'JavaClasses', 'mavenresolver', 'parallel_init', 'parallel_init_args', 'redirect_stdouterr', 'required', 'required_raise', 'set_log_level', 'set_memory_limit', 'set_redirect_io', - 'started', 'legacy_init', 'JavaInitializer', 'CoreInit', 'set_java_home', 'register_config', 'Configuration', + 'started', 'legacy_init', 'JavaInitializer', 'CoreJavaInit', 'set_java_home', 'register_config', 'Configuration', ] diff --git a/pyterrier/java/_core.py b/pyterrier/java/_core.py index c07063cf..8afcf98d 100644 --- a/pyterrier/java/_core.py +++ b/pyterrier/java/_core.py @@ -12,7 +12,7 @@ # Java Initialization # ---------------------------------------------------------- -class CoreInit(JavaInitializer): +class CoreJavaInit(JavaInitializer): def priority(self) -> int: return -100 # run this initializer before anything else diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 3f5c2f60..b6fd7c54 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -48,7 +48,7 @@ def prf_required(fn: Callable): raise RuntimeError('you need to call pt.terrier.enable_prf() before java is loaded to use this function.') -class TerrierInit(pt.java.JavaInitializer): +class TerrierJavaInit(pt.java.JavaInitializer): def pre_init(self, jnius_config): # Make sure the terrier.default.properties file exists and is registered as an option, which avoids an annoying # "No etc/terrier.properties, using terrier.default.properties for bootstrap configuration." message. diff --git a/setup.py b/setup.py index 938a698d..0bc4798b 100644 --- a/setup.py +++ b/setup.py @@ -72,9 +72,9 @@ def get_version(rel_path): ], entry_points={ 'pyterrier.java.init': [ - 'pyterrier.java = pyterrier.java:CoreInit', - 'pyterrier.terrier.java = pyterrier.terrier.java:TerrierInit', - 'pyterrier.anserini.java = pyterrier.anserini.java:AnseriniInit', + 'pyterrier.java = pyterrier.java:CoreJavaInit', + 'pyterrier.terrier.java = pyterrier.terrier.java:TerrierJavaInit', + 'pyterrier.anserini.java = pyterrier.anserini.java:AnseriniJavaInit', ], }, install_requires=requirements, From c8206814e3c1df56505a0ba64a78bcb9d6f836cb Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 3 Aug 2024 09:18:03 +0100 Subject: [PATCH 120/153] I think I prefer the kwargs style for JavaClasses --- pyterrier/anserini/java.py | 12 +++--- pyterrier/java/_core.py | 24 +++++------ pyterrier/java/_utils.py | 2 +- pyterrier/terrier/java.py | 88 +++++++++++++++++++------------------- 4 files changed, 63 insertions(+), 63 deletions(-) diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index be8411c6..bbb04d2c 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -85,9 +85,9 @@ def required(fn: Callable): pt.java.init() -J = pt.java.JavaClasses({ - 'ClassicSimilarity': 'org.apache.lucene.search.similarities.ClassicSimilarity', - 'BM25Similarity': 'org.apache.lucene.search.similarities.BM25Similarity', - 'LMDirichletSimilarity': 'org.apache.lucene.search.similarities.LMDirichletSimilarity', - 'IndexReaderUtils': 'io.anserini.index.IndexReaderUtils', -}) +J = pt.java.JavaClasses( + ClassicSimilarity = 'org.apache.lucene.search.similarities.ClassicSimilarity', + BM25Similarity = 'org.apache.lucene.search.similarities.BM25Similarity', + LMDirichletSimilarity = 'org.apache.lucene.search.similarities.LMDirichletSimilarity', + IndexReaderUtils = 'io.anserini.index.IndexReaderUtils', +) diff --git a/pyterrier/java/_core.py b/pyterrier/java/_core.py index 8afcf98d..c3490c0e 100644 --- a/pyterrier/java/_core.py +++ b/pyterrier/java/_core.py @@ -206,15 +206,15 @@ def set_log_level(level): # Common classes (accessible via pt.java.J.[ClassName]) # ---------------------------------------------------------- -J = JavaClasses({ - 'ArrayList': 'java.util.ArrayList', - 'Properties': 'java.util.Properties', - 'PTUtils': 'org.terrier.python.PTUtils', - 'System': 'java.lang.System', - 'StringReader': 'java.io.StringReader', - 'HashMap': 'java.util.HashMap', - 'Arrays': 'java.util.Arrays', - 'Array': 'java.lang.reflect.Array', - 'String': 'java.lang.String', - 'List': 'java.util.List', -}) +J = JavaClasses( + ArrayList = 'java.util.ArrayList', + Properties = 'java.util.Properties', + PTUtils = 'org.terrier.python.PTUtils', + System = 'java.lang.System', + StringReader = 'java.io.StringReader', + HashMap = 'java.util.HashMap', + Arrays = 'java.util.Arrays', + Array = 'java.lang.reflect.Array', + String = 'java.lang.String', + List = 'java.util.List', +) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index 557dcdaa..14dbfa1f 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -345,7 +345,7 @@ def register_config(name, config: Dict[str, Any]): # ---------------------------------------------------------- class JavaClasses: - def __init__(self, mapping: Dict[str, str]): + def __init__(self, **mapping: Union[str, Callable[[], str]]): self._mapping = mapping self._cache = {} diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index b6fd7c54..326eaaa5 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -594,54 +594,54 @@ def check_helper_version(min): # Terrier-specific classes -J = pt.java.JavaClasses({ - 'ApplicationSetup': 'org.terrier.utility.ApplicationSetup', - 'IndexRef': 'org.terrier.querying.IndexRef', - 'Version': 'org.terrier.Version', - 'Tokenizer': 'org.terrier.indexing.tokenisation.Tokeniser', - 'Serialization': 'org.terrier.python.Serialization', - 'IndexOnDisk': 'org.terrier.structures.IndexOnDisk', - 'IndexFactory': 'org.terrier.structures.IndexFactory', - 'MultiIndex': 'org.terrier.realtime.multi.MultiIndex', - 'CLITool': 'org.terrier.applications.CLITool', - 'ApplyTermPipeline': 'org.terrier.querying.ApplyTermPipeline', - 'ManagerFactory': 'org.terrier.querying.ManagerFactory', - 'Request': 'org.terrier.querying.Request', +J = pt.java.JavaClasses( + ApplicationSetup = 'org.terrier.utility.ApplicationSetup', + IndexRef = 'org.terrier.querying.IndexRef', + Version = 'org.terrier.Version', + Tokenizer = 'org.terrier.indexing.tokenisation.Tokeniser', + Serialization = 'org.terrier.python.Serialization', + IndexOnDisk = 'org.terrier.structures.IndexOnDisk', + IndexFactory = 'org.terrier.structures.IndexFactory', + MultiIndex = 'org.terrier.realtime.multi.MultiIndex', + CLITool = 'org.terrier.applications.CLITool', + ApplyTermPipeline = 'org.terrier.querying.ApplyTermPipeline', + ManagerFactory = 'org.terrier.querying.ManagerFactory', + Request = 'org.terrier.querying.Request', # Indexing - 'TaggedDocument': 'org.terrier.indexing.TaggedDocument', - 'FlatJSONDocument': 'org.terrier.indexing.FlatJSONDocument', - 'Tokeniser': 'org.terrier.indexing.tokenisation.Tokeniser', - 'TRECCollection': 'org.terrier.indexing.TRECCollection', - 'SimpleFileCollection': 'org.terrier.indexing.SimpleFileCollection', - 'BasicIndexer': 'org.terrier.structures.indexing.classical.BasicIndexer', - 'BlockIndexer': 'org.terrier.structures.indexing.classical.BlockIndexer', - 'BasicSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BasicSinglePassIndexer', - 'BlockSinglePassIndexer': 'org.terrier.structures.indexing.singlepass.BlockSinglePassIndexer', - 'BasicMemoryIndexer': lambda: 'org.terrier.realtime.memory.MemoryIndexer' if check_version("5.7") else 'org.terrier.python.MemoryIndexer', - 'Collection': 'org.terrier.indexing.Collection', - 'StructureMerger': 'org.terrier.structures.merging.StructureMerger', - 'BlockStructureMerger': 'org.terrier.structures.merging.BlockStructureMerger', - 'DocumentPostingList': 'org.terrier.structures.indexing.DocumentPostingList', - 'MapEntry': 'org.terrier.structures.collections.MapEntry', - 'MultiDocumentFileCollection': 'org.terrier.indexing.MultiDocumentFileCollection', - 'CollectionFactory': 'org.terrier.indexing.CollectionFactory', - 'TagSet': 'org.terrier.utility.TagSet', - 'CollectionFromDocumentIterator': 'org.terrier.python.CollectionFromDocumentIterator', - 'PTUtils': 'org.terrier.python.PTUtils', - 'Index': 'org.terrier.structures.Index', - 'JsonlDocumentIterator': 'org.terrier.python.JsonlDocumentIterator', - 'JsonlPretokenisedIterator': 'org.terrier.python.JsonlPretokenisedIterator', - 'ParallelIndexer': 'org.terrier.python.ParallelIndexer', + TaggedDocument = 'org.terrier.indexing.TaggedDocument', + FlatJSONDocument = 'org.terrier.indexing.FlatJSONDocument', + Tokeniser = 'org.terrier.indexing.tokenisation.Tokeniser', + TRECCollection = 'org.terrier.indexing.TRECCollection', + SimpleFileCollection = 'org.terrier.indexing.SimpleFileCollection', + BasicIndexer = 'org.terrier.structures.indexing.classical.BasicIndexer', + BlockIndexer = 'org.terrier.structures.indexing.classical.BlockIndexer', + BasicSinglePassIndexer = 'org.terrier.structures.indexing.singlepass.BasicSinglePassIndexer', + BlockSinglePassIndexer = 'org.terrier.structures.indexing.singlepass.BlockSinglePassIndexer', + BasicMemoryIndexer = lambda: 'org.terrier.realtime.memory.MemoryIndexer' if check_version("5.7") else 'org.terrier.python.MemoryIndexer', + Collection = 'org.terrier.indexing.Collection', + StructureMerger = 'org.terrier.structures.merging.StructureMerger', + BlockStructureMerger = 'org.terrier.structures.merging.BlockStructureMerger', + DocumentPostingList = 'org.terrier.structures.indexing.DocumentPostingList', + MapEntry = 'org.terrier.structures.collections.MapEntry', + MultiDocumentFileCollection = 'org.terrier.indexing.MultiDocumentFileCollection', + CollectionFactory = 'org.terrier.indexing.CollectionFactory', + TagSet = 'org.terrier.utility.TagSet', + CollectionFromDocumentIterator = 'org.terrier.python.CollectionFromDocumentIterator', + PTUtils = 'org.terrier.python.PTUtils', + Index = 'org.terrier.structures.Index', + JsonlDocumentIterator = 'org.terrier.python.JsonlDocumentIterator', + JsonlPretokenisedIterator = 'org.terrier.python.JsonlPretokenisedIterator', + ParallelIndexer = 'org.terrier.python.ParallelIndexer', # PRF - 'TerrierQLParser': 'org.terrier.querying.TerrierQLParser', - 'TerrierQLToMatchingQueryTerms': 'org.terrier.querying.TerrierQLToMatchingQueryTerms', - 'QueryResultSet': 'org.terrier.matching.QueryResultSet', - 'DependenceModelPreProcess': 'org.terrier.querying.DependenceModelPreProcess', - 'RM3': 'org.terrier.querying.RM3', - 'AxiomaticQE': 'org.terrier.querying.AxiomaticQE', -}) + TerrierQLParser = 'org.terrier.querying.TerrierQLParser', + TerrierQLToMatchingQueryTerms = 'org.terrier.querying.TerrierQLToMatchingQueryTerms', + QueryResultSet = 'org.terrier.matching.QueryResultSet', + DependenceModelPreProcess = 'org.terrier.querying.DependenceModelPreProcess', + RM3 = 'org.terrier.querying.RM3', + AxiomaticQE = 'org.terrier.querying.AxiomaticQE', +) # Pulled from From 7d857e45535e6fb79c4500052a07bafa3dc6a5b5 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 3 Aug 2024 09:22:07 +0100 Subject: [PATCH 121/153] normalize how the extra requirement decorators are done --- pyterrier/anserini/__init__.py | 4 ++-- pyterrier/anserini/java.py | 7 ++----- pyterrier/anserini/retriever.py | 5 +++-- pyterrier/terrier/rewrite.py | 4 ++-- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/pyterrier/anserini/__init__.py b/pyterrier/anserini/__init__.py index 919d9f25..a5da02b1 100644 --- a/pyterrier/anserini/__init__.py +++ b/pyterrier/anserini/__init__.py @@ -1,4 +1,4 @@ -from pyterrier.anserini.java import is_installed, set_version, required, J +from pyterrier.anserini.java import is_installed, set_version, pyserini_required, J from pyterrier.anserini.retriever import AnseriniBatchRetrieve -__all__ = ['is_installed', 'set_version', 'required', 'AnseriniBatchRetrieve', 'J'] +__all__ = ['is_installed', 'set_version', 'pyserini_required', 'AnseriniBatchRetrieve', 'J'] diff --git a/pyterrier/anserini/java.py b/pyterrier/anserini/java.py index bbb04d2c..ee460175 100644 --- a/pyterrier/anserini/java.py +++ b/pyterrier/anserini/java.py @@ -71,18 +71,15 @@ def set_version(version: str): @pt.utils.pre_invocation_decorator -def required(fn: Callable): +def pyserini_required(fn: Callable): """ - Requires pyserini to be installed (raises error if not installed). If the JVM has not yet been started, it runs - pt.java.init(), too, similar to pt.java.required(). + Requires pyserini to be installed (raises error if not installed). Can be used as a function/class @decorator. When used as a class decorator, it is applied to all methods defined by the class. """ if not is_installed(): raise RuntimeError('pyserini required to use pyterrier.anserini. `pip install pyserini` and try again.') - if not pt.java.started(): - pt.java.init() J = pt.java.JavaClasses( diff --git a/pyterrier/anserini/retriever.py b/pyterrier/anserini/retriever.py index a7b1b3ee..d0cec6ad 100644 --- a/pyterrier/anserini/retriever.py +++ b/pyterrier/anserini/retriever.py @@ -1,10 +1,11 @@ from warnings import warn import pandas as pd import pyterrier as pt -from pyterrier.anserini.java import required +from pyterrier.anserini.java import pyserini_required -@required +@pyserini_required +@pt.java.required class AnseriniBatchRetrieve(pt.Transformer): """ Allows retrieval from an Anserini index. To use this class, you must first enable anserini using `pt.anserini.enable()`. diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index 3440ce60..bdf41665 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -350,6 +350,7 @@ def __init__(self, *args, **kwargs): kwargs["qemodel"] = "KL" super().__init__(*args, **kwargs) +@prf_required @pt.java.required class RM3(QueryExpansion): ''' @@ -376,7 +377,6 @@ class RM3(QueryExpansion): ) ''' - @prf_required def __init__(self, *args, fb_terms=10, fb_docs=3, fb_lambda=0.6, **kwargs): """ Args: @@ -408,6 +408,7 @@ def transform(self, queries_and_docs): self.qe.fbDocs = self.fb_docs return super().transform(queries_and_docs) +@prf_required @pt.java.required class AxiomaticQE(QueryExpansion): ''' @@ -422,7 +423,6 @@ class AxiomaticQE(QueryExpansion): - fb_terms(int): number of feedback terms. Defaults to 10 - fb_docs(int): number of feedback documents. Defaults to 3 ''' - @prf_required def __init__(self, *args, fb_terms=10, fb_docs=3, **kwargs): """ Args: From 8fdca57803514ecb4b921e4f6b5875d4010db5f5 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 3 Aug 2024 09:39:56 +0100 Subject: [PATCH 122/153] whoops --- deleteme/x.pkl | Bin 6835025 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 deleteme/x.pkl diff --git a/deleteme/x.pkl b/deleteme/x.pkl deleted file mode 100644 index 285bee1c4062624cfe02a732d22ee55327510725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6835025 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

mjq0 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%0A!U%d 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�l_x>ugD^L>P9Kp^b|+;{3uC^` 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

Pe9c>>Xz&`PG56R{KJr23VoY~H%2aZzZ`sH6@ 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 z z`lnJQHhJT>QJZ>vA#W(Q%5{POjsc>~B_e=2`N<@pW?!BL*3ygz&dZF`zXvoc)InA|ZS_m@1oSHrqBe?Xr5 zvZs<3?U5q>Jr^I?H!{qocyIloQ9156{n+Bi8uy5Nmhbk6e8K>ieMn7{Z&ma%+s(Cs zad|VsYCLj~6%p1SP!4LbnDMuk+|FAQYsbd&Ycue^!lW_yWL_V@Bf1aq?@j2fWh0}E z47H)&-8Fd!YLoEOF5Zz!YkX{8dP*lNGB13_^{{Bb373b(UY0AVEq&j%-KyvGe)J=e z;PR*&xGZmS0QT3+kIfP3n#_BV4)1Xc_S4yWRq3c#6|6W95u{RxuqSCtCr~3Dv%xIF zog9^5`c9?)iYpsV|3x~E)lpsc0QzP^n^CK3SU^44Q99(8iv~joOrZ6vW+XOm~%;vObP_cS#?goCD#JagR{s zh|?Z`a*s&LV@$uq!#p$zx(Iv%LGB`&Zx?TB=g@qY{3&O>-jjcMzx+AFUf>ZCK`-!# zi11$E>%yLHl6eUnwKmdu+y9!=Fi0RE-HA=RX@`P3wZ+VgF%|Ou&CY6+pj&X^;dm9xk_W)>e zyD{BgX3DBMDy#kUD+~QKUAXBUFqA^NE4QQUcb56-8Z=0?Yk-@s0dC6a8oU*xu7Q?A z*Wd)XYp5OyV+(ne@xDsHmm2t?N$>p|3Bf%`bOM(X>UjA$^+&0NL^>8&@!K&<*QtfT z%A^kwOo$P2qKgPEB+{{{kVSY4iAs3qbd)27kucJoD@fGT5rwiHM?%=oGlhM2bGov} z$cs$`mdlNWjFiYR7LB`z>3OHARMifi(7uu84(Dov-eAxxr)pD5kl|svgUh#;d9peV zO5@5N@_`Tt4~*M|f@s!&(`cuhU`7PxIhd=K7MS?6wBXdB+0sJ3!RZ7&cb;BAOds^0 z-#f8qq?bn<^`eNGEiybVvQ8ISkBer$s&sjBSo=kWSE@tPB13Tmw7EvUHZ8v@rB8gP z+m2o%V$K#ZuMsifwj+MVFX?CVi=jVn6W;0(t;m3j3kY6oP_GpUzJR|`6&-AzgKk=x zk&e-e%3QB>(l*2DfK*bN4a2~g1#nN9p<<|0o3kh;{&2EUM4WGRmHs(@B!UE|yQCx` z#aC%WXr`+>YI(BvRMwJdKC;%Cth-cJxBPg-`b$G$wwZZc^vF%ZO1Q0ytke*=6cV{w zLsgMWG!eN@T^YHDPKn%^u86%(;5p3vI#GtY1HP6tZ6B=nt0l7u)+a>_!TO|#3Bk(G zxFY>*t}yi32J7n$>h&VQgLOg`Ed^_&^I#oQy6RwsfnWvLgVh*11S^~bA)FqpkGe`B zSRK1r)B4Q{cp45p|@kE6aPfk6vc#@l^X4d)rguoL|KOxF^ zJUx*#Z68mMt0l9Er>8{>@$|Ha3Gu|w#8dj&Tw&<5ji)yl)Eh*C$I}a5d7<-*bRJL7 zDcz)avXc-n5KjPmJQ+iWc!HC7g45&aU9M7yr%31Vq!K)yqS78u∋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�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 z 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%0DJ(AfwW_T*ZT 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 z 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

UI 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%0A`$+Yk1 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

GK z7bY2xXSE086r_XX9#(~A3)Fs!87Om#67mXxgyv6j1GV2O+rIV-pNYOBThNpI8e;@~ zKEkHwIQcBo;-|$Clh+UnS9Xy7O$C;@LrEE-PWa%NNmc57gh6H{>1+`gsG&v}y^OXc z_n|eqJz#yF_;p z(0xM5ssUFrfuLj(0Z=HpeOo;9eMFd&@4p&~#^$#aLebYNm)Jm_doJu-LzAxoRYb$3 zpwUUlzL`{Q<9kT5M>;pYQ@DZz5U3%6)06U)0JKw9fbY=WP0n_go!-pDUJDj6{gXmm z$bJVYlzm?~Xga5c2_4Z9Y$Q5nM(7XjQ3hnB$+zE9t&WBO5Ye!Sm7zsNnJQV)6^3zb zfnmEFB{P`eK;0^f`wD?vV4DW1%6$L4dS#cX?LkwU6hdvgW>s4{XbAa<4z&>-O$_pn zx!N)(&9p`=Ohbu?iZ42|AqHd{)$|6l>W`99zG!d zZhR2;AI0ROO3I`z80HO77b3G#(C!b@kas32TgTSNcW$}Q*7dfTS|Y)kP|e%h1uns0 zP3Yxq3YMxy0uQUUW&B(9GZJEF&+`nUW#YUM;=pK9(6deu=a)>Jqa~+vvxLXxO8-43 zOo@W+E(r4r?ZT8`NMC|5|I38w{EX(R!eq^nDuH>)pCv&h2e0nYzO46I!M7ha--|mc6S%^QOLfJ$`>M!_HRCm6TK7hjcMk2L4G@oU2zsWQ&g*avQ5!Fxr z#7*`HIdL#?AWnZ`D&fEba*b4lEs}2F$Std13cBwEGk%Kow{MzeDbYm3UMtbCi5zHY z=}}Vd6A)PbQPcX|+ZqXBgO+unM}c#GPE~ZE1?Nl&$9|b^iGr>L?0r^IuuAN(h3f)Y z6s!oHNMP9@R8mIVC8TnPAP|}p2>}RRqXsgsc3@f)zU{zs_ntSK^`sEq^Cv22?mgKO zf;jLV;+&kAOE?GVJ#Vr4r4Zip4c0%4_Ye)#KSPE%8Dk05jzNL^|orYL&8qznXQ7m(slCn9C3gdo2AUF*PnbW9UI-G_^ zgwr^1<}@(?$V}xfywL44mEtHu)(yNBhD1Lng-9CvzRKQ*Uv+lipW)E|)ctdCW4G~1 zU&Cn%CRI))CRLUq)Aj_GS-!US73KqW$HbFc4S=huj{+_A&?Az4&IpZ*& zI=Hj8j-QxVHt5gwA(eW~}DDx?rMQe9!H=y(GnR$T6F zjjW-Q+zG-O$zhd&hJI~`Sv9@Qrpm-e_7d?eb9@8w+a@R@XQy6)I7n_L4%C5ZpyK2p zP8O~cY}uesGS0e<=htY}v%V%tPT*H0@oeK{AXT$TrO&5#tL3MhwMz^K(Il{@IF*-4 zD@TZpusTeYDEL}IMR%ySb7vtCoW+4MXNj3d*tKdUogF89#2iKn5e&IgWt7>ybcNO} z+S0Q`v7Y^QMPX#lcRG7+wUQQ2ImPCDB}C6TL*2y_mQ8BQ|fo2Vt^ zhGd-~XFVJ4GMf@>qtV}1V41s>l(C->f>;!hFtD8z`Uh_p7#Mh)*4~F-b=>gJhi2Me zG?*q|9og> z{bi#kg)r+wrk2dCC8U}4L03y|*12wak|r$6+Set8B${)zEQxF|BG?{=W#48ZWR@)< zv2zH^zSTv@EPJ*5nEaVon~na93oNs2Nf}#ta8VV+EK3+zRto)t_X-Rw`&zBN55KBq z{qvz&_E(Ia6vDEPm|8N+mXK!I_qbYe%g!UqiR58qGJ?HW=q8c(9=OZ~BF@c*b4P(= z`YhQ-i-SJjZTjr|9Qy3CK>cZ`3=33p3W|c#wm^OR|G5R~ucA7v@uUz7)ZeB6b6swc z239?!VGGocs}f=smMu_;fdwitY<{j7w%jVI+5%NMORa(+&b+NXe_ffk1uB8C++tk@ z^daSL9t+f8gT^4O6k>t;>4VZ3X<&g$8a6HeT)W1yc`GrnKqUs+2f7W#FpZT|tqmz> zNn-?Y=56iSrZECRW30=7RAX~qpeoJo3)FSp7N{F#Bg{5B=C(Zjb?aq51dG`6^iNfr zeVaNzqY)CX|n^vI|G^-P>{%fod>s0Sh($+NLVLZZ{ zLKWWU!6i`uWo$;!ze~I*+X473a0l~AA$H!r)$Ux`eJ;en-a9euJ{QG+b7ARFQnmYB z{zj?xy3ZwBnv)JfwXDk)V2>-E;y#xW(l+eBtB|oYFTqT?i7^R3A4EDr_8Q-Zp+u-e z3VJ^S+S`+?+|m)M&*2xRH%JE3k_>{yK?W+u|0MkUFly5K(fn6z$l`; zQs|dE=d_0ZBn9|lAZ5EPL_%^bk#IdL*is~S$dWREf;WpFn+R|>r-jC#`ZqAANn>ID z;lSbK2VtlrKlWID8}cI?MGAVH2wW~cjq$>ChuZ0t7bc{}NdlM}kbo_#l>kgsR)Fu2 zZy_r{_cr3kJU0vUN3HQmA(CSh+O%Orp$7*$R6YET=|KvihZTh$hUIB@&z}j$$if?> z0>>Z~OAA#hP)1n`zC#(yT^R>^dBn%THMR+)5SK@sru3wZwyD za6)6EK0JEgemVJpp4$$T;0#9!VX`8OxU6WcFpdfOS*jjx+Mk3|hfK5!&18N?0_%+c z)tqfJ;G1~f*T)JJ+yA8USoQbwW|3;0lEHmxS^TEks0xM;Rp zotJF*yjXrrj!7)6_F1Ea&lJlVdr8^CXUdhCh%hh_=~(#edab<=ziPwu&tal2tH<{P z1*^v#rET@d%V#>aH_Hp%XTRq5^+^w(L2WnyB!xJYR44y)T|AP;*+v8DeXzi&>Y$?Q z@zeQ4L^dodMfU?r;zSf%ITI+`T*n}KQlmT+2$w5=DU6P}*J8L`k*M=qi zaAzEQl@WDl=gv5F`U1Ist%h@{By_86CQgpqu~j*YsHb&z)=IF{JU?q*{6}ySTb=Dw z1NUv}{0t{gT58KA&Qg5Bwr`HJ9Dj_eFc*}9?jOP^uhgp8BL`Y`FBj3UTSzpl#xu0Q z$hr+;z_i4`njKe@Y!%Tt1!Uh-VV^$bg)*qIX?QUxo z#s_l(xx{wlNOfkDpY~-!riQRp<`iFm7IA%%6m)t6=HBBXlR>l85e$xy)&$9W1c4wp%abmLh6saS?*S|L@O zYb8~zuyMK5ACPLJPtafRwEStTkP_CG1jibN;0Q=ViJw*`Jm%Coe2p!7W@SG zdr72?lMwceSu^&HabMM!UHs~9fmo{z>&gPlELu`tlT`4jwLLR()1VA+I&ASe z1zy`QJ(-3jR@_CIIP2T_JuF@@?_Od1ZI3GRwxA;+xT6&M2LY71qg2E$0h2)g9^(X- z+#E-W?=e6|>>;y2)}4O^Zi^_E6e6MK8)~;c{Hha7{~V;dOfWfL!2~l$!348-9jUSG zXjx2uO^)kGe57J<8hKWlBYhPdAU{P4ak_4|k9dWl4@ zb}#FZY1#8erl%*S)~sGF%%G+V)8mT$` znYq%}VMxsK;N|~dp4RypPOb**60TU9RBJ)^zpxsl5J~q>Bp=9v?y`{OX;vbjbrJy= zM}j3q@WG;_3ZR~h9kunw&DY98A;I2$|8Xfm9#X$?ALc>H| zkr-V_RF|ft51_ucAn{`x=fnj7kNg>{sJ2o+#9(t?psGh3ssN~9- z`$u=;Dx~q++M91=4yW`8wWKfk{eI~HhIYs`Gq@Ef@1_WX`+0_&Ao*CLDvUqLx4oQz$C4th9?vRwx4Xz%ZnVghclUC!N zY58F_s!V+*{@ybsm*x!bmTE4Xn%T2wXmY>xUg-iJi~~1LT>a6+B!R17ta*o} zvy&T#LcRGlJwQxa*E@7duNaWaqojTpEx>nf-`kwrDL4sx0DrGMZ)k^f(#`Su&hyG^ zcK*g1?mxhXtSjxO4@uMN{EQZ;F4mCQ#5S`Xp70fvz*&`nMF5=kqEOs7XQgultT3Nt14J5kjW--(J2uZ7vnQf7Nrnc zysUynM*fj$b6he>RBTBT)$(c-)tM~m1E{ACj~s7K?yc|2nEYpBQVPN3T~$nG zxMY&3V3MfDq@p^LCH=WEiMBi=Ly&iePa2a_2qt$_F`40#Nuq*Dq8gKm>P(jO=fvdF zslD}`S#$n>jYTO$bJ<t zlME6O3=+{8R77X6q~6A$Ki}6{x_!F2y}6@NaRG3#x6xWOE%!pUzdrXvhyYtkLAS5q z@UK!4_;~K-idS$qH;!SjN7@Hg&Mzl8;_!{{%Y~e?2#pqBllRXIWAE1P+JSoJD^FOB*oxQnDA3-9M=f|c6DQH*#T6n~G^GArgZaR>gD-Pc>8HYjDr`muTzY9h!D%vkhBnl@=vD%-Xf4Inj*`^fq7%=Sr z`((_ruVzi^AptZa5Zik_Unhm(=;R8gv`D*Efd=MaSY?OLFGHNEzE4)F+jXT{(S?_H zxHl?%{~9oZfUXqcUg^hFWltrSTOcmiI(BMW)vYfwb-y{?_PI$KfozhtdzrpN(iQvM zv+Y`w)MZ8rF>%E3pU6l>Pm^sp5)BC-AQtAod4hFq|JK_4JRc6EtkwG-#d$B*Bc!Gb(8EU3FFA-`?TC!J9nseq~ zCLrB>Vu#fQpl+I5Jko6LHl;b=r3bv;2t7PYZLi3IqP96Fw5wO66I|Iq7uV58&S}_K zYa^Q!bYz2e`e_y$*?J8djX#s>leS3@10Ct%Y$*(KikkU=JVCAjL9A>sV=2LHZ&a(t zXu^PGYgKMs_z7cO@h;!ywFA z3W>?DcVn$1x28T^hDI*R)`Gh$1J|a&C4Hm}LHTDWeR(LkU=*K2_-r_%jxe0D zCV*kSm^!`ofpbnyvCf=A3gHwNldt(W1?j;lNY9+&xhm&@){S|Jj1khhHGdfw{nb(EXGS+3eib_Y6!D^rk{|pbT zRz}C0g`twakH)vrR3e2?$*szGN{^rQT166ADJ+qIwJRk6?ZYLygVQ; zifhWY+}K_py&pUDHXW1K7VtnOn={D{ShZUVvQ{e;MXvBU6xAgNzTB$etZ#dLYS_Yk zH$X=qCWT0ye-TB%F4Jl0%` z!wf~Cb1uQr(9luV6`bj7?qu0nabjIyl^{1G!*Yby;rFacswKijhHzPdV0lUa2GSG?M(-f+UrztfuFsnx<8t{JMe6VTps8sTBGLHx)P?*9`BB@ z!WGqy9!(;U8yi4fJf~t7-*_q-)(gyOq!71SzCty`wD-{cii!Pc9G0ygU+K}$N#>ct zGs#%Y8Fp$UaV{0%*^??`ie;O70Q>tDwKc5AXV5@*l8F)eXZBV|&4qKgYLPcZXG$XpUd$2WP5CMGb+Lf4=MByBGiG3 zenI(oDqC4M9+Q!1S869|^bLo^aYur7TISVlNk3K0nV zAjx!VGZoWVe}t6u5L_U=Q$z~1o!?QmibqIGNOPf&8suqx-d;*b%LV<2LYCcq>)hPi z#cs61CgG%Mj(mj(5 zWCTMEe>4tXbJ zMm8qA^t+Y3AL1}6HLMuK$$3_V?j)1%eL5=n=R<2jFEn~mh!(Wy4955l$ZaNLGny2F)kO&m ztDy%tT!AsE)2qKrFeLj!gu@i9oeDmO2$uiXcI75#0GQ5^OQV?L2Xh?~jtTd>8&ZRw z6m-`O-RZI~5w9&^{Px|0Du&g^RDPu|mWgcT%>ii5Ps>s>> zrHrf`VKspYl&O&>^`K3Xy+tQ3YcW59aEVh{(SnqHTjJ zqVrZ#2T)I?T@}1tY`jS!a;dJU;LXF5WQ};pr6Qi?QYoIZRuZ>ds-!kw0ySQVW&6SJ zre6xyF&~mbAVFv=PRcv1?Xt3hBDIX?AV?<&Xy*w-h4G zeV6L9IL{bdW?LOZM{)zv5lutC{9;!}7J@BZiHO)tCnDxrfoL6iN!-Gi%A30zfm{Fp zp(P|8_%$FST{h>k+p(VuO(0M$g&4R;Rg{=}h8i+s5f^u75f|e)hQIMpLttf2K`cz9 zhz0Wnmg%6RYzkJcYy*%m&N*P=AU)e)T#5!B}BG$^JCB-r=m6YwU>&uj~k9=w3O<)9PNpQ6ggzG7= zsk9^r7^w86rc!=}(>V#KbT2<2Tw>N5=;U~zB!x)KdRQy!NX#mfl%D?BDx@-Yc*gWm)3UFUQ zhY!v^`Faj8G5L~0Oup26+b3TfLogvJc+wGyGd-`W57R3>?Q%Ehrs*IK&Dj4AE{W>D zkqm|&TMF9ULYu!pZQ8EltVvWPfVNHo82Ez#^j%h9vxnc2!B&m~&S~S56p)<68Xz%h zcz?lS&)x7Wdy@3f)05uC$;m#X4pgK~m5{cp7fx5(lgy3 zFx_7qx-TJZ;-fV~_x$dh*_`K#v+I8O9dc}@O8-ZmgT z*nsrR2LE9;SQj=ZA??;Xtr<4pci4cG?AE&{XScx#8}-mrwGoamBS@it5Ni@Ng#R`p z@H33ypJ4>8F*5=ggAp9;P>pb;89@qRgvDoaOi%eD2Qwm*9*jVGW`v_jPZF7L3L}(| z))2I27=hnm1X8kwuuv&=8wC2V=fSRO8ysaekU}(sWlFJc6FE8HaKzKHXuFNfb`4;r=9OAAY{2iZ0V&}-RC2=XHaPJHJH1wI zhGWbOQs^JF{D!m44Ezi;_~)oIGXq(J8650T&2X%lK?-4p3+8PG(t{aD&&+VKnc>A@ zh7!`upf$q`{0=jal9}QB9%k5V=kuz~aGaSz3SoxJ%?$huGx%qiLF>%SK-ORe2Rl?V z9B*cjLYU#2d7FXsUqnqdTfhY?80jIg7J5w__;(rP0- z!;Bz>FhbLez|Sy(e})mX#>@z03`TIU?ndYpkw3xIFNKK6?^TYvN92iyh&<6OBA?JA zw3eOTAO<4x#6VyKoq%FkM4m9vIAIXAhx{{D8jm`%knl52y;6uc#A{5w{0#N_=OCY{ zms~)-4i@V5*jCh^?P2}|@dkv^q!3{=jbOBg(Ri>CVKlD=%ygWdT!fo7dZxNHKE0qL zP3>eT1KUkfP-alUn^hT4WjSuGh0~Hv*Ouf)Y&0WcpO8$U*mF*Dd)O`4dG4}%G!3$( zFv=Gs za`a9GyKpcm==K_X{CySAiC2> zIvwd_!5mn&D^OClxq=Gg`$q(FiEYB5sym37-3Nr(&a)b@UxuBe?+|??5}8e5=gMV71pD3oRUmA!l82s$qqNQo$CL3XYdXJ&knRcua!r6`_>1Z?o9|HNXkG%}KM1h!m_pq>n%8;OyrdA# z>nIhG=SRX`*;q$3D3)l}yc8`puadGgucf41j;pbU9=Y#P^7=gso|Ms~SUKkSxCZtF zQkG!e@rQdGEg`Xpg#n*okjuJ3;{E}6N}ocOLvrRIq<^JxvbMmoA-Uw?I)Q=Jmjz{S zwrR7T2D!5h?ucl}?g+HhIhT~}=;?W8c#i!# zK$ege?>#5X#{o*RVB1xSWi~1)BcKTNo~4xgfTcM)I7}0+}h2#Kmob#6`Lc7*t&E zi^>WB)RWDn_3>SD6xXj495x=M5b342Rqz;?WRQqRFD0URrXo6nC3OJxWN_ik^nJF9 z+-b~7Au@hnT)~`Tkuf42C5#d2_@p^Sa>h!^0P4xu(rHOdmWhxtS2yOQ5SrUn!CYXH zK_WtPL^RDQqBB@hpOfZ}kgH_Jr$?vv8;AE9hf>gY?%+cc6&z-$WRaK{Lx_1&(xGBH zizRsgWjZ|M1l>_Ek8xHCk)Zp4GC$V@-TegT-COM}vG@PWy`6m+eJj{0FG zT+U&#_#3g#HY^N)fn`HkN!g;VZ&1p8s82&Etk{CC5AyTD4kfh8$qFA;N(!nqU6g;IqKHQfPrjCe4aqD2!ja3ui1PRSj&^00? zes8kg9B*s;CDkuOF>U$fbIZYd3AjKQSqc#~{7sUz5K_+_|Ew{P9vTDb*$nVw%I1N_ zEmBAhQ$pHKm(~oA;CJT?-=Uumxxm>RIOYi}?(i`-W+a;YH3><)K7X)Kk1qJA5%FGG=`;+)L%l{xmK+i>gRW;pOh?Q z`R7WhoBEHrZQI6n)!%Qbmx6{)(f58^3H5E_XQu>iHe2CnfXze^5%@RKEhM*BM~D1@@T* zq!4}2zbd`HP5cZC_-9x^tII4vu3!NNJ5&qoHw#E1EbtTZH6II*9xOn5W`PA~>ygyP zOjw|Vw3WQp3=8l(EI>+@c>3enEwKE?G{0@v|4U8(Qi#OUCCXRdCVqzg{WJ8hm1X)T zPtd=Eb=QBdz2pZ>^HPYtF!ZS#?{MAy;6w1>1b8<($Q@1d$fLz0SpE& z8R>BUCBYi0niS&THN zrl%y@v1gAw@KHSX!CLVO2dI-!4Nn|RX{du=)0V|6Au#mvTIg_TTF{+mHthTiwVkP- zEB6^%ed(d3?b+>@(*I)L;X$iR3Oe`2h_s5-ubP{5@J>OeQa`ctO|SYbH5peLs(A=Ixv9z?dro%WvM8QYtZ)`js%eC z6tj+>gb-jLA(#Bjt0YE&xD@o_n2Op6gxVaaTWuTN6)LuV{I=Y; zp;BafNFlnnDfNi9O~=fUh=yiLG@H~ZTAELnl(FepAr65c4(R}>n>f!t!IW1ej@`@s z)22fysKwCTK9Gr19AfqUKkfGs9TOv>W731|tXFD7t87ukK*vZ7EMY4#vJ;8Kz?La7 z(BTAz9eX8=^I@HmijmYy5O@p8*m17BTFG!h})f2(L=&A>!qRxJI;$-M4pUoK~8XXjd7UWhp3H zCFSQQ`zcFiKaz1l0TX)4$+#-76_ASNK{~LX6#54N)Wv?SBd2YLD|Kj9%CT1R4l|<^ z!iP@DsGQCtJBmb49E?}U1QEQNT)KnJjT<474@u@>{b&H~InA8Bsv^U-VqxbYpCQ|Js}w#Cwvtaz|U$?|fV zs!jJhk6n~Kp1ZC&t~XE0Vscnkld>?ChjD#bDNEU@nH^k#$m+7TR+gJXle=d2$bO?d z{U}$U0=_=h+$%q~z4^#hD0cU6l)cmSqr-Y-UVU;^ZT-d@ajhqc<$ONb~*?wVTT|3U>^0B@fdlG~$JiZJJ|sjZjWxre8lllyD(0HoZ`%NKm5 zN?BI#l2^%uX)K;uom@P%O_t6Bn>K9Pa_e2XfCf?g(K&5x<&I`^OsKAtCv>ON)0(0f zURRYsMrDORIa6O%tIL{(Uz#)W#4zW?1GV+>wD3kOddgaS9_tm|XfG8Hjp41}{j~|X z7F1M@$2;#0Y3~*NNu{;D&6%;CwIDM(y{g7~B^!I6bI(2Z z-1790Mw067QjUnS$Q_(~s#HXnkT0xF4{WbV$wJhXn#J^}e4wj zMCCLuja5mNZSMRnPetUxQW2#3T9B%>gt+A!H%eGGhcV`TSz+1b8B>EW*->~BDW&b# zKN@^229!hrO3HYhc5opY{kCf)4@sl%xSjt&9;8Jm2$qnp&$psJ^WBhld1zs!hrY_0 zIyqBBZpjid>orgNZ(oe1A}ZU*;AXzMWN`VqIfzM&|*8ajvlGa z)Hdd&Qmx}DQ?6}SY__rD6o&2P`%V4oSx$Bq2Uej4qSk)CJ$E5Vk_{n)5D5TZ~+>kg!Crs3y`h8(dm&< z-CETN?34G!23+pB$(ll0P^DC1Sk|Mh4a@i3lwz>(guxFp%0WtY$|wn6w|c^yfDWJT z!L0JxP6NFY1F?%q9{OcJh7AhR4E~S z|Jg|jSwzV&ty6exrIeZ0p@G52j#Lr_=+M-7x2qu!NsY5zjZ=~uC8VD(JTs~hok~l> zA?zp;wQMENtP@=fDe6*E2I$aqd5`NN4@sAcT$j3Zj}Yif$TdN%^DA@-Nc46^qW-1i zePA-As7py1phMH;y{?NqBwa3dT|!!ddzFxWZR@2Kx@5VGB5}|}$#W|)?P5q#my$9- zho;N_ab4sg>2kg6LY+0VO9^>g5bN5g%bdY1uMQ|7>gdXn87%R0$XV)Ttab#Tg!G#~ zwisj?!-Jssf?{oS`jkrvMuz3_tfcJMvzao{#tK9jk%#^vfV$YYsE<{Qb@}V}&vxypyat1pkaTMFxYHo#!-ecdx!~$>xzD+T@9E&8$|XYjZBNF9I$VUo5K0Xg zJn}ZBR-PED5-Tg&D6?~&&=oC#-m5?67chA$tS;0yP5!RI@dwyy98E2W< zxPjZ;-N4uWE1#k$bx^I-wp(y-jdCFRS5jZK+oV+F#-^3Xp7(4pD*cihJEkZk<( zu5kD!6MkGm`iA)DSJ*fWm|t3~9TLqIop01BBVWUMNwSxnw<*DV#%Elj@}(#MWy;Sp zL(Id7yAe9iW@h_8)33Vwy;hkXgNP&)5DLSt+!!BU1{kv{Zc}QOM zYpzc-_1qHDd+r+)lIWOxDIj44MWUA~d8+tmVMx(QO3DBonl6vIF7l9cd7JCPN_2?y zC8Q7Xzfqw}KtdNqVnA2&Ck0&$De6*E2I$aq`GD&p4@sBzx-P792VF`?&+Xq;p-VtQ z7eyk$SMuyQpQYh$=+Ja|+;x$Mq|4*3%Xd^pj;7=( zTqLBZOGz1^q>Jx%YrAM*KVq{Hte_iqdZqm>_dZ#g;t=+?{2t`Vf90WH)|XA}kD68f zD_`6AVqeGFh9VQA6`3h8I#(h8T^D2wrpWHdhCJ^pApXDvm6?9^LB*fM1&7<}Gg`SG zukDd#gizSgbq1|xTWwa}JXjl>l|p~S>s+?j9TqE~)V4)1(v9dWM?4r1lyp~&h;qkt zZCCxWilq`+PmwQd-C`fF-ZyxvRJzm0l}_C-aO$aNMIxa#{QK_oAESA_HvCs+wbffY zU*nI#sB;gDJw~WMa>nvty^T7@7me}3{M(HsBzXcU)aM=Y2YoRmC?Rn-2CL5+q*naW zv?z@O+142)K)g|*ywLoWNFW_7I(bN!h^0}1h*ePR zh*+8>bwsRkJ+6W!ve?212KoPYXgqqJaF9 zp<2j@ln6RkUU?;O332f3vmXwU?7QGHjYSu1hym+D`{lwHbcB$Pdr$tWJcK;q4$}D= z2MI>{-LO64@ot~t_;>pPBlCq%!H0UKJfu~nrDteqI(BDC@obu`;4I=RxKG#(+^5nd zNlzA+7|9P-7SAK2CQcIin$lsMQ(ly}i2z3%orBG<_jQ3}ra_20(jb{h+pMJ|=!s7d ztasVEN9_HyTT&iuorl$y^)7Dq-P{t=YuG0`WEOi%NDrOsqGE%YHIogq*sBDHqAC=% zO$LNhB7rRS2B#qQDi#q;v51Wc%cERL+4n66(R##Q#bv{+(x>PJ{j(~hQpbxTQSnj~ zHbEtnLZnF6XI&9c8Ss&@QBh8 z1^OLP`X18ag-7Yn;DXG!#?e{C(WzfX+3Ze3fk>WFgs9a2T z;8yDrl|+8cnkeGyl1luSWLD*&eMFEJEK`(kx3WX=<(vpL>;bQ`g^5kf7K+T^RIgb|rPC zlVZC7%k9rMDT}^bLf%j?75^(`;&oEjy+UE4NuDV%_}HY${g{}JPO3nxZ_7iv4a?dg z>!jLTj6M;JzHAAst|78Cm*xav}SG{J@_2Ok-k1_Fs<6W=h|NIWa!APf~ks71Avu zN|s5dlEnvT79;CTSF+wDF!YZ9RW_Xh(I!d=Alk&#&e}w+Lz_gf)FxeW0UfQ$1tJQR zJ92^1L(2ue;$2l9(v0m_RJnQQ0>2zvx3bW4_kGgG;~=i-!1TcV)Ag~P8#!QkKU-7d z>vPEz^c35MfgPGT+;2NR6)dC#1GRx`*#@e?LiRxlO14wf(uRR+Yty4U0z^sPV0%)( zO|}7!)o-ay+b84aBh+k;e3b(p#-{R&VWmjq`=Z%NGRVD(-9l<>ia?KgA*I##6&I z@0-p~9#T|zxA99OLnBqy6@!VPVlc4Nmkh%vh9y;CaQJtaOG>7nW(_@pmJ;G@oH8RX zpmRTF;vHMzrA$|StQG-k~!xD_yMUpJ0`wB!OC|7`zl{?1%_VhCvO>Im({T4PR zP+ z1VDL6=gR*?DU>VY5k2atxYW57mzgdN^=IwoFTwm4H)9dauRu`_zs1coiGjGMHs5h= zntQn|YGCJXA!q0j%2X2h@ljb`+`;0brT&eynIXtq35 zrn8ehM&6$~LwT?TCIb43Gs8~itjJkHvcN=_T&9qAzitX+Cj={Ol+?bqQS_Jk`^d)K z^?lPpPbEglMA>@WGGZZRDfvG69=X9G-q|0&_To1u3@$n zzJ$CgXn2f4l3P^eGl_W|E%STLhB1=?M-w(G8MA zduViglGCc=B|-Ls(O{;I&zMS;pCvHK$Z`BoAe>Sj`iB7e?|R*TxYx-;^13r!*Ualm zNcXza6|&vy)_3!|F}aE)IG)nO@s#sZgHeoLaJ-V`(}GP-RhA2JJf(A)v+|9D=ev@b zSjo%7AbcDtdUC|%blD<-(!0(%dzs^DkzO|BePdm8K*f5dW4Qww zmitRd`9_fx*Skb1H_s8#MA(f{*v8|XoX9|x%FWIR&&1WQHu|PW`}$rb+Zz3L?G$9*BNA*YLs9*3uT&@m`R={{|qgXSIJsr zF^b9=UwP;s+9mH(yB8LZUepj6O&e5-*h7^NJyZz+^xy5F|LHwc9#Rjz!_AcS&=S&n z=xrvT-oFu}a;qE{rs{IqQjY6oN&CEDADTl81D_?;#^YdnW@uT{b7o zXdOuETKPVrxFcXd&UeWwnG`eShP08o9A(}ir>IAQEtM5j7G*UQbT?Mo;DhbkT3aip zXKFikk4fJdJ0LZdD2rH4^BpC5x08IfkR-Ui$fTEVU!&aC{594#jvc&~BkL|XNDilH zsOH6~9;4(&oZN$f+sg`W_vEh=H%?C}dNlQ3LC4`AEYOSBsX@I&P@dh4Lbi^`+rv+o zF7c+72ivCyzn1co;8DFNQIXi)t4LnWFr?VyO3Gf%2){x-~vWTNx zNOIuv8_p#h@1S~6LXsY2Tw((^e@Re7k5!CYo%VA}jQPlQzvD8@BiC=cTv_;0E)jBK z;anbYF0+BlyPZqeHXF5%kS{5?c-coKpD|IjZ83~u~dqZSNUyiVPwx<1%i6)q|m zmM_|QXIbVhC=clZ%=asoZX<1Kp6qTFCB$N^5~5~_iGRix zr+Ow2HozjKg`Gws_`IiuH7-?`gAP zd5f2n{m7l^5__lu(V+6sKLk)}P?8W$8%dVq`$I~WvkS~D6FZV-CmofCbRX=Gtue#* z@)nXPD?P%f((~OfKXrp=Zd5|Ds~Jx>&IAB`A0^{G7Wtu3>J|WEw~UGMQSR6BkP_v? z2DNxdyGFNZU7RP%e$m@JlVoK>lB{efXW%}@raDP(zC={1N{*Ejbpj=IhmfKtt~7~P z^Xrv_wNKUS z)O<0J9a1^?7;jN|NReut$z7Z`C?P#ktyReONY&9Z6qzWcY|acVYRC=Sm|W5)XTSt& zlzz7;m6{?uTdIW4abC{|O>v5=lqDY}ByoaPIoTlRk$fmVCwb+ee~983&UJ=!%Fd&f zkhd3{JhYY4;Ht?0F|;WVj-o69$~?h4I-xDTPob@HHk?NJRAWrPB?Esx9Wh;l&%i?- zY)-||g3l#qVBcw6M$rNj_-*Q|pRxvxB=uSDIU_{6HzZT>iQ z8%1I?S0qnX4Jr2TlCr0)L9#r;Cl;@>;tX~66I?ENumlA6zPCcI?k3>=r@NvDp7j$gM=n*NNjCMx~4|%ZtGQ{A$ zs-1lAHj5M`B*%X6o>_%Flt`iUXgcNW(fbP2w-gD(DUut`kfLvu zlmW^l>lrBqTrPPqpT`2Ps*o#-6pDn;D-uBOmL;US zpm8Qrl#;pkz1=7sLZmnyn-D4F!6F5ceb6P#B1H*Fq`)R0NSx=fyT17<+4v*#AfB`M^|1ID2YTxK;4NBABhm&&5_-p^Et4QyVN--!buHzu#*}H_QfifI_{3~-QyE`$IYi? zPaFH*!WyQMVKT2|r~@W4?ldJU*7Z^E^QF@$5IQO$fHEDuGc(bQ@3WvM?=>wb-e>8P zyw?dv@jjb?&3m6~+zY({^AQW=!TbPm{=sw#<-Iw}^h$t*ZzaIOcOpRWDjDz|eg57U z_$F5cLa9h3DV1$jpU{K(@ zMl~=+^hhF!-enW5ZgXW5ZA5`$`w^Sgk-O@4-}-GcwHev^webD4=V1`StvsaDHa}I- z=e?iy-%L{(X9lxkONA0EpmZ?#$lxLTyMs2yZy*4AKZ%21br<)D7P0ZBG`%JEz zkedt$=X)onc3YU2zv^;f`|fydch3YNK5`13_I&ii_LrcaZ!}$UmX>Z;Z|!_d(*%9y zyPEygl#D&q*~vqyPaJ9N4z`x;sf~{N0kRU-D-^2?Rz|wEMf&VJ7Ojd#$Kl4q&)pIXr36@aQUac?onQnOc8pO;QHfMi6gUW!Cj}$qN0LiO>QaPD zV=BE>Uq_jEO`tTTyzeOtM{1PWB?3eLG%I>kRv4T>Vb}~wZ(3mj1vbU&3-U_??F5rheADhu&-$$`k5yBe}%o0hskEX){-I>^oZ z{yhY{_^Az4scx4~m5t9#?TZqz?OorD)gP+(QKDbze{5`Ig7`}XXg<+I4h{MheN-NIE&c(y0;dm4&>9U?rq*5Q%7ZOR!Qe)vAQOS^VZ3>Rz}Q->(%=NX((q!|%}S&FG zhcx&;$6DZE^H_{zPE|ts(0jK*&OP+5(5OXF2(F{F7FMKPtaGJobbigAgvzEoJ_ zH-_P3wZbr%$wU7TTaj@dGrRXPg~2HlhGk5A=T1{02v)pKKGS8a)*+O!x}a!dwWEm2 zKgV|8MLC#I)^7&aWX^pmvfnpp$n*Kasp6CWD8A=Eh9ACg8a@*@zt3|iJ^HHB^9?0|UUBc+3r)dp z?R)nt#ckrytF5aU(zM?!nUa&vjAlm85pDvn~tmGPZ0Q+UICYjdQ?4I$n zB<-oo_k!v*$$jJ-QS8ko58FN=Uz_4{)j~+~GzE~)(CH_?qF7`uXWNZ(*UJFQX+LKa zJxy)~@ZXGi`PC*!Y>{klAR>sg@_8|nZ+dWae85yX=Vb%8i&pkLpcidA9kk7F-gIgMJ4fsCH7!mrMuX%y5iX>x1^0B(UNj3I zN!uW5&df@!5t~FynN$Tn(j#y#m>dp~$*o8fzPlDJF;5LT@Ppvf1);8Lg;4PtA41GaL78oPr{y-mzU>=M%RjyD)2Nu6z}D8anH zzux8Ve4WXk7euSeNUhcBd)<8Qt|p(H^G(FR?yAT`IxX^6^F&D%7-I8Vlq$91xpSin)1fyd#GG82`PRhuns^7Bx0_fLyh=z;T{1|&+aSf# zgW32`#12E9qTTEaZY$8556X~ebJcv8fXs)jaTWJY$9<0Ak~=(REHjWha*!mI?iO#~ zw#K#S$?VzfjLPh}PKkZ+F#COD7Sz8tf1MantSrq_7xdI3F#%Q}vJ`pf9|EY0pY>S8 z{!Mo(d9eP0Fdy|+3&;I%rV{elAl63|vRp(69!OIw5~Hhp_cLy)qh+|Q zg!FycpLWP&xI$C9r9zY=MJYlTVPdFeo$cWW^0e=0m>e4RuKV89?(AJ z@3mR!?Kl9lWO=YT8mjz1H-2_=eF=Gd5bdi5*?m6!=Vk!<#BalkX{bEdt&;HihEgbl zXR_ZDi=+J%okc=L_cI#bF#*~FVc<%qQZ$ZcD4K8Q4rs}%6U+CdAgZ|RtW;b-n*8I) zGK*+g=vAy69gB#~1k$j)p-aj)3k+^%Qu%2cg^3E^A~4Bb(HRsd8WkWs#+oIY+iUCL zGXmc~1X%K!E|n0SU|5)VhldGyuzML{^0SJTs|X4CwFF9t378UMqL123&JNc;=oMu) zz?6_wfKdK$gG>oV3C1?SBw4hP0-?Ne1t?Q~zG+f02QKwaH-|i!Ind%L*P<)rnxMrI zNsHuw$#PY{rMJ;hW2jYe7&cTKYD^qLf0B!nh1wF5&C{&2pWu*Ls4XE+7f8bQ@k#Ks znsj1CsJ-QOt=xtzR*9YA0$y7X^A1rm+$1n`ntm5;)NY!N){pAmDv(%zO%g3ysF{TU zrGJ~t;Aw_oRm(t{fX`WL6)^ac5bPh?DKI$PO5@({8oW-f)_g#QvXFM2B)OPk1f$A_78iLlbiU5y&nFfY{VI=F z?{&H5AtiiQyWH8=5lcv}l0%>?6tZZBS6E?K;mMDbvgdjRADf{hI-gw66AnD%|G4n- zkk*nncZw7|L*e#!qpfDm5B5q` z6q|mp*wmizjAt44!De=pwS;6JSH_1_rOJalBqrAUj!P^L>7>!!#pW? z>lXoV_kdOv-V^g|@K7pzD@dtuQ7SRG<_iC8W$ZL1B+;7SIUL0dv+)wlkH45$o^&V- zZKO* z3%eEaP<9C_J$9fdXR-+zciK5;y97%}4n^Xz#+krhO2&Kqbkr!}r{9Z{^eU&R`mNHD z9>Z2F63K&|lwsI^p-Y@OQVB`##^rv_AXC;=g87u~`A+bZRBuJXE0obzEDG%wSz@n^rJ?iAjnNg4qeZVS{1g?LG*Qt%->Q9wtS6D1&z`sO8^$AgV zuoV^D_APF%ECVhfj}Z14_RS9Y$)jVFmXIF9-)NAjE0kbNi!q6nU~6q31A8@MvhWji z$27M56m?(C;*_m?MKCduu6#Yx-@fv7{4n*4>qd9jzO(w&@c6{e(VY_&>tLTrx}C5@ zIIsgy9{PuvN+ZZ`t8Uhg-PTE3f1s7~d9H)Wo)VFcm5mXRaC%@cY}eQ)Mev!%z@FK$ znNjNVTKu0r%a$r`XMK$unq<>33na5FJg|A?E?Hfh*gHLN?zv(2$cSu18$WYqV0w0P za$?Fp7qPP@H%iFehhl@Y(OCAhN&QD94^xs8u>ei+WGvuoaPPC$UA?vQbu!TZz#81i zaAyrp9?}}zYuS+qaZ4FM5$%7Qx6Zk6RZ*)Os@KR*Tawt}XOfj>HGt1eE z%yM=&WQv+q$d@?sHFF?;vy|x|rbnC`< zze;Qz*T5>4JKH+0c2`!u1}7%zOSQ4H2IA6a=)QBUkdDp_5((}h4BRIRr0h2H$PntV z8X{Ojm(@mHMz5zU-&vru7%|Ag-aWGY3o2aTR${O~X@F5Va9L*ShAHcE)1xD@D(kD8 zIx-Gi7q86fpfoJ^I_{cjOdCbnxP~nD8==nE^ft(~TRUqK;#9^S zZ>*vpJaK^Fzz8`=aPT$1&v|I-e9ZuA?cFn}PH9edHQ`w>B$bwjR0IC9GV}y_&JE>C zfQgC{psa+e8v*j%k^%4Oyxq*Mw2hq`)$az+Dz8l2zz8&8pK=2Uhmr3C?2yGq`BO%ln%}CX@-gjG z`F>vXB!&d}qB{9~4T|w1$9PSN5tR{h>Dq)szt*8&S3vvxO<|&qUN11T#W&o0I$vi^ zv4FzJIo=fVkecG(jZM7xk}5+%&ivC z6S4)k4QNH~Di7%!B8Qzrd3s(wK?$%QMG5!}+X&DTN(Q_~uP4lG%=i}21m_|wwRCx~ ztHMcTk5pmhoLsgTSwi|}4pu6pG(q!rIl3KYn(r1FD!O3v-gNbzQlm_yd?`wiY#(QQ z+iD_NlPVhDA(E5C66DQ=sHbJBHQ(fzi zCfk;fJ~UpekRDM!DB$tZ(r5`0SA)J%An8LacHqAtp(*&@;V-vW3PHl5!sQ-E5F)o?n7_P1z)ifkc5& zUbzC4ly4uAdX>8`!W3j>@{qE!TU>+l(zb{a(#OGV21$C=;qKkf0rW8I#Rx^FCl5A2 z5^kUELS^TWOGw|rf0se72H#4OO30UY@6gxHHm@C&%WG%C-CZM+o5_Kd9TR)xvyh|P zrFNiG6Z-&E@KB|FnhWVWri`}un7$^AD{EfUVS>5x@i%&CYXy^)VcCx<$GdFR?HR}q z5qapB13~6B_pAJ+qed#tAEe5nqLbe!y5|Wy%{n;Uyd7OB4LT*l9E0Q@qja#@O7|a@ zkXHyKZMQq}%r}xzb_k<`qH%w!ih6a4mXyoJ6UAUMs~FELFg$oGOca})74%OtfL9U~ zCK`!*t>~F%Bk4s&C3|^sF zB)Uo;x1;?G%iFJ{%yuo>??pzrT|{1IDp&TyW)Ogp;!0Og9#RL~uf&U12pNUK<4g+g zGYW%`txyszBdKS2U9Jzv7hX5HZ1P~o3{d>FQMS~%Q~&u)isy<>rmX0GbmLddZVL(y zO6fAEM7>_?;zp?m4kaW7HiE;OBhN0uLD48hsi^G5$k38Ln+KX z0)umz0o=J1CK~Bpfk`%w?WsTn2YKip0;s2pg-r{%*md5F@{sncy}P0rQ-h{%nVzB@ z;(CQrCL}0j`Wy>#k9)gh>lGy=0|hPkm_ueec1lRr$S~}qu?16HY8~?CNab;%%T28@ z@$iNz<=81OG~WA@9MK%!Wr$abwaY2*E3m35KTlw2a%+#+zX^KBx1STx{UX<71+Y^@sFd{607nO4r1izfKgUq^bGr!2l? zKGl*D}kgA4wtDHuo;uaon2+x_)S z_XBxIyL9GCM|I;^$V0a{wmg^@A<#F2-dQpdhCzkrbfm)jT;JehA1a9gl+-BZa1}8w zuUy>d!pTF*seWYEI@ru|suI$3s_%EI5ppVpCx9wtSPs!sDgz}Y6A64E#E zELTXcqb%h5P^CvYsGRW)I{PusIorfjLV796I8%QqCF4CtUuu+eaiiMRLV%~;Zgy9b zhx9GcekD;(CaXGJmh~$kDtStXY7-G|y=#?i^eG`-{}T-|RXs{D3L1nLlPr3O0ul9; ztCvQC1*(1+YD7g`i%0jXx@cxhEjUWHI=jHz?+^W7|lr#Bfj>9r*@UgJfkrsoR^6ODF*z|eop`q70Hhz6F2{vm*p3-ye!Y3h-N zgzN;%?KD4?YI(4oCg^Z;Y>Qr1NX2J}P<*04dDZQ1`)t!~3CYlwIJr3#CQ3u3z+_vk zeV!z_p6rTWCVRmvs^Q^24W)3F%R_fd6o|$p2k)~(Chr{4cruNmcVIGBgXF=s) zN}^jdu87NVvZwU8!9(d0l$q@9aua5gy%LgAKE|#)WH#9=AyE@!?=VQhcPv7+*5}7F zvQNe9rjL-@E4g!AL_g257rh~ zWX3J>vb3eGgnW9i$W(^{2}vYH=NBa-CHi56rV$j2 zTCLLOTI+=6mMSR|d6P2HI}`}-P(lD@_UdtV;BKr%Y9kM}hZzR1G|_vW9Z+l*9~GOP zg$n=MO_YVP5|TY`86Q^YtGqawEu411Y|nOyQZ$^`*uovcuia;k<(pQ9bHw1Uxk|==y-QVJ->3p5E^#soc z9tLsc1eG+1Gqcla0&}zYK24*tz3HievkrJK24dKh2iu1Z?f1Hb`Wn*lbs`6X}-fzmOrMJ;|yppdIAP-WG8G8fuG$nmqIm ztqcPGVbmk**^SF{9HzR8b7YB=M(d?}cI)5sF4X;RU31j3vTVbLwekIRGOc(-I z(Nmg#l?Go$qN=1wK1VjB7&c1EK2bJ7J;qcE z+x)b!4+XE!xqR}FVL&r>tJj7@GzIq3=eyAlh%x>TK!X>YL|C1N#e_D%W zDChNHWKK;#-i5BEqmCf&+Q8dVCf#iXe|}`a%JLyRv#vS z12}!PvC-Oe0$;+*1Fa<-c@TEBY5jX!Yw6hNczt~0z|di>m2xZ0@WjrY)AgAHLu**FKC>FrVcnL`{uyS;HtSP59uT71p8e08>;Z2@9~p%WVGy1LAd?Zr-+e%MG_3Xf56`^AKQtx5@U_1ScF83x`Fm6}Qc9pWZPw zIysYQ^gUP`o0VI+HwGhK(73R15v*>Skgc)KN=Pgb5|;*`%iF*?5OAU>wN8{eQFI*$ z@SA40xB8~XMt2AUVSmkx-2AzHb|w=oqtse5T_4+dK)5@(Qv$iugywO~MYbb^{aTUj=pft6 zg-?W*HcgQ9c_7y&$a?nL3Go^|UW`+*OX)!4S;1JhH?~ytwdVy(AlwN8}74F*|$N#JmdXUqRgFQ-KR3F5f@4&Rb|kP|mDN{I26ZDI#k7GYXT z#_BueRkFtZAi?n>DIMZ?vBv5k>2HX-izg=4MWrR=hVm_0->_c#mZ1GxGn(G#PZFA| zgyuNekRx=%`z?^C2S~gOZxl#89&6`>+zF8)y>%JS3d(*+-fE`@bxok` zFU1n|#?-dPw3u*K{wmB@7*sq*US3v{?wPt)Qo%$0$-<~#7@aI8 zf3nbGp!lNDqN60}KM67eeNuovEkV~ppUR0bbm2pvbCr0Bv%ra$I15tW8^o=YvvuSq zZSYy~Y8e^4i3Wrg&N?8p)&)7f-XXPj8=#4xK)a3t?NaB&P6|^0KOweO5KLqcc@spg zw~iXA@0iezCMlYP1_}DhWVfdbb<@%@VhfV$kbrfjU@aA_e-W&kW7?2IF!VZI^U0j+x$+i=mY_v^;FZTSUg0Qj z6w=JqB$nM;8=cNZmBsakB(tb+yw*`M7rK6Gii;18^Ex5FRwQ31lH*y(^@NbOk$lCC z6Ot#7+$NngjcJ;{+0eD9b(D;Edn7}ukKCzgor8({CpY%k470(&jO=JxxmZ@;L=bBoh19Q*@`g z4AyACNx#|v7uyYllt9l2%gkW6oZ{-ip~=;-vA0wWlkNvdd25jJPLXoCNXbG);R-p> zJ;4emC{XiQ`DbXVxmx}q&UaV3Uhy_Gop&#gy=CtgHu%(kilzH@)Z~O(RQZ@7E+E0T zB;}H9eoTPG$IJssATT{pK4RzbE_JE&l-l2i!4pIzD4igbjuT2EadXhjGk5<2k!T6x z34%!LZ!pBv#d08`Mn>IyJ!jA8Bo=9&;p~&N?yZ0`9>Fw>M-Fa@S57ZP<>phA9??G$ zBvE5r0{+ZEkQgB54)7Mba(bT2zgPyJ<|#r{nnL3n85TJ_Qh5$f{&`=$@m+!Weh7o4 zwnTjpqGd0|DVRJ;V{w+qv ze2A<&2MU=`bE^WCP3l7&@W+Yl5M@9_c7wOp%IWc5MzSD#t!OT6Ky&4Eo^HaWmRPJ) zi8*t+)CenuB7JS8NOnw+>^Vj;HNyVbW`M5_;NE5i-n|j-GIBIRN+weOuNZ|I9w=7{ zJ4UrtBHbF1j;`1=a%rlN10fUrrC~rfWZldAE8qk?Xc8ncaO;0Ly%U2;b{f64f@SUj zHZN%@Q?P6)3`I*h94+42QWTTs&c0Ji9VrxPsUx$NdeFqGYAL{JDZss@I>0ZF4GTEE z3-I+pX#?-xu+zrfQj8_nKQx(!|01oOtA&pezQn1cgfHEV7XDvGH??pMbd&(mWUnZJ zWbzj(9%*o&*d}5~#Yn4qKIF?#E(iP>vQp%A*MJW;Ll|tv(D2L3rxq@d&yYM^gM{Tk z!g3jsL<-(A>*g)VE&3fW(d{Mf?JtvFq;$E~A@Oa#EJt;_h1|Dk?NRz6?TR15!ijYF z;nLdVq!cjc?TW_;QRF^Gh|(=_?zfp_Rjvp)!!qC={W`#tD*{e#4S1O92I}2i@i&aS zj!Ai>k8RvqOnq5KSi<+Q!U5wQD;!n@`5#pZ<$P?eaRM4g1sb7%(EN}|adY$8@(@Pz z94?eyn!jgoa>OgRHuoq7Jans@E=3A@bunD67vB8zPdf$OC^JoZ%iDE!-U31n%Yg~;_QAsMZ zR?tjQ(0SQg(dZ9xh*=Y8tPvVM-hVpDEY+yyYvj*hG(t-A_3`iKugGI%D1j_FGi2!^ zM1?OX+0Iasn;Ja&3V2u~!xM#hOUL6a3eymuQ>x)5A`mYF+7aM}n8<$Cw=Hs>JPQaoTg$Z&k zQA=U1E9aDOIgyB(hPsEW1FIxU1aoj zr7RED#13jJcAwW8_q@~3i0%3!fDU`n}I81$P7_zAN5Q$}`u5cFi0F~-K~x)Ru_L|F9VMy|kPi4dg5M38t2 zJWdz-{qm>r(VsIu%LAX%IENEDRph=Pa-Wb}VIuPrBI{2XsU-5z$^5b}Kte*B?N`)B zMuw+q_f6ZT#vWY?JR%K}OL zsVB+4@!37B?hD27NhmHCbSN@-uQrPOgpm4EMlqSg_e5ZY!OR6M@|m4i2o+L>6+)Q3 z49QXZ?iklnzcvS8)T019i3JdAU4BLe{kc+x<$G&Wl61-66M-zJwG+xyB1@S6Q3*00IzCrAMvlti(uV5`$_c*lrRH)d2`Q7^Yr7^F*gr$8R2`YyexwrBfDE!lRYu`?(;Dv?-(Nv+*z={g}H z9!n1fw&w)4Zu%lB1WjH(@ctEJv1tv^5Mp>xr2yVf87mq zUts;*!1|*?(oA=E_9if69LK6I@30`5OU}86=^BLW%|rhq0yCAVqY31x39glH|DoZh9S3zcQ-Gs#gz7#^&u1KH1uMLtEZ zD{|LX+B}j(Ts|>268bL&Hi9y*GlJf_UlD={XYr&fW#BS28u%%pMFhNV#xj7T9pKcU zHv+y$J_Q!|MFp6E&^jLv=KrL)$meU~2vyFR+%!GK0M__YE`X%cCgBEQuv8fQNCep5 z_{B*;-nEh)kmB9>=oGP$cukbMKZqpb>F@*Fr<=0qE0L{xoNFx=M^oQrTLg5Uf%i&ziU(T;7q-nl zoiElJ@7dOPuNdon^1t8N)_7F@QNDWRuSllFy~c?BB)X`zz^z2dF{A6X7Rx=Y?g&>Pf~*p3l?Usf;xbK65eHw0X!bEub05V*aK&OT zS;8`Z=;u{Nd9A=mgErSIV0jNf&dbfS<<5^jmkHw>i&e z3%wOWFDwl1mwk<66S4=!x}Wlnu;dxb1vV`DeJX`-_dkUncG~xs@Kq#h0)nAN%uxGV zecGti{C5d((%lDE<$1mHYzRzhc5!)q9le6r$r}q3M~@v97$V5ECQ~3$yr$P&VXr?P zf)i_SU{*k&7n|^(N|tLKF+ICyPi<=7u+FK1 zA1by?ySFMf74Hn&@~4tP$g-P1AI+Si%c2l36hn%aMwH?r4PzLld`T0COnKS--@Z*e zo4)0}d^5Tuy*${?6BzxX>E6$;7BA!L#HF6^B?|GIAv=Of{t@y3iu<+Zr9xGjHfrlV zQwK>#1|3L!WUxV!k)a$!ePlS^WYi2Jck~{OeWhz852>+#)re({t&7#6i4_MUDULUB zz_BJS$$At2vXbrDlOzwauAx+~7eGT>aI#I7TUoBu7Rn(X8(g>Ekw3yMv zNTK->!SWge0976=#e&0QDnQx95x2E?W?IH}Yh1-AkyiZUf`xwH6ri~xTHZkwi)g7> z-Z>1*$B2^h`e0d;%xtd^QFb7b+B#Y^zE!QgRQKz9N8}`px%rK519`BGC)mIicS{?j zkv?T7bN`k)ZWTr}PRw6b7G}XJ3%Thkk;N8lWlp$k*VM%9p>tlKPbbLO%5wqb^hI+AcXGPz6dh zOP&-~;4x)t=-6znWz0SGOh872xvnr?H$?poe&2I`OKhrI1Y!i5Fy?iuO zM|s%MUtXYRT)pC~gNx$4&T-yY;M66y>icnj|0a3Q=<*+CwD5Xo{yN!|!AH?!-+r^8 zr?6xJP$39_^000Qh%5jWgU_77Cy&fG5m1;v%Y&UIL+0bm`Z8PCQ``g(C#)x11io&$GN1y z@ffBs6sVMLsJu0wY;^niRhPEY>!eJk#^MHx8d+J{4}_^BDUr*a2cZX}pH=X9dj2}` zz|Rytw%H~@$5FUXN0SJBjhD#7x*=XCFX?qeB^AqL!%0CPFTzcakIKG1mXbS)aD!>J zp>>Q#@M$>_BiD^jj*_-bRYldtaSe-*$6?$j31fM%(_SckxhW>m?{--#o#x~PXUD2g z&I-1;&`?wxC5kzes6$+05OE=_sS#-^g{a2A1`hoQb)4YKLng9YGn+A3q^RVvc;m*6fxaq7W2$nV#u|Ob zQTk%w#;i|I62v(}|7q{LgIVX3 z4}?M7sc5Y*lJ>Hq6ci;}nUs@Hb-ro_g6gnwU>j$r#>V!^Z}LGz_Pe8*jTo; zMWku_Rt5Hr{I^dHTrn^?v+>&6%#MZ>Zxllmlno0T;+N#ExaUkU#`wgU8wSn<`^@{! z${F!_vfFpsfw)kkR=?%To8tqr@;QPB?-in=UMylq5hVN#+mIuo3=YKK(LyAH;l@B@ zkUw;WafJ!8A$<4liVH5;Fd(1lU~js;-!?H`KdU5m<&}w^4snCr4PxM@LiyAU1ABGX z&lP9hzEhN);X;io(0%&Mv!Yz-DgN{n{X|=)2yHf5pJL=g_XJ|e$wmprK?LTL4+pU3PfS6I)g>ecdznq{ zGf2tBn@=PS50_tMLK{byyd0o(7~xbfDhhCXvC@$pd7aUG zmUvI|QK8>d>OJjpnX{n)h4dfnv`aDTRPI+g*7YS;W|l~Jb0J`d{JbW#hNcec(aThO zUK0w;@w}I*5QJETxj|r3FY}H{c#5x?P0yxwY5s4wP`hWP2~G1E0ux;5sdO(n1GZHj zY$^x8Kg!v> zgGCO^{Yj;rMUE1T$bkZ%2w=@OBvngD0tdSMi9vb=FO^7^j7+iCo)s6urW~ci)J6rP z&;rL#8J&K9)g964bz(#PsT6~NlWdloRH^eC=MN!RJJF$=^yzL=c`%bA`4@t%VlXbj zFew^*E`a5uV+k2Hmo@(;nsm<5v5aa;it?4p#u*HlepyLX43Jr+T`?(9DW;dG0;X70 z-&5|;_vZ$Kn~>gb6^4GRFdGZ2=Zz9y6WJ`yv6^8_gf7LjeL^6mWxB9gu39a07~SeE zClA(gSm*ogEmwlka`@JF1DGsx)W_>nqj6hA3GRi)e~QhQ#hfJ!{uV_Qi1PeJWYf7R6(q{fwS{e`61;VvC`)ppQsWb3(GNEsQ!mhssSYu0T4e>j zl^jEmdBf;PRY@<)PCgX(4__}*Nf~MAdQp&7E3CLkz6c1{Zrka8W(Me3?2hqYH@-^t zKE(C&h`U*+v+)(`D+Bd>hg4O9=bLAt!AWLlaHJK7J635l_BWp&y+(OCobL@g+Tc9) znm`W3JtIjVvu`di@9~7ba{I!PQ`k>A^bBDngR}f=$IOuVWRp3TR2vUQ zZvk8ap@O@U8+b*%FPLw=k(4roBVWjO!SnfTVo#M97XR&^4 zG3%Q|BudEgkW#zrb1uzI@>l0xnQc~7RRV-ZB|u0+1|vWsQZnGZj48|luazTY`L0H? z4ivgMyZ^z4=UYq~o4yVz?e0o8w+M8u+*vN$MM1W^a^-|0SM-&;UD3dxqS~=_@?1}K zdz#a~te_utkNkPhcxvjf_EXx1_r$feVu(=9&<&=*+XmB*hdF1ld#<&FGiS6XrIK&a zo-A<4gWaM8%blt+9VpJXe5;cpP%=;ilBT%2&CMhB&)Y*cpD(lw_PB4uuBc0 zKOP0DG^`@wREp$jnjx7`C0QVnP}$}hwJ^)Dk&tvEY4hrvGn;ou)7v)IBwPqBX!H+g z1WkEJtE>;3JtBro{;fq6oHYamck>xI>y(`&fuXNIq$K_B%&KHAa%&xKJ7Op%DMPsg z(ipOog2i8I^6hUe=lrG|(~|7KLO=;m-3L>?#NcD-Ya>f(C&{SpS+0J}E$))Z?X|e< z_m6H+c~~dTYa!&-F7VRX$&s4esvE>Dp-CrE?^Q|M>N|scq zoMD7tG^+hZf;LwYyv~%b?3NxUXx?wQg7RS39zguplsKJot}=z<$~{~Vu}x+O{}vN0 zFW+Qy6~$pOO>x*AnBiEXmt=90B$D+og+OH`;`;~9C$;xWH(GJc>@K-HG{4ii`8*LV zOX+v>r+N85xf$fa+8LhjR8_QIq?MZ@NQD+uOpKtIOsW&6*taCi>t3xRx4lkqPS*tc zjteFaNwD{+U_G-Azu4LAs-)=cN(%2}F!`X8k}Y7%?PKB3i{4zqd!+k-!PEKX@(o3n z3j&OpmsS42kUv#5t7-mUdD+NBWpq+enXyv(_*f9t*3hdUDY>Ck;FEzwQP_-$%b6bD z$4XtVena$@E0-sZne9LC=x%P3fJ9HU|al((0%p@yuYaOMpKz8Km|uIaGF zTDh-ce3xAF-mr!#vBDv>ARIYLDLn6KlusDd?)iFasqDhM)eid-;=YG<$vfo1wmqQW zSCvf9E~H~6Lzhya=%rMMIk@CEgNoTiuMN`E&VMw>G-#CsDSjuh%;gj!3hw3cpno3O zD>`EHAB119^Y`5V@?Zv_b$)09<#Dap)n=Og6Vjzyh6!!j=`3FAfR@e?JSLc3Ln$0ei6ta` z9ydBInO_bhk?({_pR48dTX^*qI> z1?wryIZhSVLCXzBwIAKr%H>DF2)xczOY0)bM#m?|YJ6EEo3nddJa+rI-%)8_;IuCm+PK7!3EC@xRb-;R z3P#q52i~#}8(r$ytl)C^;dZytQ{^G}r1FW7&n)@a2v&-+rO?A;m%>C{{eZw0W!OH- zRmFlV`BqX}UG`@McF%U%e;iBNm}c!zguGKA@dRTk-dxJWYuxOHN|`EBgFJ;%QqOjo zSXqG6eJ0cVJobLa9tj%NT%&(#(*UZjh^Q{n<$*}OII9n7 zsAsGZ_;o{o%`w(Q=WlKlt%7U)GtI*YBM(+Uh0#t^TLz2fJ0uAT#ignhfe*}0ZZ(`j?i zpvoVxtU>p-HAQStx%Oy6?(;Gg{?#on59#Fa^G$^p3yGBcw2t6&SbVa}4$PRDlmM|? z2~a7+C5!--vZ82O(U5tc{5Kay9?~enhGI=eqXx|v%1^;16$k!`ApPxJ)9HyiX#2vA0M}Ar!|4seofvE6MsGWg=OhRtS7ci2#x88eKq-31|!8 z1rajyf@@Ndx5x5hYne@QW2y8fv<7tL!CZr2`vy~8PQ%LfXT1U0G%BHK2R!=q23;o6 zS(d0+^j_uR69dEYfvBYHGlSO}<$f?TF@3{~&1pUO4HjM){itI2z9OJ{La@dxNdl2IQCmmtUYBnjHtOB>KfI^NgB41#_Iu4H zNxx-5zXFXJo1%Fm8Jd^pOVX~*yOnfPBSJ-n)LK!OUEy{4fJ~fNC>?r^@*;jB;^QVF z4pBws$gsirF5M*Ua}*^-Dx##W6jFHNha;){d|p=0QnafaZBvQXBV|!su8vTaWJnAU ze{3xGH@{3|G{-L??_M~U=Qx+=1}=XZxTGqV93mJUDJ>hZ_7oiJ;ra%ZDw>S6BU#@& zmcqmq^0dKPdX6<_(ez$ z$DcJwoXRe*Cf8G5nbXmPU&3jYzPdn`B&4w9IGCcA45l1 ztm_=>`U1t+3h+8Ls`;f7z%S)to$TConbGM_atX3BUI|ISqIK3Mo0nxgn^qR*rF)g| zl*9Qh3)L4&AZNKOSqY?syh8@XhjaVd5Y!(TQ5bP~(qs(QMPlUXw!K+OVk538{b#=$PQW>_7z&%o6CG{+q{f@wHo6DY6?Mle!2qd0hOvRf^nRrd} zUtTFwMN@db$(pH>y3b|W5jfpyGR@CpM;yBmG`iC@%BptCCqhn@e6rSvqD&WBxumfn zc%2;D1`6d7T^@+ki+$oMgfy}HGK zr}>gJq$nEwThV+1XJ`wp>@0Q>H^oVZ;*ta_c}7gg@9r%UDX`*rAPYF=7A08^WG0feyF$?JO2n6s&8}r-M_YiV zkC0i@x9t$gnto$y!zI|A1VSFx4f(;EDN}Nu1>5EWiC&+#qdeGGH!#{hH`-kGR#Zx^ zib|b^An^i6ja3!-WCQDap-`(>EU+mS#>%kF;w9mWLPG|b%uf^qlPeW62mEBO@=j4P zAIH5=tC&xBOg8BxO!3i@Ft6!aX5ZMB{aD`?LzO>ZSwqghMAv*{YKf&zQXZ^R(-N;V zbM9}xsT(By2o)YN$TAtuDsxJo=2H5e*c+A)Hl+-n*}vQ<_k(F#D+yj_TDPwhq!929 z6P?Jl%qhr&eMJWIzGfcnrkK<=6w{~AhS@=w*GaS(d$qc%MG~r@kx(k#k*evIB6e}b z_h~y`NlCY!az$Q*lnwQ=uW-p-qq2j^4+yuyXWu0)k*|vGl~;TQKE0MA{J0*3kSnfb zQ)$ICSGM~-FtW#MXJ2Ou!Er`;NXJQjE46;=cq^$E%FViRQa|)QMdn5nMfQ!NhOADI zugmw%Ow81z-{y7Z)T-HK$x4;BQK}SiXw^rPND1qaRA*Bx;(|3~bkfr@&A6CfRg{znV?OjVUWuM>T|Qqg0pZr_>&S^oK0RI=8-9=v zQ)MH^>&)DAJ*7bQryR)s5(W8#vmkF&ay4=R-M(G3@l7%1aS03;5^xJP7bnn;OL-P;812%K7@zF zr|R5K>_cJtr*aNDKE8_aJ{jy~CuQufx$3MT+S3}JLvd^>59{R2l?n8BfnYg{woy?r zh)asGy1=k@Dro}20iGaMK8sA`ql&-(dc2 zYsPX!+LrbSDHcU3#bRLsqZ*b6fRZwWD;mzEGOZN?ODYv0dTPBT^@=aJ*7A_F{!!FA zIzl)wr0{5}@NCvb9)mY|N{T@AlqcI|{zaEZ9@fd+(&+ztr#!w^r3eHDML4QJFo8;v zK=c$SOd4>DzjcA+!FHFU@S>%5zOu?u6{BAyQVchdVVFcE&C*28dCh>ngj5W@@{qdE za+S)~w7T3r+NT%tgwar`kP0XjwnyWDM<|uFD(FX)^cF5fA^0c?-j-1O-aduFM-+zD z4@_plX>4uF^qcK_!BhXt*2Vu0mAPt99@0h2>rCZASryg<C8ypzS^kRKy`zlr6EP5wV;f3w6cN_e7kabLBv!pGna(-#WjOs)#8(Ey8+CyJ=2^lj`ZI(?_9utQY~hepKu3UBw~rLv_gOT@;WozO;) zNz)_guvqLCwpb_vXW~I1r%DK6gGE8o^RjUz*>!tG^Fwhuujq0*Oc{{P!r-9_%Ql}S zKL&R~3z_#Q4h4XO<8}qYsd~O^Lg^6Hvqn)-`Du}>HyzbC0n%e4S1gwB74OS5ZNn4)&yp+ zR!QiiQbXWQ>rE4T(l>Qli+9)MUiRd_hv^0LQgc;eGQUz{SRF_C6;rEY4JNDc>Ta|yyby#s?@ZSP{Dq#6fcwgS}XOYnA*&QOu04p zI&z0J%2d5kAD`yypk4rKKU4ZJNux22o^Zc#h%HB`0`*6HhLtqjt zTdA;m;A3u>3*yxf)1%57bBxScXLz14mC4x9^F+Y@AmHDdfGM&q*_l}r41yaNI0q^j zh7Zj-O?RKKDNP%i6X6v*N9$uFVuN_43b^DhP$y->2!@M}ML6j0j!72oBFc|5hJYjDlX&p?*-9i>jhWSsxcPIMRNy223$AVTauZK}RSZx(CbdJ)m`%-+nUm{J{44BHocfyk*ODgI9E> z)?p8NECHOv6mW8Rv@vk^{+ys^`+Z8VJu$6_#kt!;h^`4M+?KAe+9ccGe6tj%LX64b zIMs|u#~56i<>Ww~nVM8{^s8uqIG=q%u+|GiCI%X0T5r7au5^U_6r=-#<_E)PzyZVj zJ}2p^{s~GFzmFm`k1lDF)k4!}%Z6gEnUmx_u4KxVu7pu=C8v|QQt>s7C`7cw&j}`O z@N*)8&pu8!JM_zsM%G^@vQ>9>QOQ`6krL>vP;z{_vuku}WSS~T7^>&0_qUEP;M$B_ z7cbLczqV^cc*z3p(1?gljKMJHn%J@KFIi6x&HxSgg#~z3`QGxDvyB`@mLgh58_MN0 zqKNmWdeFWuES3irmnn&IZd}z@E)uxlWsq4Vl0t^kCVqLXNy7CtSZ=Bw^Ya{<5uF}$ zwLzyIlLHarv6V??PL@l~ds^9)Z=NGzHoJ}~%do4|xGJf!GpMms)bQ@LHLB65S^Im= zl|%b9W2jw?9EiFKYHU%U=0-*Xxsl~Yxgfqia@$P0MJwF7&GYy2|A9Qgg zM7=TC@J?gCsCCq4uK1sssgK-Q8=I}iti0&ZS@S`R`2xfkjA*{+Dlxf$Y-0RD`7!~? z{f$q^e_E@!2fa2k%(o2=FaexHl&q2|70mkd_?a_uvHQe>at=T*O7E$RECY7XPbLg6 z>Ar4<sq($MK;}D;AtXVD87wxOum;)R9FvF8 zRdTrXq2cxzTyp*#h?ON&Hkr)%bD4RcwC+A*X@*gOIoPNOOXM9DVOIqDvnoVeiWui$ zV91J#VvwjJkzr`^+g9Bdw_bL~xP0ZZ;<~uSa(P?wNbCJSFT6vK)vIiOLH=$nn~+QQ z`2cpuT0wFvuI3Rjxr@hQjSS}y}~3p98=N65|iWt`9$^gCJ^zkV@qsm>dUv)Wgm%r zhC-WsU|c@RAWyO=Qk$yt`DDICB3BU1&I}MLck)S<4f5#@KCbMaP*(0F)tF;6$o5v_ zu6~y;#ZFW9ICA<{T&1!nP?-#tc!ybnEaLd?A^kqaq1{5A&b2#efla<`)FmP{?~unZy!w@__r;&O zC56zW2m?(Tm?F%Nm1c9h{G-WWbB8=J^a4z01^8vbj6YD|R8()BG$3U`3EVRS4cRaz zAIXs~=}b$KI-pke%(gqJW*4Ee=`P4O1v%I-hR{F#Zwb9-Y?nb`unc)6B9_Ba1tgb$fx4mTBaJ51pYwLz8*4DOto*mLNX&+=NN zdpKzEk|5p6|CV%zoz>IMOb^;yA^Ek(^<6EZ~lbAe6-5(XWQJK;1U2$x`rDvUD||PH zBiSX)p5bt($NjOYyVLXY%%>R~sa2ApO`{D#24C$m9Cv`6yRUYc&SCqK@@4x2dYl&; zf4%Z;J}NCEG4uoSPl%yy_oW6=yy-3uWG)dhc-jR?zqtQDe==)jWW@za*k|D3>i`q z$hfOrWsSLCuCS9*+HkS%mBTZur3YSN@M&tC1CbV@x5;LD=d$xY>8+b_%A6|sQ<$K!VZb!;BCYLX zj9_}ELU%mMSdbv`1>1StF_CZ2Y*VOB`eug*MFT&VV9NTYy@l^lF4?6Ap>ixsu~WQdAj z(%5XN&(^PD4|bQzLs}@EF`D~ZE3T6n|7K?Vp*Guw;LA5t$$)I>`@=BXowOcQ?CZ^I zuh~7_DhM|)t02DA_X49EP1WktZ$w)9VzQj?I8PIUG5U4lXf-3p;lQr)xw^!uuvC7- zfXc|ZY{lIyxQxn=1Y_klnwF5alw2}x^8Le#bE{K-b~l{xi38m~tSI+5O07T%1F#uM zrlThGc7dUXKWswx+iRJPq}Ox^Yfqd`SwsifA?P^eWPwhv7Pxgoyk^)ipNzdaxGr5f zf~79qSRcIQ-^pU&8kq)d{d@eBi~Qw5HeK;Gp3|k@gcne@7a~BS ztVd9))52Dt?3KE1b0}4BUCv1|sK`Ug4d0+z_8ggGXHqHzYo$U6z?N@u|9D6qLbod+ znI2=+HydP`k7bAY6pQWRO5Z2DhUH87AuTZwfo>rNrx3~GkHi$ z%%EIVO#j*g9u*F1QtW)a$VfIVu^GMOl*1g8+`W&Z+LmIhDY!JaJ~N}E(mTdA=%Q63jdz;Zo5FJ z%hfwd=2X!^84}ZBc-RV^r}Y~bS$9mYGcGBu)r*a?6TsnMrxKTniD91~i1!u5IW(`l zd7X%JELYL7ufF$vq5ozoR=v*5U*!I2>XVuJNKDNnMjq1HyA>{+zJ_^xov2sLz&ZP> z6ZQlz?m`i5)0mvyy-qfz_?G3yv912w?DO_^aibmXtxp|j^=+4}7rNoOV&G^T7o6mE zu;P9Oc}V9)`c3lUvy&wxodX{}Mj_45Sp&+pAuS&s9vvT@86H0H{}J~dV0K>By|-;u z+j7N{1vvI#Tx4683t$^JkQ)}VY-0--z#biGjx=*Tnh{f6D3=!cF@azR3H_$PrGyYd z8VMwUgoMz!T+&HMLJ~+wa>FIuH17Ym)?V-4`^xeaj~2Cd=!Z|5;BvCd)0{W*(Jbx^8xDEHa9BTR#jz)UDjeoShV!^#IQH6P zg+pF9obAJKKEsWX3g>BoGdc{%p7g13#sX)27>>O`R^dzq&U1(0^be0OFlZO1LVaxJ zzFmC4FP@AFzD?C^sazrPS+~Wp=tjC5jJRBKFKmU z1U@A(1AblrziDttkwcQ5h`gmoiM(vlB(eUg*?ApUi6Z*PQHDgN zA3kI-nm)}tg8|Sk71COO#i6sC9PGi~59vorFEwNwINMPZY;ymN)wbTn17vti$K+zi zn~~)iPG-H!L+#%*(`U|wiFPdoMFI(8dxhR;O><$|Po^0&A46a4iln#G zP^5;8b+dgfiWCp784`~x8TsfAM{-4KvJbyU-V%!FM^)u)~n3qK!Oz zSSaF1u1HN5h=-@h+d>ij$cnr)6iH9p(IYh^3&Y6t;ub}U_wWo!ryaod+lv{=6{*RR zksh8RZx2QEBP;TnP$WGNiXt^+oTq(tiy{e$9x)_(#K=dr8lL z;02NnD`N?7cvsj{Ke9bP6Ur41SVM*beyYWuxpHk`K7L6mHjN&BXq;Jz zW{vR6VXQUW`klz%U#r1m3HnP8Uaj`@S3GO>oHSoCEEXD!NgUm9tXS@;DYKYEuYDm2 zGXAfv^2R+k*WWwG2+=vl42ax0)qX;YS<1@v-O(rdk^AIpNuXZg<27XX_*V_GP72N3 ztaq(ieez`3IJWVLI{oXxrx>VfNQ_S`IUm=(mIR2bJ1aVtRjJyI7wvicYg<&Y>68wa zWO(TL`bDv7arEe(@$Q~`@?HPsuU)(cD^sBBM}8yiTdsYxcF{k2Zu-E4j*;k=fG!vn zQ)t6y%s2d~!W_Szh~LPJI%)h(r*Bih!K3(XR}|V$tuEm}??p8hxb(x%#gMTMJt7_W zE8g#|A=x>=_rGUC#$Np?I=az}mTjEBBk&X?MvuYMICIPi&TE2mzSaPMU50i@wyZN} zW`VV2wBvIB>E=t#lnTa(X8hyd8|(JIuG4ou8SMQX2OM)!YDUHWS{=JA54rAmA42Kq z8b9)FhNE44C7IrKEyE_NC$l2kgjIjr>9Zpfvm+flbE@~0#?nmze@|)i$Zp*l;9RO- z7tm#bfr|uNMy{(a61XhPqD_{)$&@FUEdCa2bCqDhvAnikDoOxTvlpbNM4IjUlcJXj z|EMAF7bHpgkq+5n(zw9j(my9yaC-n2BaJ27`lC1L=fkKdjPZX9{1*$KGpna({5BN} zM>PDG1pe!U&wIFMhl+(G){sA5af%_LmWJiBtW5>eX#8fuWK+cv1f#?9lYVU6{uaRy z9^R*+bkpTD6BF)!6`RII-zpg5Vx1}0J6lNH!(u$*r#aGOvR53V$_vPYljaNu0L@=fYoW zNES#lXA);E8SOaHlblj&X4^+_8@JP(4aq=l=uMZSz0<)dnle*6}H#?&9*$dLI$xSSp z+&`Mk{B)E1`%J$^`i((4vdLX;k_UT*m(`FzEg|s7XE@|y>DLh76)fH(L=sk~vHDW! z*YMvP_#Y5H>346&Un2b){?7&eM}<%Ny(d&G+_{GQor+WByjq%1R@ziBjmEz#m~5&@ zzeeW`A=U2*hS2domFrt`)8#Z1Iqs?z8`7_UH*WuwUZ|e}AP^}E^&?+iz0W0o7#Yjxu|aI~IL3-G|65BJ*O0Lp?3~G1 z*4{`KyTS8LDK(Rkj1kRPbJm+5Mn?L%$VmE;Gtx_)-r^bQ2VUfvEV!J>5=GvtOqQjx z%#eOIk`#AF^4T&Mf$$@)-eNh!5N8ANULle*-q6@(shnZ>_XYlQg-_1-iHyHQ&MNTL<6uvkESF@a&zVsfm%!R`bwJ$rqP%wS~gYW45LHIW>URDFu1w* zkbKvgn+~LzoZ-$?u_0#|i8l&{obeJ3^6o?SSY?f;*TNYW2aDG-0J_gFK9_A)1So(+fXB*S4LAma?5Hox0x z+O&DeHx^q<&0j!P45uHya85^kB)sb%@*K8?j761SaY$C0GX0`}Gc1;~j6S6!o$OfQ z2sPzcGWaE@ydKO##MrfQ)rajDXIZY#Cxkv6g!CgHBKz$|gGHvXBYQfNlUkA-Ngo&; znVuRM+dDG7cjWZ3k(ufHv;bn8`o@AYXT~CO`lpP=K;ml68^uioBlWl-b&)Jbgnh1& zw%y)_b#Y*^5}L8X-Zkax1Vf*@kcwSvZgilTE^{+gBybx6Z`@8@j=O$5y39ya&4gp> zvcdJ8!5bPmfftAQewn^ww9^k?{6nZea>G81VcO`i$7b|cy~YNA;R;k)wT282cFqjb z*4{`)JEr&pr^Gm1oxI8;OqmJdh+?;4g-`ZPnNj!H{_01ild}UC^1sOiRZSp*v#WSO~E$H1YdJMq- z9+oJI<{FZ7N|`fVRZB)YHvQjDDK!&2g4?JI^Q9ph^rlO8sU08udWFtVW#}|#M<|9W z^A}>H0V`tT;rYt1;sI2O`jIdEtvu2fHv8-AFJ_ERO^-gid3_O_0y$m=In0rVx{qP$ zi7aP%NwS4wMUto~KQS5P5U0G}8Dj{On&xbXwlUj=NXG029{UcC*}b)*Kfe6+?q5TF zR{QnCU+XohE@U38t8aoB&S`-YgY~h7GkmZ<+G#RaSKA)VSf!``Z6xuH>R(4N%%dMZ zG9%bYMubg_;*$euO~EkuID=svlkDvnz8z811Ok)0V8h=pvTvTTclc36!o&5$*QF5Y zbQ5VgZ~PTE=8P1vWTe(h5|Y+AZX(@L)mMvV=H?GfvbEqVCN%~dv_#)oj)9;0v9217 z#GYle2YuRY-{|Z@vy^RH$u@3hI$*E)Dh8=*iqMy{jC$)!;1S zVU0@$b*sTnNhWaFyn_vb9x}c_6xx5XI0e=?T`zs{oc{fd&|N?BAiH&Wx|a)>Mu^@u zLMJBmuTSdtiY@XQl3qpg>$2u87k3&f8#3D}#wOkc+2P3TPt+D8tYM!X*d#tii>HN< z#d3cQ$u2#;nfSPO)}lPV(j)Sr!8BH3$i;)*yxx5VLHFs$#_d4l?pv_(JXkkn&&-`$ z)RVtS=Q2p>hriv363@t%®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�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

)skDJ`SW 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⪼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 From 864dbe6f753e3bab3d251c2454413112d51d58e8 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Tue, 6 Aug 2024 13:49:26 +0100 Subject: [PATCH 123/153] fix comment typos --- pyterrier/java/_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index 14dbfa1f..ebfa00d0 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -292,7 +292,7 @@ def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: # Configuration Utils # ---------------------------------------------------------- # We need a global store of all java-related configurations -# so that when running in paralle, we can set everying back +# so that when running in parallel, we can set everying back # up the same way it started. These utils help manage this # gloabal configuration. # ---------------------------------------------------------- @@ -340,7 +340,7 @@ def register_config(name, config: Dict[str, Any]): # Java Classes # ---------------------------------------------------------- # This class enables the lazy loading of java classes. It -# helps avod needing a ton of autclass() statements to +# helps avoid needing a ton of autclass() statements to # pre-load Java classes. # ---------------------------------------------------------- From 28aca381d8948f5ea00ab44b24645dc7243550e3 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 6 Aug 2024 19:16:07 +0100 Subject: [PATCH 124/153] more expressive deprecated warning for pt.init() from https://github.com/terrier-org/pyterrier/compare/java...java_init_warn --- pyterrier/__init__.py | 2 +- pyterrier/java/_utils.py | 53 ++++++++++++++++++++++++++++++++++------ 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/pyterrier/__init__.py b/pyterrier/__init__.py index 8d611ee9..40267b49 100644 --- a/pyterrier/__init__.py +++ b/pyterrier/__init__.py @@ -34,7 +34,7 @@ # deprecated functions explored to the main namespace, which will be removed in a future version -init = deprecated(version='0.11.0', reason='No longer needed, java is started automatically. To force initialization early, use pt.java.init() instead.')(java.legacy_init) +init = java.legacy_init # java.legacy_init raises a deprecated warning internally started = deprecated(version='0.11.0', reason="use pt.java.started() instead")(java.started) logging = deprecated(version='0.11.0', reason="use pt.java.set_log_level(...) instead")(java.set_log_level) version = deprecated(version='0.11.0', reason="use pt.terrier.version() instead")(terrier.version) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index ebfa00d0..2df029e5 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -1,5 +1,5 @@ import sys -from warnings import warn +import warnings from functools import wraps from typing import Dict, Any, Tuple, Callable, Optional, Union from copy import deepcopy @@ -154,7 +154,7 @@ def _init(trigger=None): @before_init -def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False,helper_version = None): +def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=True, logging='WARN', home_dir=None, boot_packages=[], tqdm=None, no_download=False, helper_version = None): """ Function that can be called before Terrier classes and methods can be used. Loads the Terrier .jar file and imports classes. Also finds the correct version of Terrier to download if no version is specified. @@ -193,27 +193,64 @@ def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=Tr ``pt.init(version = 5.5, helper_version = "0.0.6")``. """ + deprecated_calls = [] + # Set the corresponding options - pt.java.set_memory_limit(mem) - pt.java.set_redirect_io(redirect_io) - pt.java.set_log_level(logging) + if mem is not None: + pt.java.set_memory_limit(mem) + deprecated_calls.append(f'pt.java.set_memory_limit({mem!r})') + + if not redirect_io: + pt.java.set_redirect_io(redirect_io) + deprecated_calls.append(f'pt.java.set_redirect_io({redirect_io!r})') + + if logging != 'WARN': + pt.java.set_log_level(logging) + deprecated_calls.append(f'pt.java.set_log_level({logging!r})') + for package in boot_packages: pt.java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) + deprecated_calls.append(f'pt.java.add_package({package!r})') + for opt in jvm_opts: pt.java.add_option(opt) - pt.terrier.set_version(version) - pt.terrier.set_helper_version(helper_version) + deprecated_calls.append(f'pt.java.add_option({opt!r})') + + if version is not None: + pt.terrier.set_version(version) + deprecated_calls.append(f'pt.terrier.set_version({version!r})') + + if helper_version is not None: + pt.terrier.set_helper_version(helper_version) + deprecated_calls.append(f'pt.terrier.set_helper_version({helper_version!r})') + if tqdm is not None: pt.utils.set_tqdm(tqdm) + deprecated_calls.append(f'pt.utils.set_tqdm({tqdm!r})') + if no_download: pt.java.mavenresolver.offline() + deprecated_calls.append('pt.java.mavenresolver.offline()') pt.java.init() + deprecated_calls.append('pt.java.init()') # Import other java packages if packages: pkgs_string = ",".join(packages) pt.terrier.set_property("terrier.mvn.coords", pkgs_string) + deprecated_calls.append(f'pt.terrier.set_property("terrier.mvn.coords", {pkgs_string!r})') + + # Warning to give new initialization + deprecated_message = 'Call to deprecated method pt.init(). Deprecated since version 0.11.0.' + if len(deprecated_calls) > 1: # called setup other than pt.java.init() + deprecated_message = deprecated_message + '\nThe following code will have the same effect:' + else: # only called pt.java.init() + deprecated_message = deprecated_message + '\njava is now started automatically with default settings. To force initialization early, run:' + deprecated_message = '\n'.join([deprecated_message] + deprecated_calls) + with warnings.catch_warnings(): + warnings.simplefilter('once', DeprecationWarning) # DeprecationWarning hidden by default, @deprecated does this to show the messages + warnings.warn(deprecated_message, category=DeprecationWarning, stacklevel=3) # stacklevel=3 prints wherever this call comes from, rather than here, see @deprecated source def started() -> bool: @@ -278,7 +315,7 @@ def parallel_init(started: bool, configs: Dict[str, Dict[str, Any]]) -> None: _configs = configs _init(trigger='parallel_init') else: - warn("Avoiding reinit of PyTerrier") + warnings.warn("Avoiding reinit of PyTerrier") def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: From d7b49f97efa7977daaab7daa772e908344b46b5a Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 7 Aug 2024 10:58:48 +0100 Subject: [PATCH 125/153] add comment to warning --- pyterrier/java/_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index 2df029e5..618bd7d0 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -233,7 +233,7 @@ def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=Tr deprecated_calls.append('pt.java.mavenresolver.offline()') pt.java.init() - deprecated_calls.append('pt.java.init()') + deprecated_calls.append('pt.java.init() # optional, forces java initialisation') # Import other java packages if packages: @@ -246,7 +246,7 @@ def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=Tr if len(deprecated_calls) > 1: # called setup other than pt.java.init() deprecated_message = deprecated_message + '\nThe following code will have the same effect:' else: # only called pt.java.init() - deprecated_message = deprecated_message + '\njava is now started automatically with default settings. To force initialization early, run:' + deprecated_message = deprecated_message + '\njava is now started automatically with default settings. To force initialisation early, run:' deprecated_message = '\n'.join([deprecated_message] + deprecated_calls) with warnings.catch_warnings(): warnings.simplefilter('once', DeprecationWarning) # DeprecationWarning hidden by default, @deprecated does this to show the messages From 434bebdcb535fa02755341035808b69690597e39 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 7 Aug 2024 13:18:39 +0100 Subject: [PATCH 126/153] move to pt.terrier.Retrieve etc by default --- docs/experiments/Robust04.md | 8 +- docs/ltr.rst | 8 +- docs/terrier-retrieval.rst | 52 +- examples/notebooks/experiment.ipynb | 392 +- examples/notebooks/index_api.ipynb | 70 +- examples/notebooks/indexing.ipynb | 373 +- examples/notebooks/ltr.ipynb | 31 +- examples/notebooks/non_en_retrieval.ipynb | 2 - .../notebooks/retrieval_and_evaluation.ipynb | 25 +- .../notebooks/sentence_transformers.ipynb | 4969 ++++++++--------- pyterrier/terrier/__init__.py | 9 +- pyterrier/terrier/java.py | 2 +- .../terrier/{retriever.py => retrieve.py} | 66 +- pyterrier/terrier/rewrite.py | 2 +- pyterrier/text.py | 2 +- tests/test_dunder.py | 2 +- tests/test_operators.py | 2 +- tests/test_scoring.py | 10 +- 18 files changed, 3057 insertions(+), 2968 deletions(-) rename pyterrier/terrier/{retriever.py => retrieve.py} (94%) diff --git a/docs/experiments/Robust04.md b/docs/experiments/Robust04.md index 773464b7..1a33dd4f 100644 --- a/docs/experiments/Robust04.md +++ b/docs/experiments/Robust04.md @@ -34,10 +34,10 @@ Here we define and evaluate standard weighting models. ```python -BM25 = pt.BatchRetrieve(index, wmodel="BM25") -DPH = pt.BatchRetrieve(index, wmodel="DPH") -PL2 = pt.BatchRetrieve(index, wmodel="PL2") -DLM = pt.BatchRetrieve(index, wmodel="DirichletLM") +BM25 = pt.terrier.Retrieve(index, wmodel="BM25") +DPH = pt.terrier.Retrieve(index, wmodel="DPH") +PL2 = pt.terrier.Retrieve(index, wmodel="PL2") +DLM = pt.terrier.Retrieve(index, wmodel="DirichletLM") pt.Experiment( [BM25, DPH, PL2, DLM], diff --git a/docs/ltr.rst b/docs/ltr.rst index e8bdab35..28b23a9c 100644 --- a/docs/ltr.rst +++ b/docs/ltr.rst @@ -64,17 +64,17 @@ the `"features"` column, as follows: FeaturesBatchRetrieve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -When executing the pipeline above, the re-ranking of the documents again can be slow, as each separate BatchRetrieve -object has to re-access the inverted index. For this reason, PyTerrier provides a class called FeaturesBatchRetrieve, +When executing the pipeline above, the re-ranking of the documents again can be slow, as each separate Retrieve +object has to re-access the inverted index. For this reason, PyTerrier provides a class called FeaturesRetrieve, which allows multiple query dependent features to be calculated at once, by virtue of Terrier's Fat framework. -.. autoclass:: pyterrier.FeaturesBatchRetrieve +.. autoclass:: pyterrier.terrier.FeaturesRetrieve :members: transform An equivalent pipeline to the example above would be:: #pipeline = bm25 >> (tf ** pl2) - pipeline = pt.FeaturesBatchRetrieve(index, wmodel="BM25", features=["WMODEL:Tf", "WMODEL:PL2"]) + pipeline = pyterrier.terrier.FeaturesRetrieve(index, wmodel="BM25", features=["WMODEL:Tf", "WMODEL:PL2"]) Apply Functions for Custom Features diff --git a/docs/terrier-retrieval.rst b/docs/terrier-retrieval.rst index 579938a2..55510a59 100644 --- a/docs/terrier-retrieval.rst +++ b/docs/terrier-retrieval.rst @@ -1,7 +1,7 @@ Terrier Retrieval ----------------- -BatchRetrieve is one of the most commonly used PyTerrier objects. It represents a retrieval transformation, +terrier.Retrieve is one of the most commonly used PyTerrier objects. It represents a retrieval transformation, in which queries are mapped to retrieved documents. BatchRetrieve uses a pre-existing Terrier index data structure, typically saved on disk. @@ -9,28 +9,28 @@ structure, typically saved on disk. Typical usage:: index = pt.IndexFactory.of("/path/to/data.properties") - tf_idf = pt.BatchRetrieve(index, wmodel="TF_IDF") - bm25 = pt.BatchRetrieve(index, wmodel="BM25") - pl2 = pt.BatchRetrieve(index, wmodel="PL2") + tf_idf = pt.terrier.Retrieve(index, wmodel="TF_IDF") + bm25 = pt.terrier.Retrieve(index, wmodel="BM25") + pl2 = pt.terrier.Retrieve(index, wmodel="PL2") pt.Experiment([tf_idf, bm25, pl2], topic, qrels, eval_metrics=["map"]) -As BatchRetrieve is a retrieval transformation, it takes as input dataframes with columns `["qid", "query"]`, +As Retrieve is a retrieval transformation, it takes as input dataframes with columns `["qid", "query"]`, and returns dataframes with columns `["qid", "query", "docno", "score", "rank"]`. -However, BatchRetrieve can also act as a re-ranker. In this scenario, it takes as input dataframes with +However, Retrieve can also act as a re-ranker. In this scenario, it takes as input dataframes with columns `["qid", "query", "docno"]`, and returns dataframes with columns `["qid", "query", "docno", "score", "rank"]`. For instance, to create a re-ranking pipeline that re-scores the top 100 BM25 documents using PL2:: - bm25 = pt.BatchRetrieve(index, wmodel="BM25") - pl2 = pt.BatchRetrieve(index, wmodel="PL2") + bm25 = pt.terrier.Retrieve(index, wmodel="BM25") + pl2 = pt.terrier.Retrieve(index, wmodel="PL2") pipeline = (bm25 % 100) >> pl2 -BatchRetrieve +Retrieve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: pyterrier.terrier.BatchRetrieve +.. autoclass:: pyterrier.terrier.Retrieve :members: transform, from_dataset @@ -42,7 +42,7 @@ When using PyTerrier, we have to be aware of the underlying Terrier configuratio namely *properties* and *controls*. Properties are global configuration and were traditionally configured by editing a `terrier.properties` file; In contrast, controls are per-query configuration. In PyTerrier, we specify both when we construct -the BatchRetrieve object: +the Retrieve object: Common controls: - `"wmodel"` - the name of the weighting model. (This can also be specified using the wmodel kwarg). @@ -59,24 +59,24 @@ Common properties: **Examples**:: - # these two BatchRetrieve instances are identical, using the same weighting model - bm25a = pt.BatchRetrieve(index, wmodel="BM25") - bm25b = pt.BatchRetrieve(index, controls={"wmodel":"BM25"}) + # these two Retrieve instances are identical, using the same weighting model + bm25a = pt.terrier.Retrieve(index, wmodel="BM25") + bm25b = pt.terrier.Retrieve(index, controls={"wmodel":"BM25"}) # this one also applies query expansion inside Terrier - bm25_qe = pt.BatchRetrieve(index, wmodel="BM25", controls={"qe":"on", "qemodel" : "Bo1"}) + bm25_qe = pt.terrier.Retrieve(index, wmodel="BM25", controls={"qe":"on", "qemodel" : "Bo1"}) # when we introduce an unstemmed BatchRetrieve, we ensure to explicitly set the termpipelines # for the other BatchRetrieve as well - bm25s_unstemmed = pt.BatchRetrieve(indexUS, wmodel="BM25", properties={"termpipelines" : ""}) - bm25s_stemmed = pt.BatchRetrieve(indexSS, wmodel="BM25", properties={"termpipelines" : "Stopwords,PorterStemmer"}) + bm25s_unstemmed = pt.terrier.Retrieve(indexUS, wmodel="BM25", properties={"termpipelines" : ""}) + bm25s_stemmed = pt.terrier.Retrieve(indexSS, wmodel="BM25", properties={"termpipelines" : "Stopwords,PorterStemmer"}) Index-Like Objects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -When working with Terrier indices, BatchRetrieve allows can make use of: +When working with Terrier indices, Retrieve allows can make use of: - a string representing an index, such as "/path/to/data.properties" - a Terrier `IndexRef `_ object, constructed from a string, but which may also hold a reference to the existing index. @@ -87,26 +87,26 @@ Where possible, for faster reuse, load the actual Index. Bad Practice:: - bm25 = pt.BatchRetrieve("/path/to/data.properties", wmodel="BM25") - pl2 = pt.BatchRetrieve("/path/to/data.properties", wmodel="PL2") + bm25 = pt.terrier.Retrieve("/path/to/data.properties", wmodel="BM25") + pl2 = pt.terrier.Retrieve("/path/to/data.properties", wmodel="PL2") # here, the same index must be loaded twice Good Practice:: index = pt.IndexFactory.of("/path/to/data.properties") - bm25 = pt.BatchRetrieve(index, wmodel="BM25") - pl2 = pt.BatchRetrieve(index, wmodel="PL2") + bm25 = pt.terrier.Retrieve(index, wmodel="BM25") + pl2 = pt.terrier.Retrieve(index, wmodel="PL2") # here, we share the index between two instances of BatchRetrieve You can use the IndexFactory to specify that the index data structures to be loaded into memory:: # load all structures into memory inmemindex = pt.IndexFactory.of("/path/to/data.properties", memory=True) - bm25_fast = pt.BatchRetrieve(inmemindex, wmodel="BM25") + bm25_fast = pt.terrier.Retrieve(inmemindex, wmodel="BM25") # load just inverted and lexicon into memory inmem_inverted_index = pt.IndexFactory.of("/path/to/data.properties", memory=['inverted', 'lexicon']) - bm25_fast = pt.BatchRetrieve(inmem_inverted_index, wmodel="BM25") + bm25_fast = pt.terrier.Retrieve(inmem_inverted_index, wmodel="BM25") TextScorer @@ -141,13 +141,13 @@ If you have your own Java weighting model instance (which extends the you can load it and pass it directly to BatchRetrieve:: mymodel = pt.autoclass("com.example.MyTF")() - retr = pt.BatchRetrieve(indexref, wmodel=mymodel) + retr = pt.terrier.Retrieve(indexref, wmodel=mymodel) More usefully, it is possible to express a weighting model entirely in Python, as a function or a lambda expression, that can be used by Terrier for scoring. In this example, we create a Terrier BatchRetrieve instance that scores based solely on term frequency:: Tf = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() - retr = pt.BatchRetrieve(indexref, wmodel=Tf) + retr = pt.terrier.Retrieve(indexref, wmodel=Tf) All functions passed must accept 4 arguments, as follows: diff --git a/examples/notebooks/experiment.ipynb b/examples/notebooks/experiment.ipynb index 2c6aa164..c1afd0d6 100644 --- a/examples/notebooks/experiment.ipynb +++ b/examples/notebooks/experiment.ipynb @@ -3,8 +3,8 @@ { "cell_type": "markdown", "metadata": { - "id": "P5kzUfb36WMd", - "colab_type": "text" + "colab_type": "text", + "id": "P5kzUfb36WMd" }, "source": [ "# Pyterrier - Example Experiment\n", @@ -14,21 +14,19 @@ }, { "cell_type": "code", + "execution_count": 1, "metadata": { - "id": "TejY4gN66TCc", - "colab_type": "code", - "outputId": "262dc29e-aa9b-4de6-9014-2887d107417a", "colab": { "base_uri": "https://localhost:8080/", "height": 765 - } + }, + "colab_type": "code", + "id": "TejY4gN66TCc", + "outputId": "262dc29e-aa9b-4de6-9014-2887d107417a" }, - "source": [ - "!pip install python-terrier" - ], - "execution_count": 1, "outputs": [ { + "name": "stdout", "output_type": "stream", "text": [ "Collecting python-terrier\n", @@ -75,84 +73,50 @@ "Successfully built python-terrier wget pytrec-eval hopcroftkarp\n", "Installing collected packages: pyjnius, wget, pytrec-eval, multiset, hopcroftkarp, matchpy, deprecation, python-terrier\n", "Successfully installed deprecation-2.1.0 hopcroftkarp-1.2.5 matchpy-0.5.1 multiset-2.1.1 pyjnius-1.3.0 python-terrier-0.1.3 pytrec-eval-0.4 wget-3.2\n" - ], - "name": "stdout" + ] } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "nt9K3eSWc_Zk", - "colab_type": "text" - }, + ], "source": [ - "# Init \n", - "\n", - "You must run `pt.init()` before other pyterrier functions and classes\n", - "\n", - "Arguments:\n", - " - `version` - Terrier platform version e.g. `\"5.2\"` \n", - " - `mem` - megabytes allocated to Java e.g. `4096` \n" + "%pip install -q python-terrier" ] }, { "cell_type": "code", - "metadata": { - "id": "4nt1cgv-6dzf", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 85 - }, - "outputId": "7b801c7d-3964-4980-fc3d-8b0dc23748bb" - }, + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ - "import pyterrier as pt\n", - "if not pt.started():\n", - " pt.init()" - ], - "execution_count": 1, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "/Users/craigmacdonald/opt/anaconda3/lib/python3.8/site-packages/tqdm/std.py:697: FutureWarning: The Panel class is removed from pandas. Accessing it from the top-level namespace will also be removed in the next version\n", - " from pandas import Panel\n", - "PyTerrier 0.4.0 has loaded Terrier 5.4 (built by craigm on 2021-01-16 14:17)\n" - ] - } + "import pyterrier as pt" ] }, { "cell_type": "markdown", "metadata": { - "id": "ZfFfllxN6Vnv", - "colab_type": "text" + "colab_type": "text", + "id": "ZfFfllxN6Vnv" }, "source": [ - "Again, we're using the Dataset interface to quickly access a test collection." + "we're using the Dataset interface to quickly access a test collection." ] }, { "cell_type": "code", + "execution_count": 2, "metadata": { - "id": "LVboB-IY5Joj", + "colab": {}, "colab_type": "code", - "colab": {} + "id": "LVboB-IY5Joj" }, + "outputs": [], "source": [ "vaswani = pt.datasets.get_dataset(\"vaswani\")" - ], - "execution_count": 2, - "outputs": [] + ] }, { "cell_type": "markdown", "metadata": { - "id": "Vxgbi63k64pj", - "colab_type": "text" + "colab_type": "text", + "id": "Vxgbi63k64pj" }, "source": [ "# Experiment\n", @@ -163,8 +127,8 @@ { "cell_type": "markdown", "metadata": { - "id": "OVmeqAX-67Am", - "colab_type": "text" + "colab_type": "text", + "id": "OVmeqAX-67Am" }, "source": [ "First create the BatchRetrieve objects with the configurartion that you wish to use" @@ -172,28 +136,28 @@ }, { "cell_type": "code", + "execution_count": 3, "metadata": { - "id": "9bMNAVT06j6E", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, + "colab_type": "code", + "id": "9bMNAVT06j6E", "outputId": "93e2dd5e-f986-48f4-ed17-e8264341f3c4" }, + "outputs": [], "source": [ "TF_IDF = pt.BatchRetrieve(vaswani.get_index(), wmodel=\"TF_IDF\")\n", "BM25 = pt.BatchRetrieve(vaswani.get_index(), wmodel=\"BM25\")\n", "PL2 = pt.BatchRetrieve(vaswani.get_index(), wmodel=\"PL2\")" - ], - "execution_count": 3, - "outputs": [] + ] }, { "cell_type": "markdown", "metadata": { - "id": "ozgSUBhD7I6L", - "colab_type": "text" + "colab_type": "text", + "id": "ozgSUBhD7I6L" }, "source": [ "Call `pt.Experiment` with the list of retrieval objects, topics, qrels and list of metrics\n", @@ -207,41 +171,89 @@ }, { "cell_type": "code", + "execution_count": 4, "metadata": { - "id": "8LCmxPtY6j3Q", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 142 }, + "colab_type": "code", + "id": "8LCmxPtY6j3Q", "outputId": "d8c64099-b122-47f2-a5be-e86768241b8e" }, - "source": [ - "pt.Experiment(\n", - " [TF_IDF,BM25,PL2],\n", - " vaswani.get_topics(),\n", - " vaswani.get_qrels(),\n", - " ['map','ndcg'])" - ], - "execution_count": 4, "outputs": [ { - "output_type": "execute_result", "data": { + "text/html": [ + "

" + ], "text/plain": [ " name map ndcg\n", "0 BR(TF_IDF) 0.290905 0.615367\n", "1 BR(BM25) 0.296517 0.621197\n", "2 BR(PL2) 0.276264 0.601225" - ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
namemapndcg
0BR(TF_IDF)0.2909050.615367
1BR(BM25)0.2965170.621197
2BR(PL2)0.2762640.601225
\n
" + ] }, + "execution_count": 4, "metadata": {}, - "execution_count": 4 + "output_type": "execute_result" } + ], + "source": [ + "pt.Experiment(\n", + " [TF_IDF,BM25,PL2],\n", + " vaswani.get_topics(),\n", + " vaswani.get_qrels(),\n", + " ['map','ndcg'])" ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "## Declaring a baseline\n", "\n", @@ -249,9 +261,7 @@ "This will enable significance testing (paired t-test), as well as showing the number of queries improved and degraded \n", "wrt. the baseline.\n", "\n" - ], - "cell_type": "markdown", - "metadata": {} + ] }, { "cell_type": "code", @@ -259,8 +269,78 @@ "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namemapndcgmap +map -map p-valuendcg +ndcg -ndcg p-value
0BR(TF_IDF)0.2909050.615367NaNNaNNaNNaNNaNNaN
1BR(BM25)0.2965170.62119746.045.00.23731745.046.00.143493
2BR(PL2)0.2762640.60122513.077.00.00882717.073.00.002583
\n", + "
" + ], "text/plain": [ " name map ndcg map + map - map p-value ndcg + ndcg - \\\n", "0 BR(TF_IDF) 0.290905 0.615367 NaN NaN NaN NaN NaN \n", @@ -271,11 +351,11 @@ "0 NaN \n", "1 0.143493 \n", "2 0.002583 " - ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
namemapndcgmap +map -map p-valuendcg +ndcg -ndcg p-value
0BR(TF_IDF)0.2909050.615367NaNNaNNaNNaNNaNNaN
1BR(BM25)0.2965170.62119746.045.00.23731745.046.00.143493
2BR(PL2)0.2762640.60122513.077.00.00882717.073.00.002583
\n
" + ] }, + "execution_count": 5, "metadata": {}, - "execution_count": 5 + "output_type": "execute_result" } ], "source": [ @@ -288,31 +368,108 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "We can also apply correcion for multiple testing. Use the `correction=` kwarg - 'b' is a short hand for 'bonferroni'. The additional columns\n", "\"map p-value corrected\" \"map reject\" are added. The former shows what the new, adjusted, p-value is, and the latter shows if the \n", "null hypothesis can rejected at $\\alpha=0.05$." - ], - "cell_type": "markdown", - "metadata": {} + ] }, { - "source": [ - "pt.Experiment(\n", - " [TF_IDF,BM25,PL2],\n", - " vaswani.get_topics(),\n", - " vaswani.get_qrels(),\n", - " ['map','ndcg'],\n", - " baseline=0,\n", - " correction='b')" - ], "cell_type": "code", - "metadata": {}, "execution_count": 6, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namemapndcgmap +map -map p-valuemap rejectmap p-value correctedndcg +ndcg -ndcg p-valuendcg rejectndcg p-value corrected
0BR(TF_IDF)0.2909050.615367NaNNaNNaNFalseNaNNaNNaNNaNFalseNaN
1BR(BM25)0.2965170.62119746.045.00.237317False0.71195145.046.00.143493False0.43048
2BR(PL2)0.2762640.60122513.077.00.008827True0.02648217.073.00.002583True0.00775
\n", + "
" + ], "text/plain": [ " name map ndcg map + map - map p-value map reject \\\n", "0 BR(TF_IDF) 0.290905 0.615367 NaN NaN NaN False \n", @@ -328,27 +485,36 @@ "0 NaN \n", "1 0.43048 \n", "2 0.00775 " - ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
namemapndcgmap +map -map p-valuemap rejectmap p-value correctedndcg +ndcg -ndcg p-valuendcg rejectndcg p-value corrected
0BR(TF_IDF)0.2909050.615367NaNNaNNaNFalseNaNNaNNaNNaNFalseNaN
1BR(BM25)0.2965170.62119746.045.00.237317False0.71195145.046.00.143493False0.43048
2BR(PL2)0.2762640.60122513.077.00.008827True0.02648217.073.00.002583True0.00775
\n
" + ] }, + "execution_count": 6, "metadata": {}, - "execution_count": 6 + "output_type": "execute_result" } + ], + "source": [ + "pt.Experiment(\n", + " [TF_IDF,BM25,PL2],\n", + " vaswani.get_topics(),\n", + " vaswani.get_qrels(),\n", + " ['map','ndcg'],\n", + " baseline=0,\n", + " correction='b')" ] } ], "metadata": { "colab": { + "collapsed_sections": [], "name": "Experiment Example.ipynb", - "provenance": [], - "collapsed_sections": [] + "provenance": [] }, "kernelspec": { - "name": "python3", "display_name": "Python 3", - "language": "python" + "language": "python", + "name": "python3" } }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +} diff --git a/examples/notebooks/index_api.ipynb b/examples/notebooks/index_api.ipynb index 77804728..217eaa82 100644 --- a/examples/notebooks/index_api.ipynb +++ b/examples/notebooks/index_api.ipynb @@ -34,10 +34,7 @@ }, "colab_type": "code", "id": "JWLqWXBHeBRc", - "outputId": "618fe9cb-2bd3-47ff-fbdf-816d4b1cadce", - "vscode": { - "languageId": "python" - } + "outputId": "618fe9cb-2bd3-47ff-fbdf-816d4b1cadce" }, "outputs": [ { @@ -92,7 +89,7 @@ } ], "source": [ - "%pip install -q python-terrier\n" + "%pip install -q python-terrier" ] }, { @@ -102,15 +99,7 @@ "id": "ixzDjvtTOQbB" }, "source": [ - "## Init \n", - "\n", - "You must run `pt.init()` before other pyterrier functions and classes\n", - "\n", - "Optional Arguments: \n", - " - `version` - terrier IR version e.g. \"5.2\" \n", - " - `mem` - megabytes allocated to java e.g. \"4096\" \n", - " - `packages` - external java packages for Terrier to load e.g. [\"org.terrier:terrier.prf\"]\n", - " - `logging` - logging level for Terrier. Defaults to \"WARN\", use \"INFO\" or \"DEBUG\" for more output.\n", + "## Initialisation\n", "\n", "NB: Pyterrier needs Java 11 installed. If it cannot find your Java installation, you can set the `JAVA_HOME` environment variable." ] @@ -125,10 +114,7 @@ }, "colab_type": "code", "id": "k3ltUZ8PgWmz", - "outputId": "28681afb-8132-4cde-a0eb-6dc4c53da1b4", - "vscode": { - "languageId": "python" - } + "outputId": "28681afb-8132-4cde-a0eb-6dc4c53da1b4" }, "outputs": [ { @@ -143,9 +129,7 @@ } ], "source": [ - "import pyterrier as pt\n", - "if not pt.started():\n", - " pt.init()" + "import pyterrier as pt\n" ] }, { @@ -170,10 +154,7 @@ }, "colab_type": "code", "id": "eRx5kIL9nmsB", - "outputId": "b6774593-d847-4d23-bd77-c266b8a32d2f", - "vscode": { - "languageId": "python" - } + "outputId": "b6774593-d847-4d23-bd77-c266b8a32d2f" }, "outputs": [ { @@ -210,10 +191,7 @@ }, "colab_type": "code", "id": "YxW1gSJh-MLr", - "outputId": "d0ef80f7-de1a-4e1f-ddb3-dd8d98d634e7", - "vscode": { - "languageId": "python" - } + "outputId": "d0ef80f7-de1a-4e1f-ddb3-dd8d98d634e7" }, "outputs": [ { @@ -267,10 +245,7 @@ }, "colab_type": "code", "id": "r1en_8ga-Y0d", - "outputId": "8feff0b9-53ab-4acd-be51-150359b9c3ff", - "vscode": { - "languageId": "python" - } + "outputId": "8feff0b9-53ab-4acd-be51-150359b9c3ff" }, "outputs": [ { @@ -314,10 +289,7 @@ }, "colab_type": "code", "id": "7jEPzyru-tCF", - "outputId": "b0f0b461-be41-4382-cfa2-22de5cac3f1c", - "vscode": { - "languageId": "python" - } + "outputId": "b0f0b461-be41-4382-cfa2-22de5cac3f1c" }, "outputs": [ { @@ -357,10 +329,7 @@ }, "colab_type": "code", "id": "DS2aAdbE_OqA", - "outputId": "1c0abbad-0664-423a-8c51-b41d0f22124b", - "vscode": { - "languageId": "python" - } + "outputId": "1c0abbad-0664-423a-8c51-b41d0f22124b" }, "outputs": [ { @@ -422,10 +391,7 @@ }, "colab_type": "code", "id": "CfDga790AZ26", - "outputId": "ab52b562-cc5b-4733-a9fc-934ca7fc71f5", - "vscode": { - "languageId": "python" - } + "outputId": "ab52b562-cc5b-4733-a9fc-934ca7fc71f5" }, "outputs": [ { @@ -506,10 +472,7 @@ }, "colab_type": "code", "id": "JVO3BjLTBBXb", - "outputId": "c5d8e8d9-266a-4480-bc28-e08164af2bcc", - "vscode": { - "languageId": "python" - } + "outputId": "c5d8e8d9-266a-4480-bc28-e08164af2bcc" }, "outputs": [ { @@ -561,10 +524,7 @@ "metadata": { "colab": {}, "colab_type": "code", - "id": "j7HZ9-cPCkEU", - "vscode": { - "languageId": "python" - } + "id": "j7HZ9-cPCkEU" }, "outputs": [], "source": [] @@ -580,6 +540,10 @@ "kernelspec": { "display_name": "Python 3", "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.9.13" } }, "nbformat": 4, diff --git a/examples/notebooks/indexing.ipynb b/examples/notebooks/indexing.ipynb index 4b0baa76..8d9dc3e3 100644 --- a/examples/notebooks/indexing.ipynb +++ b/examples/notebooks/indexing.ipynb @@ -1,24 +1,10 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Indexing Demo.ipynb", - "provenance": [], - "collapsed_sections": [], - "toc_visible": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - } - }, "cells": [ { "cell_type": "markdown", "metadata": { - "id": "TNdMHD8LS2Bm", - "colab_type": "text" + "colab_type": "text", + "id": "TNdMHD8LS2Bm" }, "source": [ "# PyTerrier Indexing Demo\n", @@ -29,8 +15,8 @@ { "cell_type": "markdown", "metadata": { - "id": "pkMrNonZrpEg", - "colab_type": "text" + "colab_type": "text", + "id": "pkMrNonZrpEg" }, "source": [ "## Prerequisites\n", @@ -40,22 +26,19 @@ }, { "cell_type": "code", + "execution_count": 1, "metadata": { - "id": "JWLqWXBHeBRc", - "colab_type": "code", - "outputId": "04d8b4fa-7e60-4ccc-ad6b-3b95f0445437", "colab": { "base_uri": "https://localhost:8080/", "height": 765 - } + }, + "colab_type": "code", + "id": "JWLqWXBHeBRc", + "outputId": "04d8b4fa-7e60-4ccc-ad6b-3b95f0445437" }, - "source": [ - "!pip install python-terrier\n", - "#!pip install --upgrade git+https://github.com/terrier-org/pyterrier.git#egg=python-terrier" - ], - "execution_count": 1, "outputs": [ { + "name": "stdout", "output_type": "stream", "text": [ "Collecting python-terrier\n", @@ -102,66 +85,60 @@ "Successfully built python-terrier wget pytrec-eval hopcroftkarp\n", "Installing collected packages: pyjnius, wget, pytrec-eval, multiset, hopcroftkarp, matchpy, deprecation, python-terrier\n", "Successfully installed deprecation-2.1.0 hopcroftkarp-1.2.5 matchpy-0.5.1 multiset-2.1.1 pyjnius-1.3.0 python-terrier-0.1.3 pytrec-eval-0.4 wget-3.2\n" - ], - "name": "stdout" + ] } + ], + "source": [ + "%pip install -q python-terrier" ] }, { "cell_type": "markdown", "metadata": { - "id": "ixzDjvtTOQbB", - "colab_type": "text" + "colab_type": "text", + "id": "ixzDjvtTOQbB" }, "source": [ - "## Init \n", + "## Initialisation\n", "\n", - "You must run `pt.init()` before other pyterrier functions and classes\n", - "\n", - "Optional Arguments: \n", - " - `version` - terrier IR version e.g. \"5.2\" \n", - " - `mem` - megabytes allocated to java e.g. \"4096\" \n", - " - `packages` - external java packages for Terrier to load e.g. [\"org.terrier:terrier.prf\"]\n", - " - `logging` - logging level for Terrier. Defaults to \"WARN\", use \"INFO\" or \"DEBUG\" for more output.\n", - "\n", - "NB: PyTerrier needs Java 11 installed. If it cannot find your Java installation, you can set the `JAVA_HOME` environment variable." + "PyTerrier needs Java 11 installed. If it cannot find your Java installation, you can set the `JAVA_HOME` environment variable." ] }, { "cell_type": "code", + "execution_count": 2, "metadata": { - "id": "k3ltUZ8PgWmz", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 85 }, + "colab_type": "code", + "id": "k3ltUZ8PgWmz", "outputId": "647fe3a9-6171-4ad0-8537-17c90aa03943" }, - "source": [ - "import pyterrier as pt\n", - "if not pt.started():\n", - " pt.init()" - ], - "execution_count": 2, "outputs": [ { + "name": "stdout", "output_type": "stream", "text": [ "terrier-assemblies 5.2 jar-with-dependencies not found, downloading to /root/.pyterrier...\n", "Done\n", "terrier-python-helper 0.0.2 jar not found, downloading to /root/.pyterrier...\n", "Done\n" - ], - "name": "stdout" + ] } + ], + "source": [ + "import pyterrier as pt\n", + "if not pt.started():\n", + " pt.init()" ] }, { "cell_type": "markdown", "metadata": { - "id": "By5UFYnRLgD0", - "colab_type": "text" + "colab_type": "text", + "id": "By5UFYnRLgD0" }, "source": [ "## TREC Indexing\n", @@ -171,49 +148,49 @@ }, { "cell_type": "code", + "execution_count": 5, "metadata": { - "id": "eRx5kIL9nmsB", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, + "colab_type": "code", + "id": "eRx5kIL9nmsB", "outputId": "c63da1f0-8d73-4c36-bc0e-ab8366779840" }, - "source": [ - "dataset = pt.datasets.get_dataset(\"vaswani\")\n", - "\n", - "print(\"Files in vaswani corpus: %s \" % dataset.get_corpus())" - ], - "execution_count": 5, "outputs": [ { + "name": "stdout", "output_type": "stream", "text": [ "Files in vaswani corpus: ['/root/.pyterrier/corpora/vaswani/corpus/doc-text.trec'] \n" - ], - "name": "stdout" + ] } + ], + "source": [ + "dataset = pt.datasets.get_dataset(\"vaswani\")\n", + "\n", + "print(\"Files in vaswani corpus: %s \" % dataset.get_corpus())" ] }, { "cell_type": "code", + "execution_count": null, "metadata": { - "id": "iXq3z6MdgWi4", + "colab": {}, "colab_type": "code", - "colab": {} + "id": "iXq3z6MdgWi4" }, + "outputs": [], "source": [ "index_path = \"./index\"" - ], - "execution_count": 0, - "outputs": [] + ] }, { "cell_type": "markdown", "metadata": { - "id": "gjsYdSDvOTi_", - "colab_type": "text" + "colab_type": "text", + "id": "gjsYdSDvOTi_" }, "source": [ "Create `pt.TRECCollectionIndexer` object \n", @@ -222,36 +199,36 @@ }, { "cell_type": "code", + "execution_count": 8, "metadata": { - "id": "-Va70HfBN7s7", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 51 }, + "colab_type": "code", + "id": "-Va70HfBN7s7", "outputId": "c74112c1-acca-488c-bd86-07f278265507" }, - "source": [ - "!rm -rf ./index\n", - "indexer = pt.TRECCollectionIndexer(index_path, blocks=True)" - ], - "execution_count": 8, "outputs": [ { + "name": "stdout", "output_type": "stream", "text": [ "IndexingType.CLASSIC\n", "IndexingType.CLASSIC\n" - ], - "name": "stdout" + ] } + ], + "source": [ + "!rm -rf ./index\n", + "indexer = pt.TRECCollectionIndexer(index_path, blocks=True)" ] }, { "cell_type": "markdown", "metadata": { - "id": "ak_VGdxfQm0p", - "colab_type": "text" + "colab_type": "text", + "id": "ak_VGdxfQm0p" }, "source": [ "Index the files by calling the index method on the TRECCollectionIndexer object" @@ -259,26 +236,26 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": { - "id": "l3C3NLUwQq0p", + "colab": {}, "colab_type": "code", - "colab": {} + "id": "l3C3NLUwQq0p" }, + "outputs": [], "source": [ "indexref = indexer.index(dataset.get_corpus())\n", "\n", "# indexer method takes either a string or a list of strings with the files names\n", "# indexer.index([\"/vaswani_corpus/doc-text.trec\",])\n", "# indexer.index(\"/vaswani_corpus/doc-text.trec\")\n" - ], - "execution_count": 0, - "outputs": [] + ] }, { "cell_type": "markdown", "metadata": { - "id": "cYDrBpM6ofW-", - "colab_type": "text" + "colab_type": "text", + "id": "cYDrBpM6ofW-" }, "source": [ "Lets see what we got from the indexer.\n", @@ -288,39 +265,39 @@ }, { "cell_type": "code", + "execution_count": 12, "metadata": { - "id": "hI9iNQdpoegm", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, + "colab_type": "code", + "id": "hI9iNQdpoegm", "outputId": "a34fa4e1-a8de-4843-ab47-4db649c88f5c" }, - "source": [ - "indexref.toString()" - ], - "execution_count": 12, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "'./index/data.properties'" ] }, + "execution_count": 12, "metadata": { "tags": [] }, - "execution_count": 12 + "output_type": "execute_result" } + ], + "source": [ + "indexref.toString()" ] }, { "cell_type": "markdown", "metadata": { - "id": "Hf7hX8xXpN6q", - "colab_type": "text" + "colab_type": "text", + "id": "Hf7hX8xXpN6q" }, "source": [ "We can use that to get more information about the index. For instance, to see the statistics of the index, lets use `index.getCollectionStatistics().toString()`. You can see that we have indexed 11429 documents, containing a total of 7756 unique words." @@ -328,22 +305,19 @@ }, { "cell_type": "code", + "execution_count": 13, "metadata": { - "id": "_wbIUBzeoqkZ", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 119 }, + "colab_type": "code", + "id": "_wbIUBzeoqkZ", "outputId": "180e7910-274e-4b08-d974-da47033d4e87" }, - "source": [ - "index = pt.IndexFactory.of(indexref)\n", - "print(index.getCollectionStatistics().toString())" - ], - "execution_count": 13, "outputs": [ { + "name": "stdout", "output_type": "stream", "text": [ "Number of documents: 11429\n", @@ -352,16 +326,19 @@ "Field names: []\n", "Number of tokens: 271581\n", "\n" - ], - "name": "stdout" + ] } + ], + "source": [ + "index = pt.IndexFactory.of(indexref)\n", + "print(index.getCollectionStatistics().toString())" ] }, { "cell_type": "markdown", "metadata": { - "id": "yVjVoDYfTN2z", - "colab_type": "text" + "colab_type": "text", + "id": "yVjVoDYfTN2z" }, "source": [ "To index TXT, PDF, Microsoft Word, etc files use pt.FilesIndexer instead of pt.TRECCollectionIndexer" @@ -370,8 +347,8 @@ { "cell_type": "markdown", "metadata": { - "id": "wGV18JV1P129", - "colab_type": "text" + "colab_type": "text", + "id": "wGV18JV1P129" }, "source": [ "## Indexing a Pandas dataframe\n", @@ -383,15 +360,25 @@ }, { "cell_type": "code", + "execution_count": 16, "metadata": { - "id": "vw-4NIjlUY16", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, + "colab_type": "code", + "id": "vw-4NIjlUY16", "outputId": "ebc0b75e-3449-4e38-c6e2-01ddd77f5de9" }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IndexingType.CLASSIC\n" + ] + } + ], "source": [ "import pandas as pd\n", "!rm -rf ./pd_index\n", @@ -400,25 +387,17 @@ "# optionally modify properties\n", "# index_properies = {\"block.indexing\":\"true\", \"invertedfile.lexiconscanner\":\"pointers\"}\n", "# indexer.setProperties(**index_properies)" - ], - "execution_count": 16, - "outputs": [ - { - "output_type": "stream", - "text": [ - "IndexingType.CLASSIC\n" - ], - "name": "stdout" - } ] }, { "cell_type": "code", + "execution_count": null, "metadata": { - "id": "NNkn2SdsPzBQ", + "colab": {}, "colab_type": "code", - "colab": {} + "id": "NNkn2SdsPzBQ" }, + "outputs": [], "source": [ "df = pd.DataFrame({ \n", "'docno':\n", @@ -430,28 +409,22 @@ "'The waves were crashing on the shore; it was a',\n", "'The body may perhaps compensates for the loss']\n", "})" - ], - "execution_count": 0, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": 18, "metadata": { - "id": "Vn-2M9iFyW9K", - "colab_type": "code", - "outputId": "7375299a-c13d-42fc-d2cd-34aecdbbee4a", "colab": { "base_uri": "https://localhost:8080/", "height": 142 - } + }, + "colab_type": "code", + "id": "Vn-2M9iFyW9K", + "outputId": "7375299a-c13d-42fc-d2cd-34aecdbbee4a" }, - "source": [ - "df" - ], - "execution_count": 18, "outputs": [ { - "output_type": "execute_result", "data": { "text/html": [ "
\n", @@ -507,18 +480,22 @@ "2 3 url3 The body may perhaps compensates for the loss" ] }, + "execution_count": 18, "metadata": { "tags": [] }, - "execution_count": 18 + "output_type": "execute_result" } + ], + "source": [ + "df" ] }, { "cell_type": "markdown", "metadata": { - "id": "K-idBQ5OUV9c", - "colab_type": "text" + "colab_type": "text", + "id": "K-idBQ5OUV9c" }, "source": [ "Then there are a number of options to index the dataframe: \n", @@ -528,11 +505,13 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": { - "id": "rBXHWO4yUJT7", + "colab": {}, "colab_type": "code", - "colab": {} + "id": "rBXHWO4yUJT7" }, + "outputs": [], "source": [ "# no metadata\n", "# pd_indexer.index(df[\"text\"])\n", @@ -550,15 +529,13 @@ "\n", "# Add the entire dataframe as metadata\n", "# pd_indexer.index(df[\"text\"], df)" - ], - "execution_count": 0, - "outputs": [] + ] }, { "cell_type": "markdown", "metadata": { - "id": "zjSUuBcou_L2", - "colab_type": "text" + "colab_type": "text", + "id": "zjSUuBcou_L2" }, "source": [ "## Indexing a iterable, generator, etc.\n", @@ -570,15 +547,29 @@ }, { "cell_type": "code", + "execution_count": 3, "metadata": { - "id": "CBYEKxK4u_uV", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, + "colab_type": "code", + "id": "CBYEKxK4u_uV", "outputId": "f1880b9e-495e-44f2-a094-dbbf5ae7d1d9" }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "processing document 0\n", + "processing document 100000\n", + "processing document 200000\n", + "processing document 300000\n", + "processing document 400000\n" + ] + } + ], "source": [ "# As an example, we will stream the ANTIQUE collection.\n", "# It is formatted as \"[docno] \\t [text] \\n\"\n", @@ -603,27 +594,13 @@ "# indexed and which are used as metadata with the fields and meta parameters.\n", "# yield {'docno': docno, 'title': title, 'text': text, 'url': url}\n", "# iter_indexer.index(doc_iter, fields=['text', 'title'], meta=['docno', 'url'])" - ], - "execution_count": 3, - "outputs": [ - { - "output_type": "stream", - "text": [ - "processing document 0\n", - "processing document 100000\n", - "processing document 200000\n", - "processing document 300000\n", - "processing document 400000\n" - ], - "name": "stdout" - } ] }, { "cell_type": "markdown", "metadata": { - "id": "IKrZNyaUXRMg", - "colab_type": "text" + "colab_type": "text", + "id": "IKrZNyaUXRMg" }, "source": [ "## Retrieval\n", @@ -635,22 +612,18 @@ }, { "cell_type": "code", + "execution_count": 21, "metadata": { - "id": "zWj6YnN4Wnsz", - "colab_type": "code", - "outputId": "11b3b274-2921-4663-f91b-9ef711376582", "colab": { "base_uri": "https://localhost:8080/", "height": 419 - } + }, + "colab_type": "code", + "id": "zWj6YnN4Wnsz", + "outputId": "11b3b274-2921-4663-f91b-9ef711376582" }, - "source": [ - "pt.BatchRetrieve(indexref).search(\"mathematical\")" - ], - "execution_count": 21, "outputs": [ { - "output_type": "execute_result", "data": { "text/html": [ "
\n", @@ -801,18 +774,22 @@ "[152 rows x 6 columns]" ] }, + "execution_count": 21, "metadata": { "tags": [] }, - "execution_count": 21 + "output_type": "execute_result" } + ], + "source": [ + "pt.BatchRetrieve(indexref).search(\"mathematical\")" ] }, { "cell_type": "markdown", "metadata": { - "id": "oK_wOzQrqi8t", - "colab_type": "text" + "colab_type": "text", + "id": "oK_wOzQrqi8t" }, "source": [ "However, most IR experiments, will use a set of queries. You can pass such a set using a data frame for input." @@ -820,24 +797,18 @@ }, { "cell_type": "code", + "execution_count": 20, "metadata": { - "id": "dgtauIOAXGFY", - "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 419 }, + "colab_type": "code", + "id": "dgtauIOAXGFY", "outputId": "6a4e7e45-eaa4-48a0-d069-b271e3554826" }, - "source": [ - "import pandas as pd\n", - "topics = pd.DataFrame([[\"2\", \"mathematical\"]],columns=['qid','query'])\n", - "pt.BatchRetrieve(indexref).transform(topics)" - ], - "execution_count": 20, "outputs": [ { - "output_type": "execute_result", "data": { "text/html": [ "
\n", @@ -988,22 +959,42 @@ "[152 rows x 6 columns]" ] }, + "execution_count": 20, "metadata": { "tags": [] }, - "execution_count": 20 + "output_type": "execute_result" } + ], + "source": [ + "import pandas as pd\n", + "topics = pd.DataFrame([[\"2\", \"mathematical\"]],columns=['qid','query'])\n", + "pt.BatchRetrieve(indexref).transform(topics)" ] }, { "cell_type": "markdown", "metadata": { - "id": "XLcNP0XHqwQs", - "colab_type": "text" + "colab_type": "text", + "id": "XLcNP0XHqwQs" }, "source": [ "Thats the end of the indexing tutorial - you can continue with other example tutorials." ] } - ] -} \ No newline at end of file + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "Indexing Demo.ipynb", + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/examples/notebooks/ltr.ipynb b/examples/notebooks/ltr.ipynb index 5cc117b7..1de9ad09 100644 --- a/examples/notebooks/ltr.ipynb +++ b/examples/notebooks/ltr.ipynb @@ -26,23 +26,6 @@ "%pip install -q python-terrier" ] }, - { - "cell_type": "markdown", - "metadata": { - "id": "5thmTselkuBv" - }, - "source": [ - "## Init\n", - "\n", - "You must run `pt.init()` before other PyTerrier functions and classes.\n", - "\n", - "`pt.init()` takes arguments such as: \n", - "- `version` - Terrier version e.g. \"5.2\" \n", - "- `mem` - megabytes allocated to JVM e.g. 4096\n", - "\n", - "See also: https://pyterrier.readthedocs.io/en/latest/installation.html" - ] - }, { "cell_type": "code", "execution_count": 2, @@ -75,9 +58,7 @@ "source": [ "import numpy as np\n", "import pandas as pd\n", - "import pyterrier as pt\n", - "if not pt.started():\n", - " pt.init(version='snapshot')" + "import pyterrier as pt" ] }, { @@ -161,11 +142,11 @@ "outputs": [], "source": [ "#this ranker will make the candidate set of documents for each query\n", - "BM25 = pt.BatchRetrieve(indexref, wmodel=\"BM25\")\n", + "BM25 = pt.terrier.Retrieve(indexref, wmodel=\"BM25\")\n", "\n", "#these rankers we will use to re-rank the BM25 results\n", - "TF_IDF = pt.BatchRetrieve(indexref, wmodel=\"TF_IDF\")\n", - "PL2 = pt.BatchRetrieve(indexref, wmodel=\"PL2\")" + "TF_IDF = pt.terrier.Retrieve(indexref, wmodel=\"TF_IDF\")\n", + "PL2 = pt.terrier.Retrieve(indexref, wmodel=\"PL2\")" ] }, { @@ -388,7 +369,7 @@ } ], "source": [ - "fbr = pt.FeaturesBatchRetrieve(indexref, wmodel=\"BM25\", features=[\"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", + "fbr = pt.terrier.FeaturesRetrieve(indexref, wmodel=\"BM25\", features=[\"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", "#lets look at the top 2 results\n", "(fbr %2).search(\"chemical\")" ] @@ -592,7 +573,7 @@ } ], "source": [ - "fbr3f = pt.FeaturesBatchRetrieve(indexref, wmodel=\"BM25\", features=[\"SAMPLE\", \"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", + "fbr3f = pt.terrier.FeaturesRetrieve(indexref, wmodel=\"BM25\", features=[\"SAMPLE\", \"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", "(fbr3f %2).search(\"chemical\")" ] }, diff --git a/examples/notebooks/non_en_retrieval.ipynb b/examples/notebooks/non_en_retrieval.ipynb index 33678392..5a5a3237 100644 --- a/examples/notebooks/non_en_retrieval.ipynb +++ b/examples/notebooks/non_en_retrieval.ipynb @@ -66,8 +66,6 @@ "from nltk import word_tokenize\n", "from nltk.corpus import stopwords\n", "import pyterrier as pt\n", - "if not pt.started():\n", - " pt.init()\n", "from pyterrier.measures import *" ] }, diff --git a/examples/notebooks/retrieval_and_evaluation.ipynb b/examples/notebooks/retrieval_and_evaluation.ipynb index b7279fc0..94674b16 100644 --- a/examples/notebooks/retrieval_and_evaluation.ipynb +++ b/examples/notebooks/retrieval_and_evaluation.ipynb @@ -75,24 +75,7 @@ } ], "source": [ - "#!pip install --upgrade git+https://github.com/terrier-org/pyterrier.git#egg=python-terrier\n", - "!pip install python-terrier" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "E8avEGFTczuu" - }, - "source": [ - "# Init \n", - "\n", - "You must run `pt.init()` before other pyterrier functions and classes\n", - "\n", - "Arguments: \n", - " - `version` - terrier IR version e.g. \"5.2\" \n", - " - `mem` - megabytes allocated to java e.g. \"4096\" \n" + "%pip install -q python-terrier" ] }, { @@ -120,9 +103,7 @@ } ], "source": [ - "import pyterrier as pt\n", - "if not pt.started():\n", - " pt.init()" + "import pyterrier as pt" ] }, { @@ -343,7 +324,7 @@ }, "outputs": [], "source": [ - "retr = pt.BatchRetrieve(index, controls = {\"wmodel\": \"TF_IDF\"})\n", + "retr = pt.terrier.Retrieve(index, controls = {\"wmodel\": \"TF_IDF\"})\n", "\n", "retr.setControl(\"wmodel\", \"TF_IDF\")\n", "retr.setControls({\"wmodel\": \"TF_IDF\"})\n", diff --git a/examples/notebooks/sentence_transformers.ipynb b/examples/notebooks/sentence_transformers.ipynb index 47a2038b..ed625c15 100644 --- a/examples/notebooks/sentence_transformers.ipynb +++ b/examples/notebooks/sentence_transformers.ipynb @@ -1,694 +1,724 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "NqDE3-xBkzsC" + }, + "source": [ + "# MSMARCO Passage Reranking using PyTerrier and Sentence Transformers\n", + "\n", + "This notebook demonstrates the easy application of Sentence Transformers using PyTerrier." + ] }, - "accelerator": "GPU", - "gpuClass": "standard", - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "218b7a3cd33f4bdfb06ef8801685bd94": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_c35ec2f9b0c7485f9a1cf455a1d9f05d", - "IPY_MODEL_bf02afeeb5254857b06e3aafa4d62095", - "IPY_MODEL_17bb39ae5bce4bd49a353ea1a87b7b19" - ], - "layout": "IPY_MODEL_fde24410bd314aae85d131428839d8d2" - } - }, - "c35ec2f9b0c7485f9a1cf455a1d9f05d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_46c4c41634c349a6b5e81fc1d19ee169", - "placeholder": "​", - "style": "IPY_MODEL_89fcf1a36aba4fc9bb7987efedd1f50e", - "value": "data.direct.bf: 100%" - } - }, - "bf02afeeb5254857b06e3aafa4d62095": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f39b3f792b2e4489b7d65f0176046f46", - "max": 509597655, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e408c705e78d406fbf7620ca9c0baab8", - "value": 509597655 - } + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, - "17bb39ae5bce4bd49a353ea1a87b7b19": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_cc2aac2a66a64d4c88a08ff4ddb52630", - "placeholder": "​", - "style": "IPY_MODEL_9d9d69e6935b4988ad8e8903bb8861e5", - "value": " 486M/486M [00:39<00:00, 13.0MiB/s]" - } + "id": "ks_OLOPtja1O", + "outputId": "f112fc12-e2bf-4bab-d0db-523f8fd52ffa" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[K |████████████████████████████████| 102 kB 39.6 MB/s \n", + "\u001b[K |████████████████████████████████| 85 kB 4.9 MB/s \n", + "\u001b[K |████████████████████████████████| 1.3 MB 50.2 MB/s \n", + "\u001b[K |████████████████████████████████| 69 kB 8.2 MB/s \n", + "\u001b[K |████████████████████████████████| 311 kB 50.9 MB/s \n", + "\u001b[K |████████████████████████████████| 46 kB 3.9 MB/s \n", + "\u001b[K |████████████████████████████████| 286 kB 45.4 MB/s \n", + "\u001b[K |████████████████████████████████| 45 kB 3.4 MB/s \n", + "\u001b[K |████████████████████████████████| 72 kB 1.8 MB/s \n", + "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing wheel metadata ... \u001b[?25l\u001b[?25hdone\n", + "\u001b[K |████████████████████████████████| 294 kB 61.5 MB/s \n", + "\u001b[K |████████████████████████████████| 1.2 MB 56.1 MB/s \n", + "\u001b[K |████████████████████████████████| 126 kB 72.2 MB/s \n", + "\u001b[K |████████████████████████████████| 5.5 MB 51.8 MB/s \n", + "\u001b[K |████████████████████████████████| 1.3 MB 59.1 MB/s \n", + "\u001b[K |████████████████████████████████| 163 kB 67.8 MB/s \n", + "\u001b[K |████████████████████████████████| 7.6 MB 13.3 MB/s \n", + "\u001b[?25h Building wheel for python-terrier (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for ir-measures (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for cwl-eval (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for cbor (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for unlzw3 (PEP 517) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for warc3-wet-clueweb09 (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for sentence-transformers (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for chest (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for sklearn (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for wget (setup.py) ... \u001b[?25l\u001b[?25hdone\n" + ] + } + ], + "source": [ + "%pip install -q python-terrier sentence-transformers" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, - "fde24410bd314aae85d131428839d8d2": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } + "id": "__lKfgQnjeqt", + "outputId": "666bbb26-345d-4dc0-a6c2-366adfe225fb" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "terrier-assemblies 5.7 jar-with-dependencies not found, downloading to /root/.pyterrier...\n", + "Done\n", + "terrier-python-helper 0.0.7 jar not found, downloading to /root/.pyterrier...\n", + "Done\n" + ] }, - "46c4c41634c349a6b5e81fc1d19ee169": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } + { + "name": "stderr", + "output_type": "stream", + "text": [ + "PyTerrier 0.9.1 has loaded Terrier 5.7 (built by craigm on 2022-11-10 18:30) and terrier-helper 0.0.7\n", + "\n" + ] + } + ], + "source": [ + "import pyterrier as pt\n", + "from pyterrier.measures import *" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hO_ItLzOk8dI" + }, + "source": [ + "## BM25\n", + "\n", + "We use a pre-built index for MSMARCO v1 passage corpus, obtained direct from the [Terrier data repository](http://data.terrier.org/). On Colab, this [particular index](http://data.terrier.org/msmarco_passage.dataset.html#terrier_stemmed_text) takes around 4 minutes to download." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 460, + "referenced_widgets": [ + "218b7a3cd33f4bdfb06ef8801685bd94", + "c35ec2f9b0c7485f9a1cf455a1d9f05d", + "bf02afeeb5254857b06e3aafa4d62095", + "17bb39ae5bce4bd49a353ea1a87b7b19", + "fde24410bd314aae85d131428839d8d2", + "46c4c41634c349a6b5e81fc1d19ee169", + "89fcf1a36aba4fc9bb7987efedd1f50e", + "f39b3f792b2e4489b7d65f0176046f46", + "e408c705e78d406fbf7620ca9c0baab8", + "cc2aac2a66a64d4c88a08ff4ddb52630", + "9d9d69e6935b4988ad8e8903bb8861e5", + "336e71f73f804d4fa9d8f0f46cdd3e3e", + "a6523b96009d4d0cb094c82645de8bfe", + "7b8e2296261e4a73bd895ea474270b8e", + "458b493efc474328a3b59dcd71f66f66", + "6162b37a85414de79eee0db04d82bcb1", + "1c016ac19966461886213681ca34e5a4", + "fc96d0c270aa410290583e4955110cec", + "d1bfffb8296a4097a20b723e8b448d05", + "f1f27bcdb44f4489bca4907af7671f0c", + "bcfec93867574354b6c326900b72906a", + "f2cc461f100347ea868ea7e080c3053c", + "089dbe78291f4f2692ca495a2aa34f24", + "9f088b7574474ea485d9bce9d947cf11", + "0ab84ae40fee471bb6bd6bdcd8e7dfd9", + "2766cdca725f4cf1a8cfb6e6da0b7008", + "093d65b2942c4460b2101dd0c4fe85e2", + "0f3b37bee77f44a1a973e569bd7973fc", + "b9ac2d41b8a24d6f96926e96067e067f", + "f489a5e3d18049c4a0b8257822f867f4", + "377f42804bd44de2966d51ed31a818d0", + "1249ee72fa8a4823b02e320425a5be0e", + "4b46b4932eef4c29b212aae36376d3a1", + "3eb0d16ae51c45a394f163d12c2c7a05", + "c37c60cbee544de2ba912d18dd413000", + "acd5381647e84da7848a96ba27b62249", + "bfb086d7d3984652b705b88cc682bba9", + "cb474c965f224c5487239f09406c5d0d", + "4728da4e842f4447929c89bbeb9300ad", + "0374c8b3f6bc4a9ca8caea87a6f9419a", + "3f12e07efdf14237b45ddddedf88fe5e", + "a4d6d1e25aeb47b99b67f7e257d30661", + "8b97b6d489044b5fa1d6888db9b737a9", + "6cb1d33fa8724ee0b13940173978d376", + "418154ea6e744efb8f156054c9e10069", + "19edd42f348a40d7a38eae7245ce2196", + "47417bdc63fb42df8530bd09043a723e", + "d0ccf3175ea64ae8b73b9234ca56a666", + "e8c19987146646d4a80a128cdb5ca6e9", + "01ac5203e09e4cedbb8e4fa5f9163cd3", + "29376e21f1144fd18e57d72df6504410", + "1f7577b3657a4b65926fb14c8cba75d5", + "bab00606eff049fab023123a3bcb0b99", + "b71589ff1afb47928b9eabac6e682c30", + "28199016470f4bc0afed1b9e203642ea", + "329141c81f24431ea2d88910e6cec83e", + "bf484d6c40f3438ca1fb07c856b935d1", + "e8f15ecec79447fd97a0e485c8b30680", + "676640ca6f634d18898f4acd606f97d2", + "802a5977534d42ba98e8b8a87e4522d0", + "602bcac8861649028d00ecfddda80c0f", + "0fee4a0cd6914d0ea638f87435519569", + "7c440c66afd04da88a7f8c7d0e7ffe66", + "d953dcd8b0ba400ab0e4e5d1ed589344", + "4c621c9a88fd4119aabcf3acbe6ddfc4", + "49c1491723b840c098add6978517b717", + "ceb18bdf05554fc3aead77a536574893", + "82e65fde16d44959ab90b90c89edb2e9", + "1c485c5a82ed4bcc873c78d8a74ae2bd", + "1205a2fc76274245899d831dbb3918c0", + "382df08670ed472e80ad70ad14777718", + "426ae11a9d724cb48bfebf83e37a5506", + "23b5ef54a181438196792eb9be0bfc05", + "e23c61f570014d96999c465793799f3e", + "909dbf4d3def48f8b5aaf4a93ce380f9", + "74bc199228ff49c490ad175d12912455", + "5925e860a5ef4d41837b3d5a10f424eb", + "0fa579c7b0024774b8e13d93b62d39e2", + "5401553b36bc4876a804f07d8f981b9d", + "42735f2ee712416e875563570bebe361", + "9aec86dd6f9740a1951131c133b9f080", + "10096d930926427f831d1f82bfdfe522", + "d995b75485bb480aaf5a520d44c42270", + "85801883764b4d6f99c9093aa8f043fc", + "999e0acb1f0b46ffa58e95f719f651a4", + "40f7b8503d3c443a94d4838eb49b1c53", + "d00a2ffadf664d02a8944896c89d268c", + "d0e961fd370d4eba8d7121eefc47c2fa", + "37b20cf392ce438dbfff254e01f8d8d3", + "a334949416c24ee6bc38e2e573dd7d43", + "8c4eaf2dfda841aa976381cadcba0603", + "0ac8cbd3f0ad4dd594789f04a2ac3475", + "18dc8300bcf74d319794d78d2cb741ad", + "309f44b572ff48be89c1cfa63072d96c", + "88d3a822e1034065afbe4366b9440f4b", + "b36d0e26740240c9bec401bbb5961da7", + "fdd841cd1a93419b98d56a2fe6689c5b", + "6f6d6240f5bd42ffbb34c145b7b9eb9d", + "dcb45eeb128d40158d91b98206189ada", + "9a48f25b4d8f4622b0367090cd11b84c", + "64dc87794e944278bed879f4ddfe6af9", + "b9580a827df4429c9d17ea5805c89aee", + "4c1f41e5b5484bf0a6df04705d230a6c", + "e549a697ecec451690e758a67c659c7d", + "7182cb2cffae4e609ad1dc31864b4f4a", + "0f56265797de4ab3a3304e107d569e66", + "c2d1e164c10f4c868e36e7d77dc27103", + "f58909ed322946f8973278c75ffb6af9", + "bec7a1f3fdae4c60a47fa4fbaa4341c4", + "a1b4148361c74a679efd26a0a8e27cf1", + "e0240510662a42fcba7c8a53d2156f9a", + "e6f3e379089742b085435fe8222cd4cb", + "ddc3ed591b674de4b95064a0388d9645", + "b41711442c9040be9e159513bb16ae90", + "2734f3ffcf0f4926954eff0310efba6e", + "6a8ff5cf24fd4ce5a18a63924b8f90b9", + "015464f6d7f642959edc4570375b69fa", + "3b75f2b4af6e43298a9a8b3aeccb3fb6", + "2184b2a79d56499dba51755900cd179a", + "150d707d8ea043678143420523bcad47", + "5ac059a87d06474ea88594883c2880af" + ] }, - "89fcf1a36aba4fc9bb7987efedd1f50e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } + "id": "5ZxUpR-njg20", + "outputId": "80cd97be-80d7-452b-9aa8-4fe208aa3abf" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading msmarco_passage index to /root/.pyterrier/corpora/msmarco_passage/index/terrier_stemmed_text\n" + ] }, - "f39b3f792b2e4489b7d65f0176046f46": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.7/dist-packages/pyterrier/datasets.py:278: UserWarning: Downloading index of > 2GB.\n", + " warn(\"Downloading index of > 2GB.\")\n" + ] }, - "e408c705e78d406fbf7620ca9c0baab8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "218b7a3cd33f4bdfb06ef8801685bd94", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "data.direct.bf: 0%| | 0.00/486M [00:00\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nameRR(rel=2)nDCG@10nDCG@100AP(rel=2)
0BM250.6415650.4795400.4874160.286448
1BM25 >> BiEncoder0.7933500.6053520.5499400.362597
2BM25 >> CrossEncoder0.9147290.7383780.6692710.488546
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " name RR(rel=2) nDCG@10 nDCG@100 AP(rel=2)\n", + "0 BM25 0.641565 0.479540 0.487416 0.286448\n", + "1 BM25 >> BiEncoder 0.793350 0.605352 0.549940 0.362597\n", + "2 BM25 >> CrossEncoder 0.914729 0.738378 0.669271 0.488546" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "from sentence_transformers import CrossEncoder, SentenceTransformer\n", + "crossmodel = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-12-v2', max_length=512)\n", + "bimodel = SentenceTransformer('paraphrase-MiniLM-L6-v2')\n", + "\n", + "def _crossencoder_apply(df : pd.DataFrame):\n", + " return crossmodel.predict(list(zip(df['query'].values, df['text'].values)))\n", + "\n", + "cross_encT = pt.apply.doc_score(_crossencoder_apply, batch_size=128)\n", + "\n", + "def _biencoder_apply(df : pd.DataFrame):\n", + " from sentence_transformers.util import cos_sim\n", + " query_embs = bimodel.encode(df['query'].values)\n", + " doc_embs = bimodel.encode(df['text'].values)\n", + " scores = cos_sim(query_embs, doc_embs)\n", + " return scores[0]\n", + "\n", + "bi_encT = pt.apply.doc_score(_biencoder_apply, batch_size=128)\n", + "\n", + "pt.Experiment(\n", + " [ bm25, bm25 >> bi_encT, bm25 >> cross_encT ],\n", + " dataset.get_topics(\"test-2019\"),\n", + " dataset.get_qrels(\"test-2019\"),\n", + " [RR(rel=2), nDCG@10, nDCG@100, AP(rel=2)],\n", + " names=[\"BM25\", \"BM25 >> BiEncoder\", \"BM25 >> CrossEncoder\"],\n", + " filter_by_qrels=True\n", + ")" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [] + }, + "gpuClass": "standard", + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "015464f6d7f642959edc4570375b69fa": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -700,98 +730,10 @@ "description_width": "" } }, - "089dbe78291f4f2692ca495a2aa34f24": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_9f088b7574474ea485d9bce9d947cf11", - "IPY_MODEL_0ab84ae40fee471bb6bd6bdcd8e7dfd9", - "IPY_MODEL_2766cdca725f4cf1a8cfb6e6da0b7008" - ], - "layout": "IPY_MODEL_093d65b2942c4460b2101dd0c4fe85e2" - } - }, - "9f088b7574474ea485d9bce9d947cf11": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0f3b37bee77f44a1a973e569bd7973fc", - "placeholder": "​", - "style": "IPY_MODEL_b9ac2d41b8a24d6f96926e96067e067f", - "value": "data.inverted.bf: 100%" - } - }, - "0ab84ae40fee471bb6bd6bdcd8e7dfd9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f489a5e3d18049c4a0b8257822f867f4", - "max": 395217401, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_377f42804bd44de2966d51ed31a818d0", - "value": 395217401 - } - }, - "2766cdca725f4cf1a8cfb6e6da0b7008": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_1249ee72fa8a4823b02e320425a5be0e", - "placeholder": "​", - "style": "IPY_MODEL_4b46b4932eef4c29b212aae36376d3a1", - "value": " 377M/377M [00:31<00:00, 11.3MiB/s]" - } - }, - "093d65b2942c4460b2101dd0c4fe85e2": { + "01ac5203e09e4cedbb8e4fa5f9163cd3": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -840,10 +782,10 @@ "width": null } }, - "0f3b37bee77f44a1a973e569bd7973fc": { + "024a169ee08a4ec6bacd36596efef0e2": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -892,10 +834,10 @@ "width": null } }, - "b9ac2d41b8a24d6f96926e96067e067f": { + "0374c8b3f6bc4a9ca8caea87a6f9419a": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -907,78 +849,32 @@ "description_width": "" } }, - "f489a5e3d18049c4a0b8257822f867f4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "377f42804bd44de2966d51ed31a818d0": { + "089dbe78291f4f2692ca495a2aa34f24": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HBoxModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9f088b7574474ea485d9bce9d947cf11", + "IPY_MODEL_0ab84ae40fee471bb6bd6bdcd8e7dfd9", + "IPY_MODEL_2766cdca725f4cf1a8cfb6e6da0b7008" + ], + "layout": "IPY_MODEL_093d65b2942c4460b2101dd0c4fe85e2" } }, - "1249ee72fa8a4823b02e320425a5be0e": { + "093d65b2942c4460b2101dd0c4fe85e2": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1017,57 +913,44 @@ "object_fit": null, "object_position": null, "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4b46b4932eef4c29b212aae36376d3a1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null } }, - "3eb0d16ae51c45a394f163d12c2c7a05": { + "0ab84ae40fee471bb6bd6bdcd8e7dfd9": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_c37c60cbee544de2ba912d18dd413000", - "IPY_MODEL_acd5381647e84da7848a96ba27b62249", - "IPY_MODEL_bfb086d7d3984652b705b88cc682bba9" - ], - "layout": "IPY_MODEL_cb474c965f224c5487239f09406c5d0d" + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f489a5e3d18049c4a0b8257822f867f4", + "max": 395217401, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_377f42804bd44de2966d51ed31a818d0", + "value": 395217401 } }, - "c37c60cbee544de2ba912d18dd413000": { + "0ac8cbd3f0ad4dd594789f04a2ac3475": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1079,16 +962,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_4728da4e842f4447929c89bbeb9300ad", + "layout": "IPY_MODEL_6f6d6240f5bd42ffbb34c145b7b9eb9d", "placeholder": "​", - "style": "IPY_MODEL_0374c8b3f6bc4a9ca8caea87a6f9419a", - "value": "data.lexicon.fsomapfile: 100%" + "style": "IPY_MODEL_dcb45eeb128d40158d91b98206189ada", + "value": " 1.91G/1.91G [02:33<00:00, 13.3MiB/s]" } }, - "acd5381647e84da7848a96ba27b62249": { + "0cbbe08ecc6847b1b8cad88ebb245b7c": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1101,39 +984,18 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_3f12e07efdf14237b45ddddedf88fe5e", - "max": 105361380, + "layout": "IPY_MODEL_4eb8ed3bcd0541c083dafd9cd962dd29", + "max": 43, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_a4d6d1e25aeb47b99b67f7e257d30661", - "value": 105361380 - } - }, - "bfb086d7d3984652b705b88cc682bba9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_8b97b6d489044b5fa1d6888db9b737a9", - "placeholder": "​", - "style": "IPY_MODEL_6cb1d33fa8724ee0b13940173978d376", - "value": " 100M/100M [00:10<00:00, 13.2MiB/s]" + "style": "IPY_MODEL_a736b5af49aa4a4486b469bd004aace2", + "value": 43 } }, - "cb474c965f224c5487239f09406c5d0d": { + "0f3b37bee77f44a1a973e569bd7973fc": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1182,10 +1044,62 @@ "width": null } }, - "4728da4e842f4447929c89bbeb9300ad": { + "0f56265797de4ab3a3304e107d569e66": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0fa579c7b0024774b8e13d93b62d39e2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5401553b36bc4876a804f07d8f981b9d", + "IPY_MODEL_42735f2ee712416e875563570bebe361", + "IPY_MODEL_9aec86dd6f9740a1951131c133b9f080" + ], + "layout": "IPY_MODEL_10096d930926427f831d1f82bfdfe522" + } + }, + "0fee4a0cd6914d0ea638f87435519569": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "10096d930926427f831d1f82bfdfe522": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1234,25 +1148,31 @@ "width": null } }, - "0374c8b3f6bc4a9ca8caea87a6f9419a": { + "1205a2fc76274245899d831dbb3918c0": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "HTMLModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_74bc199228ff49c490ad175d12912455", + "placeholder": "​", + "style": "IPY_MODEL_5925e860a5ef4d41837b3d5a10f424eb", + "value": " 295M/295M [00:24<00:00, 12.7MiB/s]" } }, - "3f12e07efdf14237b45ddddedf88fe5e": { + "1249ee72fa8a4823b02e320425a5be0e": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1301,26 +1221,10 @@ "width": null } }, - "a4d6d1e25aeb47b99b67f7e257d30661": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "8b97b6d489044b5fa1d6888db9b737a9": { + "150d707d8ea043678143420523bcad47": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1369,92 +1273,32 @@ "width": null } }, - "6cb1d33fa8724ee0b13940173978d376": { + "15596d4f6bf4465c840a7e53d07f33ac": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "418154ea6e744efb8f156054c9e10069": { - "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_19edd42f348a40d7a38eae7245ce2196", - "IPY_MODEL_47417bdc63fb42df8530bd09043a723e", - "IPY_MODEL_d0ccf3175ea64ae8b73b9234ca56a666" - ], - "layout": "IPY_MODEL_e8c19987146646d4a80a128cdb5ca6e9" - } - }, - "19edd42f348a40d7a38eae7245ce2196": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_01ac5203e09e4cedbb8e4fa5f9163cd3", - "placeholder": "​", - "style": "IPY_MODEL_29376e21f1144fd18e57d72df6504410", - "value": "data.lexicon.fsomaphash: 100%" - } - }, - "47417bdc63fb42df8530bd09043a723e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_1f7577b3657a4b65926fb14c8cba75d5", - "max": 1017, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_bab00606eff049fab023123a3bcb0b99", - "value": 1017 + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_bda3c6b9dcb14dfe9f11da63a95fa329", + "IPY_MODEL_0cbbe08ecc6847b1b8cad88ebb245b7c", + "IPY_MODEL_ff56a7417747407894f13e65b12204c9" + ], + "layout": "IPY_MODEL_a538100f85774661838dd1c725384ee9" } }, - "d0ccf3175ea64ae8b73b9234ca56a666": { + "17bb39ae5bce4bd49a353ea1a87b7b19": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1466,16 +1310,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_b71589ff1afb47928b9eabac6e682c30", + "layout": "IPY_MODEL_cc2aac2a66a64d4c88a08ff4ddb52630", "placeholder": "​", - "style": "IPY_MODEL_28199016470f4bc0afed1b9e203642ea", - "value": " 0.99k/0.99k [00:00<00:00, 23.4kiB/s]" + "style": "IPY_MODEL_9d9d69e6935b4988ad8e8903bb8861e5", + "value": " 486M/486M [00:39<00:00, 13.0MiB/s]" } }, - "e8c19987146646d4a80a128cdb5ca6e9": { + "18dc8300bcf74d319794d78d2cb741ad": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1524,10 +1368,31 @@ "width": null } }, - "01ac5203e09e4cedbb8e4fa5f9163cd3": { + "19edd42f348a40d7a38eae7245ce2196": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_01ac5203e09e4cedbb8e4fa5f9163cd3", + "placeholder": "​", + "style": "IPY_MODEL_29376e21f1144fd18e57d72df6504410", + "value": "data.lexicon.fsomaphash: 100%" + } + }, + "1c016ac19966461886213681ca34e5a4": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1576,25 +1441,34 @@ "width": null } }, - "29376e21f1144fd18e57d72df6504410": { + "1c485c5a82ed4bcc873c78d8a74ae2bd": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "FloatProgressModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e23c61f570014d96999c465793799f3e", + "max": 309463805, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_909dbf4d3def48f8b5aaf4a93ce380f9", + "value": 309463805 } }, - "1f7577b3657a4b65926fb14c8cba75d5": { + "1cc3b1d1b12e439bb7fb4674fbeb634b": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1643,26 +1517,10 @@ "width": null } }, - "bab00606eff049fab023123a3bcb0b99": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "b71589ff1afb47928b9eabac6e682c30": { + "1f7577b3657a4b65926fb14c8cba75d5": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1711,25 +1569,26 @@ "width": null } }, - "28199016470f4bc0afed1b9e203642ea": { + "2184b2a79d56499dba51755900cd179a": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", + "bar_color": null, "description_width": "" } }, - "329141c81f24431ea2d88910e6cec83e": { + "218b7a3cd33f4bdfb06ef8801685bd94": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1741,17 +1600,84 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_bf484d6c40f3438ca1fb07c856b935d1", - "IPY_MODEL_e8f15ecec79447fd97a0e485c8b30680", - "IPY_MODEL_676640ca6f634d18898f4acd606f97d2" + "IPY_MODEL_c35ec2f9b0c7485f9a1cf455a1d9f05d", + "IPY_MODEL_bf02afeeb5254857b06e3aafa4d62095", + "IPY_MODEL_17bb39ae5bce4bd49a353ea1a87b7b19" ], - "layout": "IPY_MODEL_802a5977534d42ba98e8b8a87e4522d0" + "layout": "IPY_MODEL_fde24410bd314aae85d131428839d8d2" } }, - "bf484d6c40f3438ca1fb07c856b935d1": { + "23b5ef54a181438196792eb9be0bfc05": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2734f3ffcf0f4926954eff0310efba6e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2766cdca725f4cf1a8cfb6e6da0b7008": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1763,16 +1689,31 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_602bcac8861649028d00ecfddda80c0f", + "layout": "IPY_MODEL_1249ee72fa8a4823b02e320425a5be0e", "placeholder": "​", - "style": "IPY_MODEL_0fee4a0cd6914d0ea638f87435519569", - "value": "data.lexicon.fsomapid: 100%" + "style": "IPY_MODEL_4b46b4932eef4c29b212aae36376d3a1", + "value": " 377M/377M [00:31<00:00, 11.3MiB/s]" } }, - "e8f15ecec79447fd97a0e485c8b30680": { + "28199016470f4bc0afed1b9e203642ea": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2822d64a8c8543329d549a0fee0301ed": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1785,39 +1726,48 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_7c440c66afd04da88a7f8c7d0e7ffe66", - "max": 4682728, + "layout": "IPY_MODEL_a0aa23872ec2419b8ade3484388cc3b6", + "max": 43, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_d953dcd8b0ba400ab0e4e5d1ed589344", - "value": 4682728 + "style": "IPY_MODEL_8df99e1b13e14dc0878a416c89811f88", + "value": 43 } }, - "676640ca6f634d18898f4acd606f97d2": { + "29376e21f1144fd18e57d72df6504410": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4c621c9a88fd4119aabcf3acbe6ddfc4", - "placeholder": "​", - "style": "IPY_MODEL_49c1491723b840c098add6978517b717", - "value": " 4.47M/4.47M [00:01<00:00, 3.67MiB/s]" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "29fa9943febc4aeaaa8734a82cfdf009": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "802a5977534d42ba98e8b8a87e4522d0": { + "309f44b572ff48be89c1cfa63072d96c": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1866,10 +1816,92 @@ "width": null } }, - "602bcac8861649028d00ecfddda80c0f": { + "329141c81f24431ea2d88910e6cec83e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_bf484d6c40f3438ca1fb07c856b935d1", + "IPY_MODEL_e8f15ecec79447fd97a0e485c8b30680", + "IPY_MODEL_676640ca6f634d18898f4acd606f97d2" + ], + "layout": "IPY_MODEL_802a5977534d42ba98e8b8a87e4522d0" + } + }, + "336e71f73f804d4fa9d8f0f46cdd3e3e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a6523b96009d4d0cb094c82645de8bfe", + "IPY_MODEL_7b8e2296261e4a73bd895ea474270b8e", + "IPY_MODEL_458b493efc474328a3b59dcd71f66f66" + ], + "layout": "IPY_MODEL_6162b37a85414de79eee0db04d82bcb1" + } + }, + "377f42804bd44de2966d51ed31a818d0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "37b20cf392ce438dbfff254e01f8d8d3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a334949416c24ee6bc38e2e573dd7d43", + "IPY_MODEL_8c4eaf2dfda841aa976381cadcba0603", + "IPY_MODEL_0ac8cbd3f0ad4dd594789f04a2ac3475" + ], + "layout": "IPY_MODEL_18dc8300bcf74d319794d78d2cb741ad" + } + }, + "382df08670ed472e80ad70ad14777718": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1918,25 +1950,10 @@ "width": null } }, - "0fee4a0cd6914d0ea638f87435519569": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7c440c66afd04da88a7f8c7d0e7ffe66": { + "3b75f2b4af6e43298a9a8b3aeccb3fb6": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1985,26 +2002,10 @@ "width": null } }, - "d953dcd8b0ba400ab0e4e5d1ed589344": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "4c621c9a88fd4119aabcf3acbe6ddfc4": { + "3be5143032bf4521a56950bf13ab8be8": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2053,25 +2054,10 @@ "width": null } }, - "49c1491723b840c098add6978517b717": { + "3eb0d16ae51c45a394f163d12c2c7a05": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ceb18bdf05554fc3aead77a536574893": { - "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -2083,83 +2069,17 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_82e65fde16d44959ab90b90c89edb2e9", - "IPY_MODEL_1c485c5a82ed4bcc873c78d8a74ae2bd", - "IPY_MODEL_1205a2fc76274245899d831dbb3918c0" + "IPY_MODEL_c37c60cbee544de2ba912d18dd413000", + "IPY_MODEL_acd5381647e84da7848a96ba27b62249", + "IPY_MODEL_bfb086d7d3984652b705b88cc682bba9" ], - "layout": "IPY_MODEL_382df08670ed472e80ad70ad14777718" - } - }, - "82e65fde16d44959ab90b90c89edb2e9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_426ae11a9d724cb48bfebf83e37a5506", - "placeholder": "​", - "style": "IPY_MODEL_23b5ef54a181438196792eb9be0bfc05", - "value": "data.meta-0.fsomapfile: 100%" - } - }, - "1c485c5a82ed4bcc873c78d8a74ae2bd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e23c61f570014d96999c465793799f3e", - "max": 309463805, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_909dbf4d3def48f8b5aaf4a93ce380f9", - "value": 309463805 - } - }, - "1205a2fc76274245899d831dbb3918c0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_74bc199228ff49c490ad175d12912455", - "placeholder": "​", - "style": "IPY_MODEL_5925e860a5ef4d41837b3d5a10f424eb", - "value": " 295M/295M [00:24<00:00, 12.7MiB/s]" + "layout": "IPY_MODEL_cb474c965f224c5487239f09406c5d0d" } }, - "382df08670ed472e80ad70ad14777718": { + "3f12e07efdf14237b45ddddedf88fe5e": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2208,10 +2128,48 @@ "width": null } }, + "40f7b8503d3c443a94d4838eb49b1c53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "418154ea6e744efb8f156054c9e10069": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_19edd42f348a40d7a38eae7245ce2196", + "IPY_MODEL_47417bdc63fb42df8530bd09043a723e", + "IPY_MODEL_d0ccf3175ea64ae8b73b9234ca56a666" + ], + "layout": "IPY_MODEL_e8c19987146646d4a80a128cdb5ca6e9" + } + }, "426ae11a9d724cb48bfebf83e37a5506": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2260,25 +2218,55 @@ "width": null } }, - "23b5ef54a181438196792eb9be0bfc05": { + "42735f2ee712416e875563570bebe361": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "FloatProgressModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_999e0acb1f0b46ffa58e95f719f651a4", + "max": 70734584, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_40f7b8503d3c443a94d4838eb49b1c53", + "value": 70734584 } }, - "e23c61f570014d96999c465793799f3e": { + "458b493efc474328a3b59dcd71f66f66": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_bcfec93867574354b6c326900b72906a", + "placeholder": "​", + "style": "IPY_MODEL_f2cc461f100347ea868ea7e080c3053c", + "value": " 177M/177M [00:14<00:00, 13.8MiB/s]" + } + }, + "46c4c41634c349a6b5e81fc1d19ee169": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2327,26 +2315,10 @@ "width": null } }, - "909dbf4d3def48f8b5aaf4a93ce380f9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "74bc199228ff49c490ad175d12912455": { + "4728da4e842f4447929c89bbeb9300ad": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2395,92 +2367,64 @@ "width": null } }, - "5925e860a5ef4d41837b3d5a10f424eb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "0fa579c7b0024774b8e13d93b62d39e2": { + "47417bdc63fb42df8530bd09043a723e": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_5401553b36bc4876a804f07d8f981b9d", - "IPY_MODEL_42735f2ee712416e875563570bebe361", - "IPY_MODEL_9aec86dd6f9740a1951131c133b9f080" - ], - "layout": "IPY_MODEL_10096d930926427f831d1f82bfdfe522" + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1f7577b3657a4b65926fb14c8cba75d5", + "max": 1017, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_bab00606eff049fab023123a3bcb0b99", + "value": 1017 } }, - "5401553b36bc4876a804f07d8f981b9d": { + "49c1491723b840c098add6978517b717": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d995b75485bb480aaf5a520d44c42270", - "placeholder": "​", - "style": "IPY_MODEL_85801883764b4d6f99c9093aa8f043fc", - "value": "data.meta.idx: 100%" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "42735f2ee712416e875563570bebe361": { + "4b46b4932eef4c29b212aae36376d3a1": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_999e0acb1f0b46ffa58e95f719f651a4", - "max": 70734584, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_40f7b8503d3c443a94d4838eb49b1c53", - "value": 70734584 + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "9aec86dd6f9740a1951131c133b9f080": { + "4c1f41e5b5484bf0a6df04705d230a6c": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -2492,16 +2436,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_d00a2ffadf664d02a8944896c89d268c", + "layout": "IPY_MODEL_bec7a1f3fdae4c60a47fa4fbaa4341c4", "placeholder": "​", - "style": "IPY_MODEL_d0e961fd370d4eba8d7121eefc47c2fa", - "value": " 67.5M/67.5M [00:07<00:00, 11.4MiB/s]" + "style": "IPY_MODEL_a1b4148361c74a679efd26a0a8e27cf1", + "value": " 4.33k/4.33k [00:00<00:00, 45.2kiB/s]" } }, - "10096d930926427f831d1f82bfdfe522": { + "4c621c9a88fd4119aabcf3acbe6ddfc4": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2550,10 +2494,10 @@ "width": null } }, - "d995b75485bb480aaf5a520d44c42270": { + "4eb8ed3bcd0541c083dafd9cd962dd29": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2602,10 +2546,46 @@ "width": null } }, - "85801883764b4d6f99c9093aa8f043fc": { + "5401553b36bc4876a804f07d8f981b9d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d995b75485bb480aaf5a520d44c42270", + "placeholder": "​", + "style": "IPY_MODEL_85801883764b4d6f99c9093aa8f043fc", + "value": "data.meta.idx: 100%" + } + }, + "5925e860a5ef4d41837b3d5a10f424eb": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5ac059a87d06474ea88594883c2880af": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -2617,10 +2597,10 @@ "description_width": "" } }, - "999e0acb1f0b46ffa58e95f719f651a4": { + "602bcac8861649028d00ecfddda80c0f": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2669,26 +2649,10 @@ "width": null } }, - "40f7b8503d3c443a94d4838eb49b1c53": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "d00a2ffadf664d02a8944896c89d268c": { + "6162b37a85414de79eee0db04d82bcb1": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2737,25 +2701,10 @@ "width": null } }, - "d0e961fd370d4eba8d7121eefc47c2fa": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "37b20cf392ce438dbfff254e01f8d8d3": { + "644607abe5a541e4a17fb7802d4beca5": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -2767,17 +2716,17 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_a334949416c24ee6bc38e2e573dd7d43", - "IPY_MODEL_8c4eaf2dfda841aa976381cadcba0603", - "IPY_MODEL_0ac8cbd3f0ad4dd594789f04a2ac3475" + "IPY_MODEL_c0c7c0f115b8427198c65723055c37b7", + "IPY_MODEL_2822d64a8c8543329d549a0fee0301ed", + "IPY_MODEL_944ed613141e4c51bb1d0c04c01dce6f" ], - "layout": "IPY_MODEL_18dc8300bcf74d319794d78d2cb741ad" + "layout": "IPY_MODEL_3be5143032bf4521a56950bf13ab8be8" } }, - "a334949416c24ee6bc38e2e573dd7d43": { + "64dc87794e944278bed879f4ddfe6af9": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -2789,40 +2738,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_309f44b572ff48be89c1cfa63072d96c", + "layout": "IPY_MODEL_7182cb2cffae4e609ad1dc31864b4f4a", "placeholder": "​", - "style": "IPY_MODEL_88d3a822e1034065afbe4366b9440f4b", - "value": "data.meta.zdata: 100%" + "style": "IPY_MODEL_0f56265797de4ab3a3304e107d569e66", + "value": "data.properties: 100%" } }, - "8c4eaf2dfda841aa976381cadcba0603": { + "676640ca6f634d18898f4acd606f97d2": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b36d0e26740240c9bec401bbb5961da7", - "max": 2050311017, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_fdd841cd1a93419b98d56a2fe6689c5b", - "value": 2050311017 - } - }, - "0ac8cbd3f0ad4dd594789f04a2ac3475": { - "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -2834,16 +2759,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_6f6d6240f5bd42ffbb34c145b7b9eb9d", + "layout": "IPY_MODEL_4c621c9a88fd4119aabcf3acbe6ddfc4", "placeholder": "​", - "style": "IPY_MODEL_dcb45eeb128d40158d91b98206189ada", - "value": " 1.91G/1.91G [02:33<00:00, 13.3MiB/s]" + "style": "IPY_MODEL_49c1491723b840c098add6978517b717", + "value": " 4.47M/4.47M [00:01<00:00, 3.67MiB/s]" } }, - "18dc8300bcf74d319794d78d2cb741ad": { + "6a8ff5cf24fd4ce5a18a63924b8f90b9": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2892,10 +2817,25 @@ "width": null } }, - "309f44b572ff48be89c1cfa63072d96c": { + "6cb1d33fa8724ee0b13940173978d376": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6f6d6240f5bd42ffbb34c145b7b9eb9d": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2944,25 +2884,10 @@ "width": null } }, - "88d3a822e1034065afbe4366b9440f4b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "b36d0e26740240c9bec401bbb5961da7": { + "7182cb2cffae4e609ad1dc31864b4f4a": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3011,26 +2936,10 @@ "width": null } }, - "fdd841cd1a93419b98d56a2fe6689c5b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "6f6d6240f5bd42ffbb34c145b7b9eb9d": { + "74bc199228ff49c490ad175d12912455": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3079,68 +2988,10 @@ "width": null } }, - "dcb45eeb128d40158d91b98206189ada": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "9a48f25b4d8f4622b0367090cd11b84c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_64dc87794e944278bed879f4ddfe6af9", - "IPY_MODEL_b9580a827df4429c9d17ea5805c89aee", - "IPY_MODEL_4c1f41e5b5484bf0a6df04705d230a6c" - ], - "layout": "IPY_MODEL_e549a697ecec451690e758a67c659c7d" - } - }, - "64dc87794e944278bed879f4ddfe6af9": { + "7b8e2296261e4a73bd895ea474270b8e": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7182cb2cffae4e609ad1dc31864b4f4a", - "placeholder": "​", - "style": "IPY_MODEL_0f56265797de4ab3a3304e107d569e66", - "value": "data.properties: 100%" - } - }, - "b9580a827df4429c9d17ea5805c89aee": { - "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -3153,39 +3004,18 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_c2d1e164c10f4c868e36e7d77dc27103", - "max": 4434, + "layout": "IPY_MODEL_d1bfffb8296a4097a20b723e8b448d05", + "max": 185678283, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_f58909ed322946f8973278c75ffb6af9", - "value": 4434 - } - }, - "4c1f41e5b5484bf0a6df04705d230a6c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_bec7a1f3fdae4c60a47fa4fbaa4341c4", - "placeholder": "​", - "style": "IPY_MODEL_a1b4148361c74a679efd26a0a8e27cf1", - "value": " 4.33k/4.33k [00:00<00:00, 45.2kiB/s]" + "style": "IPY_MODEL_f1f27bcdb44f4489bca4907af7671f0c", + "value": 185678283 } }, - "e549a697ecec451690e758a67c659c7d": { + "7c440c66afd04da88a7f8c7d0e7ffe66": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3234,10 +3064,10 @@ "width": null } }, - "7182cb2cffae4e609ad1dc31864b4f4a": { + "802a5977534d42ba98e8b8a87e4522d0": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3286,10 +3116,61 @@ "width": null } }, - "0f56265797de4ab3a3304e107d569e66": { + "82e65fde16d44959ab90b90c89edb2e9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_426ae11a9d724cb48bfebf83e37a5506", + "placeholder": "​", + "style": "IPY_MODEL_23b5ef54a181438196792eb9be0bfc05", + "value": "data.meta-0.fsomapfile: 100%" + } + }, + "85801883764b4d6f99c9093aa8f043fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "88d3a822e1034065afbe4366b9440f4b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "89fcf1a36aba4fc9bb7987efedd1f50e": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3301,10 +3182,10 @@ "description_width": "" } }, - "c2d1e164c10f4c868e36e7d77dc27103": { + "8b97b6d489044b5fa1d6888db9b737a9": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3353,10 +3234,50 @@ "width": null } }, - "f58909ed322946f8973278c75ffb6af9": { + "8c4eaf2dfda841aa976381cadcba0603": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b36d0e26740240c9bec401bbb5961da7", + "max": 2050311017, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_fdd841cd1a93419b98d56a2fe6689c5b", + "value": 2050311017 + } + }, + "8df99e1b13e14dc0878a416c89811f88": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "909dbf4d3def48f8b5aaf4a93ce380f9": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3369,10 +3290,10 @@ "description_width": "" } }, - "bec7a1f3fdae4c60a47fa4fbaa4341c4": { + "910fbf2904ec40a8b910d03cfffd1238": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3421,10 +3342,10 @@ "width": null } }, - "a1b4148361c74a679efd26a0a8e27cf1": { + "930ce8204a93416d82cb79674bd3a254": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3436,77 +3357,25 @@ "description_width": "" } }, - "e0240510662a42fcba7c8a53d2156f9a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_e6f3e379089742b085435fe8222cd4cb", - "IPY_MODEL_ddc3ed591b674de4b95064a0388d9645", - "IPY_MODEL_b41711442c9040be9e159513bb16ae90" - ], - "layout": "IPY_MODEL_2734f3ffcf0f4926954eff0310efba6e" - } - }, - "e6f3e379089742b085435fe8222cd4cb": { + "93174468db8f4621b7d00692767224f4": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6a8ff5cf24fd4ce5a18a63924b8f90b9", - "placeholder": "​", - "style": "IPY_MODEL_015464f6d7f642959edc4570375b69fa", - "value": "md5sums: 100%" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "ddc3ed591b674de4b95064a0388d9645": { + "944ed613141e4c51bb1d0c04c01dce6f": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3b75f2b4af6e43298a9a8b3aeccb3fb6", - "max": 537, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_2184b2a79d56499dba51755900cd179a", - "value": 537 - } - }, - "b41711442c9040be9e159513bb16ae90": { - "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -3518,16 +3387,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_150d707d8ea043678143420523bcad47", + "layout": "IPY_MODEL_1cc3b1d1b12e439bb7fb4674fbeb634b", "placeholder": "​", - "style": "IPY_MODEL_5ac059a87d06474ea88594883c2880af", - "value": " 537/537 [00:00<00:00, 7.93kiB/s]" + "style": "IPY_MODEL_93174468db8f4621b7d00692767224f4", + "value": " 43/43 [00:57<00:00, 1.41s/row]" } }, - "2734f3ffcf0f4926954eff0310efba6e": { + "999e0acb1f0b46ffa58e95f719f651a4": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3576,62 +3445,53 @@ "width": null } }, - "6a8ff5cf24fd4ce5a18a63924b8f90b9": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", + "9a48f25b4d8f4622b0367090cd11b84c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_64dc87794e944278bed879f4ddfe6af9", + "IPY_MODEL_b9580a827df4429c9d17ea5805c89aee", + "IPY_MODEL_4c1f41e5b5484bf0a6df04705d230a6c" + ], + "layout": "IPY_MODEL_e549a697ecec451690e758a67c659c7d" } }, - "015464f6d7f642959edc4570375b69fa": { + "9aec86dd6f9740a1951131c133b9f080": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d00a2ffadf664d02a8944896c89d268c", + "placeholder": "​", + "style": "IPY_MODEL_d0e961fd370d4eba8d7121eefc47c2fa", + "value": " 67.5M/67.5M [00:07<00:00, 11.4MiB/s]" + } + }, + "9d9d69e6935b4988ad8e8903bb8861e5": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3643,10 +3503,31 @@ "description_width": "" } }, - "3b75f2b4af6e43298a9a8b3aeccb3fb6": { + "9f088b7574474ea485d9bce9d947cf11": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0f3b37bee77f44a1a973e569bd7973fc", + "placeholder": "​", + "style": "IPY_MODEL_b9ac2d41b8a24d6f96926e96067e067f", + "value": "data.inverted.bf: 100%" + } + }, + "a0aa23872ec2419b8ade3484388cc3b6": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3695,10 +3576,46 @@ "width": null } }, - "2184b2a79d56499dba51755900cd179a": { + "a1b4148361c74a679efd26a0a8e27cf1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a334949416c24ee6bc38e2e573dd7d43": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_309f44b572ff48be89c1cfa63072d96c", + "placeholder": "​", + "style": "IPY_MODEL_88d3a822e1034065afbe4366b9440f4b", + "value": "data.meta.zdata: 100%" + } + }, + "a4d6d1e25aeb47b99b67f7e257d30661": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3711,10 +3628,10 @@ "description_width": "" } }, - "150d707d8ea043678143420523bcad47": { + "a538100f85774661838dd1c725384ee9": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3763,47 +3680,10 @@ "width": null } }, - "5ac059a87d06474ea88594883c2880af": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "644607abe5a541e4a17fb7802d4beca5": { + "a6523b96009d4d0cb094c82645de8bfe": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_c0c7c0f115b8427198c65723055c37b7", - "IPY_MODEL_2822d64a8c8543329d549a0fee0301ed", - "IPY_MODEL_944ed613141e4c51bb1d0c04c01dce6f" - ], - "layout": "IPY_MODEL_3be5143032bf4521a56950bf13ab8be8" - } - }, - "c0c7c0f115b8427198c65723055c37b7": { - "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -3815,61 +3695,56 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_910fbf2904ec40a8b910d03cfffd1238", + "layout": "IPY_MODEL_1c016ac19966461886213681ca34e5a4", "placeholder": "​", - "style": "IPY_MODEL_930ce8204a93416d82cb79674bd3a254", - "value": "pt.apply: 100%" + "style": "IPY_MODEL_fc96d0c270aa410290583e4955110cec", + "value": "data.document.fsarrayfile: 100%" } }, - "2822d64a8c8543329d549a0fee0301ed": { + "a736b5af49aa4a4486b469bd004aace2": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "ProgressStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a0aa23872ec2419b8ade3484388cc3b6", - "max": 43, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_8df99e1b13e14dc0878a416c89811f88", - "value": 43 + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" } }, - "944ed613141e4c51bb1d0c04c01dce6f": { + "acd5381647e84da7848a96ba27b62249": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", + "_view_name": "ProgressView", + "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_1cc3b1d1b12e439bb7fb4674fbeb634b", - "placeholder": "​", - "style": "IPY_MODEL_93174468db8f4621b7d00692767224f4", - "value": " 43/43 [00:57<00:00, 1.41s/row]" + "layout": "IPY_MODEL_3f12e07efdf14237b45ddddedf88fe5e", + "max": 105361380, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a4d6d1e25aeb47b99b67f7e257d30661", + "value": 105361380 } }, - "3be5143032bf4521a56950bf13ab8be8": { + "b36d0e26740240c9bec401bbb5961da7": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3918,10 +3793,31 @@ "width": null } }, - "910fbf2904ec40a8b910d03cfffd1238": { + "b41711442c9040be9e159513bb16ae90": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_150d707d8ea043678143420523bcad47", + "placeholder": "​", + "style": "IPY_MODEL_5ac059a87d06474ea88594883c2880af", + "value": " 537/537 [00:00<00:00, 7.93kiB/s]" + } + }, + "b71589ff1afb47928b9eabac6e682c30": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3970,10 +3866,34 @@ "width": null } }, - "930ce8204a93416d82cb79674bd3a254": { + "b9580a827df4429c9d17ea5805c89aee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c2d1e164c10f4c868e36e7d77dc27103", + "max": 4434, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f58909ed322946f8973278c75ffb6af9", + "value": 4434 + } + }, + "b9ac2d41b8a24d6f96926e96067e067f": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3985,10 +3905,26 @@ "description_width": "" } }, - "a0aa23872ec2419b8ade3484388cc3b6": { + "bab00606eff049fab023123a3bcb0b99": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "bcfec93867574354b6c326900b72906a": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4037,26 +3973,31 @@ "width": null } }, - "8df99e1b13e14dc0878a416c89811f88": { + "bda3c6b9dcb14dfe9f11da63a95fa329": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HTMLModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d8e75b9499f4451f8351cd7ae224b75d", + "placeholder": "​", + "style": "IPY_MODEL_29fa9943febc4aeaaa8734a82cfdf009", + "value": "pt.apply: 100%" } }, - "1cc3b1d1b12e439bb7fb4674fbeb634b": { + "bec7a1f3fdae4c60a47fa4fbaa4341c4": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4100,52 +4041,39 @@ "overflow_y": null, "padding": null, "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "93174468db8f4621b7d00692767224f4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" + "top": null, + "visibility": null, + "width": null } }, - "15596d4f6bf4465c840a7e53d07f33ac": { + "bf02afeeb5254857b06e3aafa4d62095": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_bda3c6b9dcb14dfe9f11da63a95fa329", - "IPY_MODEL_0cbbe08ecc6847b1b8cad88ebb245b7c", - "IPY_MODEL_ff56a7417747407894f13e65b12204c9" - ], - "layout": "IPY_MODEL_a538100f85774661838dd1c725384ee9" + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f39b3f792b2e4489b7d65f0176046f46", + "max": 509597655, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e408c705e78d406fbf7620ca9c0baab8", + "value": 509597655 } }, - "bda3c6b9dcb14dfe9f11da63a95fa329": { + "bf484d6c40f3438ca1fb07c856b935d1": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -4157,40 +4085,37 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_d8e75b9499f4451f8351cd7ae224b75d", + "layout": "IPY_MODEL_602bcac8861649028d00ecfddda80c0f", "placeholder": "​", - "style": "IPY_MODEL_29fa9943febc4aeaaa8734a82cfdf009", - "value": "pt.apply: 100%" + "style": "IPY_MODEL_0fee4a0cd6914d0ea638f87435519569", + "value": "data.lexicon.fsomapid: 100%" } }, - "0cbbe08ecc6847b1b8cad88ebb245b7c": { + "bfb086d7d3984652b705b88cc682bba9": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", + "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_4eb8ed3bcd0541c083dafd9cd962dd29", - "max": 43, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_a736b5af49aa4a4486b469bd004aace2", - "value": 43 + "layout": "IPY_MODEL_8b97b6d489044b5fa1d6888db9b737a9", + "placeholder": "​", + "style": "IPY_MODEL_6cb1d33fa8724ee0b13940173978d376", + "value": " 100M/100M [00:10<00:00, 13.2MiB/s]" } }, - "ff56a7417747407894f13e65b12204c9": { + "c0c7c0f115b8427198c65723055c37b7": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -4202,16 +4127,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_024a169ee08a4ec6bacd36596efef0e2", + "layout": "IPY_MODEL_910fbf2904ec40a8b910d03cfffd1238", "placeholder": "​", - "style": "IPY_MODEL_ff97475aa91b4648a5c3be86c063bf6a", - "value": " 43/43 [02:08<00:00, 2.95s/row]" + "style": "IPY_MODEL_930ce8204a93416d82cb79674bd3a254", + "value": "pt.apply: 100%" } }, - "a538100f85774661838dd1c725384ee9": { + "c2d1e164c10f4c868e36e7d77dc27103": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4260,10 +4185,52 @@ "width": null } }, - "d8e75b9499f4451f8351cd7ae224b75d": { + "c35ec2f9b0c7485f9a1cf455a1d9f05d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_46c4c41634c349a6b5e81fc1d19ee169", + "placeholder": "​", + "style": "IPY_MODEL_89fcf1a36aba4fc9bb7987efedd1f50e", + "value": "data.direct.bf: 100%" + } + }, + "c37c60cbee544de2ba912d18dd413000": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4728da4e842f4447929c89bbeb9300ad", + "placeholder": "​", + "style": "IPY_MODEL_0374c8b3f6bc4a9ca8caea87a6f9419a", + "value": "data.lexicon.fsomapfile: 100%" + } + }, + "cb474c965f224c5487239f09406c5d0d": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4312,25 +4279,10 @@ "width": null } }, - "29fa9943febc4aeaaa8734a82cfdf009": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "4eb8ed3bcd0541c083dafd9cd962dd29": { + "cc2aac2a66a64d4c88a08ff4ddb52630": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4379,26 +4331,32 @@ "width": null } }, - "a736b5af49aa4a4486b469bd004aace2": { + "ceb18bdf05554fc3aead77a536574893": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HBoxModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_82e65fde16d44959ab90b90c89edb2e9", + "IPY_MODEL_1c485c5a82ed4bcc873c78d8a74ae2bd", + "IPY_MODEL_1205a2fc76274245899d831dbb3918c0" + ], + "layout": "IPY_MODEL_382df08670ed472e80ad70ad14777718" } }, - "024a169ee08a4ec6bacd36596efef0e2": { + "d00a2ffadf664d02a8944896c89d268c": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4442,729 +4400,770 @@ "overflow_y": null, "padding": null, "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ff97475aa91b4648a5c3be86c063bf6a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - } - } - } - }, - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# MSMARCO Passage Reranking using PyTerrier and Sentence Transformers\n", - "\n", - "This notebook demonstrates the easy application of Sentence Transformers using PyTerrier." - ], - "metadata": { - "id": "NqDE3-xBkzsC" - } - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "ks_OLOPtja1O", - "outputId": "f112fc12-e2bf-4bab-d0db-523f8fd52ffa" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\u001b[K |████████████████████████████████| 102 kB 39.6 MB/s \n", - "\u001b[K |████████████████████████████████| 85 kB 4.9 MB/s \n", - "\u001b[K |████████████████████████████████| 1.3 MB 50.2 MB/s \n", - "\u001b[K |████████████████████████████████| 69 kB 8.2 MB/s \n", - "\u001b[K |████████████████████████████████| 311 kB 50.9 MB/s \n", - "\u001b[K |████████████████████████████████| 46 kB 3.9 MB/s \n", - "\u001b[K |████████████████████████████████| 286 kB 45.4 MB/s \n", - "\u001b[K |████████████████████████████████| 45 kB 3.4 MB/s \n", - "\u001b[K |████████████████████████████████| 72 kB 1.8 MB/s \n", - "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", - " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", - " Preparing wheel metadata ... \u001b[?25l\u001b[?25hdone\n", - "\u001b[K |████████████████████████████████| 294 kB 61.5 MB/s \n", - "\u001b[K |████████████████████████████████| 1.2 MB 56.1 MB/s \n", - "\u001b[K |████████████████████████████████| 126 kB 72.2 MB/s \n", - "\u001b[K |████████████████████████████████| 5.5 MB 51.8 MB/s \n", - "\u001b[K |████████████████████████████████| 1.3 MB 59.1 MB/s \n", - "\u001b[K |████████████████████████████████| 163 kB 67.8 MB/s \n", - "\u001b[K |████████████████████████████████| 7.6 MB 13.3 MB/s \n", - "\u001b[?25h Building wheel for python-terrier (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for ir-measures (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for cwl-eval (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for cbor (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for unlzw3 (PEP 517) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for warc3-wet-clueweb09 (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for sentence-transformers (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for chest (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for sklearn (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Building wheel for wget (setup.py) ... \u001b[?25l\u001b[?25hdone\n" - ] - } - ], - "source": [ - "%pip install -q python-terrier sentence-transformers" - ] - }, - { - "cell_type": "code", - "source": [ - "import pyterrier as pt\n", - "pt.init()\n", - "from pyterrier.measures import *" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" + "top": null, + "visibility": null, + "width": null + } }, - "id": "__lKfgQnjeqt", - "outputId": "666bbb26-345d-4dc0-a6c2-366adfe225fb" - }, - "execution_count": 2, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "terrier-assemblies 5.7 jar-with-dependencies not found, downloading to /root/.pyterrier...\n", - "Done\n", - "terrier-python-helper 0.0.7 jar not found, downloading to /root/.pyterrier...\n", - "Done\n" - ] + "d0ccf3175ea64ae8b73b9234ca56a666": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b71589ff1afb47928b9eabac6e682c30", + "placeholder": "​", + "style": "IPY_MODEL_28199016470f4bc0afed1b9e203642ea", + "value": " 0.99k/0.99k [00:00<00:00, 23.4kiB/s]" + } }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "PyTerrier 0.9.1 has loaded Terrier 5.7 (built by craigm on 2022-11-10 18:30) and terrier-helper 0.0.7\n", - "\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "## BM25\n", - "\n", - "We use a pre-built index for MSMARCO v1 passage corpus, obtained direct from the [Terrier data repository](http://data.terrier.org/). On Colab, this [particular index](http://data.terrier.org/msmarco_passage.dataset.html#terrier_stemmed_text) takes around 4 minutes to download." - ], - "metadata": { - "id": "hO_ItLzOk8dI" - } - }, - { - "cell_type": "code", - "source": [ - "bm25 = pt.BatchRetrieve.from_dataset('msmarco_passage', 'terrier_stemmed_text', wmodel='BM25', metadata=['docno', 'text'])" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 460, - "referenced_widgets": [ - "218b7a3cd33f4bdfb06ef8801685bd94", - "c35ec2f9b0c7485f9a1cf455a1d9f05d", - "bf02afeeb5254857b06e3aafa4d62095", - "17bb39ae5bce4bd49a353ea1a87b7b19", - "fde24410bd314aae85d131428839d8d2", - "46c4c41634c349a6b5e81fc1d19ee169", - "89fcf1a36aba4fc9bb7987efedd1f50e", - "f39b3f792b2e4489b7d65f0176046f46", - "e408c705e78d406fbf7620ca9c0baab8", - "cc2aac2a66a64d4c88a08ff4ddb52630", - "9d9d69e6935b4988ad8e8903bb8861e5", - "336e71f73f804d4fa9d8f0f46cdd3e3e", - "a6523b96009d4d0cb094c82645de8bfe", - "7b8e2296261e4a73bd895ea474270b8e", - "458b493efc474328a3b59dcd71f66f66", - "6162b37a85414de79eee0db04d82bcb1", - "1c016ac19966461886213681ca34e5a4", - "fc96d0c270aa410290583e4955110cec", - "d1bfffb8296a4097a20b723e8b448d05", - "f1f27bcdb44f4489bca4907af7671f0c", - "bcfec93867574354b6c326900b72906a", - "f2cc461f100347ea868ea7e080c3053c", - "089dbe78291f4f2692ca495a2aa34f24", - "9f088b7574474ea485d9bce9d947cf11", - "0ab84ae40fee471bb6bd6bdcd8e7dfd9", - "2766cdca725f4cf1a8cfb6e6da0b7008", - "093d65b2942c4460b2101dd0c4fe85e2", - "0f3b37bee77f44a1a973e569bd7973fc", - "b9ac2d41b8a24d6f96926e96067e067f", - "f489a5e3d18049c4a0b8257822f867f4", - "377f42804bd44de2966d51ed31a818d0", - "1249ee72fa8a4823b02e320425a5be0e", - "4b46b4932eef4c29b212aae36376d3a1", - "3eb0d16ae51c45a394f163d12c2c7a05", - "c37c60cbee544de2ba912d18dd413000", - "acd5381647e84da7848a96ba27b62249", - "bfb086d7d3984652b705b88cc682bba9", - "cb474c965f224c5487239f09406c5d0d", - "4728da4e842f4447929c89bbeb9300ad", - "0374c8b3f6bc4a9ca8caea87a6f9419a", - "3f12e07efdf14237b45ddddedf88fe5e", - "a4d6d1e25aeb47b99b67f7e257d30661", - "8b97b6d489044b5fa1d6888db9b737a9", - "6cb1d33fa8724ee0b13940173978d376", - "418154ea6e744efb8f156054c9e10069", - "19edd42f348a40d7a38eae7245ce2196", - "47417bdc63fb42df8530bd09043a723e", - "d0ccf3175ea64ae8b73b9234ca56a666", - "e8c19987146646d4a80a128cdb5ca6e9", - "01ac5203e09e4cedbb8e4fa5f9163cd3", - "29376e21f1144fd18e57d72df6504410", - "1f7577b3657a4b65926fb14c8cba75d5", - "bab00606eff049fab023123a3bcb0b99", - "b71589ff1afb47928b9eabac6e682c30", - "28199016470f4bc0afed1b9e203642ea", - "329141c81f24431ea2d88910e6cec83e", - "bf484d6c40f3438ca1fb07c856b935d1", - "e8f15ecec79447fd97a0e485c8b30680", - "676640ca6f634d18898f4acd606f97d2", - "802a5977534d42ba98e8b8a87e4522d0", - "602bcac8861649028d00ecfddda80c0f", - "0fee4a0cd6914d0ea638f87435519569", - "7c440c66afd04da88a7f8c7d0e7ffe66", - "d953dcd8b0ba400ab0e4e5d1ed589344", - "4c621c9a88fd4119aabcf3acbe6ddfc4", - "49c1491723b840c098add6978517b717", - "ceb18bdf05554fc3aead77a536574893", - "82e65fde16d44959ab90b90c89edb2e9", - "1c485c5a82ed4bcc873c78d8a74ae2bd", - "1205a2fc76274245899d831dbb3918c0", - "382df08670ed472e80ad70ad14777718", - "426ae11a9d724cb48bfebf83e37a5506", - "23b5ef54a181438196792eb9be0bfc05", - "e23c61f570014d96999c465793799f3e", - "909dbf4d3def48f8b5aaf4a93ce380f9", - "74bc199228ff49c490ad175d12912455", - "5925e860a5ef4d41837b3d5a10f424eb", - "0fa579c7b0024774b8e13d93b62d39e2", - "5401553b36bc4876a804f07d8f981b9d", - "42735f2ee712416e875563570bebe361", - "9aec86dd6f9740a1951131c133b9f080", - "10096d930926427f831d1f82bfdfe522", - "d995b75485bb480aaf5a520d44c42270", - "85801883764b4d6f99c9093aa8f043fc", - "999e0acb1f0b46ffa58e95f719f651a4", - "40f7b8503d3c443a94d4838eb49b1c53", - "d00a2ffadf664d02a8944896c89d268c", - "d0e961fd370d4eba8d7121eefc47c2fa", - "37b20cf392ce438dbfff254e01f8d8d3", - "a334949416c24ee6bc38e2e573dd7d43", - "8c4eaf2dfda841aa976381cadcba0603", - "0ac8cbd3f0ad4dd594789f04a2ac3475", - "18dc8300bcf74d319794d78d2cb741ad", - "309f44b572ff48be89c1cfa63072d96c", - "88d3a822e1034065afbe4366b9440f4b", - "b36d0e26740240c9bec401bbb5961da7", - "fdd841cd1a93419b98d56a2fe6689c5b", - "6f6d6240f5bd42ffbb34c145b7b9eb9d", - "dcb45eeb128d40158d91b98206189ada", - "9a48f25b4d8f4622b0367090cd11b84c", - "64dc87794e944278bed879f4ddfe6af9", - "b9580a827df4429c9d17ea5805c89aee", - "4c1f41e5b5484bf0a6df04705d230a6c", - "e549a697ecec451690e758a67c659c7d", - "7182cb2cffae4e609ad1dc31864b4f4a", - "0f56265797de4ab3a3304e107d569e66", - "c2d1e164c10f4c868e36e7d77dc27103", - "f58909ed322946f8973278c75ffb6af9", - "bec7a1f3fdae4c60a47fa4fbaa4341c4", - "a1b4148361c74a679efd26a0a8e27cf1", - "e0240510662a42fcba7c8a53d2156f9a", - "e6f3e379089742b085435fe8222cd4cb", - "ddc3ed591b674de4b95064a0388d9645", - "b41711442c9040be9e159513bb16ae90", - "2734f3ffcf0f4926954eff0310efba6e", - "6a8ff5cf24fd4ce5a18a63924b8f90b9", - "015464f6d7f642959edc4570375b69fa", - "3b75f2b4af6e43298a9a8b3aeccb3fb6", - "2184b2a79d56499dba51755900cd179a", - "150d707d8ea043678143420523bcad47", - "5ac059a87d06474ea88594883c2880af" - ] + "d0e961fd370d4eba8d7121eefc47c2fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d1bfffb8296a4097a20b723e8b448d05": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - "id": "5ZxUpR-njg20", - "outputId": "80cd97be-80d7-452b-9aa8-4fe208aa3abf" - }, - "execution_count": 3, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Downloading msmarco_passage index to /root/.pyterrier/corpora/msmarco_passage/index/terrier_stemmed_text\n" - ] + "d8e75b9499f4451f8351cd7ae224b75d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "/usr/local/lib/python3.7/dist-packages/pyterrier/datasets.py:278: UserWarning: Downloading index of > 2GB.\n", - " warn(\"Downloading index of > 2GB.\")\n" - ] + "d953dcd8b0ba400ab0e4e5d1ed589344": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "data.direct.bf: 0%| | 0.00/486M [00:00> bi_encT, bm25 >> cross_encT ],\n", - " dataset.get_topics(\"test-2019\"),\n", - " dataset.get_qrels(\"test-2019\"),\n", - " [RR(rel=2), nDCG@10, nDCG@100, AP(rel=2)],\n", - " names=[\"BM25\", \"BM25 >> BiEncoder\", \"BM25 >> CrossEncoder\"],\n", - " filter_by_qrels=True\n", - ")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 207, - "referenced_widgets": [ - "644607abe5a541e4a17fb7802d4beca5", - "c0c7c0f115b8427198c65723055c37b7", - "2822d64a8c8543329d549a0fee0301ed", - "944ed613141e4c51bb1d0c04c01dce6f", - "3be5143032bf4521a56950bf13ab8be8", - "910fbf2904ec40a8b910d03cfffd1238", - "930ce8204a93416d82cb79674bd3a254", - "a0aa23872ec2419b8ade3484388cc3b6", - "8df99e1b13e14dc0878a416c89811f88", - "1cc3b1d1b12e439bb7fb4674fbeb634b", - "93174468db8f4621b7d00692767224f4", - "15596d4f6bf4465c840a7e53d07f33ac", - "bda3c6b9dcb14dfe9f11da63a95fa329", - "0cbbe08ecc6847b1b8cad88ebb245b7c", - "ff56a7417747407894f13e65b12204c9", - "a538100f85774661838dd1c725384ee9", - "d8e75b9499f4451f8351cd7ae224b75d", - "29fa9943febc4aeaaa8734a82cfdf009", - "4eb8ed3bcd0541c083dafd9cd962dd29", - "a736b5af49aa4a4486b469bd004aace2", - "024a169ee08a4ec6bacd36596efef0e2", - "ff97475aa91b4648a5c3be86c063bf6a" - ] + "fdd841cd1a93419b98d56a2fe6689c5b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } }, - "id": "pYM3VCONjhb_", - "outputId": "4ff52fe9-623a-459e-bf6d-76151e44fcb6" - }, - "execution_count": 7, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "pt.apply: 0%| | 0/43 [00:00> BiEncoder 0.793350 0.605352 0.549940 0.362597\n", - "2 BM25 >> CrossEncoder 0.914729 0.738378 0.669271 0.488546" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
nameRR(rel=2)nDCG@10nDCG@100AP(rel=2)
0BM250.6415650.4795400.4874160.286448
1BM25 >> BiEncoder0.7933500.6053520.5499400.362597
2BM25 >> CrossEncoder0.9147290.7383780.6692710.488546
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {}, - "execution_count": 7 + "ff97475aa91b4648a5c3be86c063bf6a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } } - ] + } } - ] -} \ No newline at end of file + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 660b100b..44474f28 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,7 +1,7 @@ # java stuff from pyterrier.terrier import java from pyterrier.terrier.java import configure, set_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version -from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve, TextScorer +from pyterrier.terrier.retrieve import Retrieve, FeaturesRetrieve, TextScorer from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier.stemmer import TerrierStemmer from pyterrier.terrier.tokeniser import TerrierTokeniser @@ -9,16 +9,19 @@ from pyterrier.terrier import index from pyterrier.terrier.index import TerrierIndexer, FilesIndexer, TRECCollectionIndexer, DFIndexer, DFIndexUtils, IterDictIndexer, IndexingType, treccollection2textgen from pyterrier.terrier import rewrite +from deprecated import deprecated -TerrierRetrieve = BatchRetrieve # BatchRetrieve is an alias to TerrierRetrieve +TerrierRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retrieve() instead")(Retrieve) +BatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retrieve() instead")(Retrieve) +FeaturesBatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.FeaturesRetrieve() instead")(FeaturesRetrieve) __all__ = [ # java stuff 'java', 'configure', 'set_version', 'set_helper_version', 'enable_prf', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', # retrieval - 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'TextScorer', + 'Retrieve', 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesRetrieve', 'FeaturesBatchRetrieve', 'TerrierRetrieve', 'TextScorer', # indexing 'index', 'TerrierIndexer', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'treccollection2textgen', diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 326eaaa5..ce200242 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -384,7 +384,7 @@ def _new_callable_wmodel(byterep): #we need to prevent these functions from being GCd. global _SAVED_FNS _SAVED_FNS.append(fn) - callback, wmodel = pt.terrier.retriever._function2wmodel(fn) + callback, wmodel = pt.terrier.retrieve._function2wmodel(fn) _SAVED_FNS.append(callback) #print("Stored lambda fn %s and callback in SAVED_FNS, now %d stored" % (str(fn), len(SAVED_FNS))) return wmodel diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retrieve.py similarity index 94% rename from pyterrier/terrier/retriever.py rename to pyterrier/terrier/retrieve.py index 51351c23..1f0bd6fd 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retrieve.py @@ -1,6 +1,7 @@ from typing import Union import pandas as pd import numpy as np +from deprecated import deprecated from warnings import warn from pyterrier.datasets import Dataset from pyterrier.transformer import Symbol @@ -104,19 +105,25 @@ def _from_dataset(dataset : Union[str,Dataset], indexref = dataset.get_index(variant) classname = clz.__name__ - # now look for, e.g., BatchRetrieve.args.json file, which will define the args for BatchRetrieve, e.g. stemming - indexdir = indexref #os.path.dirname(indexref.toString()) - argsfile = os.path.join(indexdir, classname + ".args.json") - if os.path.exists(argsfile): - with autoopen(argsfile, "rt") as f: - args = json.load(f) - # anything specified in kwargs of this methods overrides the .args.json file - args.update(kwargs) - kwargs = args - return clz(indexref, **kwargs) + classnames = [classname] + if classname == 'Retrieve': + classnames.append('BatchRetrieve') + # we need to look for BatchRetrievel.args.json for legacy support + for c in classnames: + # now look for, e.g., BatchRetrieve.args.json file, which will define the args for Retrieve, e.g. stemming + indexdir = indexref #os.path.dirname(indexref.toString()) + argsfile = os.path.join(indexdir, classname + ".args.json") + if os.path.exists(argsfile): + with autoopen(argsfile, "rt") as f: + args = json.load(f) + # anything specified in kwargs of this methods overrides the .args.json file + args.update(kwargs) + kwargs = args + return clz(indexref, **kwargs) + raise ValueError("No .args.json files found for %s" % str(classnames)) @pt.java.required -class BatchRetrieve(BatchRetrieveBase): +class Retrieve(BatchRetrieveBase): """ Use this class for retrieval by Terrier """ @@ -143,15 +150,15 @@ def from_dataset(dataset : Union[str,Dataset], version='latest', **kwargs): """ - Instantiates a BatchRetrieve object from a pre-built index access via a dataset. + Instantiates a Retrieve object from a pre-built index access via a dataset. Pre-built indices are ofen provided via the `Terrier Data Repository `_. Examples:: dataset = pt.get_dataset("vaswani") - bm25 = pt.BatchRetrieve.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") + bm25 = pt.terrier.Retrieve.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") #or - bm25 = pt.BatchRetrieve.from_dataset("vaswani", "terrier_stemmed", wmodel="BM25") + bm25 = pt.terrier.Retrieve.from_dataset("vaswani", "terrier_stemmed", wmodel="BM25") **Index Variants**: @@ -163,7 +170,7 @@ def from_dataset(dataset : Union[str,Dataset], - `terrier_unstemmed_text` - as per `terrier_stemmed`, but also containing the raw text of the documents """ - return _from_dataset(dataset, variant=variant, version=version, clz=BatchRetrieve, **kwargs) + return _from_dataset(dataset, variant=variant, version=version, clz=Retrieve, **kwargs) #: default_controls(dict): stores the default controls default_controls = { @@ -200,7 +207,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do """ super().__init__(kwargs) self.indexref = _parse_index_like(index_location) - self.properties = _mergeDicts(BatchRetrieve.default_properties, properties) + self.properties = _mergeDicts(Retrieve.default_properties, properties) self.concurrentIL = pt.java.autoclass("org.terrier.structures.ConcurrentIndexLoader") if pt.terrier.check_version(5.5) and "SimpleDecorateProcess" not in self.properties["querying.processes"]: self.properties["querying.processes"] += ",decorate:SimpleDecorateProcess" @@ -212,7 +219,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do for key, value in self.properties.items(): pt.terrier.J.ApplicationSetup.setProperty(str(key), str(value)) - self.controls = _mergeDicts(BatchRetrieve.default_controls, controls) + self.controls = _mergeDicts(Retrieve.default_controls, controls) if wmodel is not None: from pyterrier.transformer import is_lambda, is_function if isinstance(wmodel, str): @@ -456,7 +463,6 @@ def setControls(self, controls): def setControl(self, control, value): self.controls[str(control)] = str(value) - @pt.java.required class TextIndexProcessor(pt.Transformer): ''' @@ -576,21 +582,21 @@ class TextScorer(TextIndexProcessor): """ def __init__(self, takes="docs", **kwargs): - super().__init__(BatchRetrieve, takes=takes, **kwargs) + super().__init__(Retrieve, takes=takes, **kwargs) @pt.java.required -class FeaturesBatchRetrieve(BatchRetrieve): +class FeaturesRetrieve(Retrieve): """ Use this class for retrieval with multiple features """ #: FBR_default_controls(dict): stores the default properties for a FBR - FBR_default_controls = BatchRetrieve.default_controls.copy() + FBR_default_controls = Retrieve.default_controls.copy() FBR_default_controls["matching"] = "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull" del FBR_default_controls["wmodel"] #: FBR_default_properties(dict): stores the default properties - FBR_default_properties = BatchRetrieve.default_properties.copy() + FBR_default_properties = Retrieve.default_properties.copy() def __init__(self, index_location, features, controls=None, properties=None, threads=1, **kwargs): """ @@ -604,8 +610,8 @@ def __init__(self, index_location, features, controls=None, properties=None, thr verbose(bool): If True transform method will display progress num_results(int): Number of results to retrieve. """ - controls = _mergeDicts(FeaturesBatchRetrieve.FBR_default_controls, controls) - properties = _mergeDicts(FeaturesBatchRetrieve.FBR_default_properties, properties) + controls = _mergeDicts(FeaturesRetrieve.FBR_default_controls, controls) + properties = _mergeDicts(FeaturesRetrieve.FBR_default_properties, properties) self.features = features properties["fat.featured.scoring.matching.features"] = ";".join(features) @@ -658,14 +664,14 @@ def from_dataset(dataset : Union[str,Dataset], variant : str = None, version='latest', **kwargs): - return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesBatchRetrieve, **kwargs) + return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesRetrieve, **kwargs) @staticmethod def from_dataset(dataset : Union[str,Dataset], variant : str = None, version='latest', **kwargs): - return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesBatchRetrieve, **kwargs) + return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesRetrieve, **kwargs) def transform(self, queries): """ @@ -803,9 +809,9 @@ def setup_rewrites(): y = Wildcard.dot('y') z = Wildcard.dot('z') # two different match retrives - _br1 = Wildcard.symbol('_br1', BatchRetrieve) - _br2 = Wildcard.symbol('_br2', BatchRetrieve) - _fbr = Wildcard.symbol('_fbr', FeaturesBatchRetrieve) + _br1 = Wildcard.symbol('_br1', Retrieve) + _br2 = Wildcard.symbol('_br2', Retrieve) + _fbr = Wildcard.symbol('_fbr', FeaturesRetrieve) # batch retrieves for the same index BR_index_matches = CustomConstraint(lambda _br1, _br2: _br1.indexref == _br2.indexref) @@ -842,7 +848,7 @@ def setup_rewrites(): # rewrite batch a feature union of BRs into an FBR rewrite_rules.append(ReplacementRule( Pattern(FeatureUnionPipeline(_br1, _br2), BR_index_matches), - lambda _br1, _br2: FeaturesBatchRetrieve(_br1.indexref, ["WMODEL:" + _br1.controls["wmodel"], "WMODEL:" + _br2.controls["wmodel"]]) + lambda _br1, _br2: FeaturesRetrieve(_br1.indexref, ["WMODEL:" + _br1.controls["wmodel"], "WMODEL:" + _br2.controls["wmodel"]]) )) def push_fbr_earlier(_br1, _fbr): diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index bdf41665..ebf3275e 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -178,7 +178,7 @@ def __init__(self, index_like, fb_terms=10, fb_docs=3, qeclass="org.terrier.quer self.qe = pt.java.autoclass(qeclass)() else: self.qe = qeclass - self.indexref = pt.terrier.retriever._parse_index_like(index_like) + self.indexref = pt.terrier.retrieve._parse_index_like(index_like) self.properties = properties for k,v in properties.items(): pt.terrier.J.ApplicationSetup.setProperty(k, str(v)) diff --git a/pyterrier/text.py b/pyterrier/text.py index 9cb730f0..1d622b06 100644 --- a/pyterrier/text.py +++ b/pyterrier/text.py @@ -160,7 +160,7 @@ def scorer(*args, **kwargs) -> pt.Transformer: textscorerTfIdf = pt.text.scorer(body_attr="text", wmodel="TF_IDF", background_index=index) """ - return pt.terrier.retriever.TextScorer(*args, **kwargs) + return pt.terrier.retrieve.TextScorer(*args, **kwargs) def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='title', tokenizer=None, **kwargs) -> pt.Transformer: r""" diff --git a/tests/test_dunder.py b/tests/test_dunder.py index d6fb5af9..8419561f 100644 --- a/tests/test_dunder.py +++ b/tests/test_dunder.py @@ -9,7 +9,7 @@ def test_callable_wmodel_dunders(self): testPosting = pt.java.autoclass("org.terrier.structures.postings.BasicPostingImpl")(0,1) lambdafn = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() - callback, wmodel = pt.terrier.retriever._function2wmodel(lambdafn) + callback, wmodel = pt.terrier.retrieve._function2wmodel(lambdafn) byterep = pt.java.bytebuffer_to_array(wmodel.scoringClass.serializeFn()) import dill as pickle diff --git a/tests/test_operators.py b/tests/test_operators.py index 810fd8b0..d25c5de2 100644 --- a/tests/test_operators.py +++ b/tests/test_operators.py @@ -337,7 +337,7 @@ def test_feature_union_multi(self): self.assertEqual(2, len(mock12a.models)) self.assertEqual(2, len(mock12a.models)) - pt.terrier.retriever.setup_rewrites() + pt.terrier.retrieve.setup_rewrites() mock123_simple = mock123a.compile() self.assertIsNotNone(mock123_simple) diff --git a/tests/test_scoring.py b/tests/test_scoring.py index c30663bc..23647e5d 100644 --- a/tests/test_scoring.py +++ b/tests/test_scoring.py @@ -39,7 +39,7 @@ def _test_scoring_text(self, dataset, index, wmodel): output1 = br1(input) self.assertTrue( "body" in output1.columns ) input2 = output1[["qid", "query", "docno", "body"]] - br2 = pt.terrier.retriever.TextScorer(background_index=index, wmodel=wmodel, verbose=True) + br2 = pt.terrier.TextScorer(background_index=index, wmodel=wmodel, verbose=True) output2 = br2(input2) self.assertTrue( "score" in output2.columns ) @@ -52,7 +52,7 @@ def _test_scoring_text(self, dataset, index, wmodel): def test_scoring_manual_empty(self): input = pd.DataFrame([["q1", "fox", "d1", ""]], columns=["qid", "query", "docno", "body"]) - from pyterrier.terrier.retriever import TextScorer + from pyterrier.terrier.retrieve import TextScorer scorer = TextScorer(wmodel="Tf") rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -62,7 +62,7 @@ def test_scoring_manual_empty(self): def test_scoring_manual(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - from pyterrier.terrier.retriever import TextScorer + from pyterrier.terrier.retrieve import TextScorer scorer = TextScorer(wmodel="Tf") rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -78,7 +78,7 @@ def test_scoring_manual(self): def test_scoring_manual_background(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - from pyterrier.terrier.retriever import TextScorer + from pyterrier.terrier.retrieve import TextScorer scorer = TextScorer(wmodel="Tf", background_index=pt.get_dataset("vaswani").get_index()) rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -94,7 +94,7 @@ def test_scoring_manual_background(self): def test_scoring_qe(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - scorer = pt.terrier.retriever.TextIndexProcessor(pt.rewrite.Bo1QueryExpansion, takes="docs", returns="queries") + scorer = pt.terrier.retrieve.TextIndexProcessor(pt.rewrite.Bo1QueryExpansion, takes="docs", returns="queries") rtr = scorer(input) self.assertTrue("qid" in rtr.columns) self.assertTrue("query" in rtr.columns) From 71c374e788dc48504c131df34aca0bfc093cb5cf Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 7 Aug 2024 13:19:32 +0100 Subject: [PATCH 127/153] update README examples --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fe00370b..a33fd144 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ See the [indexing documentation](https://pyterrier.readthedocs.io/en/latest/terr ```python topics = pt.io.read_topics(topicsFile) qrels = pt.io.read_qrels(qrelsFile) -BM25_br = pt.BatchRetrieve(index, wmodel="BM25") +BM25_br = pt.terrier.Retrieve(index, wmodel="BM25") res = BM25_br.transform(topics) pt.Evaluate(res, qrels, metrics = ['map']) ``` @@ -56,7 +56,7 @@ There is a worked example in the [experiment notebook](examples/notebooks/experi PyTerrier makes it easy to develop complex retrieval pipelines using Python operators such as `>>` to chain different retrieval components. Each retrieval approach is a [transformer](https://pyterrier.readthedocs.io/en/latest/transformer.html), having one key method, `transform()`, which takes a single Pandas dataframe as input, and returns another dataframe. Two examples might encapsulate applying the sequential dependence model, or a query expansion process: ```python -sdm_bm25 = pt.rewrite.SDM() >> pt.BatchRetrieve(indexref, wmodel="BM25") +sdm_bm25 = pt.rewrite.SDM() >> pt.terrier.Retrieve(indexref, wmodel="BM25") bo1_qe = BM25_br >> pt.rewrite.Bo1QueryExpansion() >> BM25_br ``` @@ -83,8 +83,8 @@ You can see examples of how to use these, including notebooks that run on Google Complex learning to rank pipelines, including for learning-to-rank, can be constructed using PyTerrier's operator language. For example, to combine two features and make them available for learning, we can use the `**` operator. ```python two_features = BM25_br >> ( - pt.BatchRetrieve(indexref, wmodel="DirichletLM") ** - pt.BatchRetrieve(indexref, wmodel="PL2") + pt.terrier.Retrieve(indexref, wmodel="DirichletLM") ** + pt.terrier.Retrieve(indexref, wmodel="PL2") ) ``` From 81ba34f217dd599111bc0a758357bcb52ec3cab9 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 7 Aug 2024 13:27:52 +0100 Subject: [PATCH 128/153] udpate all references to BatchRetrieve in the documentation --- docs/anserini.rst | 4 +- docs/apply.rst | 4 +- docs/datamodel.md | 2 +- docs/datasets.rst | 12 +++--- docs/experiments.rst | 4 +- docs/extras/generate_includes.py | 4 +- docs/ltr.rst | 8 ++-- docs/operators.rst | 2 +- docs/parallel.rst | 16 +++---- docs/pipeline_examples.md | 36 ++++++++-------- docs/rewrite.rst | 14 +++--- docs/terrier-index-api.rst | 2 +- docs/terrier-indexing.rst | 4 +- docs/text.rst | 6 +-- docs/transformer.rst | 2 +- docs/tuning.rst | 8 ++-- examples/experiments/Robust04.ipynb | 52 +++++++++++------------ examples/notebooks/experiment.ipynb | 6 +-- examples/notebooks/indexing.ipynb | 4 +- examples/notebooks/non_en_retrieval.ipynb | 6 +-- pyterrier/apply.py | 14 +++--- pyterrier/apply_base.py | 12 +++--- pyterrier/cache.py | 2 +- pyterrier/ltr.py | 6 +-- pyterrier/ops.py | 6 +-- pyterrier/pipelines.py | 4 +- pyterrier/terrier/rewrite.py | 16 +++---- pyterrier/text.py | 8 ++-- pyterrier/transformer.py | 6 +-- 29 files changed, 135 insertions(+), 135 deletions(-) diff --git a/docs/anserini.rst b/docs/anserini.rst index 41fecfa0..f65c12b4 100644 --- a/docs/anserini.rst +++ b/docs/anserini.rst @@ -16,7 +16,7 @@ Comparative retrieval from Anserini and Terrier:: trIndex = "/path/to/data.properties" luceneIndex "/path/to/lucene-index-dir" - BM25_tr = pt.BatchRetrieve(trIndex, wmodel="BM25") + BM25_tr = pt.terrier.Retrieve(trIndex, wmodel="BM25") BM25_ai = pt.anserini.AnseriniBatchRetrieve(luceneIndex, wmodel="BM25") pt.Experiment([BM25_tr, BM25_ai], topics, qrels, eval_metrics=["map"]) @@ -24,7 +24,7 @@ Comparative retrieval from Anserini and Terrier:: AnseriniBatchRetrieve can also be used as a re-ranker:: - BM25_tr = pt.BatchRetrieve(trIndex, wmodel="BM25") + BM25_tr = pt.terrrier.Retrieve(trIndex, wmodel="BM25") QLD_ai = pt.anserini.AnseriniBatchRetrieve(luceneIndex, wmodel="QLD") pipe = BM25_tr >> QLD_ai diff --git a/docs/apply.rst b/docs/apply.rst index 6880b2bf..937ce10a 100644 --- a/docs/apply.rst +++ b/docs/apply.rst @@ -85,9 +85,9 @@ Its also possible to construct a transformer that makes a new column on a row-wi For instance, if the column you are creating is called rank_2, it might be created as follows:: - pipe = pt.BatchRetrieve(index) >> pt.apply.rank_2(lambda row: row["rank"] * 2) + pipe = pt.terrrier.Retrieve(index) >> pt.apply.rank_2(lambda row: row["rank"] * 2) To create a transformer that drops a column, you can instead pass `drop=True` as a kwarg:: - pipe = pt.BatchRetrieve(index, metadata=["docno", "text"] >> pt.text.scorer() >> pt.apply.text(drop=True) + pipe = pt.terrrier.Retrieve(index, metadata=["docno", "text"] >> pt.text.scorer() >> pt.apply.text(drop=True) diff --git a/docs/datamodel.md b/docs/datamodel.md index d74a7c21..275c7324 100644 --- a/docs/datamodel.md +++ b/docs/datamodel.md @@ -51,7 +51,7 @@ A dataframe representing which documents are retrieved and scored for a given qu Note that rank is computed by sorting by qid ascending, then score descending. The first rank for each query is 0. The `pyterrier.model.add_rank()` function is used for adding the rank column. -Optional columns might support additional transformers, such as text (for the contents of the documents), url or title columns. Their presence can facilitate more advanced transformers, such as BERT-based transformers which operate on the raw text of the documents. For instance, if the Terrier index has additional metadata attributes, these can be included by BatchRetrieve using the `metadata` kwarg, i.e. `pt.BatchRetrieve(index, metadata=["docno", "title", "body"])`. +Optional columns might support additional transformers, such as text (for the contents of the documents), url or title columns. Their presence can facilitate more advanced transformers, such as BERT-based transformers which operate on the raw text of the documents. For instance, if the Terrier index has additional metadata attributes, these can be included by BatchRetrieve using the `metadata` kwarg, i.e. `pt.terrier.Retrieve(index, metadata=["docno", "title", "body"])`. Note that the retrieved documents is a subset of the cartesian product of documents and queries; it is important that the query (text) attribute is present for at least ONE document rather than all documents for a given query. diff --git a/docs/datasets.rst b/docs/datasets.rst index 6490943b..249f4e71 100644 --- a/docs/datasets.rst +++ b/docs/datasets.rst @@ -27,8 +27,8 @@ Many of the PyTerrier unit tests are based on the `Vaswani NPL test collection < PyTerrier provides a ready-made index on the `Terrier Data Repository `_. This allows experiments to be easily conducted:: dataset = pt.get_dataset("vaswani") - bm25 = pt.BatchRetrieve.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") - dph = pt.BatchRetrieve.from_dataset(dataset, "terrier_stemmed", wmodel="DPH") + bm25 = pt.terrier.Retrieve.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") + dph = pt.terrier.Retrieve.from_dataset(dataset, "terrier_stemmed", wmodel="DPH") pt.Experiment( [bm25, dph], dataset.get_topics(), @@ -44,8 +44,8 @@ Indexing and then retrieval of documents from the `MSMARCO document corpus > (tf ** pl2) The output of the bm25 ranker would look like: diff --git a/docs/operators.rst b/docs/operators.rst index 164aefde..7d128259 100644 --- a/docs/operators.rst +++ b/docs/operators.rst @@ -187,7 +187,7 @@ Rank Cutoff (`%`) The `%` operator is called rank cutoff, and limits the number of results for each query:: - pipe1 = pt.BatchRetrieve(index, "BM25") % 2 + pipe1 = pt.terrier.Retrieve(index, "BM25") % 2 **Example:** diff --git a/docs/parallel.rst b/docs/parallel.rst index 0fd32782..62e3b11e 100644 --- a/docs/parallel.rst +++ b/docs/parallel.rst @@ -26,7 +26,7 @@ Parallelisation using Joblib A transformer pipeline can be parallelised by using the .parallel() transformer method:: - dph = pt.BatchRetrieve(index, wmodel='DPH') + dph = pt.terrier.Retrieve(index, wmodel='DPH') dph_fast = dph.parallel(2) In this way, any set of queries passed to dph_fast will be separated into two partitions, based on qid, and executed on dph. @@ -40,7 +40,7 @@ a similar way as for joblib:: import ray ray.init() #configure Ray as per your cluster setup - dph = pt.BatchRetrieve(index, wmodel='DPH') + dph = pt.terrier.Retrieve(index, wmodel='DPH') dph_fast = dph.parallel(2, backend='ray') In particular, `ray.init()` must have been called before calling `.parallel()`. @@ -51,8 +51,8 @@ What to Parallelise Only transformers that can be `pickled `_. Transformers that use native code may not be possible to pickle. Some standard PyTerrier transformers have additional support for parallelisation: - - Terrier retrieval: pt.BatchRetrieve(), pt.FeaturesBatchRetrieve() - - Anserini retrieval: pt.AnseriniBatchRetrieve() + - Terrier retrieval: pt.terrier.Retrieve(), pt.FeaturesBatchRetrieve() + - Anserini retrieval: pt.anserini.AnseriniBatchRetrieve() Pure python transformers, such as `pt.text.sliding()` are picklable. However, parallelising only `pt.text.sliding()` may not produce efficiency gains, due to the overheads of shuffling data back and forward. @@ -61,14 +61,14 @@ Entire transformer pipelines (i.e. combined using operators) can be pickled and the most inefficient component of your process, while also minimising the amount of data being transferred between processes. For instance, consider the following pipeline:: - pipe = pt.BatchRetrieve(index, metadata=["docno", "text"] >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() + pipe = pt.terrier.Retrieve(index, metadata=["docno", "text"] >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() While BatchRetrieve might represent the slowest component of the pipeline, it might make sense to parallelise pipe as a whole, rather than just BatchRetrieve, as then only the queries and final results need to be passed betwene processes. Indeed among the following semantically equivalent pipelines, we expect `parallel_pipe0` and `parallel_pipe2` to be faster than `parallel_pipe1`:: - parallel_pipe0 = pt.BatchRetrieve(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() - parallel_pipe1 = ( pt.BatchRetrieve(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() ).parallel(2) >> pt.text.max_passage() + parallel_pipe0 = pt.terrier.Retrieve(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() + parallel_pipe1 = ( pt.terrier.Retrieve(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() ).parallel(2) >> pt.text.max_passage() parallel_pipe2 = pipe.parallel(2) @@ -84,5 +84,5 @@ Outlook ======= We expect to integate parallelisation at different parts of the PyTerrier platform, such as for conducting a gridsearch. Moreover, we hope -that proper integration of multi-threaded retrieval in pt.BatchRetrieve() (while requires upstream improvements in the underlying Terrier platform) +that proper integration of multi-threaded retrieval in pt.terrier.Retrieve() (while requires upstream improvements in the underlying Terrier platform) will reduce the need for this form of parallelisation. diff --git a/docs/pipeline_examples.md b/docs/pipeline_examples.md index 2dcab7d7..4d28d1a9 100644 --- a/docs/pipeline_examples.md +++ b/docs/pipeline_examples.md @@ -5,7 +5,7 @@ ### Sequential Dependence Model ```python -pipe = pt.rewrite.SDM() >> pt.BatchRetrieve(indexref, wmodel="BM25") +pipe = pt.rewrite.SDM() >> pt.terrier.Retrieve(indexref, wmodel="BM25") ``` Note that the SDM() rewriter has a number of constructor parameters: @@ -17,16 +17,16 @@ Note that the SDM() rewriter has a number of constructor parameters: A simple QE transformer can be achieved using ```python -qe = pt.BatchRetrieve(indexref, wmodel="BM25", controls={"qe" : "on"}) +qe = pt.terrier.Retrieve(indexref, wmodel="BM25", controls={"qe" : "on"}) ``` As this is pseudo-relevance feedback in nature, it identifies a set of documents, extracts informative term in the top-ranked documents, and re-exectutes the query. However, more control can be achieved by using the QueryExpansion transformer separately, as thus: ```python -qe = (pt.BatchRetrieve(indexref, wmodel="BM25") >> +qe = (pt.terrier.Retrieve(indexref, wmodel="BM25") >> pt.rewrite.QueryExpansion(indexref) >> - pt.BatchRetrieve(indexref, wmodel="BM25") + pt.terrier.Retrieve(indexref, wmodel="BM25") ) ``` @@ -38,9 +38,9 @@ The QueryExpansion() object has the following constructor parameters: Note that different indexes can be used to achieve query expansion using an external collection (sometimes called collection enrichment or external feedback). For example, to expand queries using Wikipedia as an external resource, in order to get higher quality query re-weighted queries, would look like this: ```python -pipe = (pt.BatchRetrieve(wikipedia_index, wmodel="BM25") >> +pipe = (pt.terrier.Retrieve(wikipedia_index, wmodel="BM25") >> pt.rewrite.QueryExpansion(wikipedia_index) >> - pt.BatchRetrieve(local_index, wmodel="BM25") + pt.terrier.Retrieve(local_index, wmodel="BM25") ) ``` @@ -51,32 +51,32 @@ You need to call `pt.terrier.enable_prf()` to download and load this plugin. ```python pt.terrier.enable_prf() # This is required before Java starts -pipe = (pt.BatchRetrieve(indexref, wmodel="BM25") >> +pipe = (pt.terrier.Retrieve(indexref, wmodel="BM25") >> pt.rewrite.RM3(indexref) >> - pt.BatchRetrieve(indexref, wmodel="BM25") + pt.terrier.Retrieve(indexref, wmodel="BM25") ) ``` ## Combining Rankings Sometimes we have good retrieval approaches and we wish to combine these in a unsupervised manner. We can do that using the linear combination operator: ```python -bm25 = pt.BatchRetrieve(indexref, wmodel="BM25") -dph = pt.BatchRetrieve(indexref, wmodel="DPH") +bm25 = pt.terrier.Retrieve(indexref, wmodel="BM25") +dph = pt.terrier.Retrieve(indexref, wmodel="DPH") linear = bm25 + dph ``` Of course, some weighting can help: ```python -bm25 = pt.BatchRetrieve(indexref, wmodel="BM25") -dph = pt.BatchRetrieve(indexref, wmodel="DPH") +bm25 = pt.terrier.Retrieve(indexref, wmodel="BM25") +dph = pt.terrier.Retrieve(indexref, wmodel="DPH") linear = bm25 + 2* dph ``` However, if the score distributions are not similar, finding a good weight can be tricky. Normalisation of retrieval scores can be advantagous in this case. We provide PerQueryMaxMinScoreTransformer() to make easy normalisation. ```python -bm25 = pt.BatchRetrieve(indexref, wmodel="BM25") >> pt.pipelines.PerQueryMaxMinScoreTransformer() -dph = pt.BatchRetrieve(indexref, wmodel="DPH" >> pt.pipelines.PerQueryMaxMinScoreTransformer() +bm25 = pt.terrier.Retrieve(indexref, wmodel="BM25") >> pt.pipelines.PerQueryMaxMinScoreTransformer() +dph = pt.terrier.Retrieve(indexref, wmodel="DPH" >> pt.pipelines.PerQueryMaxMinScoreTransformer() linear = 0.75 * bm25 + 0.25 * dph ``` @@ -88,13 +88,13 @@ Having shown some of the main formulations, lets show how to build different for - We then score each of the retrieved documents ```python -bm25_cands = pt.BatchRetrieve(indexref, wmodel="BM25") -dph_cands = pt.BatchRetrieve(indexref, wmodel="DPH") +bm25_cands = pt.terrier.Retrieve(indexref, wmodel="BM25") +dph_cands = pt.terrier.Retrieve(indexref, wmodel="DPH") all_cands = bm25_cands | dph_cands all_features = all_cands >> ( - pt.BatchRetrieve(indexref, wmodel="BM25F") ** - pt.rewrite.SDM() >> pt.BatchRetrieve(indexref, wmodel="BM25") + pt.terrier.Retrieve(indexref, wmodel="BM25F") ** + pt.rewrite.SDM() >> pt.terrier.Retrieve(indexref, wmodel="BM25") ) import xgboost as xgb diff --git a/docs/rewrite.rst b/docs/rewrite.rst index 450b6950..b5df332c 100644 --- a/docs/rewrite.rst +++ b/docs/rewrite.rst @@ -40,7 +40,7 @@ This transfomer is only compatible with BatchRetrieve, as Terrier supports the ` Example:: sdm = pt.rewrite.SequentialDependence() - dph = pt.BatchRetrieve(index, wmodel="DPH") + dph = pt.terrier.Retrieve(index, wmodel="DPH") pipeline = sdm >> dph References: @@ -61,7 +61,7 @@ and returns a dataframe with `["qid", "query"]`. Example:: bo1 = pt.rewrite.Bo1QueryExpansion(index) - dph = pt.BatchRetrieve(index, wmodel="DPH") + dph = pt.terrier.Retrieve(index, wmodel="DPH") pipelineQE = dph >> bo1 >> dph View the expansion terms:: @@ -77,7 +77,7 @@ View the expansion terms:: Note that it is also possible to configure BatchRetrieve to perform QE directly using controls, which will result in identical retrieval effectiveness:: - pipelineQE = pt.BatchRetrieve(index, wmodel="DPH", controls={"qemodel" : "Bo1", "qe" : "on"}) + pipelineQE = pt.terrier.Retrieve(index, wmodel="DPH", controls={"qemodel" : "Bo1", "qe" : "on"}) However, using `pt.rewrite.Bo1QueryExpansion` is preferable as: @@ -161,7 +161,7 @@ This can be attained in PyTerrier through use of `stash_results()` and `reset_re # index: the corpus you are ranking - dph = pt.BatchRetrieve(index) + dph = pt.terrier.Retrieve(index) Pipe = dph >> pt.rewrite.stash_results(clear=False) >> pt.rewrite.RM3(index) @@ -193,17 +193,17 @@ Example: Collection Enrichment as a re-ranker:: # index: the corpus you are ranking # wiki_index: index of Wikipedia, used for enrichment - dph = pt.BatchRetrieve(index) + dph = pt.terrier.Retrieve(index) Pipe = dph >> pt.rewrite.stash_results() - >> pt.BatchRetrieve(wiki_index) + >> pt.terrier.Retrieve(wiki_index) >> pt.rewrite.RM3(wiki_index) >> pt.rewrite.reset_results() >> dph In general, collection enrichment describes conducting a PRF query expansion process on an external corpus (often Wikipedia), before applying the reformulated query to the main corpus. Collection enrichment can be used for improving a first pass -retrieval (`pt.BatchRetrieve(wiki_index) >> pt.rewrite.RM3(wiki_index) >> pt.BatchRetrieve(main_index)`). Instead, the particular +retrieval (`pt.terrier.Retrieve(wiki_index) >> pt.rewrite.RM3(wiki_index) >> pt.terrier.Retrieve(main_index)`). Instead, the particular example shown above applies collection enrichment as a re-ranker. diff --git a/docs/terrier-index-api.rst b/docs/terrier-index-api.rst index 438053ab..e8eab989 100644 --- a/docs/terrier-index-api.rst +++ b/docs/terrier-index-api.rst @@ -28,7 +28,7 @@ IndexRefs can also be obtained from a PyTerrier dataset:: IndexRef objects can be directly passed to BatchRetrieve:: - pt.BatchRetrieve(indexref).search("chemical reactions") + pt.terrier.Retrieve(indexref).search("chemical reactions") If you want to access the underlying data structures, you need to use IndexFactory, using the indexref, or the string location:: diff --git a/docs/terrier-indexing.rst b/docs/terrier-indexing.rst index e5771a13..6133a76a 100644 --- a/docs/terrier-indexing.rst +++ b/docs/terrier-indexing.rst @@ -255,10 +255,10 @@ This allows tokenisation using, for instance, the `HuggingFace tokenizers > br diff --git a/docs/text.rst b/docs/text.rst index f6c0fd15..174d0aa3 100644 --- a/docs/text.rst +++ b/docs/text.rst @@ -53,12 +53,12 @@ all document fields, not just those that were included as meta fields when index Examples:: # the following pipelines are equivalent - pipe1 = pt.BatchRetrieve(index, metadata=["docno", "body"]) + pipe1 = pt.terrier.Retrieve(index, metadata=["docno", "body"]) - pipe2 = pt.BatchRetrieve(index) >> pt.text.get_text(index, "body") + pipe2 = pt.terrier.Retrieve(index) >> pt.text.get_text(index, "body") dataset = pt.get_dataset('irds:vaswani') - pipe3 = pt.BatchRetrieve(index) >> pt.text.get_text(dataset, "text") + pipe3 = pt.terrier.Retrieve(index) >> pt.text.get_text(dataset, "text") .. autofunction:: pyterrier.text.get_text() diff --git a/docs/transformer.rst b/docs/transformer.rst index a05c532b..5f2a382b 100644 --- a/docs/transformer.rst +++ b/docs/transformer.rst @@ -17,7 +17,7 @@ before returning it. +=======+=========+=============+==================+==============================+ | Q | Q | 1 to 1 | Query rewriting | `pt.rewrite.SDM()` | +-------+---------+-------------+------------------+------------------------------+ -| Q | Q x D | 1 to N | Retrieval | `pt.BatchRetrieve()` | +| Q | Q x D | 1 to N | Retrieval | `pt.terrier.Retrieve()` | +-------+---------+-------------+------------------+------------------------------+ | Q x D | Q | N to 1 | Query expansion | `pt.rewrite.RM3()` | +-------+---------+-------------+------------------+------------------------------+ diff --git a/docs/tuning.rst b/docs/tuning.rst index 8655b71d..b188770c 100644 --- a/docs/tuning.rst +++ b/docs/tuning.rst @@ -39,7 +39,7 @@ When using BatchRetrieve, the `b` parameter of the BM25 weighting model can be c We must give this control an initial value when contructing the BatchRetrieve instance. Thereafter, the GridSearch parameter dictionary can be constructed by refering to the instance of transformer that has that parameter:: - BM25 = pt.BatchRetrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75}) + BM25 = pt.terrier.Retrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75}) pt.GridSearch( BM25, {BM25 : {"c" : [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ]}} @@ -49,7 +49,7 @@ parameter dictionary can be constructed by refering to the instance of transform Terrier's BM25 also responds to controls named `"bm25.k_1"` and `"bm25.k_3"`, such that all three controls can be tuned concurrently:: - BM25 = pt.BatchRetrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75, "bm25.k_1": 0.75, "bm25.k_3": 0.75}) + BM25 = pt.terrier.Retrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75, "bm25.k_1": 0.75, "bm25.k_3": 0.75}) pt.GridSearch( BM25, {BM25: {"bm25.b" : [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ], @@ -72,7 +72,7 @@ of feedback documents and expansion terms, namely: A full tuning of BM25 and RM3 can be achieved as thus:: - bm25_for_qe = pt.BatchRetrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75}) + bm25_for_qe = pt.terrier.Retrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75}) rm3 = pt.rewrite.RM3(index, fb_terms=10, fb_docs=3) pipe_qe = bm25_for_qe >> rm3 >> bm25_for_qe @@ -121,7 +121,7 @@ The following is an example of scanning the parameters of BM25F for an index wit assert 2 == index.getCollectionStatistics().getNumberOfFields() # instantiate BatchRetrieve for BM25F - bm25f = pt.BatchRetrieve( + bm25f = pt.terrier.Retrieve( index, wmodel = 'BM25F', controls = {'w.0' : 1, 'w.1' : 1, 'c.0' : 0.4, 'c.1' : 0.4} diff --git a/examples/experiments/Robust04.ipynb b/examples/experiments/Robust04.ipynb index 8dd9e389..2921ba22 100644 --- a/examples/experiments/Robust04.ipynb +++ b/examples/experiments/Robust04.ipynb @@ -1,20 +1,20 @@ { "cells": [ { + "cell_type": "markdown", + "metadata": {}, "source": [ "## TREC Robust 04\n", "\n", "This notebook demonstrates baseline experiments on the TREC Robust04 test collection. More information is provided [in the PyTerrier documenatation](https://pyterrier.readthedocs.io/en/latest/experiments/Robust04.html)\n" - ], - "cell_type": "markdown", - "metadata": {} + ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "Install PyTerrier - this installs the latest version from the GitHub repository." - ], - "cell_type": "markdown", - "metadata": {} + ] }, { "cell_type": "code", @@ -34,11 +34,11 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "Start PyTerrier. By using `version='snapshot'`, we use the latest version of Terrier from its own [GitHub repository](http://github.com/terrier-org/terrier-core/)." - ], - "cell_type": "markdown", - "metadata": {} + ] }, { "cell_type": "code", @@ -71,13 +71,13 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "Update this configuration, to detail:\n", " - where your copy of the TREC Disk 4 and 5 corpus is\n", " - where you wish to store your index." - ], - "cell_type": "markdown", - "metadata": {} + ] }, { "cell_type": "code", @@ -98,13 +98,13 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "## Indexing\n", "\n", "This indexes the corpus; it took around 8 minutes using a single thread." - ], - "cell_type": "markdown", - "metadata": {} + ] }, { "cell_type": "code", @@ -176,11 +176,11 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "## Retrieval - Simple Weighting Models" - ], - "cell_type": "markdown", - "metadata": {} + ] }, { "cell_type": "code", @@ -197,10 +197,10 @@ "outputs": [], "source": [ "\n", - "BM25 = pt.BatchRetrieve(index, wmodel=\"BM25\")\n", - "DPH = pt.BatchRetrieve(index, wmodel=\"DPH\")\n", - "PL2 = pt.BatchRetrieve(index, wmodel=\"PL2\")\n", - "DLM = pt.BatchRetrieve(index, wmodel=\"DirichletLM\")\n" + "BM25 = pt.terrier.Retrieve(index, wmodel=\"BM25\")\n", + "DPH = pt.terrier.Retrieve(index, wmodel=\"DPH\")\n", + "PL2 = pt.terrier.Retrieve(index, wmodel=\"PL2\")\n", + "DLM = pt.terrier.Retrieve(index, wmodel=\"DirichletLM\")\n" ] }, { @@ -312,11 +312,11 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, "source": [ "## Retrieval - Query Expansion" - ], - "cell_type": "markdown", - "metadata": {} + ] }, { "cell_type": "code", @@ -585,4 +585,4 @@ }, "nbformat": 4, "nbformat_minor": 4 -} \ No newline at end of file +} diff --git a/examples/notebooks/experiment.ipynb b/examples/notebooks/experiment.ipynb index c1afd0d6..bc1d9ea9 100644 --- a/examples/notebooks/experiment.ipynb +++ b/examples/notebooks/experiment.ipynb @@ -148,9 +148,9 @@ }, "outputs": [], "source": [ - "TF_IDF = pt.BatchRetrieve(vaswani.get_index(), wmodel=\"TF_IDF\")\n", - "BM25 = pt.BatchRetrieve(vaswani.get_index(), wmodel=\"BM25\")\n", - "PL2 = pt.BatchRetrieve(vaswani.get_index(), wmodel=\"PL2\")" + "TF_IDF = pt.terrier.Retrieve(vaswani.get_index(), wmodel=\"TF_IDF\")\n", + "BM25 = pt.terrier.Retrieve(vaswani.get_index(), wmodel=\"BM25\")\n", + "PL2 = pt.terrier.Retrieve(vaswani.get_index(), wmodel=\"PL2\")" ] }, { diff --git a/examples/notebooks/indexing.ipynb b/examples/notebooks/indexing.ipynb index 8d9dc3e3..7e69b81a 100644 --- a/examples/notebooks/indexing.ipynb +++ b/examples/notebooks/indexing.ipynb @@ -782,7 +782,7 @@ } ], "source": [ - "pt.BatchRetrieve(indexref).search(\"mathematical\")" + "pt.terrier.Retrieve(indexref).search(\"mathematical\")" ] }, { @@ -969,7 +969,7 @@ "source": [ "import pandas as pd\n", "topics = pd.DataFrame([[\"2\", \"mathematical\"]],columns=['qid','query'])\n", - "pt.BatchRetrieve(indexref).transform(topics)" + "pt.terrier.Retrieve(indexref).transform(topics)" ] }, { diff --git a/examples/notebooks/non_en_retrieval.ipynb b/examples/notebooks/non_en_retrieval.ipynb index 5a5a3237..59471252 100644 --- a/examples/notebooks/non_en_retrieval.ipynb +++ b/examples/notebooks/non_en_retrieval.ipynb @@ -481,14 +481,14 @@ } ], "source": [ - "bm25_nostem = pt.BatchRetrieve(index_nostem, wmodel='BM25')\n", + "bm25_nostem = pt.terrier.Retrieve(index_nostem, wmodel='BM25')\n", "bm25_nostem.search('El Centro') \n", "\n", - "bm25_stem = pt.BatchRetrieve(index_stem, wmodel='BM25')\n", + "bm25_stem = pt.terrier.Retrieve(index_stem, wmodel='BM25')\n", "bm25_stem.search('El Centro') \n", "\n", "# to apply the es_preprocess function to the query text, use a pt.apply.query transformer\n", - "bm25_custom = pt.apply.query(lambda row: es_preprocess(row.query)) >> pt.BatchRetrieve(index_custom, wmodel='BM25')\n", + "bm25_custom = pt.apply.query(lambda row: es_preprocess(row.query)) >> pt.terrier.Retrieve(index_custom, wmodel='BM25')\n", "bm25_custom.search('El Centro')" ] }, diff --git a/pyterrier/apply.py b/pyterrier/apply.py index 115ad138..a4b3c5f7 100644 --- a/pyterrier/apply.py +++ b/pyterrier/apply.py @@ -43,12 +43,12 @@ def _remove_stops(q): return " ".join(terms) # a query rewriting transformer that applies the _remove_stops to each row of an input dataframe - p1 = pt.apply.query(_remove_stops) >> pt.BatchRetrieve(index, wmodel="DPH") + p1 = pt.apply.query(_remove_stops) >> pt.terrier.Retrieve(index, wmodel="DPH") # an equivalent query rewriting transformer using an anonymous lambda function p2 = pt.apply.query( lambda q : " ".join([t for t in q["query"].split(" ") if t not in stops ]) - ) >> pt.BatchRetrieve(index, wmodel="DPH") + ) >> pt.terrier.Retrieve(index, wmodel="DPH") In both of the example pipelines above (`p1` and `p2`), the exact topics are not known until the pipeline is invoked, e.g. by using `p1.transform(topics)` on a topics dataframe, or within a `pt.Experiment()`. When the pipeline @@ -75,7 +75,7 @@ def doc_score(fn : Union[Callable[[pd.Series], float], Callable[[pd.DataFrame], Example (Row-wise):: # this transformer will subtract 5 from the score of each document - p = pt.BatchRetrieve(index, wmodel="DPH") >> + p = pt.terrier.Retrieve(index, wmodel="DPH") >> pt.apply.doc_score(lambda doc : doc["score"] -5) Can be used in batch-wise manner, which is particularly useful for appling neural models. In this case, @@ -85,7 +85,7 @@ def _doclen(df): # returns series of lengths return df.text.str.len() - pipe = pt.BatchRetrieve(index) >> pt.apply.doc_score(_doclen, batch_size=128) + pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_score(_doclen, batch_size=128) """ return ApplyDocumentScoringTransformer(fn, *args, batch_size=batch_size, **kwargs) @@ -113,7 +113,7 @@ def _features(row): f2 = len(content.split(" ")) return np.array([f1, f2]) - p = pt.BatchRetrieve(index, wmodel="BM25") >> + p = pt.terrier.Retrieve(index, wmodel="BM25") >> pt.apply.doc_features(_features ) """ @@ -129,7 +129,7 @@ def rename(columns : Dict[str,str], *args, errors='raise', **kwargs) -> pt.Trans Example:: - pipe = pt.BatchRetrieve(index, metadata=["docno", "body"]) >> pt.apply.rename({'body':'text'}) + pipe = pt.terrier.Retrieve(index, metadata=["docno", "body"]) >> pt.apply.rename({'body':'text'}) """ return ApplyGenericTransformer(lambda df: df.rename(columns=columns, errors=errors), *args, **kwargs) @@ -151,7 +151,7 @@ def generic(fn : Callable[[pd.DataFrame], pd.DataFrame], *args, batch_size=None, # this transformer will remove all documents at rank greater than 2. # this pipeline would remove all but the first two documents from a result set - pipe = pt.BatchRetrieve(index) >> pt.apply.generic(lambda res : res[res["rank"] < 2]) + pipe = pt.terrier.Retrieve(index) >> pt.apply.generic(lambda res : res[res["rank"] < 2]) """ return ApplyGenericTransformer(fn, *args, batch_size=batch_size, **kwargs) diff --git a/pyterrier/apply_base.py b/pyterrier/apply_base.py index 8a30c403..e9ec6661 100644 --- a/pyterrier/apply_base.py +++ b/pyterrier/apply_base.py @@ -78,7 +78,7 @@ class ApplyDocumentScoringTransformer(ApplyTransformerBase): def _score_fn(row): return float(row["url".count("/")]) - pipe = pt.BatchRetrieve(index) >> pt.apply.doc_score(_score_fn) + pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_score(_score_fn) Can be used in batching manner, which is particularly useful for appling neural models. In this case, the scoring function receives a dataframe, rather than a single row:: @@ -86,7 +86,7 @@ def _score_fn(row): def _doclen(df): return df.text.str.len() - pipe = pt.BatchRetrieve(index) >> pt.apply.doc_score(_doclen) + pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_score(_doclen) """ def __init__(self, fn, *args, batch_size=None, **kwargs): @@ -148,7 +148,7 @@ class ApplyDocFeatureTransformer(ApplyTransformerBase): def _feature_fn(row): return numpy.array([len(row["url"], row["url".count("/")]) - pipe = pt.BatchRetrieve(index) >> pt.apply.doc_features(_feature_fn) >> pt.LTRpipeline(xgBoost()) + pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_features(_feature_fn) >> pt.LTRpipeline(xgBoost()) """ def __init__(self, fn, *args, **kwargs): """ @@ -180,11 +180,11 @@ class ApplyQueryTransformer(ApplyTransformerBase): def _rewriting_fn(row): return row["query"] + " extra words" - pipe = pt.apply.query(_rewriting_fn) >> pt.BatchRetrieve(index) + pipe = pt.apply.query(_rewriting_fn) >> pt.terrier.Retrieve(index) Similarly, a lambda function can also be used:: - pipe = pt.apply.query(lambda row: row["query"] + " extra words") >> pt.BatchRetrieve(index) + pipe = pt.apply.query(lambda row: row["query"] + " extra words") >> pt.terrier.Retrieve(index) In the resulting dataframe, the previous query for each row can be found in the query_0 column. @@ -238,7 +238,7 @@ class ApplyGenericTransformer(ApplyTransformerBase): # this pipeline would remove all but the first two documents from a result set lp = ApplyGenericTransformer(lambda res : res[res["rank"] < 2]) - pipe = pt.BatchRetrieve(index) >> lp + pipe = pt.terrier.Retrieve(index) >> lp """ diff --git a/pyterrier/cache.py b/pyterrier/cache.py index e0d46486..f317e692 100644 --- a/pyterrier/cache.py +++ b/pyterrier/cache.py @@ -71,7 +71,7 @@ class ChestCacheTransformer(Transformer): dataset = pt.get_dataset("trec-robust-2004") # use for first pass and 2nd pass - BM25 = pt.BatchRetrieve(index, wmodel="BM25") + BM25 = pt.terrier.Retrieve(index, wmodel="BM25") # used for query expansion RM3 = pt.rewrite.RM3(index) diff --git a/pyterrier/ltr.py b/pyterrier/ltr.py index f8b92502..f4af190f 100644 --- a/pyterrier/ltr.py +++ b/pyterrier/ltr.py @@ -276,9 +276,9 @@ def score_to_feature() -> Transformer: Example:: - cands = pt.BatchRetrieve(index, wmodel="BM25") - bm25f = pt.BatchRetrieve(index, wmodel="BM25F") - pl2f = pt.BatchRetrieve(index, wmodel="PL2F") + cands = pt.terrier.Retrieve(index, wmodel="BM25") + bm25f = pt.terrier.Retrieve(index, wmodel="BM25F") + pl2f = pt.terrier.Retrieve(index, wmodel="PL2F") two_features = cands >> (bm25f ** pl2f) three_features = cands >> (bm25f ** pl2f ** pt.ltr.score_to_feature()) diff --git a/pyterrier/ops.py b/pyterrier/ops.py index 1d8dead2..df8b9e06 100644 --- a/pyterrier/ops.py +++ b/pyterrier/ops.py @@ -200,9 +200,9 @@ class FeatureUnionPipeline(NAryTransformerBase): Implements the feature union operator. Example:: - cands = pt.BatchRetrieve(index wmodel="BM25") - pl2f = pt.BatchRetrieve(index wmodel="PL2F") - bm25f = pt.BatchRetrieve(index wmodel="BM25F") + cands = pt.terrier.Retrieve(index wmodel="BM25") + pl2f = pt.terrier.Retrieve(index wmodel="PL2F") + bm25f = pt.terrier.Retrieve(index wmodel="BM25F") pipe = cands >> (pl2f ** bm25f) """ name = "FUnion" diff --git a/pyterrier/pipelines.py b/pyterrier/pipelines.py index 07621708..d17971e8 100644 --- a/pyterrier/pipelines.py +++ b/pyterrier/pipelines.py @@ -653,7 +653,7 @@ def KFoldGridSearch( Consider tuning PL2 where folds of queries are pre-determined:: - pl2 = pt.BatchRetrieve(index, wmodel="PL2", controls={'c' : 1}) + pl2 = pt.terrier.Retrieve(index, wmodel="PL2", controls={'c' : 1}) tuned_pl2, _ = pt.KFoldGridSearch( pl2, {pl2 : {'c' : [0.1, 1, 5, 10, 20, 100]}}, @@ -827,7 +827,7 @@ def GridScan( Example:: # graph how PL2's c parameter affects MAP - pl2 = pt.BatchRetrieve(index, wmodel="PL2", controls={'c' : 1}) + pl2 = pt.terrier.Retrieve(index, wmodel="PL2", controls={'c' : 1}) rtr = pt.GridScan( pl2, {pl2 : {'c' : [0.1, 1, 5, 10, 20, 100]}}, diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index ebf3275e..2829b297 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -19,22 +19,22 @@ def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', m Example - use default tokeniser:: - pipe = pt.rewrite.tokenise() >> pt.BatchRetrieve() + pipe = pt.rewrite.tokenise() >> pt.terrier.Retrieve() pipe.search("Question with 'capitals' and other stuff?") Example - roll your own tokeniser:: - poortokenisation = pt.rewrite.tokenise(lambda query: query.split(" ")) >> pt.BatchRetrieve() + poortokenisation = pt.rewrite.tokenise(lambda query: query.split(" ")) >> pt.terrier.Retrieve() Example - for non-English languages, tokenise on standard UTF non-alphanumeric characters:: - utftokenised = pt.rewrite.tokenise(pt.TerrierTokeniser.utf)) >> pt.BatchRetrieve() - utftokenised = pt.rewrite.tokenise("utf")) >> pt.BatchRetrieve() + utftokenised = pt.rewrite.tokenise(pt.TerrierTokeniser.utf)) >> pt.terrier.Retrieve() + utftokenised = pt.rewrite.tokenise("utf")) >> pt.terrier.Retrieve() Example - tokenising queries using a `HuggingFace tokenizer `_ :: # this assumes the index was created in a pretokenised manner - br = pt.BatchRetrieve(indexref) + br = pt.terrier.Retrieve(indexref) tok = AutoTokenizer.from_pretrained("bert-base-uncased") query_toks = pt.rewrite.tokenise(tok.tokenize, matchop=True) retr_pipe = query_toks >> br @@ -58,7 +58,7 @@ def _join_str(input : Union[str,List[str]]): def _join_str_matchop(input : List[str]): assert not isinstance(input, str), "Expected a list of strings" - return ' '.join(map(pt.BatchRetrieve.matchop, input)) + return ' '.join(map(pt.terrier.Retrieve.matchop, input)) if matchop: return pt.apply.query(lambda r: _join_str_matchop(_query_fn(r.query))) @@ -76,7 +76,7 @@ def reset() -> pt.Transformer: Example:: - firststage = pt.rewrite.SDM() >> pt.BatchRetrieve(index, wmodel="DPH") + firststage = pt.rewrite.SDM() >> pt.terrier.Retrieve(index, wmodel="DPH") secondstage = pyterrier_bert.cedr.CEDRPipeline() fullranker = firststage >> pt.rewrite.reset() >> secondstage @@ -368,7 +368,7 @@ class RM3(QueryExpansion): Example:: - bm25 = pt.BatchRetrieve(index, wmodel="BM25") + bm25 = pt.terrier.Retrieve(index, wmodel="BM25") rm3_pipe = bm25 >> pt.rewrite.RM3(index) >> bm25 pt.Experiment([bm25, rm3_pipe], dataset.get_topics(), diff --git a/pyterrier/text.py b/pyterrier/text.py index 1d622b06..5fc90ae5 100644 --- a/pyterrier/text.py +++ b/pyterrier/text.py @@ -28,7 +28,7 @@ def get_text( Example:: - pipe = ( pt.BatchRetrieve(index, wmodel="DPH") + pipe = ( pt.terrier.Retrieve(index, wmodel="DPH") >> pt.text.get_text(index) >> pt.text.scorer(wmodel="DPH") ) @@ -188,7 +188,7 @@ def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='ti Example:: - pipe = ( pt.BatchRetrieve(index, wmodel="DPH", metadata=["docno", "body"]) + pipe = ( pt.terrier.Retrieve(index, wmodel="DPH", metadata=["docno", "body"]) >> pt.text.sliding(length=128, stride=64, prepend_attr=None) >> pt.text.scorer(wmodel="DPH") >> pt.text.max_passage() ) @@ -196,7 +196,7 @@ def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='ti # tokenizer model from transformers import AutoTokenizer tok = AutoTokenizer.from_pretrained("bert-base-uncased") - pipe = (pt.BatchRetrieve(index, wmodel="DPH", metadata=["docno", "body"]) + pipe = (pt.terrier.Retrieve(index, wmodel="DPH", metadata=["docno", "body"]) >> pt.text.sliding(length=128, stride=64, prepend_attr=None, tokenizer=tok) >> pt.text.scorer(wmodel="DPH") >> pt.text.max_passage() ) @@ -289,7 +289,7 @@ def snippets( Example:: # retrieve documents with text - br = pt.BatchRetrieve(index, metadata=['docno', 'text']) + br = pt.terrier.Retrieve(index, metadata=['docno', 'text']) # use Tf as a passage scorer on sliding window passages psg_scorer = ( diff --git a/pyterrier/transformer.py b/pyterrier/transformer.py index 7d1c55e3..7103eff6 100644 --- a/pyterrier/transformer.py +++ b/pyterrier/transformer.py @@ -64,8 +64,8 @@ def identity() -> 'Transformer': This can be useful for adding the candidate ranking score as a feature in for learning-to-rank:: - bm25 = pt.BatchRetrieve(index, wmodel="BM25") - two_feat_pipe = bm25 >> pt.Transformer.identify() ** pt.BatchRetrieve(index, wmodel="PL2") + bm25 = pt.terrier.Retrieve(index, wmodel="BM25") + two_feat_pipe = bm25 >> pt.Transformer.identify() ** pt.terrier.Retrieve(index, wmodel="PL2") This will return a pipeline that produces a score column (BM25), but also has a features column containing BM25 and PL2 scores. @@ -155,7 +155,7 @@ def search(self, query : str, qid : str = "1", sort=True) -> pd.DataFrame: Example:: - bm25 = pt.BatchRetrieve(index, wmodel="BM25") + bm25 = pt.terrier.Retrieve(index, wmodel="BM25") res = bm25.search("example query") # is equivalent to From 94fd5ae9ba9bdd467ed7aa973d84fe49f5956fd7 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 7 Aug 2024 14:01:40 +0100 Subject: [PATCH 129/153] fix typo comment --- pyterrier/java/_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index 618bd7d0..338be36e 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -331,7 +331,7 @@ def parallel_init_args() -> Tuple[bool, Dict[str, Dict[str, Any]]]: # We need a global store of all java-related configurations # so that when running in parallel, we can set everying back # up the same way it started. These utils help manage this -# gloabal configuration. +# global configuration. # ---------------------------------------------------------- class Configuration: From 3a3b74ef8fc414b204c48c088382fe3493f16e2e Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 9 Aug 2024 15:21:40 +0100 Subject: [PATCH 130/153] always load prf package --- docs/installation.rst | 2 +- docs/pipeline_examples.md | 2 -- pyterrier/terrier/__init__.py | 4 ++-- pyterrier/terrier/java.py | 21 ++++----------------- pyterrier/terrier/rewrite.py | 11 ++--------- tests/base.py | 1 - 6 files changed, 9 insertions(+), 32 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 8b9db2de..aa7fcdee 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -91,7 +91,7 @@ These options adjust how the Terrier engine is loaded. .. autofunction:: pyterrier.terrier.set_version .. autofunction:: pyterrier.terrier.set_helper_version -.. autofunction:: pyterrier.terrier.enable_prf +.. autofunction:: pyterrier.terrier.set_prf_version .. autofunction:: pyterrier.terrier.set_property .. autofunction:: pyterrier.terrier.set_properties .. autofunction:: pyterrier.terrier.extend_classpath diff --git a/docs/pipeline_examples.md b/docs/pipeline_examples.md index 2dcab7d7..f3e86d8c 100644 --- a/docs/pipeline_examples.md +++ b/docs/pipeline_examples.md @@ -47,10 +47,8 @@ pipe = (pt.BatchRetrieve(wikipedia_index, wmodel="BM25") >> ### RM3 Query Expansion We also provide RM3 query expansion, using an external plugin to Terrier called [terrier-prf](https://github.com/terrierteam/terrier-prf). -You need to call `pt.terrier.enable_prf()` to download and load this plugin. ```python -pt.terrier.enable_prf() # This is required before Java starts pipe = (pt.BatchRetrieve(indexref, wmodel="BM25") >> pt.rewrite.RM3(indexref) >> pt.BatchRetrieve(indexref, wmodel="BM25") diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 660b100b..33dc726f 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,6 +1,6 @@ # java stuff from pyterrier.terrier import java -from pyterrier.terrier.java import configure, set_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version +from pyterrier.terrier.java import configure, set_version, set_helper_version, set_prf_version, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version from pyterrier.terrier.retriever import BatchRetrieve, FeaturesBatchRetrieve, TextScorer from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier.stemmer import TerrierStemmer @@ -15,7 +15,7 @@ __all__ = [ # java stuff - 'java', 'configure', 'set_version', 'set_helper_version', 'enable_prf', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', + 'java', 'configure', 'set_version', 'set_helper_version', 'set_prf_version', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', # retrieval 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesBatchRetrieve', 'TextScorer', diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 326eaaa5..422121d3 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -17,7 +17,7 @@ 'helper_version': None, 'boot_packages': [], 'force_download': True, - 'prf_version': None, + 'prf_version': '-SNAPSHOT', }) @@ -32,22 +32,10 @@ def set_helper_version(version: Optional[str] = None): @pt.java.before_init -def enable_prf(version: Optional[str] = '-SNAPSHOT'): +def set_prf_version(version: Optional[str] = None): configure['prf_version'] = version -@pt.utils.pre_invocation_decorator -def prf_required(fn: Callable): - """ - Requires prf to be enabled (raises error if not enabled). - - Can be used as a function/class @decorator. When used as a class decorator, it - is applied to all methods defined by the class. - """ - if not configure['prf_version']: - raise RuntimeError('you need to call pt.terrier.enable_prf() before java is loaded to use this function.') - - class TerrierJavaInit(pt.java.JavaInitializer): def pre_init(self, jnius_config): # Make sure the terrier.default.properties file exists and is registered as an option, which avoids an annoying @@ -84,9 +72,8 @@ def pre_init(self, jnius_config): helper_jar = pt.java.mavenresolver.get_package_jar(TERRIER_PKG, 'terrier-python-helper', helper_version) jnius_config.add_classpath(helper_jar) - if configure['prf_version'] is not None: - prf_jar = pt.java.mavenresolver.get_package_jar('com.github.terrierteam', 'terrier-prf', configure['prf_version']) - jnius_config.add_classpath(prf_jar) + prf_jar = pt.java.mavenresolver.get_package_jar('com.github.terrierteam', 'terrier-prf', configure['prf_version']) + jnius_config.add_classpath(prf_jar) @pt.java.required_raise diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index bdf41665..002de10a 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -4,7 +4,6 @@ from types import FunctionType import pyterrier as pt from pyterrier.terrier.index import TerrierTokeniser -from pyterrier.terrier.java import prf_required @pt.java.required def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', matchop=False) -> pt.Transformer: @@ -350,13 +349,10 @@ def __init__(self, *args, **kwargs): kwargs["qemodel"] = "KL" super().__init__(*args, **kwargs) -@prf_required @pt.java.required class RM3(QueryExpansion): ''' - Performs query expansion using RM3 relevance models. RM3 relies on an external Terrier plugin, - `terrier-prf `_. You need to call ``pt.terrier.enable_prf()`` - before RM3 is available. + Performs query expansion using RM3 relevance models. This transformer must be followed by a Terrier Retrieve() transformer. The original query is saved in the `"query_0"` column, which can be restored using `pt.rewrite.reset()`. @@ -408,13 +404,10 @@ def transform(self, queries_and_docs): self.qe.fbDocs = self.fb_docs return super().transform(queries_and_docs) -@prf_required @pt.java.required class AxiomaticQE(QueryExpansion): ''' - Performs query expansion using axiomatic query expansion. This class relies on an external Terrier plugin, - `terrier-prf `_. You need to call ``pt.terrier.enable_prf()`` - before AxiomaticQE is available. + Performs query expansion using axiomatic query expansion. This transformer must be followed by a Terrier Retrieve() transformer. The original query is saved in the `"query_0"` column, which can be restored using `pt.rewrite.reset()`. diff --git a/tests/base.py b/tests/base.py index 5d18dec6..71dfa6c7 100644 --- a/tests/base.py +++ b/tests/base.py @@ -20,7 +20,6 @@ def __init__(self, *args, **kwargs): pt.terrier.set_version(terrier_version) pt.terrier.set_helper_version(terrier_helper_version) - pt.terrier.enable_prf() pt.java.set_log_level("DEBUG") # pt.java.add_option('-ea') can be added here to ensure that all Java assertions are met pt.java.init() From 34ef71c147200365d445eba12161e998d3dcc2cf Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 9 Aug 2024 16:44:46 +0100 Subject: [PATCH 131/153] split out parallel tests into a separate gh action --- .../{anserini.yml => test-anserini.yml} | 0 .github/workflows/test-parallel.yaml | 72 +++++++++++++++++++ tests/base.py | 1 + tests/test_grid.py | 3 +- tests/test_parallel.py | 5 +- tests/test_pool.py | 3 +- 6 files changed, 81 insertions(+), 3 deletions(-) rename .github/workflows/{anserini.yml => test-anserini.yml} (100%) create mode 100644 .github/workflows/test-parallel.yaml diff --git a/.github/workflows/anserini.yml b/.github/workflows/test-anserini.yml similarity index 100% rename from .github/workflows/anserini.yml rename to .github/workflows/test-anserini.yml diff --git a/.github/workflows/test-parallel.yaml b/.github/workflows/test-parallel.yaml new file mode 100644 index 00000000..fd98beb2 --- /dev/null +++ b/.github/workflows/test-parallel.yaml @@ -0,0 +1,72 @@ +name: Continuous Testing of Parallel Components + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + strategy: + matrix: + python-version: ['3.8', '3.11'] + java: [11, 13] + os: ['ubuntu-latest'] + terrier: ['snapshot'] + + runs-on: ${{ matrix.os }} + steps: + + - name: Setup dependencies for xgBoost on macOs-latest + if: matrix.os == 'macOs-latest' + run: | + brew install libomp + + - uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + if: matrix.os != 'self-hosted' + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Setup java + if: matrix.os != 'self-hosted' + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.java }} + distribution: 'zulu' + + - name: Install Terrier snapshot + if: matrix.terrier == '5.4-SNAPSHOT' + run: | + git clone https://github.com/terrier-org/terrier-core.git + cd terrier-core + mvn -B -DskipTests install + + # follows https://medium.com/ai2-blog/python-caching-in-github-actions-e9452698e98d + - name: Loading Python & dependencies from cache + if: matrix.os != 'self-hosted' + uses: actions/cache@v4 + with: + path: ${{ env.pythonLocation }} + key: ${{ runner.os }}-${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('requirements-test.txt') }} + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade --upgrade-strategy eager -r requirements.txt + pip install --upgrade --upgrade-strategy eager -r requirements-test.txt + #install this software + pip install --timeout=120 . + pip install pytest + + - name: All unit tests + env: + TERRIER_VERSION: ${{ matrix.terrier }} + PARALLEL_TESTING: '1' + run: | + pytest --durations=20 -p no:faulthandler tests/test_grid.py tests/test_grid.py tests/test_parallel.py tests/test_pool.py + diff --git a/tests/base.py b/tests/base.py index 71dfa6c7..13ec23f9 100644 --- a/tests/base.py +++ b/tests/base.py @@ -40,3 +40,4 @@ def tearDown(self): pass +parallel_test = unittest.skipIf(os.environ.get("PARALLEL_TESTING") is None, "Parallel test disabled, enable with PARALLEL_TESTING=1") diff --git a/tests/test_grid.py b/tests/test_grid.py index 233796d8..80dcc654 100644 --- a/tests/test_grid.py +++ b/tests/test_grid.py @@ -1,6 +1,6 @@ import pandas as pd import pyterrier as pt -from .base import BaseTestCase +from .base import BaseTestCase, parallel_test class TestGrid(BaseTestCase): @@ -68,6 +68,7 @@ def test_gridscan_1param_df(self): self.assertTrue(isinstance(rtr, pd.DataFrame)) #print(rtr) + @parallel_test def test_gridscan_joblib2(self): self.skip_windows() dataset = pt.get_dataset("vaswani") diff --git a/tests/test_parallel.py b/tests/test_parallel.py index 2ce82124..c5a2fff5 100644 --- a/tests/test_parallel.py +++ b/tests/test_parallel.py @@ -1,7 +1,8 @@ -from .base import BaseTestCase +from .base import BaseTestCase, parallel_test import pyterrier as pt class TestParallel(BaseTestCase): + @parallel_test def test_parallel_joblib_experiment(self): self.skip_windows() dataset = pt.get_dataset("vaswani") @@ -14,6 +15,7 @@ def test_parallel_joblib_experiment(self): ) self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) + @parallel_test def test_parallel_joblib_experiment_br_callback(self): self.skip_windows() dataset = pt.get_dataset("vaswani") @@ -27,6 +29,7 @@ def test_parallel_joblib_experiment_br_callback(self): ) self.assertEqual(df.iloc[0]["map"], df.iloc[1]["map"]) + @parallel_test def test_parallel_joblib_ops(self): self.skip_windows() dataset = pt.get_dataset("vaswani") diff --git a/tests/test_pool.py b/tests/test_pool.py index 3c955499..6c18fcd9 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -1,10 +1,11 @@ -from .base import BaseTestCase +from .base import BaseTestCase, parallel_test import pandas as pd import pickle import pyterrier as pt import datetime class TestPool(BaseTestCase): + @parallel_test def test_br_parallel(self): self.skip_windows() vaswani = pt.datasets.get_dataset("vaswani") From 5e8f5b41ab6f9d06b4fbe12ccf5b61545f8fe0ed Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 10 Aug 2024 13:35:15 +0100 Subject: [PATCH 132/153] move retrieve.py back to retriever.py --- pyterrier/terrier/{retrieve.py => retriever.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pyterrier/terrier/{retrieve.py => retriever.py} (100%) diff --git a/pyterrier/terrier/retrieve.py b/pyterrier/terrier/retriever.py similarity index 100% rename from pyterrier/terrier/retrieve.py rename to pyterrier/terrier/retriever.py From 12fef4958ca384f34c02c97010109e210e365ec8 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 10 Aug 2024 13:41:16 +0100 Subject: [PATCH 133/153] Retrieve -> Retriever --- README.md | 8 ++-- docs/anserini.rst | 4 +- docs/apply.rst | 4 +- docs/datamodel.md | 2 +- docs/datasets.rst | 12 +++--- docs/experiments.rst | 4 +- docs/experiments/Robust04.md | 8 ++-- docs/extras/generate_includes.py | 4 +- docs/ltr.rst | 14 +++---- docs/operators.rst | 2 +- docs/parallel.rst | 14 +++---- docs/pipeline_examples.md | 36 ++++++++--------- docs/rewrite.rst | 14 +++---- docs/terrier-index-api.rst | 2 +- docs/terrier-indexing.rst | 4 +- docs/terrier-retrieval.rst | 40 +++++++++---------- docs/text.rst | 6 +-- docs/transformer.rst | 2 +- docs/tuning.rst | 8 ++-- examples/experiments/Robust04.ipynb | 8 ++-- examples/notebooks/experiment.ipynb | 6 +-- examples/notebooks/indexing.ipynb | 4 +- examples/notebooks/ltr.ipynb | 10 ++--- examples/notebooks/non_en_retrieval.ipynb | 6 +-- .../notebooks/retrieval_and_evaluation.ipynb | 2 +- .../notebooks/sentence_transformers.ipynb | 2 +- pyterrier/apply.py | 14 +++---- pyterrier/apply_base.py | 12 +++--- pyterrier/cache.py | 2 +- pyterrier/ltr.py | 6 +-- pyterrier/ops.py | 6 +-- pyterrier/pipelines.py | 4 +- pyterrier/terrier/__init__.py | 10 ++--- pyterrier/terrier/java.py | 2 +- pyterrier/terrier/retriever.py | 18 ++++----- pyterrier/terrier/rewrite.py | 18 ++++----- pyterrier/text.py | 10 ++--- pyterrier/transformer.py | 6 +-- tests/test_dunder.py | 2 +- tests/test_operators.py | 2 +- tests/test_scoring.py | 8 ++-- 41 files changed, 173 insertions(+), 173 deletions(-) diff --git a/README.md b/README.md index a33fd144..6fcf522b 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ See the [indexing documentation](https://pyterrier.readthedocs.io/en/latest/terr ```python topics = pt.io.read_topics(topicsFile) qrels = pt.io.read_qrels(qrelsFile) -BM25_br = pt.terrier.Retrieve(index, wmodel="BM25") +BM25_br = pt.terrier.Retriever(index, wmodel="BM25") res = BM25_br.transform(topics) pt.Evaluate(res, qrels, metrics = ['map']) ``` @@ -56,7 +56,7 @@ There is a worked example in the [experiment notebook](examples/notebooks/experi PyTerrier makes it easy to develop complex retrieval pipelines using Python operators such as `>>` to chain different retrieval components. Each retrieval approach is a [transformer](https://pyterrier.readthedocs.io/en/latest/transformer.html), having one key method, `transform()`, which takes a single Pandas dataframe as input, and returns another dataframe. Two examples might encapsulate applying the sequential dependence model, or a query expansion process: ```python -sdm_bm25 = pt.rewrite.SDM() >> pt.terrier.Retrieve(indexref, wmodel="BM25") +sdm_bm25 = pt.rewrite.SDM() >> pt.terrier.Retriever(indexref, wmodel="BM25") bo1_qe = BM25_br >> pt.rewrite.Bo1QueryExpansion() >> BM25_br ``` @@ -83,8 +83,8 @@ You can see examples of how to use these, including notebooks that run on Google Complex learning to rank pipelines, including for learning-to-rank, can be constructed using PyTerrier's operator language. For example, to combine two features and make them available for learning, we can use the `**` operator. ```python two_features = BM25_br >> ( - pt.terrier.Retrieve(indexref, wmodel="DirichletLM") ** - pt.terrier.Retrieve(indexref, wmodel="PL2") + pt.terrier.Retriever(indexref, wmodel="DirichletLM") ** + pt.terrier.Retriever(indexref, wmodel="PL2") ) ``` diff --git a/docs/anserini.rst b/docs/anserini.rst index f65c12b4..f9ae5407 100644 --- a/docs/anserini.rst +++ b/docs/anserini.rst @@ -16,7 +16,7 @@ Comparative retrieval from Anserini and Terrier:: trIndex = "/path/to/data.properties" luceneIndex "/path/to/lucene-index-dir" - BM25_tr = pt.terrier.Retrieve(trIndex, wmodel="BM25") + BM25_tr = pt.terrier.Retriever(trIndex, wmodel="BM25") BM25_ai = pt.anserini.AnseriniBatchRetrieve(luceneIndex, wmodel="BM25") pt.Experiment([BM25_tr, BM25_ai], topics, qrels, eval_metrics=["map"]) @@ -24,7 +24,7 @@ Comparative retrieval from Anserini and Terrier:: AnseriniBatchRetrieve can also be used as a re-ranker:: - BM25_tr = pt.terrrier.Retrieve(trIndex, wmodel="BM25") + BM25_tr = pt.terrier.Retrieverr(trIndex, wmodel="BM25") QLD_ai = pt.anserini.AnseriniBatchRetrieve(luceneIndex, wmodel="QLD") pipe = BM25_tr >> QLD_ai diff --git a/docs/apply.rst b/docs/apply.rst index 937ce10a..61f9f732 100644 --- a/docs/apply.rst +++ b/docs/apply.rst @@ -85,9 +85,9 @@ Its also possible to construct a transformer that makes a new column on a row-wi For instance, if the column you are creating is called rank_2, it might be created as follows:: - pipe = pt.terrrier.Retrieve(index) >> pt.apply.rank_2(lambda row: row["rank"] * 2) + pipe = pt.terrier.Retrieverr(index) >> pt.apply.rank_2(lambda row: row["rank"] * 2) To create a transformer that drops a column, you can instead pass `drop=True` as a kwarg:: - pipe = pt.terrrier.Retrieve(index, metadata=["docno", "text"] >> pt.text.scorer() >> pt.apply.text(drop=True) + pipe = pt.terrier.Retrieverr(index, metadata=["docno", "text"] >> pt.text.scorer() >> pt.apply.text(drop=True) diff --git a/docs/datamodel.md b/docs/datamodel.md index 275c7324..eeaf42ee 100644 --- a/docs/datamodel.md +++ b/docs/datamodel.md @@ -51,7 +51,7 @@ A dataframe representing which documents are retrieved and scored for a given qu Note that rank is computed by sorting by qid ascending, then score descending. The first rank for each query is 0. The `pyterrier.model.add_rank()` function is used for adding the rank column. -Optional columns might support additional transformers, such as text (for the contents of the documents), url or title columns. Their presence can facilitate more advanced transformers, such as BERT-based transformers which operate on the raw text of the documents. For instance, if the Terrier index has additional metadata attributes, these can be included by BatchRetrieve using the `metadata` kwarg, i.e. `pt.terrier.Retrieve(index, metadata=["docno", "title", "body"])`. +Optional columns might support additional transformers, such as text (for the contents of the documents), url or title columns. Their presence can facilitate more advanced transformers, such as BERT-based transformers which operate on the raw text of the documents. For instance, if the Terrier index has additional metadata attributes, these can be included by BatchRetrieve using the `metadata` kwarg, i.e. `pt.terrier.Retriever(index, metadata=["docno", "title", "body"])`. Note that the retrieved documents is a subset of the cartesian product of documents and queries; it is important that the query (text) attribute is present for at least ONE document rather than all documents for a given query. diff --git a/docs/datasets.rst b/docs/datasets.rst index 249f4e71..bc23718d 100644 --- a/docs/datasets.rst +++ b/docs/datasets.rst @@ -27,8 +27,8 @@ Many of the PyTerrier unit tests are based on the `Vaswani NPL test collection < PyTerrier provides a ready-made index on the `Terrier Data Repository `_. This allows experiments to be easily conducted:: dataset = pt.get_dataset("vaswani") - bm25 = pt.terrier.Retrieve.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") - dph = pt.terrier.Retrieve.from_dataset(dataset, "terrier_stemmed", wmodel="DPH") + bm25 = pt.terrier.Retriever.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") + dph = pt.terrier.Retriever.from_dataset(dataset, "terrier_stemmed", wmodel="DPH") pt.Experiment( [bm25, dph], dataset.get_topics(), @@ -44,8 +44,8 @@ Indexing and then retrieval of documents from the `MSMARCO document corpus > (tf ** pl2) The output of the bm25 ranker would look like: @@ -65,16 +65,16 @@ FeaturesBatchRetrieve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When executing the pipeline above, the re-ranking of the documents again can be slow, as each separate Retrieve -object has to re-access the inverted index. For this reason, PyTerrier provides a class called FeaturesRetrieve, +object has to re-access the inverted index. For this reason, PyTerrier provides a class called FeaturesRetriever, which allows multiple query dependent features to be calculated at once, by virtue of Terrier's Fat framework. -.. autoclass:: pyterrier.terrier.FeaturesRetrieve +.. autoclass:: pyterrier.terrier.FeaturesRetriever :members: transform An equivalent pipeline to the example above would be:: #pipeline = bm25 >> (tf ** pl2) - pipeline = pyterrier.terrier.FeaturesRetrieve(index, wmodel="BM25", features=["WMODEL:Tf", "WMODEL:PL2"]) + pipeline = pyterrier.terrier.FeaturesRetriever(index, wmodel="BM25", features=["WMODEL:Tf", "WMODEL:PL2"]) Apply Functions for Custom Features diff --git a/docs/operators.rst b/docs/operators.rst index 7d128259..5a553c35 100644 --- a/docs/operators.rst +++ b/docs/operators.rst @@ -187,7 +187,7 @@ Rank Cutoff (`%`) The `%` operator is called rank cutoff, and limits the number of results for each query:: - pipe1 = pt.terrier.Retrieve(index, "BM25") % 2 + pipe1 = pt.terrier.Retriever(index, "BM25") % 2 **Example:** diff --git a/docs/parallel.rst b/docs/parallel.rst index 62e3b11e..f13745ba 100644 --- a/docs/parallel.rst +++ b/docs/parallel.rst @@ -26,7 +26,7 @@ Parallelisation using Joblib A transformer pipeline can be parallelised by using the .parallel() transformer method:: - dph = pt.terrier.Retrieve(index, wmodel='DPH') + dph = pt.terrier.Retriever(index, wmodel='DPH') dph_fast = dph.parallel(2) In this way, any set of queries passed to dph_fast will be separated into two partitions, based on qid, and executed on dph. @@ -40,7 +40,7 @@ a similar way as for joblib:: import ray ray.init() #configure Ray as per your cluster setup - dph = pt.terrier.Retrieve(index, wmodel='DPH') + dph = pt.terrier.Retriever(index, wmodel='DPH') dph_fast = dph.parallel(2, backend='ray') In particular, `ray.init()` must have been called before calling `.parallel()`. @@ -51,7 +51,7 @@ What to Parallelise Only transformers that can be `pickled `_. Transformers that use native code may not be possible to pickle. Some standard PyTerrier transformers have additional support for parallelisation: - - Terrier retrieval: pt.terrier.Retrieve(), pt.FeaturesBatchRetrieve() + - Terrier retrieval: pt.terrier.Retriever(), pt.FeaturesBatchRetrieve() - Anserini retrieval: pt.anserini.AnseriniBatchRetrieve() Pure python transformers, such as `pt.text.sliding()` are picklable. However, parallelising only `pt.text.sliding()` may not produce @@ -61,14 +61,14 @@ Entire transformer pipelines (i.e. combined using operators) can be pickled and the most inefficient component of your process, while also minimising the amount of data being transferred between processes. For instance, consider the following pipeline:: - pipe = pt.terrier.Retrieve(index, metadata=["docno", "text"] >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() + pipe = pt.terrier.Retriever(index, metadata=["docno", "text"] >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() While BatchRetrieve might represent the slowest component of the pipeline, it might make sense to parallelise pipe as a whole, rather than just BatchRetrieve, as then only the queries and final results need to be passed betwene processes. Indeed among the following semantically equivalent pipelines, we expect `parallel_pipe0` and `parallel_pipe2` to be faster than `parallel_pipe1`:: - parallel_pipe0 = pt.terrier.Retrieve(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() - parallel_pipe1 = ( pt.terrier.Retrieve(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() ).parallel(2) >> pt.text.max_passage() + parallel_pipe0 = pt.terrier.Retriever(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() + parallel_pipe1 = ( pt.terrier.Retriever(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() ).parallel(2) >> pt.text.max_passage() parallel_pipe2 = pipe.parallel(2) @@ -84,5 +84,5 @@ Outlook ======= We expect to integate parallelisation at different parts of the PyTerrier platform, such as for conducting a gridsearch. Moreover, we hope -that proper integration of multi-threaded retrieval in pt.terrier.Retrieve() (while requires upstream improvements in the underlying Terrier platform) +that proper integration of multi-threaded retrieval in pt.terrier.Retriever() (while requires upstream improvements in the underlying Terrier platform) will reduce the need for this form of parallelisation. diff --git a/docs/pipeline_examples.md b/docs/pipeline_examples.md index 4d28d1a9..07a5ea44 100644 --- a/docs/pipeline_examples.md +++ b/docs/pipeline_examples.md @@ -5,7 +5,7 @@ ### Sequential Dependence Model ```python -pipe = pt.rewrite.SDM() >> pt.terrier.Retrieve(indexref, wmodel="BM25") +pipe = pt.rewrite.SDM() >> pt.terrier.Retriever(indexref, wmodel="BM25") ``` Note that the SDM() rewriter has a number of constructor parameters: @@ -17,16 +17,16 @@ Note that the SDM() rewriter has a number of constructor parameters: A simple QE transformer can be achieved using ```python -qe = pt.terrier.Retrieve(indexref, wmodel="BM25", controls={"qe" : "on"}) +qe = pt.terrier.Retriever(indexref, wmodel="BM25", controls={"qe" : "on"}) ``` As this is pseudo-relevance feedback in nature, it identifies a set of documents, extracts informative term in the top-ranked documents, and re-exectutes the query. However, more control can be achieved by using the QueryExpansion transformer separately, as thus: ```python -qe = (pt.terrier.Retrieve(indexref, wmodel="BM25") >> +qe = (pt.terrier.Retriever(indexref, wmodel="BM25") >> pt.rewrite.QueryExpansion(indexref) >> - pt.terrier.Retrieve(indexref, wmodel="BM25") + pt.terrier.Retriever(indexref, wmodel="BM25") ) ``` @@ -38,9 +38,9 @@ The QueryExpansion() object has the following constructor parameters: Note that different indexes can be used to achieve query expansion using an external collection (sometimes called collection enrichment or external feedback). For example, to expand queries using Wikipedia as an external resource, in order to get higher quality query re-weighted queries, would look like this: ```python -pipe = (pt.terrier.Retrieve(wikipedia_index, wmodel="BM25") >> +pipe = (pt.terrier.Retriever(wikipedia_index, wmodel="BM25") >> pt.rewrite.QueryExpansion(wikipedia_index) >> - pt.terrier.Retrieve(local_index, wmodel="BM25") + pt.terrier.Retriever(local_index, wmodel="BM25") ) ``` @@ -51,32 +51,32 @@ You need to call `pt.terrier.enable_prf()` to download and load this plugin. ```python pt.terrier.enable_prf() # This is required before Java starts -pipe = (pt.terrier.Retrieve(indexref, wmodel="BM25") >> +pipe = (pt.terrier.Retriever(indexref, wmodel="BM25") >> pt.rewrite.RM3(indexref) >> - pt.terrier.Retrieve(indexref, wmodel="BM25") + pt.terrier.Retriever(indexref, wmodel="BM25") ) ``` ## Combining Rankings Sometimes we have good retrieval approaches and we wish to combine these in a unsupervised manner. We can do that using the linear combination operator: ```python -bm25 = pt.terrier.Retrieve(indexref, wmodel="BM25") -dph = pt.terrier.Retrieve(indexref, wmodel="DPH") +bm25 = pt.terrier.Retriever(indexref, wmodel="BM25") +dph = pt.terrier.Retriever(indexref, wmodel="DPH") linear = bm25 + dph ``` Of course, some weighting can help: ```python -bm25 = pt.terrier.Retrieve(indexref, wmodel="BM25") -dph = pt.terrier.Retrieve(indexref, wmodel="DPH") +bm25 = pt.terrier.Retriever(indexref, wmodel="BM25") +dph = pt.terrier.Retriever(indexref, wmodel="DPH") linear = bm25 + 2* dph ``` However, if the score distributions are not similar, finding a good weight can be tricky. Normalisation of retrieval scores can be advantagous in this case. We provide PerQueryMaxMinScoreTransformer() to make easy normalisation. ```python -bm25 = pt.terrier.Retrieve(indexref, wmodel="BM25") >> pt.pipelines.PerQueryMaxMinScoreTransformer() -dph = pt.terrier.Retrieve(indexref, wmodel="DPH" >> pt.pipelines.PerQueryMaxMinScoreTransformer() +bm25 = pt.terrier.Retriever(indexref, wmodel="BM25") >> pt.pipelines.PerQueryMaxMinScoreTransformer() +dph = pt.terrier.Retriever(indexref, wmodel="DPH" >> pt.pipelines.PerQueryMaxMinScoreTransformer() linear = 0.75 * bm25 + 0.25 * dph ``` @@ -88,13 +88,13 @@ Having shown some of the main formulations, lets show how to build different for - We then score each of the retrieved documents ```python -bm25_cands = pt.terrier.Retrieve(indexref, wmodel="BM25") -dph_cands = pt.terrier.Retrieve(indexref, wmodel="DPH") +bm25_cands = pt.terrier.Retriever(indexref, wmodel="BM25") +dph_cands = pt.terrier.Retriever(indexref, wmodel="DPH") all_cands = bm25_cands | dph_cands all_features = all_cands >> ( - pt.terrier.Retrieve(indexref, wmodel="BM25F") ** - pt.rewrite.SDM() >> pt.terrier.Retrieve(indexref, wmodel="BM25") + pt.terrier.Retriever(indexref, wmodel="BM25F") ** + pt.rewrite.SDM() >> pt.terrier.Retriever(indexref, wmodel="BM25") ) import xgboost as xgb diff --git a/docs/rewrite.rst b/docs/rewrite.rst index b5df332c..0a1729bd 100644 --- a/docs/rewrite.rst +++ b/docs/rewrite.rst @@ -40,7 +40,7 @@ This transfomer is only compatible with BatchRetrieve, as Terrier supports the ` Example:: sdm = pt.rewrite.SequentialDependence() - dph = pt.terrier.Retrieve(index, wmodel="DPH") + dph = pt.terrier.Retriever(index, wmodel="DPH") pipeline = sdm >> dph References: @@ -61,7 +61,7 @@ and returns a dataframe with `["qid", "query"]`. Example:: bo1 = pt.rewrite.Bo1QueryExpansion(index) - dph = pt.terrier.Retrieve(index, wmodel="DPH") + dph = pt.terrier.Retriever(index, wmodel="DPH") pipelineQE = dph >> bo1 >> dph View the expansion terms:: @@ -77,7 +77,7 @@ View the expansion terms:: Note that it is also possible to configure BatchRetrieve to perform QE directly using controls, which will result in identical retrieval effectiveness:: - pipelineQE = pt.terrier.Retrieve(index, wmodel="DPH", controls={"qemodel" : "Bo1", "qe" : "on"}) + pipelineQE = pt.terrier.Retriever(index, wmodel="DPH", controls={"qemodel" : "Bo1", "qe" : "on"}) However, using `pt.rewrite.Bo1QueryExpansion` is preferable as: @@ -161,7 +161,7 @@ This can be attained in PyTerrier through use of `stash_results()` and `reset_re # index: the corpus you are ranking - dph = pt.terrier.Retrieve(index) + dph = pt.terrier.Retriever(index) Pipe = dph >> pt.rewrite.stash_results(clear=False) >> pt.rewrite.RM3(index) @@ -193,17 +193,17 @@ Example: Collection Enrichment as a re-ranker:: # index: the corpus you are ranking # wiki_index: index of Wikipedia, used for enrichment - dph = pt.terrier.Retrieve(index) + dph = pt.terrier.Retriever(index) Pipe = dph >> pt.rewrite.stash_results() - >> pt.terrier.Retrieve(wiki_index) + >> pt.terrier.Retriever(wiki_index) >> pt.rewrite.RM3(wiki_index) >> pt.rewrite.reset_results() >> dph In general, collection enrichment describes conducting a PRF query expansion process on an external corpus (often Wikipedia), before applying the reformulated query to the main corpus. Collection enrichment can be used for improving a first pass -retrieval (`pt.terrier.Retrieve(wiki_index) >> pt.rewrite.RM3(wiki_index) >> pt.terrier.Retrieve(main_index)`). Instead, the particular +retrieval (`pt.terrier.Retriever(wiki_index) >> pt.rewrite.RM3(wiki_index) >> pt.terrier.Retriever(main_index)`). Instead, the particular example shown above applies collection enrichment as a re-ranker. diff --git a/docs/terrier-index-api.rst b/docs/terrier-index-api.rst index e8eab989..eec8b817 100644 --- a/docs/terrier-index-api.rst +++ b/docs/terrier-index-api.rst @@ -28,7 +28,7 @@ IndexRefs can also be obtained from a PyTerrier dataset:: IndexRef objects can be directly passed to BatchRetrieve:: - pt.terrier.Retrieve(indexref).search("chemical reactions") + pt.terrier.Retriever(indexref).search("chemical reactions") If you want to access the underlying data structures, you need to use IndexFactory, using the indexref, or the string location:: diff --git a/docs/terrier-indexing.rst b/docs/terrier-indexing.rst index 6133a76a..b5885290 100644 --- a/docs/terrier-indexing.rst +++ b/docs/terrier-indexing.rst @@ -255,10 +255,10 @@ This allows tokenisation using, for instance, the `HuggingFace tokenizers > br diff --git a/docs/terrier-retrieval.rst b/docs/terrier-retrieval.rst index 55510a59..ad779882 100644 --- a/docs/terrier-retrieval.rst +++ b/docs/terrier-retrieval.rst @@ -1,7 +1,7 @@ Terrier Retrieval ----------------- -terrier.Retrieve is one of the most commonly used PyTerrier objects. It represents a retrieval transformation, +terrier.Retriever is one of the most commonly used PyTerrier objects. It represents a retrieval transformation, in which queries are mapped to retrieved documents. BatchRetrieve uses a pre-existing Terrier index data structure, typically saved on disk. @@ -9,9 +9,9 @@ structure, typically saved on disk. Typical usage:: index = pt.IndexFactory.of("/path/to/data.properties") - tf_idf = pt.terrier.Retrieve(index, wmodel="TF_IDF") - bm25 = pt.terrier.Retrieve(index, wmodel="BM25") - pl2 = pt.terrier.Retrieve(index, wmodel="PL2") + tf_idf = pt.terrier.Retriever(index, wmodel="TF_IDF") + bm25 = pt.terrier.Retriever(index, wmodel="BM25") + pl2 = pt.terrier.Retriever(index, wmodel="PL2") pt.Experiment([tf_idf, bm25, pl2], topic, qrels, eval_metrics=["map"]) @@ -23,14 +23,14 @@ columns `["qid", "query", "docno"]`, and returns dataframes with columns `["qid" For instance, to create a re-ranking pipeline that re-scores the top 100 BM25 documents using PL2:: - bm25 = pt.terrier.Retrieve(index, wmodel="BM25") - pl2 = pt.terrier.Retrieve(index, wmodel="PL2") + bm25 = pt.terrier.Retriever(index, wmodel="BM25") + pl2 = pt.terrier.Retriever(index, wmodel="PL2") pipeline = (bm25 % 100) >> pl2 Retrieve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: pyterrier.terrier.Retrieve +.. autoclass:: pyterrier.terrier.Retriever :members: transform, from_dataset @@ -60,16 +60,16 @@ Common properties: **Examples**:: # these two Retrieve instances are identical, using the same weighting model - bm25a = pt.terrier.Retrieve(index, wmodel="BM25") - bm25b = pt.terrier.Retrieve(index, controls={"wmodel":"BM25"}) + bm25a = pt.terrier.Retriever(index, wmodel="BM25") + bm25b = pt.terrier.Retriever(index, controls={"wmodel":"BM25"}) # this one also applies query expansion inside Terrier - bm25_qe = pt.terrier.Retrieve(index, wmodel="BM25", controls={"qe":"on", "qemodel" : "Bo1"}) + bm25_qe = pt.terrier.Retriever(index, wmodel="BM25", controls={"qe":"on", "qemodel" : "Bo1"}) # when we introduce an unstemmed BatchRetrieve, we ensure to explicitly set the termpipelines # for the other BatchRetrieve as well - bm25s_unstemmed = pt.terrier.Retrieve(indexUS, wmodel="BM25", properties={"termpipelines" : ""}) - bm25s_stemmed = pt.terrier.Retrieve(indexSS, wmodel="BM25", properties={"termpipelines" : "Stopwords,PorterStemmer"}) + bm25s_unstemmed = pt.terrier.Retriever(indexUS, wmodel="BM25", properties={"termpipelines" : ""}) + bm25s_stemmed = pt.terrier.Retriever(indexSS, wmodel="BM25", properties={"termpipelines" : "Stopwords,PorterStemmer"}) @@ -87,26 +87,26 @@ Where possible, for faster reuse, load the actual Index. Bad Practice:: - bm25 = pt.terrier.Retrieve("/path/to/data.properties", wmodel="BM25") - pl2 = pt.terrier.Retrieve("/path/to/data.properties", wmodel="PL2") + bm25 = pt.terrier.Retriever("/path/to/data.properties", wmodel="BM25") + pl2 = pt.terrier.Retriever("/path/to/data.properties", wmodel="PL2") # here, the same index must be loaded twice Good Practice:: index = pt.IndexFactory.of("/path/to/data.properties") - bm25 = pt.terrier.Retrieve(index, wmodel="BM25") - pl2 = pt.terrier.Retrieve(index, wmodel="PL2") + bm25 = pt.terrier.Retriever(index, wmodel="BM25") + pl2 = pt.terrier.Retriever(index, wmodel="PL2") # here, we share the index between two instances of BatchRetrieve You can use the IndexFactory to specify that the index data structures to be loaded into memory:: # load all structures into memory inmemindex = pt.IndexFactory.of("/path/to/data.properties", memory=True) - bm25_fast = pt.terrier.Retrieve(inmemindex, wmodel="BM25") + bm25_fast = pt.terrier.Retriever(inmemindex, wmodel="BM25") # load just inverted and lexicon into memory inmem_inverted_index = pt.IndexFactory.of("/path/to/data.properties", memory=['inverted', 'lexicon']) - bm25_fast = pt.terrier.Retrieve(inmem_inverted_index, wmodel="BM25") + bm25_fast = pt.terrier.Retriever(inmem_inverted_index, wmodel="BM25") TextScorer @@ -141,13 +141,13 @@ If you have your own Java weighting model instance (which extends the you can load it and pass it directly to BatchRetrieve:: mymodel = pt.autoclass("com.example.MyTF")() - retr = pt.terrier.Retrieve(indexref, wmodel=mymodel) + retr = pt.terrier.Retriever(indexref, wmodel=mymodel) More usefully, it is possible to express a weighting model entirely in Python, as a function or a lambda expression, that can be used by Terrier for scoring. In this example, we create a Terrier BatchRetrieve instance that scores based solely on term frequency:: Tf = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() - retr = pt.terrier.Retrieve(indexref, wmodel=Tf) + retr = pt.terrier.Retriever(indexref, wmodel=Tf) All functions passed must accept 4 arguments, as follows: diff --git a/docs/text.rst b/docs/text.rst index 174d0aa3..6859d886 100644 --- a/docs/text.rst +++ b/docs/text.rst @@ -53,12 +53,12 @@ all document fields, not just those that were included as meta fields when index Examples:: # the following pipelines are equivalent - pipe1 = pt.terrier.Retrieve(index, metadata=["docno", "body"]) + pipe1 = pt.terrier.Retriever(index, metadata=["docno", "body"]) - pipe2 = pt.terrier.Retrieve(index) >> pt.text.get_text(index, "body") + pipe2 = pt.terrier.Retriever(index) >> pt.text.get_text(index, "body") dataset = pt.get_dataset('irds:vaswani') - pipe3 = pt.terrier.Retrieve(index) >> pt.text.get_text(dataset, "text") + pipe3 = pt.terrier.Retriever(index) >> pt.text.get_text(dataset, "text") .. autofunction:: pyterrier.text.get_text() diff --git a/docs/transformer.rst b/docs/transformer.rst index 5f2a382b..90910a90 100644 --- a/docs/transformer.rst +++ b/docs/transformer.rst @@ -17,7 +17,7 @@ before returning it. +=======+=========+=============+==================+==============================+ | Q | Q | 1 to 1 | Query rewriting | `pt.rewrite.SDM()` | +-------+---------+-------------+------------------+------------------------------+ -| Q | Q x D | 1 to N | Retrieval | `pt.terrier.Retrieve()` | +| Q | Q x D | 1 to N | Retrieval | `pt.terrier.Retriever()` | +-------+---------+-------------+------------------+------------------------------+ | Q x D | Q | N to 1 | Query expansion | `pt.rewrite.RM3()` | +-------+---------+-------------+------------------+------------------------------+ diff --git a/docs/tuning.rst b/docs/tuning.rst index b188770c..1c542b04 100644 --- a/docs/tuning.rst +++ b/docs/tuning.rst @@ -39,7 +39,7 @@ When using BatchRetrieve, the `b` parameter of the BM25 weighting model can be c We must give this control an initial value when contructing the BatchRetrieve instance. Thereafter, the GridSearch parameter dictionary can be constructed by refering to the instance of transformer that has that parameter:: - BM25 = pt.terrier.Retrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75}) + BM25 = pt.terrier.Retriever(index, wmodel="BM25", controls={"bm25.b" : 0.75}) pt.GridSearch( BM25, {BM25 : {"c" : [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ]}} @@ -49,7 +49,7 @@ parameter dictionary can be constructed by refering to the instance of transform Terrier's BM25 also responds to controls named `"bm25.k_1"` and `"bm25.k_3"`, such that all three controls can be tuned concurrently:: - BM25 = pt.terrier.Retrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75, "bm25.k_1": 0.75, "bm25.k_3": 0.75}) + BM25 = pt.terrier.Retriever(index, wmodel="BM25", controls={"bm25.b" : 0.75, "bm25.k_1": 0.75, "bm25.k_3": 0.75}) pt.GridSearch( BM25, {BM25: {"bm25.b" : [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ], @@ -72,7 +72,7 @@ of feedback documents and expansion terms, namely: A full tuning of BM25 and RM3 can be achieved as thus:: - bm25_for_qe = pt.terrier.Retrieve(index, wmodel="BM25", controls={"bm25.b" : 0.75}) + bm25_for_qe = pt.terrier.Retriever(index, wmodel="BM25", controls={"bm25.b" : 0.75}) rm3 = pt.rewrite.RM3(index, fb_terms=10, fb_docs=3) pipe_qe = bm25_for_qe >> rm3 >> bm25_for_qe @@ -121,7 +121,7 @@ The following is an example of scanning the parameters of BM25F for an index wit assert 2 == index.getCollectionStatistics().getNumberOfFields() # instantiate BatchRetrieve for BM25F - bm25f = pt.terrier.Retrieve( + bm25f = pt.terrier.Retriever( index, wmodel = 'BM25F', controls = {'w.0' : 1, 'w.1' : 1, 'c.0' : 0.4, 'c.1' : 0.4} diff --git a/examples/experiments/Robust04.ipynb b/examples/experiments/Robust04.ipynb index 2921ba22..e4e8ea1e 100644 --- a/examples/experiments/Robust04.ipynb +++ b/examples/experiments/Robust04.ipynb @@ -197,10 +197,10 @@ "outputs": [], "source": [ "\n", - "BM25 = pt.terrier.Retrieve(index, wmodel=\"BM25\")\n", - "DPH = pt.terrier.Retrieve(index, wmodel=\"DPH\")\n", - "PL2 = pt.terrier.Retrieve(index, wmodel=\"PL2\")\n", - "DLM = pt.terrier.Retrieve(index, wmodel=\"DirichletLM\")\n" + "BM25 = pt.terrier.Retriever(index, wmodel=\"BM25\")\n", + "DPH = pt.terrier.Retriever(index, wmodel=\"DPH\")\n", + "PL2 = pt.terrier.Retriever(index, wmodel=\"PL2\")\n", + "DLM = pt.terrier.Retriever(index, wmodel=\"DirichletLM\")\n" ] }, { diff --git a/examples/notebooks/experiment.ipynb b/examples/notebooks/experiment.ipynb index bc1d9ea9..d9a4392a 100644 --- a/examples/notebooks/experiment.ipynb +++ b/examples/notebooks/experiment.ipynb @@ -148,9 +148,9 @@ }, "outputs": [], "source": [ - "TF_IDF = pt.terrier.Retrieve(vaswani.get_index(), wmodel=\"TF_IDF\")\n", - "BM25 = pt.terrier.Retrieve(vaswani.get_index(), wmodel=\"BM25\")\n", - "PL2 = pt.terrier.Retrieve(vaswani.get_index(), wmodel=\"PL2\")" + "TF_IDF = pt.terrier.Retriever(vaswani.get_index(), wmodel=\"TF_IDF\")\n", + "BM25 = pt.terrier.Retriever(vaswani.get_index(), wmodel=\"BM25\")\n", + "PL2 = pt.terrier.Retriever(vaswani.get_index(), wmodel=\"PL2\")" ] }, { diff --git a/examples/notebooks/indexing.ipynb b/examples/notebooks/indexing.ipynb index 7e69b81a..a7e257c1 100644 --- a/examples/notebooks/indexing.ipynb +++ b/examples/notebooks/indexing.ipynb @@ -782,7 +782,7 @@ } ], "source": [ - "pt.terrier.Retrieve(indexref).search(\"mathematical\")" + "pt.terrier.Retriever(indexref).search(\"mathematical\")" ] }, { @@ -969,7 +969,7 @@ "source": [ "import pandas as pd\n", "topics = pd.DataFrame([[\"2\", \"mathematical\"]],columns=['qid','query'])\n", - "pt.terrier.Retrieve(indexref).transform(topics)" + "pt.terrier.Retriever(indexref).transform(topics)" ] }, { diff --git a/examples/notebooks/ltr.ipynb b/examples/notebooks/ltr.ipynb index 1de9ad09..94a9eaef 100644 --- a/examples/notebooks/ltr.ipynb +++ b/examples/notebooks/ltr.ipynb @@ -142,11 +142,11 @@ "outputs": [], "source": [ "#this ranker will make the candidate set of documents for each query\n", - "BM25 = pt.terrier.Retrieve(indexref, wmodel=\"BM25\")\n", + "BM25 = pt.terrier.Retriever(indexref, wmodel=\"BM25\")\n", "\n", "#these rankers we will use to re-rank the BM25 results\n", - "TF_IDF = pt.terrier.Retrieve(indexref, wmodel=\"TF_IDF\")\n", - "PL2 = pt.terrier.Retrieve(indexref, wmodel=\"PL2\")" + "TF_IDF = pt.terrier.Retriever(indexref, wmodel=\"TF_IDF\")\n", + "PL2 = pt.terrier.Retriever(indexref, wmodel=\"PL2\")" ] }, { @@ -369,7 +369,7 @@ } ], "source": [ - "fbr = pt.terrier.FeaturesRetrieve(indexref, wmodel=\"BM25\", features=[\"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", + "fbr = pt.terrier.FeaturesRetriever(indexref, wmodel=\"BM25\", features=[\"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", "#lets look at the top 2 results\n", "(fbr %2).search(\"chemical\")" ] @@ -573,7 +573,7 @@ } ], "source": [ - "fbr3f = pt.terrier.FeaturesRetrieve(indexref, wmodel=\"BM25\", features=[\"SAMPLE\", \"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", + "fbr3f = pt.terrier.FeaturesRetriever(indexref, wmodel=\"BM25\", features=[\"SAMPLE\", \"WMODEL:TF_IDF\", \"WMODEL:PL2\"])\n", "(fbr3f %2).search(\"chemical\")" ] }, diff --git a/examples/notebooks/non_en_retrieval.ipynb b/examples/notebooks/non_en_retrieval.ipynb index 59471252..4c3f7a1e 100644 --- a/examples/notebooks/non_en_retrieval.ipynb +++ b/examples/notebooks/non_en_retrieval.ipynb @@ -481,14 +481,14 @@ } ], "source": [ - "bm25_nostem = pt.terrier.Retrieve(index_nostem, wmodel='BM25')\n", + "bm25_nostem = pt.terrier.Retriever(index_nostem, wmodel='BM25')\n", "bm25_nostem.search('El Centro') \n", "\n", - "bm25_stem = pt.terrier.Retrieve(index_stem, wmodel='BM25')\n", + "bm25_stem = pt.terrier.Retriever(index_stem, wmodel='BM25')\n", "bm25_stem.search('El Centro') \n", "\n", "# to apply the es_preprocess function to the query text, use a pt.apply.query transformer\n", - "bm25_custom = pt.apply.query(lambda row: es_preprocess(row.query)) >> pt.terrier.Retrieve(index_custom, wmodel='BM25')\n", + "bm25_custom = pt.apply.query(lambda row: es_preprocess(row.query)) >> pt.terrier.Retriever(index_custom, wmodel='BM25')\n", "bm25_custom.search('El Centro')" ] }, diff --git a/examples/notebooks/retrieval_and_evaluation.ipynb b/examples/notebooks/retrieval_and_evaluation.ipynb index 94674b16..51686c42 100644 --- a/examples/notebooks/retrieval_and_evaluation.ipynb +++ b/examples/notebooks/retrieval_and_evaluation.ipynb @@ -324,7 +324,7 @@ }, "outputs": [], "source": [ - "retr = pt.terrier.Retrieve(index, controls = {\"wmodel\": \"TF_IDF\"})\n", + "retr = pt.terrier.Retriever(index, controls = {\"wmodel\": \"TF_IDF\"})\n", "\n", "retr.setControl(\"wmodel\", \"TF_IDF\")\n", "retr.setControls({\"wmodel\": \"TF_IDF\"})\n", diff --git a/examples/notebooks/sentence_transformers.ipynb b/examples/notebooks/sentence_transformers.ipynb index ed625c15..bcdb4a02 100644 --- a/examples/notebooks/sentence_transformers.ipynb +++ b/examples/notebooks/sentence_transformers.ipynb @@ -421,7 +421,7 @@ } ], "source": [ - "bm25 = pt.terrier.Retrieve.from_dataset('msmarco_passage', 'terrier_stemmed_text', wmodel='BM25', metadata=['docno', 'text'])" + "bm25 = pt.terrier.Retriever.from_dataset('msmarco_passage', 'terrier_stemmed_text', wmodel='BM25', metadata=['docno', 'text'])" ] }, { diff --git a/pyterrier/apply.py b/pyterrier/apply.py index a4b3c5f7..bdce4c1d 100644 --- a/pyterrier/apply.py +++ b/pyterrier/apply.py @@ -43,12 +43,12 @@ def _remove_stops(q): return " ".join(terms) # a query rewriting transformer that applies the _remove_stops to each row of an input dataframe - p1 = pt.apply.query(_remove_stops) >> pt.terrier.Retrieve(index, wmodel="DPH") + p1 = pt.apply.query(_remove_stops) >> pt.terrier.Retriever(index, wmodel="DPH") # an equivalent query rewriting transformer using an anonymous lambda function p2 = pt.apply.query( lambda q : " ".join([t for t in q["query"].split(" ") if t not in stops ]) - ) >> pt.terrier.Retrieve(index, wmodel="DPH") + ) >> pt.terrier.Retriever(index, wmodel="DPH") In both of the example pipelines above (`p1` and `p2`), the exact topics are not known until the pipeline is invoked, e.g. by using `p1.transform(topics)` on a topics dataframe, or within a `pt.Experiment()`. When the pipeline @@ -75,7 +75,7 @@ def doc_score(fn : Union[Callable[[pd.Series], float], Callable[[pd.DataFrame], Example (Row-wise):: # this transformer will subtract 5 from the score of each document - p = pt.terrier.Retrieve(index, wmodel="DPH") >> + p = pt.terrier.Retriever(index, wmodel="DPH") >> pt.apply.doc_score(lambda doc : doc["score"] -5) Can be used in batch-wise manner, which is particularly useful for appling neural models. In this case, @@ -85,7 +85,7 @@ def _doclen(df): # returns series of lengths return df.text.str.len() - pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_score(_doclen, batch_size=128) + pipe = pt.terrier.Retriever(index) >> pt.apply.doc_score(_doclen, batch_size=128) """ return ApplyDocumentScoringTransformer(fn, *args, batch_size=batch_size, **kwargs) @@ -113,7 +113,7 @@ def _features(row): f2 = len(content.split(" ")) return np.array([f1, f2]) - p = pt.terrier.Retrieve(index, wmodel="BM25") >> + p = pt.terrier.Retriever(index, wmodel="BM25") >> pt.apply.doc_features(_features ) """ @@ -129,7 +129,7 @@ def rename(columns : Dict[str,str], *args, errors='raise', **kwargs) -> pt.Trans Example:: - pipe = pt.terrier.Retrieve(index, metadata=["docno", "body"]) >> pt.apply.rename({'body':'text'}) + pipe = pt.terrier.Retriever(index, metadata=["docno", "body"]) >> pt.apply.rename({'body':'text'}) """ return ApplyGenericTransformer(lambda df: df.rename(columns=columns, errors=errors), *args, **kwargs) @@ -151,7 +151,7 @@ def generic(fn : Callable[[pd.DataFrame], pd.DataFrame], *args, batch_size=None, # this transformer will remove all documents at rank greater than 2. # this pipeline would remove all but the first two documents from a result set - pipe = pt.terrier.Retrieve(index) >> pt.apply.generic(lambda res : res[res["rank"] < 2]) + pipe = pt.terrier.Retriever(index) >> pt.apply.generic(lambda res : res[res["rank"] < 2]) """ return ApplyGenericTransformer(fn, *args, batch_size=batch_size, **kwargs) diff --git a/pyterrier/apply_base.py b/pyterrier/apply_base.py index e9ec6661..d138d68b 100644 --- a/pyterrier/apply_base.py +++ b/pyterrier/apply_base.py @@ -78,7 +78,7 @@ class ApplyDocumentScoringTransformer(ApplyTransformerBase): def _score_fn(row): return float(row["url".count("/")]) - pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_score(_score_fn) + pipe = pt.terrier.Retriever(index) >> pt.apply.doc_score(_score_fn) Can be used in batching manner, which is particularly useful for appling neural models. In this case, the scoring function receives a dataframe, rather than a single row:: @@ -86,7 +86,7 @@ def _score_fn(row): def _doclen(df): return df.text.str.len() - pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_score(_doclen) + pipe = pt.terrier.Retriever(index) >> pt.apply.doc_score(_doclen) """ def __init__(self, fn, *args, batch_size=None, **kwargs): @@ -148,7 +148,7 @@ class ApplyDocFeatureTransformer(ApplyTransformerBase): def _feature_fn(row): return numpy.array([len(row["url"], row["url".count("/")]) - pipe = pt.terrier.Retrieve(index) >> pt.apply.doc_features(_feature_fn) >> pt.LTRpipeline(xgBoost()) + pipe = pt.terrier.Retriever(index) >> pt.apply.doc_features(_feature_fn) >> pt.LTRpipeline(xgBoost()) """ def __init__(self, fn, *args, **kwargs): """ @@ -180,11 +180,11 @@ class ApplyQueryTransformer(ApplyTransformerBase): def _rewriting_fn(row): return row["query"] + " extra words" - pipe = pt.apply.query(_rewriting_fn) >> pt.terrier.Retrieve(index) + pipe = pt.apply.query(_rewriting_fn) >> pt.terrier.Retriever(index) Similarly, a lambda function can also be used:: - pipe = pt.apply.query(lambda row: row["query"] + " extra words") >> pt.terrier.Retrieve(index) + pipe = pt.apply.query(lambda row: row["query"] + " extra words") >> pt.terrier.Retriever(index) In the resulting dataframe, the previous query for each row can be found in the query_0 column. @@ -238,7 +238,7 @@ class ApplyGenericTransformer(ApplyTransformerBase): # this pipeline would remove all but the first two documents from a result set lp = ApplyGenericTransformer(lambda res : res[res["rank"] < 2]) - pipe = pt.terrier.Retrieve(index) >> lp + pipe = pt.terrier.Retriever(index) >> lp """ diff --git a/pyterrier/cache.py b/pyterrier/cache.py index f317e692..dd9bc609 100644 --- a/pyterrier/cache.py +++ b/pyterrier/cache.py @@ -71,7 +71,7 @@ class ChestCacheTransformer(Transformer): dataset = pt.get_dataset("trec-robust-2004") # use for first pass and 2nd pass - BM25 = pt.terrier.Retrieve(index, wmodel="BM25") + BM25 = pt.terrier.Retriever(index, wmodel="BM25") # used for query expansion RM3 = pt.rewrite.RM3(index) diff --git a/pyterrier/ltr.py b/pyterrier/ltr.py index f4af190f..e3a3d02e 100644 --- a/pyterrier/ltr.py +++ b/pyterrier/ltr.py @@ -276,9 +276,9 @@ def score_to_feature() -> Transformer: Example:: - cands = pt.terrier.Retrieve(index, wmodel="BM25") - bm25f = pt.terrier.Retrieve(index, wmodel="BM25F") - pl2f = pt.terrier.Retrieve(index, wmodel="PL2F") + cands = pt.terrier.Retriever(index, wmodel="BM25") + bm25f = pt.terrier.Retriever(index, wmodel="BM25F") + pl2f = pt.terrier.Retriever(index, wmodel="PL2F") two_features = cands >> (bm25f ** pl2f) three_features = cands >> (bm25f ** pl2f ** pt.ltr.score_to_feature()) diff --git a/pyterrier/ops.py b/pyterrier/ops.py index df8b9e06..1de6a445 100644 --- a/pyterrier/ops.py +++ b/pyterrier/ops.py @@ -200,9 +200,9 @@ class FeatureUnionPipeline(NAryTransformerBase): Implements the feature union operator. Example:: - cands = pt.terrier.Retrieve(index wmodel="BM25") - pl2f = pt.terrier.Retrieve(index wmodel="PL2F") - bm25f = pt.terrier.Retrieve(index wmodel="BM25F") + cands = pt.terrier.Retriever(index wmodel="BM25") + pl2f = pt.terrier.Retriever(index wmodel="PL2F") + bm25f = pt.terrier.Retriever(index wmodel="BM25F") pipe = cands >> (pl2f ** bm25f) """ name = "FUnion" diff --git a/pyterrier/pipelines.py b/pyterrier/pipelines.py index d17971e8..332b4251 100644 --- a/pyterrier/pipelines.py +++ b/pyterrier/pipelines.py @@ -653,7 +653,7 @@ def KFoldGridSearch( Consider tuning PL2 where folds of queries are pre-determined:: - pl2 = pt.terrier.Retrieve(index, wmodel="PL2", controls={'c' : 1}) + pl2 = pt.terrier.Retriever(index, wmodel="PL2", controls={'c' : 1}) tuned_pl2, _ = pt.KFoldGridSearch( pl2, {pl2 : {'c' : [0.1, 1, 5, 10, 20, 100]}}, @@ -827,7 +827,7 @@ def GridScan( Example:: # graph how PL2's c parameter affects MAP - pl2 = pt.terrier.Retrieve(index, wmodel="PL2", controls={'c' : 1}) + pl2 = pt.terrier.Retriever(index, wmodel="PL2", controls={'c' : 1}) rtr = pt.GridScan( pl2, {pl2 : {'c' : [0.1, 1, 5, 10, 20, 100]}}, diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 44474f28..7578ba87 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,7 +1,7 @@ # java stuff from pyterrier.terrier import java from pyterrier.terrier.java import configure, set_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version -from pyterrier.terrier.retrieve import Retrieve, FeaturesRetrieve, TextScorer +from pyterrier.terrier.retriever import Retrieve, FeaturesRetriever, TextScorer from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier.stemmer import TerrierStemmer from pyterrier.terrier.tokeniser import TerrierTokeniser @@ -12,16 +12,16 @@ from deprecated import deprecated -TerrierRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retrieve() instead")(Retrieve) -BatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retrieve() instead")(Retrieve) -FeaturesBatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.FeaturesRetrieve() instead")(FeaturesRetrieve) +TerrierRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead")(Retrieve) +BatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead")(Retrieve) +FeaturesBatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.FeaturesRetriever() instead")(FeaturesRetriever) __all__ = [ # java stuff 'java', 'configure', 'set_version', 'set_helper_version', 'enable_prf', 'extend_classpath', 'J', 'version', 'check_version', 'check_helper_version', # retrieval - 'Retrieve', 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesRetrieve', 'FeaturesBatchRetrieve', 'TerrierRetrieve', 'TextScorer', + 'Retrieve', 'BatchRetrieve', 'TerrierRetrieve', 'FeaturesRetriever', 'FeaturesBatchRetrieve', 'TerrierRetrieve', 'TextScorer', # indexing 'index', 'TerrierIndexer', 'FilesIndexer', 'TRECCollectionIndexer', 'DFIndexer', 'DFIndexUtils', 'IterDictIndexer', 'IndexingType', 'treccollection2textgen', diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index ce200242..326eaaa5 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -384,7 +384,7 @@ def _new_callable_wmodel(byterep): #we need to prevent these functions from being GCd. global _SAVED_FNS _SAVED_FNS.append(fn) - callback, wmodel = pt.terrier.retrieve._function2wmodel(fn) + callback, wmodel = pt.terrier.retriever._function2wmodel(fn) _SAVED_FNS.append(callback) #print("Stored lambda fn %s and callback in SAVED_FNS, now %d stored" % (str(fn), len(SAVED_FNS))) return wmodel diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 1f0bd6fd..b07cce09 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -156,9 +156,9 @@ def from_dataset(dataset : Union[str,Dataset], Examples:: dataset = pt.get_dataset("vaswani") - bm25 = pt.terrier.Retrieve.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") + bm25 = pt.terrier.Retriever.from_dataset(dataset, "terrier_stemmed", wmodel="BM25") #or - bm25 = pt.terrier.Retrieve.from_dataset("vaswani", "terrier_stemmed", wmodel="BM25") + bm25 = pt.terrier.Retriever.from_dataset("vaswani", "terrier_stemmed", wmodel="BM25") **Index Variants**: @@ -586,7 +586,7 @@ def __init__(self, takes="docs", **kwargs): @pt.java.required -class FeaturesRetrieve(Retrieve): +class FeaturesRetriever(Retrieve): """ Use this class for retrieval with multiple features """ @@ -610,8 +610,8 @@ def __init__(self, index_location, features, controls=None, properties=None, thr verbose(bool): If True transform method will display progress num_results(int): Number of results to retrieve. """ - controls = _mergeDicts(FeaturesRetrieve.FBR_default_controls, controls) - properties = _mergeDicts(FeaturesRetrieve.FBR_default_properties, properties) + controls = _mergeDicts(FeaturesRetriever.FBR_default_controls, controls) + properties = _mergeDicts(FeaturesRetriever.FBR_default_properties, properties) self.features = features properties["fat.featured.scoring.matching.features"] = ";".join(features) @@ -664,14 +664,14 @@ def from_dataset(dataset : Union[str,Dataset], variant : str = None, version='latest', **kwargs): - return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesRetrieve, **kwargs) + return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesRetriever, **kwargs) @staticmethod def from_dataset(dataset : Union[str,Dataset], variant : str = None, version='latest', **kwargs): - return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesRetrieve, **kwargs) + return _from_dataset(dataset, variant=variant, version=version, clz=FeaturesRetriever, **kwargs) def transform(self, queries): """ @@ -811,7 +811,7 @@ def setup_rewrites(): # two different match retrives _br1 = Wildcard.symbol('_br1', Retrieve) _br2 = Wildcard.symbol('_br2', Retrieve) - _fbr = Wildcard.symbol('_fbr', FeaturesRetrieve) + _fbr = Wildcard.symbol('_fbr', FeaturesRetriever) # batch retrieves for the same index BR_index_matches = CustomConstraint(lambda _br1, _br2: _br1.indexref == _br2.indexref) @@ -848,7 +848,7 @@ def setup_rewrites(): # rewrite batch a feature union of BRs into an FBR rewrite_rules.append(ReplacementRule( Pattern(FeatureUnionPipeline(_br1, _br2), BR_index_matches), - lambda _br1, _br2: FeaturesRetrieve(_br1.indexref, ["WMODEL:" + _br1.controls["wmodel"], "WMODEL:" + _br2.controls["wmodel"]]) + lambda _br1, _br2: FeaturesRetriever(_br1.indexref, ["WMODEL:" + _br1.controls["wmodel"], "WMODEL:" + _br2.controls["wmodel"]]) )) def push_fbr_earlier(_br1, _fbr): diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index 2829b297..8ccf0196 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -19,22 +19,22 @@ def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', m Example - use default tokeniser:: - pipe = pt.rewrite.tokenise() >> pt.terrier.Retrieve() + pipe = pt.rewrite.tokenise() >> pt.terrier.Retriever() pipe.search("Question with 'capitals' and other stuff?") Example - roll your own tokeniser:: - poortokenisation = pt.rewrite.tokenise(lambda query: query.split(" ")) >> pt.terrier.Retrieve() + poortokenisation = pt.rewrite.tokenise(lambda query: query.split(" ")) >> pt.terrier.Retriever() Example - for non-English languages, tokenise on standard UTF non-alphanumeric characters:: - utftokenised = pt.rewrite.tokenise(pt.TerrierTokeniser.utf)) >> pt.terrier.Retrieve() - utftokenised = pt.rewrite.tokenise("utf")) >> pt.terrier.Retrieve() + utftokenised = pt.rewrite.tokenise(pt.TerrierTokeniser.utf)) >> pt.terrier.Retriever() + utftokenised = pt.rewrite.tokenise("utf")) >> pt.terrier.Retriever() Example - tokenising queries using a `HuggingFace tokenizer `_ :: # this assumes the index was created in a pretokenised manner - br = pt.terrier.Retrieve(indexref) + br = pt.terrier.Retriever(indexref) tok = AutoTokenizer.from_pretrained("bert-base-uncased") query_toks = pt.rewrite.tokenise(tok.tokenize, matchop=True) retr_pipe = query_toks >> br @@ -58,7 +58,7 @@ def _join_str(input : Union[str,List[str]]): def _join_str_matchop(input : List[str]): assert not isinstance(input, str), "Expected a list of strings" - return ' '.join(map(pt.terrier.Retrieve.matchop, input)) + return ' '.join(map(pt.terrier.Retriever.matchop, input)) if matchop: return pt.apply.query(lambda r: _join_str_matchop(_query_fn(r.query))) @@ -76,7 +76,7 @@ def reset() -> pt.Transformer: Example:: - firststage = pt.rewrite.SDM() >> pt.terrier.Retrieve(index, wmodel="DPH") + firststage = pt.rewrite.SDM() >> pt.terrier.Retriever(index, wmodel="DPH") secondstage = pyterrier_bert.cedr.CEDRPipeline() fullranker = firststage >> pt.rewrite.reset() >> secondstage @@ -178,7 +178,7 @@ def __init__(self, index_like, fb_terms=10, fb_docs=3, qeclass="org.terrier.quer self.qe = pt.java.autoclass(qeclass)() else: self.qe = qeclass - self.indexref = pt.terrier.retrieve._parse_index_like(index_like) + self.indexref = pt.terrier.retriever._parse_index_like(index_like) self.properties = properties for k,v in properties.items(): pt.terrier.J.ApplicationSetup.setProperty(k, str(v)) @@ -368,7 +368,7 @@ class RM3(QueryExpansion): Example:: - bm25 = pt.terrier.Retrieve(index, wmodel="BM25") + bm25 = pt.terrier.Retriever(index, wmodel="BM25") rm3_pipe = bm25 >> pt.rewrite.RM3(index) >> bm25 pt.Experiment([bm25, rm3_pipe], dataset.get_topics(), diff --git a/pyterrier/text.py b/pyterrier/text.py index 5fc90ae5..d294693f 100644 --- a/pyterrier/text.py +++ b/pyterrier/text.py @@ -28,7 +28,7 @@ def get_text( Example:: - pipe = ( pt.terrier.Retrieve(index, wmodel="DPH") + pipe = ( pt.terrier.Retriever(index, wmodel="DPH") >> pt.text.get_text(index) >> pt.text.scorer(wmodel="DPH") ) @@ -160,7 +160,7 @@ def scorer(*args, **kwargs) -> pt.Transformer: textscorerTfIdf = pt.text.scorer(body_attr="text", wmodel="TF_IDF", background_index=index) """ - return pt.terrier.retrieve.TextScorer(*args, **kwargs) + return pt.terrier.retriever.TextScorer(*args, **kwargs) def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='title', tokenizer=None, **kwargs) -> pt.Transformer: r""" @@ -188,7 +188,7 @@ def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='ti Example:: - pipe = ( pt.terrier.Retrieve(index, wmodel="DPH", metadata=["docno", "body"]) + pipe = ( pt.terrier.Retriever(index, wmodel="DPH", metadata=["docno", "body"]) >> pt.text.sliding(length=128, stride=64, prepend_attr=None) >> pt.text.scorer(wmodel="DPH") >> pt.text.max_passage() ) @@ -196,7 +196,7 @@ def sliding( text_attr='body', length=150, stride=75, join=' ', prepend_attr='ti # tokenizer model from transformers import AutoTokenizer tok = AutoTokenizer.from_pretrained("bert-base-uncased") - pipe = (pt.terrier.Retrieve(index, wmodel="DPH", metadata=["docno", "body"]) + pipe = (pt.terrier.Retriever(index, wmodel="DPH", metadata=["docno", "body"]) >> pt.text.sliding(length=128, stride=64, prepend_attr=None, tokenizer=tok) >> pt.text.scorer(wmodel="DPH") >> pt.text.max_passage() ) @@ -289,7 +289,7 @@ def snippets( Example:: # retrieve documents with text - br = pt.terrier.Retrieve(index, metadata=['docno', 'text']) + br = pt.terrier.Retriever(index, metadata=['docno', 'text']) # use Tf as a passage scorer on sliding window passages psg_scorer = ( diff --git a/pyterrier/transformer.py b/pyterrier/transformer.py index 7103eff6..56b34dde 100644 --- a/pyterrier/transformer.py +++ b/pyterrier/transformer.py @@ -64,8 +64,8 @@ def identity() -> 'Transformer': This can be useful for adding the candidate ranking score as a feature in for learning-to-rank:: - bm25 = pt.terrier.Retrieve(index, wmodel="BM25") - two_feat_pipe = bm25 >> pt.Transformer.identify() ** pt.terrier.Retrieve(index, wmodel="PL2") + bm25 = pt.terrier.Retriever(index, wmodel="BM25") + two_feat_pipe = bm25 >> pt.Transformer.identify() ** pt.terrier.Retriever(index, wmodel="PL2") This will return a pipeline that produces a score column (BM25), but also has a features column containing BM25 and PL2 scores. @@ -155,7 +155,7 @@ def search(self, query : str, qid : str = "1", sort=True) -> pd.DataFrame: Example:: - bm25 = pt.terrier.Retrieve(index, wmodel="BM25") + bm25 = pt.terrier.Retriever(index, wmodel="BM25") res = bm25.search("example query") # is equivalent to diff --git a/tests/test_dunder.py b/tests/test_dunder.py index 8419561f..d6fb5af9 100644 --- a/tests/test_dunder.py +++ b/tests/test_dunder.py @@ -9,7 +9,7 @@ def test_callable_wmodel_dunders(self): testPosting = pt.java.autoclass("org.terrier.structures.postings.BasicPostingImpl")(0,1) lambdafn = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() - callback, wmodel = pt.terrier.retrieve._function2wmodel(lambdafn) + callback, wmodel = pt.terrier.retriever._function2wmodel(lambdafn) byterep = pt.java.bytebuffer_to_array(wmodel.scoringClass.serializeFn()) import dill as pickle diff --git a/tests/test_operators.py b/tests/test_operators.py index d25c5de2..810fd8b0 100644 --- a/tests/test_operators.py +++ b/tests/test_operators.py @@ -337,7 +337,7 @@ def test_feature_union_multi(self): self.assertEqual(2, len(mock12a.models)) self.assertEqual(2, len(mock12a.models)) - pt.terrier.retrieve.setup_rewrites() + pt.terrier.retriever.setup_rewrites() mock123_simple = mock123a.compile() self.assertIsNotNone(mock123_simple) diff --git a/tests/test_scoring.py b/tests/test_scoring.py index 23647e5d..21019963 100644 --- a/tests/test_scoring.py +++ b/tests/test_scoring.py @@ -52,7 +52,7 @@ def _test_scoring_text(self, dataset, index, wmodel): def test_scoring_manual_empty(self): input = pd.DataFrame([["q1", "fox", "d1", ""]], columns=["qid", "query", "docno", "body"]) - from pyterrier.terrier.retrieve import TextScorer + from pyterrier.terrier.retriever import TextScorer scorer = TextScorer(wmodel="Tf") rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -62,7 +62,7 @@ def test_scoring_manual_empty(self): def test_scoring_manual(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - from pyterrier.terrier.retrieve import TextScorer + from pyterrier.terrier.retriever import TextScorer scorer = TextScorer(wmodel="Tf") rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -78,7 +78,7 @@ def test_scoring_manual(self): def test_scoring_manual_background(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - from pyterrier.terrier.retrieve import TextScorer + from pyterrier.terrier.retriever import TextScorer scorer = TextScorer(wmodel="Tf", background_index=pt.get_dataset("vaswani").get_index()) rtr = scorer(input) self.assertEqual(1, len(rtr)) @@ -94,7 +94,7 @@ def test_scoring_manual_background(self): def test_scoring_qe(self): input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox"]], columns=["qid", "query", "docno", "body"]) - scorer = pt.terrier.retrieve.TextIndexProcessor(pt.rewrite.Bo1QueryExpansion, takes="docs", returns="queries") + scorer = pt.terrier.retriever.TextIndexProcessor(pt.rewrite.Bo1QueryExpansion, takes="docs", returns="queries") rtr = scorer(input) self.assertTrue("qid" in rtr.columns) self.assertTrue("query" in rtr.columns) From 8347a3be944e7a2bca45b05025f620eed6c87de5 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 10 Aug 2024 13:48:36 +0100 Subject: [PATCH 134/153] fix typo --- docs/anserini.rst | 2 +- docs/apply.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/anserini.rst b/docs/anserini.rst index f9ae5407..aa48540e 100644 --- a/docs/anserini.rst +++ b/docs/anserini.rst @@ -24,7 +24,7 @@ Comparative retrieval from Anserini and Terrier:: AnseriniBatchRetrieve can also be used as a re-ranker:: - BM25_tr = pt.terrier.Retrieverr(trIndex, wmodel="BM25") + BM25_tr = pt.terrier.Retriever(trIndex, wmodel="BM25") QLD_ai = pt.anserini.AnseriniBatchRetrieve(luceneIndex, wmodel="QLD") pipe = BM25_tr >> QLD_ai diff --git a/docs/apply.rst b/docs/apply.rst index 61f9f732..a211094b 100644 --- a/docs/apply.rst +++ b/docs/apply.rst @@ -85,9 +85,9 @@ Its also possible to construct a transformer that makes a new column on a row-wi For instance, if the column you are creating is called rank_2, it might be created as follows:: - pipe = pt.terrier.Retrieverr(index) >> pt.apply.rank_2(lambda row: row["rank"] * 2) + pipe = pt.terrier.Retriever(index) >> pt.apply.rank_2(lambda row: row["rank"] * 2) To create a transformer that drops a column, you can instead pass `drop=True` as a kwarg:: - pipe = pt.terrier.Retrieverr(index, metadata=["docno", "text"] >> pt.text.scorer() >> pt.apply.text(drop=True) + pipe = pt.terrier.Retriever(index, metadata=["docno", "text"] >> pt.text.scorer() >> pt.apply.text(drop=True) From e6da26b75ca193f65c8c6890f09f6f064dfb7761 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 10 Aug 2024 14:07:49 +0100 Subject: [PATCH 135/153] a bunch of BatchRetrieve -> Retriever (mostly in docs) --- docs/installation.rst | 2 +- docs/ltr.rst | 4 +-- docs/operators.rst | 18 ++++++------ docs/parallel.rst | 6 ++-- docs/pipeline_examples.md | 2 +- docs/rewrite.rst | 10 +++---- docs/terrier-index-api.rst | 6 ++-- docs/terrier-retrieval.rst | 26 ++++++++--------- docs/text.rst | 4 +-- docs/transformer.rst | 28 +++++++++---------- docs/tuning.rst | 6 ++-- examples/notebooks/experiment.ipynb | 2 +- examples/notebooks/indexing.ipynb | 2 +- examples/notebooks/ltr.ipynb | 4 +-- .../notebooks/retrieval_and_evaluation.ipynb | 2 +- pyterrier/pipelines.py | 6 ++-- pyterrier/terrier/retriever.py | 4 +-- pyterrier/terrier/rewrite.py | 2 +- pyterrier/utils.py | 2 +- 19 files changed, 68 insertions(+), 68 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index aa7fcdee..628917ed 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -61,7 +61,7 @@ describes how to manage this configuration. **Note:** Because these options affect the the JVM's settings, they need to be set before Java starts---for instance, at the top of a script/notebook before any Java components are loaded. -**Starting Java.** PyTerrier will start java when you use a component that requires it, such as `BatchRetrieve`. However, sometimes +**Starting Java.** PyTerrier will start java when you use a component that requires it, such as ``pt.terrier.Retriever``. However, sometimes you might want to start it early: .. autofunction:: pyterrier.java.init diff --git a/docs/ltr.rst b/docs/ltr.rst index 238e8198..e132b951 100644 --- a/docs/ltr.rst +++ b/docs/ltr.rst @@ -61,10 +61,10 @@ the `"features"` column, as follows: -FeaturesBatchRetrieve +FeaturesRetriever ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -When executing the pipeline above, the re-ranking of the documents again can be slow, as each separate Retrieve +When executing the pipeline above, the re-ranking of the documents again can be slow, as each separate Retriever object has to re-access the inverted index. For this reason, PyTerrier provides a class called FeaturesRetriever, which allows multiple query dependent features to be calculated at once, by virtue of Terrier's Fat framework. diff --git a/docs/operators.rst b/docs/operators.rst index 5a553c35..cffc5772 100644 --- a/docs/operators.rst +++ b/docs/operators.rst @@ -29,7 +29,7 @@ Apply one transformation followed by another:: #rewrites topics to include #1 etc sdm = pt.rewrite.SDM() - br = BatchRetrieve(index, "DPH") + br = pt.terrier.Retriever(index, "DPH") res = br.transform( sdm.transform(topics)) @@ -58,7 +58,7 @@ q1 test query #1(test query) #uw8(test query) NB: In practice the query reformulation generated by SDM() is more complex, due to the presence of weights etc in the resulting query. -Then the final res dataframe would contain the results of applying BatchRetrieve on the rewritten queries, as follows: +Then the final res dataframe would contain the results of applying a Retriever on the rewritten queries, as follows: === ============================================= ===== ===== ==== qid query docno score rank @@ -69,7 +69,7 @@ q1 test query #1(test query) #uw8(test query) d04 3.8 1 NB: Then can also be used for retrieval and re-ranking pipelines, such as:: - pipeline = BatchRetrieve(index, "DPH") >> BatchRetrieve(index, "BM25") + pipeline = pt.terrier.Retriever(index, "DPH") >> pt.terrier.Retriever(index, "BM25") Linear Combine and Scalar Factor (`+`, `*`) @@ -80,8 +80,8 @@ different retrieval systems to be linearly combined (with weights). Instead of the following Python:: - br_DPH = BatchRetrieve(index, "DPH") - br_BM25 = BatchRetrieve(index, "BM25") + br_DPH = pt.terrier.Retriever(index, "DPH") + br_BM25 = pt.terrier.Retriever(index, "BM25") res1 = br_DPH.transform(topics) res2 = br_BM25.transform(topics) @@ -90,8 +90,8 @@ Instead of the following Python:: We use binary `+` and `*` operators. This is natural, as it is intuitive to combine weighted retrieval functions using `+` and `*` :: - br_DPH = BatchRetrieve(index, "DPH") - br_BM25 = BatchRetrieve(index, "BM25") + br_DPH = pt.terrier.Retriever(index, "DPH") + br_BM25 = pt.terrier.Retriever(index, "BM25") res = (2* br_DPH + br_BM25).transform(topics) @@ -136,8 +136,8 @@ The set that only includes documents that occur in the intersection (`&`) and union (`|`) of both retrieval sets. Scores and ranks are not returned - hence, the rankings documents would normally be re-scored:: - BM25_br = BatchRetrieve(index, "BM25") - PL2_br = BatchRetrieve(index, "PL2") + BM25_br = pt.terrier.Retriever(index, "BM25") + PL2_br = pt.terrier.Retriever(index, "PL2") res_intersection = (BM25_br & PL2_br).transform(topics) res_union = (BM25_br | PL2_br).transform(topics) diff --git a/docs/parallel.rst b/docs/parallel.rst index f13745ba..0dca2c21 100644 --- a/docs/parallel.rst +++ b/docs/parallel.rst @@ -51,7 +51,7 @@ What to Parallelise Only transformers that can be `pickled `_. Transformers that use native code may not be possible to pickle. Some standard PyTerrier transformers have additional support for parallelisation: - - Terrier retrieval: pt.terrier.Retriever(), pt.FeaturesBatchRetrieve() + - Terrier retrieval: pt.terrier.Retriever(), pt.terrier.FeaturesRetriever() - Anserini retrieval: pt.anserini.AnseriniBatchRetrieve() Pure python transformers, such as `pt.text.sliding()` are picklable. However, parallelising only `pt.text.sliding()` may not produce @@ -63,8 +63,8 @@ consider the following pipeline:: pipe = pt.terrier.Retriever(index, metadata=["docno", "text"] >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() -While BatchRetrieve might represent the slowest component of the pipeline, it might make sense to parallelise pipe as a whole, -rather than just BatchRetrieve, as then only the queries and final results need to be passed betwene processes. Indeed among the +While ``Retriever`` might represent the slowest component of the pipeline, it might make sense to parallelise pipe as a whole, +rather than just ``Retriever``, as then only the queries and final results need to be passed betwene processes. Indeed among the following semantically equivalent pipelines, we expect `parallel_pipe0` and `parallel_pipe2` to be faster than `parallel_pipe1`:: parallel_pipe0 = pt.terrier.Retriever(index, metadata=["docno", "text"]).parallel() >> pt.text.sliding() >> pt.text.scorer() >> pt.text.max_passage() diff --git a/docs/pipeline_examples.md b/docs/pipeline_examples.md index c68ed561..1b1eba11 100644 --- a/docs/pipeline_examples.md +++ b/docs/pipeline_examples.md @@ -31,7 +31,7 @@ qe = (pt.terrier.Retriever(indexref, wmodel="BM25") >> ``` The QueryExpansion() object has the following constructor parameters: - - `index_like` - which index you are using to obtain the contents of the documents. This should match the preceeding BatchRetrieve. + - `index_like` - which index you are using to obtain the contents of the documents. This should match the preceeding Retriever. - `fb_docs` - number of feedback documents to examine - `fb_terms` - number of feedback terms to add to the query diff --git a/docs/rewrite.rst b/docs/rewrite.rst index 0a1729bd..f1588234 100644 --- a/docs/rewrite.rst +++ b/docs/rewrite.rst @@ -2,7 +2,7 @@ Query Rewriting & Expansion --------------------------- Query rewriting refers to changing the formulation of the query in order to improve the effectiveness of the -search ranking. PyTerrier supplies a number of query rewriting transformers designed to work with BatchRetrieve. +search ranking. PyTerrier supplies a number of query rewriting transformers designed to work with Retriever. Firstly, we differentiate between two forms of query rewriting: @@ -32,7 +32,7 @@ For example, the query `pyterrier IR platform` would become `pyterrier IR platfo NB: Acutally, we have simplified the rewritten query - in practice, we also (a) set the weight of the proximity terms to be low using a `#combine()` operator and (b) set a proximity term weighting model. -This transfomer is only compatible with BatchRetrieve, as Terrier supports the `#1` and `#uwN` complex query terms operators. The Terrier index must have blocks (positional information) recorded in the index. +This transfomer is only compatible with Retriever, as Terrier supports the `#1` and `#uwN` complex query terms operators. The Terrier index must have blocks (positional information) recorded in the index. .. autoclass:: pyterrier.rewrite.SequentialDependence :members: transform @@ -74,7 +74,7 @@ View the expansion terms:: **Alternative Formulations** -Note that it is also possible to configure BatchRetrieve to perform QE directly using controls, +Note that it is also possible to configure Retriever to perform QE directly using controls, which will result in identical retrieval effectiveness:: pipelineQE = pt.terrier.Retriever(index, wmodel="DPH", controls={"qemodel" : "Bo1", "qe" : "on"}) @@ -216,7 +216,7 @@ Summary of dataframe types: +--------------+-----------------------+-------------------------------------------+ |stash_results |Q + "stashed_results_0"|qid, query, saved_docs_0 | +--------------+-----------------------+-------------------------------------------+ -|BatchRetrieve |R + "stashed_results_0"|qid, query, docno, score, stashed_results_0| +|Retriever |R + "stashed_results_0"|qid, query, docno, score, stashed_results_0| +--------------+-----------------------+-------------------------------------------+ |RM3 |Q + "stashed_results_0"|qid, query, query_0, stashed_results_0 | +--------------+-----------------------+-------------------------------------------+ @@ -225,5 +225,5 @@ Summary of dataframe types: |dph |R |qid, query, docno, score, query_0 | +--------------+-----------------------+-------------------------------------------+ -In this example, we have a BatchRetrieve instance executed on the wiki_index before RM3, so we clear the +In this example, we have a Retriever instance executed on the wiki_index before RM3, so we clear the document ranking columns when using `stash_results()`. diff --git a/docs/terrier-index-api.rst b/docs/terrier-index-api.rst index eec8b817..296671cb 100644 --- a/docs/terrier-index-api.rst +++ b/docs/terrier-index-api.rst @@ -26,7 +26,7 @@ IndexRefs can also be obtained from a PyTerrier dataset:: indexref = dataset.get_index() -IndexRef objects can be directly passed to BatchRetrieve:: +IndexRef objects can be directly passed to Retriever:: pt.terrier.Retriever(indexref).search("chemical reactions") @@ -36,7 +36,7 @@ If you want to access the underlying data structures, you need to use IndexFacto #or index = pt.IndexFactory.of("/path/to/data.properties") -NB: BatchRetrieve will accept anything "index-like", i.e. a string location of an index, an IndexRef or an Index. +NB: Retriever will accept anything "index-like", i.e. a string location of an index, an IndexRef or an Index. We can also ask for the index to be loaded into memory:: @@ -170,7 +170,7 @@ of the term (obtained from the Lexicon, in the form of the LexiconEntry), as wel score = wmodel.score(posting) print("%s with score %0.4f" % (docno, score)) -Note that using BatchRetrieve or similar is probably an easier prospect for such a use case. +Note that using Retriever or similar is probably an easier prospect for such a use case. Can I get the index as a corpus_iter()? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/terrier-retrieval.rst b/docs/terrier-retrieval.rst index ad779882..68d897bb 100644 --- a/docs/terrier-retrieval.rst +++ b/docs/terrier-retrieval.rst @@ -2,7 +2,7 @@ Terrier Retrieval ----------------- terrier.Retriever is one of the most commonly used PyTerrier objects. It represents a retrieval transformation, -in which queries are mapped to retrieved documents. BatchRetrieve uses a pre-existing Terrier index data +in which queries are mapped to retrieved documents. Retriever uses a pre-existing Terrier index data structure, typically saved on disk. @@ -15,10 +15,10 @@ Typical usage:: pt.Experiment([tf_idf, bm25, pl2], topic, qrels, eval_metrics=["map"]) -As Retrieve is a retrieval transformation, it takes as input dataframes with columns `["qid", "query"]`, +As Retriever is a retrieval transformation, it takes as input dataframes with columns `["qid", "query"]`, and returns dataframes with columns `["qid", "query", "docno", "score", "rank"]`. -However, Retrieve can also act as a re-ranker. In this scenario, it takes as input dataframes with +However, Retriever can also act as a re-ranker. In this scenario, it takes as input dataframes with columns `["qid", "query", "docno"]`, and returns dataframes with columns `["qid", "query", "docno", "score", "rank"]`. For instance, to create a re-ranking pipeline that re-scores the top 100 BM25 documents using PL2:: @@ -27,7 +27,7 @@ For instance, to create a re-ranking pipeline that re-scores the top 100 BM25 do pl2 = pt.terrier.Retriever(index, wmodel="PL2") pipeline = (bm25 % 100) >> pl2 -Retrieve +Retriever ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: pyterrier.terrier.Retriever @@ -42,7 +42,7 @@ When using PyTerrier, we have to be aware of the underlying Terrier configuratio namely *properties* and *controls*. Properties are global configuration and were traditionally configured by editing a `terrier.properties` file; In contrast, controls are per-query configuration. In PyTerrier, we specify both when we construct -the Retrieve object: +the Retriever object: Common controls: - `"wmodel"` - the name of the weighting model. (This can also be specified using the wmodel kwarg). @@ -55,19 +55,19 @@ Common controls: Common properties: - `"termpipelines"` - the default Terrier term pipeline configuration is `"Stopwords,PorterStemmer"`. If you have created an index with a different configuration, you will need to set the `"termpipelines"` - property for *each* BatchRetrieve constructed. + property for *each* Retriever constructed. **Examples**:: - # these two Retrieve instances are identical, using the same weighting model + # these two Retriever instances are identical, using the same weighting model bm25a = pt.terrier.Retriever(index, wmodel="BM25") bm25b = pt.terrier.Retriever(index, controls={"wmodel":"BM25"}) # this one also applies query expansion inside Terrier bm25_qe = pt.terrier.Retriever(index, wmodel="BM25", controls={"qe":"on", "qemodel" : "Bo1"}) - # when we introduce an unstemmed BatchRetrieve, we ensure to explicitly set the termpipelines - # for the other BatchRetrieve as well + # when we introduce an unstemmed Retriever, we ensure to explicitly set the termpipelines + # for the other Retriever as well bm25s_unstemmed = pt.terrier.Retriever(indexUS, wmodel="BM25", properties={"termpipelines" : ""}) bm25s_stemmed = pt.terrier.Retriever(indexSS, wmodel="BM25", properties={"termpipelines" : "Stopwords,PorterStemmer"}) @@ -76,7 +76,7 @@ Common properties: Index-Like Objects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -When working with Terrier indices, Retrieve allows can make use of: +When working with Terrier indices, Retriever allows can make use of: - a string representing an index, such as "/path/to/data.properties" - a Terrier `IndexRef `_ object, constructed from a string, but which may also hold a reference to the existing index. @@ -96,7 +96,7 @@ Good Practice:: index = pt.IndexFactory.of("/path/to/data.properties") bm25 = pt.terrier.Retriever(index, wmodel="BM25") pl2 = pt.terrier.Retriever(index, wmodel="PL2") - # here, we share the index between two instances of BatchRetrieve + # here, we share the index between two instances of Retriever You can use the IndexFactory to specify that the index data structures to be loaded into memory:: @@ -138,13 +138,13 @@ unless the class name is fully qualified (e.g. `"com.example.MyTF"`). If you have your own Java weighting model instance (which extends the `WeightingModel abstract class `_, -you can load it and pass it directly to BatchRetrieve:: +you can load it and pass it directly to Retriever:: mymodel = pt.autoclass("com.example.MyTF")() retr = pt.terrier.Retriever(indexref, wmodel=mymodel) More usefully, it is possible to express a weighting model entirely in Python, as a function or a lambda expression, that can be -used by Terrier for scoring. In this example, we create a Terrier BatchRetrieve instance that scores based solely on term frequency:: +used by Terrier for scoring. In this example, we create a Terrier Retriever instance that scores based solely on term frequency:: Tf = lambda keyFreq, posting, entryStats, collStats: posting.getFrequency() retr = pt.terrier.Retriever(indexref, wmodel=Tf) diff --git a/docs/text.rst b/docs/text.rst index 6859d886..20020b3e 100644 --- a/docs/text.rst +++ b/docs/text.rst @@ -41,10 +41,10 @@ using IterDictIndexer:: During retrieval you will need to have the text stored as an attribute in your dataframes. This can be achieved in one of several ways: - - requesting document metadata when using `BatchRetrieve` + - requesting document metadata when using `Retriever` - adding document metadata later using `get_text()` -BatchRetrieve accepts a `metadata` keyword-argument which allows for additional metadata attributes to be retrieved. +Retriever accepts a `metadata` keyword-argument which allows for additional metadata attributes to be retrieved. Alternatively, the `pt.text.get_text()` transformer can be used, which can extract metadata from a Terrier index or IRDSDataset for documents already retrieved. The main advantage of using IRDSDataset is that it supports diff --git a/docs/transformer.rst b/docs/transformer.rst index 90910a90..05ef93b4 100644 --- a/docs/transformer.rst +++ b/docs/transformer.rst @@ -12,19 +12,19 @@ PyTerrier's retrieval architecture is based on three concepts: In essence, a PyTerrier transformer is a class with a ``transform()`` method, which takes as input a dataframe, and changes it, before returning it. -+-------+---------+-------------+------------------+------------------------------+ -+ Input | Output | Cardinality | Example | Concrete Transformer Example | -+=======+=========+=============+==================+==============================+ -| Q | Q | 1 to 1 | Query rewriting | `pt.rewrite.SDM()` | -+-------+---------+-------------+------------------+------------------------------+ -| Q | Q x D | 1 to N | Retrieval | `pt.terrier.Retriever()` | -+-------+---------+-------------+------------------+------------------------------+ -| Q x D | Q | N to 1 | Query expansion | `pt.rewrite.RM3()` | -+-------+---------+-------------+------------------+------------------------------+ -| Q x D | Q x D | 1 to 1 | Re-ranking | `pt.apply.doc_score()` | -+-------+---------+-------------+------------------+------------------------------+ -| Q x D | Q x Df | 1 to 1 | Feature scoring | `pt.FeaturesBatchRetrieve()` | -+-------+---------+-------------+------------------+------------------------------+ ++-------+---------+-------------+------------------+----------------------------------+ ++ Input | Output | Cardinality | Example | Concrete Transformer Example | ++=======+=========+=============+==================+==================================+ +| Q | Q | 1 to 1 | Query rewriting | `pt.rewrite.SDM()` | ++-------+---------+-------------+------------------+----------------------------------+ +| Q | Q x D | 1 to N | Retrieval | `pt.terrier.Retriever()` | ++-------+---------+-------------+------------------+----------------------------------+ +| Q x D | Q | N to 1 | Query expansion | `pt.rewrite.RM3()` | ++-------+---------+-------------+------------------+----------------------------------+ +| Q x D | Q x D | 1 to 1 | Re-ranking | `pt.apply.doc_score()` | ++-------+---------+-------------+------------------+----------------------------------+ +| Q x D | Q x Df | 1 to 1 | Feature scoring | `pt.terrier.FeaturesRetriever()` | ++-------+---------+-------------+------------------+----------------------------------+ Optimisation ============ @@ -32,7 +32,7 @@ Optimisation Some operators applied to transformer can be optimised by the underlying search engine - for instance, cutting a ranking earlier. So while the following two pipelines are semantically equivalent, the latter might be more efficient:: - pipe1 = BatchRetrieve(index, "BM25") % 10 + pipe1 = pt.terrier.Retrieve(index, "BM25") % 10 pipe2 = pipe1.compile() Fitting diff --git a/docs/tuning.rst b/docs/tuning.rst index 1c542b04..0bc57a28 100644 --- a/docs/tuning.rst +++ b/docs/tuning.rst @@ -35,8 +35,8 @@ Examples Tuning BM25 ~~~~~~~~~~~ -When using BatchRetrieve, the `b` parameter of the BM25 weighting model can be controled using the "bm25.b" control. -We must give this control an initial value when contructing the BatchRetrieve instance. Thereafter, the GridSearch +When using Retriever, the `b` parameter of the BM25 weighting model can be controled using the "bm25.b" control. +We must give this control an initial value when contructing the Retriever instance. Thereafter, the GridSearch parameter dictionary can be constructed by refering to the instance of transformer that has that parameter:: BM25 = pt.terrier.Retriever(index, wmodel="BM25", controls={"bm25.b" : 0.75}) @@ -120,7 +120,7 @@ The following is an example of scanning the parameters of BM25F for an index wit # check your index has exactly 2 fields assert 2 == index.getCollectionStatistics().getNumberOfFields() - # instantiate BatchRetrieve for BM25F + # instantiate Retriever for BM25F bm25f = pt.terrier.Retriever( index, wmodel = 'BM25F', diff --git a/examples/notebooks/experiment.ipynb b/examples/notebooks/experiment.ipynb index d9a4392a..84a80243 100644 --- a/examples/notebooks/experiment.ipynb +++ b/examples/notebooks/experiment.ipynb @@ -131,7 +131,7 @@ "id": "OVmeqAX-67Am" }, "source": [ - "First create the BatchRetrieve objects with the configurartion that you wish to use" + "First create the Retriever objects with the configurartion that you wish to use" ] }, { diff --git a/examples/notebooks/indexing.ipynb b/examples/notebooks/indexing.ipynb index a7e257c1..8f0ffe05 100644 --- a/examples/notebooks/indexing.ipynb +++ b/examples/notebooks/indexing.ipynb @@ -605,7 +605,7 @@ "source": [ "## Retrieval\n", "\n", - "Lets see how we can use one of these for retrieval. Retrieval takes place using the `BatchRetrieve` object, by invoking `transform()` method for one or more queries. For a quick test, you can give just pass your query to `transform()`. \n", + "Lets see how we can use one of these for retrieval. Retrieval takes place using the `Retriever` object, by invoking `transform()` method for one or more queries. For a quick test, you can give just pass your query to `transform()`. \n", "\n", "BatchRetrieve will return the results as a Pandas dataframe.\n" ] diff --git a/examples/notebooks/ltr.ipynb b/examples/notebooks/ltr.ipynb index 94a9eaef..89434f27 100644 --- a/examples/notebooks/ltr.ipynb +++ b/examples/notebooks/ltr.ipynb @@ -283,7 +283,7 @@ "id": "Ye6ZpcZaMBjT" }, "source": [ - "*A note about efficiency*: doing retrieval, then re-ranking the documents again can be slow. For this reason, Terrier has a FeaturesBatchRetrieve. Lets try this:" + "*A note about efficiency*: doing retrieval, then re-ranking the documents again can be slow. For this reason, Terrier has a FeaturesRetriever. Lets try this:" ] }, { @@ -484,7 +484,7 @@ }, "source": [ "Finally, often we want our initial retrieval score to be a feature also. We can do this in one of two ways:\n", - " - by adding a `SAMPLE` feature to FeaturesBatchRetrieve\n", + " - by adding a `SAMPLE` feature to FeaturesRetriever\n", " - or in the original feature-union definition, including an identity Transformer\n", "\n", "In doing so, the BM25 score (13.47 andf 12.51) are now copied in as the first position of the features column." diff --git a/examples/notebooks/retrieval_and_evaluation.ipynb b/examples/notebooks/retrieval_and_evaluation.ipynb index 51686c42..bb3caa5b 100644 --- a/examples/notebooks/retrieval_and_evaluation.ipynb +++ b/examples/notebooks/retrieval_and_evaluation.ipynb @@ -306,7 +306,7 @@ "id": "4-fwnGg-lIzM" }, "source": [ - "Create BatchRetrieve object\n", + "Create Retriever object\n", "\n", "You can optionally set the controls and the properties by passing a dictionary to the 'controls' and 'properties' arguments\n", "or by calling setControl or setControls methods on a created object, or use the default controls.\n", diff --git a/pyterrier/pipelines.py b/pyterrier/pipelines.py index 332b4251..5d4fe3c8 100644 --- a/pyterrier/pipelines.py +++ b/pyterrier/pipelines.py @@ -803,7 +803,7 @@ def GridScan( must be specified. The trec_eval measure names can be optionally specified. The transformers being tuned, and their respective parameters are named in the param_dict. The parameter being varied must be changable using the :func:`set_parameter()` method. This means instance variables, - as well as controls in the case of BatchRetrieve. + as well as controls in the case of Retriever. Args: pipeline(Transformer): a transformer or pipeline @@ -852,7 +852,7 @@ def GridScan( metrics = [metrics] # Store the all parameter names and candidate values into a dictionary, keyed by a tuple of the transformer and the parameter name - # such as {(BatchRetrieve, 'wmodel'): ['BM25', 'PL2'], (BatchRetrieve, 'c'): [0.1, 0.2, 0.3], (Bla, 'lr'): [0.001, 0.01, 0.1]} + # such as {(Retriever, 'wmodel'): ['BM25', 'PL2'], (Retriever, 'c'): [0.1, 0.2, 0.3], (Bla, 'lr'): [0.001, 0.01, 0.1]} candi_dict={} for tran, param_set in params.items(): for param_name, values in param_set.items(): @@ -878,7 +878,7 @@ def _evaluate_one_setting(keys, values): # Set the parameter value in the corresponding transformer of the pipeline for (tran, param_name), value in params.items(): tran.set_parameter(param_name, value) - # such as (BatchRetrieve, 'wmodel', 'BM25') + # such as (Retriever, 'wmodel', 'BM25') parameter_list.append( (tran, param_name, value) ) time, eval_scores = _run_and_evaluate(pipeline, topics, qrels, metrics, perquery=False, batch_size=batch_size) diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index b07cce09..f6851fb3 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -123,7 +123,7 @@ def _from_dataset(dataset : Union[str,Dataset], raise ValueError("No .args.json files found for %s" % str(classnames)) @pt.java.required -class Retrieve(BatchRetrieveBase): +class Retriever(BatchRetrieveBase): """ Use this class for retrieval by Terrier """ @@ -546,7 +546,7 @@ def transform(self, topics_and_res): class TextScorer(TextIndexProcessor): """ A re-ranker class, which takes the queries and the contents of documents, indexes the contents of the documents using a MemoryIndex, and performs ranking of those documents with respect to the queries. - Unknown kwargs are passed to BatchRetrieve. + Unknown kwargs are passed to Retriever. Arguments: takes(str): configuration - what is needed as input: `"queries"`, or `"docs"`. Default is `"docs"` since v0.8. diff --git a/pyterrier/terrier/rewrite.py b/pyterrier/terrier/rewrite.py index 9f6ccf45..6152d5d8 100644 --- a/pyterrier/terrier/rewrite.py +++ b/pyterrier/terrier/rewrite.py @@ -14,7 +14,7 @@ def tokenise(tokeniser : Union[str,TerrierTokeniser,FunctionType] = 'english', m Args: tokeniser(Union[str,TerrierTokeniser,FunctionType]): Defines what tokeniser should be used - either a Java tokeniser name in Terrier, a TerrierTokeniser instance, or a function that takes a str as input and returns a list of str. - matchop(bool): Whether query terms should be wrapped in matchops, to ensure they can be parsed by a Terrier BatchRetrieve transformer. + matchop(bool): Whether query terms should be wrapped in matchops, to ensure they can be parsed by a Terrier Retriever transformer. Example - use default tokeniser:: diff --git a/pyterrier/utils.py b/pyterrier/utils.py index 67828b09..2ee631e8 100644 --- a/pyterrier/utils.py +++ b/pyterrier/utils.py @@ -133,7 +133,7 @@ def set_tqdm(type=None): """ Set the tqdm progress bar type that Pyterrier will use internally. Many PyTerrier transformations can be expensive to apply in some settings - users can - view progress by using the verbose=True kwarg to many classes, such as BatchRetrieve. + view progress by using the verbose=True kwarg to many classes, such as terrier.Retriever. The `tqdm `_ progress bar can be made prettier when using appropriately configured Jupyter notebook setups. We use this automatically when Google Colab is detected. From bdcfa884f4ef19dffa02776cfab1b7316fe19a58 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Sat, 10 Aug 2024 14:09:40 +0100 Subject: [PATCH 136/153] merge error --- pyterrier/terrier/__init__.py | 2 +- pyterrier/terrier/retriever.py | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 8cba694b..e1f0ff92 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -1,6 +1,6 @@ # java stuff from pyterrier.terrier import java -from pyterrier.terrier.java import configure, set_version, set_helper_version, enable_prf, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version +from pyterrier.terrier.java import configure, set_version, set_helper_version, set_prf_version, extend_classpath, J, set_property, set_properties, run, version, check_version, check_helper_version from pyterrier.terrier.retriever import Retriever, FeaturesRetriever, TextScorer from pyterrier.terrier.index_factory import IndexFactory from pyterrier.terrier.stemmer import TerrierStemmer diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index f6851fb3..eeedb629 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -106,11 +106,11 @@ def _from_dataset(dataset : Union[str,Dataset], classname = clz.__name__ classnames = [classname] - if classname == 'Retrieve': + if classname == 'Retriever': classnames.append('BatchRetrieve') # we need to look for BatchRetrievel.args.json for legacy support for c in classnames: - # now look for, e.g., BatchRetrieve.args.json file, which will define the args for Retrieve, e.g. stemming + # now look for, e.g., BatchRetrieve.args.json file, which will define the args for Retriever, e.g. stemming indexdir = indexref #os.path.dirname(indexref.toString()) argsfile = os.path.join(indexdir, classname + ".args.json") if os.path.exists(argsfile): @@ -150,7 +150,7 @@ def from_dataset(dataset : Union[str,Dataset], version='latest', **kwargs): """ - Instantiates a Retrieve object from a pre-built index access via a dataset. + Instantiates a Retriever object from a pre-built index access via a dataset. Pre-built indices are ofen provided via the `Terrier Data Repository `_. Examples:: @@ -170,7 +170,7 @@ def from_dataset(dataset : Union[str,Dataset], - `terrier_unstemmed_text` - as per `terrier_stemmed`, but also containing the raw text of the documents """ - return _from_dataset(dataset, variant=variant, version=version, clz=Retrieve, **kwargs) + return _from_dataset(dataset, variant=variant, version=version, clz=Retriever, **kwargs) #: default_controls(dict): stores the default controls default_controls = { @@ -207,7 +207,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do """ super().__init__(kwargs) self.indexref = _parse_index_like(index_location) - self.properties = _mergeDicts(Retrieve.default_properties, properties) + self.properties = _mergeDicts(Retriever.default_properties, properties) self.concurrentIL = pt.java.autoclass("org.terrier.structures.ConcurrentIndexLoader") if pt.terrier.check_version(5.5) and "SimpleDecorateProcess" not in self.properties["querying.processes"]: self.properties["querying.processes"] += ",decorate:SimpleDecorateProcess" @@ -219,7 +219,7 @@ def __init__(self, index_location, controls=None, properties=None, metadata=["do for key, value in self.properties.items(): pt.terrier.J.ApplicationSetup.setProperty(str(key), str(value)) - self.controls = _mergeDicts(Retrieve.default_controls, controls) + self.controls = _mergeDicts(Retriever.default_controls, controls) if wmodel is not None: from pyterrier.transformer import is_lambda, is_function if isinstance(wmodel, str): @@ -582,21 +582,21 @@ class TextScorer(TextIndexProcessor): """ def __init__(self, takes="docs", **kwargs): - super().__init__(Retrieve, takes=takes, **kwargs) + super().__init__(Retriever, takes=takes, **kwargs) @pt.java.required -class FeaturesRetriever(Retrieve): +class FeaturesRetriever(Retriever): """ Use this class for retrieval with multiple features """ #: FBR_default_controls(dict): stores the default properties for a FBR - FBR_default_controls = Retrieve.default_controls.copy() + FBR_default_controls = Retriever.default_controls.copy() FBR_default_controls["matching"] = "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull" del FBR_default_controls["wmodel"] #: FBR_default_properties(dict): stores the default properties - FBR_default_properties = Retrieve.default_properties.copy() + FBR_default_properties = Retriever.default_properties.copy() def __init__(self, index_location, features, controls=None, properties=None, threads=1, **kwargs): """ @@ -628,7 +628,7 @@ def __init__(self, index_location, features, controls=None, properties=None, thr assert pt.terrier.check_version(5.9), "Terrier 5.9 is required for this functionality, see https://github.com/terrier-org/terrier-core/pull/246" if threads > 1: - raise ValueError("Multi-threaded retrieval not yet supported by FeaturesBatchRetrieve") + raise ValueError("Multi-threaded retrieval not yet supported by FeaturesRetriever") super().__init__(index_location, controls, properties, **kwargs) @@ -709,8 +709,8 @@ def transform(self, queries): assert not scores_provided if self.wmodel is None: - raise ValueError("We're in retrieval mode (input columns were "+str(queries.columns)+"), but wmodel is None. FeaturesBatchRetrieve requires a wmodel be set for identifying the candidate set. " - +" Hint: wmodel argument for FeaturesBatchRetrieve, e.g. FeaturesBatchRetrieve(index, features, wmodel=\"DPH\")") + raise ValueError("We're in retrieval mode (input columns were "+str(queries.columns)+"), but wmodel is None. FeaturesRetriever requires a wmodel be set for identifying the candidate set. " + +" Hint: wmodel argument for FeaturesRetriever, e.g. FeaturesRetriever(index, features, wmodel=\"DPH\")") if queries["qid"].dtype == np.int64: queries['qid'] = queries['qid'].astype(str) @@ -809,8 +809,8 @@ def setup_rewrites(): y = Wildcard.dot('y') z = Wildcard.dot('z') # two different match retrives - _br1 = Wildcard.symbol('_br1', Retrieve) - _br2 = Wildcard.symbol('_br2', Retrieve) + _br1 = Wildcard.symbol('_br1', Retriever) + _br2 = Wildcard.symbol('_br2', Retriever) _fbr = Wildcard.symbol('_fbr', FeaturesRetriever) # batch retrieves for the same index From bf785eea6bccdb5cb61cd0e787b6362207c09023 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Tue, 13 Aug 2024 13:18:06 +0100 Subject: [PATCH 137/153] fix warning message to correctly split out pkg defn --- pyterrier/java/_utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index 338be36e..191a4b5d 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -209,8 +209,10 @@ def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=Tr deprecated_calls.append(f'pt.java.set_log_level({logging!r})') for package in boot_packages: - pt.java.add_package(*package.split(':')) # format: org:package:version:filetype (where version and filetype are optional) - deprecated_calls.append(f'pt.java.add_package({package!r})') + pkg_split = package.split(':') + pkg_string = ", ".join(f'"{w}"' for w in pkg_split) + pt.java.add_package(*pkg_split) # format: org:package:version:filetype (where version and filetype are optional) + deprecated_calls.append(f'pt.java.add_package({pkg_string})') for opt in jvm_opts: pt.java.add_option(opt) From 4be5ee8a1fe9d9db7601f70d6ae7527f405d59cf Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Tue, 13 Aug 2024 13:18:20 +0100 Subject: [PATCH 138/153] upgrade for java branch --- tests/test_rewrite_rm3.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_rewrite_rm3.py b/tests/test_rewrite_rm3.py index 68e371a8..1ba811a8 100644 --- a/tests/test_rewrite_rm3.py +++ b/tests/test_rewrite_rm3.py @@ -5,10 +5,13 @@ from .base import TempDirTestCase import pytest -if not pt.started(): +if not pt.java.started(): terrier_version = os.environ.get("TERRIER_VERSION", None) terrier_helper_version = os.environ.get("TERRIER_HELPER_VERSION", None) - pt.init(version=terrier_version, logging="DEBUG", helper_version=terrier_helper_version, boot_packages=["com.github.terrierteam:terrier-prf:-SNAPSHOT"]) + pt.java.set_log_level('DEBUG') + pt.terrier.set_version(terrier_version) + pt.terrier.set_helper_version(terrier_helper_version) + pt.java.init() # optional, forces java initialisation TERRIER_PRF_ON_CLASSPATH = True else: TERRIER_PRF_ON_CLASSPATH = False @@ -153,7 +156,7 @@ def test_rm3_end_to_end(self): def test_scoring_rm3_qe(self): expected = 'applypipeline:off fox^0.600000024' input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox", 3], ["q1", "fox", "d2", "brown fox jumps", 2]], columns=["qid", "query", "docno", "body", "score"]) - scorer = pt.batchretrieve.TextIndexProcessor(pt.rewrite.RM3, takes="docs", returns="queries") + scorer = pt.terrier.retriever.TextIndexProcessor(pt.rewrite.RM3, takes="docs", returns="queries") rtr = scorer(input) self.assertTrue("qid" in rtr.columns) self.assertTrue("query" in rtr.columns) From 87ccb05f120c121194eff647aa275bd886483138 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Tue, 13 Aug 2024 13:18:33 +0100 Subject: [PATCH 139/153] make it easier to take env variables --- pyterrier/terrier/java.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 422121d3..13821af8 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -23,17 +23,20 @@ @pt.java.before_init def set_version(version: Optional[str] = None): - configure['terrier_version'] = version + if version is not None: + configure['terrier_version'] = version @pt.java.before_init def set_helper_version(version: Optional[str] = None): - configure['helper_version'] = version + if version is not None: + configure['helper_version'] = version @pt.java.before_init def set_prf_version(version: Optional[str] = None): - configure['prf_version'] = version + if version is not None: + configure['prf_version'] = version class TerrierJavaInit(pt.java.JavaInitializer): From 59e2adc18f5214ba306ce8ec5121131a20d78621 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Tue, 13 Aug 2024 13:42:28 +0100 Subject: [PATCH 140/153] use !r repr for strings --- pyterrier/java/_utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyterrier/java/_utils.py b/pyterrier/java/_utils.py index 191a4b5d..ee1107f9 100644 --- a/pyterrier/java/_utils.py +++ b/pyterrier/java/_utils.py @@ -209,9 +209,10 @@ def legacy_init(version=None, mem=None, packages=[], jvm_opts=[], redirect_io=Tr deprecated_calls.append(f'pt.java.set_log_level({logging!r})') for package in boot_packages: + # format: org:package:version:filetype (where version and filetype are optional) pkg_split = package.split(':') - pkg_string = ", ".join(f'"{w}"' for w in pkg_split) - pt.java.add_package(*pkg_split) # format: org:package:version:filetype (where version and filetype are optional) + pkg_string = ", ".join(f'{w!r}' for w in pkg_split) + pt.java.add_package(*pkg_split) deprecated_calls.append(f'pt.java.add_package({pkg_string})') for opt in jvm_opts: From 488bd038aeec5ad0acedf8f538740a49192a18a4 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Tue, 13 Aug 2024 16:20:08 +0100 Subject: [PATCH 141/153] Update push.yml --- .github/workflows/push.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 3875c5c1..3766e449 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -6,8 +6,7 @@ name: Continuous Testing on: push: branches: [ master ] - pull_request: - branches: [ master ] + pull_request: {} jobs: build: From 813453669591f3615c5cc02ab76ce968e65d9ed2 Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Wed, 14 Aug 2024 10:56:58 +0100 Subject: [PATCH 142/153] deprecated modifies the class so need stubs for deprecated transformers --- pyterrier/terrier/__init__.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index e1f0ff92..9389e728 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -12,9 +12,20 @@ from deprecated import deprecated -TerrierRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead")(Retriever) -BatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead")(Retriever) -FeaturesBatchRetrieve = deprecated(version='0.11.0', reason="use pt.terrier.FeaturesRetriever() instead")(FeaturesRetriever) +@deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead") +class TerrierRetrieve(Retriever): + pass + + +@deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead") +class BatchRetrieve(Retriever): + pass + + +@deprecated(version='0.11.0', reason="use pt.terrier.FeaturesRetriever() instead") +class FeaturesBatchRetrieve(FeaturesRetriever): + pass + __all__ = [ # java stuff From 4eb0799ae7e327546e4adfdcc6157f70d5e85591 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 14 Aug 2024 12:43:47 +0100 Subject: [PATCH 143/153] use tiebreak results for RM3 --- tests/test_rewrite_rm3.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_rewrite_rm3.py b/tests/test_rewrite_rm3.py index 1ba811a8..5dbe7316 100644 --- a/tests/test_rewrite_rm3.py +++ b/tests/test_rewrite_rm3.py @@ -11,6 +11,7 @@ pt.java.set_log_level('DEBUG') pt.terrier.set_version(terrier_version) pt.terrier.set_helper_version(terrier_helper_version) + pt.terrier.set_prf_version('rm_tiebreak-SNAPSHOT') pt.java.init() # optional, forces java initialisation TERRIER_PRF_ON_CLASSPATH = True else: @@ -25,7 +26,7 @@ class TestRewriteRm3(TempDirTestCase): @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") def test_rm3_expansion_for_query_compact_on_tf_idf(self): # top-retrieval results of TF-IDF and BM25 below change, so the RM3 weights differ - expected = 'applypipeline:off equip^0.037346367 sideband^0.027371584 ferrit^0.027371584 modul^0.027371584 suppli^0.037346367 design^0.056739070 unit^0.037346367 anod^0.037346367 compact^0.674414337 stabil^0.037346367' + expected = 'applypipeline:off equip^0.037346367 ferrit^0.027371584 modul^0.027371584 suppli^0.037346367 design^0.056739070 microwav^0.027371584 anod^0.037346367 unit^0.037346367 compact^0.674414337 stabil^0.037346367' indexref = pt.datasets.get_dataset("vaswani").get_index() queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) @@ -41,7 +42,7 @@ def test_rm3_expansion_for_query_compact_on_tf_idf(self): @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") def test_rm3_expansion_for_query_compact_on_bm25(self): # top-retrieval results of BM25 and TF-IDF above change, so the RM3 weights differ - expected = 'applypipeline:off equip^0.040264640 sideband^0.025508020 ferrit^0.025508020 modul^0.025508020 suppli^0.040264640 design^0.051008232 unit^0.040264640 anod^0.040264640 compact^0.671144485 stabil^0.040264640' + expected = 'applypipeline:off equip^0.040264644 ferrit^0.025508024 modul^0.025508024 suppli^0.040264644 design^0.051008239 microwav^0.025508024 anod^0.040264644 unit^0.040264644 compact^0.671144485 stabil^0.040264644' indexref = pt.datasets.get_dataset("vaswani").get_index() queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) From d2491166057a5027ab42e3312390c189fcacaf9d Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 14 Aug 2024 14:01:08 +0100 Subject: [PATCH 144/153] reduce digits for term weights to avoid rounding errors on different platforms --- tests/test_rewrite_rm3.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/test_rewrite_rm3.py b/tests/test_rewrite_rm3.py index 5dbe7316..21f0a208 100644 --- a/tests/test_rewrite_rm3.py +++ b/tests/test_rewrite_rm3.py @@ -18,6 +18,15 @@ TERRIER_PRF_ON_CLASSPATH = False +def normalize_term_weights(term_weights, digits=7): + ret = '' + for i in term_weights.split(): + if '^' in i: + i = i.split('^') + i = i[0] + '^' + i[1][:digits] + ret += ' ' + i + return ret.strip() + class TestRewriteRm3(TempDirTestCase): """This is a set of unit tests for RM3 that can currently not run in the complete test suite, as the "com.github.terrierteam:terrier-prf:-SNAPSHOT" would have to be added to the boot classpath. As workaround, the RM3 tests that can not be executed within the complete test suite are added to this dedicated file, so that they can be executed in isolation by running pytest tests/test_rewrite_rm3.py. @@ -37,7 +46,7 @@ def test_rm3_expansion_for_query_compact_on_tf_idf(self): actual = qe.transform(br.transform(queriesIn)) self.assertEqual(len(actual), 1) - self.assertEqual(expected, actual.iloc[0]["query"]) + self.assertEqual(normalize_term_weights(expected), normalize_term_weights(actual.iloc[0]["query"])) @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") def test_rm3_expansion_for_query_compact_on_bm25(self): @@ -53,7 +62,7 @@ def test_rm3_expansion_for_query_compact_on_bm25(self): actual = qe.transform(br.transform(queriesIn)) self.assertEqual(len(actual), 1) - self.assertEqual(expected, actual.iloc[0]["query"]) + self.assertEqual(normalize_term_weights(expected), normalize_term_weights(actual.iloc[0]["query"])) @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") def test_axiomatic_qe_expansion_for_query_compact_on_bm25(self): From 608419ad0b7d87c6ebf0a1c535b077aa2312ecc5 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Wed, 14 Aug 2024 15:55:45 +0100 Subject: [PATCH 145/153] wip - docvectors support in FeaturesRetrieve --- pyterrier/terrier/retriever.py | 33 ++++++- tests/test_fbr_dv.py | 170 +++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+), 5 deletions(-) create mode 100644 tests/test_fbr_dv.py diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index eeedb629..1b1456e7 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -588,17 +588,24 @@ def __init__(self, takes="docs", **kwargs): @pt.java.required class FeaturesRetriever(Retriever): """ - Use this class for retrieval with multiple features + Use this class for retrieval with multiple features. Features, typically weighting model, are specificed in the ``features`` list specified in the constructor. An index must always be specified. + + This class can behave in two ways: + - if a ``wmodel`` kwarg is supplied to the constructor, it acts as a retriever. The expected input columns are ['qid', 'query']. The output columns are ['qid', 'query', 'docno', 'score', 'rank', 'features'] + - if a ``wmodel`` kwarg is not supplied, it acts as feature extractor. The expected input columns are ['qid', 'query', 'docno']. The output columns are ['qid', 'query', 'docno', 'features'] + + Two underlying retrieval methods are supported: 'fat' and 'docvectors', which can be selected using the ``method`` kwarg of the constructor. + - 'fat' is more efficient for doing retrieval directly followed by adding more features. It relies only on a single access to the inverted index. + - 'docvectors' is more efficient for doing calculating features on an existing PyTerrier result set. It uses the direct index. """ #: FBR_default_controls(dict): stores the default properties for a FBR FBR_default_controls = Retriever.default_controls.copy() - FBR_default_controls["matching"] = "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull" del FBR_default_controls["wmodel"] #: FBR_default_properties(dict): stores the default properties FBR_default_properties = Retriever.default_properties.copy() - def __init__(self, index_location, features, controls=None, properties=None, threads=1, **kwargs): + def __init__(self, index_location, features, controls=None, properties=None, threads=1, method='fat', **kwargs): """ Init method @@ -607,6 +614,7 @@ def __init__(self, index_location, features, controls=None, properties=None, thr features(list): List of features to use controls(dict): A dictionary with the control names and values properties(dict): A dictionary with the property keys and values + method(str): A string containing either 'fat' or 'docvectors'/'dv' verbose(bool): If True transform method will display progress num_results(int): Number of results to retrieve. """ @@ -622,6 +630,16 @@ def __init__(self, index_location, features, controls=None, properties=None, thr self.wmodel = kwargs["wmodel"] if "wmodel" in controls: self.wmodel = controls["wmodel"] + + assert method in ['fat', 'docvectors', 'dv'] + self.method = method + + if self.method == 'fat': + controls["matching"] = "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull" + elif self.method in ['docvectors', 'dv']: + assert pt.terrier.check_version(5.10), "Terrier 5.10 is required for this docvectors-based feature retrieval" + # TODO check for direct index? + controls["matching"] = "DVFeaturedScoringMatching,org.terrier.matching.daat.Full" # check for terrier-core#246 bug usiung FatFull if self.wmodel is not None: @@ -645,7 +663,8 @@ def __getstate__(self): 'properties' : self.properties, 'metadata' : self.metadata, 'features' : self.features, - 'wmodel' : self.wmodel + 'wmodel' : self.wmodel, + 'method' : self.method #TODO consider the context state? } @@ -654,6 +673,7 @@ def __setstate__(self, d): self.metadata = d["metadata"] self.features = d["features"] self.wmodel = d["wmodel"] + self.method = d['method'] self.properties.update(d["properties"]) for key,value in d["properties"].items(): pt.terrier.J.ApplicationSetup.setProperty(key, str(value)) @@ -758,7 +778,10 @@ def transform(self, queries): else: srq.setControl("wmodel", self.wmodel) matching_config_factory.build() - srq.setControl("matching", ",".join(["FatFeaturedScoringMatching","ScoringMatchingWithFat", srq.getControl("matching")])) + if self.method == 'fat': + srq.setControl("matching", ",".join(["FatFeaturedScoringMatching","ScoringMatchingWithFat", srq.getControl("matching")])) + elif self.method in ['docvectors', 'dv']: + srq.setControl("matching", ",".join(["DVFeaturedScoringMatching", srq.getControl("matching")])) self.manager.runSearchRequest(srq) srq = pt.java.cast('org.terrier.querying.Request', srq) diff --git a/tests/test_fbr_dv.py b/tests/test_fbr_dv.py new file mode 100644 index 00000000..9d61ef69 --- /dev/null +++ b/tests/test_fbr_dv.py @@ -0,0 +1,170 @@ +import pandas as pd +import unittest +import os +import pyterrier as pt +from .base import BaseTestCase +import warnings + +class TestFeaturesBatchRetrieve(BaseTestCase): + + def test_fbr_reranking(self): + if not pt.terrier.check_version("5.4"): + self.skipTest("Requires Terrier 5.4") + # this test examines the use of ScoringMatchingWithFat + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + indexref = JIR.of(self.here + "/fixtures/index/data.properties") + # we only want a candidate set of 2 documents + firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 2 + pipe = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:DPH", "WMODEL:PL2"], method='docvectors') + input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) + + result0 = firstpass(input) + result0_map = { row.docno : row.score for row in result0.itertuples() } + + result = pipe.transform(input) + self.assertTrue("qid" in result.columns) + self.assertTrue("docno" in result.columns) + self.assertTrue("score" in result.columns) + self.assertTrue("features" in result.columns) + self.assertEqual(2, len(result)) + self.assertEqual(result.iloc[0]["features"].size, 2) + + result1S_map = { row.docno : row.score for row in result.itertuples() } + self.assertEqual(result0_map, result1S_map) + + pipe_simple = firstpass >> (pt.BatchRetrieve(indexref, wmodel="DPH") ** pt.BatchRetrieve(indexref, wmodel="PL2")) + result2 = pipe.transform(input) + import numpy as np + f1 = np.stack(result["features"].values) + f2 = np.stack(result2["features"].values) + self.assertTrue( np.array_equal(f1, f2)) + + result2S_map = { row.docno : row.score for row in result2.itertuples() } + self.assertEqual(result0_map, result2S_map) + + result1F0_map = { row.docno : row.features[0] for row in result.itertuples() } + result2F0_map = { row.docno : row.features[0] for row in result2.itertuples() } + result1F1_map = { row.docno : row.features[1] for row in result.itertuples() } + result2F1_map = { row.docno : row.features[1] for row in result2.itertuples() } + + self.assertEqual(result1F0_map, result2F0_map) + self.assertEqual(result1F1_map, result2F1_map) + + def test_fbr_reranking2(self): + if not pt.terrier.check_version("5.4"): + self.skipTest("Requires Terrier 5.4") + # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + indexref = JIR.of(self.here + "/fixtures/index/data.properties") + # we only want a candidate set of 3 documents + firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 3 + pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2", "WMODEL:Tf"], method='docvectors') + pipe2 = firstpass >> pt.BatchRetrieve(indexref, wmodel="PL2") + pipe3 = firstpass >> pt.BatchRetrieve(indexref, wmodel="Tf") + + input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) + result0 = firstpass.transform(input) + result1 = pipe1.transform(input) + result2 = pipe2.transform(input) + result3 = pipe3.transform(input) + + print(result1) + print(result3) + #BM25 score + result0_map = { row.docno : row.score for row in result0.itertuples() } + result1S_map = { row.docno : row.score for row in result1.itertuples() } + #Tf score + result12F_map = { row.docno : row.features[1] for row in result1.itertuples() } + result3_map = { row.docno : row.score for row in result3.itertuples() } + #PL2 score + result1F_map = { row.docno : row.features[0] for row in result1.itertuples() } + result2_map = { row.docno : row.score for row in result2.itertuples() } + + + + # check features scores + # NB: places can go no less than 4, as two documents have similar PL2 scores + for rank, row in enumerate(result0.itertuples()): + docno = row.docno + # check that score is unchanged + self.assertAlmostEqual(result1S_map[docno], result0_map[docno], msg="input score mismatch at rank %d for docno %s" % (rank, docno), places=4) + # check that Tf feature score is correct + self.assertAlmostEqual(result12F_map[docno], result3_map[docno], msg="Tf feature score mismatch at rank %d for docno %s" % (rank, docno)) + # check that feature score is correct + self.assertAlmostEqual(result1F_map[docno], result2_map[docno], msg="PL2 feature score mismatch at rank %d for docno %s" % (rank, docno), places=4) + + def test_fbr_ltr(self): + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + indexref = JIR.of(self.here + "/fixtures/index/data.properties") + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method='docvectors') + topics = pt.io.read_topics(self.here + "/fixtures/vaswani_npl/query-text.trec").head(3) + qrels = pt.io.read_qrels(self.here + "/fixtures/vaswani_npl/qrels") + res = retr.transform(topics) + res = res.merge(qrels, on=['qid', 'docno'], how='left').fillna(0) + from sklearn.ensemble import RandomForestClassifier + import numpy as np + #print(res.dtypes) + RandomForestClassifier(n_estimators=10).fit(np.stack(res["features"]), res["label"]) + + def test_fbr(self): + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + indexref = JIR.of(self.here + "/fixtures/index/data.properties") + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method='docvectors') + input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) + result = retr.transform(input) + self.assertTrue("qid" in result.columns) + self.assertTrue("docno" in result.columns) + self.assertTrue("score" in result.columns) + self.assertTrue("features" in result.columns) + self.assertTrue(len(result) > 0) + self.assertEqual(result.iloc[0]["features"].size, 1) + + input = pd.DataFrame([["1", "Stability", "u1"]], columns=['qid', 'query', 'username']) + result = retr.transform(input) + self.assertIn("username", result.columns) + + retrBasic = pt.BatchRetrieve(indexref) + if "matching" in retrBasic.controls: + self.assertNotEqual(retrBasic.controls["matching"], "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull") + + def test_fbr_example(self): + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + indexref = JIR.of(self.here + "/fixtures/index/data.properties") + index = pt.IndexFactory.of(indexref) + # this ranker will make the candidate set of documents for each query + BM25 = pt.BatchRetrieve(index, wmodel="BM25") + + # these rankers we will use to re-rank the BM25 results + TF_IDF = pt.BatchRetrieve(index, wmodel="Dl") + PL2 = pt.BatchRetrieve(index, wmodel="PL2") + + pipe = (BM25 %2) >> (TF_IDF ** PL2) + fbr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Dl", "WMODEL:PL2"], wmodel="BM25", method='docvectors') % 2 + resultP = pipe.search("chemical") + resultF = fbr.search("chemical") + pd.set_option('display.max_columns', None) + + self.assertEqual(resultP.iloc[0].docno, resultF.iloc[0].docno) + self.assertEqual(resultP.iloc[0].score, resultF.iloc[0].score) + self.assertEqual(resultP.iloc[0].features[0], resultF.iloc[0].features[0]) + self.assertEqual(resultP.iloc[0].features[1], resultF.iloc[0].features[1]) + + pipeCompiled = pipe.compile() + resultC = pipeCompiled.search("chemical") + self.assertEqual(resultP.iloc[0].docno, resultC.iloc[0].docno) + self.assertEqual(resultP.iloc[0].score, resultC.iloc[0].score) + self.assertEqual(resultP.iloc[0].features[0], resultC.iloc[0].features[0]) + self.assertEqual(resultP.iloc[0].features[1], resultC.iloc[0].features[1]) + + def test_fbr_empty(self): + JIR = pt.java.autoclass('org.terrier.querying.IndexRef') + indexref = JIR.of(self.here + "/fixtures/index/data.properties") + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method='docvectors') + input = pd.DataFrame([["1", ""]], columns=['qid', 'query']) + with warnings.catch_warnings(record=True) as w: + result = retr.transform(input) + assert "Skipping empty query" in str(w[-1].message) + self.assertTrue(len(result) == 0) + +if __name__ == "__main__": + unittest.main() From f903c9044e09b187d50d050c784a1097f1572406 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Thu, 15 Aug 2024 17:38:36 +0100 Subject: [PATCH 146/153] improved test cases --- tests/test_fbr.py | 120 +++++++++++++++++-------------- tests/test_fbr_dv.py | 164 ++----------------------------------------- 2 files changed, 73 insertions(+), 211 deletions(-) diff --git a/tests/test_fbr.py b/tests/test_fbr.py index 534242f0..d788f8f3 100644 --- a/tests/test_fbr.py +++ b/tests/test_fbr.py @@ -7,6 +7,10 @@ class TestFeaturesBatchRetrieve(BaseTestCase): + def __init__(self, *args): + super().__init__(*args) + self.method = 'fat' + def test_compile_to_fbr(self): indexref = pt.IndexRef.of(self.here + "/fixtures/index/data.properties") # we only want a candidate set of 2 documents @@ -23,48 +27,48 @@ def test_compile_to_fbr(self): res4 = compiled(input) - def test_fbr_reranking(self): + def test_fbr_reranking2(self): if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") - # this test examines the use of ScoringMatchingWithFat + # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - # we only want a candidate set of 2 documents - firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 2 - pipe = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:DPH", "WMODEL:PL2"]) + # we only want a candidate set of 3 documents + firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 3 + pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2", "WMODEL:Tf"], method=self.method) + pipe2 = firstpass >> pt.BatchRetrieve(indexref, wmodel="PL2") + pipe3 = firstpass >> pt.BatchRetrieve(indexref, wmodel="Tf") + input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) + result0 = firstpass.transform(input) + result1 = pipe1.transform(input) + result2 = pipe2.transform(input) + result3 = pipe3.transform(input) - result0 = firstpass(input) + print(result1) + print(result3) + #BM25 score result0_map = { row.docno : row.score for row in result0.itertuples() } + result1S_map = { row.docno : row.score for row in result1.itertuples() } + #Tf score + result12F_map = { row.docno : row.features[1] for row in result1.itertuples() } + result3_map = { row.docno : row.score for row in result3.itertuples() } + #PL2 score + result1F_map = { row.docno : row.features[0] for row in result1.itertuples() } + result2_map = { row.docno : row.score for row in result2.itertuples() } - result = pipe.transform(input) - self.assertTrue("qid" in result.columns) - self.assertTrue("docno" in result.columns) - self.assertTrue("score" in result.columns) - self.assertTrue("features" in result.columns) - self.assertEqual(2, len(result)) - self.assertEqual(result.iloc[0]["features"].size, 2) - result1S_map = { row.docno : row.score for row in result.itertuples() } - self.assertEqual(result0_map, result1S_map) - - pipe_simple = firstpass >> (pt.BatchRetrieve(indexref, wmodel="DPH") ** pt.BatchRetrieve(indexref, wmodel="PL2")) - result2 = pipe.transform(input) - import numpy as np - f1 = np.stack(result["features"].values) - f2 = np.stack(result2["features"].values) - self.assertTrue( np.array_equal(f1, f2)) - result2S_map = { row.docno : row.score for row in result2.itertuples() } - self.assertEqual(result0_map, result2S_map) - - result1F0_map = { row.docno : row.features[0] for row in result.itertuples() } - result2F0_map = { row.docno : row.features[0] for row in result2.itertuples() } - result1F1_map = { row.docno : row.features[1] for row in result.itertuples() } - result2F1_map = { row.docno : row.features[1] for row in result2.itertuples() } - - self.assertEqual(result1F0_map, result2F0_map) - self.assertEqual(result1F1_map, result2F1_map) + # check features scores + # NB: places can go no less than 4, as two documents have similar PL2 scores + for rank, row in enumerate(result0.itertuples()): + docno = row.docno + # check that score is unchanged + self.assertAlmostEqual(result1S_map[docno], result0_map[docno], msg="input score mismatch at rank %d for docno %s" % (rank, docno), places=4) + # check that Tf feature score is correct + self.assertAlmostEqual(result12F_map[docno], result3_map[docno], msg="Tf feature score mismatch at rank %d for docno %s" % (rank, docno)) + # check that feature score is correct + self.assertAlmostEqual(result1F_map[docno], result2_map[docno], msg="PL2 feature score mismatch at rank %d for docno %s" % (rank, docno), places=4) def test_fbr_reranking2(self): if not pt.terrier.check_version("5.4"): @@ -74,7 +78,7 @@ def test_fbr_reranking2(self): indexref = JIR.of(self.here + "/fixtures/index/data.properties") # we only want a candidate set of 3 documents firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 3 - pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2"]) + pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2"], method=self.method) pipe2 = firstpass >> pt.BatchRetrieve(indexref, wmodel="PL2") input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) @@ -106,7 +110,7 @@ def test_fbr_reranking2(self): def test_fbr_ltr(self): JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) topics = pt.io.read_topics(self.here + "/fixtures/vaswani_npl/query-text.trec").head(3) qrels = pt.io.read_qrels(self.here + "/fixtures/vaswani_npl/qrels") res = retr.transform(topics) @@ -119,7 +123,7 @@ def test_fbr_ltr(self): def test_fbr(self): JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) result = retr.transform(input) self.assertTrue("qid" in result.columns) @@ -145,26 +149,38 @@ def test_fbr_example(self): BM25 = pt.BatchRetrieve(index, wmodel="BM25") # these rankers we will use to re-rank the BM25 results - TF_IDF = pt.BatchRetrieve(index, wmodel="Dl") + Tf = pt.BatchRetrieve(index, wmodel="Tf") + Dl = pt.BatchRetrieve(index, wmodel="Dl") PL2 = pt.BatchRetrieve(index, wmodel="PL2") - pipe = (BM25 %2) >> (TF_IDF ** PL2) - fbr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Dl", "WMODEL:PL2"], wmodel="BM25") % 2 + pipe = (BM25 %2) >> (Tf ** Dl ** PL2) resultP = pipe.search("chemical") - resultF = fbr.search("chemical") - pd.set_option('display.max_columns', None) - - self.assertEqual(resultP.iloc[0].docno, resultF.iloc[0].docno) - self.assertEqual(resultP.iloc[0].score, resultF.iloc[0].score) - self.assertEqual(resultP.iloc[0].features[0], resultF.iloc[0].features[0]) - self.assertEqual(resultP.iloc[0].features[1], resultF.iloc[0].features[1]) - - pipeCompiled = pipe.compile() - resultC = pipeCompiled.search("chemical") - self.assertEqual(resultP.iloc[0].docno, resultC.iloc[0].docno) - self.assertEqual(resultP.iloc[0].score, resultC.iloc[0].score) - self.assertEqual(resultP.iloc[0].features[0], resultC.iloc[0].features[0]) - self.assertEqual(resultP.iloc[0].features[1], resultC.iloc[0].features[1]) + + variants = [ + pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Tf", "WMODEL:Dl", "WMODEL:PL2"], wmodel="BM25", method=self.method) % 2, + BM25 %2 >> pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Tf", "WMODEL:Dl", "WMODEL:PL2"], method=self.method) + ] + + for fbr in variants: + resultF = fbr.search("chemical") + print(resultP) + print(resultF) + + pd.set_option('display.max_columns', None) + + self.assertEqual(resultP.iloc[0].docno, resultF.iloc[0].docno) + self.assertEqual(resultP.iloc[0].score, resultF.iloc[0].score) + self.assertEqual(resultP.iloc[0].features[0], resultF.iloc[0].features[0]) + self.assertEqual(resultP.iloc[0].features[1], resultF.iloc[0].features[1]) + self.assertEqual(resultP.iloc[0].features[2], resultF.iloc[0].features[2]) + + pipeCompiled = pipe.compile() + resultC = pipeCompiled.search("chemical") + self.assertEqual(resultP.iloc[0].docno, resultC.iloc[0].docno) + self.assertEqual(resultP.iloc[0].score, resultC.iloc[0].score) + self.assertEqual(resultP.iloc[0].features[0], resultC.iloc[0].features[0]) + self.assertEqual(resultP.iloc[0].features[1], resultC.iloc[0].features[1]) + self.assertEqual(resultP.iloc[0].features[2], resultC.iloc[0].features[2]) def test_fbr_empty(self): JIR = pt.java.autoclass('org.terrier.querying.IndexRef') diff --git a/tests/test_fbr_dv.py b/tests/test_fbr_dv.py index 9d61ef69..a2126c31 100644 --- a/tests/test_fbr_dv.py +++ b/tests/test_fbr_dv.py @@ -3,168 +3,14 @@ import os import pyterrier as pt from .base import BaseTestCase +from .test_fbr import TestFeaturesBatchRetrieve import warnings -class TestFeaturesBatchRetrieve(BaseTestCase): +class TestDVFeaturesBatchRetrieve(TestFeaturesBatchRetrieve): - def test_fbr_reranking(self): - if not pt.terrier.check_version("5.4"): - self.skipTest("Requires Terrier 5.4") - # this test examines the use of ScoringMatchingWithFat - JIR = pt.java.autoclass('org.terrier.querying.IndexRef') - indexref = JIR.of(self.here + "/fixtures/index/data.properties") - # we only want a candidate set of 2 documents - firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 2 - pipe = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:DPH", "WMODEL:PL2"], method='docvectors') - input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) - - result0 = firstpass(input) - result0_map = { row.docno : row.score for row in result0.itertuples() } - - result = pipe.transform(input) - self.assertTrue("qid" in result.columns) - self.assertTrue("docno" in result.columns) - self.assertTrue("score" in result.columns) - self.assertTrue("features" in result.columns) - self.assertEqual(2, len(result)) - self.assertEqual(result.iloc[0]["features"].size, 2) - - result1S_map = { row.docno : row.score for row in result.itertuples() } - self.assertEqual(result0_map, result1S_map) - - pipe_simple = firstpass >> (pt.BatchRetrieve(indexref, wmodel="DPH") ** pt.BatchRetrieve(indexref, wmodel="PL2")) - result2 = pipe.transform(input) - import numpy as np - f1 = np.stack(result["features"].values) - f2 = np.stack(result2["features"].values) - self.assertTrue( np.array_equal(f1, f2)) - - result2S_map = { row.docno : row.score for row in result2.itertuples() } - self.assertEqual(result0_map, result2S_map) - - result1F0_map = { row.docno : row.features[0] for row in result.itertuples() } - result2F0_map = { row.docno : row.features[0] for row in result2.itertuples() } - result1F1_map = { row.docno : row.features[1] for row in result.itertuples() } - result2F1_map = { row.docno : row.features[1] for row in result2.itertuples() } - - self.assertEqual(result1F0_map, result2F0_map) - self.assertEqual(result1F1_map, result2F1_map) - - def test_fbr_reranking2(self): - if not pt.terrier.check_version("5.4"): - self.skipTest("Requires Terrier 5.4") - # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 - JIR = pt.java.autoclass('org.terrier.querying.IndexRef') - indexref = JIR.of(self.here + "/fixtures/index/data.properties") - # we only want a candidate set of 3 documents - firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 3 - pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2", "WMODEL:Tf"], method='docvectors') - pipe2 = firstpass >> pt.BatchRetrieve(indexref, wmodel="PL2") - pipe3 = firstpass >> pt.BatchRetrieve(indexref, wmodel="Tf") - - input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) - result0 = firstpass.transform(input) - result1 = pipe1.transform(input) - result2 = pipe2.transform(input) - result3 = pipe3.transform(input) - - print(result1) - print(result3) - #BM25 score - result0_map = { row.docno : row.score for row in result0.itertuples() } - result1S_map = { row.docno : row.score for row in result1.itertuples() } - #Tf score - result12F_map = { row.docno : row.features[1] for row in result1.itertuples() } - result3_map = { row.docno : row.score for row in result3.itertuples() } - #PL2 score - result1F_map = { row.docno : row.features[0] for row in result1.itertuples() } - result2_map = { row.docno : row.score for row in result2.itertuples() } - - - - # check features scores - # NB: places can go no less than 4, as two documents have similar PL2 scores - for rank, row in enumerate(result0.itertuples()): - docno = row.docno - # check that score is unchanged - self.assertAlmostEqual(result1S_map[docno], result0_map[docno], msg="input score mismatch at rank %d for docno %s" % (rank, docno), places=4) - # check that Tf feature score is correct - self.assertAlmostEqual(result12F_map[docno], result3_map[docno], msg="Tf feature score mismatch at rank %d for docno %s" % (rank, docno)) - # check that feature score is correct - self.assertAlmostEqual(result1F_map[docno], result2_map[docno], msg="PL2 feature score mismatch at rank %d for docno %s" % (rank, docno), places=4) - - def test_fbr_ltr(self): - JIR = pt.java.autoclass('org.terrier.querying.IndexRef') - indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method='docvectors') - topics = pt.io.read_topics(self.here + "/fixtures/vaswani_npl/query-text.trec").head(3) - qrels = pt.io.read_qrels(self.here + "/fixtures/vaswani_npl/qrels") - res = retr.transform(topics) - res = res.merge(qrels, on=['qid', 'docno'], how='left').fillna(0) - from sklearn.ensemble import RandomForestClassifier - import numpy as np - #print(res.dtypes) - RandomForestClassifier(n_estimators=10).fit(np.stack(res["features"]), res["label"]) - - def test_fbr(self): - JIR = pt.java.autoclass('org.terrier.querying.IndexRef') - indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method='docvectors') - input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) - result = retr.transform(input) - self.assertTrue("qid" in result.columns) - self.assertTrue("docno" in result.columns) - self.assertTrue("score" in result.columns) - self.assertTrue("features" in result.columns) - self.assertTrue(len(result) > 0) - self.assertEqual(result.iloc[0]["features"].size, 1) - - input = pd.DataFrame([["1", "Stability", "u1"]], columns=['qid', 'query', 'username']) - result = retr.transform(input) - self.assertIn("username", result.columns) - - retrBasic = pt.BatchRetrieve(indexref) - if "matching" in retrBasic.controls: - self.assertNotEqual(retrBasic.controls["matching"], "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull") - - def test_fbr_example(self): - JIR = pt.java.autoclass('org.terrier.querying.IndexRef') - indexref = JIR.of(self.here + "/fixtures/index/data.properties") - index = pt.IndexFactory.of(indexref) - # this ranker will make the candidate set of documents for each query - BM25 = pt.BatchRetrieve(index, wmodel="BM25") - - # these rankers we will use to re-rank the BM25 results - TF_IDF = pt.BatchRetrieve(index, wmodel="Dl") - PL2 = pt.BatchRetrieve(index, wmodel="PL2") - - pipe = (BM25 %2) >> (TF_IDF ** PL2) - fbr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Dl", "WMODEL:PL2"], wmodel="BM25", method='docvectors') % 2 - resultP = pipe.search("chemical") - resultF = fbr.search("chemical") - pd.set_option('display.max_columns', None) - - self.assertEqual(resultP.iloc[0].docno, resultF.iloc[0].docno) - self.assertEqual(resultP.iloc[0].score, resultF.iloc[0].score) - self.assertEqual(resultP.iloc[0].features[0], resultF.iloc[0].features[0]) - self.assertEqual(resultP.iloc[0].features[1], resultF.iloc[0].features[1]) - - pipeCompiled = pipe.compile() - resultC = pipeCompiled.search("chemical") - self.assertEqual(resultP.iloc[0].docno, resultC.iloc[0].docno) - self.assertEqual(resultP.iloc[0].score, resultC.iloc[0].score) - self.assertEqual(resultP.iloc[0].features[0], resultC.iloc[0].features[0]) - self.assertEqual(resultP.iloc[0].features[1], resultC.iloc[0].features[1]) - - def test_fbr_empty(self): - JIR = pt.java.autoclass('org.terrier.querying.IndexRef') - indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method='docvectors') - input = pd.DataFrame([["1", ""]], columns=['qid', 'query']) - with warnings.catch_warnings(record=True) as w: - result = retr.transform(input) - assert "Skipping empty query" in str(w[-1].message) - self.assertTrue(len(result) == 0) + def __init__(self, *args): + super().__init__(*args) + self.method = 'dv' if __name__ == "__main__": unittest.main() From b5b5b87840e66ecc41de23916ae27036b9994678 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Thu, 15 Aug 2024 17:45:51 +0100 Subject: [PATCH 147/153] configurable DV matching implementation --- pyterrier/terrier/retriever.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 1b1456e7..633b4026 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -584,6 +584,8 @@ class TextScorer(TextIndexProcessor): def __init__(self, takes="docs", **kwargs): super().__init__(Retriever, takes=takes, **kwargs) +#_DVFeaturesMatching = "DVFeaturedScoringMatching2" +_DVFeaturesMatching = "DVFeaturedScoringMatching" @pt.java.required class FeaturesRetriever(Retriever): @@ -639,7 +641,7 @@ def __init__(self, index_location, features, controls=None, properties=None, thr elif self.method in ['docvectors', 'dv']: assert pt.terrier.check_version(5.10), "Terrier 5.10 is required for this docvectors-based feature retrieval" # TODO check for direct index? - controls["matching"] = "DVFeaturedScoringMatching,org.terrier.matching.daat.Full" + controls["matching"] = _DVFeaturesMatching + ",org.terrier.matching.daat.Full" # check for terrier-core#246 bug usiung FatFull if self.wmodel is not None: @@ -781,7 +783,7 @@ def transform(self, queries): if self.method == 'fat': srq.setControl("matching", ",".join(["FatFeaturedScoringMatching","ScoringMatchingWithFat", srq.getControl("matching")])) elif self.method in ['docvectors', 'dv']: - srq.setControl("matching", ",".join(["DVFeaturedScoringMatching", srq.getControl("matching")])) + srq.setControl("matching", ",".join([_DVFeaturesMatching, srq.getControl("matching")])) self.manager.runSearchRequest(srq) srq = pt.java.cast('org.terrier.querying.Request', srq) From 7c868e91c6c3b7565d6d736c847aa78bc30e7276 Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Thu, 15 Aug 2024 17:51:40 +0100 Subject: [PATCH 148/153] ensure 5.10 is there before tests will run --- tests/test_fbr.py | 12 +++++++++++- tests/test_fbr_dv.py | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/test_fbr.py b/tests/test_fbr.py index d788f8f3..f41ecd72 100644 --- a/tests/test_fbr.py +++ b/tests/test_fbr.py @@ -11,7 +11,11 @@ def __init__(self, *args): super().__init__(*args) self.method = 'fat' + def check_version(self): + pass + def test_compile_to_fbr(self): + self.check_version() indexref = pt.IndexRef.of(self.here + "/fixtures/index/data.properties") # we only want a candidate set of 2 documents firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") @@ -30,6 +34,7 @@ def test_compile_to_fbr(self): def test_fbr_reranking2(self): if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") + self.check_version() # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") @@ -73,6 +78,7 @@ def test_fbr_reranking2(self): def test_fbr_reranking2(self): if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") + self.check_version() # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") @@ -108,6 +114,7 @@ def test_fbr_reranking2(self): self.assertAlmostEqual(result1F_map[docno], result2_map[docno], msg="feature score mismatch at rank %d for docno %s" % (rank, docno), places=4) def test_fbr_ltr(self): + self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) @@ -121,6 +128,7 @@ def test_fbr_ltr(self): RandomForestClassifier(n_estimators=10).fit(np.stack(res["features"]), res["label"]) def test_fbr(self): + self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) @@ -142,6 +150,7 @@ def test_fbr(self): self.assertNotEqual(retrBasic.controls["matching"], "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull") def test_fbr_example(self): + self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") index = pt.IndexFactory.of(indexref) @@ -183,9 +192,10 @@ def test_fbr_example(self): self.assertEqual(resultP.iloc[0].features[2], resultC.iloc[0].features[2]) def test_fbr_empty(self): + self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) input = pd.DataFrame([["1", ""]], columns=['qid', 'query']) with warnings.catch_warnings(record=True) as w: result = retr.transform(input) diff --git a/tests/test_fbr_dv.py b/tests/test_fbr_dv.py index a2126c31..66b6607c 100644 --- a/tests/test_fbr_dv.py +++ b/tests/test_fbr_dv.py @@ -12,5 +12,9 @@ def __init__(self, *args): super().__init__(*args) self.method = 'dv' + def check_version(self): + if not pt.terrier.check_version("5.10"): + self.skipTest("Terrier 5.10 is required") + if __name__ == "__main__": unittest.main() From bc6cb518e09fd89a854d5d15947dd915bd3a6c9b Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 16 Aug 2024 09:22:39 +0100 Subject: [PATCH 149/153] Revert "Merge pull request #455 from terrier-org/dv" This reverts commit 087c29d55b3066be8fd9a2fc92782482fad8237b, reversing changes made to 813453669591f3615c5cc02ab76ce968e65d9ed2. We'll make this as a seprate PR to main later --- pyterrier/terrier/retriever.py | 35 ++------- tests/test_fbr.py | 132 +++++++++++++-------------------- tests/test_fbr_dv.py | 20 ----- 3 files changed, 58 insertions(+), 129 deletions(-) delete mode 100644 tests/test_fbr_dv.py diff --git a/pyterrier/terrier/retriever.py b/pyterrier/terrier/retriever.py index 633b4026..eeedb629 100644 --- a/pyterrier/terrier/retriever.py +++ b/pyterrier/terrier/retriever.py @@ -584,30 +584,21 @@ class TextScorer(TextIndexProcessor): def __init__(self, takes="docs", **kwargs): super().__init__(Retriever, takes=takes, **kwargs) -#_DVFeaturesMatching = "DVFeaturedScoringMatching2" -_DVFeaturesMatching = "DVFeaturedScoringMatching" @pt.java.required class FeaturesRetriever(Retriever): """ - Use this class for retrieval with multiple features. Features, typically weighting model, are specificed in the ``features`` list specified in the constructor. An index must always be specified. - - This class can behave in two ways: - - if a ``wmodel`` kwarg is supplied to the constructor, it acts as a retriever. The expected input columns are ['qid', 'query']. The output columns are ['qid', 'query', 'docno', 'score', 'rank', 'features'] - - if a ``wmodel`` kwarg is not supplied, it acts as feature extractor. The expected input columns are ['qid', 'query', 'docno']. The output columns are ['qid', 'query', 'docno', 'features'] - - Two underlying retrieval methods are supported: 'fat' and 'docvectors', which can be selected using the ``method`` kwarg of the constructor. - - 'fat' is more efficient for doing retrieval directly followed by adding more features. It relies only on a single access to the inverted index. - - 'docvectors' is more efficient for doing calculating features on an existing PyTerrier result set. It uses the direct index. + Use this class for retrieval with multiple features """ #: FBR_default_controls(dict): stores the default properties for a FBR FBR_default_controls = Retriever.default_controls.copy() + FBR_default_controls["matching"] = "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull" del FBR_default_controls["wmodel"] #: FBR_default_properties(dict): stores the default properties FBR_default_properties = Retriever.default_properties.copy() - def __init__(self, index_location, features, controls=None, properties=None, threads=1, method='fat', **kwargs): + def __init__(self, index_location, features, controls=None, properties=None, threads=1, **kwargs): """ Init method @@ -616,7 +607,6 @@ def __init__(self, index_location, features, controls=None, properties=None, thr features(list): List of features to use controls(dict): A dictionary with the control names and values properties(dict): A dictionary with the property keys and values - method(str): A string containing either 'fat' or 'docvectors'/'dv' verbose(bool): If True transform method will display progress num_results(int): Number of results to retrieve. """ @@ -632,16 +622,6 @@ def __init__(self, index_location, features, controls=None, properties=None, thr self.wmodel = kwargs["wmodel"] if "wmodel" in controls: self.wmodel = controls["wmodel"] - - assert method in ['fat', 'docvectors', 'dv'] - self.method = method - - if self.method == 'fat': - controls["matching"] = "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull" - elif self.method in ['docvectors', 'dv']: - assert pt.terrier.check_version(5.10), "Terrier 5.10 is required for this docvectors-based feature retrieval" - # TODO check for direct index? - controls["matching"] = _DVFeaturesMatching + ",org.terrier.matching.daat.Full" # check for terrier-core#246 bug usiung FatFull if self.wmodel is not None: @@ -665,8 +645,7 @@ def __getstate__(self): 'properties' : self.properties, 'metadata' : self.metadata, 'features' : self.features, - 'wmodel' : self.wmodel, - 'method' : self.method + 'wmodel' : self.wmodel #TODO consider the context state? } @@ -675,7 +654,6 @@ def __setstate__(self, d): self.metadata = d["metadata"] self.features = d["features"] self.wmodel = d["wmodel"] - self.method = d['method'] self.properties.update(d["properties"]) for key,value in d["properties"].items(): pt.terrier.J.ApplicationSetup.setProperty(key, str(value)) @@ -780,10 +758,7 @@ def transform(self, queries): else: srq.setControl("wmodel", self.wmodel) matching_config_factory.build() - if self.method == 'fat': - srq.setControl("matching", ",".join(["FatFeaturedScoringMatching","ScoringMatchingWithFat", srq.getControl("matching")])) - elif self.method in ['docvectors', 'dv']: - srq.setControl("matching", ",".join([_DVFeaturesMatching, srq.getControl("matching")])) + srq.setControl("matching", ",".join(["FatFeaturedScoringMatching","ScoringMatchingWithFat", srq.getControl("matching")])) self.manager.runSearchRequest(srq) srq = pt.java.cast('org.terrier.querying.Request', srq) diff --git a/tests/test_fbr.py b/tests/test_fbr.py index f41ecd72..534242f0 100644 --- a/tests/test_fbr.py +++ b/tests/test_fbr.py @@ -7,15 +7,7 @@ class TestFeaturesBatchRetrieve(BaseTestCase): - def __init__(self, *args): - super().__init__(*args) - self.method = 'fat' - - def check_version(self): - pass - def test_compile_to_fbr(self): - self.check_version() indexref = pt.IndexRef.of(self.here + "/fixtures/index/data.properties") # we only want a candidate set of 2 documents firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") @@ -31,60 +23,58 @@ def test_compile_to_fbr(self): res4 = compiled(input) - def test_fbr_reranking2(self): + def test_fbr_reranking(self): if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") - self.check_version() - # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 + # this test examines the use of ScoringMatchingWithFat JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - # we only want a candidate set of 3 documents - firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 3 - pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2", "WMODEL:Tf"], method=self.method) - pipe2 = firstpass >> pt.BatchRetrieve(indexref, wmodel="PL2") - pipe3 = firstpass >> pt.BatchRetrieve(indexref, wmodel="Tf") - + # we only want a candidate set of 2 documents + firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 2 + pipe = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:DPH", "WMODEL:PL2"]) input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) - result0 = firstpass.transform(input) - result1 = pipe1.transform(input) - result2 = pipe2.transform(input) - result3 = pipe3.transform(input) - print(result1) - print(result3) - #BM25 score + result0 = firstpass(input) result0_map = { row.docno : row.score for row in result0.itertuples() } - result1S_map = { row.docno : row.score for row in result1.itertuples() } - #Tf score - result12F_map = { row.docno : row.features[1] for row in result1.itertuples() } - result3_map = { row.docno : row.score for row in result3.itertuples() } - #PL2 score - result1F_map = { row.docno : row.features[0] for row in result1.itertuples() } - result2_map = { row.docno : row.score for row in result2.itertuples() } + result = pipe.transform(input) + self.assertTrue("qid" in result.columns) + self.assertTrue("docno" in result.columns) + self.assertTrue("score" in result.columns) + self.assertTrue("features" in result.columns) + self.assertEqual(2, len(result)) + self.assertEqual(result.iloc[0]["features"].size, 2) + result1S_map = { row.docno : row.score for row in result.itertuples() } + self.assertEqual(result0_map, result1S_map) - # check features scores - # NB: places can go no less than 4, as two documents have similar PL2 scores - for rank, row in enumerate(result0.itertuples()): - docno = row.docno - # check that score is unchanged - self.assertAlmostEqual(result1S_map[docno], result0_map[docno], msg="input score mismatch at rank %d for docno %s" % (rank, docno), places=4) - # check that Tf feature score is correct - self.assertAlmostEqual(result12F_map[docno], result3_map[docno], msg="Tf feature score mismatch at rank %d for docno %s" % (rank, docno)) - # check that feature score is correct - self.assertAlmostEqual(result1F_map[docno], result2_map[docno], msg="PL2 feature score mismatch at rank %d for docno %s" % (rank, docno), places=4) + pipe_simple = firstpass >> (pt.BatchRetrieve(indexref, wmodel="DPH") ** pt.BatchRetrieve(indexref, wmodel="PL2")) + result2 = pipe.transform(input) + import numpy as np + f1 = np.stack(result["features"].values) + f2 = np.stack(result2["features"].values) + self.assertTrue( np.array_equal(f1, f2)) + + result2S_map = { row.docno : row.score for row in result2.itertuples() } + self.assertEqual(result0_map, result2S_map) + + result1F0_map = { row.docno : row.features[0] for row in result.itertuples() } + result2F0_map = { row.docno : row.features[0] for row in result2.itertuples() } + result1F1_map = { row.docno : row.features[1] for row in result.itertuples() } + result2F1_map = { row.docno : row.features[1] for row in result2.itertuples() } + + self.assertEqual(result1F0_map, result2F0_map) + self.assertEqual(result1F1_map, result2F1_map) def test_fbr_reranking2(self): if not pt.terrier.check_version("5.4"): self.skipTest("Requires Terrier 5.4") - self.check_version() # this test examines the use of ScoringMatchingWithFat, using a particular case known to with Terrier 5.3 JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") # we only want a candidate set of 3 documents firstpass = pt.BatchRetrieve(indexref, wmodel="BM25") % 3 - pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2"], method=self.method) + pipe1 = firstpass >> pt.FeaturesBatchRetrieve(indexref, features=["WMODEL:PL2"]) pipe2 = firstpass >> pt.BatchRetrieve(indexref, wmodel="PL2") input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) @@ -114,10 +104,9 @@ def test_fbr_reranking2(self): self.assertAlmostEqual(result1F_map[docno], result2_map[docno], msg="feature score mismatch at rank %d for docno %s" % (rank, docno), places=4) def test_fbr_ltr(self): - self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") topics = pt.io.read_topics(self.here + "/fixtures/vaswani_npl/query-text.trec").head(3) qrels = pt.io.read_qrels(self.here + "/fixtures/vaswani_npl/qrels") res = retr.transform(topics) @@ -128,10 +117,9 @@ def test_fbr_ltr(self): RandomForestClassifier(n_estimators=10).fit(np.stack(res["features"]), res["label"]) def test_fbr(self): - self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") input = pd.DataFrame([["1", "Stability"]], columns=['qid', 'query']) result = retr.transform(input) self.assertTrue("qid" in result.columns) @@ -150,7 +138,6 @@ def test_fbr(self): self.assertNotEqual(retrBasic.controls["matching"], "FatFeaturedScoringMatching,org.terrier.matching.daat.FatFull") def test_fbr_example(self): - self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") index = pt.IndexFactory.of(indexref) @@ -158,44 +145,31 @@ def test_fbr_example(self): BM25 = pt.BatchRetrieve(index, wmodel="BM25") # these rankers we will use to re-rank the BM25 results - Tf = pt.BatchRetrieve(index, wmodel="Tf") - Dl = pt.BatchRetrieve(index, wmodel="Dl") + TF_IDF = pt.BatchRetrieve(index, wmodel="Dl") PL2 = pt.BatchRetrieve(index, wmodel="PL2") - pipe = (BM25 %2) >> (Tf ** Dl ** PL2) + pipe = (BM25 %2) >> (TF_IDF ** PL2) + fbr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Dl", "WMODEL:PL2"], wmodel="BM25") % 2 resultP = pipe.search("chemical") - - variants = [ - pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Tf", "WMODEL:Dl", "WMODEL:PL2"], wmodel="BM25", method=self.method) % 2, - BM25 %2 >> pt.FeaturesBatchRetrieve(indexref, ["WMODEL:Tf", "WMODEL:Dl", "WMODEL:PL2"], method=self.method) - ] - - for fbr in variants: - resultF = fbr.search("chemical") - print(resultP) - print(resultF) - - pd.set_option('display.max_columns', None) - - self.assertEqual(resultP.iloc[0].docno, resultF.iloc[0].docno) - self.assertEqual(resultP.iloc[0].score, resultF.iloc[0].score) - self.assertEqual(resultP.iloc[0].features[0], resultF.iloc[0].features[0]) - self.assertEqual(resultP.iloc[0].features[1], resultF.iloc[0].features[1]) - self.assertEqual(resultP.iloc[0].features[2], resultF.iloc[0].features[2]) - - pipeCompiled = pipe.compile() - resultC = pipeCompiled.search("chemical") - self.assertEqual(resultP.iloc[0].docno, resultC.iloc[0].docno) - self.assertEqual(resultP.iloc[0].score, resultC.iloc[0].score) - self.assertEqual(resultP.iloc[0].features[0], resultC.iloc[0].features[0]) - self.assertEqual(resultP.iloc[0].features[1], resultC.iloc[0].features[1]) - self.assertEqual(resultP.iloc[0].features[2], resultC.iloc[0].features[2]) + resultF = fbr.search("chemical") + pd.set_option('display.max_columns', None) + + self.assertEqual(resultP.iloc[0].docno, resultF.iloc[0].docno) + self.assertEqual(resultP.iloc[0].score, resultF.iloc[0].score) + self.assertEqual(resultP.iloc[0].features[0], resultF.iloc[0].features[0]) + self.assertEqual(resultP.iloc[0].features[1], resultF.iloc[0].features[1]) + + pipeCompiled = pipe.compile() + resultC = pipeCompiled.search("chemical") + self.assertEqual(resultP.iloc[0].docno, resultC.iloc[0].docno) + self.assertEqual(resultP.iloc[0].score, resultC.iloc[0].score) + self.assertEqual(resultP.iloc[0].features[0], resultC.iloc[0].features[0]) + self.assertEqual(resultP.iloc[0].features[1], resultC.iloc[0].features[1]) def test_fbr_empty(self): - self.check_version() JIR = pt.java.autoclass('org.terrier.querying.IndexRef') indexref = JIR.of(self.here + "/fixtures/index/data.properties") - retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH", method=self.method) + retr = pt.FeaturesBatchRetrieve(indexref, ["WMODEL:PL2"], wmodel="DPH") input = pd.DataFrame([["1", ""]], columns=['qid', 'query']) with warnings.catch_warnings(record=True) as w: result = retr.transform(input) diff --git a/tests/test_fbr_dv.py b/tests/test_fbr_dv.py deleted file mode 100644 index 66b6607c..00000000 --- a/tests/test_fbr_dv.py +++ /dev/null @@ -1,20 +0,0 @@ -import pandas as pd -import unittest -import os -import pyterrier as pt -from .base import BaseTestCase -from .test_fbr import TestFeaturesBatchRetrieve -import warnings - -class TestDVFeaturesBatchRetrieve(TestFeaturesBatchRetrieve): - - def __init__(self, *args): - super().__init__(*args) - self.method = 'dv' - - def check_version(self): - if not pt.terrier.check_version("5.10"): - self.skipTest("Terrier 5.10 is required") - -if __name__ == "__main__": - unittest.main() From cad18c1310afdf4d48e1a78c9b262f2fd12965cd Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Fri, 16 Aug 2024 10:09:50 +0100 Subject: [PATCH 150/153] flash before RM3 --- .github/workflows/push.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 3766e449..826ca2f2 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -78,18 +78,18 @@ jobs: # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide #flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: RM3 unit tests + - name: Flash unit tests env: TERRIER_VERSION: ${{ matrix.terrier }} run: | - pytest -p no:faulthandler tests/test_rewrite_rm3.py + pytest -p no:faulthandler tests/test_flash.py # Hide underlying Jnius problem by disabling faulthandler: https://github.com/pytest-dev/pytest/issues/7634 - - name: Flash unit tests + - name: RM3 unit tests env: TERRIER_VERSION: ${{ matrix.terrier }} run: | - pytest -p no:faulthandler tests/test_flash.py + pytest -p no:faulthandler tests/test_rewrite_rm3.py # Hide underlying Jnius problem by disabling faulthandler: https://github.com/pytest-dev/pytest/issues/7634 - name: All unit tests From d726e4a10315fd6bbb5e19134e432d19fd17a82f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 16 Aug 2024 10:33:50 +0100 Subject: [PATCH 151/153] mergeing rm3 tests back into the main rewrite test file --- .github/workflows/push.yml | 7 -- pyterrier/terrier/java.py | 17 +--- tests/base.py | 3 +- tests/test_rewrite.py | 163 ++++++++++++++++++++++++++++------ tests/test_rewrite_rm3.py | 174 ------------------------------------- 5 files changed, 141 insertions(+), 223 deletions(-) delete mode 100644 tests/test_rewrite_rm3.py diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 826ca2f2..03b0ff84 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -85,13 +85,6 @@ jobs: pytest -p no:faulthandler tests/test_flash.py # Hide underlying Jnius problem by disabling faulthandler: https://github.com/pytest-dev/pytest/issues/7634 - - name: RM3 unit tests - env: - TERRIER_VERSION: ${{ matrix.terrier }} - run: | - pytest -p no:faulthandler tests/test_rewrite_rm3.py - # Hide underlying Jnius problem by disabling faulthandler: https://github.com/pytest-dev/pytest/issues/7634 - - name: All unit tests env: TERRIER_VERSION: ${{ matrix.terrier }} diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index 13821af8..f060192c 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -13,30 +13,21 @@ _properties = None configure = pt.java.register_config('pt.terrier.java', { - 'terrier_version': None, - 'helper_version': None, + 'terrier_version': os.environ.get("TERRIER_VERSION") or None, + 'helper_version': os.environ.get("TERRIER_HELPER_VERSION") or None, 'boot_packages': [], 'force_download': True, 'prf_version': '-SNAPSHOT', }) - @pt.java.before_init def set_version(version: Optional[str] = None): - if version is not None: - configure['terrier_version'] = version + configure['terrier_version'] = version @pt.java.before_init def set_helper_version(version: Optional[str] = None): - if version is not None: - configure['helper_version'] = version - - -@pt.java.before_init -def set_prf_version(version: Optional[str] = None): - if version is not None: - configure['prf_version'] = version + configure['helper_version'] = version class TerrierJavaInit(pt.java.JavaInitializer): diff --git a/tests/base.py b/tests/base.py index 13ec23f9..6691c73d 100644 --- a/tests/base.py +++ b/tests/base.py @@ -18,8 +18,7 @@ def __init__(self, *args, **kwargs): if terrier_helper_version is not None: print("Testing with Terrier Helper version " + terrier_helper_version) - pt.terrier.set_version(terrier_version) - pt.terrier.set_helper_version(terrier_helper_version) + pt.terrier.set_prf_version('rm_tiebreak-SNAPSHOT') pt.java.set_log_level("DEBUG") # pt.java.add_option('-ea') can be added here to ensure that all Java assertions are met pt.java.init() diff --git a/tests/test_rewrite.py b/tests/test_rewrite.py index 90493e13..c4342dcd 100644 --- a/tests/test_rewrite.py +++ b/tests/test_rewrite.py @@ -8,6 +8,15 @@ from matchpy import * from .base import TempDirTestCase +def normalize_term_weights(term_weights, digits=7): + ret = '' + for i in term_weights.split(): + if '^' in i: + i = i.split('^') + i = i[0] + '^' + i[1][:digits] + ret += ' ' + i + return ret.strip() + class TestRewrite(TempDirTestCase): def test_stash_results_noclear(self): @@ -221,41 +230,141 @@ def _sdm(self, freq): pt.Evaluate(br_sdm.transform(t), dataset.get_qrels(), metrics=["map"])["map"], places=4) - # RM3 cannot be tested with current jnius, as it must be placed into the boot classpath - # As workaround for the moment, those RM3 tests are implemented in a single file tests/test_rewrite_rm3.py that is skipped when executing the complete pipeline, but are executed when run in isolation. - # def test_rm3(self): - # dataset = pt.datasets.get_dataset("vaswani") - # indexref = dataset.get_index() + def test_rm3_expansion_for_query_compact_on_tf_idf(self): + # top-retrieval results of TF-IDF and BM25 below change, so the RM3 weights differ + expected = 'applypipeline:off equip^0.037346367 ferrit^0.027371584 modul^0.027371584 suppli^0.037346367 design^0.056739070 microwav^0.027371584 anod^0.037346367 unit^0.037346367 compact^0.674414337 stabil^0.037346367' + + indexref = pt.datasets.get_dataset("vaswani").get_index() + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) + + qe = pt.rewrite.RM3(indexref) + br = pt.BatchRetrieve(indexref, wmodel='TF_IDF') + + actual = qe.transform(br.transform(queriesIn)) + + self.assertEqual(len(actual), 1) + self.assertEqual(normalize_term_weights(expected), normalize_term_weights(actual.iloc[0]["query"])) - # qe = pt.rewrite.RM3(indexref) - # br = pt.BatchRetrieve(indexref) + def test_rm3_expansion_for_query_compact_on_bm25(self): + # top-retrieval results of BM25 and TF-IDF above change, so the RM3 weights differ + expected = 'applypipeline:off equip^0.040264644 ferrit^0.025508024 modul^0.025508024 suppli^0.040264644 design^0.051008239 microwav^0.025508024 anod^0.040264644 unit^0.040264644 compact^0.671144485 stabil^0.040264644' + + indexref = pt.datasets.get_dataset("vaswani").get_index() + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) + + qe = pt.rewrite.RM3(indexref) + br = pt.BatchRetrieve(indexref, wmodel='BM25') + + actual = qe.transform(br.transform(queriesIn)) - # queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - # res = br.transform(queriesIn) + self.assertEqual(len(actual), 1) + self.assertEqual(normalize_term_weights(expected), normalize_term_weights(actual.iloc[0]["query"])) - # queriesOut = qe.transform(res) - # self.assertEqual(len(queriesOut), 1) - # query = queriesOut.iloc[0]["query"] - # #self.assertTrue("compact^1.82230972" in query) - # self.assertTrue("applypipeline:off " in query) + def test_axiomatic_qe_expansion_for_query_compact_on_bm25(self): + # just ensure that AxiomaticQE results do not change + expected = 'applypipeline:off compact^1.000000000' - # pipe = br >> qe >> br + indexref = pt.datasets.get_dataset("vaswani").get_index() + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - # # lets go faster, we only need 18 topics. qid 16 had a tricky case - # t = dataset.get_topics().head(18) + qe = pt.rewrite.AxiomaticQE(indexref) + br = pt.BatchRetrieve(indexref, wmodel='BM25') - # all_qe_res = pipe.transform(t) - # map_pipe = pt.Evaluate(all_qe_res, dataset.get_qrels(), metrics=["map"])["map"] + actual = qe.transform(br.transform(queriesIn)) - # br_qe = pt.BatchRetrieve(indexref, - # controls={"qe":"on"}, - # properties={"querying.processes" : "terrierql:TerrierQLParser,parsecontrols:TerrierQLToControls,"\ - # +"parseql:TerrierQLToMatchingQueryTerms,matchopql:MatchingOpQLParser,applypipeline:ApplyTermPipeline,"\ - # +"sd:DependenceModelPreProcess,localmatching:LocalManager$ApplyLocalMatching,qe:RM3,"\ - # +"labels:org.terrier.learning.LabelDecorator,filters:LocalManager$PostFilterProcess"}) - # map_qe = pt.Evaluate(br_qe.transform(t), dataset.get_qrels(), metrics=["map"])["map"] + self.assertEqual(len(actual), 1) + self.assertEqual(expected, actual.iloc[0]["query"]) + + def test_kl_qe_expansion_for_query_compact_on_bm25(self): + # just ensure that KLQueryExpansion results do not change + expected = 'applypipeline:off compact^1.840895333 design^0.348370740 equip^0.000000000 purpos^0.000000000 instrument^0.000000000 ferrit^0.000000000 anod^0.000000000 aircraft^0.000000000 microwav^0.000000000 sideband^0.000000000' + + indexref = pt.datasets.get_dataset("vaswani").get_index() + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - # self.assertAlmostEqual(map_qe, map_pipe, places=2) + qe = pt.rewrite.KLQueryExpansion(indexref) + br = pt.BatchRetrieve(indexref, wmodel='BM25') + + actual = qe.transform(br.transform(queriesIn)) + + self.assertEqual(len(actual), 1) + self.assertEqual(expected, actual.iloc[0]["query"]) + + def test_bo1_qe_expansion_for_query_compact_on_bm25(self): + # just ensure that Bo1QueryExpansion results do not change + expected = 'applypipeline:off compact^1.822309726 design^0.287992096 equip^0.000000000 purpos^0.000000000 instrument^0.000000000 ferrit^0.000000000 anod^0.000000000 aircraft^0.000000000 microwav^0.000000000 sideband^0.000000000' + + indexref = pt.datasets.get_dataset("vaswani").get_index() + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) + + qe = pt.rewrite.Bo1QueryExpansion(indexref) + br = pt.BatchRetrieve(indexref, wmodel='BM25') + + actual = qe.transform(br.transform(queriesIn)) + + self.assertEqual(len(actual), 1) + self.assertEqual(expected, actual.iloc[0]["query"]) + + def test_dfr_qe_expansion_for_query_compact_on_bm25(self): + # just ensure that DFRQueryExpansion results do not change + expected = 'applypipeline:off compact^1.822309726 design^0.287992096 equip^0.000000000 purpos^0.000000000 instrument^0.000000000 ferrit^0.000000000 anod^0.000000000 aircraft^0.000000000 microwav^0.000000000 sideband^0.000000000' + + indexref = pt.datasets.get_dataset("vaswani").get_index() + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) + + qe = pt.rewrite.DFRQueryExpansion(indexref) + br = pt.BatchRetrieve(indexref, wmodel='BM25') + + actual = qe.transform(br.transform(queriesIn)) + + self.assertEqual(len(actual), 1) + self.assertEqual(expected, actual.iloc[0]["query"]) + + def test_rm3_end_to_end(self): + """An end-to-end test, contrasting the smaller tests (that fail faster) from above. + """ + dataset = pt.datasets.get_dataset("vaswani") + indexref = dataset.get_index() + + qe = pt.rewrite.RM3(indexref) + br = pt.BatchRetrieve(indexref) + + queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) + res = br.transform(queriesIn) + + queriesOut = qe.transform(res) + self.assertEqual(len(queriesOut), 1) + query = queriesOut.iloc[0]["query"] + #self.assertTrue("compact^1.82230972" in query) + self.assertTrue("applypipeline:off " in query) + + pipe = br >> qe >> br + + # lets go faster, we only need 18 topics. qid 16 had a tricky case + t = dataset.get_topics().head(18) + + all_qe_res = pipe.transform(t) + map_pipe = pt.Evaluate(all_qe_res, dataset.get_qrels(), metrics=["map"])["map"] + + br_qe = pt.BatchRetrieve(indexref, + controls={"qe":"on"}, + properties={"querying.processes" : "terrierql:TerrierQLParser,parsecontrols:TerrierQLToControls,"\ + +"parseql:TerrierQLToMatchingQueryTerms,matchopql:MatchingOpQLParser,applypipeline:ApplyTermPipeline,"\ + +"sd:DependenceModelPreProcess,localmatching:LocalManager$ApplyLocalMatching,qe:RM3,"\ + +"labels:org.terrier.learning.LabelDecorator,filters:LocalManager$PostFilterProcess"}) + map_qe = pt.Evaluate(br_qe.transform(t), dataset.get_qrels(), metrics=["map"])["map"] + + self.assertAlmostEqual(map_qe, map_pipe, places=2) + + def test_scoring_rm3_qe(self): + expected = 'applypipeline:off fox^0.600000024' + input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox", 3], ["q1", "fox", "d2", "brown fox jumps", 2]], columns=["qid", "query", "docno", "body", "score"]) + scorer = pt.terrier.retriever.TextIndexProcessor(pt.rewrite.RM3, takes="docs", returns="queries") + rtr = scorer(input) + self.assertTrue("qid" in rtr.columns) + self.assertTrue("query" in rtr.columns) + self.assertTrue("docno" not in rtr.columns) + self.assertTrue(expected, rtr.iloc[0]["query"]) def test_linear_terrierql(self): pipe = pt.apply.query(lambda row: "az") >> pt.rewrite.linear(0.75, 0.25) diff --git a/tests/test_rewrite_rm3.py b/tests/test_rewrite_rm3.py deleted file mode 100644 index 21f0a208..00000000 --- a/tests/test_rewrite_rm3.py +++ /dev/null @@ -1,174 +0,0 @@ -import pandas as pd -import pyterrier as pt -import os -from matchpy import * -from .base import TempDirTestCase -import pytest - -if not pt.java.started(): - terrier_version = os.environ.get("TERRIER_VERSION", None) - terrier_helper_version = os.environ.get("TERRIER_HELPER_VERSION", None) - pt.java.set_log_level('DEBUG') - pt.terrier.set_version(terrier_version) - pt.terrier.set_helper_version(terrier_helper_version) - pt.terrier.set_prf_version('rm_tiebreak-SNAPSHOT') - pt.java.init() # optional, forces java initialisation - TERRIER_PRF_ON_CLASSPATH = True -else: - TERRIER_PRF_ON_CLASSPATH = False - - -def normalize_term_weights(term_weights, digits=7): - ret = '' - for i in term_weights.split(): - if '^' in i: - i = i.split('^') - i = i[0] + '^' + i[1][:digits] - ret += ' ' + i - return ret.strip() - -class TestRewriteRm3(TempDirTestCase): - """This is a set of unit tests for RM3 that can currently not run in the complete test suite, as the "com.github.terrierteam:terrier-prf:-SNAPSHOT" would have to be added to the boot classpath. - As workaround, the RM3 tests that can not be executed within the complete test suite are added to this dedicated file, so that they can be executed in isolation by running pytest tests/test_rewrite_rm3.py. - """ - - @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") - def test_rm3_expansion_for_query_compact_on_tf_idf(self): - # top-retrieval results of TF-IDF and BM25 below change, so the RM3 weights differ - expected = 'applypipeline:off equip^0.037346367 ferrit^0.027371584 modul^0.027371584 suppli^0.037346367 design^0.056739070 microwav^0.027371584 anod^0.037346367 unit^0.037346367 compact^0.674414337 stabil^0.037346367' - - indexref = pt.datasets.get_dataset("vaswani").get_index() - queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - - qe = pt.rewrite.RM3(indexref) - br = pt.BatchRetrieve(indexref, wmodel='TF_IDF') - - actual = qe.transform(br.transform(queriesIn)) - - self.assertEqual(len(actual), 1) - self.assertEqual(normalize_term_weights(expected), normalize_term_weights(actual.iloc[0]["query"])) - - @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") - def test_rm3_expansion_for_query_compact_on_bm25(self): - # top-retrieval results of BM25 and TF-IDF above change, so the RM3 weights differ - expected = 'applypipeline:off equip^0.040264644 ferrit^0.025508024 modul^0.025508024 suppli^0.040264644 design^0.051008239 microwav^0.025508024 anod^0.040264644 unit^0.040264644 compact^0.671144485 stabil^0.040264644' - - indexref = pt.datasets.get_dataset("vaswani").get_index() - queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - - qe = pt.rewrite.RM3(indexref) - br = pt.BatchRetrieve(indexref, wmodel='BM25') - - actual = qe.transform(br.transform(queriesIn)) - - self.assertEqual(len(actual), 1) - self.assertEqual(normalize_term_weights(expected), normalize_term_weights(actual.iloc[0]["query"])) - - @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") - def test_axiomatic_qe_expansion_for_query_compact_on_bm25(self): - # just ensure that AxiomaticQE results do not change - expected = 'applypipeline:off compact^1.000000000' - - indexref = pt.datasets.get_dataset("vaswani").get_index() - queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - - qe = pt.rewrite.AxiomaticQE(indexref) - br = pt.BatchRetrieve(indexref, wmodel='BM25') - - actual = qe.transform(br.transform(queriesIn)) - - self.assertEqual(len(actual), 1) - self.assertEqual(expected, actual.iloc[0]["query"]) - - def test_kl_qe_expansion_for_query_compact_on_bm25(self): - # just ensure that KLQueryExpansion results do not change - expected = 'applypipeline:off compact^1.840895333 design^0.348370740 equip^0.000000000 purpos^0.000000000 instrument^0.000000000 ferrit^0.000000000 anod^0.000000000 aircraft^0.000000000 microwav^0.000000000 sideband^0.000000000' - - indexref = pt.datasets.get_dataset("vaswani").get_index() - queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - - qe = pt.rewrite.KLQueryExpansion(indexref) - br = pt.BatchRetrieve(indexref, wmodel='BM25') - - actual = qe.transform(br.transform(queriesIn)) - - self.assertEqual(len(actual), 1) - self.assertEqual(expected, actual.iloc[0]["query"]) - - def test_bo1_qe_expansion_for_query_compact_on_bm25(self): - # just ensure that Bo1QueryExpansion results do not change - expected = 'applypipeline:off compact^1.822309726 design^0.287992096 equip^0.000000000 purpos^0.000000000 instrument^0.000000000 ferrit^0.000000000 anod^0.000000000 aircraft^0.000000000 microwav^0.000000000 sideband^0.000000000' - - indexref = pt.datasets.get_dataset("vaswani").get_index() - queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - - qe = pt.rewrite.Bo1QueryExpansion(indexref) - br = pt.BatchRetrieve(indexref, wmodel='BM25') - - actual = qe.transform(br.transform(queriesIn)) - - self.assertEqual(len(actual), 1) - self.assertEqual(expected, actual.iloc[0]["query"]) - - def test_dfr_qe_expansion_for_query_compact_on_bm25(self): - # just ensure that DFRQueryExpansion results do not change - expected = 'applypipeline:off compact^1.822309726 design^0.287992096 equip^0.000000000 purpos^0.000000000 instrument^0.000000000 ferrit^0.000000000 anod^0.000000000 aircraft^0.000000000 microwav^0.000000000 sideband^0.000000000' - - indexref = pt.datasets.get_dataset("vaswani").get_index() - queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - - qe = pt.rewrite.DFRQueryExpansion(indexref) - br = pt.BatchRetrieve(indexref, wmodel='BM25') - - actual = qe.transform(br.transform(queriesIn)) - - self.assertEqual(len(actual), 1) - self.assertEqual(expected, actual.iloc[0]["query"]) - - @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") - def test_rm3_end_to_end(self): - """An end-to-end test, contrasting the smaller tests (that fail faster) from above. - """ - dataset = pt.datasets.get_dataset("vaswani") - indexref = dataset.get_index() - - qe = pt.rewrite.RM3(indexref) - br = pt.BatchRetrieve(indexref) - - queriesIn = pd.DataFrame([["1", "compact"]], columns=["qid", "query"]) - res = br.transform(queriesIn) - - queriesOut = qe.transform(res) - self.assertEqual(len(queriesOut), 1) - query = queriesOut.iloc[0]["query"] - #self.assertTrue("compact^1.82230972" in query) - self.assertTrue("applypipeline:off " in query) - - pipe = br >> qe >> br - - # lets go faster, we only need 18 topics. qid 16 had a tricky case - t = dataset.get_topics().head(18) - - all_qe_res = pipe.transform(t) - map_pipe = pt.Evaluate(all_qe_res, dataset.get_qrels(), metrics=["map"])["map"] - - br_qe = pt.BatchRetrieve(indexref, - controls={"qe":"on"}, - properties={"querying.processes" : "terrierql:TerrierQLParser,parsecontrols:TerrierQLToControls,"\ - +"parseql:TerrierQLToMatchingQueryTerms,matchopql:MatchingOpQLParser,applypipeline:ApplyTermPipeline,"\ - +"sd:DependenceModelPreProcess,localmatching:LocalManager$ApplyLocalMatching,qe:RM3,"\ - +"labels:org.terrier.learning.LabelDecorator,filters:LocalManager$PostFilterProcess"}) - map_qe = pt.Evaluate(br_qe.transform(t), dataset.get_qrels(), metrics=["map"])["map"] - - self.assertAlmostEqual(map_qe, map_pipe, places=2) - - @pytest.mark.skipif(not TERRIER_PRF_ON_CLASSPATH, reason="This test only works in isolation when terrier-prf is on the jnius classpath.") - def test_scoring_rm3_qe(self): - expected = 'applypipeline:off fox^0.600000024' - input = pd.DataFrame([["q1", "fox", "d1", "all the fox were fox", 3], ["q1", "fox", "d2", "brown fox jumps", 2]], columns=["qid", "query", "docno", "body", "score"]) - scorer = pt.terrier.retriever.TextIndexProcessor(pt.rewrite.RM3, takes="docs", returns="queries") - rtr = scorer(input) - self.assertTrue("qid" in rtr.columns) - self.assertTrue("query" in rtr.columns) - self.assertTrue("docno" not in rtr.columns) - self.assertTrue(expected, rtr.iloc[0]["query"]) From 57fe30d5ec82ddf7025917a726e3911f8a1eba9f Mon Sep 17 00:00:00 2001 From: Sean MacAvaney Date: Fri, 16 Aug 2024 10:37:04 +0100 Subject: [PATCH 152/153] in a short interim --- pyterrier/terrier/java.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pyterrier/terrier/java.py b/pyterrier/terrier/java.py index f060192c..83904d41 100644 --- a/pyterrier/terrier/java.py +++ b/pyterrier/terrier/java.py @@ -30,6 +30,11 @@ def set_helper_version(version: Optional[str] = None): configure['helper_version'] = version +@pt.java.before_init +def set_prf_version(version: Optional[str] = None): + configure['prf_version'] = version + + class TerrierJavaInit(pt.java.JavaInitializer): def pre_init(self, jnius_config): # Make sure the terrier.default.properties file exists and is registered as an option, which avoids an annoying From 8159417b909383c5e8d9534489b5cdfa711b656b Mon Sep 17 00:00:00 2001 From: Craig Macdonald Date: Fri, 16 Aug 2024 10:37:12 +0100 Subject: [PATCH 153/153] add deprecation on (F)BR.from_dataset --- pyterrier/terrier/__init__.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pyterrier/terrier/__init__.py b/pyterrier/terrier/__init__.py index 9389e728..db47b773 100644 --- a/pyterrier/terrier/__init__.py +++ b/pyterrier/terrier/__init__.py @@ -14,17 +14,29 @@ @deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead") class TerrierRetrieve(Retriever): - pass + + @staticmethod + @deprecated(version='0.11.0', reason="use pt.terrier.Retriever.from_dataset() instead") + def from_dataset(*args, **kwargs): + return Retriever.from_dataset(*args, **kwargs) @deprecated(version='0.11.0', reason="use pt.terrier.Retriever() instead") class BatchRetrieve(Retriever): - pass + + @staticmethod + @deprecated(version='0.11.0', reason="use pt.terrier.Retriever.from_dataset() instead") + def from_dataset(*args, **kwargs): + return Retriever.from_dataset(*args, **kwargs) @deprecated(version='0.11.0', reason="use pt.terrier.FeaturesRetriever() instead") class FeaturesBatchRetrieve(FeaturesRetriever): - pass + + @staticmethod + @deprecated(version='0.11.0', reason="use pt.terrier.FeaturesRetriever.from_dataset() instead") + def from_dataset(*args, **kwargs): + return FeaturesRetriever.from_dataset(*args, **kwargs) __all__ = [

UI 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