From 67c533ec034ac6c5335bae621913dd7a3bad6faf Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Sun, 29 May 2022 14:09:58 -0500 Subject: [PATCH 001/103] add edged scatterpoints --- pyxlma/plot/xlma_plot_feature.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 2c0b80d..a8358f0 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -57,23 +57,23 @@ def setup_hist(lon_data, lat_data, alt_data, time_data, def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, - plot_cmap, plot_s, plot_vmin, plot_vmax, plot_c): + plot_cmap, plot_s, plot_vmin, plot_vmax, plot_c, edge_color='face', edge_width=0): """ Plot scatter points on an existing bk_plot object given x,y,z,t for each and defined plotting colormaps and ranges """ bk_plot.ax_plan.scatter(lon_data, lat_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', edgecolors='none') + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) bk_plot.ax_th.scatter(time_data, alt_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', edgecolors='none') + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) bk_plot.ax_lon.scatter(lon_data, alt_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', edgecolors='none') + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) bk_plot.ax_lat.scatter(alt_data, lat_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', edgecolors='none') + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) bk_plot.ax_hist.hist(alt_data, orientation='horizontal', density=True, bins=80, range=(0, 20)) plt.text(0.25, 0.10, str(len(alt_data)) + ' src', From ef5f538f6c90bf8b3990aba088d707d1a4012e8a Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Mon, 5 Dec 2022 14:13:42 -0600 Subject: [PATCH 002/103] Update install instructions in README --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ec896c..ae5a0d0 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,11 @@ XLMA is a venerable IDL GUI program that diplays VHF Lightning Mapping Array dat Please use the issues tracker to discuss ideas and pull requests to contribute examples. # Installation -Clone this repostiory, switch to the development branch, and install. +Clone this repostiory install with pip. ``` git clone https://github.com/deeplycloudy/xlma-python.git cd xlma-python -git checkout cf-lma_format pip install -e . ``` From 3a288b22b1b8ce47e4908b65b3edc8fadd0fcf48 Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Mon, 5 Dec 2022 15:46:45 -0600 Subject: [PATCH 003/103] Fix date locator for flash-length time intervals --- pyxlma/plot/xlma_base_plot.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pyxlma/plot/xlma_base_plot.py b/pyxlma/plot/xlma_base_plot.py index 8f3a465..7870f81 100644 --- a/pyxlma/plot/xlma_base_plot.py +++ b/pyxlma/plot/xlma_base_plot.py @@ -3,6 +3,7 @@ import matplotlib.dates as md import datetime as dt from matplotlib.ticker import Formatter, FormatStrFormatter, MaxNLocator +from matplotlib.dates import AutoDateLocator import cartopy import cartopy.crs as ccrs @@ -142,6 +143,13 @@ def plot(self, **kwargs): tfmt = '%H:%M:%S000' self.ax_th.set_xlim(self.tlim[0], self.tlim[1]) self.ax_th.xaxis.set_major_formatter(FractionalSecondFormatter(self.ax_th)) + # Importing pandas results in it overriding Matplotlib default AutoDateLocator, + # which in turn prevents more than one tick displaying for short time intervals. + # See this blog entry for details. + # https://notebook.community/azjps/matplotlib-tick-formatters/ notebooks/microsecond_precision At small time intervals, + # So, restore Matplotlib's AutoDateLocator, which as of version >3.3 correctly + # handles smaller time intervals. 3.2 did not! + self.ax_th.xaxis.set_major_locator(AutoDateLocator()) # Longitude-Altitue self.ax_lon.set_ylabel('Altitude (km MSL)') From 09321f5a6f6e8084b0c670b254e4623e1c463f0d Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Mon, 5 Dec 2022 15:47:08 -0600 Subject: [PATCH 004/103] Remove some whitespace --- pyxlma/plot/xlma.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pyxlma/plot/xlma.py b/pyxlma/plot/xlma.py index 7947107..f2bb823 100644 --- a/pyxlma/plot/xlma.py +++ b/pyxlma/plot/xlma.py @@ -311,7 +311,7 @@ def histogram(self): plt.text(0.30, 0.80, '(c)', fontsize='x-large', weight='bold', horizontalalignment='center', verticalalignment='center', transform=self.ax_hist.transAxes) - + def plan_view(self): if self.data_exists == True: @@ -398,7 +398,7 @@ def inset_view(self, **kwargs): self.inset_size = kwargs['inset_size'] else: self.inset_size = 0.15 - self.inset = self.fig.add_axes([0.02, 0.01, 0.02+self.inset_size, + self.inset = self.fig.add_axes([0.02, 0.01, 0.02+self.inset_size, 0.01+self.inset_size],projection=ccrs.PlateCarree()) if self.data_exists==True: if self.readtype == 'lmatools': @@ -411,7 +411,7 @@ def inset_view(self, **kwargs): lon_data = self.data['event_longitude'][self.cond2].data lat_data = self.data['event_latitude'][self.cond2].data self.inset.hist2d(lon_data, lat_data, - bins=[int((self.xlim[1]+self.buffer*2 - self.xlim[0]) / xdiv), + bins=[int((self.xlim[1]+self.buffer*2 - self.xlim[0]) / xdiv), int((self.ylim[1]+self.buffer*2 - self.ylim[0]) / ydiv)], density=True, cmap=self.cmap, cmin=0.00001) @@ -421,7 +421,7 @@ def inset_view(self, **kwargs): self.inset.add_feature(COUNTIES, facecolor='none', edgecolor='gray') self.inset.add_feature(cfeature.BORDERS) self.inset.add_feature(cfeature.STATES.with_scale('10m')) - self.inset.set_extent([self.xlim[0]-self.buffer, self.xlim[1]+self.buffer, + self.inset.set_extent([self.xlim[0]-self.buffer, self.xlim[1]+self.buffer, self.ylim[0]-self.buffer, self.ylim[1]+self.buffer]) self.inset.plot([self.xlim[0],self.xlim[0],self.xlim[1],self.xlim[1],self.xlim[0]], [self.ylim[0],self.ylim[1],self.ylim[1],self.ylim[0],self.ylim[0]], From 02a4e40a7ebc849ba305950d4889ff3e2f15f5cd Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Wed, 4 Jan 2023 12:32:53 -0600 Subject: [PATCH 005/103] Support xarray dataset concatenation for new version of xarray --- pyxlma/lmalib/io/read.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/pyxlma/lmalib/io/read.py b/pyxlma/lmalib/io/read.py index 86589b6..f035b81 100644 --- a/pyxlma/lmalib/io/read.py +++ b/pyxlma/lmalib/io/read.py @@ -102,9 +102,23 @@ def dataset(filenames): raise ds = combine_datasets(lma_data) ds = ds.reset_index(('number_of_events', 'number_of_stations')) - ds = ds.reset_coords(('number_of_events_', 'number_of_stations_')) - ds = ds.rename({'number_of_events_':'event_id', - 'number_of_stations_':'station_code'}) + if 'number_of_events_' in ds.coords: + # Older xarray versions appended a trailing underscore. reset_coords then dropped + # converted the coordinate variables into regular variables while not touching + # the original dimension name, allowing us to rename. In newer versions, the variable + # names are never changed at the reset_index step, so the renaming step modifies + # the dimension name, too. + resetted = ('number_of_events_', 'number_of_stations_') + ds = ds.reset_coords(resetted) + ds = ds.rename({resetted[0]:'event_id', + resetted[1]:'station_code'}) + else: + # The approach for newer xarray versions requires we explicitly rename only the variables. + # The generic "rename" in the block above renames vars, coords, and dims. + resetted = ('number_of_events', 'number_of_stations') + ds = ds.reset_coords(resetted) + ds = ds.rename_vars({resetted[0]:'event_id', + resetted[1]:'station_code'}) return ds, starttime def to_dataset(lma_file, event_id_start=0): From f0170c39e5e0a5ca1d86196068fc3eeb48a7c75c Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Sat, 4 Feb 2023 22:16:53 +0000 Subject: [PATCH 006/103] xarray can squeeze groupby values, making them non-iterable. Enforce. --- pyxlma/lmalib/traversal.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyxlma/lmalib/traversal.py b/pyxlma/lmalib/traversal.py index 1f84ddf..78e7ee9 100644 --- a/pyxlma/lmalib/traversal.py +++ b/pyxlma/lmalib/traversal.py @@ -219,7 +219,7 @@ def reduce_to_entities(self, entity_id_var, entity_ids): for e_var, p_var in self._descend(): if prune == True: p_group = self.parent_groups[p_var].groups - e_iter = (p_group[eid] for eid in last_entity_ids + e_iter = (np.atleast_1d(p_group[eid]) for eid in last_entity_ids if eid in p_group) e_idx = list(itertools.chain.from_iterable(e_iter)) if len(e_idx) == 0: @@ -239,7 +239,7 @@ def reduce_to_entities(self, entity_id_var, entity_ids): # through. prune = True e_group = self.entity_groups[e_var].groups - e_iter = (e_group[eid] for eid in entity_ids + e_iter = (np.atleast_1d(e_group[eid]) for eid in entity_ids if eid in e_group) e_idx = list(itertools.chain.from_iterable(e_iter)) last_entity_ids = entity_ids # == dataset[e_var].data @@ -263,7 +263,7 @@ def reduce_to_entities(self, entity_id_var, entity_ids): for e_var, p_var in self._ascend(): if (prune == True): e_group = self.entity_groups[e_var].groups - e_iter = (e_group[eid] for eid in last_entity_ids + e_iter = (np.atleast_1d(e_group[eid]) for eid in last_entity_ids if eid in e_group) e_idx = list(itertools.chain.from_iterable(e_iter)) if len(e_idx) == 0: From e0769504f34d225fc2c2f3b7e53d5aa4b0bd0476 Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Sat, 27 May 2023 16:52:57 -0500 Subject: [PATCH 007/103] Retain current LMA time and location data for use by other plot commands --- pyxlma/plot/interactive.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pyxlma/plot/interactive.py b/pyxlma/plot/interactive.py index 61ebfce..c8038d0 100644 --- a/pyxlma/plot/interactive.py +++ b/pyxlma/plot/interactive.py @@ -264,6 +264,14 @@ def make_plot(self): lon_set, lat_set, alt_set, time_set, selection = subset( lon_data, lat_data, alt_data, time_data, chi_data, station_data, xlim, ylim, zlim, tlim_sub, xchi, stationmin) + # Retain the current LMA data so that subclasses can access the current LMA + # data and compare to other data to be plotted. For instance, to calculate + # the offset between the time of the first LMA point and a ground strike point. + self.this_lma_lon = lon_set + self.this_lma_lat = lat_set + self.this_lma_alt = alt_set + self.this_lma_time = time_set + self.this_lma_sel = selection # if self.lma_plot is not None: # fig = self.lma_plot.fig From 187fe007a1ffec3bec83d68b7eb400237860fb64 Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Tue, 20 Jun 2023 15:15:26 -0500 Subject: [PATCH 008/103] Update for modern pandas kwarg --- pyxlma/lmalib/io/read.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyxlma/lmalib/io/read.py b/pyxlma/lmalib/io/read.py index f035b81..28956c2 100644 --- a/pyxlma/lmalib/io/read.py +++ b/pyxlma/lmalib/io/read.py @@ -347,7 +347,7 @@ def readfile(self): # Read in data. Catch case where there is no data. try: lmad = pd.read_csv(self.file,compression='gzip',delim_whitespace=True, - header=None,skiprows=self.data_starts+1,error_bad_lines=False) + header=None,skiprows=self.data_starts+1,on_bad_lines='skip') lmad.columns = self.names except pd.errors.EmptyDataError: lmad = pd.DataFrame(columns=self.names) From 960405ae72cb6c13ce2b7af35aacbad69ef2c147 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Fri, 8 Sep 2023 16:15:15 -0500 Subject: [PATCH 009/103] add flash sort + grid to netcdf example --- examples/pyxlma_flash_sort_grid.py | 104 +++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 examples/pyxlma_flash_sort_grid.py diff --git a/examples/pyxlma_flash_sort_grid.py b/examples/pyxlma_flash_sort_grid.py new file mode 100644 index 0000000..47ed5f6 --- /dev/null +++ b/examples/pyxlma_flash_sort_grid.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 +# Example script for clustering and gridding flash data with pyxlma +# Created 5 September 2023 by Sam Gardner + +import sys +import glob +from os import path +from datetime import datetime as dt +from pathlib import Path +import xarray as xr +import numpy as np +from pyxlma.lmalib.io import read as lma_read +from pyxlma.lmalib.flash.cluster import cluster_flashes +from pyxlma.lmalib.flash.properties import flash_stats, filter_flashes +from pyxlma.lmalib.grid import create_regular_grid, assign_regular_bins, events_to_grid + + +# Parameters +grid_range = 200 # km from LMA center to edge of grid +grid_height = 20 # km from LMA center to top of grid +grid_h_res = 0.5 # km, horizontal grid resolution +grid_v_res = 1 # km, vertical grid resolution +grid_time_res = 1 # minutes, time resolution of grid +max_chi2 = 5 # all VHF sources with a chi2 greater than this will be discarded +min_events_per_flash = 10 # all flashes with fewer VHF sources will be discarded + + +def flash_sort_grid(paths_to_read, output_path): + + print('Reading data...') + dataset, start_time = lma_read.dataset(paths_to_read) + end_time = (np.max(dataset.event_time.data).astype('datetime64[m]')+np.timedelta64(1,'m')).astype('datetime64[ns]') + + # We want to bin the data into 10-minute intervals of the hour + bin_start = np.datetime64(start_time.replace(minute=(start_time.minute // 10)*10, second=0, microsecond=0)) + + while bin_start < end_time: + print('Processing: '+bin_start.item().strftime('%Y-%m-%d %H:%M')) + variables_to_filter = [var for var in dataset.data_vars if 'number_of_events' in dataset[var].dims] + filtered = dataset[variables_to_filter].where(dataset.event_chi2 <= max_chi2, drop=True) + dataset_filtered = xr.merge([dataset.drop(variables_to_filter), filtered]) + + clustered_lma = filter_flashes(flash_stats(cluster_flashes(dataset_filtered)), flash_event_count=(min_events_per_flash, None)) + x_range = (grid_range*-1000, grid_range*1000, grid_h_res*1000) + y_range = (grid_range*-1000, grid_range*1000, grid_h_res*1000) + z_range = (0, grid_height*1000, grid_v_res*1000) + time_range = (bin_start, end_time, np.timedelta64(grid_time_res, 'm')) + + grid_edge_ranges ={ + 'grid_x_edge':x_range, + 'grid_y_edge':y_range, + 'grid_altitude_edge':z_range, + 'grid_time_edge':time_range, + } + grid_center_names ={ + 'grid_x_edge':'grid_x', + 'grid_y_edge':'grid_y', + 'grid_altitude_edge':'grid_altitude', + 'grid_time_edge':'grid_time', + } + event_coord_names = { + 'event_x':'grid_x_edge', + 'event_y':'grid_y_edge', + 'event_altitude':'grid_altitude_edge', + 'event_time':'grid_time_edge', + } + empty_grid = create_regular_grid(grid_edge_ranges, grid_center_names) + binned_events = assign_regular_bins(empty_grid, clustered_lma, event_coord_names, append_indices=True) + grid_spatial_coords=('grid_time', 'grid_altitude', 'grid_y', 'grid_x') + event_spatial_vars = ('event_time', 'event_altitude', 'event_y', 'event_x') + gridded_lma = events_to_grid(binned_events, empty_grid, pixel_id_var='pixel_id', event_spatial_vars=event_spatial_vars, grid_spatial_coords=grid_spatial_coords) + + combined = xr.combine_by_coords((gridded_lma, clustered_lma)) + Re = 6378137 # m, radius of Earth + lon_center = combined.network_center_longitude + lat_center = combined.network_center_latitude + combined['grid_latitude_edge'] = np.rad2deg(combined.grid_y_edge/(Re)+np.deg2rad(lat_center)) + combined['grid_longitude_edge'] = np.rad2deg((combined.grid_x_edge)/(Re*np.cos(np.deg2rad(combined.grid_latitude_edge.data)))+np.deg2rad(lon_center)) + combined['grid_latitude'] = np.rad2deg(combined.grid_y/(Re)+np.deg2rad(lat_center)) + combined['grid_longitude'] = np.rad2deg((combined.grid_x)/(Re*np.cos(np.deg2rad(combined.grid_latitude.data)))+np.deg2rad(lon_center)) + combined['flash_center_x'] = Re*(np.deg2rad(combined.flash_center_longitude)-np.deg2rad(lon_center))*np.cos(np.deg2rad(combined.flash_center_latitude)) + combined['flash_center_y'] = Re*(np.deg2rad(combined.flash_center_latitude)-np.deg2rad(lat_center)) + combined = combined.swap_dims({'grid_x_edge':'grid_longitude_edge', 'grid_y_edge':'grid_latitude_edge', 'grid_x':'grid_longitude', 'grid_y':'grid_latitude'}) + + filename = path.basename(paths_to_read[0]).split('_')[0] + '_' + bin_start.item().strftime('%Y%m%d_%H%M') + '00_0600_map' + str(int(grid_h_res*1000)) + 'm.nc' + combined.to_netcdf(path.join(output_path, filename)) + bin_start = bin_start + np.timedelta64(10, 'm') + + + +if __name__ == '__main__': + if len(sys.argv) < 3: + print('Usage: python3 pyxlma_flash_sort_grid.py ') + exit(1) + input_paths = sys.argv[1:-1] + if len(input_paths) == 1: + input_paths = glob.glob(input_paths[0]) + out_path = sys.argv[-1] + if not path.exists(out_path): + Path(out_path).mkdir(parents=True, exist_ok=True) + if not path.isdir(out_path): + print('Error: output path exists and is not a directory') + exit(1) + griddedData = flash_sort_grid(input_paths, out_path) From 37b966b1c2690c68be6e6548e927304793e3e70e Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Mon, 11 Sep 2023 10:50:43 -0500 Subject: [PATCH 010/103] add compression (whoops) --- examples/pyxlma_flash_sort_grid.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/pyxlma_flash_sort_grid.py b/examples/pyxlma_flash_sort_grid.py index 47ed5f6..870f4e1 100644 --- a/examples/pyxlma_flash_sort_grid.py +++ b/examples/pyxlma_flash_sort_grid.py @@ -83,7 +83,9 @@ def flash_sort_grid(paths_to_read, output_path): combined = combined.swap_dims({'grid_x_edge':'grid_longitude_edge', 'grid_y_edge':'grid_latitude_edge', 'grid_x':'grid_longitude', 'grid_y':'grid_latitude'}) filename = path.basename(paths_to_read[0]).split('_')[0] + '_' + bin_start.item().strftime('%Y%m%d_%H%M') + '00_0600_map' + str(int(grid_h_res*1000)) + 'm.nc' - combined.to_netcdf(path.join(output_path, filename)) + comp = dict(zlib=True, complevel=5) + encoding = {var: comp for var in combined.data_vars} + combined.to_netcdf(path.join(output_path, filename), encoding=encoding) bin_start = bin_start + np.timedelta64(10, 'm') From a1e22059b8cd6b46fa238db78a961fe734e903b7 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Wed, 20 Sep 2023 17:26:14 -0500 Subject: [PATCH 011/103] use argparse, accept an arg for lla or xyz grid --- examples/pyxlma_flash_sort_grid.py | 128 +++++++++++++++++------------ 1 file changed, 75 insertions(+), 53 deletions(-) diff --git a/examples/pyxlma_flash_sort_grid.py b/examples/pyxlma_flash_sort_grid.py index 870f4e1..59e408b 100644 --- a/examples/pyxlma_flash_sort_grid.py +++ b/examples/pyxlma_flash_sort_grid.py @@ -2,7 +2,7 @@ # Example script for clustering and gridding flash data with pyxlma # Created 5 September 2023 by Sam Gardner -import sys +import argparse import glob from os import path from datetime import datetime as dt @@ -15,17 +15,7 @@ from pyxlma.lmalib.grid import create_regular_grid, assign_regular_bins, events_to_grid -# Parameters -grid_range = 200 # km from LMA center to edge of grid -grid_height = 20 # km from LMA center to top of grid -grid_h_res = 0.5 # km, horizontal grid resolution -grid_v_res = 1 # km, vertical grid resolution -grid_time_res = 1 # minutes, time resolution of grid -max_chi2 = 5 # all VHF sources with a chi2 greater than this will be discarded -min_events_per_flash = 10 # all flashes with fewer VHF sources will be discarded - - -def flash_sort_grid(paths_to_read, output_path): +def flash_sort_grid(paths_to_read, grid_proj, grid_range, grid_height, grid_h_res, grid_v_res, grid_time_res, max_chi2, min_events_per_flash, output_path): print('Reading data...') dataset, start_time = lma_read.dataset(paths_to_read) @@ -41,46 +31,61 @@ def flash_sort_grid(paths_to_read, output_path): dataset_filtered = xr.merge([dataset.drop(variables_to_filter), filtered]) clustered_lma = filter_flashes(flash_stats(cluster_flashes(dataset_filtered)), flash_event_count=(min_events_per_flash, None)) - x_range = (grid_range*-1000, grid_range*1000, grid_h_res*1000) - y_range = (grid_range*-1000, grid_range*1000, grid_h_res*1000) - z_range = (0, grid_height*1000, grid_v_res*1000) time_range = (bin_start, end_time, np.timedelta64(grid_time_res, 'm')) - - grid_edge_ranges ={ - 'grid_x_edge':x_range, - 'grid_y_edge':y_range, - 'grid_altitude_edge':z_range, - 'grid_time_edge':time_range, - } - grid_center_names ={ - 'grid_x_edge':'grid_x', - 'grid_y_edge':'grid_y', - 'grid_altitude_edge':'grid_altitude', - 'grid_time_edge':'grid_time', - } - event_coord_names = { - 'event_x':'grid_x_edge', - 'event_y':'grid_y_edge', - 'event_altitude':'grid_altitude_edge', - 'event_time':'grid_time_edge', - } + if grid_proj == 'xyz': + x_range = (grid_range*-1000, grid_range*1000, grid_h_res*1000) + y_range = (grid_range*-1000, grid_range*1000, grid_h_res*1000) + z_range = (0, grid_height*1000, grid_v_res*1000) + grid_edge_ranges ={ + 'grid_x_edge':x_range, + 'grid_y_edge':y_range, + 'grid_altitude_edge':z_range, + 'grid_time_edge':time_range, + } + grid_center_names ={ + 'grid_x_edge':'grid_x', + 'grid_y_edge':'grid_y', + 'grid_altitude_edge':'grid_altitude', + 'grid_time_edge':'grid_time', + } + event_coord_names = { + 'event_x':'grid_x_edge', + 'event_y':'grid_y_edge', + 'event_altitude':'grid_altitude_edge', + 'event_time':'grid_time_edge', + } + grid_spatial_coords=('grid_time', 'grid_altitude', 'grid_y', 'grid_x') + event_spatial_vars = ('event_time', 'event_altitude', 'event_y', 'event_x') + elif grid_proj == 'lla': + lon_range = (dataset.network_center_longitude - grid_range, dataset.network_center_longitude + grid_range, grid_h_res) + lat_range = (dataset.network_center_latitude - grid_range, dataset.network_center_latitude + grid_range, grid_h_res) + alt_range = (0, grid_height, grid_v_res) + grid_edge_ranges ={ + 'grid_longitude_edge':lon_range, + 'grid_latitude_edge':lat_range, + 'grid_altitude_edge':alt_range, + 'grid_time_edge':time_range, + } + grid_center_names ={ + 'grid_longitude_edge':'grid_longitude', + 'grid_latitude_edge':'grid_latitude', + 'grid_altitude_edge':'grid_altitude', + 'grid_time_edge':'grid_time', + } + event_coord_names = { + 'event_longitude':'grid_longitude_edge', + 'event_latitude':'grid_latitude_edge', + 'event_altitude':'grid_altitude_edge', + 'event_time':'grid_time_edge', + } + grid_spatial_coords=('grid_time', 'grid_altitude', 'grid_latitude', 'grid_longitude') + event_spatial_vars = ('event_time', 'event_altitude', 'event_latitude', 'event_longitude') + else: + raise ValueError('grid_proj must be \'xyz\' or \'lla\'') empty_grid = create_regular_grid(grid_edge_ranges, grid_center_names) binned_events = assign_regular_bins(empty_grid, clustered_lma, event_coord_names, append_indices=True) - grid_spatial_coords=('grid_time', 'grid_altitude', 'grid_y', 'grid_x') - event_spatial_vars = ('event_time', 'event_altitude', 'event_y', 'event_x') gridded_lma = events_to_grid(binned_events, empty_grid, pixel_id_var='pixel_id', event_spatial_vars=event_spatial_vars, grid_spatial_coords=grid_spatial_coords) - combined = xr.combine_by_coords((gridded_lma, clustered_lma)) - Re = 6378137 # m, radius of Earth - lon_center = combined.network_center_longitude - lat_center = combined.network_center_latitude - combined['grid_latitude_edge'] = np.rad2deg(combined.grid_y_edge/(Re)+np.deg2rad(lat_center)) - combined['grid_longitude_edge'] = np.rad2deg((combined.grid_x_edge)/(Re*np.cos(np.deg2rad(combined.grid_latitude_edge.data)))+np.deg2rad(lon_center)) - combined['grid_latitude'] = np.rad2deg(combined.grid_y/(Re)+np.deg2rad(lat_center)) - combined['grid_longitude'] = np.rad2deg((combined.grid_x)/(Re*np.cos(np.deg2rad(combined.grid_latitude.data)))+np.deg2rad(lon_center)) - combined['flash_center_x'] = Re*(np.deg2rad(combined.flash_center_longitude)-np.deg2rad(lon_center))*np.cos(np.deg2rad(combined.flash_center_latitude)) - combined['flash_center_y'] = Re*(np.deg2rad(combined.flash_center_latitude)-np.deg2rad(lat_center)) - combined = combined.swap_dims({'grid_x_edge':'grid_longitude_edge', 'grid_y_edge':'grid_latitude_edge', 'grid_x':'grid_longitude', 'grid_y':'grid_latitude'}) filename = path.basename(paths_to_read[0]).split('_')[0] + '_' + bin_start.item().strftime('%Y%m%d_%H%M') + '00_0600_map' + str(int(grid_h_res*1000)) + 'm.nc' comp = dict(zlib=True, complevel=5) @@ -91,16 +96,33 @@ def flash_sort_grid(paths_to_read, output_path): if __name__ == '__main__': - if len(sys.argv) < 3: - print('Usage: python3 pyxlma_flash_sort_grid.py ') - exit(1) - input_paths = sys.argv[1:-1] + parser = argparse.ArgumentParser(description='Cluster VHF source data into flashes and create gridded data products, similar to lmatools flash_sort_and_grid.py\nOutputs to netCDF files, one per 10-minute interval.') + parser.add_argument('-i', '--input', nargs='+', required=True, help='Path or paths to LMA .dat files to process.') + parser.add_argument('--grid-projection', help='Whether to use a grid based on meters from the LMA or lat/lon degrees. Specify \'xyz\' (meters from center) or \'lla\' (lat/lon/alt). Default is xyz.', choices=['xyz', 'lla'], default='xyz') + parser.add_argument('--horizontal-range', help='Distance from the LMA center to the edge of the grid, in units of kilometers or degrees. Default is 0.25km or 0.25°.', type=float, default=0.25) + parser.add_argument('--vertical-range', help='Distance from the LMA center to the top of the grid, in units of kilometers. Default is 20km.', type=float, default=20) + parser.add_argument('--horizontal-res', help='Horizontal gridded product resolution, in units of kilometers or degrees. Default is 0.5km.', type=float, default=0.5) + parser.add_argument('--vertical-res', help='Vertical gridded product resolution, in units of kilometers. Default is 1km.', type=float, default=1) + parser.add_argument('--time-res', help='Time resolution of gridded products, in units of minutes. Default is 1 minute.', type=float, default=1) + parser.add_argument('--max-chi2', help='Maximum chi2 value for a VHF source to be included in a flash. Default is 5.', type=float, default=5) + parser.add_argument('--min-events', help='Minimum number of VHF sources per flash. Flashes with fewer sources will be discarded. Default is 10.', type=int, default=10) + parser.add_argument('--output', help='Path to write 10-minute gridded data files to.', required=True) + args = parser.parse_args() + input_paths = args.input if len(input_paths) == 1: input_paths = glob.glob(input_paths[0]) - out_path = sys.argv[-1] + grid_proj = args.grid_projection + grid_range = args.horizontal_range + grid_height = args.vertical_range + grid_h_res = args.horizontal_res + grid_v_res = args.vertical_res + grid_time_res = args.time_res + max_chi2 = args.max_chi2 + min_events_per_flash = args.min_events + out_path = args.output if not path.exists(out_path): Path(out_path).mkdir(parents=True, exist_ok=True) if not path.isdir(out_path): print('Error: output path exists and is not a directory') exit(1) - griddedData = flash_sort_grid(input_paths, out_path) + griddedData = flash_sort_grid(input_paths, grid_proj, grid_range, grid_height, grid_h_res, grid_v_res, grid_time_res, max_chi2, min_events_per_flash, out_path) From 5c7ae95e4cb3f5503daf517a6c62e068f9faac3e Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Mon, 25 Sep 2023 13:32:31 -0500 Subject: [PATCH 012/103] sort input paths --- examples/pyxlma_flash_sort_grid.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/pyxlma_flash_sort_grid.py b/examples/pyxlma_flash_sort_grid.py index 59e408b..1e46f02 100644 --- a/examples/pyxlma_flash_sort_grid.py +++ b/examples/pyxlma_flash_sort_grid.py @@ -111,6 +111,8 @@ def flash_sort_grid(paths_to_read, grid_proj, grid_range, grid_height, grid_h_re input_paths = args.input if len(input_paths) == 1: input_paths = glob.glob(input_paths[0]) + else: + input_paths = sorted(input_paths) grid_proj = args.grid_projection grid_range = args.horizontal_range grid_height = args.vertical_range From d16e2e74b457663aded034774f01952ed6aa39bb Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Mon, 25 Sep 2023 13:32:41 -0500 Subject: [PATCH 013/103] lma_read sort by time --- pyxlma/lmalib/io/read.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyxlma/lmalib/io/read.py b/pyxlma/lmalib/io/read.py index 28956c2..f3e1ccd 100644 --- a/pyxlma/lmalib/io/read.py +++ b/pyxlma/lmalib/io/read.py @@ -79,7 +79,7 @@ def combine_datasets(lma_data): return ds -def dataset(filenames): +def dataset(filenames, sort_time=True): """ Create an xarray dataset of the type returned by pyxlma.lmalib.io.cf_netcdf.new_dataset for each filename in filenames """ @@ -119,6 +119,8 @@ def dataset(filenames): ds = ds.reset_coords(resetted) ds = ds.rename_vars({resetted[0]:'event_id', resetted[1]:'station_code'}) + if sort_time: + ds = ds.sortby('event_time') return ds, starttime def to_dataset(lma_file, event_id_start=0): From 0e51af42c48d8b0fc8c18b595b0cb27dab221dbf Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Tue, 3 Oct 2023 13:48:30 -0500 Subject: [PATCH 014/103] exception for filter_flashes without computing properties. closes #24 --- pyxlma/lmalib/flash/properties.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyxlma/lmalib/flash/properties.py b/pyxlma/lmalib/flash/properties.py index 5df3fb8..0535ec2 100644 --- a/pyxlma/lmalib/flash/properties.py +++ b/pyxlma/lmalib/flash/properties.py @@ -286,6 +286,9 @@ def filter_flashes(ds, **kwargs): # keep all points good = np.ones(ds.flash_id.shape, dtype=bool) # print("Starting flash count: ", good.sum()) + if 'flash_event_count' in ds.variables: + if np.all(ds.flash_event_count == np.iinfo(np.uint64).max): + raise ValueError('Before filtering a dataset by flash properties, call flash_stats on the dataset to compute flash properties.') for v, (vmin, vmax) in kwargs.items(): if vmin is not None: good &= (ds[v] >= vmin).data From 985536258f0514892704b3342019c9ec525f4942 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Sun, 22 Oct 2023 20:15:55 -0500 Subject: [PATCH 015/103] ensure aspect matches cross-sect axes --- pyxlma/plot/xlma_base_plot.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyxlma/plot/xlma_base_plot.py b/pyxlma/plot/xlma_base_plot.py index 7870f81..92ec0d5 100644 --- a/pyxlma/plot/xlma_base_plot.py +++ b/pyxlma/plot/xlma_base_plot.py @@ -186,8 +186,6 @@ def plot(self, **kwargs): self.ax_plan.add_feature(cfeature.STATES.with_scale('10m')) self.ax_plan.set_xlabel('Longitude (degrees)') self.ax_plan.set_ylabel('Latitude (degrees)') - self.ax_plan.set_xlim(self.xlim) - self.ax_plan.set_ylim(self.ylim) # lon_formatter = LongitudeFormatter(number_format='.2f', @@ -202,6 +200,9 @@ def plot(self, **kwargs): self.ax_plan.xaxis.set_major_formatter(self.majorFormatter) self.ax_plan.yaxis.set_major_formatter(self.majorFormatter) self.set_ax_plan_labels() + self.ax_plan.set_xlim(self.xlim) + self.ax_plan.set_ylim(self.ylim) + self.ax_plan.set_aspect('auto') def subplot_labels(plot): """ From fd0a7dcc2accdda81c1550664ec8efa7a4fe921c Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Mon, 23 Oct 2023 20:45:40 -0500 Subject: [PATCH 016/103] **kwargs for plot funcs --- pyxlma/plot/xlma_plot_feature.py | 34 ++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 6ddce7f..5249ef0 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -57,11 +57,30 @@ def setup_hist(lon_data, lat_data, alt_data, time_data, def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, - plot_cmap, plot_s, plot_vmin, plot_vmax, plot_c, edge_color='face', edge_width=0): + plot_cmap, plot_s, plot_vmin, plot_vmax, plot_c, edge_color='face', edge_width=0, + **kwargs): """ Plot scatter points on an existing bk_plot object given x,y,z,t for each and defined plotting colormaps and ranges """ + + # before **kwargs was added to the function call, the following arguments + # were specified as keywords separately. This allows backwards compatibility: + if plot_cmap == None: + plot_cmap = kwargs.pop('cmap', kwargs.pop('plot_cmap', None)) + if plot_s == None: + plot_s = kwargs.pop('s', kwargs.pop('plot_s', None)) + if plot_vmin == None: + plot_vmin = kwargs.pop('vmin', kwargs.pop('plot_vmin', None)) + if plot_vmax == None: + plot_vmax = kwargs.pop('vmax', kwargs.pop('plot_vmax', None)) + if plot_c == None: + plot_c = kwargs.pop('c', kwargs.pop('plot_c', None)) + if edge_color == 'face': + edge_color = kwargs.pop('edgecolors', kwargs.pop('edge_color', 'face')) + if edge_width == 0: + edge_width = kwargs.pop('linewidths', kwargs.pop('edge_width', 0)) + art_plan = bk_plot.ax_plan.scatter(lon_data, lat_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) @@ -86,19 +105,22 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, def plot_3d_grid(bk_plot, xedges, yedges, zedges, tedges, alt_lon, alt_lat, alt_time, lat_lon, - alt_data, plot_cmap): + alt_data, **kwargs): """ Plot gridded fields on an existing bk_plot given x,y,z,t grids and respective grid edges """ + plot_cmap = kwargs.pop('cmap', kwargs.pop('plot_cmap', None)) + plot_vmin = kwargs.pop('vmin', 0) + alt_lon[alt_lon==0]=np.nan alt_lat[alt_lat==0]=np.nan lat_lon[lat_lon==0]=np.nan alt_time[alt_time==0]=np.nan - bk_plot.ax_lon.pcolormesh( xedges, zedges, alt_lon.T, cmap=plot_cmap, vmin=0) - bk_plot.ax_lat.pcolormesh( zedges, yedges, alt_lat.T, cmap=plot_cmap, vmin=0) - bk_plot.ax_plan.pcolormesh(xedges, yedges, lat_lon.T, cmap=plot_cmap, vmin=0) - bk_plot.ax_th.pcolormesh( tedges, zedges, alt_time.T, cmap=plot_cmap, vmin=0) + bk_plot.ax_lon.pcolormesh( xedges, zedges, alt_lon.T, cmap=plot_cmap, vmin=plot_vmin) + bk_plot.ax_lat.pcolormesh( zedges, yedges, alt_lat.T, cmap=plot_cmap, vmin=plot_vmin) + bk_plot.ax_plan.pcolormesh(xedges, yedges, lat_lon.T, cmap=plot_cmap, vmin=plot_vmin) + bk_plot.ax_th.pcolormesh( tedges, zedges, alt_time.T, cmap=plot_cmap, vmin=plot_vmin) bk_plot.ax_hist.hist(alt_data, orientation='horizontal', density=True, bins=80, range=(0, 20)) plt.text(0.25, 0.10, str(len(alt_data)) + ' src', From 3ce9ebb3f0383f37375dc8c20269d89053c39bc7 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Tue, 24 Oct 2023 10:19:39 -0500 Subject: [PATCH 017/103] fix comparison for arrays --- pyxlma/plot/xlma_plot_feature.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 5249ef0..16888dd 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -57,7 +57,7 @@ def setup_hist(lon_data, lat_data, alt_data, time_data, def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, - plot_cmap, plot_s, plot_vmin, plot_vmax, plot_c, edge_color='face', edge_width=0, + plot_cmap=None, plot_s=None, plot_vmin=None, plot_vmax=None, plot_c=None, edge_color='face', edge_width=0, **kwargs): """ Plot scatter points on an existing bk_plot object given x,y,z,t for each @@ -66,15 +66,15 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, # before **kwargs was added to the function call, the following arguments # were specified as keywords separately. This allows backwards compatibility: - if plot_cmap == None: + if plot_cmap is None: plot_cmap = kwargs.pop('cmap', kwargs.pop('plot_cmap', None)) - if plot_s == None: + if plot_s is None: plot_s = kwargs.pop('s', kwargs.pop('plot_s', None)) - if plot_vmin == None: + if plot_vmin is None: plot_vmin = kwargs.pop('vmin', kwargs.pop('plot_vmin', None)) - if plot_vmax == None: + if plot_vmax is None: plot_vmax = kwargs.pop('vmax', kwargs.pop('plot_vmax', None)) - if plot_c == None: + if plot_c is None: plot_c = kwargs.pop('c', kwargs.pop('plot_c', None)) if edge_color == 'face': edge_color = kwargs.pop('edgecolors', kwargs.pop('edge_color', 'face')) From 71325ed4cba98f67c85cce891be5209ac2355314 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Tue, 24 Oct 2023 13:36:01 -0500 Subject: [PATCH 018/103] pass kwargs along to plot functions --- pyxlma/plot/xlma_plot_feature.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 16888dd..acaebf7 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -83,16 +83,16 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, art_plan = bk_plot.ax_plan.scatter(lon_data, lat_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color, **kwargs) art_th = bk_plot.ax_th.scatter(time_data, alt_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color, **kwargs) art_lon = bk_plot.ax_lon.scatter(lon_data, alt_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color, **kwargs) art_lat = bk_plot.ax_lat.scatter(alt_data, lat_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, - s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color) + s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color, **kwargs) cnt, bins, art_hist = bk_plot.ax_hist.hist(alt_data, orientation='horizontal', density=True, bins=80, range=(0, 20), color='black') art_txt = plt.text(0.25, 0.10, str(len(alt_data)) + ' src', @@ -117,10 +117,10 @@ def plot_3d_grid(bk_plot, xedges, yedges, zedges, tedges, alt_lat[alt_lat==0]=np.nan lat_lon[lat_lon==0]=np.nan alt_time[alt_time==0]=np.nan - bk_plot.ax_lon.pcolormesh( xedges, zedges, alt_lon.T, cmap=plot_cmap, vmin=plot_vmin) - bk_plot.ax_lat.pcolormesh( zedges, yedges, alt_lat.T, cmap=plot_cmap, vmin=plot_vmin) - bk_plot.ax_plan.pcolormesh(xedges, yedges, lat_lon.T, cmap=plot_cmap, vmin=plot_vmin) - bk_plot.ax_th.pcolormesh( tedges, zedges, alt_time.T, cmap=plot_cmap, vmin=plot_vmin) + bk_plot.ax_lon.pcolormesh( xedges, zedges, alt_lon.T, cmap=plot_cmap, vmin=plot_vmin, **kwargs) + bk_plot.ax_lat.pcolormesh( zedges, yedges, alt_lat.T, cmap=plot_cmap, vmin=plot_vmin, **kwargs) + bk_plot.ax_plan.pcolormesh(xedges, yedges, lat_lon.T, cmap=plot_cmap, vmin=plot_vmin, **kwargs) + bk_plot.ax_th.pcolormesh( tedges, zedges, alt_time.T, cmap=plot_cmap, vmin=plot_vmin, **kwargs) bk_plot.ax_hist.hist(alt_data, orientation='horizontal', density=True, bins=80, range=(0, 20)) plt.text(0.25, 0.10, str(len(alt_data)) + ' src', From 3768399f26089de5f49e020b51a697892f1ecf93 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Wed, 1 Nov 2023 16:40:23 -0500 Subject: [PATCH 019/103] read .dat or .dat.gz --- pyxlma/lmalib/io/read.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/pyxlma/lmalib/io/read.py b/pyxlma/lmalib/io/read.py index f3e1ccd..2a62f1f 100644 --- a/pyxlma/lmalib/io/read.py +++ b/pyxlma/lmalib/io/read.py @@ -4,6 +4,20 @@ import gzip import datetime as dt +class open_gzip_or_dat: + def __init__(self, filename): + self.filename = filename + + def __enter__(self): + if self.filename.endswith('.gz'): + self.file = gzip.open(self.filename) + else: + self.file = open(self.filename, 'rb') + return self.file + + def __exit__(self, exc_type, exc_value, traceback): + self.file.close() + def mask_to_int(mask): """ Convert object array of mask strings to integers""" if len(mask.shape) == 0: @@ -223,7 +237,7 @@ def __init__(self,filename): """ self.file = filename - with gzip.open(self.file) as f: + with open_gzip_or_dat(self.file) as f: for line_no, line in enumerate(f): if line.startswith(b'Analysis program:'): analysis_program = line.decode().split(':')[1:] @@ -305,7 +319,7 @@ def gen_sta_info(self): of the station names. """ nstations = self.station_data_start-self.station_info_start-1 - with gzip.open(self.file) as f: + with open_gzip_or_dat(self.file) as f: for i in range(self.station_info_start+1): line = next(f) for line in range(nstations): @@ -323,7 +337,7 @@ def gen_sta_data(self): """ nstations = self.station_data_start-self.station_info_start-1 - with gzip.open(self.file) as f: + with open_gzip_or_dat(self.file) as f: for i in range(self.station_data_start+1): line = next(f) for line in range(nstations): @@ -348,7 +362,11 @@ def readfile(self): """ # Read in data. Catch case where there is no data. try: - lmad = pd.read_csv(self.file,compression='gzip',delim_whitespace=True, + if self.file.endswith('.gz'): + comp = 'gzip' + else: + comp = None + lmad = pd.read_csv(self.file,compression=comp,delim_whitespace=True, header=None,skiprows=self.data_starts+1,on_bad_lines='skip') lmad.columns = self.names except pd.errors.EmptyDataError: From f97238ddb01a0d8e4d5362bb2d864f4fbf12e2f1 Mon Sep 17 00:00:00 2001 From: Eric Bruning Date: Sat, 4 Nov 2023 16:43:25 -0500 Subject: [PATCH 020/103] Handle a coords special case --- pyxlma/coords.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pyxlma/coords.py b/pyxlma/coords.py index 3fb53c3..19cbb1a 100644 --- a/pyxlma/coords.py +++ b/pyxlma/coords.py @@ -435,14 +435,20 @@ def fromECEF(self, x, y, z): """ Transforms 1D arrays of ECEF x, y, z to the local tangent plane system""" data = vstack((x, y, z)) tpXYZ = self.toLocal(data) - tpX, tpY, tpZ = tpXYZ[0,:], tpXYZ[1,:], tpXYZ[2,:] + if len(tpXYZ.shape) == 1: + tpX, tpY, tpZ = tpXYZ[0], tpXYZ[1], tpXYZ[2] + else: + tpX, tpY, tpZ = tpXYZ[0,:], tpXYZ[1,:], tpXYZ[2,:] return tpX, tpY, tpZ def toECEF(self, x, y, z): """ Transforms 1D arrays of x, y, z in the local tangent plane system to ECEF""" data = vstack((x, y, z)) ecXYZ = self.fromLocal(data) - ecX, ecY, ecZ = ecXYZ[0,:], ecXYZ[1,:], ecXYZ[2,:] + if len(ecXYZ.shape) == 1: + ecX, ecY, ecZ = ecXYZ[0], ecXYZ[1], ecXYZ[2] + else: + ecX, ecY, ecZ = ecXYZ[0,:], ecXYZ[1,:], ecXYZ[2,:] return ecX, ecY, ecZ def toLocal(self, data): From f2dd2f8b719816f089fca55aaeee8009d9aca541 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Wed, 15 Nov 2023 17:25:51 -0600 Subject: [PATCH 021/103] fix positional arg for plot_3d_grid --- pyxlma/plot/xlma_plot_feature.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index acaebf7..6d9f659 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -105,7 +105,7 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, def plot_3d_grid(bk_plot, xedges, yedges, zedges, tedges, alt_lon, alt_lat, alt_time, lat_lon, - alt_data, **kwargs): + alt_data, plot_cmap=None, **kwargs): """ Plot gridded fields on an existing bk_plot given x,y,z,t grids and respective grid edges From 3f00c61365998135cb7fd1cf2b5d204ca9608b5d Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Thu, 16 Nov 2023 15:57:49 -0600 Subject: [PATCH 022/103] add nldn/entln readers --- pyxlma/lmalib/io/read.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/pyxlma/lmalib/io/read.py b/pyxlma/lmalib/io/read.py index f3e1ccd..ac06246 100644 --- a/pyxlma/lmalib/io/read.py +++ b/pyxlma/lmalib/io/read.py @@ -204,6 +204,46 @@ def to_dataset(lma_file, event_id_start=0): return ds +def nldn(filenames): + """ + Read Viasala NLDN file and return a pandas dataframe with appropriate column names + """ + if type(filenames) is str: + filenames = [filenames] + full_df = pd.DataFrame({}) + for filename in filenames: + this_file = pd.read_csv(filename, delim_whitespace=True, header=None, + names=[ + 'date', 'time', 'latitude', 'longitude', 'peak_current_kA', 'curr_unit', 'multiplicity', 'semimajor', + 'semiminor', 'majorminorratio', 'ellipseangle', 'chi2', 'num_stations', 'type' + ]) + if len(this_file['curr_unit'].drop_duplicates()) == 1: + this_file.drop(columns=['curr_unit'], inplace=True) + else: + raise ValueError('Multiple current units in file') + this_file['datetime'] = pd.to_datetime(this_file['date']+' '+this_file['time'], format='%m/%d/%y %H:%M:%S.%f') + this_file.drop(columns=['date','time'], inplace=True) + this_file['type'] = this_file['type'].map({'G':'CG','C':'IC'}) + full_df = pd.concat([full_df, this_file]) + return full_df + +def entln(filenames): + """ + Read Earth Networks Total Lightning Network file and return a pandas dataframe with appropriate column names + """ + if type(filenames) is str: + filenames = [filenames] + full_df = pd.DataFrame({}) + for filename in filenames: + this_file = pd.read_csv(filename, parse_dates=['timestamp']) + this_file['peakcurrent'] = this_file['peakcurrent']/1000 + this_file['type'] = this_file['type'].map({0:'CG',1:'IC'}) + rename = {'timestamp' : 'datetime', 'peakcurrent' : 'peak_current_kA', 'sensors' : ''} + this_file.rename(columns=rename, inplace=True) + full_df = pd.concat([full_df, this_file]) + return full_df + + class lmafile(object): def __init__(self,filename): """ From ef7072d31349ef4dfea6e6fee1d455f0a3f08011 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Thu, 16 Nov 2023 16:05:01 -0600 Subject: [PATCH 023/103] allow plotting points without adding to sources histogram --- pyxlma/plot/xlma_plot_feature.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 6d9f659..20647e3 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -57,8 +57,8 @@ def setup_hist(lon_data, lat_data, alt_data, time_data, def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, - plot_cmap=None, plot_s=None, plot_vmin=None, plot_vmax=None, plot_c=None, edge_color='face', edge_width=0, - **kwargs): + plot_cmap=None, plot_s=None, plot_vmin=None, plot_vmax=None, plot_c=None, edge_color='face', + edge_width=0, add_to_histogram=True, **kwargs): """ Plot scatter points on an existing bk_plot object given x,y,z,t for each and defined plotting colormaps and ranges @@ -93,14 +93,16 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, art_lat = bk_plot.ax_lat.scatter(alt_data, lat_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color, **kwargs) - cnt, bins, art_hist = bk_plot.ax_hist.hist(alt_data, orientation='horizontal', - density=True, bins=80, range=(0, 20), color='black') - art_txt = plt.text(0.25, 0.10, str(len(alt_data)) + ' src', - fontsize='small', horizontalalignment='left', - verticalalignment='center',transform=bk_plot.ax_hist.transAxes) art_out = [art_plan, art_th, art_lon, art_lat, art_txt] - # art_hist is a tuple of patch objects. Make it a flat list of artists - art_out.extend(art_hist) + + if add_to_histogram: + cnt, bins, art_hist = bk_plot.ax_hist.hist(alt_data, orientation='horizontal', + density=True, bins=80, range=(0, 20), color='black') + art_txt = plt.text(0.25, 0.10, str(len(alt_data)) + ' src', + fontsize='small', horizontalalignment='left', + verticalalignment='center',transform=bk_plot.ax_hist.transAxes) + # art_hist is a tuple of patch objects. Make it a flat list of artists + art_out.extend(art_hist) return art_out def plot_3d_grid(bk_plot, xedges, yedges, zedges, tedges, From e39a8526f16d308c6d1cdc27d87febebcdbe2dc6 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Mon, 20 Nov 2023 16:22:51 -0600 Subject: [PATCH 024/103] improve docstring for plot_3d_grid --- pyxlma/plot/xlma_plot_feature.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 20647e3..b0ded42 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -111,7 +111,13 @@ def plot_3d_grid(bk_plot, xedges, yedges, zedges, tedges, """ Plot gridded fields on an existing bk_plot given x,y,z,t grids and respective grid edges + + In previous versions, 'plot_cmap' was required positional argument, this now defaults to None/matplotlib default unless overridden + Before the addition of **kwargs, 'vmin' was hardcoded to 0. This allows the user to specify a vmin in **kwargs, but maintain + backwards compatibility with assuming a vmin of 0 if no vmin is provided + """ + plot_cmap = kwargs.pop('cmap', kwargs.pop('plot_cmap', None)) plot_vmin = kwargs.pop('vmin', 0) From fb5691190f47fbd40aa31d0f6ea5a6f44aecde57 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Fri, 1 Dec 2023 19:27:39 -0600 Subject: [PATCH 025/103] don't add art_text before it gets created --- pyxlma/plot/xlma_plot_feature.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index b0ded42..ae5fd77 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -93,7 +93,7 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, art_lat = bk_plot.ax_lat.scatter(alt_data, lat_data, c=plot_c,vmin=plot_vmin, vmax=plot_vmax, cmap=plot_cmap, s=plot_s,marker='o', linewidths=edge_width, edgecolors=edge_color, **kwargs) - art_out = [art_plan, art_th, art_lon, art_lat, art_txt] + art_out = [art_plan, art_th, art_lon, art_lat] if add_to_histogram: cnt, bins, art_hist = bk_plot.ax_hist.hist(alt_data, orientation='horizontal', From f0a1750ce023fbfa8e676a88896b6067d47c62c6 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Fri, 1 Dec 2023 19:30:28 -0600 Subject: [PATCH 026/103] make that behave how it used to --- pyxlma/plot/xlma_plot_feature.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index ae5fd77..9cffa6a 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -102,7 +102,8 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, fontsize='small', horizontalalignment='left', verticalalignment='center',transform=bk_plot.ax_hist.transAxes) # art_hist is a tuple of patch objects. Make it a flat list of artists - art_out.extend(art_hist) + art_out.extend(art_text) + art_out.extend(art_hist) return art_out def plot_3d_grid(bk_plot, xedges, yedges, zedges, tedges, From 6b06aa064a6304f2226c449d7a0f30ad16a951e0 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Fri, 1 Dec 2023 19:33:51 -0600 Subject: [PATCH 027/103] *sigh* --- pyxlma/plot/xlma_plot_feature.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 9cffa6a..76c4ece 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -102,7 +102,7 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, fontsize='small', horizontalalignment='left', verticalalignment='center',transform=bk_plot.ax_hist.transAxes) # art_hist is a tuple of patch objects. Make it a flat list of artists - art_out.extend(art_text) + art_out.extend(art_txt) art_out.extend(art_hist) return art_out From 8132782d07dd9015b521e1421816a9750fc9ed56 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Fri, 1 Dec 2023 19:44:17 -0600 Subject: [PATCH 028/103] append/extend... --- pyxlma/plot/xlma_plot_feature.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyxlma/plot/xlma_plot_feature.py b/pyxlma/plot/xlma_plot_feature.py index 76c4ece..6eea864 100644 --- a/pyxlma/plot/xlma_plot_feature.py +++ b/pyxlma/plot/xlma_plot_feature.py @@ -102,8 +102,8 @@ def plot_points(bk_plot, lon_data, lat_data, alt_data, time_data, fontsize='small', horizontalalignment='left', verticalalignment='center',transform=bk_plot.ax_hist.transAxes) # art_hist is a tuple of patch objects. Make it a flat list of artists - art_out.extend(art_txt) - art_out.extend(art_hist) + art_out.append(art_txt) + art_out.append(art_hist) return art_out def plot_3d_grid(bk_plot, xedges, yedges, zedges, tedges, From 87b3cc9011a21907e5792e902af029dbba8c01f6 Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Thu, 14 Dec 2023 20:54:18 -0600 Subject: [PATCH 029/103] if only one filename specified, just read it --- pyxlma/lmalib/io/read.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyxlma/lmalib/io/read.py b/pyxlma/lmalib/io/read.py index 2a62f1f..6030399 100644 --- a/pyxlma/lmalib/io/read.py +++ b/pyxlma/lmalib/io/read.py @@ -97,6 +97,8 @@ def dataset(filenames, sort_time=True): """ Create an xarray dataset of the type returned by pyxlma.lmalib.io.cf_netcdf.new_dataset for each filename in filenames """ + if type(filenames) == str: + filenames = [filenames] lma_data = [] starttime = None next_event_id = 0 From 7895870fea1cb0f798cf5181a9b04cc341b7095d Mon Sep 17 00:00:00 2001 From: Sam Gardner Date: Sun, 24 Dec 2023 17:16:25 -0600 Subject: [PATCH 030/103] init tests, add codecov * add test data and initial test * Create python-package.yml * if it works and its not pretty ...it still works * add xr to test dependencies * use micromamba for deps * this is going to get pretty "move fast break stuff" * ...sigh * here we go again * I'm close.. * actually activate env * add nc engine * add test coverage * add coverage to actions * codecov config * idk anymore * eh? * double take? * disp test result * ?? * pls --- .github/workflows/python-package.yml | 43 ++++++++++++++++++ .../data/lma/WTLMA_231224_005701_0001.dat.gz | Bin 0 -> 5435 bytes .../data/lma/WTLMA_231224_005702_0001.dat.gz | Bin 0 -> 19814 bytes .../data/lma/WTLMA_231224_005704_0001.dat.gz | Bin 0 -> 1067 bytes .../data/lma/WTLMA_231224_005705_0001.dat.gz | Bin 0 -> 1454 bytes .../data/lma/WTLMA_231224_005706_0001.dat.gz | Bin 0 -> 17275 bytes .../data/lma/WTLMA_231224_005707_0001.dat.gz | Bin 0 -> 28235 bytes .../data/lma/WTLMA_231224_005711_0001.dat.gz | Bin 0 -> 5834 bytes .../data/lma/WTLMA_231224_005712_0001.dat.gz | Bin 0 -> 1289 bytes .../data/lma/WTLMA_231224_005713_0001.dat.gz | Bin 0 -> 4806 bytes .../data/lma/WTLMA_231224_005714_0001.dat.gz | Bin 0 -> 10995 bytes .../data/lma/WTLMA_231224_005715_0001.dat.gz | Bin 0 -> 52943 bytes .../data/lma/WTLMA_231224_005718_0001.dat.gz | Bin 0 -> 21384 bytes .../data/lma/WTLMA_231224_005719_0001.dat.gz | Bin 0 -> 1069 bytes .../data/lma/WTLMA_231224_005720_0001.dat.gz | Bin 0 -> 23502 bytes .../data/lma/WTLMA_231224_005722_0001.dat.gz | Bin 0 -> 1188 bytes .../data/lma/WTLMA_231224_005723_0001.dat.gz | Bin 0 -> 17486 bytes .../data/lma/WTLMA_231224_005724_0001.dat.gz | Bin 0 -> 5934 bytes .../data/lma/WTLMA_231224_005725_0001.dat.gz | Bin 0 -> 29575 bytes .../data/lma/WTLMA_231224_005726_0001.dat.gz | Bin 0 -> 25682 bytes .../data/lma/WTLMA_231224_005728_0001.dat.gz | Bin 0 -> 1069 bytes .../data/lma/WTLMA_231224_005729_0001.dat.gz | Bin 0 -> 1069 bytes .../data/lma/WTLMA_231224_005730_0001.dat.gz | Bin 0 -> 1537 bytes .../data/lma/WTLMA_231224_005731_0001.dat.gz | Bin 0 -> 27146 bytes .../data/lma/WTLMA_231224_005733_0001.dat.gz | Bin 0 -> 14486 bytes .../data/lma/WTLMA_231224_005734_0001.dat.gz | Bin 0 -> 27892 bytes .../data/lma/WTLMA_231224_005736_0001.dat.gz | Bin 0 -> 1070 bytes .../data/lma/WTLMA_231224_005737_0001.dat.gz | Bin 0 -> 1852 bytes .../data/lma/WTLMA_231224_005738_0001.dat.gz | Bin 0 -> 1070 bytes .../data/lma/WTLMA_231224_005739_0001.dat.gz | Bin 0 -> 1069 bytes .../data/lma/WTLMA_231224_005740_0001.dat.gz | Bin 0 -> 2185 bytes .../data/lma/WTLMA_231224_005741_0001.dat.gz | Bin 0 -> 26160 bytes .../data/lma/WTLMA_231224_005743_0001.dat.gz | Bin 0 -> 2100 bytes .../data/lma/WTLMA_231224_005744_0001.dat.gz | Bin 0 -> 1568 bytes .../data/lma/WTLMA_231224_005745_0001.dat.gz | Bin 0 -> 1069 bytes .../data/lma/WTLMA_231224_005746_0001.dat.gz | Bin 0 -> 60945 bytes .../data/lma/WTLMA_231224_005750_0001.dat.gz | Bin 0 -> 16171 bytes .../data/lma/WTLMA_231224_005751_0001.dat.gz | Bin 0 -> 38219 bytes .../data/lma/WTLMA_231224_005753_0001.dat.gz | Bin 0 -> 1787 bytes .../data/lma/WTLMA_231224_005754_0001.dat.gz | Bin 0 -> 1070 bytes .../data/lma/WTLMA_231224_005755_0001.dat.gz | Bin 0 -> 38107 bytes .../data/lma/WTLMA_231224_005758_0001.dat.gz | Bin 0 -> 1535 bytes .../data/lma/WTLMA_231224_005759_0001.dat.gz | Bin 0 -> 36352 bytes examples/data/lma_netcdf/lma.nc | Bin 0 -> 1140940 bytes tests/test_io.py | 15 ++++++ 45 files changed, 58 insertions(+) create mode 100644 .github/workflows/python-package.yml create mode 100644 examples/data/lma/WTLMA_231224_005701_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005702_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005704_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005705_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005706_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005707_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005711_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005712_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005713_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005714_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005715_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005718_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005719_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005720_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005722_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005723_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005724_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005725_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005726_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005728_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005729_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005730_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005731_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005733_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005734_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005736_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005737_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005738_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005739_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005740_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005741_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005743_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005744_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005745_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005746_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005750_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005751_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005753_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005754_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005755_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005758_0001.dat.gz create mode 100644 examples/data/lma/WTLMA_231224_005759_0001.dat.gz create mode 100644 examples/data/lma_netcdf/lma.nc create mode 100644 tests/test_io.py diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 0000000..5c90979 --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,43 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python package + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + "${SHELL}" <(curl -L micro.mamba.pm/install.sh) + eval "$(micromamba shell hook --shell bash)" + micromamba activate base + micromamba install pytest-cov xarray netcdf4 -c conda-forge + python -m pip install . + - name: Test with pytest + run: | + eval "$(micromamba shell hook --shell bash)" + micromamba activate base + coverage run --source=pyxlma -m pytest tests/ + coverage xml + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file diff --git a/examples/data/lma/WTLMA_231224_005701_0001.dat.gz b/examples/data/lma/WTLMA_231224_005701_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..0d043f537a34067bfb7ab9d1bc2962b161e6545d GIT binary patch literal 5435 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 literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005702_0001.dat.gz b/examples/data/lma/WTLMA_231224_005702_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..c1ad68ed1d2d72f1679f962058912dd2e4ee1667 GIT binary patch literal 19814 zcmX_{c{~)}_x~+P-WW;ttrS98vW;z2wvwfgEo(@2l4Te(BqSQy%B~{&zGs{4Ycp9g z_H8g23BtEk#nMzcqvzV{!G@hS2^*a{n1uE zbkdTEydq$bCLxcDyxh+clNojCrG}jD4+8ly?_S)-U2M96EmL}``J zSn8uj{dEF#MD2QDziCU4qCk49%{|@jTP!oi`yn<`gPaZKeGHw$08qKmE4HUiP7qE` zto}ZKGu^~c6Jwhi!yh%@=-_wO8V{mz5ocd*|2)4Z(keB2?WQfWOzsHMC!*LWq}<^L z3vImh&hW+NSUY85sAj3FYULY6Jy8_T0fM=0X%r88-llcO+a-`jU%nD5NJm?*_d;u5Vo4#i4>VGU0WzOt!fL zrztoo#whgN-z+*ymX+&V4i#RJUdLt@#h`u`_n9aw9+y-7jwG855_o}b{*}*UeOaqx z4PTNPceKOX4~c3OX^=wnf5+pMo+hC`G?6Ly!+E%PIKm<#8!uY7t*Z48ho(tHCrLRc z9tEt;7+61!6yI2vl8a)#Q9N^BPWnmvw5O@Zdu##+?#i->)!eR!$&+rbyS)ls)a~Od zC2nhdtp*(x`;yj)MTu610eWQUZ6~FZxD}5=eN?}Vc0yDZr%}EV;)vCw&6Zw*9 z1#>-=k*kqxHzYC2qiU+lp&ddiq{m0Z0O~r6Y<p8RTk*aYTmms zuUaIWa89fgg5Ta+FYhrK~-F*>Yt|+ zntpLj-c{a^7Vj>KhUF6cz_;r`t=_nEtc$k+=lGq%U?=ByJ-E%osBLB8;9z*=8I?LO z%oZuvbuKMfQ-bo=csZm8#*#wwD}#pHG#6k7jAKky5Ic+h>KBGz!H_qZt;ynm>-{MpVLf z<<1ZX+Pmk}Enq!yOygX>KePPEVxKukh>EM@g7z&fMx2$ioTr^DQ}0y6)`i`XX(uTG z!P4a@E$kN@)ZCkVkUP7JQ~mE)bpjeCIhPQ(l;>Eq)z->L|Kxet>2+bhXf>kku}pYJqU!A zM`u|&{O&A2wn$hC87=;+5DJj2Izvb;=5qsg4IqY)DIr$3;jDnKbVTyQuvcKGR zT71P73KVAbxMlVCiPy4uaD`%(V6`SHaOP}j=hWUDxdPdkFw8UFYugFW;^!U1_X)HO zR-1NE&TMr~B02~jrBj(y=nqT(3~!KD<1@8<+Y^%2n_N{ixShy~*|B+kg74P*7~p>~ zWVcQ_5DU}UEfctzi5dV3rY?(a0Na|=wvWi()RsJ~W~{8yA<7HY8A7d`a>hkR`1$mP z{8nB^_gI)V$9WBRqC#?FG=RH#0KO_t!c0fW0;$I)rpsC#3CFh%@PmzLCGd%Wxz)~U zdaj!^28Ro@?wx66WTPWvoQmW^b$f3n8CWCWHhi+22e4jnQ62tr#vk-7=Snu}?T}*t zR03X`;UaXnL&@7hI1%y!fllWV#?|>)=uTkYi!GoVceD1^4n+&uds5{b%xKx^R8xae za3R*SMe&h|@egg|Q~Ni%Y9s1PSTKN|ztz!a!lE|W&hDsUV>-0FCYbErs>pngWV zPqYklY-%K+vzQ1ot&YY35`qR-94LVzE;!f~ug_*oQm_igUp zOVtyTw>k6hJE5Tm(ffkuWxH0%sF8nrpsAfXVtEoL1;Ce@n)BjbcI8EGj0HcoizTQh z<;xmYo(tPZlFec1;0B{|NMr>5>sJHAWPeS?P9byt~nW< zC}<_xSIOIZZ*EWTQKYsM6>zQi9u6@Z#qk?KpsrC@^Di#H<1Z0rEPGfp2n85)StW?} zdgPq9=II3K)*;bQUUI)zp5iaI-;?^&OKKkP(%xz;x2C^_Z}N%YF?#KR zb=Z+EXPs1kBeq{`ytfsY7j?eeF)GLSuqXdG!<3PZ+iwC#*Ig3D1&OE%_-_=fN{J>! z-}uzcaR}WC>AGBsprgYd+9&w4CV7r3YcebgT_ywTKcn)k+-K+!w4^2dP zf7v-h0}%dM7q-vo#bpP|DId(Mj-&7oE^T1>nVC*z(O|Z(%2mU!_D7y!Z>*R%hW>l7 zHC0f#WwQS(PY|(z#|8l0thzW#Jxs!PD~s!pCe}kR_6~+vt=wOB{}q2rq+GpH6^dHz9#GQ0q{x`ScT!BJ9sg|4g@@fJ^;exJ zk%6B5TiVCy<{d7m9!SnnezmH#55SmM3%!CnN`K56o;;OlP0uU8021*XNS=HW8 z{(up%ljwo9;itdz6TM#8TyFcYv|>`8`^85_4(ZKk3AAx|TYf*E8#iI)`PyzdR|(m; ze{FPg+2a)o=v^3X@{Wo2kAotPt_^CP zWtcLF%{3wUFH5))qs3Q39!@c1{WoK7rBv64A1Ii_?aFIgA2RS6-tixKLHFA+KV^M@ zE_yf!3XgDbS#D8I3Jfqsow8lKGz1FfQyN%V-KU_Tl?!}3v%u-f-2kqg6O-rPPokoa z{H8njR+#aG=v#oUpI9GY!JD0nLRnu!cc8?UQfUBe7Zq#1G_lLK&j$@zd+twJJ97T< zS+-`?h%|8uH}{wE&IK>k5(Z%OOzuBT7|(+m1LgX8MWW;A><&pU=-%d%wEo&AEZ4GY zx7^lN5qE&@OEZ2D4*1VW_=&@ZGX@53Dr15?=un%`QM|8|`UiR7St|cY0oi|+8WigS zrzk^LdH^^z&$=LAwv7-t1t50^*KW9%@~a=*)G!hai=4iAZ)G1MoNB0GB6$yk_TG8d zUu@$%10j}kjqws4-&thnBr4Y04IOyyGW)$+ELy@Ovg15x5gQDTQ!&&($Pu7?+IdPI zwvhZe1mXWJOtmd)^Wyu)0dmwcdj>gwjo7^WimjUoh$`|QnWSCZC{Ed=eL_EF)8}(% z#FBXDttHHxtl)t=@v%4duOp{E5k_~uV(CBh<2ihzs`)DQA!C`0Y(gZXmgK&4JpK);W%P+gG7|_6y z?=rJ#!lZfjdUfkY6cHkjAU=VS@IK;(9b|m4@9Ue07Q!j!2M%8CyeYWu@T($M{nBN& zs>=T2N)6;~Nm&v}R^X(a&47D$=KU9Xe1b)0Mg&na(jkpEj&Wc`HeAHx1!6fHBlM!J ze$9u@n!7|_WLcP5(Gjj#yVhQ|BFATKXv=<2#^YY5IH>O|%>U}n1spHUz9mWg@Xqu= z(ec%3TBWG#R^{0S%*lVhe#7)9LjIdOVtg~py+@8>bsEpwxhl-Y$mRr&yl~q-bEu9? zN936a*+>;idZb?3N!FPbu_OON$=BWs43PT|C-xfZxmKI7N=Ez2BSo|h1v4DAf;$z5 zxz6(}C*8tGT@)b(Z46TMyt5p|+{R2Q*h*i3YyUm9I_=dKM*MfbV&>Tn_v4QNrivqw zw><+NsIga1J9h~06p;>yNJ{to%N*=b!-aIR2QM%N5B0g{JXCd@ElxI z;DKq;rSn|mcIP1!pND^(IJgdlF29TX+9N0TIdo0Yn)y)}G-c`wTCxh~f4gOW2-A{o z;vlU3aYPbL$0xNXb>4tfsW`IL9b_oi)M)d8#i$^A!pUo~W} zkGozEww^EK`J!Jq%|LFRmv;YM3?~0Ka^jJJ=AhQ#s1AeiSoXt> zmHVc|dBETC^G z#e~oa@O^cGEi<_`bG{PF>q$ICpV>2Ei|r4>A8{5Z8se{S{T!td;4NEz?I+Be%s}aI zt!5`!*tF<8?FED-C*Ol8!<=#(Xnd8s_8C3F1I{9d$DV#<*cX#BlSj;)SMn9 zgj}xq^%%8}AHrGg-*`@#7I?W#oiv49LVcv0LGypHe|v$bA;0(n9$;HfxOWtZXaO+8 zZWn#^j)=7EkY&4<&i^X_bcwa2O7(RPHXQLVqHN}X-O4eJ-t;czj+30W=N znwJZ5sTR(z6nAu=)d42%Yh>DSu_PVHasP2MPJ;8IdQ{{m@IjYbGXJhZ6}G1^4A@O_ z>uLSsg>&|Op5wHsDK;nrM0+%9O?4UmeKEHi7Llk}7+i(DT=X=>P^9=8!0r&|JfVcD z4w}vpaS&3}%XxBe*8RPLkC|C!WVg2>4()v09kGzWP889Uf!hiZQ@Ac>w=qagpOy%R z?_LMp_+gEmElk1UdW5;^V{X~9NcC4g_v>V;>R^=cCi1ovCtG1nS^r*ug53sC4P8Im zfn4E$BxNB~wT*tSR04}}JnPHF8;2?~he4v4qmNn&8YnT^f3Vt?%tL<0{;4xG@HjU- zC&fmCKw>Ret>$BQIcIE-UmdTMsaB3Fa@NAzuSY1O$;51#J@f!D zb?9u+AbI*{5ABo64Y%v>6!WltSwt^9kku<&7=3;5trZ(3@mof&8^Gt5S^aA==v*-m2~P-BoXaeq`d^xVbbk9d4f1Z`+By z?vW_9y}=|aw(mSpI-MmUAt(DK+6qCsS>N@>4duRyy*%5mZfa{EAINDLeirdBYO4&1 z52~EvAse6|{+2L0NPuE0=U4c|UwngU`+seZM3vip)1!7?2wCfX45W`NCafO9Nw_-g z)Nin3sxwo?Eaw3I)vB^Fmi8Zn0q-Tz@Ikh1&!MyMi+|!Ne}@219PUff6c(*0eUvOl z_g(@WNp?2B-tm#n_1*=y3-?V4PdVfOm-$1~=d@y)O=U<=6U~ZF-Ew@Es>|Bn4pbpC zYsd4f22@uzW3+mSmRWXPClq=v^y+=zQTEVC_epcT{yK7|g<-g$| znZUi5`2oAmh1LRe)TAzX=*8-dOg#g zl#6V;#qhQIY}U~0mFrkxwBnp#@n}rT*S6g1kC0MD(X24FIRA#M_rqC!2_kznqGydMs9S8X(_pEUpuCqtIq ztiKsS^8&gUM8~U*e{d?zVj)Y!0oe6IDXs13baKQ`s$i%%D5q{wQc+nWY(i%?TM-`i<&&!Mgv{%hUJu- zsGoRQuyZ?O1NZ4?fhS~JteGnGIWcVFnxz_5bY8xe=OeW>c=auL75mJ31o{d;f&mcik;x)@^pVa$B;AiyD~ zI{o3rthXD|CinJhP3`dx`Tf1E*!50WlPC0VB{U~RL^Kc*fnGBMGcApruw-+fvR|})B4x1~zCid!9Nv(-0`mh= z;MuKBhwlR9QZ735Q^KfywnxT2grIwZao8Dh-&B70LnnR6!EZ0y#O&E7vUf`+^yKlZ zZ!hfn;t@~}xe`i|;H&PrrPy%8a_MoH(AW31i_5t2BmC*%($X%hHdlZMInBfp-#>Q5!F z_W4NVhjju#C50`H?D~zD5_{C7k&2?qs|ge#F}jMs{*Q-9y{Snr?tGKxU=Iw=!}iVn zq+WwgEUKw-yc_Kkz!ulS^pU29=JYQuDfJFQoim2(5SG)B3-@kJF|RzYKQ#%WnF=7N zNc~%hgpK2_agXR1LR5Zot&Q0}`KRRjki7OK-zzY%h=;g`KvcCYLzT@ba03ulVAf|Ac|@DN*iby<;tqn zmNwm73yVV%H?w6rP02CGFLSa++OYY6-=tPWT=_khxQ$~rqT zx5AF{3U}zJT^H+v%vN1tw^&SQ;;0&t1GxVc^8Itbv24Bnrv~I|{wjZRbJ0qSynhh1 zWP{j+nmP*wY7xtOWI5K$QL7YR>PI5=TA>7Sq`x##(Q3N(_omJ&>$C!9UFA2r;~#5v zQ#zb7%POHOqU-B-ZI;1fw%?JY1N)o0VP{tjN|jMJRx~kT#*Ku1$2@m)3KgznC*RR& z{$C)57$KSkGbsp*uyH!GqWN=Jm+#Ta{~OoDq$!IFjtwr=bgJOmz`NT{cU27X*sq5# z^Q0^`7sWp|$y@sK?o5z(r}n*Kf$6s%Y8p`6#jB&vnS2bLQKN2SmS-(QC4UdKyH0~4 zmfR=IpMQeq?O`bQ+6pbPB;yRMCcjX*TSS3;5S;7wITh)CC*`kZQrh(XWz6#QQQ_H! zk8Ve4j{2B#zWp{Ia>*$Lp)VAt*EN$uu=590CKU+Ns1bRpn3j_0KT%AJP79JAO|b{d zlL@}GFDIVT&#MG=T1WXo&CuyoANIkC;V2}Di zabwCe)qF21C_E**t)Y?IIrurCry@VVAkQ)WFNa@o%|XD${LkX=xxp$;H|5k&mB-)j z-S)~c%Wrj0ws;!SsUVY3Fk0_8|Cq*CQ?hYZS7d+c!m-l4qEk#r_MhNm>+P7n-8&4K zE$!KcjMsx)H{dm>_w)VmvlpUqCm|t+9>&%82$>lEVkdABR#DPE;7GXM>XUm3vAg zmG0C>rt=n|kjtynr)eoa9=a^`@o2J3TJAY$H-cggk#W6SLH=?yAJTohxrIi@BK^*0 z91wqMVQ8eA+X@)(!w7W`%Q!|Hw58=cHO!LX=0hK92#ot5FkD2|{QB0zo&dSq)xKEl zL_Uw%w$mF3;y;~KFjbHLwVh|_5W$78W`!sJ;nt_0zp}CzRL5+z@$jAW~c)}Z7XDAVGWzhi)?^?qRvlr z2|Xm7UURY#9-ztdT?u5=*u~Y~)(qX_RRr~+`JLH!-p@VTxR7<|$~W*M_{2-|z$!}S zBEx@B3G!{M(93%QHdFC)6;WvS&OMR1r}>1l>7TYYWFx^UIYSi<0voFy@DRlE2ZKC^ z<`-%Hr@}RF%uPf+U;?+EL%lV@V=2>m`R#e#`)bTI=bn3CfPg@6Qldr&BkhnV>p`VfLY{lR*lM|IU^#9d6^ zc}wx69O<(ZbNz;6F(DHV)T(WE#6~+JP#w1-+sp|aEwR3rh+FtPBG8D!kAMr`Z{g_@ zh znII`&CVo18S#WZFeNYl_E_QCD>7veE5S(O+l@odB+~fbah&koa*B#t^i0+51fhzHS zh1?H^5Z+&Oqh)9rX0Fg$$B*;6QBrF+GVPyr#Y=+jcwg`wB0&9*6Ru6~TH8N9Hv5m# zhW=T+b*%BAqT(+iA&lz`g1$Do3Z$D^#6PJD5Btq5FTJf{&2F?eFDG<+;+u4Vu83I= z>3BYbXE-Dt1n)L8+2PHejcHcAJY!3*T^bIh0$3IMj%5cqP+g)f>72ecgyhUf1g?2Xh0YVRkkEJ&_%FjeY=tI2doQAsRblv6 zvcZEv?t^PlSu=n2=TnU2ew=rA#F*Xc0e9bgJj#tR(iNT6*Wg50+2`B9a}k|h3Vn6a zrfs))c$WTVpRPmK71OQHPIK#+yYHj?oGPauU%_}^5p;`)** zh}cf!C3*eVb^?kK!_3x*!>3F@H$Uu+WPUasoTk?BbB_)W2MFfPDlr^%)6xg4yb_8E zqi$7MU$b$)RyOFq4gHOxIQ%fO7bd1CAZ~~h=0qP}&-ANpDJ?|~Npdv3U;LtU$20F8 zd(6MGTEH-?x;%>GPWACTt7Y$qyu*K;mvK)Yz+6}Yk}!0iZ~3br6dmSAXyJF8=0RL1 z`XaBLi0z_2Kz#X8KBh*``opXM?CJdVRp5NPFM0H7M{;e`ez7RVVpu>=l)q1775enP za||+`1J`Y~7xV(^#9^Do?jMYM9D=|-(fMdA&o;Q6|l5v~CGWnxy*KFiv{zkgr$#gdVh*t?eF{yt- zger61-luvRD#nNiJh=WJwnXI8P6mr#VSWoQHodkP6?f&*K>o{})FQWov%EN=;&WVG z+~`S@i)u#7QD|myN_Y|WXL!5IKTzaoV!_|7n{zKK`?1NzY;pCyiG$l(!R^jLJdmAN z@l@iH>I2cp*JjTSG=s<$jxTdH=Q{AI^A`z@K8k9*sW=A)W1 zH0mQxaxbYzt)#!@hOe}|OP=31)yKB@s@+MMwr#(5;)|y%)!>}x zx3;%i0BwzB4W+5JtL(vfmZXMqpJYZM%}f*L86Ltnv-fs>|D!S~BxJQqU!h^}e0g|p zlQ^0v7iKP8Kl9en%4G?E_QJUZ$l;nG?{T!CG!I>0f1SHPdnI}lI*?h|8ZN4}bMPil zzWnO~$+nUQbzX996^9s<66r%E7|)0w+Fptcvuf2}QB%^AiALaonp8NhBrN<5Sz5~U zEth|IHsN~0VuC5?ic@IO*J5k|-_Va5RO-Q3D&Gqwd^8e4>Uc*8Y8AOeX?woOUWbze88~DiA4%B}zD*gv?%aHN_NE{DyFc+y{xOH`k}mRJcg%fJVu$advymsJrmX2F zQ|8l736;7j^9@0()xxKJ{heNouNUO5#K-oHw1wy6HOZ|whc}*pbz!h~C?8tp+HisW z3NSDaR3~s6MC|0cW_TDy$V}KBbzhPpAYh-ZROic?$i?s^iq1W2Q|clTBCWP)4+hAD z=DmoWLaP-r&iy5zqDMn&T}I&(9$py@xG|hc>t7APj^`xirPz<%Df}H{+|N5;(T-y& zO|Z)BSce#`?5gDlTJ?};*`GJosK)S>T^~HKU}xjtF0%64gX-c6C8aZC;nxXmm5U2` z0sS|#$9GY$#82yHGHrXAYR)^<^Q>0pstKAlKHDeu={uhTP0OFYs-Z=^>Xz^dEAKqH z9Q)x^x*v5rO+FElFz8gKB{Z3;aR141G@%}JY0ZjGLhHQZ(6ZR!XTsJU;#y0yjoR8w zh=f(NWIL~TCjkEab5(}+?VNr`W6Bpo5B`otO0Lu!IjPVr27~MGIpfQ;KY&6z+VV-O zi`9M6Ksacv4hqS0zj7)rTT+2l5xy5SiVj(+H`5N1F=XKubwB$2Wec>vEZOkOMHFLX zR+)nsW`Ha|b9!?!Kp0s5*l^D^-%13eB7QOJ!-xl{j2<*_s?l8;cU+FS=3Kh*K7Zf9hS2A^Ps(@IWI$4Zpax zc%D|~cPux&I!Xa3gPDd!eD~JRqmM*TgwMEEYTcop`{pI?^)8TR+O`4mA&$ zW*BCZV5eWg$uU-s+*v#9K95b+Y8&gZvxGSLX`kMoDp0)?_xKwl7R)o2p9B?S;Qi52 z)t-Y_ZCKilH)SR$Rc3ec*n5F+(SC1)Ksz0Dn4$KFf!lJ|-<2Sr^Q^Z`SO0DjS|2)E zCFd6gAD41HecPlaQsCR~>k#53RWG|+T!btnT(3Uu(?S+X1W(FMZ;8+tEPcvEj!TBX z3uYIe`)L9%>e02!_V5~fm&>Mzd;Up@n@2iwJGhZ&<*dQI#(Bke5+=(AQ!BKt%BG@~ zu(ffRG3H;umR&`EhWxNsQO^Y$Ei9_PzC*^32``2#{J?Y{-+SouYJj$UK}y7BLDT*K zZKcIakIw7CIkG*&0!eX|k6zpPqjThvm9_SY|+)O}Gp2fBj%n~djjk7&y zMc5UNS2Asnjsp5j{QFWr)EK;RPfsA!Ehc-3 z_9kA_bl-|TI(&`mBF@P6%a+usghj~uP!jucSMEGV9oO=v#gkm)n@O}1OAI(Wn55Di zQN%E=lB)_qzwmNh<0{E5#MT&Snd}pwX8^cjTdZc%yGua^j@sb+df>dZOhFNI24py5 z`5wQgXj|6jshBN4HB6{ToEED=jN$N z+S6Ds(K(MZ`|2ek6!RFDV?t)%RysyFZdj`uSM(jw=wm8;^Pn+P+T&&~lMNxW zxA2_Y(bCD9?XcjewDA)F7w}Hx2?2SX{t@5%*HE}%49m5iNMTbJB-b)<3XQmW^IcI=-6Wb)DrVw^&w7>+tp}*wt2^q z_QLW?N)!5cAFC6WlSPrI%)$&Kv~Pe!wWh;Cg+Chp6iDEqeH~w~mbv!bV&4M?&C!nF zI$b<4?HH~5%7@zC3_1N8T43!7NiZ?NIJnF2TglE?auMrz2t=B|;w6%^-=~`AdbGP5 z+Bl(p3K96p`gm5mb<}jX{ZLPIk*U$!eIJ*lBrhU-y)&oav}2#wQqDSy1GWuFW!Dfu zq|Ua-1BE2_Uq8xc1<&4jzhcn5?;`YCvt91BH#lvOST2u|-M@NqjKH$HX#q*pp+EhT z5Y5T5pq5u8arKY3A!o~y6fSO0{MjQG9Gl-8$S_FLGght4Wy$sf)bn_Rl8egv=Ay4Z zxgCYOrTH&AZS=I!gZrMEf}%2*%2(Cdp79-ZI%;wBWpZEYCv58+tb`*nmMdpa9Bi9_ zg$ITiJjOV}f)LK-@4Hp>snfTZl+q<8l0ev`jR^LWv=GC}sq;YRHt$svBO227b5-_) zU!K|Bvv*nbgn>j5=~P%6u6KS-yv=gbd8WGX>=h||Gr^WhTNY(gJ1}hmwJ+iJ8-o{S znSVDiqMv2sNE2QlBWIQTq)TtGsc}0+=3|kKkX#>%qlW%*{+=eY?#kJIYr+~#31+SH zrKRLNjCxIz$EMxcN{UA`wA1(wJ+({l4Lb0Z#y+9ZQO11>5TvR9yLk|;pi=}<$>3;q zsXseg9=a{f^G=rMcKCm}=XN}uX5%qB`}!RN;KL45!P+*d!}{tNfxw7YZ9NQ@*omzq zjQj7c{HRH3{(}4DUIiy8D%w0OLnwrqb}jvZ#!-=Rx%WOV-MV_n7l&?m3*s1i|m z+J#+011*LRLX=2wcaAoC*P?ON9fY;76`@qlk>swx+|&*$R;(7Kx_iE|xZ`K8x-;b? zo8%zWKXViWHI4c*0XhRzu^OI@|Cs@SX%wN9XPNL^_r+tEg-agk*#k zEikl<*YuHGtC_<{?;OSgzX~>$d65v?ViYq64p9OE2UqKmZ*vDdceS+>jkG^1hWB5n0%>2o z_T!`R31Go$saK3CybaW}nLJw3QzuY$IQ%n)HVr)4cgg7(7}Hy#+j#2k`sOZoC(#1a zQFuJUarpX2>QaX8+o9JDQ zZBxj7ZYv>vtlw3T|Cd$GgtrU_(ke(wW!-7Q5xoA<<>mnYf{o+7J8o9TYMKAFc^-I( z)Pm69Mb}kRY-W-K-ax-o7WE=bSNUk*gcM||O4A+rR%`$m2WY5B{U=La1c(0ABi}T& zt9hhUO|y5oJK%uqG%vQ^fh<9xv!59>M|C;cA0CL4DFIe#h znz}HaIj(tj*IVn>+q}WAr+md7!7i%OJ1zEZuwk$q9p&#c4xW-=nXd`7w2-BBdNp)R zq#n*AFGAGpcTLC_Z^S9-C*C+C0h%|1k08bXaEnmIcnNi`ZwGx6=YZ&g zqBy=iv}S#>7VzT=3bAAAF8HF|<>A@KK?28zzuV!fHw@^SO&xG~9H0&WY65Wb^uqb4 z3rpYeX350$(;#h3%kSb89eg>%f0f|Q1SyHGm3!A6iua2BRzWBr8Qj;_{5YDu9%a2D zrTtMykt-3Ep;8e$;HVA56NceJfy#ie}xbq3wwX4-?8I4fh{oG?$XE& z0Q?*EogX1*x=t7V5tr~O^KyK?3%T#CYqx(4kdTUn^dfQTE#y1Yw#{9>#an&!K;j9a z+4S4tBb05sZ=WiA$o|I|aykCzr+lXfE|=Jd&i?CP%3NU_msWb!k3+5vh^wFftlM+y zhGMqS8cR$FNr8=EXi5H`vpm_?oXWFE#Z&X5tSv0{GXG83d4lHp;`quP-lvoTN0S4< zqywj8VmQeAIgvPMEzGtcVyj$)>l4{q*3JfqEPCo ze9SfLP-gmI?E?UdRvGIDzatv!gnKyBc}0hNWNAbK*Uk(}^!sg5nJw4Li^OW5mJ@*x zJB>vx=g%G0E>`F%px#~^kxMvt+zUZxH>iSxTPb7*%8`KIX4!=Xl3JEWkUdc!R}VbC zUp-4a)%Xl!^LgwfJhhLa{`}_=`_9<5n}$pV2ST5J2)lmTKZb~&Xg)f-dbcVk#QF8mnT_ZPvnn<> zMM>zarsDaXm37+F%rR7;9|CDA9&uX(-aWc$<^oDhn&dQ~SK8JI{!55UI=ikix^R4U zIS$!_+j~D+_IWpeQTUv1F#`pB@aY3yOckGH8k8q5n@99`y?5RL3F5gB5+EGT$vh-k ztv9!DT{QORuO!FKJAYHZ0UXfX$R`jIxk^Sc{CNp6SS}-Y z&OPGu6Z$Bw;X|sv18fQW&`?1od7qk^IpMDt!5?UB>^4Krt6nJqZ^a6SPnRI;HIsU8 zg~a+=e`zROt&LVaeNUw-=Szt69Q3F0MqnJ|y=Ds+9&Af}=1`qJ1tSE4gqv{&$7X8^ zj7gYVPj0$tQlkm)utP3O1dl>OxJV@NJ9;qHsPo_kCFYTVcIRR>*5MCVqELic8iiF$ z>~@>(ie_B-0AqVr(rF^I0$}E(${i^&-fogJKG1|8p1S3|71=DC7@5Gj3K{GAr*CLM zi{EDIS1%W%??b05%i7UOFF*+ljaE=)DF?T`g=4)+tu1@^;P#gTgnNQgi~QeS#kfYV zIZXb6fgm)m93)mE1!vC&;#e@HA|LAQPwyl*mm)~s>4tAF5zpFQdNL;s>0nZtojD0Q zrug4p@p~J{MdCmR%xszrkk?AD>LN0?ElfBDeK)K%bRef{8||*mkn%0gB_**2?3KLj zgm2x*lh8~jD3dS0Sa%_%F#&sKg?g3qeT!%rQL!uH6?mftu%0rPWSnF%c z@xB4{bd2G5TylwK5iBP$#-_T*A|z~G+&eT&31Gky|C#!gc48Rf9P1peR$|m6$s$M{eF=@!|N0b?G3S~fHqqT zXq`?+m=$;t1lJMiCnmq@(JOJyqU@uA-e6>K$NL27=JUky+JKDDMydT@_ar6qvwi8-Oj>jm&O<9<0GGs>K=@ygya%O65Q7tU2;=3pV7FpM+)(fO@oV>y}Iq zA7^%{0HpZKWKuW~ddmy6ERIH_?^Vpq(sDm%ffsspUb%lSE@qx_GygY%HgKSILmTy? z4ZalBh!jxO%YTrqP4of`17?8Pp->^%Eb-GsaS$Y7X+n-V8r-#Z_A@f4u(=obps5mG zz=r-&fH+V{=rnP=wmF3WsKs9;gsvl?t z)RzxGCQtI0Ky;x7F!5&}AIS0crw#k)1WcZ^_K^7hou?F30i}0r%J{J#5W4cC%qXFn zHK*g_zKtj-6j+Dhd3^~_zB-Z4E#gu~ex*rTD=3kAy)P}#_S|(IKUp!(b!t-km(?P4 zs}YrInsvc9bDVvH0-Dh%esgP^AXq&V8pZ+dj*|R2(jP^6a8DHD%2S)3^pP~VXgbD# zM|Y+Q2(`eE-%d0m$*$}6PaM0CFDjc-)(Rw=ZknQWOu(=|=u8e5*Kn)?epB+4A3JW= z+or~3@-PbwK|~%kCZa7r>b4A#pm3d`Lms@V@nO#mly-o7FuGHlI@2b)wyy9Z=eMo9 z0%a6fnooiISwb0t^o-m+&dM;X&Z1uzcdt*(c9~kcqGb?YAS#%y*?Kb$lVA21-ul+! z3jzJ=H)J2%W9+u;`SA}BxZI@A4quk4Ejd7I8uibR*Z=p|2?0Hjo)NB}E^z{nX_3<) z^Q^rhS@|e&|LUB4D{Pb5lLlSKD=JleZF4|vh@VCGO_C1B?S^0fDumeeL(Mw}&g@WD zaQ5RT(x0AiM9p2L1d)Zu%ho(N7ee$?y4sv3TDAmJwO^83U;9sLiB{Zn91U*kimSBR z(Wpvnx-PE2zD^=imH)X=WjN4E%Q78By}EN&pbQm!NQbjJm$I3J(Es%Z-i9uWxi>$Y z7!Q>!zV+lew4f97OXN#QcuJ2@z=Q<${cv>c zo0sVL0u6hj2atY;iXo(sOETPR%*Mu-C0CtuP_-OM6Yl5RXU#DNr$j3!=7XN&7Li*GyEx|_B5vA zGP51_u#|vHF79rVo4^lg+0$~K>wdqh?=HP)pEzcf+>eNxFhF6shC3Xm?+;a{z&44i z%cGRGux}?nh{qgN@2cx>4m^YNIP|fG{R6mTczwuB)tsG#&~yz&{Kfl23!JE9!oh`; zyED1iwub@2e=)%2J@8a!){wMfa|m4X5i2A#Nk_zRHcB=0T`EfQx9k=6(HqY=jLN6X z^C&UP38)$p^yvrXsZ6X*9*K;}p7ji^Lp0Nt!733IZe;R<@2@vG-9BH59WRrn$N@|@ z5Y#nQx@l5F%7F=MltsIw9(#M)Kblfk>rayY0vhk^cP`JsDn@;=x%jb#WzRT>fh(x# zqv>~`G=i`a9gR%t)=mo@h+FNx&~E3RxEUs8`y>L%!7@jhS?)^tgr$N#b$I($YF0<$ z?+`XKmoQhi9w}((FQf-gW!7nz38F%N?Alv}^WsyPyCYu8RFdxpCs+M)Q7rwyht7-; zDsl-9H9ixG>)7oCC9q#~XqFb6%S*SKsds#nN-jr*DCjy)C0Ra{DkD!n+je`^DW3l4 z_Y+!wICRs!-Spd&Uh-NaPf%!|h$R?5z30IW`$yO@#hTjvNB7%JjX%ETldO$Xj#%qK zY%`5AIQeD6&_-e^E6_|=E(Nae*hMEr!fB3s@ClCwO7C=*!QE_9-Ah|Q$ZM@9-QZ}Z z8L7#s{N*k@~F4%)s6SDbh+lhOWR;JIt_in`8#KfCpegX^BeiK`vs1HLo-m&l579KPpke7|w^aa`-Ogbw3z z)8xx1ZdWnak(Dq zM-gX9y^?2@UBAWnq7QB%Lptpi{*-TO#5jm5HNKd9hsEAmEA8hvfSCwUlg)=6%dyUg zfa_A(XzJW{-Eeb)`VVT5k2FMr0TO!KjK#J{UauS9$oB`*XuGwRQ)4!MIB&@G~zQ(W1oWI@B#$fdpq^G-izkP=m)Jo*WB}CS9xB>?4FlsQen3B zVG`NugX9AkP__9y=Z93GsCxpfigu8%GoO|2ihtlQ(z@^a^Ic22S$yAFw%?BDOIv(k zO8qk5yD|RZ&wIKG?&9=&%4%WgKeK15WXYyi{%_;uy6ny~4q}v=BL3pryAc-v&t!c^ zl>)Qz?m!Fv&o$1bgjKb76$_iIqux~b6k*aT98k8$DITVNtTW&7Xw~~KstCD8T-l}G zBe$IEV~x31*8Q~eY_Xssn%?&+ex}5|7^81x2alb-o?CwLK*naQ*8Kg`O;8nlW1(kj z-Wb-+;|mQqo_L4lH@?|oe1L@j`{a>Iqo}>4X`~Kf`NJJ{RxjCph_aB;ik>#E~Sd&l`xw}(0%ET`!C*(9&-9eO*1 zRV+c5>^nA~YHnV>YhL4UZ(aYHZ)dm2Ye~XI@DD<(=x@@8UY|Vn>N2`4IR@$Og zZqc{3f8b|QjX59J)yEIy;4!iYGSxn}mHd5SCDgzBg-t2sI_SNCc_78b$074e9r!y@e8Xf1+zt zz0h4%5A9tadgbQ&qK&-I5$~R`o}urgW6zgQ&&O9)^(mK5A-MX_pW$e)4u<`d2FhjP+Zmd*puIQ-YHrLT2;7vBkWUM}ueyZDeSA5_(aNNZ}Mx5#<^F(2tj^YGcJRzglcPwpHB!9qX=eKIgCzgV(1GEzp*`woY>yKuLVj2E zcZ!?p1FUD9wR4L1Q;3`nKb%#gVfc`|WsAR#&f7iCW^&*4-ud);KDxVWD|Gy$AcOZs z)+_!x|67A$7!se z-&Lv6on60$&kU56j@?LImS;?X6qeil{Nf4H__@3J0_G=)oVh0;qOyxKH;$& zmDM2UAM%A@lGuEGC`_jHN&v@rC+oyJ_d3Inckee(e2soZe>WddS3R^z{qS++vA_Hd zd=z^??0&5zt^Ei0ib^_pjIf8x^j9_QGM;fNTU5gDY&O7$-Pm(jAL}aH-%qi0ZTZB# z7-qAZ#rA!%W#+8UprE+gvFiOG`&yst`~c5ae@_Z%hmTa9cNv5rC3b8C55(RBdg4J6 z`YEB{=a5O;$ZwEfXSy_XxZaLGWAMy}4NcAa6e{b>@y;W4dy@EN#Q4SYv@8F8^VMf% zByjYj8lMS{IG63r`m6}wc{F|6odU1k`$cRU@iLR_YaX4h%4dD}UGh%E!DIiu^(Hnj z?i%qI`=N5gam-^6t)F6i^{3h8%${*bQ0V@i3zGtfkfTo=bJg#X_w}rwdi=zPRD7;p zm*IoF>56wU8%wt6rgr1ERDZ|$@u#d=E!Q98dFInyzCLV>lyf+#m%FZf_!oW#LZV1P z*m;U0Uwzs1w&LGmH%wP;|LWhFR0ePH{zZWSD&bFog?i1Vf4H5Gy^pTZJs$*WY=|}g z#n*tw)yGN#m-xZnJU(3~pLvZ#@>uAv!VZx@AAP=E3S!)^a^;`*uk}G-!oRBGvB7md z{mY{^tuwYZw@xHSTmI+zkf4E&xAjRll!ve0wy>VGU)bKc4&M7?4-sk8T3OwkeM9T? zu?mtB`$Ik9ZNge3zU#tK2z4meWakIyUX+^syI7nv+}l;JAZxkkD^D``)UNXZaKGk0 zdU1_!df9vH%>-qeKM(xu*N`N0?0e-yrP1GA1qO?Kp2h2WbH@5y>x>XL$x|nmPv8p^ zp$|~`G>qUV=4~vl9LhU={MV2-GzDi8hXY`w(an_QaSo0UB8n40&%X{d4E3VS)a)eqxyGs zPVeYvrlNkQvwmvAY}z>fwO~!FOS8-!?1od z>T<{X=G0+Wl48p6W7YX}d;hYB@SrRBhn&nfdcv?pqv`u!e2>HU&-3WgT>CCGbL|%v zCB8*XW;xYvbiEMP7E<5*Dh^Q3$<}#d&+~{nVzgXOV9g^yj~iA!RLA(hsmrvPw)Q&2!?wF HfXV;>XfSMo literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005704_0001.dat.gz b/examples/data/lma/WTLMA_231224_005704_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..77f65070ead7e656f4e86345cadc8257c37319f9 GIT binary patch literal 1067 zcmV+`1l0Q@yZ{s!)z3W%ZrGOLIGDV4^WE2IQF1jh;1V%PRa;m{d zv?HuUrlg#Y{q-GEYelmbDRd_2yt;F z39k3egEXMGfIPG+Z7(E72P<8O)=zyWZF?(Ug$;h!+LV>TsiBan#g8YoXs5MSQ_S&f z0dX9rB+b)|z$_wBm{FQiMj+3UkdWc`Tg(nw6-ZFpN~qvUyjIP=fwICs+K$)iY6+9C z4FdB#{_3Q#jK*iuqfK-t4jI#)e$&gIl=0B-)WZiRE;e61+LBFv6|U`_QE)MnN#Bs@eVeKfeJM^ z(4Zvv(#->v+G^8$uS``=L7`kzz%oqAGwikUJ(gqAU|-5wyg6N_@Sue$H%2~BkyEiL z9v$Y!;Vs}Zz@Me4HT>|yYI4R{jBBbZXUcP)U~K{NoMH<2KvRe@a)5OQu&RYR#!7e` zXY_!@^C-_^kHyk3W20CX02kG6SE*xO5l?xCg-m$l-HI+DJY@MO)-}Mjd@1YW9OHzu z?7%CFars7Fj#-$D^SS}J(b~#qS+_r6F&=Z8_j=_t&zQ$b$wzvvP%mwyI^vb`I7@o% zSxi{m>-7QF8er|s^D|b)qcrJrObKJ8t0T`o!de0>aa|ts$~mE&W(U1!j^f2mdrCvx zU&gR50q%6Y-5#$AN_ay0IwrWjI=yn#G8)CYN4=czM_7!ejPzJB%X9x0A!=C|qh9m><~;KywWK>C)G;TWzt-(Y*a9N>&w^mLqYdxBqC zc;NgO4h(U|t$8}1aa*3wXWWvf_WZsRr(efL+)O93aaWs(v_$tVgqU362x4vcJy56MrE^Z${8UuE>5_^69yH! zo&zNTjRJl>`l~1vWC+@-d=B4a3tvqSf zj_}ddzPeWp=q(@*UFW735~D{;oypcseXC4+qh6#L{i$`67d1`|nW|g-cwEYMQtEnw zIiAfS41<`&X`B$4QbL1-v6yiJX%Yp548PxEcE~D2g31)K9k=`T6&<{mSzA1*!N199as286 zu3-slSimLR!Odt@)NcOz1RSuOV05|fG>dzxjmq~KuFdSBn416gva#}VtHvSX4Qvnt z1!{1h!N}-aHxCr`RyWnp$`ttoYLsgNScY+ahF4v?E0$wi;WbyKe6_kv;9kon-!$rJ zf}FBV_FyqL7HJwhE z2$QJSo`-~oyjvwnluW|6K9m>(|;QclQApI!F@Exu>H{f`+7~uFV`s+A; zdxBe8c;F0i>^e?KfYzizgieJaj^CQU&c|;{FCP#9G1l4fAxC`tmh|Hs@p*^ix1%2i zl}XS|7AH-PaQs&E>rCw?*zpm^I{R(-X}v;rgyXm1r+iLu{Pz0wMfhN9TyLBH{^udzAK+E{3#muHJm zo8O#N4UTm>yld84$zxaUO4+Vhgs5 zq%fdvjJVV$x4v5ty^( z$tODOjZ>_`D^|{c9^1ZFmf+a-MK2C!D{}O3i84KNHpb*@ahz~*;tCkO?EmK;Q5NJU zAL;Unr=CEGl}d{ddbggPk6*rCITyrKnVx(id|mE)UWvJ{(}|Wzm# Itr!CU05W;W+yDRo literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005706_0001.dat.gz b/examples/data/lma/WTLMA_231224_005706_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..214caa611cf31ed185a5915a0606a84dee47c5ad GIT binary patch literal 17275 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 RvA4I+uhm|v?CSn~{{s@I#ozz{ literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005711_0001.dat.gz b/examples/data/lma/WTLMA_231224_005711_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..29ce101f4928e9fe614e7c2e6408b0e53710a17a GIT binary patch literal 5834 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 Ud)SqASnn?W51#wcAXzd10CK*WoB#j- literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005712_0001.dat.gz b/examples/data/lma/WTLMA_231224_005712_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..57db48bc9d5b6f8cd881eb39d403f81705074f66 GIT binary patch literal 1289 zcmV+k1@`(MiwFP!000001C>_MZlgF9edjCg%SvgL5MwZgXth$hqn)mlR#B&`_Gu#* zoD>b%U7NJi`TD&!6NV;K)#Skj=W=}Rxjwd6)$XxXmD<6TczSaE(irgyLW%nIyDXs; ztq7Lx%~lqkjNTd1EMWeq8#%8Vu@PlcDfcvg==zN~M9)f~gvJr23Cvm`gz<>N%t8dS z-6%w@i}_0%?w;^t1u4w*Xqb_rZYvx{K83VamK(=&{v?f+#k`wxPRN|`6YlVgL6ueu zh)5VEA-f6ws%i-Zg0`|;z!%ZNCs_cEA<7nvFQUw+5q!caz_!A);3h`^I>%`+ju0P5 zgX?|sAPwj(AP=od+Y5=&!AcjR^;6$T+uq7=!Ulh8ZOTgF)KEy(;>VL(w9{IvDdu># zfH)3QlICefU>1=m%qUGMBamlFNXYQ}EoO(T3M43PB~)-FzE#b>fwICs+K$)iY6+9C z4FdB#{_3Q#jK*iuqfKC?2 z*06+2xQE-|s#1P_bpj4pPO!S(cbcU=RU^xNforpPtY-GVy)aH*=F~Vu`~(}sK!q9{ zXiyS->E?k-ZMA8BRHiDYpir(UU>PRm8TMNF9?LOlurFmTUY#yec+kR>8zY~m$f?*A zj}CL=@D}hH;O|n@8s7Y{nw&8fM+CZZrab2f))pYoDW-rAG=&%=2UvFit6Hd2tc1sL zMh{p#kMb<`SS$@QHi~rta8d1cl{)1W@sxL1$b?6XlLXKugoi92#kvN#mM>*}nq!=B zmK}IyF)rVz%P|X+ab7n7H(FcyEbI0S7UMCed9PPa^Ne|{l)R_c3iZ-PsuNx*kF%uL zp2dX4yzLsB>h#J{%V-qq9`$mp$A?pBK{2%&QJ96zI0pq(2y^cn(VE2V6pl6f>9gX)6s&B-AH4! z>C9>M-r(Udh2N&|`+C0KG=EHg>`oab_4{%5rCr3Er_WMvD+Ua~HTT>OVbr+)ko|N>CY=r#^ zc;Ao)C%V5}u2(nL7k8ii&1m5-MKJm2*4=&F(OZhwGk=WwGxX;HIyk=nrBhf>%8NT3 zcHrF|t2>VIZo$HQi=@L0+t{^vNVkx>hJ_I}-v*ZtR8O^dva{g){M>H~fDgg{iPj=C z;tBu&ABzY80000000TwP%W(uT2n5jkMnM8gHGh$hgV^v5GvoD5DxpUMnVT|1N;R{H z_J$IZ3VI8aRb5ZOh$vj0Gv*{5Q%h4z_~ehj=yuePBO=E!c0-m!*AXs50IBPY&XSj7 zHP6a2PW?NlO3IInBi!W;wEg87G;LG3;;^rXn@f(%!Q)KB?ykb+lyq;v$0_S}m(7D? zyv-(0t`qFz#5YeM1Cn{?sq6}$hL>Zg^jXq;&a~un??-oG{+;U=Tqa?x}%-0lvYuvtM+Ol z7n~Fg;4UWp*k8ZLrlGWPwVGU*j~pJq=e3XRRk^$GnzGr!g?xCh*Jazv7m$stUj9`D z6ta`S(mt8ez(cEdt*jR?zt^>zSGC;8qAnYIH^1wz8+nMH6+j7P5v4KAIv|9Lh{4Q2 z1hbtNQR#gC)P=hT{J4PxX4)IpDp_?UzD7N{GDZ~}t8@OKTBGuL-{qW;ITuIT;SqyM z-7Fv?VHAh_D)_Uk6yyl)RIz~XvV*TG2g)Ey7hEi&%%u^0#V){fvhBcjjsQBxZZM7z z7srCjeSN1|&|5$qx+%grU znEb2}EV59k561{=jd zi5?teP!fFa`+>6A>b8CznX;HdgLX{;hhb8j;8i#7io-Ff@mi=#zF1$TaHnNkY+Cg= zMNRo8zqibdO#gj1QUe+1FS-IPl&9SaXB%)`b5)pAhV!$dPBIKEubqR2(o{H)? zM-~g79(1J)r*G8fn1-=m*A>8()eZpD;tX=VZWThfX;vvU`a8CMh6zONICBPEr<*}|z5GrVT@QY?>9<$z4 z8shrmW1R!s=xVz?o)eUam<;0>EnWYDx1mPxC+cSZx0x?!8ILAur?dj zwz}<$)98JRo5K`-o5Gj%e7&iEpT4e8PHvC)mni@lT0zF|aL%~~+soyM<1f))=lIJL z+|0raXT*sZx05ZzVTi)mz8rJ>rTOc6{AKCaLv0~h&g()p=J-p}$2rpTj^i&!uO5od zq|P4_X8Z%kUyA;`n9EC8j#~)F9Df;l^AgD6G~`YX{lM{;;Qx#}390zN@t2>UlQ>Rl z=MU|DzEE9T=CHK~qT!qr4;5KU^AqsAp<3+d_I$ZsU0t5td~+wGg*z0%H_OV-U zAzx11HtP1!w+(c(egB|SSWk+x8+>iy{TZv@j`3{4!)%M9!xUR)+bpD8NNmHy2%G28 z;RD@kI(s5vS#WxK>J|pTo8Uj$C_^jc3IG5fiwFP!0000018rK{m0Yok{huf*fqRw! z38Z-D1~K8!282$v%JxUwUM^bVu^*^E(nX#*NqDX~KOfMJUS?nLf?Z)GW{_w-d z0nyLB#_AL2%Q$Q#ORVDHw+@^Fe_Ql4iGxI7e)PJRY7?`}GY!+#k=cE(F_gP{oHkYl zKw?&Wu`7;|*KF6TqeQ)rb1%as{nIjRJYz(FmR~$S_H{25Y^+)Nk;c8ZiqlX4_N<7i zJksMr)Bj;T>&g#)S+9C&mpPlAx=*$!Pp5{1P}E)Jz1RP~aaLcVW1mL`HIY*<8AzRf zT6IdsLAo`|_BTHZy=G{jinGv7bH_m!D{I_qEq%oDJU!EN#hGo6?kS8s^BCN!Uih=M z>E9md$3ZO4BYCfW$3Z@9?KtQjLn~ICi7trjPE5-qITuUwdVll0a1n{(djAM9v7Grb z>g?@{dNDGaa~j7QQLi`8tC0`5?m3k{I{LEmgCRB2n6J6&JXyf&Jcz^SU|Ty*!({gP z6^G)}iqbvYBaZZwpFeSo2WF%4Y-343aXftz=jpR>W3ITD{ORY_01l|M?l{wg-Z(Z| z3-l6vt7mZbvtLwy?lnYun^kvo-qLmA0De~Dk6@x^0#CN%eXr4(P_>;Oz{Kiy;?Qg{ z-a~cZu{|c4XFK`%6K8g7vg_U*t?8{7V=(;F zgV8_H0h#CjP|Vj?9C92RL*9A;fGQ5qvUAkE4SxDQ&kVkxzx5&@pbo2hVPfRWm-a;~ z&~(u>pl2f^y^c{-rp@;n4e zU$*KzkXQ(sIPZO!b&qfv=X<`O>V*0_{e#J_IDG+gV@`o+ngD-v=EWC``GyQE-T@%W z;ZvJk)JG5V-d5&^9@iAWjdtH_q4Nso0S`n6$1oS*T5lKNn?9U6p|x|K?>InKpv&ej zWTZn=Rvb+H2t4d)0H9pPNgd92oHe{_>O4Ti)!ur60wS$raSEtC7j)^v1wjIVI;nWa zpzcrIaT_3q_j3oX_N>=zM`!AH9H^XLybR(%g$|DOIa2T{TXHLOF9I6Lt>!|IEKYHs8L5l#MlTTT! z`4x5?xB-e*ht5=FHsfp=?Yunx#4*ya0sRKO^sT&zH+OmvV_?;1>W}orf7RJkA3JiMWR^{?mTu3;KtryuRBVYQ=Hi z6y*WO(wX<=1NSo*aG>kV*I=L{ojmv99Uc7MCHV{eyy5jPpGwGt(qq6eU7JJ5Gb%c>SqP6~86s0vM9Ir6q0Lei{9OD9euifv}XXJa>xm z#y{($iO-gPaNTi+&uQTyu7RSR{#n|>PE5>T3e{G+<>FJwF@T;PUIr8QqgRLd6ni=V z`A^SA4*C1zn_wK_caC1g|CdpDMvvlnfrpOIE6>yU;KoYnEB1NNhJ*C<4@wX$ z3LiF8Xn=SAIT!E`Zr}I4e1k)8|A>N4qMwIp2H5^Wu6+v>1^z4SY{r?ORy+L+SqE74 zI53#2bVB$_`#BHjleE>Gc9-HuXM(;g^&udw{LaYoU%D5i0??P@uy!=i#F9W$6yqwk^X}Ozx>&_DX0?`g& zP}cq83s^Hm(HP_3FA|r|xjM@b&={YL>*_(th`QzEI``uYLRuobD_>g$)8Uc^9J+ zlsa4zhW5Vh>pWB72#sowgoKfu{E%--{a%pK)ju=!&&3yDI)dWaIEHkfY0g~04a!Jg zU{X4vzxDb$k2Y$??M?x(QUA?MuiVAn*)E`3rzC#ogdVT`mI+1P!q1Gbe;Nh%9*dh)j{k(G+B$pn=FAi4LBG~~ z?KSirhX-bJ?7ACwIIfp>tmi%oeJDAgd%d-B_3an{ClpwlkpyC*Rwr60ZkyeFT!&ZMlD zWFN{MXZqHVOGo+B>*+%QKnMHzvrp!yB~165cg){jSa|zoBxlrql?i5Ne_PQiZflj)jOlVJ=r*X;VP=-JBZENYlVOR z(a)~5KzP+Zpc$%tCi>ae^*!p2{t4y5xgM39cP1d1`m8P~-wdCzx{i@$(=Fzs4<_3#^Z&NC_Xj|;rq&;QYx z-{;|wQl;x0V!zGo%+Eg&K{6W7F+&JfDEpYF`(CtvByL z9yWlEl&=In8ofM7Gi@!LY7n45q~tsGrRSk**@bfHOo_+lIuAj9#5)n$s&_`p^IUic zToB*X?(=}Xpe?EohYP#-7=%a?``L@Ozy1p?0*zzkzd%8w9Xy0uvA7MS*37v8@QhdY ze)XYAH>rE6KkK){%fPf5Fai5+NyshZ%*3Csdl{q?>7EM^$DsDkh1;Q67sB$E?j7K$#q@7>?`n$V|Idww(aozz<|4eRkiZ>$q1e_rC+ zk4?ZT7`=Qq`ghrx3->=!9{+KO>>tW>|LoQM2Na5C~duwajrZsM=N>Hqv$7kKJOqAXT>(cT9bMQ@h>DdUjUx* zyL`d)m(JRcG2#Qs!nV!UYHvKgeC1ahe|=xuFLyVGW1T)^G?4pKG{9O_uh!oAdU+X! z*=^RoR~H}KQ!gY-HGh5s{(|23O8VhJH_YIc;xAyb0-(|keBln&k=**bu z!bA1RICC1WpkX7s>z3_zH0I)t1H!P<8(w!X?Pb4&BS++{@S5*S!E0bl$&w g*U{U-XM6`sUkO81dx@FvmBpw34|>L&6&NP~0Eh~~g8%>k literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005714_0001.dat.gz b/examples/data/lma/WTLMA_231224_005714_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..29f06747f582156f289ddafcf9e25cfb01d4f212 GIT binary patch literal 10995 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 literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005718_0001.dat.gz b/examples/data/lma/WTLMA_231224_005718_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..fe6cf32f9ff92eb2e455390d80209ef3b44484ec GIT binary patch literal 21384 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�?;b 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 Y$d6^}+gP6Dmk09y0V)@`n0Vd*0I#V>JOBUy literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005719_0001.dat.gz b/examples/data/lma/WTLMA_231224_005719_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..4364dec4e6e01b6c6737e7e4b4b0eff376e130fa GIT binary patch literal 1069 zcmV+|1k(E-iwFP!000001C>@yZ{s!)z3W%ZrGOLIGDV4^XcPsUF1jh;1V%PRa;m{d zv?HuUrlg#Y{q-G6YeloSo zHZoZHH&;4%vSw#xy@2_nsnxuy%RkxO>8nHKZ^zqhVIbswr_8`Q*wuRct)Z`IE9v<@0XJIU#e#kGR7#29-uH zAR=LugzP5xqpTF<2->J(0bgVTpHvPshA3MwzM!m4Blv_||5tv0J3NuPm$_R)o2?-f~zs2m3RgMIeE2R#usELi?LbOAT8 zf;BAR67JzPxGHr!zdiy7EGIZq?K{oVo~l*FKF770KbAB1&t6(DFY{^~BHqCUF;Jog z2O5+FU%Gjq)LUcg@0BTwDQJ{y3Rs3oafZFoZI9)c)YuoQl5bv@DLfcyi;Y#!Q{> z&gcP)i%4W~i^b9~W20CX02k$MSL$P45l?xCg-m$FI7t9qLU_o;DAqN=wR$P4;~e9J zv+Teti*flzU5;6pjPtqyxG~15XH_*nU@;zZDtf&H6&Y)>Qu2{rE7Z$arH^=}JkF9{ zdlnNG_j-MRwFX$X=J^>b<58OQIi`d$($$e?A7L#4mbfmDc?nJ^r`bU-Dp0)GYfov2 z`^y;CCBU7jw%g-1K?zStU&jR3SErXiEu&Gad(_Jde}u(o%1DnDGa=fy2vI{aj&+N5 zRLZGa^D+>v-Ni7kgdTXYh_r8*usG7I^`+m^hlYG9^PsbUz)*hqn8Tx*J z4vz1?=@izJ;^Gd6J$QG=>W*W)Td+`Uk#v}08~av-bPK6(SQugRI=FnGdb+`rodoCS n=k2xt_z?UHunY^N;tBu&ABzY80000000RR60000000000to;9* literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005720_0001.dat.gz b/examples/data/lma/WTLMA_231224_005720_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..404dac6e320db633f513f96c262d8d184de7e53f GIT binary patch literal 23502 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 literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005722_0001.dat.gz b/examples/data/lma/WTLMA_231224_005722_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..3f754b73efe3607ddceb7f27649dd3b986939aa8 GIT binary patch literal 1188 zcmV;V1Y7$biwFP!000001C>@?Z=*OAedkx)mzB~gA;w?~(Q2i1M>}09siIC-?bAjs zI4K&iyO{K2e*IpX38jT9nmpLxT#nB@_Ob7(*grI?PQ>sq{mP@;VOA#=z@ zBfO=3GlhZ2TJLL7EnxnjD>*MKu@!k$DElZ?3U?)caI>%`+ju00| zy{kiYFKf^{KptAH3Z^|&093j17^;??Rhg?laPd|S(>DRRoT z*@MO0TD%2(1^7D`rG|GuTusgx3j+e}a>hL65w0yjno>*wA7~6AM)t670am3@L#&90 zVM32sJPpz$bXY9*6E=!<0dP_5_k|kr3V6(0EM&q1#z_R|62g6!j$&N_T*>FW9Of8C zoFzwINr>AwXmd>bXq?wIz_r#!KFP9qhsAivY1-+P(llWXD<+@mwL-mgE!BWm%)=z= zv}YkidD}FXtk%* z$Mak{Brm%H6?Pf)@m(ye2J`>WL}MJnNp>H~P6JnmffXuZSLbv4FTYOgJ6r<$P(6^u8gV3pF_y=fG_H_JUDcJk!yFmD$R= z)^%%6qYpJ+4paDT3cqjWn{D;S^ydlX=(h0VHU%JE%SnF>_nd36y;}Bg#x45mIOFyN zx3loVd51%-Ia?g-59s5JTl3fXjN9@AAKIF{k27w`ahwl)-rh%;`*lRC#A z^BT9|Nj_K+y~i21;7LAV`~hd&ekb|3f0o`_Hg%D~&K5*nofLJBtc3XvSZ~N0C%U^_ zZdTV<7q?$sWwdZb5lsHMv9*uAdUNr5=B`n9hrV5)z3cm5I)%+7zqrL=3*OdP?RAW` z1@qG#lJ*m9L))f4-9c;{<_Flk^okEuPc`;t_s-AH-LU}p;QbFceF^U33IG5fiwFP! z0000013k>a4Z}bPMA3VymL(RM$LQ){M;f9D6|;$XXw0000< C*g`P? literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005723_0001.dat.gz b/examples/data/lma/WTLMA_231224_005723_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..5bf25e5ccd8c0e68866f9d761b34186150d8c560 GIT binary patch literal 17486 zcmX_{`#%%z`^O!UL=F*^Q#z0o6>{DxmE=@Z$T_D_jyVk5975$x&SRx_&c~dY&G~Gr z943ct4zn^0!|dqOCqovrN1n)}P7X>6J30*O3IP&Ox{ykRsj*+d`kXYkH|4C$pFyOCD+7+`LdsWw^ ziQLE@<*ty5jV`kkuGi5M&N2$B!iF`%d!4@B>s+ARlDgQm(+0K$_Q8-fyEh%u?Bey6 zP}kYw*Z$r^!4r#v6OV!$Ml{sNwtG)5X`j63cK*`!(svJ(U1I`xZ1eBEOG4pYLWZsw z#mr_`;<>kmK?)tJ90u7S+4paTP+WtzPd(XppJEE>YrU zrogo1xzW=lQ6i?dlhQ9#*+m6^%MYr$HxMwAVsrDW?b(Q{s>Pr9>s7f_N7%^MXwVa7 zx70Y(i^PnJQK||zmuyAJ#|e*sQd6Lmfb*d6m8^l*NH4hS*-I{tST5{<4g0^!P5!H@ zuEXE&)F!zr(`;f8rP#B3H>-WoVFG7Lhd&#n3Z(LP;<{(KUL!!}^_Ir>Z?0TEM*6Sz zt0}(s1$ULdLlJf4qD#g%qfVRnrGE2>f%EfDcWs=we9fBX3Tp)(xZRD{Rcu9ucix=L zI9k8?SWSs_M$$7TlUrrgb`^iQ_`$`b;Mm~F*)?gZ{>gF5%UtW86omFA&IxfedUpr; z){ZfghH+Onu%UECGWTPi*v(J;jA>d}Yu0?@XYM0>O-@+-!2Kx7SF+#@dv2X6O#HjQ z}*EYw?ClcVR zrcPnPSUM#V3ufmU{&zXz&C{14v;BzL{55}5qBM^ zj=d|BdD~KwPdvz|IF;Vi$6Jhzw9LbxVO!UAZ*p{696oHNYJR|*wQSULG;{%O){P>j zt6MpIHOtHt4AI(eOC5mwR%SV+=R)+PW}xCIa(3pR-0*a4|KuuO^Qg$96@rpcW{{Ir z-qtVwc-G! zKzjBzw!Y{Q7*~;i1uS1Y4(TFR{c;eIYW_AF?mcK`b3Q>z82`*kXJ)KveSXf74~5@9 z<79siE(HlxY?Cthz*#YZhRoVZ)-rjg9BLAR++HWG2lbeholo%Gp;VD(;e`SBYA}y; zPttr`0ucYA+6kEu)wxe>BtbT&{VVnz9)EjV?KxFJ0(?#|*?6E9ut^JD^qg34#_-ui z6h{0uMpiE3E7x390xhsAo>Lk|+k2*0qKChfB<6LsL%i(KY{u_EJaC_X!26($*6jbR zw`TKG^I8!5T073r$6dQ77$J6nAV{wDAR zMz7SyB5!AKxy2(u!e&UayB&Dgw({EX1fG<%ENCEeU{;*)O@yi!%bal1n+`M+=y-+C zdT_?Y+Ql++x5i};}R zcF(L;1s;b?t-BnOi+&|#%g{Orz(xFGOT}z&+dAT2a{D@lsP@9R5g6jQ+ZS!;zdiC? zPh|dkD(Z3T*8Idk@(CE19>Tg~zx3mrPg@ecO8Bu**Cd+`H!+VBtI}J)vOl_ay<0Vr z!Q;)YA-49fv!D)v&g6aJ4(>`1W)gI^&_k9fbf`-120e>&r-XlQ@*%cTMmMg^0|2(` z7Mn%^pE1~Qo>a}dHTUr)zy+lZ-cb$0%~E* zYo3P2kp{AYFR-1LufeHns}_kk+J2;zkb&v_KO*Z$iil9<5@>$neAgD?#zCT*4rolb zCL-N#U1T$B$)CU%U_aS=<={G$L5vqnO>JQcXU>}tK)Hho%-FhzA~GS6W9DK0+8lfz zb};Ld)s~ zMAUJ+=Sh-yHZHMRn|n}_VXwxVkUXz6_~gwsf;t|4+%D}IwB+v>d-Wz)8feeH&L{<{ zxU1wZIKT5L;$zuEZdr8adl;6o^@z3-cFK|rMrG$q9}zkmDi8aCTuC}2?xxLsM|I)l zy2YUU1!nA?sJ6J#iJ$Oo!n-HV?(Kt4;v8h0Y-~V=Jh=`Nqi&Hqi_;diD~N7B0lYBA z7x-C5QTVgLhmfXE3j==7pjVFCv6-i&{7rrl`2|A^c13UB89TC1I$iW%z`RavghAz4 zo`KxTaA}?NvFLuzF88<|h-=R&5XI5k_3!de9#ZNu4jo*)*8BRgPuYWb60zO4Q%ZeW zeYBl*Q>sosrI$U`%Jrm*9Au4XchvEBgjmpBxqcw!2qXm(fE*A-LXr(Scdng~LiB_2 z??WvKWBMQ07O%=dhZ7(a_03(yr#j@}hzE!y=1mQ~n5e~;GPa8_Z=hr3``G)}GfY#? zd+4ck#a7S+1I^`bPj1hNsLuE0jR6cZ{e!>;nSUN`Jb2P2sE3#JiyS(m}aI@Dy-7YIee3Vltu+D~u=1o)laD>sVh~HaE?mYgZ?63M&b1#VF2baQibxAkvk0C<)^kI`OIMwk0 zT>BJ|nHiLkCW8t+)dV!2uw*Bzg+IDL+JuO51>a*KgR;shmrBYN^ck6baw&Gg>o=^# zNFDwb=T*7>xb4T0vSf^s#RBf2R=5z~WCFy0q*18xE~lVR>MfH|!mu^J`Q*;38M6se zOj-H8q7yj7@f(fHp?^7JlAM=L{23|(HOQh&b>ngW=FSFUv)LkSTs z<~_-@;(lxhCD4Q6^&V6wo~=RY&nCkLz_yVr{ zHwN#`85?D{6QQ|4EFH9=IbiO~v8MDE*w-V5^mYsJQ8Hzmw|epNAsrvd zf;LK=&Pk7L?1vnt63#j1YG`VQpm?sYh*+%J9sIH4OyX4kB3yr^Nlr29!5dX2hrLA8 zHz&dI)1&+W@WUjvSD&qE+QPGllIqeMI{yV|tvA!V^UtfcPOFEVu@@Gy_4d#@J4X1$ zF82Yis22?IVGa0r>_(Ra?=^Wb*fAoxmfyQMVlTdf)W>;+3=N&QwwFLP$hRu~ zt@)jc#^aB{>-sSgN35q-&V|!jxwh4u6JM(!^3NW)YOUHC@rHZ$L3Z>0;!Yi0zvNN5 z>*zKrKXP~-xykoQ6#6EU_uU%(vNuLTBVkXQbH;Lr@k?Gi)JB-8+E<}h+gb{$T!?Ds zm@3{l74}O#nk1t{vN0=i{w;EP@#Iex#QR^evd;LoP~VSzU-GmV zoA4}ZAB!Us(6m3AD?*a)X6Sd(*f9TK<#ib*D|zs=xvBALBCOqCLv#H!%j}8H=;nPZ z7K>1yehU-&J3LTDZ<^ONPXpq~Ub;Xrg8p=cIxk6cWy1B6UZk*XtNeyIW7S;th^VmX#!M6x7$-Pv@~S9gKJaXp8MBst%W(w%JfQ|Zj>3ajakxYp@4qQHC2X&%wU%fXyhYhrU|5`(%U7`(N)&M(9q}!{6wJabAeP zCe0z60w(?tL0`jhvkiTNG90a%)(BpbytjU8By>MPu9%PW*T2z<$c2H2PfQ-fke=0m zH@B|Ip~M4kk)pe9)?5tcC*ZtVH~W+=a30rtCme)*`;*wp2S1ik-n90%ol6-rbQ9rC za|eiHU4;utK>gwgZk^w2rEm0n>1n)^n$_lg_cl&xP2DX?Voa1o{~e~Sh5PDZPTE^= z9NMz$s5YMIKxD|wR0FUSH;HGv=;C)0lJ_KP1r4XT6-FB5bZWnC?;uvVth603x$sMoZ*ynl$B6bZqTm`GPouTE3ppr0;-gplUd!Rfm2J3reEIZ60SR#p#o_PS!@9Qxfe zuZCT_tv|^5VW3_Sv3?q%mgEsB#g)&j<-vyR^KUcD2Y(6?IdNKwzB5}?p0qVbsewFF z&7RVg(Q~<#au1+KNrOnab&s zn+1E?`!BWHnY*NIGKK6nTfh0T6xMQ>yVQ{p>DQ^8tEU++>Fok_HZi2S!J78!6CnVn zu;n?xM4=<2SG@vRR5i)BMDhsE%hYldDZ=O3-`7(snOT578*o~~D_Dr<*^d1{?F_U< zJuREde-ivo89OhC{7vQZ&YtN z1N*o;i5nsTp9U71%9mjJhvg`zz(C`#_t>9=PEtqTf17yB!91E+=21W+5NboeLAHQ~ zZi{O)N*x_6uvV@jlBr&tvai5@8Dv-FcFwV&Na;@4i=6o@&!ew$)_S+s;>4ZVN2}wO zlPl#0Uj@R##aV#{`jv(lcAr4z+YA@blh5(ZFSg!nwN!!jmN>k$aM>+>_HDk>gyb9b9Y8J+N2d( zlW@!~gGfpwe$5p=KvS3FwH_EX%N=RnXqU3G)CG2h8b-6qV_}qbwBV2A`}T*b_3HyF zL)BNnC;SJ(l$U;t$)=AovsS|*4kAc?UfHy zEN1?P*UZZO9CDR}MP0xZi)rZC|1eioDn#gx=AXT+WM=UPj0%%NOpa62Zp$}>fjuQk z0)pYpCo6`o<4*et_h;UO@Zz6+4pdC|n;seVoL}4L%$^g3+W1)i2#=%1BA^2*A9pHP zd08Qaru&dRA=iAq?X_O$JA@%bWf{kqL5mZ}Ir!RhZKP~!P1+&;U z${v;D@op+}I%hhghZZFN{Qma$!ro)@C?zym=jCiw=SAPjGu74r}hw# zJc05>{l($PG>XXi1BcytF|9MT#{CAZzE@Zu+S`s?%aQrEsK_ApHmpVW9tMG>Mui7* zoEv5I`Bzz~2J;>H0CB>h9tpB28Td4lDz0c%fdsa0noR_G=|FA;9j=SmX?~=71w`tF zl?JItKJTc%CSSw-1KY{ zpEpNz=&*!vg2Sv3?|z!Prr()2qr4cb(e>rae%(>IuV2_XDAr%M4_$P~%d3Ht4uE6sNt2{|L%V`SJPkisu7JD=Ku`h?Lu== zrrZ6&#B+5r5Y+R{ezJ0GvdyC$%zG6Pd1vBiO*|~?Y&LJ>WWrDqh-x3d#j+u@fk+{7PzdWV{ z7no9ul8ILL!7uC9mN3RRwUOInWGshERG2%H;c%(8mGXWta|5%(z-BO!jyh4dl>fDD zHSaie+{^2!RODI`r}c*?AMV3#|9~uPEj$rHI4~e1=4%IsXz*t4>WY{ZE>Sjpn z#q<);tq&Hb{2ua}K|rgC%-Qd?rJF<8^n_cQctN$72ML1u;bFh!Kl_K_mp~t~eK{@) zYG%_D1*$7s>BzNnS4Fs9f2<#J_zyk%h5|O*ygMUu zzH|+aURhp{kNil3a<>aV&wXuhOh03jIF~B{xys)~+pUcCYYC41~JS+E?ob8})xxMBCM{UHAaDPAf+U<{N8? zuWb=Gc88eN7Zsj5Mz-b#s6y~rCFH=N$!V6ialBpoQkfDkzUzqI5+d|8X_fwrWjO(O zUTmShwNXL7&l2W(@87o+`UV_=>YXtn>(x!ZsGWq&u%`IUikX2NeG}6OcK^d_VkR8Z zkFI>h;t)((r&aIPQ(sP!5fUS|;cB81UR*iJo61ZoR87b9)29vmv-5sqjMqWW;nex>n<7;f2Q*^j&tKn{4accK#5|wfvz$={ z=^Hy-xAEn#01b+n>WAxz_7{UaD^U#s;g}iu=YtmuR0CkR#4l?HD|SN<)`|{YDy=>u z3xx0`ksqE_>=}FAeK>8kNtyLhT7DLC#c?u@|9pQ5+bJoueR&MNI~{tiOQsmgb-`9B@XChu~xeYvQQUQL^7*!HVE+`7)e=#)humzY^O?0s~ zZd?KMUiM-;Fhvgw57->l_`U)1YWU2gOJqS~223iCJ4JjNt_|C2Yv-h`NCX|t7B!rd zQyujTAwB`J_3Es=w3dO(zs^e>nwbmbhCw5!|+`~pbkc73$nc%WFTyxKB@h-szhWq#eH$*$f=Ez>)vZN*l=Yu}Ib4tRu`R;Sd)@@z-%gk<$GDefqm`Io(>Q zS<3DA)RVpmJMZRx%J0P<{z@csW%+C75TPL!2b3)Q4~~25*H!LELC|o#nhoKU_Hn@W zfI#JR1?dGsEq*h)s?7xqwx3uAX#@8TzD(*rfEK(N6HjXo_al=K^41gvayv^L`T|==D){ zL1V3ojLKm~!8bE~s zEH4phtM>qmw*qGy2@Fh4Sn}sO*NagCv&I~{Pn|NPFcG!w&v2T_6CxQW&g}xJi_*So z7UWUKV}8YcpB!XgK-DUZpdY7I;Glaj<(q(Yo0SN!L64uD?))lW$hu9$uB~Yi&0V~1 zfK}GrWx11gjNFtyMAYB2>PlAqGDlZ^kv{6wRdl5Yj-!Q+4U*MnY<|HG)t_6`V5)lt zyqvD}+#`yC3g*?Fcv>KUqhogATYh z{0wC7WxCTrStl8>cIQ7S4N#QSUbx#HuI0!|SDn7+Bu#R9hblYncsX(!7%0ieX&Ce7ovFUDMroHpXqr`pc9h0nXWPm&ymOnG{N$@;P+`9SMWq;m+G zD|Ejf+rI1Rd%2#PFM1|0w46FXR3+QcG(} z5s6ZssxhZXa}p&fiBPHO((v~dSmv`+p3Q29{ZXJ73y3W48{Koin=Wt0rCavvfM#nW z6;r$|P*O1S$$9uqrSf2lu8yEhTMWC>;-9b=weg*zJ}A=$D|}>tAXXnWB=r|E?$5|u zmOs336K6d<#v3n_?~~q($cA9$#NeAI=JA&rB4u~^zl3a^juuDD#OGbD#d#BwBMh$Q z*czlT#DnPC4U|dQfj~#v54tNoy%+f(Vd8sJdmK!oWI#_nI5Ed46va~DFKN_;CMjQn zr`|)B?e8tm7lsCG{$)Cx0nX~9(q|M22cGMlnif3zoAjx5$d;k-`TY(3&YK{y1fORaXR~OkRCVB{7noR;=dsV^t9%|?YtD%uP#Ur}4|DW#gneK^_3i4E?O}|%G~9W29))?XulC~1Lm&KQ`^II- zjUZ$BJwdcjwAeo2dr#x58M+s{2&UIk3z+s}nu=>ziHQAxtjh*n+1Cb>4;*l>YCtFq zgnvlvTL9!~f^1^DPHC3_G?tw-Ema zCg>%TH??&Es!+lUn*z%LxLV_25zwOrFRO&_5*A)^MEK|5Po2q=J*UHR25((i5mK}t zlgk)dVO^dvJee4Ff*{(7xlg@SE4xfkhMP>}hUHtsdmes-zS1(sg-xP}*Qd3LgrxN^ z;9P!&%Y$ottueV#w4y+bI4tVyx)YLgcX!?bR|4JLL+Oh?DCL7zELe5HCH6%tAdGTp z>Jv|4oR<$Pqrpnku{#Z2FqF!D_)7MK=m7m%JCOa;(Bnp=xv*fe^?YX#fZ3~4b7^O- z4X|fF6g{Fu`og_h@~_?V_!JkPm^MWE7ur{l_0!jtO*=-T#RQP!gd>W^P;sSsFgN=z zkeJ(+7g;k)u&KyRZTvHL53EHBld%uoF7wl=`!)x9ek!Vq6XVd+E7RI$J^ z5c-1m!6ymw;=GWpNL7ZISIbVmqfW=oOYXFnk-LHoR%QW$q!w5t&xQqr{9J}@`+{Fk~WDd z-f{$g6j|j(cVhTXI>Fk`zynlQo=!U=pmn4Ek(rr`s*S2v-!ZYWi~P(>{LY`5GX0iA zhRJ(L)se0PrThsk94v^~Cx(gFs^c;Fs& zXgmj7gzTn;l<`Aho%^dNW;qu#cw+`_g54xZ80$+M*bObU+KiPW&!OXTH|;xDFQcda z6aF>iqsy8q2~s#h!;u#~7>Lb2%V!^hoPOQq7*hSV15-IP6}hq2yTNw$zqQ20)ptc} zj9ALdaZ;Q$9ukzIlh;eSeqBL++nV1SrzRj`R~Sn7@I6r9v)m6tR-45EI`b zrR%Bc`~26h=s7j2*>s7Kge!{?5<4Qvp8xC>j{A9h?i6WvonRxRRJ6MlQ^@Gmp5mnn z1iftjPdKa=Hx%){E#=b21Pz-ng`;YQ(lU78&sICdQ>&hD)mJ8|vUGwzqyndU))V2j zftB4R>FBAg(mdV*sGBeA2gkl8VehA>aH-hcrYB^n`x2AI2t9LqdOqcn zg?l{Jic&OSC?0ySZ)J#H32WY>xJMYo{q)iUE#r1Sk2n}H zwbh*W-Ga}XH%Kq?e;YMilGvApN8AaZZ&}tb`^(C03+sda3?r6f0#{jn@KlHATVAzH z&BZ5~L=pbMAN`@-x*=fsBTylsQ;+iPx)7qGNewI;y^@%n3kB) z=d*Y&NRzwwYs#r!*zb`~?f!jn^XJ9B(~^5+rvF$h?)fEP4U*J;K0{-}-3B_ap$Br0 z#~NPBf8T*mw0$n}jM(!({~g!Aar)N&$lPs_Q?)n!T=fS~%RG6Ub;Ki^Mv1+7G%V#F zZx62y=syWYWFdC#rra2{IO9$o*wFzmR(X9Q9$vYVkE6VJuiTCgH3yS#$Q!R_a~^X1 z&!Asx0T(lRaW^PRj}8_g+fCY665w}`)BQ9i4ILLHlVZHzTF^$W^s5X|6&!yzmJDpA zCFy~7JsZ+UVDi-fr-0*gJQ|o=i72vI@BkCZE2{{1Ra74Kk$d7>is4h7rc$wy8Fpwz zovSO8Vu(k8>3WR*z-#uX!C@9~<&MvdC&Vs|O&bw@jS83;*qFMe)V@*|JGA;ZV1MUI zGzn8SApd%CF;9xvzYz*OK8T%Kr1u{A;)uNfb|e)pjV3#zU+khd3@gc!!H2#g0h`^a zcgtQ}LY}@o7=kzAEO%ZTvb|bJZwt!zJGc{nw>TjZLmXOUGg^@Q3DNtri=kUti#g=K zrSX7JGNlH(?W~Xx{q48>5-!(|w=7!&Gr-EAHjQ9t`Zhx@XXkJY1yR?Zv@H4P>#Fg| zU9yv1VO@hRk$RFI?9lGaY)EXM%lr9JYiBoJphy7S3BjoWrl*@11Ycp=No&+6+U2Eg z`%(CNY$M<;jf(>eC~1)kSGIVmu=Vx^t56@!K$V%-?NDXKb3rUN^G|3@FHrm8yNj zKe0pm?|2?@W13V>)9}0W)LZv2UeEg7hpL}!@cCvl2U?6@o3g&cy}+ORyMB-j^~{JH zwYLZ4;}^QrD)c;IfhRFdApCYUW~^DGc3I6hxfO8X3YMLIKm)k?WTd zNC6X9=?C3z`w3e_CuY0U5ha{j@5jGMi17Olzb#(&%@_H;6tJeBmr6OW+13xXxNwlx z$}k)JTpE0U(aoXY!vjpxJxrm4X^~MXNP^Hvakx#je03Qcw4rYd{!L71-SP`H7 z>R})XuaZGK*W%1PC-y`YB3|Uk#-h@9x{7`;@tndUf=FALJDSDf12~Jqi?!HDzUD9knhX+z~bb zIk@;X2|6!`BrQ<~bDv*PS@GY>#95)m@;6bOJuSbn`Y3R|ft%jqE|LqN`YqVTp6DBd zd(Zs_dfv%sxA*TCB<8ClN%&I@{yr}71ELQV3egrR4#9eYnpMJj{!>vw_nq1WDAU(H zeXneITr%!iE)1CZ>2ERd6zn)b=~%;5CM4EYYm2}W6ZKCvJRE`6VD%o8^F{oJ7o|f= zQ<18|AzFt3?PB`}e*<;v0XE@b!mDbk%-#oaXDLo~^4AVJVW*0N#u#<&u`}?N+H5|> z=G+bkht7ElZm0i6x;nd)tK#eSk}6wl>GSrK&fWE14&lft`SZTtL6e^A1XB1F!yj^# zD}m1o$O;8lKFMpI36)1Wot)p;(2#S&eRSVWWH$Pj;@m1z$ zMsym>@z2gWT~8cOsM5tCP=VTn(G7j_bLFjp(`yzg)vo|vMO#dc_4 z31;r6D-*WdoroatvpY^2{qBH`(YjYUvPX4-0;fF-)8CPG_2q>R#P-wF?BwJwFbh=W zW*4LFIfa?JEht{J7dc(a5 zqJ$lA{c3pRLO)fg<59|({YDQ^IV>x3{Sk$4Ids`%%Mi8mB+~0^EdfK# zBIFLXS_0_po8T%#<}^)(U+!!8g3RHp-PmyXae8af%V6pk_Bmn$uFpKRon`R-E{|Q? zv{jbU80`;`}12)%P^2Y~m%w=hC)$qeDenkjbU0%P&7p^ntKPZ!0=+>ycpOBe9 zrKUy9)CX}PZ^usfvlrD*)ME-eKhMi+^U_9DSm-8TkIt@+2`KB|1mWA|4~lfT+HIue zLE&7ArkBp%!KbfpE}*(e(^-D{rC7n8)XveZdSI+!LZL+lgQ#{e8~gcGN@cz7>rT>< zc$w)ru&=toy%e3NGC=_c7pLggtbv>anLe{A{P5Z@A+JD!fw}zP>ETu2gei19eKj`t z-SHYs>tcZ8H}W5j{I9jW*pK6`k^U0JA2Q!r!))nhR{y#OaL_8xVg_iS4n-ZO_^Mk zD?^2`l^Y_4cLokr?Z0BAk21#>P)9GzVF-15H1KoOHh4VVh=#?~S z!K^gvaPm5C^}8N>2RnpuW=YwnZ6ClA$B!QZ{%bO$fzCo**~4Fbe-LyMNtaH)(MBK9 zE?~f}*K}_G4&Tk1X9`*2jQRrBjnq51tKApeH0k3PK zBMZ3o{i5Th&&Wp}(=pwQa7_Gq(_SPL7$i$Hn5H@o=UHuUo2Z-9~#1xzf&4$g)$zj>vGvgPbY; z!83=uL)<^?0YGk-(T@i)evV}Om!MS6*3q1$sl5@G)Mo?`l9_F2u1h|%;v)-~O9Awe z5fw?(`%JX)N_~;TuSMX5?|N6T6X+yTD7}RG`%3u@$maDOAEjQ`QlR^N_+)|%p!-j7 z@d!EsC3U^R_HVpbV~53}Ps)#Tnyr^=t-rs^QUeI=KG zr22{T*N*y6-qWLO@f<#_ro1IC0>Rv`+h%Y|_fziB zv{U}eqt+Bpjz=8OXkd+$eMR@)y|gyQ5BZX_yYm6~WQz3?5+8VlKkEVHb$`coQ}4o7 zfg4ES2Ui|_g)+D4X_~^io67Wus-?az;}7kBzy6WK)2XIsakCfAv;Zqwl&k@Qib%uq z-qMRcB>GK5mdpn62EC@9Z;kVqN}HH(sV!C)TxB8gle_G3L#S<(zjXh#Sk! z57Rr~){D|du$(G&>l2RC>oZAhHZ1^=eQr=u@~(7CL78 z%|2s2s7!HKYZf>JMv_jVsL=REjzp@}M+8AO@IPtC%{XkR8-!x*=wJ!>4N~S)NL)6| zzV&^!H>*=lOA~mwMkOS^!Wlg$V2mQA5)#R6IRsD&YRw6DCbI(bRduJRhN3>a^zy;q z&`*oid$o)`haKH8y46&a9_+}ifyK|wLbu<{7=O2#IWZHGnxpI~3;O}yv}gFFh>9bU9)S)1 zhC^-T^rz_$rT4c)&AqG-!OQYD&8#L>++j~A3j(p>;vDU9C5Zy-txe3M$UDAF&X8-M zr-4xDE_kh<#$QRs$TO3wSITY!X%5AHCZIBV3mm70pL-qU$84ZirR_<*ZB0GHG7KcN zOpk9kq)s@|kxGEv7RO#}FaPP6HCKnL9LS@?qzYr*R%EdEG;4G(<;vW%m*|t`U#_6| zP~l76>6{AEcj*&9u$$H%KC925QflKmcQ5>w5s4O~*lY5{4%e7t;SnjKUGE?7)&s$F zGO0m$Qiq&PC6V=R+!*-8qFe}b*>lr{4$Avl25OFgK3bIClC<8uX!cXVQ(%mbXFv3A zzubOHilX?HuYNIt@7q4Rc^=0RSSA?P&~g;;AP=^i-syDIL&GVux`#EHI%&~D{JH|E z#==9+2;l0CGkW8440+Z`H zA0%TfMr$U+9Wl~*_+8rVVwWR5{NSGPR_L-2@ zdXJitsn!4NLR&{W#$Ec~a1=^WrDf`Y-#`6leH_icc=4SdwV%2&rZaDfkyqTu9JFc0 z-|!yH7rr&!zJ;R6dS1;{r(H$Il}3vp*0Kf~&OY%wisPjdVdL%LOskA^}Zq_lDDZOL7SEfs(ni@S;w&+hL_npoaiCjd)DC^X$q}Lg;Eb z5s`tiE?$0&n&v$vp!eW7>o~w}QJne`nhR_URgp*lhGac&Qmu`>nEYu>L;kck-itug}v$ z9PLp=(U*-wp6D>zyVOsk4^Qm4mGqA$q&DLB)*T0rLAxEc!)4k+WAc4;Tfe;rki<*J z(lRHmjFaYjPCEoAC>wli1j6`z=W}D7ueJLIsw-W$GVr#c_|B~CwPQavBW|R zg^kjgEYLZEYzV{}bm|e#N09SnU#-+ySl;wEQVy4tTRE^;wBzu1seAfQ4jpqXq1UpY zR>>)derwWXN%0T;*Ae69&_8`ODJH^EzD+tF>H@^AjEP2yUy3(at9@Gp7^E20D}m3_ zvr1J>NOzxRZ-+9%Ha5VO;lqm!egmG%mGRbxQi$D2T8C|mt_a@`BX_VL*q+&I%D9E= zKZ35pwl$Po0^k1C0$IDKf+nL>b>8u2WAECG(!`eM3-%*k@|TV%zXVjtA3{}i-dC|9 zKmGYq>$m6m+`CK*yQyZo{IeHn;CKM<-;p8tIg%x<-)PNYP{Y+_z#5|~|5=|_8OSrZ zMLD@viJveJQ)JFJiz6F1bpSg8k-neIezu0He&U>$nWm8t_g`GUX)u+sHdQDmB_{9avzoSY zhX-PT!eey@a$2uTteQT$6=3gRm!ImN{i4LcE3~lFK81U@@|HlKPyIDX%1w z3qJ1uY#D?Le_)$IZ7@SQ^7gYN9!(k@0!8xQJMB2PPxDnglYnK>sWqbfF?twQ5;Pp? z^XnKx@7QaZ!~(F>IX@WMoQeXAdbC{Wb-q)r?hpGdC{iT3dw@kF`b-PhLwwiw zpMR`<{mYoAxF2tB?Z^4aH&veKYfdrFwA{aoFOipaE@mbV7AJIdDmi8^<1IR+16Sy> zdZ8yTzH}5f{fLb1N{~#7%C;LbVo*%Xzp3r(M+qq+**U8u(58|q0Yq%UgnsY3U+Ebr z8p7{)M%OmA&~KEfk!8^V-|Ld05h-o~87~NMR*oYol&-!c4tmr1NPvwt54Oyo@A)L`O<~Ea zg`9cmA!52?4{NqQsq=aLIrqxPoBe$~Ai3)uy2j@sWuG~h_{^WTvhMp`eA#Tcf3Mej zZSs~%*1q-LG(c%~?H~M{$?NvMV_;W4$?A9vwkVzR@^=S{@*MJWUK|mZ;~k&QrvX9_ zyS{%R`csYplLF?84`DQzD>8lF*x2ZgBbhX3i!UrLIBjW*X(|;%Cmo zKOZztxbo-^Ly=+e&LSx`-kYd!$7-M1FOxJtk$Tg3<8Ewm=5SEc=h9*xKG`-~?-%EJ z+T4ugeQozX1CYX7M%`hSboa5gGfyUO=T&OH?$u`|vU14bYhW=yidI(VS;6ldzRh{R zAir`Zd-nXEW`vp7Jga&1nd>Q$ulx7%WTqGjf3E~`_#(6CpJ9N`xvw)fqgemotIr%c zmct(MsjgVhT4(MG0#rS(^Un2~SBD%J=Vm_@<=bgjyao+(AMi{90(Hg(2~3cChJMYhtvkgFaORbFLK}?0?Vr| z+_VnTSRXv+#kK!SFMiHAF}4`EeP(ee)-#m1gY{JBv-LmfR*+M3a^5?_f_}X#U3O7E zHuR_4-1x3@Me<`;CoHnhQCytz82en-se9s{R)4_xulcKx!vR3W{nr}TdZtdT!(1E<_WLAc$JgW z9B|#;9`Z4dm{)*cRo|s*mfujE@W*;^&Ya1wayT%zdH*2a4^2`<;j^T6-;2&+=#Tzv zc4`_gjt^d3_8G3D>O3pjjq_03YJb$bC*MCD*E?%t+;d!|0><@}oUA{E>S*%{F1xXr zeW<>kmD068eAi*y{Fc37euV7CAO;yvwk literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005724_0001.dat.gz b/examples/data/lma/WTLMA_231224_005724_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..4e9c6d59d271f8c69628498041941464c27c2ed0 GIT binary patch literal 5934 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 QBHg(9e+HZ#t#~s40EATcO8@`> literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005725_0001.dat.gz b/examples/data/lma/WTLMA_231224_005725_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..80395c55c6a1ac7c76d2600b9ceebc87fc09634a GIT binary patch literal 29575 zcmX_`XHb((+lFn3ih>A=bWv&2q<5mAqEr#-T|lHr6(N-5krs;dDgqG@klv&RA|0fJ z-bpBd0D*)MAb}KK=lk*P-<{dHcX#f+j`P^%kGpd2|JucLQ+=;RrJLM)YR!UwTE$%jm?m}U1&>&Y?o@R-qm5rWI#|5zqgTJlg1UI~#(zz?ooBsT_|QqQ6J;Wi|76S{gNgh|g)GkWL;Bf#7~#2I zE_bKP(gi)?1?Jt&D^D=ZHx^jm?TIi|kw(Hjo_d`JelW>?`tmokY3t40#Z!Z9oN323 zHfoW-mFcynD9tivK;Bfr_Zdt5@&0;-9-pifIYZeC_0i89UbyOTeo@oa)a*lfjjKAD z+9pZxhS71GG+AZa(G`9Gw;47xyt7mUar$Zo4%@Kuhh8}gmTYdersic zV;UY=tIhs)c3jYKAXDDgxyI|^bn&*E_m8Kq_8U-)j~b>w5@lsflo=v@_0M-d7Deor zrU$=M61t(GYZ0edKE%%V`@@jF7_?-dbdEjoj-Mmp&OXBm^vx6(=)^%z*-<><%HgUW zaFp$<#FISZPv`AET$8p;sKK2xZFpT`el>CZD_>0@--g9*jXBr*;W+>E-bQ<$(^WQZ z6VgcL0}kV1t!$W@D&ZNIO^Pe z5Xu8QW}UfZ9|Hvb6~jdMX7e5vD93VG?TOwXgb*BTE-Y;awW*I>)d|#$QWDCtYqwQ) z;{?{?jHJY-FFA7=F=M=}B3W3qq}JJdOku@4Kqod1V7i0EQyk zO%PJ1=sC_827T^Xex82_LCRf(%q{#nd5F#W{c0pJfz2Uuq36cO_=22fxjsVXCZ0&h zEXp(tJBd?{lK$zy&PyO<{$%Vo;N|C;d>o(XP2Je)?kv1HOW3Wm$DK(hz}eeDwd|cK zw$O*_|Ax-bWXb=$yu+5evo7^i3VK()t1Zk@Llp3@3(C=NdsA6wmwc#VH&|79ZEhjz z!&Yia{(WwTj*G|Kb-nR8sZ8wj$WiYy$1JCWweh7?u-8YtV>R*(EVspdYB?Xzv9)zd ze^FACm&Os$?9oZ#D~Bi4HrYFLJfCoga`fm|`)M_NjmP}%>b{Db#%uNImV`^e4Md_} zfXum$OJ^5-fJvGg*Up{e|Nmp=Q|PRJrE2O@TY>!r2oti$@9Z9XN7=%8?(Y-BTdmzf z8d;6g(}0Es`u8_(elsdyklTsA{9dx(*-57H$wTCkMXm|=I zg7?m-%{ejr`c@lhx!9cfjYA~q5xI7`kIwrF?Lm(_u)61B?W?oglIei8a8A#7r`|4j zQfoR%)we*SONZ8ij+2f3I4j?#PyXerH_J3;)QI+d@ohaoigoPrS+7@6NBKL$zl}6e z=d`-0zpsK<%b7NYz#1Kt-O-?YmOHPWMRx^0>o~(1-rEl~3O^5#8E~aQ`~77&^M!CZG-*=ZFjnj-^zvDBXO$BJVxU!^Gr9`2!6~7zeO7BC_fIP7(1$0>Yun$ z=LuGj3Kyc*tQQ>y05&FboYnm8JmUu07G|bz@U0=HP@3oWng${C8ST+Np|8%Ej^ojK zkJS1ar6pJTA(HGutExk{9b*DE;uHV6m*ya6L|j{PG<=7sNB#*%i$`?1W&S)fb>C~u z9!E}CPIE5gn+lhyhqFc17Kd#UUd#7gKvgB^c5i!|jg{GiZ`AgZ+*)`YpmI&P1#!|8 zeIW_odR+2$S5UHQV6f#dn~>Vbr`DnVoLR$8@h&EB!$y2yyNQR&FpHS!j>}r3?`8yV zNZ^!OQ9zubBwl0vrRCn@F_07~?`&t7Yo4_0$GaY|ec9z2@}L8UcPmV2*rj`TyyEk* zZ78{qlBfI$dP|rRT09hFz3-Dsg#mB!i?IZ(Fa17Iz<| z0K}F~k=CvEzshcd$xMdUA;RK4|91hO;Tmu3n@cDGDyxo@P<@_M3PNzKAsA z^ue)h7VOZUbe3J{?sFQ4B-%u&R0!&~0roSw;(rf{GH_T>z07OQ7^ z^>&Z(xl)t62N9ol4-5!nONL1-xp?&+1yZfsjnHN@rqDTAH4A#sRW9ZX~>sH435 zVmC^!DV$ul0}?tLVm~X9AUnRo`=u~+&|g3wD|j+a{;I(%Q%yoFB#f!85%{uxgkBkV zly3iBbvPk(_K&+&zg^_`sISiJkRg2H!2GEsJz%hN6YcQXWyQD^FDrQ|ucg_Jx9>FI z*Xk`*b7X)t*GO}938HZ&EP`L7pS^NvmA!?}eFp)+$gjK~P5-D)7TtZ_!|>L(zRa#^ zDeo^KaTfQaeEpPz1YR+Kz`q>*seI*&BX^)m@p4`*fW*9heVfOZPi@E=w#9t-xY;;V zq#us9z2P6HzFDtU4QEw`&= zEt(k~Kcs)?fFDCx;0+T(J2qB6$a+={vM#ccZZ66;!kE-DQR;|L&w_ppwD{?@p>=lZ z{sFN|#+?mbl`j7v!ML6fp|nxS zLA(In^`u2B_-T1G{EKrd|0pIKPSrBEZnp16KW6@OHHwE`oukTLXvcFS#18BsOkQ5Z z8#>yjthEVw2Hz%LEjm%1>R<^iNd!ejM^Sc9ZbU5)(p&;jVy<`3$zpvbUxPcqI7FY@ z%F|%#^LQQ~HV<@O3hv9tNAOT6>ByPU=ZQC6-K)OmVw@j@@9sN66-kS`Pn4h3a?mou znNpW*AKODkN10?&w}5v`@{gxRLqU}#ong3A0t3&Zz_pPhme7h9B(ZMCe<)nuBWgiA z305CFh`vl+`WCo=oAr;{b3+MCkV?u=198O7Pz#$4bnDGqQP6q&`g%3I<-SYYrlOi! zAbN$bOZbMm-Q9ORK|f}kR9Al9;JEiC?UcyxYuRbRlGx@$D8@n)KG<4wks)7EnOsk# zYpQLcau_gmWV+sF_!{h{_uoefzjL|Xh;&IpX8}aV>-W4DKC>`Z?GO8~5pk@LnGqMzlNf@~EUHsK`B>xBZXYBNjtV+>a z=?9U`C^65qv7W;4L&C1~X1N5>GLq6N!gxe(}92Iui%2nTva6TgGMFfL+fimE!_)E+l$7s-=_-1XtPz#sU?2lsl$_~_(YE{czofk}Sv|OT{Sb#f-eViS#qeDc1-r-)2 z-F^`Pe1OH;R!Ka1R`P0X?V#wFo{^R`&$lld;Ej%ZsuwCGNZEZVKUve8<2#O}pcMk%{UEl|FR2{Y7_9oo!T(juBJe` z%iA7_y$}w`FFC}m0O@)~8tkS$ z@d!%$66U0I-pswU`yFKxKFUOwE%-P~{JMT$>RS7?a*5-1Gm*e$er0+S?yB6fSTcV*+Nuv)MDev@+VZ1I_Ek`z~f_Fp;xfs}(o(DB?nK3`r5yY@n`&?-=E4p;$Epe`bV%71g$kbyc((= zKeXD=Ev3t67F)3FW&J0yKn#a>zinDJguAiR7ei(c9RW>n4`nj0a zi4datv#|>l6*+L_^3c)T{W~I1+Ul8GPF=?3zZQG0p+|<{CBX;hzT@5{5H;WCgQO(B zsK88?QAI)Puz)~Fy7%1%j>n`>1QB_nUcj=5v?S|XGZryKUiSSlP)sSWCvpc@XyX(~ z!rg}EZj9v%)!K>jN{yw#^qVdwZasFxvD20QZd)ehERFx>!}woL((DG5U_W6RHYt&o<`tX9=sMy#<;ZZ zPjC@c zxGJc4MxFcf7`96lO7Yu6bQvWUgKWfL%iSC3_*p4njIH2bN(?n|tpP{5h;SwCpc-O6 zMF*VcT`ZrGvOH+*RsvR1Y*qvxL^qL`g|B%%!pVX<-;$V^3+#AAi7=o?G0RPT6@&NE z-*5U{8{&MG2t1_?#>R}DK!w2#+!*!Ud$@+>Z|L&@kfs{XIil) zA-XUrwd5ATCAU(Kk*1$*d2hUwD~2O-dLv%2 zv%NB=O$g1?yAN%SQBKXLn=5FGd)FMLhi54rc&M)P=7g{-cnxT*n>sUADIBr&5pCwo zx*qF~q6I}THsTHVv2r7k$FP|;z}$Iy^`PiiW6iUNJXu|zYE~^35j#zX)x_*b^Q1q$ z0=9q?7o-qPy04@G6|_!Zp+re3Uk}i6y7>F$F3YE;pK0J9(FOGM+b%~vb`^rAV2=G_ zT~3V6N()OR%gn9Q{vG{wq6W*0-h2$%;5eLh=bBq$u-6Q8YAX`I#2%=i~Y$VggKfFiI z7lsZ}S|3yE_Jig5c%Yckm!eI7SOsD&R}lgCt&V_>7TJLYWuwSb`#TXko!hHhf4_!Y zSURbdH;fDZ0Hn*GQLC8Ef^|9=r1f0r&TUBh&5p?&KNE?=J{6Mkj{dh&KaaS@IFr6o zDJ=wxkHC+9d-y>S3w)Ph8ug3M%=7*^-yGGdE%pG;nTZ)kB?w36P%V*XF=*{d6dXeu$4_b4rU+urHKya11?8)L_DdeIzGiner zUS9DIZE7No1#VQ6KizX07DM*hJ1Fd`;!4uafj+Rx!;=rm@HLY3H)DUbLEG!lMBC?T z_NO%l{krBsSaI?0 zhN}M=Di2q&Q=ZeQE@TDI&1j%{C(5SRqbQEo%mZn^&L>v>Tn&7A$@+0*Eu!YV#gQ7- zrJQZhZYDfc;O!M%Z`yT<8T{$&LlsNvbOukgJPGA{lhrtVf%eKZir)EZRA62{koP&0 zPh*}GJV5AYO9&A#7saK7J z5o38ABa2GN{4dmwc*yYw&l6jc3zKF997_QL0e|O11^Xut7!8+s5~gl`jNK0oslfDl z)hs`qN?*)f1Pi5vj$sGIwcU`_f{_IX{{|-4Z&n4hm zXRcd7jj^k?O*L~=?%JKNb!vR<%10xKt6rRCIn8Y(Cd?D_!apW1vQ)Qe%4A+g%y29N zk~;5Vn?Ht_tNck9SWgp6JamS8J6s)Q3Q;Pk9^hx5sePy~8%?QG86P9l+5ykrG~U98 zjtfRpQj2u|BME;*I4X`f!toc(GCIN*jW-J~LLZaAW}X6u&f{OLca|gows$fb)%hN> zKcwFHB2m69pkd7hi8`By9&38ank1Zj8*|SGs|4#^pZ&f2WkDf+HnD5-Nv#z%-GSpr z+**nE^zWEHXJVdVd1KqI6Tq0!KU428fK@wfS%r&K zwLPp>tzZpWp8)K>SoB|{mF{|#VcPKvw+$3A6PFtI3~4F>OViUNH7!4zCD)`+qExgopDiiBl{B%75_!-q(e`d>99j47w}=h#6xF-7C`#6 zF@YC$D4@a6S2ddyo|-`GG&4~CXpwkS@@cvpubRt*bIRdJ=GXRm*>17Ra9@msZOof> zl$!Z_Y5ZG`T7CjE^9@K9E!o1+R;iLuRA2Yu@e z_~=V>E|?RHwNR&E2jZ*j?Gi>n{!XZ*ERN_8{t>v!Wghxic6#BW*(>+P-@C~}pU+;O zV=~R$&dd>bB|@p{Gk}i~3$Iz`00(} zt_|2CBoIMag9jQuIn0upXtVj{x~5}Qv=XV9+)8SThUp`lM!iEvwo=~}z}&!{c?o8Q zv_y)Qz6p7grlBbEGrUA_;wh24Jm~4%1elV15zqL!|F{J4=w@)LI5D*L$1QB9pn0rf)#c{b!Ke7%+=*HVS5L5A$Zc%{NxgIBycG#r^>XjP zqoLAO9#x8SgJ7yi*s@$=y!kXuWyleL>9yTaZU+`A6lr`cy;@@5olKoq5n?#gu*e}@~r@7ImiK&k5*0eH@24j?U4sx}m^7b-cSChe2$6GUII3Im&Vaw*cpDO_*TPIpo}4-Ck0{AOG_Cfoh(J z6h0|g%c{bEF(um=5bIlk(vh4B+Ubgv2y;~FU=5k*WaSIDZLYRM<1gUIG?S{XJ9j#}^bd{zsjz%I!rt_RJKUYK_yR zAJy4)M6WSJ<YSd1=%Go{(lYjSM;`CSVd78+ex1tGn@W|noY8I*$=m2rq zw&j1A1;($Ge%N)K1+}-f=cO1f9SW4(X81m+QO|QH6da-aDwYDte#xs+&IAXsqp!d4 z9K^|v_{QMheFVj#E-3b}tzLV5njvcuQ%dM~F=c4s@8r3qeNbS-#(f9Vp(Y%8b6qVQ z^K+6rR>L$9;%?bdq>Aj@A+IMJ6SjL%6d^9v9o0|4DP|K^MLn9pkeZF(4UYbp*-S$`RF$q>t6+NG^yN@*pON>+ZLbp#2a>o1#W0o zn~LxyUsNq-NGbyZDe4x`4{g^pV#n}Z6(0|4*Mh(Q@_*MVH_i&MvmM4mkIVR ziMz@GIlfC&OvyT{4WHhks6B1#XFc(41Buw>2IGL$jrGjMsEKhC`5{)3o)2s zQ85iR63`O-R0Ag0#8Xg3TbeJiNaXeK;Jyv_EJphii|N!roGf=)IZ3oee0cN4tfRW& z$Hb=}s$#W?#Fo(c-1EWm>l$p2aP+&V`;^h_ zNno(Am81<1Ycw|FDPz>A?*|RY#o(NWd2t(o9 z2A+YAfwCab&zkT|o@ZanJ)2Ztvzq}}(}Ho?iJBqXGzJL<=y3DKW3x0E?mvz;)BTHY zZSN6exkt;lHJXgU)lE4zgkQRIo%8p-U^h#|_b!G>`{sQqUfuAs^$uM4kXQZS4e)tx z_Q&~lE5O3kMHcFgW5A0HsYMXZV=$36AJH`EQj^$y^_SZc2AkUjcy7I-loUpGpIUK$ zcVdE@9n!wR1e)G{P+{U z3p^sVoxby2J{h|lGW&Ur_eJi3%`QniDpi@LPojNuH)iFBD;~_j09q83HfmLSTyceHx1|I3Z*4#(ew7S#q75$|=?(h?I=%We@ z4jp>_Fi#3_&C5&V-#2*96k!%AlJ@=zj=G7)3t=pGFwCJ3-`_nS&ARPeEeo1qx|@}h zGj=3!ar}=XQ7IQnHHtzyy{^ZR~o#Q+BcMk%q3uf}SgXBDNLzW>t&E?ay zVV(CmE8IEWI6;Pfm7@bCgVUIUCY}pS*R|jNq+nNMi$X2dstx!qH*m-S?0^FWTqP09 z0%|g3mYC71FT%CW-;pA*W(!RbjcTW(>^j+ z{xC%N>;p`w$eEo^U|w+GP^p}K0eB1IRh+Qac8jJ`>>RT>PA<62+fB6jjT`g{7l&-z zp}xGRS|S%RtYvBUYQ~Xb$wKMjJ<~IPdIJ=5!%tigbh%AHNc{V*ndI=g9Bjp^oq^on}jEo4N@a^C0{PN=PMMDNcU0aCw; zQ{#((3o|iRGvuMAgrf>b?lx`T_P(St$fnZu(a8DV@O5zG@hkOXCjKtuyc=een};Ct zw8W~K33y>ITrHGXAXemYr>yN}uMO>()kor%4sbW6n6igerC!)sca-$8RP20S~(i4pb7X zVKo);yw$upshoC+@SEJne{$<$r|UCp0uof#`M@0{3mNeb`?p^{_)P(LG~JT_+qk+i zs7&Z>2fX%o1)`*LT(?eFB*Y^aw%SRjz72a-)(@(7*CeG8PpGxEYM>_aS_{Bw?vxr4*R>zcqwB_9KDKt0G=p2lH8FHsHK*`4=uB{p>7$v8e;1 zTvXq~q&C41`IgWSIeSf&kP>3X1J13Fz?YqoJwcxf&jgOuIjRG&QK8`3sLDgNbF>Wh zsGxjTY062q86t&M9-q9GNP zu#rHHky*!+VftSIZ2v(BZ&z-&qKHSySHq&kX;kpI8k*7(SmzgH8)vi52o~u{D4@@2 zdyykj?sxoZ%DD>oOKE)h@q1X4GTTX&T2A5gmf<`AjAk)&^ywtdY36Vp8HW`X?*NZ6 zmiel#d1r%(PgAvogVZArhahm~GFBbaqr1DolfhXmiEA58;_t*#h=DcE$_Lag(>iwT zTo>k!G&p(f9^}e@t2Bl&*(36*)1oo;k-;?fLokGPYR;m2gd?RKx-x*$SGUJt`r6jt zMsQS4j*8^F;*oa3>{hEy6&206%l*CUo?;L+I)W=Ql!vb*=|7L2mPy3xyws>bprv&Z zy>6&NVwfGDHrRFt`0`e}tL=rS$sE4%{43Mk!<;|cmvKoUkEwSeN^~94QmGO_;Iv=( z`1Ly`!`DNV9#*4K&%2_FX*H!vxcg@oQh$th3xn()hEMXHsDuT*Wv;!ys?;>*_|H-+ zL~<%B*T_Mn7zkedQnh~g4!&}z2L3{Veth7!QlC4It(iYt5DO}65wqkcRWMWo-Up4R0*|7?)#ttp+&884BpEZ(%fN_Q+M^m)6Kyk6{?hBJ^`ode5Zd)4x#v zKq1BPl(nWmcyHS=p94@6&!sKnm%q_%TYz8j9>LMK1vXA?$76x+G3OP;_BL3U!lg| zfh9!pY_#%vk1i)!(lPaC?SE{K7TUeiPA~)7t6!rT-vDIwF`09xl6gTqjduhL>&fmi zPEtP507azmBL=+j99L9)BFT3C{F_V)_wc3Zka;OmFgE7<={7{2^1$Ab?3J7thCv6V z&m)tkm`x9IExY>c*AjCq-4-zL-L4;3FN1YUg2u7FME>-&%a^!EME;AdhP`m8}Ia$lYs-P{x$dV_h z7NFr>q6(cz{}4ds55w?HI9F4<3fVH(eBt zms^nb9FBMVFS0aaH8p6M2M{)?GUCCi%&RJ?gYqeny2?nHTNw)_5;d2})7;p}^fY!Y z!%)3xYpVd-8x+ubI)Z9dwkq9j-ESM%ji0RRu-qJX&|ydP*#-;#Cz_yT^)Dy}Br7HO zUP>C%WcG?Ya2Mb^Y|X>@fzjS?`%*MSle>FNuPMj*WBG^9esg{nhQl0^x@WuzY$A~O zG%l7m%u@rVcLlMcv>yHWT{AfP`tfW}(B12YN!=$m*AhGN`yG|}WGJBulGl7#@|xL5 zK=#;WW&BYbpXN>?@cfR8E$LhCMavLr<@)L*Ew%4mqx<&Dh$Txfs+wo_6XG9zCE7!H z$RlB@61&>Qp3!L`BA<(j> zJn|>O#CeQj;@ek4$k}6jm-dYfn|z)w$nV|k6PwEw#(di+yDY+<4?Ek94Yoa8n3cuZ zb%O*`Ic#p15k#u~@g=iN>WS%rO~k{<98J1iFA2B%pA_$Z#0Erad!If@8>lLW3i}Yg zXE%)$J#?52aBKd1x+|++{oh~nsLi% zi?34exA?m^kQf6-qwF#f$lQR;x<-Ad3HIy$JKiflBG`Ocq`=|r`TD?Vbf^z&Enh*j zpl6p#6W8&-t8YXgWQ6>%@|XgPY(3fa8xP@~+_V+u+QWSJ;`Ck77G)8Jmru37fsqCk zT*t${2LiB(vi@g4DC_H?BtWXx)F_WOVipZ^m^{JOt&M4{Ula2zO)SbP)m0Uu2?qb|xI9QjXJC5Tk2Kaz3iZ?(oYOokp}{az>NE0^0QQ5Dv=j zC-oCU^%uqOj|b){3vb645pfdlb=*~5NTH(~b|eYLyvYF!pG?!|8QGKxhs^HpMl5tp zDA!v>Xrlj&Fx-w&tDW zsH$zHS)bLkOG5*6RGUA7kt(3j8RJ2lnLU`jz`~S<>b%P%=435o&3BhUYU`P&as&&R z?tSmInW3GYN9QGIEMH_=+N7=8)ybpA3f{{Tl9w1~*%pF?f+$Kzl@cTqg~x8StwI*qQP$7jH2z z3EIXq@!#+*d)u-L;~E@T({MSE{!9C!$O`i->$h!JS;#JJ;dN47y-u^<7TyY$8f3yN zp8>&r_J%FhCG~0?B*@2q?l*;C-?me7G6eFuRH0Jiny|G3s}ADqI<>I$PGp@Y{0$?ZQmn~}ZmA=kiP{a$$3KhFgt`3?5U zS|T)@ghvT%K^6;8rnCOdk^$?)gCfPd*Z&roD8DxE=U?}O{tfs-o+4wWrNO7W1IVHL z7#|izBY|4LCwphGFOzLWJ{}ums7w}Y;~%9txM0V*wFpMeyDOzx!hmA|Myto_wn9pE zUu*32-#u@Es2)hvQ#SxCrx%uw4Bwf$MyfyeE~9*nkE8lk`>=S?>YJ&Yz;iv2{thjy z7}TU?^U=&d>JZ!ZvC{W6RKEEu3Mr!J>rboVyxc-B?T?Ug=%FV)Rz+^xYyVi{AI+7c zOK%p^LpQ9<33e9_q~V#RUHjmB&uP+?{M2VCpP*Bnd)ix1{sG0GVlIqHG$JkZea<_Y zj2z(17HRYB2f14lR7I&zg#RTy=Z`D5hk4NKY&%Y^S^BLiQyw54mbZF_VqPk@>Z3Wg z%&12PiBF4s@9GoOu8N0ZLAG({o)Hx1Mmc?Fjye)}PL(E)ShfqlnwhQ@cj3PBf5Ruq zBWs;2OOTh8FYWcyBV;a+4`63>8Ucu#Ohp&nS zRnzM&vyr#56Lv=7mYOU=dw!`%yE?@#?gsZUGJk_K4vEm(QTnZ--J|NpOmYcP;hf8Z z^}PFI*?soKY_I{Yw>PSZJL0V$;Se4h-(6LS#IEgQW{vhLV2rS#u0~_Z1OCXxk4K&@fQO%M(z=7H zSVe4!yEsxp(}xh#`;1;rJwS<={%8MgwS}~akPRC{<1NUB!1jI)?9w*RZ)RQau%vwo z>@*ncZETFJMaa%Cv7JaVOC@`V5UCmn1Fk|SNZn!V(ZZ~d@4=|BS3QtPj^BVMdbQ#3 zTRbM$AZro_R8X)dZ4#LKn?<~2`SUR>l-_RdYL~UZ2cBJ^s?}q4zyEwDG!ohYr*f#1 zJT$lFpW8lc%IF6y|CuGHC9;A7(aC`x3W$vkNSyv9iG%ivB`AIYIKLz~if;@>V)$(F z?mm6K<+$oP@X18E`&J+~3^_pA*2oM{uV@^t!Ke5p9M!m6AE?V+TJ@U&b?4Z0-lutBq`*f_&4Yc-1fKde|1?JeT$I5oNKe+XV zN8?0LBXE7PEze-RZLKYep!GN4sOodcljRm0$r1obi&;4L8DFqBYb~JS+=tnFC;PmR zV#+_nd6pf7%vxWZ8C)Dgyp{X1@_f(ct_RH+5VxL-2u9`HzDr74`h42)V%W+Hf>@@w_Jk9Ya+gip%Myz0KsEq|8+5nX46iR! z;VgKzG@=(zF-k4u_J__3Z;*d=YaP|{`3^M&atcrBxzbLU0g&+f@j>V2C#W!vvP9QN?9l&Q$2>zG%v<;-43YI~sB2j;MW#E%9thcp50ktvuR-za>+u$^Lycqi7iBLHb> zG!C#&Or0bB=8dk5=Vjq%%@sLTdfwrj#4|r@+_X^`m>lvXC>MO<{|Q+EcurK1pAJ2Q z9ermL+6!UWL!2_W)>!WRa}9VgqnzP4e8FqpIcGJPni780^c*XOpc7oKwcJh@I0Zgw9?;rmr_yV>|ha6V2Chi|0o}g&2zZdTBg>5?TWf8HQfiF5ouo$J+g zvo3f}?EGB$7&rOGD~pfbcQs~*Pfz(N27#@2UYRgkly06>y=}mat$Hmf5fAp8uJ~E% zOZ+S8Qg6@=kMhc90(5+q%%*8Tob0!i%_}^tJbCN{-}~&!qJWP~%Io{NpaBbXY(U$C zuS7=eDK!8*n56c(mC}X)vPQxSkR#`hX(1e(pHfa&hbTmBs-15%;U&RfUdVfA$nT*(BAz{v z8_OMvC?EUHLrM5hXoIo!ZB%(l2zfsVO6tdXWE@$>5xI(T{>3M~*rq{cWmH{ni=piW zj>{Qy*yS-q`?HRK)b_=FZb5CT|7ie@qW94822b*1l?YHqOKM$Zd*Xm&qEdC@(e)YL zE`G;kshwwqh@Xz%eFoK7?EP+TwgIe)CwnOO`;^e$9ffmD2eRp}?EO!#Lr#H65&8Ic=0kyMJHkP}afGn9!~sZGQuGAXvh7x*8Ndbx(FQ zPFCSJplbS_!Amp#`6C013k&LN){P%+eE*ul4Ne>X9Smk;$fL2~E=ng57;=*UQ78wP`pF0U8kJ~OI7KNJ&fVE8psS7Kd6e3OL+=z`DCf>#l$fyGw0 zcWn32p3|)4f&YzNcpXr4W<^5y|;kSwol$e z{Ju&rJDO=>EiBf8dosLse@ly=+mOptmwbh4Cu$L&z*Pa#@`gjO+}Wq%A*U(z^BwDS zmb|kM|J?tLs!gzxqBbHlR|%I<|59iTV<3bo=M#n%)B%Q5v(A=of2MYj1Pep{MX#;0 zr0&7%vDjmJF?u7Zq^jRk;zNRxR9Ex_&~7=9of|kU35(wZ@3iwJg!-u|Ozsrr2A0%f zpP_#aP%P}uur88O+CI2cw4E@ZFUqZ9s2LKaB?hKk{r#D^Yk0rlY~Y&-5E-OSj64Bi z_uA&aAHJ*t-|CJF=dj_#+l zw_cC#+Qi`>t#{eTMYa0ku){GmE!UyGTy5i~ut~kmnJvaap8P5t2ZqPukCS7O24#WE z3j522sv%qHPxTIT+0;%JuHmD|^PiPSuTK@QT-i)}_3t62DbDh_fLBP{S{R40URY-K zXLPq2hfx17mabh9sNUakj@R^>k|bjbxL=#ve929Jbs4>K-W)WL8`Fjiy2gDPG;>mN zV59VnO>z8%8$ez%Vm(6wfP#kJVfUZnUD-$v9}-k_oX`-RiJ2KMCvNlqh)-Sm zAS@}OPwnu6*bV?Mp4w=D#IY zdMu_5(z+VOZ_S1t{$>E?K~6?%WLhgDo>Qg!7_y%pcfhFw4n^_@fQWo_I5>|7U2$}Q z%zYFqX4gKRg_dFk*Y?&Y`hla@l4$~GhIJs~jWltahFv6GFcP64w*Sc1T3HTz4Fvs9Xdw?dbb2NEXp+MgYDDN@{v%Q=U;p)KUVNIP+*^d!$6%uj}jl}c_x?#+F-<-VD77=~eH*Uvxjd3+y_&*Srbzu&LV z^Y!{vbjy_EMfOD?3a`de4{g?_+XN8ftMmO4Vh$to<3om)?MEB+{CkhYO3U^=G!ys( zn-snmv17iLwD%*sfTRO*g6uW!=o!frvCqp(CtSwsfiedsFSJT+;H~oPJbBSGcIU(w zIMEp;5DZ&`H8+~#Uiw(Vi=*h^@VcV51r@0H!m@z3yzDR3)d^p(2sk`}_4!9@TT#n> zxuJZsvK{7(>92~*YxF<1AY{3muBHaR5wA|7neSEs6W16f4?|PH0Ab8VAWpZO#I4c& z{ZBoKW9T~E(t0S5(8HYmp;j7Hz8~a6QVS>vT}g3ZW^mWDtay6r8z>Qu4^Dl+D1N;< z3S9mDS@lssiAJ#{Hxy;GVV1>?>e;Q?<-+6cA@X%7R2v?RS_f3c%Mpn7vgn6}7yB>V zMDt(3^BVm+)ecV|{FeyB#=%b1<0>K6k4M39@8}7knN2o{bio}BQ)5)WnY7n!_mlV8 zBQVS>vhR%eOMF$S|609!vOB5+wEps0ZLU_p`{sWEy1bkHrG$=lx_)C@?875;&GVMZ}eET)xmV@}=oKtD$uAjLh}1su_`DeTwYl@)=~jrKMFjA#)h zkjYbPzN!_)`H2q?T?VOj5MZKv7Gj=p4e8LV-!1;y7Gq_2wsC>h{y7qy?C?CSnAo265Ree$s@j~BBXR+oV}nv>GMwlMEJ z>USh-cqMD^<-&y~Q_r1U$QBQ*`It5TSvxq-Zr~xCR_I3%*6GvFsh>p(C$^pgWeX;( zzH+WBm!A<^zeB`4M&zMsZMU*8oNK}wkO94rdpn^$WW?hAl`)vp?H4*?yOom@g#Px% zX`RC&xUIkzqaK-;ar}R++lgT=cSw3YWhSIau)^lAllI^_a~uauMYx2D$OlUQS!j%W{DKzSZJZZw zIqJ{q*ZE-Uvl;WbTXVdNTG}7^ak|aouDF|K=^P~)ix_SYY}9XZ6%g+mJrdY!Bxmn! zqe!sMz^#eJH`c1!nnl@0hsaUEAr9vGA!He|MZ}O-cNMxkM2KTdyi50MvPuLU9E|WL z_lpa_ZOi-ir`zh+pB=0Gs>NIXSpAg)!`(5wsmf6=*H*cD&%1hW+ssvJGeC5HIY}&&@!Hc5sxVR|$=|C%>fIwdKN0 zcJOV)_}LHwH}lwFc=d6f*3&hRp|VQUxkcE#0Z$0Au~ot zaPK?$wV{&~Ha%qtR(7W9MNl{_$l`t<(sF6B!9X)`q4uK!sFLHB&TJ@dmf*KYD5EL! z?v&1h7DaTy_a!8%cfGmVeecx_cSULv1tZZ95hvVNiLEum-vjTqBnjf(yEKoI_Al@T zLSC!&${ir@rhTxHcy)Y;j!8W_{PffXt1X(2Q(kimZ~XY(*)_UC+~)(F81=a+I>MBT zh9>lohXf6+&OGcdI%s`uNK7z~`EvdKKO9ULes)E#=)g5dw_*z?M|SNaGI zj6EDpR{-7XQnIe89;=@*)HjtFvc?k+tdNwqB3F#5Sx!OpGfA6smdyNQ+N}wO-M61& zXtma{5;T|dLq2$VS*WkT=@0%{NP^U_-BZqbPNT(*f_bIgLaZpHN3mS#rI0|}Wtd_A z>QYv`qC(8M$uxncWe-%wcPNM-#BF;$=_^b%d(0^;w-5!^!u)9VKWdNyZ0)xcNWm9= zHB99chU|}kK9dD!ynA}bVY}F2iM%s8jgmcZhx6kl8xY60<*LL(Y z7}qj{LkzN8ohd#B_Xd`4f6Aa>^;i9y*G@5I%P>}eWtU9Er<#5cH!Hb#)QInllwhM< zR#G7;B;-fiRqDv30y<7^#u8MFxQrVLsox~qG;`vrLqRIlZhwyt*-X4Z4poPkI*Di+ zy2UV&*qvYQ9rBw_J4ku1mXO=U6(PELp5{o+ZRauY%{R^89DtwerVBQ9*Scj*#?D}sBk0_r4byjdt zhl4K|2DbsYU@z|7!*|pq_okECPMW>@d?@aGmxzg}Pvd1rQy<;)i^Mg=KA-Q~jp3!-Qsj^1f4Bs`sk_)H z&9d2Xuvd?&9XfOEd z4y{2nvGx-??oVVuGltX23aX|`9A5dC)}|jYgECS`37CzNO!Lq>4gz=&vd9|S3Dr2F zVvM;%v;7mug^R=H{DQD55=4Kta~Dap;W^9sZR@t7BgCh#sozc0CR+B!xuQU3LLTB% zwqm%kU|=Gr>J8mNd-mYr*ds8k_|eH59lr^Bu{E49jv6ducA{9~h!ww(-^x^tN;Y zg}X`XnfGuG$R}Tsb!O?2rXFGLM)8ddbAgpNgPQ*l(yo}A(Kvxn#m|xl4U58`WM%V9 zk*g{Ki$&STmFP?#e2XW5%SL0$`OG*{;N4x?%blXYBWqLhGE!YI_d4fnu9O|*P$+xx z%^`J*X3i{bv#9+8dpIYySQ2qc-1tjws8%4|9k`Daz8>X2{5i%cA-IL>rTJ{#$0iVV z`p9gy?%}&`c@rPEIX?ZNcILJ6v7?UHw#02Y*qHfiyjtrZaV6fzOW5l7k&^FlH0ASq z0%Ab~+cG2`e;p|`(Ht)Mr|~8aL33YiQGAXRqBbKAvHbFEXf60P%rw7RVq+T`wBD@= z>q;or3e`iH+jT`@g0;UJ1xYHK*`MD#)`ZRIdf&3sv-3X&Fb4D=PQJaPGS>9BGl<)bFc5p(rx8BZtc82E>fJJ|T`FH6B zUJp=kh^LNqzw}kgR-M=M&YvTXg0fG}x*ukid^GQpIeF(M<~;p50Wbie&N$oIk%0ns zo{4DQlM2cV@X4HIjZfJM$YU4IeSokUhS)lw^reCYkOT}!)ZQAd};8|fSX%qZNndR>T zMvEpCJ=SUT!xFnLtB=vSuGrsF_QxV{>p!B#u~xD*dG~$=`(JUlv{tQh>OcQXcrsOB`Lh#S8>7PXTo^*Y}L|*}#3iAT1Jc z64jbs)tqDp`lis>9gX^^@9RI?9u>-J6;k#+m3Nss@}~@*X`6ar_|cTTEn_i^bemuWsu6lxx8E(fH$Sx}g@v=c`98k(?R_oqdyatBZd7+V>(tNQ`nZBY>-EO>`#NYQ zO2Bv9Nqc)EX3b*N+W$J*NbH23FU>24v7qSlZY^_z0LkgYyloy?!`y?IN~*i(WuC`ryhKlgjd z?op{_$y468{89iyxspreci#}Q_lXOddY~y7dSCOp-7cwa_C*(bQ}T`MW|#L9P_^3f z&a13`%&!!&MGzZ`OZoJ@F$c#kv0g&Sv3S;h=M3wLkmmyyzQM^eTBsO1<)OA7j57R} zE`oX-WpIZsX1X1=dABbsk(JG7+yQSraAX<_d5@T6l0 zxfIT7d$4@Ua91+Q|DoL0iqKI8*jihnzN#Kxsx&19amBy$>YEzwcAkV(QgV1DN9||N z#|gH?=?zCcKF=yo#@BiYCbHk*51m_2OwLmYM*B^RGi+sxYed$e!qfkBwGtbR z;HZhG(M30oGW{V5mfvN)2nCkE=j?fs7Plw+IMC*#Om7B}{#EOztUo`X?n+jR)b)+dyuQ5I*zl;8<3C zRqa=-f39)8W_We1NZ)&!*7oszS47&-Cms@?a7^Khe0I%p$o_WVSg2MU4{%HTkLHo| z&)e@@L@)|60gooTb`C+3;5TA5-QklCXIhVoSX&DubH-?jP;Vu)PF7Ga5Jr-e4ZTA5 zVpEZIqj;^`v+?e^hfTQ5ynkjWeQNN8sVs zz4aUPp@?ht*>X|X-Yxd>tyRiW7_u>GM%*=WHKFx5BL{(1G%ZVgR&qKQMaJ_aT|oP- zeU!&aki!n+gMCTL=1CKCY_5akc`5056R4%*R_r_~xR{`W^$-9n1byG=QwW{AL&7!g z{-=n7N*ITV$kKH-i1SJBgnrQHxd@G3UTU3`X~0uI06N3G;o*{0cdzPYTl0zFunrAy zP#xc+-wUE%8{~QUV&Tba(EqTCp!Iq>WTG+ zTygrWG_v9qFwpGjX(5bB5xM47o5RGwv;~K?6?}8=jCNKN7I~-VfQ|R zUEe-iroGFn<(W&n7uMHPIYWZYzgo!z-(Rt)iHHa@QOCT-b&t8)bh~Kk1RJ>1nP(r_BZuCx$6@Ej~~y)>$`WIkY!oKXeBZf64T{;ZEd>WS||Q@lFs~usJ(2t zJ*}e_Sk)4F1a zT+gsrZF|rS?T_=Q@>G{EuUUe5elUX&(06Lzp5p?}Yuh)fDGEA$JNU*$_*<^o6EP*I zd!G$#B<=3Mm%wc=^O1F%%&huH2K&!lW%pL1u2RY?pN8!Q21o=Tve@}&OSijkI;L=F z{?`TTgr0Y88EX7n9&zi=&!aS*bF1a~|J>K6om-XDaOOvgdnfsuMoG*|>c)vUIoS%?(ZisR+U<=bQtiqCI@>&u=u==h4U!-Xc$VIPou>C1EdJ)$=DDcbsF67Js9bjK8Tf;FXCt#2M8#h!u}GFH2w3;cCWQA)q;HuK`pwi zytbF`$a_T(6tj`IrM$@bdC{ZMpVZ)@Bz_Z8Z*U05ieQTu7Wkpe^T?lpoky#8G{5;B zAgQCxO>I!=wCkW#gp06$ZtQdZ$V5Z(LIPMThv7Q3eU>;}vQj{rCVf-A@{ADJzqpcg zRr1O6X^qj#)JO(dE90Es_&*UwpU&<{ab(m5D5)5%hHzpH!Ovrr-UB{;zn28f`mJWt z*ZS2D)3HKqBAEW#n?K=n>M4-$+ypno2xv$RULtNW!grV2d|2fPZ93dZpI(^31$GRu zIK&~U41&Dh(T02&vdrJeF5FZKdD5zUQojTiQzp9j7x#oUxu1vDk+uY^JOmkuJMm?Y)td6L8N%4DP4WVGil=;0}kZ?c#7X4z7g~**{yTh?L zw9v`e6?bheKB0f@^b(y*-@t%oryNS9g^S zg$kjIDZuT_xsZrYd7`xJ_1*!*t;AxuB`I9F#y7wW7}o3=?m%E(na>(PX;@t6No_29 z`EAb5fJq%GaugDF7QJvWWydsAcIb{%Q9#M7H>3#oc9k&QZ?WH5BMdBgI^)SDkjLkJ z`llUtE$Dxm;$PR_Yd*E=%560-ho1A1&_cQT7v$EuN}EO=(1w24NUdA^^|csB{nEGs zats+e)q&1ajLjDf^IamAcGfIX01dXV*^d6qN+oU-S6=BjN;?>Q;A~mbM;@o}05+y~ z;cg4N7URM66WCf_Oeq`CntivCfb|>7zUfo9G@u4Kt1eO4Wp#m{y90-zrN-7Nq=258 zjV(P>yFY39)S_6QeOHsdo_%0ChCQg`gNV>Ur?sw_aho>#_T5Wbtk6iUa0K~ob>A6_ zsI;RDmY>f>@@IL#dj&|nAMePufXp6EYEoWyw#3c(K|-yl5&Bt)J+Bp-m+u$pS>I<4 z7BqfYs;nn`N1!y;vN{V$kLU%TS!wxbRuSd)!VOWP`wTPyG{(Hku z@oladQ*o)8Y2iGw{99p(qt3O*0xd zCWKfKx4U3<>yAuZ_jE1p!`iU(+uBJ+f8lybh!$!!?;gp$26a*kfOP3L@c0S7oLsLL%2%juWG`l5F5JWRnv4#7)HjbU)>qY=N> zseC}@lNf5>Mz9NkdDpN$F4wzlvm?v7bb(=`)N}hV#^8uAgv(8rir#*m=gq*?0fgs_ zy#`lP-*E~bKKFnQ9l9^Q9GRC_SFOWn8fT}ScypP64sIH2yP~tjvtPIzIs%66Ux9}F zT;!Ptjp65Bvz$h#z8}0R4(&y47ici?jky-qqs}&7c&lWiZddgDd3El;gF$7pZ(BD7FCCvT}KxKpyft@ulqvZD76=>1-QwxeO*fS{=>m?~L_D$DK~$57yV}n4Geunc};+ndwgy(L;s{Aad71&=(U6 z%yP@uJIOh+>q?R@66-HJtGbD?+u5YdjU$dgsR>;wyOJ=}5nht5=78;ji~~by8Lvm8 zs1&S8Y?bv*P*pDxFO27T z2$pxg-}`G7m59eK4wd*$%d&G`%bs4|YfNN4D(xab=!O(QeC$DcT#;i_5uy83IrGxt=?(u;!0tkg+J)xH zQ^0+msfHhyr4Tdk13z>McAUdD7o~7v=wbj|%zRJ%{@}H9{h?%_VepmLO#qGi z&@&v5eP;6ukEo2&R_(93-gbQM_$!8rj+#G)ox_KS3(i31df|t~gd;zhZZ&k#9dB`_ ze_4t*fDUJ*o4a!4ZQUR7oz)XlXMNN$5k*f2BgP-!r8laTyZ%rHu_1JAWs35Q%0D*I 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 literal 0 HcmV?d00001 diff --git a/examples/data/lma/WTLMA_231224_005726_0001.dat.gz b/examples/data/lma/WTLMA_231224_005726_0001.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..922d3824edde376f3c21157c4c19e66c533b1f25 GIT binary patch literal 25682 zcmX_`c{~$t;KwUTa!eHY=1wF4=ZgpoVt7ISUOQOJGg+PawB_qEyFM~;=7 z*xbX|%&^Tie*J!b{GR`w*Xwz`ox+LuZu96z64iaWfOp`QOq6d<`@rqvHTh!ShMDXFKCl_Xm+M?fi$huJbIXNm+kF{o#gkTW zn&Q}h890^_F={{@I4_7h_iWwu=xN^X^3IxV1eXFCqu-`y`52dV7^Qw+)C{L0sQ2<3 zZ$#jj5(9MKws z7uv$l3ez9^T(s{Gu{SVZkOtx22Gm9M(fS62MdcN8UH}(0R_i2{&pOLEdh-z@!uDtqD_LT%8!;Wg|Lu49 z^D$0DSJ1%Eb34M%oCh2VmM*lsD9ZAB?%%Gw?3>9yUGupz=r@V0^k(aHHu0SDqInL# zc43s-aK#0je!KOtE57#dZQ;BprZtgv&%OjzjlqY7aAMNq7hCho>;I1E-QhLstxV)4 zSJ@U4IS-21&io<{j2x=S#?=k)w`p~j4Cf*$&BmkFR<~3{>XDH8NazyMNdz3 zM0Lg54Q1^;kUqa%;Gqz@DDl}FuXC=hO+A>ukXL^d+b_1gz5NC6rl_Vs=xp2 zauQ4(^psS{K9dpjn=fFJPM&RdtL_aueDw6NIX!&!N4P971oUJYP;vWfm~h*b&=08i#A(GMYWp zN$+Y_zQrS3vxC|1oA{?<+U{gLy?vZB@TcL5{Gq6al_@sE??7?sh8OL%oLk1zX}p44 zdee0*AL^rI3S{LlxvJT6=u%U|6~Fy%Y|=U@+x_vcms+TrHeJlAScOYVMm7r4;g9hujeKscR`Cs@iq*>ovVUb&~LR1^37^3!hj_ z6tPJQ{WiG<7ScS713zm6`S_#ye+(TZvGypU+q7o1ugF0~;5FNY>4JLx(?-M>JlT zZ=j~Vf{ZRBhlY*x2^oLA#k4&UyLl`c;;kM8nHLQaQ+c-QU-5Rnt*;43P-3YwFykzh z``umVK@>pwVXG_?oS=r>pmiqph5{#E!}2X3rZ3Zx6VKS_5S8VPM`iwprW_UM>qAeR z{-SrHdGRkLf%C$2aW_jtLHt8RH9T-BtPD96zBxw8sk2Di4<5@;l(6+g0bBAzC-n&v zm%b0?cp#X9#fVV5MjqnKTRZGMsqv{oD0#jITqbb!HQi@OaInH}o&03q7*lePdBtxj zxR!{zTroeRz=MPv40ZYn1dB}~LYDGay08&t9@P8iQ~Ha66~e^lZ?ibrT|4vU9!%1~ zTobP4V}9tvmYz`6-$0_i(_bj=@xpZ+xP{(So@k+_r$Ou7X6w^qcj26$9I!p**b0x| zdJBB;-W38Oqth;r(ysTJsO^HG3sb&Hqy8Ohqleb)8zSE5bZ8sE>gMkE@v6aEg=)36 z4O)q1RUJxfBwD22gBfyJYLmHkiVw^$1}uVubEI4Td@-W!um;{XE}}y8al(6$Umd@` z!FC`Z)^?Y>tKpI% z2m9ri7iUo>+ShbESqH6;Oj>~GXuWZZWeA8O3AoU(w%?T0G(g@--!ih;NxICh^&e-F zPH$P9o7nP?o?H(Uf*F_yAMgimStZI5@jC~$ej5A^bbo?>fd`>ZQ4duEWT1My-5ufm z6P)bE8YAuAgEP&6DvFEBI6Vmwzx~rbaELZ#XPYDw9nw8s^ToiL%K5q&yeHng+>q!G z7>h3>wwT>2eY>wS8}JwWXYspOynPZM6Ls&9zX`Yo!nLBj0s-?9D=UP$xw1Z1L^m5$ zoh(Og51XiYy4Ho`gAaLB;h2r%lL*iN0x=PyqRm(S&>zeF(dVOGm+@oLjC4^Jp|fbti7 zg6}HO3>>2AtCsfcPFkb*r--wLYKk`FVeHJoC!VO5+pne|uv6$v+DN7Q`t3W^0pRZX zeZ!oRO~9GA2r|$>eN04iKEKT|_KyC1k z$_^?lhY1}k)L5LMPAx>^l%&%KJ#>9V_+R(^-Mmi!5uG+B!LlbDkAe)6xyRIcw&W;W0sQ9rr5**rJsDe4DF3W;zdl60HxFDXg4qTsuYf zc$>)HZYx^4;fo^=6}hdVa=4Wm*_$%nwcL7t5<(VlTcAEY?cf@x+Q`!khxRKq)=G(8 zd&&#rB0ES`!&eUOXT$Jr&GltDEw^oXLGzT7oyA`ZkUuIUNapT_8RVpq`=8mH+LIH_ z27-1>xlu7BL zU@B2rZd0CEX8sN z&!9oQKY-vLEu9!MwS9!&A`DS=Y9oJ1op@b)J*kB?lb!C5bwOt60p2@BABOG7)}}6d ze(Y>o8zFq&s&%CXDb7ok2Z?FBWmtTYXQxX1ZIC+uJ32H7dO^KooiIj?!ExrXlx66# zoo*EFU07(IrOH+WsNyJ?c8m^MtHP=yeqp*O7VZTTxIqdb0LF62>O61&V zBk(y5#{f-2n$#}V z$Y}?P_5B(lXo-g_P$w*WG5HA30F_R^EW$BI1JN|E(!Nmt(D>y+-emq}^_E~aM`Ne&>8vp>nW#T<%~`xSPZ zx95CA*z$Lu6(7@LQdK7)j`GN2TcfnUNN+Po6t=t*L9@mHx75}H5TRK?m4dVm)Mut5 zAwo;3BND9lv4}p6IQmxZ00$2w8<6K&AZ<;?qdk@N?mh$iqr43zA zyr2iP$CLZapWm;(a0spAv>AyeVgI9qq&C}8{N~1f$ucuKY!(7=-A;6l z!^-`QP)SZh3<33n%)}#xw~8(4lt`3b87?doS) z^hE0oCPBMVCbP@W6u8-tO>MIW2a$h&mqL9v+*u)%le2F+GkiqdCM^u@4YnUR1&%l= z-m$X-N|;{Pbp?X8vbDEsV>F{z4L-kk7_+i?!ljP|f--Jp+@O80tk!p38q*w{Vyg6C zSWar(wgX5x*@#loxg-Az{-gIxO+7~YW7n+mc6S5*HCld(#>@XCxBt$$D}h1|m@aOE zZ6}I;M}3mHF5h&!`9O}PbgCtG$;9!539zQT zR!{ZM%gR3?r*?~19xkD_m3eY424Jpl(#{@Bv-o0(1GlNC-F`{NVJpJ;bf1cXieX}L zGro4E)VKqxZtgxWMPJ>^Sjv8`GN&g)@l&eq`SR5Hn0iJuh4Zzes(fDt{h3j&W+?*0 z+)%#pM~K5J7LgUclYDmf%mZIw-Z{9^K2LbkanZi*^)-;$-;>uiS{C=-(Z9=74ScV+ za!$Er?msz>f`?nEvAWo9O?%?5BwcTPK%7N!;~%pY-tw^ULOMj@cH832(^pCVNU`*L zZ2RkZX*`tS`ux>#eFusZEB^2nPB_HrCBEVze6vn$YqIKC1?*xY?`h38KG8Z16}his z_y@XH)pBm*uU=G54(TkoV}|cQ2wE||tCBZxk>`X&vqP@b-_dcgq42Y_H9!#6d}>Z` z(L(yJx`}A(JH0JZOzAMkq46p-$PNB@CrK-w0_i>`6d_nak$J}liNWRhA?Ahp?GlovEyOA8?evvU z;xoJ}kTTadq$uz7gOnN;Rm7ne`a|H1GuYGfU4B4^3trUS0e-sCHn1iK2>Zn(LBx`4 zs=fx2JKuz~`~**0wiyX@awGkIZ%AcY4jHaCUct0pJx2w(VUPD%)hq_4_BYX+DsAmS z-sxSxzCpz58{R^YpY1kN0Wf@5`IVM;6Xz#odcNKv{l1z>%js$Rair~S22tud{?<_J z_y?BYq0ild7({G?6Cq#-0-Z%XdT+c`rvMzqzGvucR*$<>qvMz}2ASz6H*5F1oc%_IN@Q;7Lbd82lFc$WKP#mEmi9MFkDVKB z0wz(4KLK@v<#%nilNRr(w%mD+*CV8|ls)B;cEUeuAmTJtWOTIzXKT!Cdiq2Dp zeO7@IBMZlmC(a1G{sSd419H>O2=?8 z2p)B)u+Et2Xr)^pYz+gQE_R-_!@lQ&F#`;_VnKFLL^hm}2$pfHsOULPq1BRPNEHxfJ1rW1CzU4akN`#xtM^Bi)e5<{$Z81}zxukgm|4)KmVHu|R~JbO6d{8}+Y z$RGxm*3G@GqVLO{9BI}E$8|1Z*BOS%u~3y!pm0y@v7nt3%DFK<1BjkeFZ>UQLD7n* zIw9m2(ID9F(K~{=s51}|uG2Pix*|szM05;k+}|>Yd;uvxv#=R_wGeqMsU^lrOq;oQ zP)mfU-51w>DT$T2v}!&<;-%bKxRYl&ek)~%f~F(4)IRIEfP9yV7R^3e|0zMe)SH-Y zwbL$zFq)En-S~;nk*ZuG2~~au!BZ83DGp!vuaGOQ&#r5UciuB#{b(jm6;F=f(7t9j za&+Z%z{eG!0JC>NWI#k#lE0Z5l*`XY^r{Zj!(wDVx`N@S~nmyM+<3I9=XE5R1p6j%WG}Bb$D3yR2{}c+qw* zhBe?XW()RxA3yGo#k}2|83aV<{w{Ci9S1)D*}vmO44BEH(8r2On*V}3(ROC;wJFuO zYe_G9#9kdNdfztH-gDchD76^7BadEHT(gZL6cQM~V@?8#mXH9w*b-_r+5W`(BuaZg$B` z{l5^nTrGTtpq0jwiCB;j|d7MUW)TNE?&OHuWt!nT-=C>k5d`$N5kdwe6 z3K!3TeQnbi*%jDR(L&7uAM->Znub4nA>Ddn(H9YPI6+s#I5+HB2i=XkJa+mUT=%?f zy-V;9r*j1Mxur_(jty>hX15>@t9-N;Ke~NQB7nsQXccyUo9G=59by)X2}xc(2zyl6 zGtM6ImX!-*hJ?7$lls?0Rn?)IFuV2sY{f0U|;BOI~t=b(qQ^}}%f=WS;IL~}DIRAimvU*>KeQ8gf z1#Xj0v&T_}8(%%ZuW-sEmZPMcl&%DwSiSP^)Cg{z*Q8<+h?v+oSLB?MMvT3*F=J%^ z2K!6HRz-RS%bW|9}t(nsIN@&$WM(NirLEvmfU6gZR?M3g;BIk z@5<%KgWSGwhm*RzT-P4buVF52gCK@^eihM}KpIEMW64i@z~Ir$v*x3mdIrvHCf{c2 ziR3;gTMBm)5;LKQOh~$k&fE@1vj(h<8vMQaKYzz%#URUkz3OiDHbv9s&#oa&^-BT& z%@5j%0k~Asx3q5yXp>9W;Uca{6j$ZsKH1*w^{niNEQgnh!YutL`WGx|>d7Bb#P!dJ zf0!0Bkcx?_S%$!dRcYCpA9MKtb)ou~PfL%L@1F6sm|HfUH>No;Nm6omZAKPno&gx$ z8*5(3i^*Ea3a4(qoY}!k-zDUXQPoSQ5*d6wvljueJWi09;YyYZ_!hdubzj^2PE-$A zfZF2|pJ>qEa~Qm9g`Cz2b_%NJYpB%0h?(2E_TP40cYMgkC)yzTN2HCkB{i)GmMh$X zc>Z=g;L{HY&ILlj!Fmv$`@E^7y;0@L>I8WH#mVwlqQS@rWd?oE_uYvLe_+2@>ccKs zs6BUh<88otMaU_OEqBj;>6M!=mSF#xTVCDwH(pJ^E?rq&b@W>w%xVvVJePPN(({si zixh{(cfDeEE#&hT)L-z9Ov(`kC(SdZkA4nY6HpkhUmMe%`XB;T$X4vcRBUj>A^?Z` zVXzNB{R4cWeLKy|dprjGa02ULioJl(;Jr z6IylvY6MRChCH@<*$I9A$LZcyfNEk<4bnLTu2E9~{-^G2pAzQvOIpr7b(^7p12Cp2 zoQN-IC$!!6H9Vp5(Jmsc(|%bU`-ng0J=Z-!D7DNoyGYA#y!JTu%zX^@?dG2vidnhR zwuVW+aX?Cdcmkm&&l0+GIiipZc{q7>GO^XIy=lC8>{55l4a15;qP{A7coKo^oUA*Cf02Uk}*#8JrDEZa5e17RIoLkl5?dw6g^;qrU1VE8ri;| zm$7|#qr<3xIFs#Y=L`Eh!!L2+jBQ5qwcuCsi55Wi7;Phd5`!D9nxB|&&FSRkqPh>$ zGgP#FVS)My90j-Yhm%yqQ~;7G{ap9uYX!`9vI+7;;;ps^1PCk!-&LXPZ)4}kOJ1lG z3l(s!-fYRzezP?!^hR#4~#M2>l_py~@;)|$L zEb1(-6S~t6^YR!!Yxi9neFz%uNz?pDOt&&L*FOHukh4%ZD50$jzHlQoi1{bF(#qrB zWtHfbNer-{yxiB~It+6HI2@h#css}0Z;RDoH>b(pmKN{Cf$0J@FniH+QL`Y^=1nD) zuS+5)CvRd3^$up-ByPgHcKnUlA|V;$cI&T$>~p-u#SU?Gxad|t;2 z2C6)CRB%O=V-eG>@-YoCX%HoXmCBg8wkhHKIN-NWA#z09S-w zoH7oA2ax&vUIpeLCW@RAV$6DkfJb4n!Ha7Lv;!F_`N;G#qR?)WL~3iS9%$M!)l6I; zyX*4ccJ0U&X}E8L-Vw+dDrE(8es1;P@H>`U;g1bh{8aRjxPKYQP_F;JZMEZLZ?p;^fq&+T2u!8NE zL4XFCpV&vP$@4+-5o-ak6C0@Aj12^E+uCHL^7Ql`kD$>8AhV$kmQ4Xs=lu{YX&Ex9H%|>(W!HeBP4~)+7oWRq|`UgJt^h3lSD$S6QB=5*E#SBFlgUL6q=B)^9`&4 zoCJG*m60L1Yp^E|;((v7xbnAdfNn%(CT6|jt$qOiA>{p?F(yi{wD(I?b|E=z)7#tH zD|B8@blqpf1+n!*5pksvop!FVFI7@7IUS z$$CRh!ld-kWzn5hUwc+pV)4E1!O|^^01C(9f>BMgkE63VRO^Lx+FnP9-LplyNDoJI zM^;?8dEOFmar1-DRsKkv-T?g2+?H&SWWav^s(Z`H+31tL40JvUNIuYk)C4U=1QK4PVaAP}QsFo!So7>h)csEc~#$h;QTk)Y)S$AFlCa zH=s5F1_s25H~gydh}dh7*ZZe_$tK}j&ys&k+zbsz@SzN*6C$TuJ$+*$`6d|5(XtPB#VEDZ6bTOg|$9Lx$qs9GMoJI3dn|(w;$uIpsE|4ih zYONM{vI0892k^EAnfrXB2tVC2a9Zbj!^^G>ns z*z@xOPTfy93Cj4UWe@ZnAb8udjG?mf`N!cgVz~h67m2Y{cg`;bHMW;6(dES>-f9d# z?whnccDTg5VR$^TIPCflf15wZ-&RHV9DC1kz_(zm*+J%zVtUPX%^kt{`4qGF?tfE_ z+F8T&a;rC$hT~H_)-yCwV-?!6z&94{6i!Xm38RWQgZAQrn8W0)|{fb?h*&%^W$#ySIUlzeOV$lmc39xiTAIw zQ>xscqXpO7x7T^Q-`&G3r?Y=}w_H(rqU`0?5};=&CeK$L`Z*SaX1J5WcV6iQ{0GO{ zbCen+QcL(lDL$>``$KD&MI;vAp*w>cNxR>B}bIuis)ZScDw9@hSkbO!Hyo5?VEC z{^bpMf%%q1B(L2!mBlgaKA)GiUX5ixS)J55Pao>5ytCJ2W&dMgN{V%_=g9povije_ z@6cZ=mw#%yOoF>W9#oNTWw$+tFr5$j%=q2-TXm)hxABV>u{XsOOE80IVmChbjE^ojQG< zq;!=>m2eU@gC)zJKlQP@$;BZuq-h=bI9O8K><-n5Xn@7WL3%Fa656j1CfcYL7JKW6m!^t`6C4#)yX>Q z_nG$^&_6|%zF_pL;1Np6SL_z>;%w0SGk#mGakB>NV=L6_J1`n$Tfe#~GHKrqcT0j( z4`g8Hbnd-U2*Tc#I&nexATBFuiMBzN+5<&Z@Cb_PBeqI9tU{bde6Vy3u5ymS^H;iP z{h2BjY%)I|g?;5)AiqIqzSi_0dbejDWhIt~(O7YFL6p$cE(=U8He7R<8VnyQ{LaNr||@a>)7+a*Uz}s6ag8kY?R-BC^>tyqi1z2>(xr z*3Odo-|0A7n{<80O(I<=Ntto)ulS8`VY6LZlV!nZT9wq~vi6Khn(JRyz3WBSEWh3~ zi}c@@7$ma4qTy@)278jc7#lU6tZ%=<833Mv_wk4seJoUqt8k;wdCQjDkSM<^KkAeT zV}S>>*gG^0mg#mJpFL02LW7X%SAV@)EDJ)(vr3I_sThI3P}P1O{K&WgTzoKD0^7z-0Kb|{^#D)!~=yQ$u6!}JYA=i@2Bl7O_`n=TNzDm z)+yT(VGJIl{~U-mLbD}dDJ+S^MpkxbGb6;xM;PkV&Anm-(xTZ2f?oG4nk)pC?@z2c zngI^KZr@z5g1lDMQezpA6`iXK4e<-X)9-?acyOD1>opiua=dR2C6gb%Ba+}k zf!I?>&A4m*1;I0hiH=ExmkFn5?m0jQ7zr8U>s4Zl?>27!MZn#feZ(HKQ2pmJCsL2B zl29i?VgD|-rh6iaoZW?zm)hPFvBN*Bcc^fHkdh644U~|xKaMK*<@)YY*!|vi5d|+I zjyxNBjr{CzpgRRV&NDogtYM5o@AG83Y`E_GsHMPFT0*|?l_Fjs?60AvHy2T#-7N6& zH9*oQGal+jJ+KgQ*m*wf#&;`B;=Pz>7Y_X&$!}x)_H;e}rL{0IBy4jzB%l@F!}{g+ z=q$zmUo5;KM(_h3ulu{f?Hzaub4NG2JopG3)c>z+vbmNeD;k=V!_m)*$vsJz90yLu z_gc)ZPN>xU?b&X*;(wZ|KaZZxB{+g*5xJi&|P%&_Oq~YGb|&Nm5qDxj|F^X|MZy0nw$=`uJwJgIbj+0=x(&T?l8CgNec+H$qy0+E?=n_#oKU+ZHH=%3lZ(LkXxzg=*~a z*}IG#3&1d^%4v=UN2OECkd>p$tVnuA@WD=B+`)&D#cMxPX5lL)@To0zmmfm_O3Gx# z!WtIGnlXFj$ds=Cwr32?N-LPtlNj8ZwAo5tGZsAduq&F+2F#bozwu=+MWAQ-@*yoU zOXiF8^bDOx=QJechpouyIiiHpm#6cUoD72t83T5sYTGV^s?d83k^6qoRE{M(;0Ua4 zs;MR%h__tP(}gm~e;MvgJlfd(rnKzfx7f2w50FvI0Fm4uIDH!7Y(@DEScSyvPyZ@$ z4~{~|%GRxHHrG-^iyG;wIuB&bO?7r;Qd=!Kt9wXVC4JXChrEQb+?o7tsT0Am1&2*E2Jtx@$sq&C zNtfg0C-z&St%l_Yk#7y*kH=pFRDbkw?aqYF%W7 zluhJgN+Im}RWwDNx3CKaZ?QRM^B)DXF;~c2NAE&v+%;Y3*CF1MC|x;Pzf+~ZE16o@ zE?!5uRY`9Rb`_S9YEeV(&Mt-R9xX`bI{!wO>qot#YHV3_Kz14ZH?IX9!4{SbwatM| zEWCfyb2H_}lR^QL?YS=76N43Ylw-e|Mwj*#d23?F^o(ENjqz@a30ds<@0Qx@uQcM6 z=UbBI5R|1iX&M3h(YG|W2K<@7Dje5J54>0^<%7QV*%xzneC!m7zDvr8EePxjmob$Qm*yYQAa10j zd+mx}%rOz`+6ty&eiril;bnq5>2y!PP#tjW@{qszf=Rx`KS^F4_x=zEt|AQkQjT?N zm%P4k9(UMCl!=l!en$SWk9Jwqp#@Vq80oanwpBtTS(?hubSxzgU0w;TE>)x)gBiq} z>V*D_wD|yj5XEIT<)tfw;T0umysxOR)UJL-ul;tGz}Kv_H6zE(zS(xzrA-W%-@0+&L(LY}Y-T!mK=s_?(i99ie^eK)udMspA+t0yE zhpK(H(mZ%RL+tDRqE(^&Jn0YNi6ite3hj4aCp{p=1vYYh z{|J?OxiOdR|8BkrON)-|;6c&~_%n-D;d?I%1in-XhW>*own30zla>lMo;z}Q>wD%n zxOdS!{Zhd{o1>3(Qd_IaGr(#{z&PAVVnbeMS`HxXj6_ral`tKn%cuB+)3xj`CTzM3 zMB-P+ws4PZwxAQv$xh4xQ~O&%xnJ*Q=CR=L9{gewGv4jewcNYU1Z&Qyfve@k!yf~S zwc1)gF<;D2_--8?%joio1)m>!JdSy=Y!tE& zeqcNuPefR(x(ejs<%fRZjCVf{dp1~_mgxh<{9aj08bO59+f5(o6^1NU_y1#Nkw|Izpk6Evk~%2+vZXpd z2L+pO#*X(HKO@(OUN&L`OoUhsZDOR3l|@v9j@0QB>oRF4l@ezCVG1@8P6%!9Yi#13 z!lP|&<<7jqT_7|egU`vPMu!QH{7wJD^2NLrefwVHR+m|*8rAZRIfi`q7U48UDNP5$ zzO|iA6o-ylO1-~5Y0fhVitTqWya>5iV6}K1M#NIL z=z+ownd_vrJY+5#tu@+YY^%+0dArLy%+LX=AoBa?KI=_z5dMVU(@fu$+&wu)<{^Z- z{a9`=ZXSS}oN5Gqz%J&A1*@;WYuUfqz~`qB5DgW}eSl(>ME>*}i*}!8YkkzarODK< zIND_wLDv}+rQ`=c2wy(kQ*`7TSC5i6BzU{QbTL8I@Io-!1nM+TTA94w?*`uuqw<=4 z3vKaEAMm=$@Z9P%X2^a$QEEm*(>dLWO?ACR;?+Yord1lqe9Xh{DEGBs(EfMqb%#(+rvz2{(=tDRpN z!(pI7v83OGs-b?3w+hAwXYOCR{gZy3!WW0(-!Xncc4gfMGhx?FzXFL@6K!#dk8>szd^kSwIVt~=^rFDY`bl-Ny~rU&n!k2P~29Naw2 zSIGM;e5eu;{>=;iRK$9z8v`AzxIEj30`f^^<8Yo$1X|+S3toK@`V-$5wBimtt0r)# z%5NxOpulmprr=h3F_-R5uMh%vJMVa&iJ;w^omrn&Jo_YO);@!Lb2|D)=mPxAYwn4|7P|M6-P1_BpE6YfAX0c&?FMse$mjl)wc5!}2Ovqh-xLs?FXKjnjsU&@Gey2w=(ccPr zG#xP#*;U6X4f+Gtb1r@3YNj5i98Oe}{4ENDQ-2;y`C-T0@!c3aQ#%-Z#lw?d7uX@1 zoqD{Yb6xDY4>thn(geLI9yx0na1T2_VSk2?SfT{13XrTWo{{4%6lbp21; zT<^H{t|t^7ShXytKdYyxPlzllsfI<0^->t5Ymh-3Mhx(@b*in3Deie!} z;XOo6HL6(Hbq{5WmS60ey^Em62xwnl%&B-peO2vK6?EqlU0z>74L4^_7*07{qB@%q zR-*P`m%_3@4e4cfF{83}m>9ZZ+VVKtZrHs$?2Ta8bCkv1!wu}#dUB-lxGnI4$)lS- z+)eAYL-=TjC8q>4pf-FpV6optU!9vAp*ZzJU+dT=y>AGGq;g-%`t z-d9J^(k$JI>~mKOF?IKmsZPrMmK{d z3_cg*PM`0*c@I4h`}++~367E(HXAa|b-po=7)6V{A9pK;8GVH@C1YOz3n3^47d5k@ zArjXGdla4X5y#9%&r6=c(8`g%fk{l@R>=2?OmcTRt3&^KSKlSOw;0mbza;1xmXo8P zB$wZEkKNRIKe9Ya`amt}()S5#HoDtgrFuVWzGzC)`GEHD5{8-3kx*MqLbN3kgY5f) z@Cplj+*jx&WFLr_GT%7tS2*0=2qQTCj0mPCg5>1x8h z#6Z|W#U2`bOs|I2@i6K7dZeKd33bT}EKk^;Rt+pCE)cs;G!+s3;&H*0rR>qLm6v9r zE6sNWZ^X~LyA16<7bE*Wkeb_RGSr_Z^b@WRz2hnAk=>BK>9bOo7IT3%&E!iHuI``%5x6Lv8Wt$l0YlcNaR<@f3G`IGj zQtO%bCgVc}UcSAs(l1nJ-I*jO*vS}kn_Nyd&^;57NXAJh@Bd_(J`Pf#LQ9rO(|c?O z>{8`H-2m{4M5v_yC$~13sa;7Mq39D)ER_0EF+!rzwx1!PrTA8R$p3e)KCrv*Xdxm4 zw=VKe!*spsCW^&Na%5Vn2~UHL<X-88% z@b7b2^O`!4d9!9t-!Qlj+deQnbf<=m7QlMLo)#>8+6p zy!JR(-MFx<2;0HPf5Xo1nJy#H22xu$CI;`3Uk8<8M!L!|?sU zZnt1+O;s8A7Ea#YE{)X@+;fXj!k6TDSQN?MoEbEx;FgzoA4gMs_?7*e`A*_bmolni zm;VK9P|yz%iHMrI*O%7%q4waH%G!@@s92qU6FUm-1+lsTJBb~V2yV;Q->XfXcio?{ zS?v)IP&QQ-(J!&pO-lbDJvZxCG_*kbbMgh^g3sfn*0XkyZGjhb&4U(>p|h`Z?C{2r zW1#xVR%XX#$VO-jlZf3uUx|=sd}_*zdcF@92=sd(z4JQNGRtRZ+&_OpCOErCEK>Uu zANWtrC{}|syYM-NI;47P_WHQl`q9>ILwjWuX+L6ON)qbn*8&W?tXKm z*L)I)XnKDa&PMG&@+D8AzLKV3 z_@~@f1xmniArL}WgtDfdYRJbtZt^ijC4UDWb@?Zm?4+^WcK8e1ls|)Zd3}1}9SFA> zc&APW@7B}K#}fx0ACGn0oaDAKp37M&zQ-BZVBpWPf%F59>h8bnJA#|WZG5)?N);Ps zH_?baov?+cT9?k=$)ZO4J6gmwzFK}!2d|FCeMn&}P%UjDm~U1NE6G9uaw}Z4;bxPY z*n7UCyC5_7Hk7gM(*!NAs@4niYXD-E7*-SOH~G>LdRIBv-j^(+`cy2`98IBg2Nxzs z3ca-JYO80F1B1pDQ_t&Jry`>TK+(i>$x`UJxB z#vh1Cb)1I1Yy7|PH^BMl+^FF{1M`0xIum~;{5XtvPthn!Wv*OFjwsBvO71Hu_n9lX zZyUCfs1zZ&r$fmPO(@rFAxEx}Tw!yJg)uWTyMO+L@9TR!ug~+mpYP}-Va4+Oc+VDR z{x!!Lu>?9FRTZCqHwC*P)-%MD(Y#}9pXoBFZuC6jPy%fn`*^xEZf>knw;bNi4vGHv z8y8<%G-~-4ea|y=>ay7jn*;}Plt1>xR=r08c@5q7DLj}S5Arz1aV|TA?1wgcU?PzD zcyEZ>>G0?q;>Gq{UW8kW=e48oeIv9iubw`b7Dm0-MW1EJ_IWmf;XR-xiei`cUfgDO zd|tCUU+>oQd)=XzvMe?I8O(KiSu2{6Z6bJX0(0803Lg$Qz@;#r ztks+MWyOm+K()p;XtAjY;S$2!^L3S1mas9aRf*d69N^8b+@K+hfnq&>)0BLS9MG@lgPb`S>CIrQMbaY9^nyofuiiKJ- zZb955VSV{q3r7IHuY-rk3mokU+9kvq=)%zSDpd{7nv;Q8(3s6V`oUkNp14N=t@4fT zFAXNJuM0?Y6xStn1X(|Y(@f^r&2fdC_a`sVQuv8%tbmjBgkfq?fw;6BZAi&8Ex7?Y zELN>c>!&RJJVbe{=m9WmNpPQ{1%2Z^!a51@qa(c5tWZ+nzg8XTFRlsUmyHeqQZAG` zV;{HkkZiR1uPZ{r*K}iuZXznHNe$N_@48{EQ8V1stYG&L{fK^+vGhW#e3)hHWNX3H z`c|IZ{c=w47h$E6`r7_#+DfyW?PcT_ZjXWT5a@ym6J#7_w=G*&bUvA@vK&X>0q`P9 ztnW7(Kxp`Oz;E!9*}BP>PfpFVe9VGm-2TA@O6es1Bq?vwS3RyrbpAOmiK3O=*sao^ zDhqfE<1ue(wv<7qmf|zDh#_%-ETc|fkI`uMU3|su0e+A|#ADft+>uXiGlL1LEUG@K z`7_>pT4*8%^PSuGYuFEt&;{zTo&h@xcU7Na#dfPTe&Se~#5vW!`cKBMHOSJhlL6BW zT3K`Q`NZU_D}n{#p!g#ijC+)nWU&*76B!q3vz|4%;jBmlU(A3iVzbNFvP)qmUMHu# zyKt#fd9V_iHe%}n@RP7^6%L;WF}c+W5%?@`r{Afz##v&ZH61WhY-iEM)L{vFlL+J` z$M-Mg?c#5?N?_Fa!Zvld3z7R7r4Zf;miucSvlEDkJl3wNe#llsaGS*z&T9=^ z@8AIhJvqzOpFu|_>#(W*j}J#M#`E>9EcM5uO*KuqF=h62;*vynexlTj6Mk7JVN#p) z^k8qm_F^u>aY1+M*ZriwsiYml_}!{m)=wPNgNc6=Gjw$(UzvI6xUi?ev^T33X7uPu z`e~Z3`L0^Dp*A}@);oW5CC>@yi|BNTRJ-;PecVUigxbJT zAEZ;01`Ik*M3K=W^!}9pbnjTo1nxYBRVxixIWLJdZwm zsKS+_aL6Pa{#eqh{;#{Nc23@Ak2yqf_xMdoIO32JXBWa1QfWZnSD1F(e&)1u8CiQe zU<}_n)DNd$toQ9&cD$3K)ZsOlboDlF7Vo9uN~Wm-6k}S9h}YW0B0=P`xzD+SA8}nomf_US!_dt_lhu=WqDJfmA zS7|@RWg+4i|KpF?5l9r(tR@!$XFy*mv@hxg%--{qXn3;hc7!<$n`EfZ03~jn*qlsO z^trWJ*eU0k6Mj}9;wkW-<*S=G3C}mIHu9PicQ5~poqVd>2JhSN zJpmec`A?2xyiVgHb|nsh{W{yCH!ZdgYrGz3ivMi?JM#rXRZZ{=iTa*szRzNttB~V; z42XR&E1MzB+k!}MZH}8JIjOcwfBPk>6bFdR9j61!@Nk-I$c&{Cfz#jsK*?=nE!b8f zQk5-M#kp1xTx6H{%_~Qcsh6!q;pVK^zh)3r%YZ+CRIOQln^;|3RyKR_hTIMOsbc*~ z|5>NZAC=Zwv1zGaA;t;MR$dA2vx&IbJsP`Cv%GP&VlBI8Icl;YW(U0769nC@6wIYc zh4(HEuaP4WBD8;oF$m8iSCdvQzmad9FLK5R7`-3$SMk{g&0&~HZMEUZo`NNvwxkhP z%*U^E=b<)eX(aa)DURh;&x{{2N4;`L18EtU&(p;IenJqaGHzx?69fy_6CBl&DWzl` zV)%+{d;wzn!%GLxu&d+7b>RF?AKUlB{Tk@cSG?O|uV}YK=v9&sz^Ru@*%4F4x@}0RF@^r3GcL%HY(;D=0uDWN+KhLxO!HEsVNx@Nyyj!gA0b9*P z6@H%G8Bha}Z7phOy6t9fEQl;u;Xhy+Mts~_SO_@plQFLqSx<`LOwQMd>MBCVKGD)0 zh8_dn>KUm0w=Uc+z2lJ%;FOO%)Bnbr8*7vzbfr!2?;aMS-BT`Xvw|G9$joI&|(Em`V#v!qN-`};H0M3j=!84+ZlFSL{0HsnRbAAc= z=QFDTiWfG`H`g3NRwPE?4bUJwx@tcZ}(r*fo)yZ7k z_I_*-F7!=Cz>&|424Nsqa|;lwP)m1u+IDQt_o{qcN20bu5GPQ~KWgz&(9n zXwGVAGhQZTFZuC{l>8F{VH+!#dY>UgRDhZ*!O4^;92|djEmQbNjtj(@r@?IUr zt$9Ufi`;((A8)sz|8U1}Ja_gF5V?nI!QjpGh_BrP&quA&0J=@>@j$Vli*x;8-Ya8k zN$D;}q#7k7+BC#y1ZZ$ANjzo7aSt54(Xy2AY(y7(dpo)+ZbNIU%09k;{JpPhS6E+p z{UG+b?p{dL4`GQ}nBmR2d7nIa)X)QHcIc*&LFh`=QbPp7E62_m7jF}F^2%c6g_|KJ zGi~6y9n$9Wm{FRx_DXb_))hRmTc@{grVFR7qeSI_Fr^9N9e}M8@rARK8l+0^jmukA z#oVKTZiPCwuDDYiS^_a73IHC;^+SXarm9*GHyYF#ZHKJyUj(aXW-~a>%(=r$LXwqE zQ7uoF6t3WdaL{$*4`c4qQE~tEx2v3n_x8c<8Yu*W8@ZC7x@cAYV^SQ|QgmgG+3M9o zqY|wh@K9TAV4zr5>pO&jSGr7vZTrzE1*1&!zUvJ&kEgt7O7>z~bDZmRGj&%tl65kYEHoPpKZYbdzWpYF zQ4!#b3WzI=_)cV`-+yxOZVnV-B4qNV9Yu%am;5@rjrX!>DgP(x<(O5~9bD7&sS&8Z zQd>b}ZXQH$(uIEB(Vmc-O2Ub16P@@Pxtethlc>xFl0`Y!YWG-g#@zv7z7;SX7~&>8 z{on)tUXEjn08pAyyVi`tZYM1{d*dcf#VIGiUkr+y3<>Hl#ZK-_aD5!B;<1p_x2)z) ztGS0RP_IE~`PzstE_r#dz(~00wZ_$DnUI}Xfy{H%xAdBddPo^n|0wBKPgvB+=DJ3L zG0<}~DWR^(n}0Xm-~7k{y9e-uxtfv|UIeTK#a7ILq*^`l*Y<%V4m{kT9Diy?SIE`A>9twOBr3^ zowf4fxT@R-SGLS)n~n0cvN4>&?#p~Y_;33&^U_}|;3AC9{#%^xy5?z%T^;=HJ=^bx zt+TKNzjt7uOCn~x5utjB)3Y~O{26JaTJL-WhR7%sdzx)0Gl>18o`bV-#Ppeki}X8! z%JyMDs-qHZ&o|dCj7dUJv8zldLJ@2$X?GyF>^Vc$_BShbFkM}O{A$aKH}7XT##DGp zEXc<{%xIG5qpSY3?&%*C?Z3P;%Iq(9z#rS`XW;G$vbCg>2^Pg0PP}wDXuoLJxbY8< zNtB|T#An1OqSLoB>L4zc{R;i0TPp&#AJ$vh5iX>5BUtwc6PVlyv@+zFAs#sVF%G8|Jst8kFwjxR8=4wT(~%56mZ) zKE3Wi)JZ6{WnxbVL+K`P>bb8f|NWV75>!+KVIzy$Ol;Ri6V&;{M6aXoEQ;`1X^D;Z z@Q33`0%M5Z1@Q)A<6iq#hZ!+N}FrEilF|taFBqPXP`NaBcVflyncX@N&`&H9AN?^8_+%Q|MOKsr7Kn zQC4*E+%-JgIKT*1;TJ;o2k1kc<>BdN8sEb2tSmyXD!FGWU|uK12pSkMV7Qy{)~bJu zbaf-IS7H&lKHjp`o--t^*nt&%XO^9GfM>QClz(V*u~9^-Z^NugJ-2S*zy6Z%)M!uQ z*;`=5{P5|knibJ2@v?eoRz4t54aq);8(=%E;ust;+wY|VR98?szoAMxHRAaP#NVCn z17Qr<7Ca+zeaAq%^={l8ck;aa1^DN~!JLb~y$T8R;jAc(;QKQNN#J)~hny@Bo@@Oc zEEZ(#g@Ej_+=?BKl5p})vK(fZ$GDxrRCQw|*?Deb^Fg)>kwzluh7;VpV8?a2&SqB+ z=L2<4e37beZy2KfLxC?aJnJx