From f9a0716c0f66e569a8c10c1e422f994744ffd641 Mon Sep 17 00:00:00 2001
From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Wed, 20 Dec 2023 14:51:10 +0000
Subject: [PATCH 1/3] Updates from DG (#120)
* Stop command
small change so command is available as a constant
* Lots of small updates to enable opening of a secondary configuration for
batch processing control.
* Fix user input bug in viewer
which created exponential copies of user comments!
* Adding TAST trigger alarm action
To be competed when GW provide correct string for interface
* Echo offline detection
Fix up affected datablocks for offline echo detection
* fix module import
System for importing modules from other psfx files was not working.
Probably wasn't working for quite some time. Now fixed.
* Bug fixes to Match Template classifier
1) When a large template was imported only 1: fftLength of the mathc waveform was used and so clicks would be correlated with noise. The peak of the template is now used when the peak search function is selected.
2) The plus button in the tab pane had disappeared.
3) Seems like the decimators were the wrong round. So the waveforms were using an up sample function when they should have been using a decimator function. and vice versa...major bug when using different sample rates!
* Fix merge
Merged in a single commit from Jamies fork that had updates to the
template classifier. Then had to make a few changes to get it working
with other changes J had made that must have been in other commits.
* Logger forms viewer
Viewer display of logger forms was throwing exceptions on Boolean values
which had been stored as a String or Integer 0 or 1 in some databases.
Now fixed to turn these into a sensible boolean value for the data table
* Logger form plotting
Fixed logger form plotting in Viewer so that points can find their
correct GPS position (based on time)
* Fix small bugs
* Fix settings import
not all imports working. Now seems fixed.
---------
Co-authored-by: Jamie Mac The latest version of PAMGuard has been tested on 64 bit
-Windows 10. We expect it to work without problems on 64 bit versions of Windows
-8 and probably 7. Some testing has been undertaken on Windows 11 and nothing
-unexpected has been noted. INSTALLATION
On Windows, download and run the Windows installer.
@@ -372,23 +371,27 @@ size for the JVM being used to run Pamguard i.e. how much memory it gets to use. The default max size usually being too low.The -Djava.library.path=lib64 tells the JVM that it should -look in the folder called "lib64" for the required shared libraries (change -to lib for the -32 bit version).
+look in the folder called "lib64" for the required shared libraries +(change to lib +for the 32 bit version).For "Mixed" and "Viewer" modes just add a "-m" or "-v" to the list of java arguments. On Windows just run the appropriately named executable (e.g. PamguardBeta_MixedMode.exe or PamguardBeta_ViewerMode.exe):
-java -Xms384m --Xmx4096m -Djava.library.path=lib64 -jar PamguardBeta_xxxxxx.jar -v
+java +-Xms384m -Xmx4096m -Djava.library.path=lib64 -jar PamguardBeta_xxxxxx.jar -v
-
Importing modules from other configurations: New options from file menu allowing +import of specific modules, or module settings from other configurations. E.g. +if you had three similar configurations and had set one of them up with a new +detector, or got the click classifier settings set up just right in one of +those configurations, you can import the additional modules or the click +detector settings easily into the other configurations.
+ +Improved SUD (soundtrap compressed +files) file performance when scrolling through +audio data in Viewer mode.
+ +Logger Forms
+ +Boolean (logical true/false, yes/no) data +were not showing correctly in Viewer mode. Now fixed
+ +Data selectors for plotting on map were not +working, also fixed
+ +Bearing localizer running offline was not +correctly saving updated bearings to the database. Now fixed.
+ +ROCCA Classifier fixes
+ +Allow Rocca to run without classifiers: Fixed +bug that threw an error if no classifier files were specified in Rocca Params +dialog
+ +Fix memory issue with +RoccaContourDataBlocks not being released for garbage collection
+ +Set RoccaContourDataBlock objects to null +and stop PamObserver Timer to
+ +force release
+ +Fix problem tracing whistles in Rocca +spectrogram pop-up: Whistle and raw data were being cleared before the user had +time to trace out the whistle, causing PAMGuard to throw an exception. Both +were already being cleared when the pop-up window is closed, so no need to do +it here.
+ +DIFAR Module: +Bug crashing the module with null pointer errors fixed.
+ +Whistle Detector: Fixed bug which caused the detector to slow to almost zero speed +when large complex sounds with many branches were detected.
+ +Screen Position: When using multiple monitors, if you move a configuration to a +computer with a different monitor layout, the GUI should work out if it’s +opening on a screen area which no longer exists and move itself onto the +primary monitor.
+ +Map files: Added additional exception handlers -to handle corrupt map files.
+Map files: Added additional exception +handlers to handle corrupt map files.
Restart Options: When you restart -processing of offline files, if output data already exist (binary data of -within database tables) you will be asked if you want to overwrite the data, -cancel, or try to continue from where to left off.
+processing of offline files, if output data already exist (binary data of within +database tables) you will be asked if you want to overwrite the data, cancel, +or try to continue from where to left off.Updated SoundTrap sud file interface so that PAMGuard now extracts and stores the Click Detector settings from the sud @@ -508,9 +573,9 @@ the first two characters of the string name may be.
Use of localization sensor and orientation data -for static hydrophones had a bug whereby it would continually ‘forget’ angle -offsets applied to static hydrophones in viewer mode. This is now fixed.
+Use of localization sensor and orientation +data for static hydrophones had a bug whereby it would continually ‘forget’ +angle offsets applied to static hydrophones in viewer mode. This is now fixed.
Click tool bar: Correctly shows event selection options even if no species classification options are in place.
@@ -563,10 +628,10 @@ whistle classification module.SoundTrap SUD file reading. If you’re using SoundTrap autonomous recorders from Ocean Instruments, you no longer need to decompress the SoundTrap files prior to processing. This will save time and a -lot of disk space. Extraction of clicks from the inbuilt SoundTrap Click detector -can also happen while processing SUD file data with other detectors, thereby -streamlining the whole processing chain. Read the online Help for details. -
+lot of disk space. Extraction of clicks from the inbuilt SoundTrap Click +detector can also happen while processing SUD file data with other detectors, +thereby streamlining the whole processing chain. Read the online Help for +details.-
Note that updates have also been made to the Matlab interface -to PAMGuard binary files, which has now also been migrated to GitHub at https://github.com/PAMGuard/PAMGuardMatlab. +
Note that updates have also been made to the Matlab +interface to PAMGuard binary files, which has now also been migrated to GitHub +at https://github.com/PAMGuard/PAMGuardMatlab.
See major release notes for V 2.02.01 below.
-Bug 495: TD FX display throws -NullPointerException if user has removed all data units and then moves mouse -over display area.
+Bug 495: TD FX display throws NullPointerException +if user has removed all data units and then moves mouse over display area.
17. An implementation of the Generalized Power Law Detector, -developed by Tyler Helble ([Helble et al., ‘A generalized power-law detection -algorithm for humpback whale vocalizations’, The Journal of the Acoustical -Society of America, vol. 131, no. 4, pp. 2682–2699, 2012) is now available. -For details, see the online help
+developed by Tyler Helble ([Helble et al., ‘A generalized power-law +detection algorithm for humpback whale vocalizations’, The Journal of the +Acoustical Society of America, vol. 131, no. 4, pp. 2682–2699, 2012) is now +available. For details, see the online help18. -A Deep Learning module for sound classification is now available. This allows -users to deploy a large variety of deep learning models natively in PAMGuard. -For details, see the A Deep Learning module for sound classification is now +available. This allows users to deploy a large variety of deep learning models +natively in PAMGuard. For details, see the online help.
@@ -1205,8 +1269,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb lang=EN-US> Bug 437. Right whale detector crashing if no input was set.6. -Bug 438. Text not showing in tabs in Night colour mode.
+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> Bug 438. Text not showing in tabs in Night colour mode.7.
7.
-Changes to Spectrogram Mark Observers, to allow individual channels to be
-selected instead of the spectrogram panel as a whole.
8.
2.
-Java 12 is better at handling Windows scaling issues on high-DPI displays.
-Beyond that, users should not notice much of a difference between this version
-and previous beta releases.
PAMGuard Version 2 contains major updates. -You should read and understand the notes listed for PAMGuard Version 2 contains major updates. You +should read and understand the notes listed for Beta Version 2.00.10 before proceeding with installation and use of this version.
@@ -1479,8 +1543,8 @@ Upgrades to the Group Localiser, including better error estimation.2. Click Train Detector upgrades, including ability to import time -chunks from csv file for batch processing.
+lang=EN-US> Click Train Detector upgrades, including ability to import +time chunks from csv file for batch processing.3. &nb New Analog Array Sensors module, to read data from 3-axis accelerometers.
6. -Send Email option added to Alarm module.
+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> Send Email option added to Alarm module.7.
6.
-Bug 387. Map was stopping displaying data based on the start time of
-data units. Have changed this to last updated time so that click events will
-display if they have been recently modified. Otherwise, long events get lost
-from the display.
7. @@ -1870,11 +1934,11 @@ to work with whistles.
3. -Added option to export all settings and parameters as an XML-formatted file. Note -that this required changes to the structure of the Array Manager, and as such -any settings (psf) files created with this version of Pamguard cannot be used -in older versions. Older psf files can be loaded with this version, but will be -converted.
+Added option to export all settings and parameters as an XML-formatted file. +Note that this required changes to the structure of the Array Manager, and as +such any settings (psf) files created with this version of Pamguard cannot be +used in older versions. Older psf files can be loaded with this version, but +will be converted.4.
Upgrades 1.
-During conversion from Core to Beta versions, if there are any problems
-matching database units to binary store units the UID values will now be set to
-negative numbers instead of leaving them null. The user is warned about this
-and encouraged to manually fix the database.
2. -Bug 323. Difar module. Fixed a couple of small -bugs in the DIFAR system which caused it to not work if old configuratins were -used.
+Bug 323. Difar module. Fixed a couple of small bugs +in the DIFAR system which caused it to not work if old configuratins were used. +3. @@ -2126,11 +2190,11 @@ the PAMGuard Viewer the older data will be converted to the new format (see below for details).
The most significant change in the binary -file format is the addition of a Unique Data Identifier (UID) to each unit of data. -This is intended to aid in offline analysis by making it easier for the user to -link what they are seeing on different PAMGuard displays and also to link with -any data post processed in Matlab or other custom analysis software. UID’s -are also added to PAMGuard database tables.
+file format is the addition of a Unique Data Identifier (UID) to each unit of +data. This is intended to aid in offline analysis by making it easier for the +user to link what they are seeing on different PAMGuard displays and also to +link with any data post processed in Matlab or other custom analysis software. +UID’s are also added to PAMGuard database tables.2. -Display colour options will be lost and most data -displayed on the map may default to black. This is due to the above changes to -how colours are managed. Changing back to the colours of your choice is -relatively simple through the PAMGuard GUI.
+Display colour options will be lost and most data displayed +on the map may default to black. This is due to the above changes to how +colours are managed. Changing back to the colours of your choice is relatively +simple through the PAMGuard GUI.@@ -2236,8 +2300,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb
3. -Rocca Module: added StartHr, ProportionWhists and ProportionClicks parameters -to Event classifier
+Rocca Module: added StartHr, ProportionWhists and ProportionClicks +parameters to Event classifier4. @@ -2388,10 +2452,10 @@ high sample rate.
2. -Bug 305. Date and Time not being correctly extracted -from wav files created using SoundTrap recorders. Fixed by correctly finding -and unpacking information in the accompanying xml log files that come with -SoundTrap files.
+Bug 305. Date and Time not being correctly +extracted from wav files created using SoundTrap recorders. Fixed by correctly +finding and unpacking information in the accompanying xml log files that come +with SoundTrap files.7. -Bug 279. GUI Resizing: The whole PAMGuard GUI would suddenly resize to -something very small when a dialog is opened. This has been traced to improper -use of a common dialog component SourcePanel which tries to repack its parent -Window. Some programmers had inadvertently set it to repack the main PAMGuard -GUI instead. This has been Fixed.
+Bug 279. GUI Resizing: The whole PAMGuard GUI would suddenly resize to something +very small when a dialog is opened. This has been traced to improper use of a +common dialog component SourcePanel which tries to repack its parent Window. +Some programmers had inadvertently set it to repack the main PAMGuard GUI +instead. This has been Fixed.8. @@ -2749,8 +2813,8 @@ same click multiple times
1. -Bug 253. Database import fails when Access database contains -queries. Fixed.
+Bug 253. Database import fails when Access database +contains queries. Fixed.2. @@ -3186,19 +3250,18 @@ sonobuoys. See online help for details.
MEAL Localiser (Localisation Group)
This module, developed by Jamie Macaulay of St Andrews -University estimates the 3D localisation of clicks using a variety of -algorithms. It's primarily been developed to track harbour porpoise in three -dimensions over scales of 10's of metres. While currently only working with -output from the click detector, we hope eventually to extend its use to -whistles as well.
+University estimates the 3D localisation of clicks using a variety of algorithms. +It's primarily been developed to track harbour porpoise in three dimensions +over scales of 10's of metres. While currently only working with output from +the click detector, we hope eventually to extend its use to whistles as well.Accelerometer Readout (Sensors group)
This module, funded by NOAA for the South West Fisheries Science Centre (SWFSC), measures pitch and roll from analogue accelerometer sensors in a hydrophone. Data are fed real time into the updated hydrophone -array manager in order that bearings from a tetrahedral tracking array are correctly -calculated in real world coordinates.
+array manager in order that bearings from a tetrahedral tracking array are +correctly calculated in real world coordinates.Wild ArcGIS Interface (Maps and Mapping group)
@@ -3208,12 +3271,12 @@ marine mammal survey package. See online help for details.Alarms (Utilities Group)
-This is a general system of visual and audio alarms developed -by Doug Gillespie for use on a variety of projects. The alarms can be coupled -to any module or detector in PAMGuard. Where appropriate, modules can control -which of their data will cause an alarm action (e.g. in the Click detector you -can set which types of classified click will fire the alarm). See online help -for details.
+This is a general system of visual and audio alarms +developed by Doug Gillespie for use on a variety of projects. The alarms can be +coupled to any module or detector in PAMGuard. Where appropriate, modules can +control which of their data will cause an alarm action (e.g. in the Click +detector you can set which types of classified click will fire the alarm). See +online help for details.
Noise Band Monitor (Sound Processing Group)
@@ -3261,9 +3324,9 @@ different. Details are available in the online help.Can now read raw audio data direct from FLAC files. FLAC is a lossless compression -algorithm for audio data. Files, or folders of files are accessed in the same way -as WAV and AIFF files in the Sound Acquisition module. In a future release we -also hope to provide support for writing FLAC files from the sound recorder +algorithm for audio data. Files, or folders of files are accessed in the same +way as WAV and AIFF files in the Sound Acquisition module. In a future release +we also hope to provide support for writing FLAC files from the sound recorder module.
Sound Recorder Module
@@ -3307,8 +3370,9 @@ shaped Finite Impulse Response filters (see online help for details).Radar Display
-Can now show bearings relative to true North OR the vessel heading. -Also has the option of only showing certain types of click and whistle.
+Can now show bearings relative to true North OR the vessel +heading. Also has the option of only showing certain types of click and +whistle.
Bug Fixes
@@ -3372,9 +3436,9 @@ Also has the option of only showing certain types of click and whistle.New Modules
-Clip Generator: Saves and -displays short waveform clips around detections. Can work with any detector (or -indeed any other data stream within PAMGuard).
+Clip Generator: Saves and displays +short waveform clips around detections. Can work with any detector (or indeed +any other data stream within PAMGuard).
Local time display: displays the computers local time on the main display panel.
@@ -3387,8 +3451,8 @@ survey software package.Core Functionality
-New storage options have been implemented -which give the user greater control of where data are stored.
+New storage options have been +implemented which give the user greater control of where data are stored.
Modules have been arranged into different groups in the configuration menus and tool tip texts have been added @@ -3450,9 +3514,9 @@ information correctly in the binary files.
Logger Forms
-A substantial amount of work has -been carried out on Logger forms, funded by the South West fisheries Science -Center.
+A substantial amount of work has been +carried out on Logger forms, funded by the South West fisheries Science Center. +
Click Detector
@@ -3475,8 +3539,8 @@ inter-detection interval. margin-left:36.0pt'>Target Motion Analysis: Updated target motion analysis module -so that it works in three (as opposed to two) dimensions.
+margin-left:36.0pt'>Target Motion Analysis: Updated target motion analysis +module so that it works in three (as opposed to two) dimensions.@@ -3619,8 +3683,8 @@ Symbol'>'' -Bearings can be calculated using the envelope of the waveform rather than -the full waveform. The waveform or envelope can also be filtered prior to +Bearings can be calculated using the envelope of the waveform rather +than the full waveform. The waveform or envelope can also be filtered prior to bearing calculation.
' Whistle classifier has some new features in the classifier training -panel. It is also now possible to export training data files directly from binary -data files.
+panel. It is also now possible to export training data files directly from +binary data files.' @@ -3841,14 +3905,14 @@ modules which resulted in a number of bugs which could cause confusion as to which hydrophones were being used during localisation or during calibrated measurement. The situation tended to only arise with a small number of ASIO sound cards such as the RME Fireface 400 on which the most useful inputs, the -balanced line inputs, are hardware channels 4,5,6 and 7 on the back of the -instrument. (On the Fireface 800, the balanced line inputs are channels 0 to -7). When using the National Instruments system, data were always sent into the -rest of PAMGUARD with sequential channel numbering starting at 0. This was -required in order to support multiple NI Daq boards where it is possible to -read for example channel 0 and 1 on two different devices, so to uniquely -identify channels in the rest of PAMGUARD, the only rational thing to do was to -re-label those channels 0,1,2,3.
+balanced line inputs, are hardware channels 4,5,6 and 7 on the back of the instrument. +(On the Fireface 800, the balanced line inputs are channels 0 to 7). When using +the National Instruments system, data were always sent into the rest of +PAMGUARD with sequential channel numbering starting at 0. This was required in +order to support multiple NI Daq boards where it is possible to read for +example channel 0 and 1 on two different devices, so to uniquely identify +channels in the rest of PAMGUARD, the only rational thing to do was to re-label +those channels 0,1,2,3.There have been other annoyances with the ASIO channel numbering scheme. For instance, if you had a configuration which worked in real @@ -3903,9 +3967,9 @@ more displays are set up for offline data viewing in future releases.
Viewer data map
-When using the PAMGUARD viewer an additional panel will be -displayed showing an overview of data quantity (per hour) from the various -database tables connected to PAMGUARD.
+When using the PAMGUARD viewer an additional panel will be displayed +showing an overview of data quantity (per hour) from the various database +tables connected to PAMGUARD.
Spectrogram Display overlays
@@ -3965,12 +4029,12 @@ port is closed. Might prevent a few problems when using a GPS.Bug Fixes
Crashes caused in real time or Mixed Mode if the number of -software channels exceeds the number of hydrophones configured in the array manager. -It is of course illogical to have software channels which are not assigned to a -hydrophone, so rather than entirely prevent PAMGUARD from crashing I have -inserted additional checks into the hydrophone array dialog which will prevent -the user from closing that dialog unless all software channels are assigned to -a hydrophone.
+software channels exceeds the number of hydrophones configured in the array +manager. It is of course illogical to have software channels which are not +assigned to a hydrophone, so rather than entirely prevent PAMGUARD from +crashing I have inserted additional checks into the hydrophone array dialog +which will prevent the user from closing that dialog unless all software +channels are assigned to a hydrophone.@@ -4072,8 +4136,8 @@ arrays to give two polar angle coordinates. this can be used to resolve left right ambiguity and is implemented for both the click and the whistle/moan detectors. As a result, the click detector bearing time display can now be set to go from -180 to 180 degrees rather than 0 - 180 degrees. In this case, -clicks in the upper half of the bearing display will be to port and clicks in the -right half will be to starboard. As you pass a whale which is to port, the +clicks in the upper half of the bearing display will be to port and clicks in +the right half will be to starboard. As you pass a whale which is to port, the clicks will move UP the display. In the long term, I hope to turn this display around so that time is up the screen rather than across. @@ -4115,9 +4179,9 @@ display correctly and amplitude scale updates after scale parameter changes. Speed improvement. -
PAMGAURD FFT calculations now use the JTransforms FFT -library which gives a factor 2 speed improvement compared to previous FFT -methods used in PAMGUARD
+PAMGAURD FFT calculations now use the JTransforms FFT library +which gives a factor 2 speed improvement compared to previous FFT methods used +in PAMGUARD
New Modules
@@ -4364,8 +4428,8 @@ acquisition.Bug fixes
-Speed up of graphics, particularly regarding large quantities -of gps track data
+Speed up of graphics, particularly regarding large +quantities of gps track data
National Instruments cards with names > 20 characters long are now correctly recognised.
@@ -4473,9 +4537,9 @@ localiser (affects stability of click train localiser and whistle localiser in <This release contains many bug fixes from the PAMGUARD -industry field trial which took place in the Gulf of Mexico on the RV New -Venture in November 2008.
+This release contains many bug fixes from the PAMGUARD industry +field trial which took place in the Gulf of Mexico on the RV New Venture in +November 2008.
Bug Fixes
@@ -4580,8 +4644,8 @@ mouse is moved over the display. Choice of colour maps for display.' Sound playback. Now supported in ASIO sound cards, so you can have sound -coming in through the ASIO card and back out through its headphone socket -(after passing through PAMGUARD filters and other modules) at the same time.
+coming in through the ASIO card and back out through its headphone socket (after +passing through PAMGUARD filters and other modules) at the same time.'
@@ -4601,11 +4665,11 @@ Symbol'>'
i>7(K-1O8eUDdi@ls?03
ze1?CX@028m7UeWTOn=do&&RH*z!gILf(nY8x4LQ@OM}v~I_$C5j!IW{MUPgmC$91>
zSEv5fe%0TPL*Kg70Ems}qyFa0TM*UaEteDy!@FAf_nzj8fi*BEuN$QQK99Vj+~jrV
zWDdDMT|9!JL}-(3?Cv$)LMGgwK|x3wZ5oAH!0wty%LCa7(FI1l+UU5DXtF>?y}{86
zYbMf_*qb$Wwa_IHOI<@BG2VGTu8!6KCi7mIU+>mRLZnu0LH|ljA>cUz3SK+R_cw9G
z#C)*yCSmL<3BywFRr)KhJ{vP95fU9$0.03b - first version used in a real 'at sea' environment.18/08/06
diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml
index fa93561f..7b7fa51a 100644
--- a/dependency-reduced-pom.xml
+++ b/dependency-reduced-pom.xml
@@ -4,7 +4,7 @@
!m=R&IVYEEfC{P
f)<@r~79AoU843#cblmt&VSsE2I<_5JZg+*F}npsNl|o+ut{n&
A&7eUCE;nAORqa`!|#Wp(L^rF#MfL6u}U
zr`%Ec?SMELK2w&Q?!-B?)ydwS&Gbn{DK4oJew0WY`55kcZN1eqf`kd}6mM;CWQ?#p
zXH;+asH)mhei5GZ%C4{WiFVq1ibx8XC_94vj`*CXkqF6%Iz|TBzhP@t8(Uz>KLQdM
zE?n}JK3rEdpRTJx5W5OG)e-QdKFDjJ1R;BxqQpF;dnXoJkn@1R!GmA0z~or};OTbK
z>28^&Hxw&5zd6oILOqHTTXrk2iAkzjCWEGYL_*~v6T!DgSYudFX_cJhK`;CQ<2@iX
zw5~9=vR~c_iKIwS0W&e-UdOrU5y2u)yH_YnV)kHSge%=~mHd|03f#sRMM!CyYkMvG
zJt;o*M}DjnwlQw}BPDpevac2qVEG&(>=$W;Bw!(sch^sjWK=8ZRn%Cm8R4E53248~
z0q#xXYNd5f0Fv9De!2WeAX_22fidHEsa4wjXsvCmBVsv*3xwhu4%v5x&YnRGgi>kU
z+T+B_z9|g%ma%N+kf~C!G`7<;lteYolr9%F-%m3in=OI`M66EaYHqWt5fo9+Y(>$M
zJ~pvXrR)Aq<~1=
i@N>(RkZ-TT~;KA(r9V_9p+?G<7~kxjqMHG6-=u-WussXw6kP!>#lO7)2SntT-R2
zn-*-um-F;PfT5_2WUVTVK-D5UK@2oqFg0u&5h1<92jH~penzz@MOK&}@d@LFfs?adV)p)N&Pm3ZS;4VwN6pK
zLQt-{AV_jFno#hyOj9{W?~`Iv3gJ+PR4JFA4bslG4P~H|<0%=wc&CcJ#9UFMeSC~R
z>bXvG%2E?u?&P2zTcrM+BJgyrp@spJKDD!BMg}gN)b{Q`u1Cg)7^w$1-)w15TqW$g
z2)pn<(~W(g%)IV^J`9PFPBc9QwNlcBqA~x#k|fd>e=A)Ji?!xad4>6t{F~djTA%{^
zVBn<^e{Y}o|MoHe?-lmnh??{&5K+@A{?JX)f{RL_7@2OxHc<8fv5<9vZ}nhReCSGb
z4h}^qjHs=8II+THUou~mAz4)
`Y5na#1d2|&W(K?fyC7(>s*
z;d`rMXlAV4XJ%%7zLT7)B^Ws~cL-@`a!!h6DJ(TfR$Igy8(iA$D$WWBMnlIoRO-nQ
z8>^363EMr}YRGU->PXhvJUeg6;Q^T!wQnE~3z=48{s7ie{i
zsaV$Tw(v^@&wQTRs>mXu0PDV9MVt$X0}*v>|s<{T&@Oe2T3R-6=F<
zXqo}Fpx-vVAU&niP&dN*OAOH;xIbNn9$NkCeCem(|NC7$=e6NIl%0=m3I5t_?92w*
z$Pxrr^3X83k^N^D#Ycs__s6E%p~c8VMlU|b3kUl~6qRwMTFOV$<}s!C)V59PxKB+5
zB{~t|*