From 969b079ae7848d26bc4f4d96c3bdef06b4db71a9 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Tue, 2 Dec 2025 07:59:17 +0100 Subject: [PATCH 01/79] [Advanced Logbook] Started on dbtools --- application/controllers/Logbookadvanced.php | 15 +++ application/models/Logbookadvanced_model.php | 15 +++ .../views/logbookadvanced/dbtoolsdialog.php | 117 ++++++++++++++++++ application/views/logbookadvanced/index.php | 1 + assets/js/sections/logbookadvanced.js | 65 ++++++++++ 5 files changed, 213 insertions(+) create mode 100644 application/views/logbookadvanced/dbtoolsdialog.php diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 8b963fefa..301bf6139 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -884,4 +884,19 @@ class Logbookadvanced extends CI_Controller { public function callbookDialog() { $this->load->view('logbookadvanced/callbookdialog'); } + + public function dbtoolsDialog() { + $this->load->view('logbookadvanced/dbtoolsdialog'); + } + + public function checkDb() { + if(!clubaccess_check(9)) return; + + $type = $this->input->post('type', true); + + $this->load->model('logbookadvanced_model'); + $result = $this->logbookadvanced_model->runCheckDb($type); + header("Content-Type: application/json"); + print json_encode($result); + } } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index f283af058..924af2f26 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1446,4 +1446,19 @@ class Logbookadvanced_model extends CI_Model { return $recordcount; } + + public function runCheckDb($type) { + $this->load->model('logbooks_model'); + $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); + + $sql = "select count(*) as count from " . $this->config->item('table_name') . " + join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + where " . $this->config->item('table_name') . ".station_id in (" . implode(',', array_map('intval', $logbooks_locations_array)) . ") + and user_id = ? and coalesce(col_distance, '') = ''"; + + $bindings[] = [$this->session->userdata('user_id')]; + + $query = $this->db->query($sql, $bindings); + return $query->result(); + } } diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php new file mode 100644 index 000000000..e1ae53af0 --- /dev/null +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -0,0 +1,117 @@ +
+
+
+
+
+
+
+
+

+
+
+ + +
+
+ +
+
+
+

+
+
+ + +
+
+ +
+
+
+

+
+
+ + +
+
+ +
+
+
+

+
+
+ + +
+
+ +
+
+
+

+
+
+ + +
+
+ +
+
+
+

+
+
+ + +
+
+ +
+
+
+

+
+
+ + +
+
+ +
+
+
+ + +
+
diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index 3d636282b..51710bd4a 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -771,6 +771,7 @@ $options = json_decode($options); + diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index be429fae7..526f8239a 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -1335,6 +1335,31 @@ $(document).ready(function () { }); }); + $('#dbtools').click(function (event) { + $.ajax({ + url: base_url + 'index.php/logbookadvanced/dbtoolsDialog', + type: 'post', + success: function (html) { + BootstrapDialog.show({ + title: 'Database tools', + size: BootstrapDialog.SIZE_WIDE, + cssClass: 'options', + nl2br: false, + message: html, + buttons: [ + { + label: lang_admin_close, + cssClass: 'btn btn-sm btn-secondary', + id: 'closeButton', + action: function (dialogItself) { + dialogItself.close(); + } + }], + }); + } + }); + }); + function runUpdateDistancesFix(dialogItself) { $('#updateDistanceButton').prop("disabled", true).addClass("running"); $('#closeButton').prop("disabled", true); @@ -2002,3 +2027,43 @@ function saveOptions() { dateFrom.value = ''; dateTo.value = ''; } + + function checkUpdateDistances() { + $('#checkUpdateDistancesBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'distance' + }, + type: 'POST', + success: function(response) { + $('#checkUpdateDistancesBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + // Create a nice display for the results + let resultHtml = '
Distance Check Results
'; + resultHtml += '

QSO to update found: ' + (response[0].count) + '

'; + + $('.result').html(resultHtml); + }, + error: function(xhr, status, error) { + $('#checkUpdateDistancesBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); + + let errorMsg = ''; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: '', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); + + + } From cdf942d3bddeb2b49b901cf90f6a52050041b67d Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 7 Dec 2025 14:18:20 +0100 Subject: [PATCH 02/79] Tweaked layout a bit and implemented checks for continent/dxcc/distance --- application/models/Logbookadvanced_model.php | 43 ++++++ .../views/logbookadvanced/dbtoolsdialog.php | 58 ++++---- assets/js/sections/logbookadvanced.js | 131 ++++++++++++++---- 3 files changed, 173 insertions(+), 59 deletions(-) diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 924af2f26..fbeb85691 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1448,6 +1448,49 @@ class Logbookadvanced_model extends CI_Model { } public function runCheckDb($type) { + switch ($type) { + case 'checkdistance': + return $this->check_missing_distance(); + case 'checkcontinent': + return $this->check_qsos_missing_continent(); + case 'checkdxcc': + return $this->check_missing_dxcc(); + return null; + } + } + + public function check_missing_dxcc() { + $this->load->model('logbooks_model'); + $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); + + $sql = "select count(*) as count from " . $this->config->item('table_name') . " + join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + where " . $this->config->item('table_name') . ".station_id in (" . implode(',', array_map('intval', $logbooks_locations_array)) . ") + and user_id = ? and coalesce(col_dxcc, '') = ''"; + + $bindings[] = [$this->session->userdata('user_id')]; + + $query = $this->db->query($sql, $bindings); + return $query->result(); + } + + public function check_qsos_missing_continent() { + $this->load->model('logbooks_model'); + $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); + + $sql = "select count(*) as count from " . $this->config->item('table_name') . " + join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + where " . $this->config->item('table_name') . ".station_id in (" . implode(',', array_map('intval', $logbooks_locations_array)) . ") + and user_id = ? + and (coalesce(col_cont, '') = '' or col_cont not in ('AF', 'AN', 'AS', 'EU', 'NA', 'OC', 'SA'))"; + + $bindings[] = [$this->session->userdata('user_id')]; + + $query = $this->db->query($sql, $bindings); + return $query->result(); + } + + public function check_missing_distance() { $this->load->model('logbooks_model'); $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php index e1ae53af0..bca0ea9d0 100644 --- a/application/views/logbookadvanced/dbtoolsdialog.php +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -9,11 +9,11 @@

- -
@@ -24,11 +24,11 @@

- -
@@ -39,11 +39,11 @@

- -
@@ -54,11 +54,11 @@

- -
@@ -69,11 +69,11 @@

- -
@@ -84,11 +84,11 @@

- -
@@ -96,14 +96,12 @@
-

+

+

- -
diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 526f8239a..759c993cc 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2034,36 +2034,109 @@ function saveOptions() { $.ajax({ - url: base_url + 'index.php/logbookadvanced/checkDb', - data: { - type: 'distance' - }, - type: 'POST', - success: function(response) { - $('#checkUpdateDistancesBtn').prop("disabled", false).removeClass("running"); - $('#closeButton').prop("disabled", false); - // Create a nice display for the results - let resultHtml = '
Distance Check Results
'; - resultHtml += '

QSO to update found: ' + (response[0].count) + '

'; + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'checkdistance' + }, + type: 'POST', + success: function(response) { + $('#checkUpdateDistancesBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + // Create a nice display for the results + let resultHtml = '
Distance Check Results
'; + resultHtml += '

QSO to update found: ' + (response[0].count) + '

'; - $('.result').html(resultHtml); - }, - error: function(xhr, status, error) { - $('#checkUpdateDistancesBtn').prop('disabled', false).text(''); - $('#closeButton').prop('disabled', false); + $('.result').html(resultHtml); + }, + error: function(xhr, status, error) { + $('#checkUpdateDistancesBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); - let errorMsg = ''; - if (xhr.responseJSON && xhr.responseJSON.message) { - errorMsg += ': ' + xhr.responseJSON.message; + let errorMsg = ''; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: '', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); } - - BootstrapDialog.alert({ - title: '', - message: errorMsg, - type: BootstrapDialog.TYPE_DANGER - }); - } - }); - - + }); + } + + function checkMissingDxcc() { + $('#checkMissingDxccsBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'checkdxcc' + }, + type: 'POST', + success: function(response) { + $('#checkMissingDxccsBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + // Create a nice display for the results + let resultHtml = '
DXCC Check Results
'; + resultHtml += '

QSOs without DXCC information found: ' + (response[0].count) + '

'; + + $('.result').html(resultHtml); + }, + error: function(xhr, status, error) { + $('#checkMissingDxccsBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); + + let errorMsg = ''; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: '', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); + } + + function checkFixContinent() { + $('#checkFixContinentBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'checkcontinent' + }, + type: 'POST', + success: function(response) { + $('#checkFixContinentBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + // Create a nice display for the results + let resultHtml = '
Continent Check Results
'; + resultHtml += '

QSOs without missing or invalid continent information found: ' + (response[0].count) + '

'; + + $('.result').html(resultHtml); + }, + error: function(xhr, status, error) { + $('#checkFixContinentBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); + + let errorMsg = ''; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: '', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); } From 2ddf698af7c4c45e06fe6a446f7f346180f76011 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 7 Dec 2025 15:55:52 +0100 Subject: [PATCH 03/79] Added state check --- application/controllers/Logbookadvanced.php | 14 +++- application/models/Logbookadvanced_model.php | 22 ++++++ .../views/logbookadvanced/checkresult.php | 38 ++++++++++ assets/js/sections/logbookadvanced.js | 73 ++++++++++++++++++- 4 files changed, 142 insertions(+), 5 deletions(-) create mode 100644 application/views/logbookadvanced/checkresult.php diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 301bf6139..1ca6422da 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -893,10 +893,16 @@ class Logbookadvanced extends CI_Controller { if(!clubaccess_check(9)) return; $type = $this->input->post('type', true); - $this->load->model('logbookadvanced_model'); - $result = $this->logbookadvanced_model->runCheckDb($type); - header("Content-Type: application/json"); - print json_encode($result); + + if ($type == 'checkstate') { + $data['result'] = $this->logbookadvanced_model->runCheckDb($type); + $this->load->view('logbookadvanced/checkresult', $data); + } else { + $result = $this->logbookadvanced_model->runCheckDb($type); + header("Content-Type: application/json"); + echo json_encode($result); + } + } } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index fbeb85691..0124843fa 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1455,6 +1455,8 @@ class Logbookadvanced_model extends CI_Model { return $this->check_qsos_missing_continent(); case 'checkdxcc': return $this->check_missing_dxcc(); + case 'checkstate': + return $this->check_missing_state(); return null; } } @@ -1504,4 +1506,24 @@ class Logbookadvanced_model extends CI_Model { $query = $this->db->query($sql, $bindings); return $query->result(); } + + public function check_missing_state() { + $this->load->library('Geojson'); + $supported_dxcc_list = $this->geojson->getSupportedDxccs(); + $supported_dxcc_array = array_keys($supported_dxcc_list); + + $sql = "select count(*) as count, col_dxcc, dxcc_entities.name as dxcc_name, dxcc_entities.prefix from " . $this->config->item('table_name') . " + join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + join dxcc_entities on " . $this->config->item('table_name') . ".col_dxcc = dxcc_entities.adif + where user_id = ? and coalesce(col_state, '') = '' + and col_dxcc in (" . implode(',', array_map('intval', $supported_dxcc_array)) . ") + and length(col_gridsquare) >= 6 + group by col_dxcc, dxcc_entities.name, dxcc_entities.prefix + order by dxcc_entities.prefix"; + + $bindings[] = [$this->session->userdata('user_id')]; + + $query = $this->db->query($sql, $bindings); + return $query->result(); + } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php new file mode 100644 index 000000000..e1a86a04d --- /dev/null +++ b/application/views/logbookadvanced/checkresult.php @@ -0,0 +1,38 @@ + 0): ?> +
+
State Check Results
+

QSOs with missing state and gridsquares with 6 or more characters found for the following DXCC's:

+ +
+ + + + + + + + + + $item): ?> + dxcc_name) ? $item->dxcc_name : ''; + $formattedName = ucwords(strtolower($rawName), "- (/"); + $name = htmlspecialchars($formattedName, ENT_QUOTES, 'UTF-8'); + $qsos = isset($item->count) ? intval($item->count) : 0; + ?> + + + + + + + +
PrefixDXCCQSOs
prefix; ?>
+
+
+ +
+
State Check Results
+

No issues found. All QSOs have proper state information.

+
+ diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 759c993cc..2b9f2d161 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2119,7 +2119,7 @@ function saveOptions() { $('#closeButton').prop("disabled", false); // Create a nice display for the results let resultHtml = '
Continent Check Results
'; - resultHtml += '

QSOs without missing or invalid continent information found: ' + (response[0].count) + '

'; + resultHtml += '

QSOs with missing or invalid continent information found: ' + (response[0].count) + '

'; $('.result').html(resultHtml); }, @@ -2140,3 +2140,74 @@ function saveOptions() { } }); } + + function checkFixState() { + $('#checkFixStateBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'checkstate' + }, + type: 'POST', + success: function(response) { + $('#checkFixStateBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + + $('.result').html(response); + }, + error: function(xhr, status, error) { + $('#checkFixStateBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); + + let errorMsg = ''; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: '', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); + } + + function checkFixState2() { + $('#checkFixStateBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'checkstate' + }, + type: 'POST', + success: function(response) { + $('#checkFixStateBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + // Create a nice display for the results + let resultHtml = '
State Check Results
'; + resultHtml += '

QSOs with missing state and gridsquares with 6 or more characters found: ' + (response[0].count) + '

'; + + $('.result').html(resultHtml); + }, + error: function(xhr, status, error) { + $('#checkFixStateBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); + + let errorMsg = ''; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: '', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); + } From 0fad755ce6f2c08893ca749fd7f15e3a8f1cdfad Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 7 Dec 2025 19:52:26 +0100 Subject: [PATCH 04/79] Implemented batch state fixer --- application/controllers/Logbookadvanced.php | 15 ++++ application/libraries/Geojson.php | 9 ++ application/models/Logbookadvanced_model.php | 82 +++++++++++++++---- .../views/logbookadvanced/checkresult.php | 22 +++-- .../views/logbookadvanced/dbtoolsdialog.php | 24 ++---- assets/js/sections/logbookadvanced.js | 78 +++++++++++++++--- 6 files changed, 178 insertions(+), 52 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 1ca6422da..4a6d417b2 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -905,4 +905,19 @@ class Logbookadvanced extends CI_Controller { } } + + public function fixStateBatch() { + if(!clubaccess_check(9)) return; + + $this->load->model('logbook_model'); + $this->load->model('logbookadvanced_model'); + + $dxcc = $this->input->post('dxcc', true); + + // Process for batch QSO state fix + $result = $this->logbookadvanced_model->fixStateBatch($dxcc); + + header("Content-Type: application/json"); + echo json_encode($result); + } } diff --git a/application/libraries/Geojson.php b/application/libraries/Geojson.php index 618143f42..c832fcbe5 100644 --- a/application/libraries/Geojson.php +++ b/application/libraries/Geojson.php @@ -134,6 +134,15 @@ class Geojson { return isset(self::SUPPORTED_STATES[$dxcc]) && self::SUPPORTED_STATES[$dxcc]['enabled'] === true; } + /** + * Retrieve list of DXCC entities that support state/province lookups + * + * @return array List of supported DXCC entities + */ + public function getSupportedDxccs() { + return self::SUPPORTED_STATES; + } + // ============================================================================ // COORDINATE CONVERSION // ============================================================================ diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 0124843fa..3dfe433bf 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1457,18 +1457,18 @@ class Logbookadvanced_model extends CI_Model { return $this->check_missing_dxcc(); case 'checkstate': return $this->check_missing_state(); + case 'checkcqzones': + return $this->check_missing_cq_zones(); + case 'checkituzones': + return $this->check_missing_itu_zones(); return null; } } public function check_missing_dxcc() { - $this->load->model('logbooks_model'); - $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); - $sql = "select count(*) as count from " . $this->config->item('table_name') . " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id - where " . $this->config->item('table_name') . ".station_id in (" . implode(',', array_map('intval', $logbooks_locations_array)) . ") - and user_id = ? and coalesce(col_dxcc, '') = ''"; + where user_id = ? and coalesce(col_dxcc, '') = ''"; $bindings[] = [$this->session->userdata('user_id')]; @@ -1477,13 +1477,9 @@ class Logbookadvanced_model extends CI_Model { } public function check_qsos_missing_continent() { - $this->load->model('logbooks_model'); - $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); - $sql = "select count(*) as count from " . $this->config->item('table_name') . " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id - where " . $this->config->item('table_name') . ".station_id in (" . implode(',', array_map('intval', $logbooks_locations_array)) . ") - and user_id = ? + where user_id = ? and (coalesce(col_cont, '') = '' or col_cont not in ('AF', 'AN', 'AS', 'EU', 'NA', 'OC', 'SA'))"; $bindings[] = [$this->session->userdata('user_id')]; @@ -1493,13 +1489,9 @@ class Logbookadvanced_model extends CI_Model { } public function check_missing_distance() { - $this->load->model('logbooks_model'); - $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); - $sql = "select count(*) as count from " . $this->config->item('table_name') . " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id - where " . $this->config->item('table_name') . ".station_id in (" . implode(',', array_map('intval', $logbooks_locations_array)) . ") - and user_id = ? and coalesce(col_distance, '') = ''"; + where user_id = ? and coalesce(col_distance, '') = ''"; $bindings[] = [$this->session->userdata('user_id')]; @@ -1526,4 +1518,64 @@ class Logbookadvanced_model extends CI_Model { $query = $this->db->query($sql, $bindings); return $query->result(); } + + public function check_missing_cq_zones() { + $sql = "select count(*) as count from " . $this->config->item('table_name') . " + join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + where user_id = ? and coalesce(col_cqz, '') = ''"; + + $bindings[] = [$this->session->userdata('user_id')]; + + $query = $this->db->query($sql, $bindings); + return $query->result(); + } + + public function check_missing_itu_zones() { + $sql = "select count(*) as count from " . $this->config->item('table_name') . " + join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + where user_id = ? and coalesce(col_ituz, '') = ''"; + + $bindings[] = [$this->session->userdata('user_id')]; + + $query = $this->db->query($sql, $bindings); + return $query->result(); + } + + /** + * Fix state for a batch of QSOs using GeoJSON lookup + * + * @param int $dxcc DXCC entity number for which to fix states + * @return array Result array with success, dxcc_name, dxcc_number, state_code, skipped + */ + function fixStateBatch($dxcc) { + $this->load->library('Geojson'); + + // Get QSO data + $sql = "SELECT COL_PRIMARY_KEY, COL_CALL, COL_GRIDSQUARE, COL_DXCC, COL_STATE, d.name as dxcc_name + FROM " . $this->config->item('table_name') . " qsos + JOIN station_profile ON qsos.station_id = station_profile.station_id + LEFT JOIN dxcc_entities d ON qsos.COL_DXCC = d.adif + WHERE qsos.COL_DXCC = ? AND station_profile.user_id = ? + AND (qsos.COL_STATE IS NULL OR qsos.COL_STATE = '') + AND LENGTH(COALESCE(qsos.COL_GRIDSQUARE, '')) >= 6"; + + $query = $this->db->query($sql, [$dxcc, $this->session->userdata('user_id')]); + + if ($query->num_rows() === 0) { + return [ + 'success' => false, + 'skipped' => true, + 'reason' => 'QSOs not found' + ]; + } + + $results = []; + + foreach ($query->result() as $qso) { + $result = $this->fixStateSingle($qso->COL_PRIMARY_KEY); + $results []= $result; + } + + return $results; + } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index e1a86a04d..10dc34aa1 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -1,15 +1,16 @@ 0): ?>
-
State Check Results
-

QSOs with missing state and gridsquares with 6 or more characters found for the following DXCC's:

+
+

-
+
- - - + + + + @@ -24,6 +25,11 @@ + @@ -32,7 +38,7 @@
-
State Check Results
-

No issues found. All QSOs have proper state information.

+
+

diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php index bca0ea9d0..69c7398d9 100644 --- a/application/views/logbookadvanced/dbtoolsdialog.php +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -1,7 +1,11 @@
-
+
+ +
@@ -12,9 +16,6 @@ -
@@ -27,9 +28,6 @@ -
@@ -42,9 +40,6 @@ -
@@ -57,9 +52,6 @@ - @@ -72,9 +64,6 @@ - @@ -87,9 +76,6 @@ - diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 2b9f2d161..c6c38f4d8 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2044,7 +2044,7 @@ function saveOptions() { $('#closeButton').prop("disabled", false); // Create a nice display for the results let resultHtml = '
Distance Check Results
'; - resultHtml += '

QSO to update found: ' + (response[0].count) + '

'; + resultHtml += '

QSO to update found: ' + (response[0].count) + '

'; $('.result').html(resultHtml); }, @@ -2082,7 +2082,7 @@ function saveOptions() { $('#closeButton').prop("disabled", false); // Create a nice display for the results let resultHtml = '
DXCC Check Results
'; - resultHtml += '

QSOs without DXCC information found: ' + (response[0].count) + '

'; + resultHtml += '

QSOs without DXCC information found: ' + (response[0].count) + '

'; $('.result').html(resultHtml); }, @@ -2119,7 +2119,7 @@ function saveOptions() { $('#closeButton').prop("disabled", false); // Create a nice display for the results let resultHtml = '
Continent Check Results
'; - resultHtml += '

QSOs with missing or invalid continent information found: ' + (response[0].count) + '

'; + resultHtml += '

QSOs with missing or invalid continent information found: ' + (response[0].count) + '

'; $('.result').html(resultHtml); }, @@ -2175,27 +2175,27 @@ function saveOptions() { }); } - function checkFixState2() { - $('#checkFixStateBtn').prop("disabled", true).addClass("running"); + function checkFixCqZones() { + $('#checkFixCqZonesBtn').prop("disabled", true).addClass("running"); $('#closeButton').prop("disabled", true); $.ajax({ url: base_url + 'index.php/logbookadvanced/checkDb', data: { - type: 'checkstate' + type: 'checkcqzones' }, type: 'POST', success: function(response) { - $('#checkFixStateBtn').prop("disabled", false).removeClass("running"); + $('#checkFixCqZonesBtn').prop("disabled", false).removeClass("running"); $('#closeButton').prop("disabled", false); // Create a nice display for the results - let resultHtml = '
State Check Results
'; - resultHtml += '

QSOs with missing state and gridsquares with 6 or more characters found: ' + (response[0].count) + '

'; + let resultHtml = '
CQ Zone Check Results
'; + resultHtml += '

QSOs with missing CQ zone information found: ' + (response[0].count) + '

'; $('.result').html(resultHtml); }, error: function(xhr, status, error) { - $('#checkFixStateBtn').prop('disabled', false).text(''); + $('#checkFixCqZonesBtn').prop('disabled', false).text(''); $('#closeButton').prop('disabled', false); let errorMsg = ''; @@ -2211,3 +2211,61 @@ function saveOptions() { } }); } + + function checkFixItuZones() { + $('#checkFixItuZonesBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'checkituzones' + }, + type: 'POST', + success: function(response) { + $('#checkFixItuZonesBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + // Create a nice display for the results + let resultHtml = '
ITU Zone Check Results
'; + resultHtml += '

QSOs with missing ITU zone information found: ' + (response[0].count) + '

'; + + $('.result').html(resultHtml); + }, + error: function(xhr, status, error) { + $('#checkFixItuZonesBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); + + let errorMsg = ''; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: '', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); + } + + function fixState(dxcc) { + $('#fixStateButton').prop("disabled", true).addClass("running"); + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/fixStateBatch', + type: 'post', + data: { + 'dxcc': dxcc + }, + success: function (response) { + $('#fixStateButton').prop("disabled", false).removeClass("running"); + }, + error: function () { + $('#fixStateButton').prop("disabled", false).removeClass("running"); + } + }); + } + + + From 46fad667bcf035e589b02a0866bae1b6faab227f Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 7 Dec 2025 22:38:51 +0100 Subject: [PATCH 05/79] Added button to show qso list in state --- application/controllers/Logbookadvanced.php | 14 +++++++ application/models/Logbookadvanced_model.php | 13 +++++++ .../views/logbookadvanced/checkresult.php | 3 +- .../views/logbookadvanced/showStateQsos.php | 38 +++++++++++++++++++ assets/js/sections/logbookadvanced.js | 29 ++++++++++++-- 5 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 application/views/logbookadvanced/showStateQsos.php diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 4a6d417b2..1b781c3e8 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -920,4 +920,18 @@ class Logbookadvanced extends CI_Controller { header("Content-Type: application/json"); echo json_encode($result); } + + public function openStateList() { + if(!clubaccess_check(9)) return; + + $this->load->model('logbook_model'); + $this->load->model('logbookadvanced_model'); + + $data['dxcc'] = $this->input->post('dxcc', true); + + // Process for batch QSO state fix + $data['qsos'] = $this->logbookadvanced_model->getStateListQsos($data['dxcc']); + + $this->load->view('logbookadvanced/showStateQsos', $data); + } } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 3dfe433bf..af5781d44 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1578,4 +1578,17 @@ class Logbookadvanced_model extends CI_Model { return $results; } + + function getStateListQsos($dxcc) { + $sql = "SELECT col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare FROM " . $this->config->item('table_name') . " qsos + JOIN station_profile ON qsos.station_id = station_profile.station_id + WHERE qsos.COL_DXCC = ? AND station_profile.user_id = ? + AND (qsos.COL_STATE IS NULL OR qsos.COL_STATE = '') + AND LENGTH(COALESCE(qsos.COL_GRIDSQUARE, '')) >= 6 + ORDER BY COL_TIME_ON DESC"; + + $query = $this->db->query($sql, [$dxcc, $this->session->userdata('user_id')]); + + return $query->result(); + } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index 10dc34aa1..512bcfb4f 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -26,9 +26,10 @@ diff --git a/application/views/logbookadvanced/showStateQsos.php b/application/views/logbookadvanced/showStateQsos.php new file mode 100644 index 000000000..040692c43 --- /dev/null +++ b/application/views/logbookadvanced/showStateQsos.php @@ -0,0 +1,38 @@ +

QSOs Missing State Information

+ 0): ?> +
PrefixDXCCQSOs
prefix; ?> + +
- +
+ + + + + + + + + + + + + + + + + + + + + + + + +
CallDate/TimeModeSubmodeBandStateGridsquare
col_call; ?>col_time_on)); ?>col_mode; ?>col_submode ?? ''; ?>col_band; ?>col_state; ?>col_gridsquare; ?>
+
+

+ Found QSO(s) missing state information for DXCC . +

+
+ +
+

No Issues Found

+
+ diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index c6c38f4d8..7420131d2 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2250,7 +2250,7 @@ function saveOptions() { } function fixState(dxcc) { - $('#fixStateButton').prop("disabled", true).addClass("running"); + $('#fixStateBtn_' + dxcc).prop("disabled", true).addClass("running"); $.ajax({ url: base_url + 'index.php/logbookadvanced/fixStateBatch', @@ -2259,13 +2259,34 @@ function saveOptions() { 'dxcc': dxcc }, success: function (response) { - $('#fixStateButton').prop("disabled", false).removeClass("running"); + $('#fixStateBtn_' + dxcc).prop("disabled", false).removeClass("running"); }, error: function () { - $('#fixStateButton').prop("disabled", false).removeClass("running"); + $('#fixStateBtn_' + dxcc).prop("disabled", false).removeClass("running"); } }); } + function openStateList(dxcc) { + $('#openStateListBtn_' + dxcc).prop("disabled", true).addClass("running"); - + $.ajax({ + url: base_url + 'index.php/logbookadvanced/OpenStateList', + type: 'post', + data: { + 'dxcc': dxcc + }, + success: function (response) { + $('#openStateListBtn_' + dxcc).prop("disabled", false).removeClass("running"); + BootstrapDialog.show({ + title: 'QSO List', + message: response, + size: BootstrapDialog.SIZE_WIDE, + type: BootstrapDialog.TYPE_INFO + }); + }, + error: function () { + $('#openStateListBtn_' + dxcc).prop("disabled", false).removeClass("running"); + } + }); + } From 10c5a0a545375f69962c7c6339edbd51ff069f71 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Mon, 8 Dec 2025 10:58:26 +0100 Subject: [PATCH 06/79] Fix QSO list. Added info to info button --- application/controllers/Logbookadvanced.php | 4 + application/libraries/Geojson.php | 80 ++++----- application/models/Logbookadvanced_model.php | 3 +- .../views/logbookadvanced/dbtoolsdialog.php | 4 +- .../logbookadvanced/dbtoolsinformation.php | 170 ++++++++++++++++++ .../views/logbookadvanced/showStateQsos.php | 21 +-- assets/js/sections/logbookadvanced.js | 30 +++- 7 files changed, 257 insertions(+), 55 deletions(-) create mode 100644 application/views/logbookadvanced/dbtoolsinformation.php diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 1b781c3e8..d9fa9052a 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -889,6 +889,10 @@ class Logbookadvanced extends CI_Controller { $this->load->view('logbookadvanced/dbtoolsdialog'); } + public function dbtoolsInfo() { + $this->load->view('logbookadvanced/dbtoolsinformation'); + } + public function checkDb() { if(!clubaccess_check(9)) return; diff --git a/application/libraries/Geojson.php b/application/libraries/Geojson.php index c832fcbe5..814beaaaf 100644 --- a/application/libraries/Geojson.php +++ b/application/libraries/Geojson.php @@ -22,47 +22,47 @@ class Geojson { * Value: Array with 'name' and 'enabled' flag */ const SUPPORTED_STATES = [ - 1 => ['name' => 'Canada', 'enabled' => true], // 13 provinces/territories - 6 => ['name' => 'Alaska', 'enabled' => true], // 1 state - 27 => ['name' => 'Belarus', 'enabled' => true], // 7 subdivisions - 29 => ['name' => 'Canary Islands', 'enabled' => true], // 2 provinces - 32 => ['name' => 'Ceuta & Melilla', 'enabled' => true], // 2 autonomous cities - 50 => ['name' => 'Mexico', 'enabled' => true], // 32 states - 100 => ['name' => 'Argentina', 'enabled' => true], // 24 subdivisions - 108 => ['name' => 'Brazil', 'enabled' => true], // 27 subdivisions - 112 => ['name' => 'Chile', 'enabled' => true], // 16 regions + 1 => ['name' => 'Canada', 'enabled' => true], // 13 provinces/territories + 6 => ['name' => 'Alaska', 'enabled' => true], // 1 state + 27 => ['name' => 'Belarus', 'enabled' => true], // 7 subdivisions + 29 => ['name' => 'Canary Islands', 'enabled' => true], // 2 provinces + 32 => ['name' => 'Ceuta & Melilla', 'enabled' => true], // 2 autonomous cities + 50 => ['name' => 'Mexico', 'enabled' => true], // 32 states + 100 => ['name' => 'Argentina', 'enabled' => true], // 24 subdivisions + 108 => ['name' => 'Brazil', 'enabled' => true], // 27 subdivisions + 110 => ['name' => 'Hawaii', 'enabled' => true], // 1 state + 112 => ['name' => 'Chile', 'enabled' => true], // 16 regions 137 => ['name' => 'Republic of Korea', 'enabled' => true], // 17 subdivisions - 110 => ['name' => 'Hawaii', 'enabled' => true], // 1 state - 144 => ['name' => 'Uruguay', 'enabled' => true], // 19 subdivisions - 148 => ['name' => 'Venezuela', 'enabled' => true], // 24 states - 149 => ['name' => 'Azores', 'enabled' => true], // 1 autonomous region - 150 => ['name' => 'Australia', 'enabled' => true], // 8 subdivisions - 163 => ['name' => 'Papua New Guinea', 'enabled' => true], // 22 provinces - 170 => ['name' => 'New Zealand', 'enabled' => true], // 16 regions - 209 => ['name' => 'Belgium', 'enabled' => true], // 11 subdivisions - 212 => ['name' => 'Bulgaria', 'enabled' => true], // 28 subdivisions - 214 => ['name' => 'Corsica', 'enabled' => true], // 2 departments (2A, 2B) - 225 => ['name' => 'Sardinia', 'enabled' => true], // 5 provinces - 227 => ['name' => 'France', 'enabled' => true], // 96 departments - 230 => ['name' => 'Germany', 'enabled' => true], // 16 federal states - 239 => ['name' => 'Hungary', 'enabled' => true], // 20 subdivisions - 245 => ['name' => 'Ireland', 'enabled' => true], // 27 subdivisions - 248 => ['name' => 'Italy', 'enabled' => true], // 107 provinces - 256 => ['name' => 'Madeira Islands', 'enabled' => true], // 1 autonomous region - 263 => ['name' => 'Netherlands', 'enabled' => true], // 12 provinces - 266 => ['name' => 'Norway', 'enabled' => true], // 11 counties - 269 => ['name' => 'Poland', 'enabled' => true], // 16 voivodeships - 272 => ['name' => 'Portugal', 'enabled' => true], // 18 districts - 275 => ['name' => 'Romania', 'enabled' => true], // 42 counties - 281 => ['name' => 'Spain', 'enabled' => true], // 47 provinces - 284 => ['name' => 'Sweden', 'enabled' => true], // 21 subdivisions - 287 => ['name' => 'Switzerland', 'enabled' => true], // 26 cantons - 291 => ['name' => 'USA', 'enabled' => true], // 52 states/territories - 318 => ['name' => 'China', 'enabled' => true], // 31 provinces - 324 => ['name' => 'India', 'enabled' => true], // 36 states/territories - 339 => ['name' => 'Japan', 'enabled' => true], // 47 prefectures - 386 => ['name' => 'Taiwan', 'enabled' => true], // 22 subdivisions - 497 => ['name' => 'Croatia', 'enabled' => true], // 21 subdivisions + 144 => ['name' => 'Uruguay', 'enabled' => true], // 19 subdivisions + 148 => ['name' => 'Venezuela', 'enabled' => true], // 24 states + 149 => ['name' => 'Azores', 'enabled' => true], // 1 autonomous region + 150 => ['name' => 'Australia', 'enabled' => true], // 8 subdivisions + 163 => ['name' => 'Papua New Guinea', 'enabled' => true], // 22 provinces + 170 => ['name' => 'New Zealand', 'enabled' => true], // 16 regions + 209 => ['name' => 'Belgium', 'enabled' => true], // 11 subdivisions + 212 => ['name' => 'Bulgaria', 'enabled' => true], // 28 subdivisions + 214 => ['name' => 'Corsica', 'enabled' => true], // 2 departments (2A, 2B) + 225 => ['name' => 'Sardinia', 'enabled' => true], // 5 provinces + 227 => ['name' => 'France', 'enabled' => true], // 96 departments + 230 => ['name' => 'Germany', 'enabled' => true], // 16 federal states + 239 => ['name' => 'Hungary', 'enabled' => true], // 20 subdivisions + 245 => ['name' => 'Ireland', 'enabled' => true], // 27 subdivisions + 248 => ['name' => 'Italy', 'enabled' => true], // 107 provinces + 256 => ['name' => 'Madeira Islands', 'enabled' => true], // 1 autonomous region + 263 => ['name' => 'Netherlands', 'enabled' => true], // 12 provinces + 266 => ['name' => 'Norway', 'enabled' => true], // 11 counties + 269 => ['name' => 'Poland', 'enabled' => true], // 16 voivodeships + 272 => ['name' => 'Portugal', 'enabled' => true], // 18 districts + 275 => ['name' => 'Romania', 'enabled' => true], // 42 counties + 281 => ['name' => 'Spain', 'enabled' => true], // 47 provinces + 284 => ['name' => 'Sweden', 'enabled' => true], // 21 subdivisions + 287 => ['name' => 'Switzerland', 'enabled' => true], // 26 cantons + 291 => ['name' => 'USA', 'enabled' => true], // 52 states/territories + 318 => ['name' => 'China', 'enabled' => true], // 31 provinces + 324 => ['name' => 'India', 'enabled' => true], // 36 states/territories + 339 => ['name' => 'Japan', 'enabled' => true], // 47 prefectures + 386 => ['name' => 'Taiwan', 'enabled' => true], // 22 subdivisions + 497 => ['name' => 'Croatia', 'enabled' => true], // 21 subdivisions ]; private $qra; diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index af5781d44..f069bce58 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1580,8 +1580,9 @@ class Logbookadvanced_model extends CI_Model { } function getStateListQsos($dxcc) { - $sql = "SELECT col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare FROM " . $this->config->item('table_name') . " qsos + $sql = "SELECT col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare, d.name as dxcc_name, station_profile.station_profile_name FROM " . $this->config->item('table_name') . " qsos JOIN station_profile ON qsos.station_id = station_profile.station_id + LEFT JOIN dxcc_entities d ON qsos.COL_DXCC = d.adif WHERE qsos.COL_DXCC = ? AND station_profile.user_id = ? AND (qsos.COL_STATE IS NULL OR qsos.COL_STATE = '') AND LENGTH(COALESCE(qsos.COL_GRIDSQUARE, '')) >= 6 diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php index 69c7398d9..5f1245a8c 100644 --- a/application/views/logbookadvanced/dbtoolsdialog.php +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -2,7 +2,7 @@
-
@@ -83,7 +83,7 @@

-

+

- -
-
-
-

- -

: -

-
- - - -
From bde29d6cbf030846597e0df8d0c46d9e2685cad5 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Mon, 8 Dec 2025 11:53:27 +0100 Subject: [PATCH 08/79] Add userid filter --- application/models/Logbookadvanced_model.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 27a3ac783..7ece14b11 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1602,6 +1602,8 @@ class Logbookadvanced_model extends CI_Model { ini_set('memory_limit', '-1'); // This consumes a lot of Memory! $this->db->trans_start(); // Transaction has to be started here, because otherwise we're trying to update rows which are locked by the select $this->db->select("COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_TIME_OFF"); // get all records with no COL_DXCC + $this->db->join('station_profile', 'station_profile.station_id = ' . $this->config->item('table_name') . '.station_id'); + $this->db->where("station_profile.user_id", $this->session->userdata('user_id')); if (!$all) { // check which to update - records with no dxcc or all records $this->db->where("COL_DXCC is NULL"); @@ -1612,7 +1614,7 @@ class Logbookadvanced_model extends CI_Model { $count = 0; if ($r->num_rows() > 0) { //query dxcc_prefixes - $sql = "update " . $this->config->item('table_name') . " set COL_COUNTRY = ?, COL_DXCC=? where COL_PRIMARY_KEY=?"; + $sql = "update " . $this->config->item('table_name') . " set COL_COUNTRY = ?, COL_DXCC = ? where COL_PRIMARY_KEY = ?"; $q = $this->db->conn_id->prepare($sql); // PREPARE this statement. For DB this means: No parsing overhead, parse once use many (see execute query below) foreach ($r->result_array() as $row) { $qso_date = $row['COL_TIME_OFF'] == '' ? $row['COL_TIME_ON'] : $row['COL_TIME_OFF']; From 7e3b9620194703e11d4a1a87d56b47b175b69728 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Mon, 8 Dec 2025 14:59:43 +0100 Subject: [PATCH 09/79] Get dxcc fix working in gui --- application/controllers/Logbookadvanced.php | 12 +++++++++++- application/models/Logbookadvanced_model.php | 7 +++++-- .../views/logbookadvanced/dbtoolsdialog.php | 2 +- assets/js/sections/logbookadvanced.js | 16 ++++++++++++++++ 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index d9fa9052a..a32553769 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -928,7 +928,6 @@ class Logbookadvanced extends CI_Controller { public function openStateList() { if(!clubaccess_check(9)) return; - $this->load->model('logbook_model'); $this->load->model('logbookadvanced_model'); $data['dxcc'] = $this->input->post('dxcc', true); @@ -938,4 +937,15 @@ class Logbookadvanced extends CI_Controller { $this->load->view('logbookadvanced/showStateQsos', $data); } + + public function fixMissingDxcc() { + if(!clubaccess_check(9)) return; + + $all = $this->input->post('all', true); + $this->load->model('logbookadvanced_model'); + $result = $this->logbookadvanced_model->check_missing_dxcc_id($all); + + header("Content-Type: application/json"); + echo json_encode($result); + } } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 7ece14b11..928e4e21a 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1598,7 +1598,7 @@ class Logbookadvanced_model extends CI_Model { We need to ensure that we only update the relevant QSOs, filtered on user. The function needs a rewrite to add filtering on user/station. */ - public function check_missing_dxcc_id($all) { + public function check_missing_dxcc_id($all = false) { ini_set('memory_limit', '-1'); // This consumes a lot of Memory! $this->db->trans_start(); // Transaction has to be started here, because otherwise we're trying to update rows which are locked by the select $this->db->select("COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_TIME_OFF"); // get all records with no COL_DXCC @@ -1606,7 +1606,10 @@ class Logbookadvanced_model extends CI_Model { $this->db->where("station_profile.user_id", $this->session->userdata('user_id')); if (!$all) { // check which to update - records with no dxcc or all records + $this->db->group_start(); $this->db->where("COL_DXCC is NULL"); + $this->db->or_where("COL_DXCC = ''"); + $this->db->group_end(); } $r = $this->db->get($this->config->item('table_name')); @@ -1627,6 +1630,6 @@ class Logbookadvanced_model extends CI_Model { } } $this->db->trans_complete(); - print("$count updated\n"); + return $count; } } diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php index 5f1245a8c..3de1e644f 100644 --- a/application/views/logbookadvanced/dbtoolsdialog.php +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -86,7 +86,7 @@

-
diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 95528e5f9..89632ee81 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2316,3 +2316,19 @@ function saveOptions() { }); } + + function fixMissingDxcc() { + $.ajax({ + url: base_url + 'index.php/logbookadvanced/fixMissingDxcc', + data: { + all: 'false' + }, + type: 'POST', + success: function(response) { + alert('dxcc'); + }, + error: function(xhr, status, error) { + alert('error'); + } + }); + } From 462664f7bf841778852672e5b773faa8cdb24025 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Mon, 8 Dec 2025 16:23:53 +0100 Subject: [PATCH 10/79] Use html view to load result instead --- application/controllers/Logbookadvanced.php | 9 +- .../views/logbookadvanced/checkresult.php | 89 ++++++++++--------- .../logbookadvanced/statecheckresult.php | 45 ++++++++++ assets/js/sections/logbookadvanced.js | 53 ++++------- 4 files changed, 110 insertions(+), 86 deletions(-) create mode 100644 application/views/logbookadvanced/statecheckresult.php diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index a32553769..88d748a8e 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -899,13 +899,12 @@ class Logbookadvanced extends CI_Controller { $type = $this->input->post('type', true); $this->load->model('logbookadvanced_model'); + $data['result'] = $this->logbookadvanced_model->runCheckDb($type); if ($type == 'checkstate') { - $data['result'] = $this->logbookadvanced_model->runCheckDb($type); - $this->load->view('logbookadvanced/checkresult', $data); + $this->load->view('logbookadvanced/statecheckresult', $data); } else { - $result = $this->logbookadvanced_model->runCheckDb($type); - header("Content-Type: application/json"); - echo json_encode($result); + $data['type'] = $type; + $this->load->view('logbookadvanced/checkresult', $data); } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index 512bcfb4f..f105fe2dd 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -1,45 +1,46 @@ - 0): ?> -
-
-

+ - - - - - - - - - - - $item): ?> - dxcc_name) ? $item->dxcc_name : ''; - $formattedName = ucwords(strtolower($rawName), "- (/"); - $name = htmlspecialchars($formattedName, ENT_QUOTES, 'UTF-8'); - $qsos = isset($item->count) ? intval($item->count) : 0; - ?> - - - - - - - - -
prefix; ?> - - -
-
-
- -
-
-

-
- +function check_missing_distance($result) { ?> +
Distance Check Results
+ QSOs to update found: count; ?> + +
Continent Check Results
+ QSOs to update found: count; ?> + +
DXCC Check Results
+ QSOs to update found: count; ?> + +
CQ Zone Check Results
+ QSOs to update found: count; ?> + +
ITU Zone Check Results
+ QSOs to update found: count; ?> + 0): ?> +
+
+

+ +
+ + + + + + + + + + + $item): ?> + dxcc_name) ? $item->dxcc_name : ''; + $formattedName = ucwords(strtolower($rawName), "- (/"); + $name = htmlspecialchars($formattedName, ENT_QUOTES, 'UTF-8'); + $qsos = isset($item->count) ? intval($item->count) : 0; + ?> + + + + + + + + +
prefix; ?> + + +
+
+
+ +
+
+

+
+ diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 89632ee81..f83c8c29d 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2032,7 +2032,6 @@ function saveOptions() { $('#checkUpdateDistancesBtn').prop("disabled", true).addClass("running"); $('#closeButton').prop("disabled", true); - $.ajax({ url: base_url + 'index.php/logbookadvanced/checkDb', data: { @@ -2042,23 +2041,20 @@ function saveOptions() { success: function(response) { $('#checkUpdateDistancesBtn').prop("disabled", false).removeClass("running"); $('#closeButton').prop("disabled", false); - // Create a nice display for the results - let resultHtml = '
Distance Check Results
'; - resultHtml += '

QSO to update found: ' + (response[0].count) + '

'; - $('.result').html(resultHtml); + $('.result').html(response); }, error: function(xhr, status, error) { - $('#checkUpdateDistancesBtn').prop('disabled', false).text(''); + $('#checkUpdateDistancesBtn').prop("disabled", false).removeClass("running"); $('#closeButton').prop('disabled', false); - let errorMsg = ''; + let errorMsg = 'Error checking distance information'; if (xhr.responseJSON && xhr.responseJSON.message) { errorMsg += ': ' + xhr.responseJSON.message; } BootstrapDialog.alert({ - title: '', + title: 'Error', message: errorMsg, type: BootstrapDialog.TYPE_DANGER }); @@ -2070,7 +2066,6 @@ function saveOptions() { $('#checkMissingDxccsBtn').prop("disabled", true).addClass("running"); $('#closeButton').prop("disabled", true); - $.ajax({ url: base_url + 'index.php/logbookadvanced/checkDb', data: { @@ -2080,23 +2075,19 @@ function saveOptions() { success: function(response) { $('#checkMissingDxccsBtn').prop("disabled", false).removeClass("running"); $('#closeButton').prop("disabled", false); - // Create a nice display for the results - let resultHtml = '
DXCC Check Results
'; - resultHtml += '

QSOs without DXCC information found: ' + (response[0].count) + '

'; - - $('.result').html(resultHtml); + $('.result').html(response); }, error: function(xhr, status, error) { $('#checkMissingDxccsBtn').prop('disabled', false).text(''); $('#closeButton').prop('disabled', false); - let errorMsg = ''; + let errorMsg = 'Error checking DXCC information'; if (xhr.responseJSON && xhr.responseJSON.message) { errorMsg += ': ' + xhr.responseJSON.message; } BootstrapDialog.alert({ - title: '', + title: 'Error', message: errorMsg, type: BootstrapDialog.TYPE_DANGER }); @@ -2117,23 +2108,19 @@ function saveOptions() { success: function(response) { $('#checkFixContinentBtn').prop("disabled", false).removeClass("running"); $('#closeButton').prop("disabled", false); - // Create a nice display for the results - let resultHtml = '
Continent Check Results
'; - resultHtml += '

QSOs with missing or invalid continent information found: ' + (response[0].count) + '

'; - - $('.result').html(resultHtml); + $('.result').html(response); }, error: function(xhr, status, error) { $('#checkFixContinentBtn').prop('disabled', false).text(''); $('#closeButton').prop('disabled', false); - let errorMsg = ''; + let errorMsg = 'Error checking continent information'; if (xhr.responseJSON && xhr.responseJSON.message) { errorMsg += ': ' + xhr.responseJSON.message; } BootstrapDialog.alert({ - title: '', + title: 'Error', message: errorMsg, type: BootstrapDialog.TYPE_DANGER }); @@ -2161,13 +2148,13 @@ function saveOptions() { $('#checkFixStateBtn').prop('disabled', false).text(''); $('#closeButton').prop('disabled', false); - let errorMsg = ''; + let errorMsg = 'Error checking state information'; if (xhr.responseJSON && xhr.responseJSON.message) { errorMsg += ': ' + xhr.responseJSON.message; } BootstrapDialog.alert({ - title: '', + title: 'Error', message: errorMsg, type: BootstrapDialog.TYPE_DANGER }); @@ -2188,11 +2175,7 @@ function saveOptions() { success: function(response) { $('#checkFixCqZonesBtn').prop("disabled", false).removeClass("running"); $('#closeButton').prop("disabled", false); - // Create a nice display for the results - let resultHtml = '
CQ Zone Check Results
'; - resultHtml += '

QSOs with missing CQ zone information found: ' + (response[0].count) + '

'; - - $('.result').html(resultHtml); + $('.result').html(response); }, error: function(xhr, status, error) { $('#checkFixCqZonesBtn').prop('disabled', false).text(''); @@ -2204,7 +2187,7 @@ function saveOptions() { } BootstrapDialog.alert({ - title: '', + title: 'Error', message: errorMsg, type: BootstrapDialog.TYPE_DANGER }); @@ -2225,11 +2208,7 @@ function saveOptions() { success: function(response) { $('#checkFixItuZonesBtn').prop("disabled", false).removeClass("running"); $('#closeButton').prop("disabled", false); - // Create a nice display for the results - let resultHtml = '
ITU Zone Check Results
'; - resultHtml += '

QSOs with missing ITU zone information found: ' + (response[0].count) + '

'; - - $('.result').html(resultHtml); + $('.result').html(response); }, error: function(xhr, status, error) { $('#checkFixItuZonesBtn').prop('disabled', false).text(''); @@ -2241,7 +2220,7 @@ function saveOptions() { } BootstrapDialog.alert({ - title: '', + title: 'Error', message: errorMsg, type: BootstrapDialog.TYPE_DANGER }); From e2194257ff8ccd96e5b7a08ffd6a95484033999c Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Mon, 8 Dec 2025 20:58:39 +0100 Subject: [PATCH 11/79] Added Run buttons --- .../views/logbookadvanced/checkresult.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index f105fe2dd..73d4f7a05 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -23,24 +23,44 @@ switch ($type) { function check_missing_distance($result) { ?>
Distance Check Results
QSOs to update found: count; ?> +
+
Continent Check Results
QSOs to update found: count; ?> +
+
DXCC Check Results
QSOs to update found: count; ?> +
+
CQ Zone Check Results
QSOs to update found: count; ?> +
+
ITU Zone Check Results
QSOs to update found: count; ?> +
+ Date: Mon, 8 Dec 2025 21:05:00 +0100 Subject: [PATCH 12/79] Corrected number of counties --- application/libraries/Geojson.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/libraries/Geojson.php b/application/libraries/Geojson.php index 814beaaaf..8d3890dc2 100644 --- a/application/libraries/Geojson.php +++ b/application/libraries/Geojson.php @@ -50,7 +50,7 @@ class Geojson { 248 => ['name' => 'Italy', 'enabled' => true], // 107 provinces 256 => ['name' => 'Madeira Islands', 'enabled' => true], // 1 autonomous region 263 => ['name' => 'Netherlands', 'enabled' => true], // 12 provinces - 266 => ['name' => 'Norway', 'enabled' => true], // 11 counties + 266 => ['name' => 'Norway', 'enabled' => true], // 15 counties 269 => ['name' => 'Poland', 'enabled' => true], // 16 voivodeships 272 => ['name' => 'Portugal', 'enabled' => true], // 18 districts 275 => ['name' => 'Romania', 'enabled' => true], // 42 counties From 94efeb36ae01c08cc2ac13a53d00701cb00ea167 Mon Sep 17 00:00:00 2001 From: JONCOUX Philippe Date: Tue, 9 Dec 2025 21:32:15 +0000 Subject: [PATCH 13/79] Translated using Weblate (French) Currently translated at 98.4% (3137 of 3186 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/fr/ --- application/locale/fr_FR/LC_MESSAGES/messages.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/application/locale/fr_FR/LC_MESSAGES/messages.po b/application/locale/fr_FR/LC_MESSAGES/messages.po index a2af3c500..cb9f524b6 100644 --- a/application/locale/fr_FR/LC_MESSAGES/messages.po +++ b/application/locale/fr_FR/LC_MESSAGES/messages.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-08 10:52+0000\n" -"PO-Revision-Date: 2025-12-09 15:07+0000\n" +"PO-Revision-Date: 2025-12-09 23:24+0000\n" "Last-Translator: JONCOUX Philippe \n" "Language-Team: French \n" @@ -5370,7 +5370,7 @@ msgid "" "CNTY), DXCC (Must be one of 291 (U.S.A.) ,6 (ALASKA) or 110 (HAWAII))" msgstr "" "Champs requis pour ce trophée: Etat (ADIF: STATE), Comté (ADIF : CNTY), DXCC " -"(Doit être un des 291 (U.S.A.) ,6 (ALASKA) ou 110 (HAWAII))" +"(Doit être un des 291 (U.S.A.), 6 (ALASKA) ou 110 (HAWAII))" #: application/views/awards/counties/index.php:22 msgid "Counties Worked" @@ -8163,7 +8163,7 @@ msgstr "Recherchez des endroits..." #: application/views/bandmap/list.php:557 msgid "Note: Map shows DXCC entity locations, not actual spot locations" msgstr "" -"Remarque: La carte indique l'emplacement des entités DXCC, et non " +"Remarque : La carte indique l'emplacement des entités DXCC, et non " "l'emplacement précis des points d'intérêt" #: application/views/bandmap/list.php:565 From 64ad9318a23c23b52836ddb18eac0e55d7eb8c7a Mon Sep 17 00:00:00 2001 From: Luca Date: Tue, 9 Dec 2025 18:44:19 +0000 Subject: [PATCH 14/79] Translated using Weblate (Italian) Currently translated at 99.8% (3181 of 3186 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/it/ --- .../locale/it_IT/LC_MESSAGES/messages.po | 288 ++++++++++-------- 1 file changed, 167 insertions(+), 121 deletions(-) diff --git a/application/locale/it_IT/LC_MESSAGES/messages.po b/application/locale/it_IT/LC_MESSAGES/messages.po index cd5f4cb78..8d2adfc69 100644 --- a/application/locale/it_IT/LC_MESSAGES/messages.po +++ b/application/locale/it_IT/LC_MESSAGES/messages.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-08 10:52+0000\n" -"PO-Revision-Date: 2025-12-08 10:52+0000\n" +"PO-Revision-Date: 2025-12-09 23:24+0000\n" "Last-Translator: Luca \n" -"Language-Team: Italian \n" +"Language-Team: Italian \n" "Language: it_IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -6656,7 +6656,7 @@ msgstr "Categorie di bande" #: application/views/awards/pl_polska/index.php:372 #: application/views/logbookadvanced/index.php:772 msgid "Fix State" -msgstr "" +msgstr "Correggi stato" #: application/views/awards/pl_polska/index.php:372 msgid "Logbook Advanced" @@ -7326,7 +7326,7 @@ msgstr "Fare clic per preparare il registro." #: application/views/bandmap/list.php:11 application/views/bandmap/list.php:131 msgid "to tune frequency" -msgstr "" +msgstr "per sintonizzare la frequenza" #: application/views/bandmap/list.php:14 msgid "Pop-up Blocked" @@ -7376,7 +7376,7 @@ msgstr "Impossibile sintonizzare la radio sulla frequenza" #: application/views/bandmap/list.php:26 msgid "QSO Prepared" -msgstr "" +msgstr "QSO Pronto" #: application/views/bandmap/list.php:28 msgid "sent to logging form" @@ -7723,7 +7723,7 @@ msgstr "Vedi i dettagli per CQ Zone %s" #: application/views/bandmap/list.php:124 msgid "in" -msgstr "" +msgstr "in" #: application/views/bandmap/list.php:127 msgid "Exit Fullscreen" @@ -7790,7 +7790,7 @@ msgstr "spot" #: application/views/bandmap/list.php:141 msgid "spotters" -msgstr "" +msgstr "segnalatori" #: application/views/bandmap/list.php:144 msgid "Please Wait" @@ -7832,7 +7832,7 @@ msgstr "Mostra tutti gli spot" #: application/views/bandmap/list.php:161 msgid "Draw Spotters" -msgstr "" +msgstr "Disegna i segnalatori" #: application/views/bandmap/list.php:162 msgid "Extend Map" @@ -7992,7 +7992,7 @@ msgstr "Filtra Preferiti" #: application/views/bandmap/list.php:430 msgid "Clear all filters except De Continent" -msgstr "" +msgstr "Cancella tutti i filtri tranne De Continent" #: application/views/bandmap/list.php:436 msgid "Toggle 160m band filter" @@ -8166,15 +8166,15 @@ msgstr "Entità" #: application/views/bandmap/list.php:575 msgid "Spotter Callsign" -msgstr "" +msgstr "Nominativo del segnalatore" #: application/views/bandmap/list.php:576 msgid "Spotter Continent" -msgstr "" +msgstr "Continente del segnalatore" #: application/views/bandmap/list.php:577 msgid "Spotter CQ Zone" -msgstr "" +msgstr "Zona CQ del segnalatore" #: application/views/bandmap/list.php:578 msgid "Last QSO Date" @@ -9115,7 +9115,7 @@ msgstr "Fai clic per scorrere o aspetta 1,5s per applicare" #: application/views/components/dxwaterfall.php:28 msgid "Change spotter continent" -msgstr "" +msgstr "Cambia continente del segnalatore" #: application/views/components/dxwaterfall.php:29 msgid "Filter by mode" @@ -9123,7 +9123,7 @@ msgstr "Filtra per modo" #: application/views/components/dxwaterfall.php:36 msgid "Zoom out" -msgstr "" +msgstr "Diminuisci lo zoom" #: application/views/components/dxwaterfall.php:37 msgid "Reset zoom to default (3)" @@ -9183,7 +9183,7 @@ msgstr "Attendere, per favore" #: application/views/components/dxwaterfall.php:50 msgid "Cycle label size" -msgstr "" +msgstr "Cicla tra le dimensioni di etichette" #: application/views/components/dxwaterfall.php:51 msgid "X-Small" @@ -11494,7 +11494,7 @@ msgstr "Cerca le informazioni di riferimento %s su %s" #: application/views/interface_assets/footer.php:95 msgid "Error loading bearing!" -msgstr "" +msgstr "Errore nel caricamento della direzione!" #: application/views/interface_assets/footer.php:96 msgid "Aliases" @@ -11542,11 +11542,11 @@ msgstr "Visualizza la posizione su Google Maps (Satellite)" #: application/views/interface_assets/footer.php:108 msgid "Novice" -msgstr "" +msgstr "Novice" #: application/views/interface_assets/footer.php:109 msgid "Technician" -msgstr "" +msgstr "Technician" #: application/views/interface_assets/footer.php:111 #: application/views/interface_assets/header.php:117 @@ -11555,110 +11555,118 @@ msgstr "Avanzato" #: application/views/interface_assets/footer.php:112 msgid "Extra" -msgstr "" +msgstr "Extra" #: application/views/interface_assets/footer.php:113 msgid "Gridsquare Formatting" -msgstr "" +msgstr "Formattazione locatori" #: application/views/interface_assets/footer.php:114 msgid "" "Enter multiple (4-digit) grids separated with commas. For example: IO77,IO78" msgstr "" +"Inserisci più locatori (a 4 cifre) separati da virgole. Ad esempio: IO77,IO78" #: application/views/interface_assets/footer.php:115 msgid "live" -msgstr "" +msgstr "in tempo reale" #: application/views/interface_assets/footer.php:116 msgid "polling" -msgstr "" +msgstr "polling" #: application/views/interface_assets/footer.php:117 msgid "" "Note: Periodic polling is slow. When operating locally, WebSockets are a " "more convenient way to control your radio in real-time." msgstr "" +"Nota: Il polling periodico è lento. Quando si opera localmente, i WebSocket " +"sono un modo più conveniente per controllare la tua radio in tempo reale." #: application/views/interface_assets/footer.php:118 msgid "TX" -msgstr "" +msgstr "TX" #: application/views/interface_assets/footer.php:119 msgid "RX" -msgstr "" +msgstr "RX" #: application/views/interface_assets/footer.php:120 msgid "TX/RX" -msgstr "" +msgstr "TX/RX" #: application/views/interface_assets/footer.php:122 msgid "Power" -msgstr "" +msgstr "Potenza" #: application/views/interface_assets/footer.php:123 msgid "Radio connection error" -msgstr "" +msgstr "Errore di connessione radio" #: application/views/interface_assets/footer.php:124 msgid "Connection lost, please select another radio." -msgstr "" +msgstr "Connessione persa, seleziona un'altra radio." #: application/views/interface_assets/footer.php:125 msgid "Radio connection timeout" -msgstr "" +msgstr "Timeout connessione radio" #: application/views/interface_assets/footer.php:126 msgid "Data is stale, please select another radio." -msgstr "" +msgstr "I dati sono obsoleti, seleziona un'altra radio." #: application/views/interface_assets/footer.php:127 msgid "You're not logged in. Please log in." -msgstr "" +msgstr "Non sei connesso. Effettua l'accesso." #: application/views/interface_assets/footer.php:128 msgid "Radio Tuning Failed" -msgstr "" +msgstr "Sintonia radio fallita" #: application/views/interface_assets/footer.php:129 msgid "Failed to tune radio to" -msgstr "" +msgstr "Impossibile sintonizzare la radio su" #: application/views/interface_assets/footer.php:130 msgid "CAT interface not responding. Please check your radio connection." msgstr "" +"L'interfaccia CAT non risponde. Controlla la connessione della tua radio." #: application/views/interface_assets/footer.php:131 msgid "No CAT URL configured for this radio" -msgstr "" +msgstr "Nessun URL CAT configurato per questa radio" #: application/views/interface_assets/footer.php:132 msgid "WebSocket Radio" -msgstr "" +msgstr "WebSocket Radio" #: application/views/interface_assets/footer.php:133 msgid "Location is fetched from provided gridsquare" -msgstr "" +msgstr "La posizione è ottenuta dal locatore fornito" #: application/views/interface_assets/footer.php:134 msgid "Location is fetched from DXCC coordinates (no gridsquare provided)" -msgstr "" +msgstr "La posizione è ottenuta dalle coordinate DXCC (nessun locatore fornito)" #: application/views/interface_assets/footer.php:137 msgid "Working without CAT connection" -msgstr "" +msgstr "Funzionamento senza connessione CAT" #: application/views/interface_assets/footer.php:138 msgid "" "CAT connection is currently disabled. Enable CAT connection to work in " "online mode with your radio." msgstr "" +"La connessione CAT è attualmente disabilitata. Abilita la connessione CAT " +"per lavorare in modalità online con la tua radio." #: application/views/interface_assets/footer.php:139 msgid "" "To connect your radio to Wavelog, visit the Wavelog Wiki for setup " "instructions." msgstr "" +"Per collegare la tua radio a Wavelog, visita il Wiki di Wavelog per le " +"istruzioni di configurazione." #: application/views/interface_assets/footer.php:223 #: application/views/interface_assets/header.php:535 @@ -11907,7 +11915,7 @@ msgstr "Collegato tutta Europa (WAE)" #: application/views/interface_assets/header.php:204 msgid "Worked All Prefixes (WPX)" -msgstr "" +msgstr "Worked All Prefixes (WPX)" #: application/views/interface_assets/header.php:226 msgid "Canada" @@ -11951,7 +11959,7 @@ msgstr "LX Gridmaster" #: application/views/interface_assets/header.php:268 msgid "Poland" -msgstr "" +msgstr "Polonia" #: application/views/interface_assets/header.php:274 msgid "Switzerland" @@ -12412,26 +12420,32 @@ msgid "" "If a QSO has a 4‑char locator (e.g., JO90), try to refine it using callbook " "data." msgstr "" +"Se un QSO ha un locatore di 4 caratteri (es. JO90), prova a raffinarlo " +"usando i dati del callbook." #: application/views/logbookadvanced/callbookdialog.php:6 msgid "" "We’ll keep the original value and add a more precise locator (e.g., JO90AB " "or JO90AB12) when a match is confident." msgstr "" +"Manterremo il valore originale e aggiungeremo un localizzatore più preciso " +"(ad esempio, JO90AB o JO90AB12) quando una corrispondenza sarà sicura." #: application/views/logbookadvanced/continentdialog.php:2 msgid "" "Update all QSOs with the continent based on the DXCC country of the QSO." -msgstr "" +msgstr "Aggiorna tutti i QSO con il continente basato sul paese DXCC del QSO." #: application/views/logbookadvanced/continentdialog.php:3 msgid "This is useful if you have imported QSOs without continent information." -msgstr "" +msgstr "Questo è utile se hai importato QSO senza informazioni sul continente." #: application/views/logbookadvanced/continentdialog.php:4 msgid "" "Update will only set the continent for QSOs where the continent is empty." msgstr "" +"L'aggiornamento imposterà il continente solo per i QSO in cui il continente " +"è vuoto." #: application/views/logbookadvanced/distancedialog.php:2 msgid "" @@ -12439,14 +12453,19 @@ msgid "" "station profile, and the gridsquare of the QSO partner. Distance will be " "calculated based on if short path or long path is set." msgstr "" +"Aggiorna tutti i QSO con la distanza basata sul tuo locatore impostato nel " +"profilo della stazione e sul locatore del corrispondente. La distanza verrà " +"calcolata in base al percorso corto o lungo impostato." #: application/views/logbookadvanced/distancedialog.php:3 msgid "This is useful if you have imported QSOs without distance information." -msgstr "" +msgstr "Questo è utile se hai importato QSO senza informazioni sulla distanza." #: application/views/logbookadvanced/distancedialog.php:4 msgid "Update will only set the distance for QSOs where the distance is empty." msgstr "" +"L'aggiornamento imposterà la distanza solo per i QSO dove la distanza è " +"vuota." #: application/views/logbookadvanced/edit.php:1 msgid "Please choose the column to be edited:" @@ -12518,11 +12537,11 @@ msgstr "QRZ inviato" #: application/views/logbookadvanced/edit.php:48 msgid "QSL Received" -msgstr "" +msgstr "QSL ricevuta" #: application/views/logbookadvanced/edit.php:49 msgid "QSL Sent" -msgstr "" +msgstr "QSL inviata" #: application/views/logbookadvanced/edit.php:50 msgid "QSLMSG" @@ -12805,79 +12824,79 @@ msgstr "Aiuto per il registro avanzato" #: application/views/logbookadvanced/index.php:24 msgid "Continent fix" -msgstr "" +msgstr "Correggi continente" #: application/views/logbookadvanced/index.php:25 msgid "There was a problem fixing ITU Zones." -msgstr "" +msgstr "Si è verificato un problema nel sistemare le zone ITU." #: application/views/logbookadvanced/index.php:26 msgid "There was a problem fixing CQ Zones." -msgstr "" +msgstr "Si è verificato un problema nel correggere le zone CQ." #: application/views/logbookadvanced/index.php:27 msgid "ITU Zones updated successfully!" -msgstr "" +msgstr "Zone ITU aggiornate con successo!" #: application/views/logbookadvanced/index.php:28 msgid "CQ Zones updated successfully!" -msgstr "" +msgstr "Zone CQ aggiornate con successo!" #: application/views/logbookadvanced/index.php:29 msgid "You need to select at least 1 row to fix ITU Zones!" -msgstr "" +msgstr "Devi selezionare almeno 1 riga per correggere le zone ITU!" #: application/views/logbookadvanced/index.php:30 msgid "You need to select at least 1 row to fix CQ Zones!" -msgstr "" +msgstr "È necessario selezionare almeno 1 riga per correggere le zone CQ!" #: application/views/logbookadvanced/index.php:31 msgid "You need to select at least 1 row to fix State!" -msgstr "" +msgstr "È necessario selezionare almeno 1 riga per correggere lo stato!" #: application/views/logbookadvanced/index.php:32 msgid "State updated successfully!" -msgstr "" +msgstr "Stato aggiornato con successo!" #: application/views/logbookadvanced/index.php:33 msgid "There was a problem fixing State." -msgstr "" +msgstr "Si è verificato un problema nel sistemare lo stato." #: application/views/logbookadvanced/index.php:34 msgid "Fixing State" -msgstr "" +msgstr "Sistemazione degli stati" #: application/views/logbookadvanced/index.php:35 #, php-format msgid "Fixing State (%s QSOs)" -msgstr "" +msgstr "Sistemazione degli stati (%s QSO)" #: application/views/logbookadvanced/index.php:36 #, php-format msgid "Fixing State: %s remaining" -msgstr "" +msgstr "Sistemazione degli stati: %s rimanenti" #: application/views/logbookadvanced/index.php:37 msgid "Fixed" -msgstr "" +msgstr "Sistemato" #: application/views/logbookadvanced/index.php:38 #, php-format msgid "Fixed: %s" -msgstr "" +msgstr "Sistemati: %s" #: application/views/logbookadvanced/index.php:39 msgid "Skipped" -msgstr "" +msgstr "Saltato" #: application/views/logbookadvanced/index.php:40 #, php-format msgid "Skipped: %s, see details for skipped rows below" -msgstr "" +msgstr "Saltati: %s, vedere i dettagli per le righe saltate di seguito" #: application/views/logbookadvanced/index.php:41 msgid "State Fix Complete" -msgstr "" +msgstr "Sistemazione stati completata" #: application/views/logbookadvanced/index.php:42 #, php-format @@ -12886,68 +12905,73 @@ msgid "" "countries, please create a ticket at %s with the GeoJSON file and desired " "letter coding for your country." msgstr "" +"Non tutti le entità DXCC hanno uno stato. Se hai bisogno di supporto per " +"ulteriori paesi, crea un ticket su %s con il file GeoJSON e la codifica " +"delle lettere desiderata per il tuo paese." #: application/views/logbookadvanced/index.php:45 msgid "Only 1 row can be selected for Quickfilter!" -msgstr "" +msgstr "È possibile selezionare solo 1 riga per il filtro rapido!" #: application/views/logbookadvanced/index.php:46 msgid "You need to select a row to use the Quickfilters!" -msgstr "" +msgstr "Devi selezionare una riga per usare i Filtri rapidi!" #: application/views/logbookadvanced/index.php:47 msgid "You need to select a least 1 row to display a QSL card!" -msgstr "" +msgstr "È necessario selezionare almeno 1 riga per visualizzare una cartolina!" #: application/views/logbookadvanced/index.php:48 msgid "Continents updated successfully!" -msgstr "" +msgstr "Continenti aggiornati con successo!" #: application/views/logbookadvanced/index.php:49 msgid "There was a problem fixing Continents." -msgstr "" +msgstr "Si è verificato un problema nel sistemare i continenti." #: application/views/logbookadvanced/index.php:51 msgid "SUCCESS" -msgstr "" +msgstr "SUCCESSO" #: application/views/logbookadvanced/index.php:52 msgid "INFO" -msgstr "" +msgstr "INFORMAZIONI" #: application/views/logbookadvanced/index.php:58 msgid "Options for the Advanced Logbook" -msgstr "" +msgstr "Opzioni per il registro avanzato" #: application/views/logbookadvanced/index.php:59 msgid "" "Something went wrong with label print. Go to labels and check if you have " "defined a label, and that it is set for print!" msgstr "" +"Qualcosa è andato storto con la stampa delle etichette. Vai alle etichette e " +"controlla se hai definito un'etichetta e che sia impostata per la stampa!" #: application/views/logbookadvanced/index.php:60 msgid "You need to select a least 1 row!" -msgstr "" +msgstr "Devi selezionare almeno 1 riga!" #: application/views/logbookadvanced/index.php:61 msgid "Start printing at which label?" -msgstr "" +msgstr "Iniziare a stampare da quale etichetta?" #: application/views/logbookadvanced/index.php:62 msgid "You need to select at least 1 row to print a label!" -msgstr "" +msgstr "Devi selezionare almeno 1 riga per stampare un'etichetta!" #: application/views/logbookadvanced/index.php:63 msgid "An error occurred while saving options: " -msgstr "" +msgstr "Si è verificato un errore durante il salvataggio delle opzioni: " #: application/views/logbookadvanced/index.php:64 msgid "You need to select a least 1 row to delete!" -msgstr "" +msgstr "È necessario selezionare almeno una riga da eliminare!" #: application/views/logbookadvanced/index.php:65 msgid "You need to select a least 1 row to update from callbook!" -msgstr "" +msgstr "È necessario selezionare almeno 1 riga da aggiornare nel registro!" #: application/views/logbookadvanced/index.php:66 #: application/views/oqrs/showrequests.php:10 @@ -12956,24 +12980,24 @@ msgstr "Si è verificato un errore durante la richiesta" #: application/views/logbookadvanced/index.php:67 msgid "You need to select at least 1 location to do a search!" -msgstr "" +msgstr "Devi selezionare almeno 1 posizione per effettuare una ricerca!" #: application/views/logbookadvanced/index.php:68 #: application/views/logbookadvanced/index.php:773 msgid "Update Distances" -msgstr "" +msgstr "Aggiorna le distanze" #: application/views/logbookadvanced/index.php:69 msgid "QSO records updated." -msgstr "" +msgstr "QSO record aggiornati." #: application/views/logbookadvanced/index.php:70 msgid "There was a problem updating distances." -msgstr "" +msgstr "Si è verificato un problema nell'aggiornamento delle distanze." #: application/views/logbookadvanced/index.php:71 msgid "Distances updated successfully!" -msgstr "" +msgstr "Distanze aggiornate con successo!" #: application/views/logbookadvanced/index.php:292 msgid "From" @@ -13017,6 +13041,8 @@ msgid "" "Distance in kilometers. Search will look for distances greater than or equal " "to this value." msgstr "" +"Distanza in chilometri. La ricerca troverà distanze maggiori o uguali a " +"questo valore." #: application/views/logbookadvanced/index.php:500 msgid "QSL Filters" @@ -13162,11 +13188,11 @@ msgstr "Immagini QSL" #: application/views/logbookadvanced/index.php:651 msgid "QRZ sent" -msgstr "" +msgstr "QRZ inviato" #: application/views/logbookadvanced/index.php:660 msgid "QRZ received" -msgstr "" +msgstr "QRZ ricevuto" #: application/views/logbookadvanced/index.php:676 msgid "Quickfilters" @@ -13315,7 +13341,7 @@ msgstr "Correggi le zone ITU" #: application/views/logbookadvanced/index.php:771 msgid "Fix Continent" -msgstr "" +msgstr "Sistema continente" #: application/views/logbookadvanced/index.php:780 #: application/views/oqrs/showrequests.php:58 @@ -13414,32 +13440,36 @@ msgid "" "Update QSOs with state/province information based on gridsquare and DXCC " "country." msgstr "" +"Aggiorna i QSO con informazioni su stato/provincia basate su gridsquare e " +"paese DXCC." #: application/views/logbookadvanced/statedialog.php:3 msgid "" "This feature uses GeoJSON boundary data to determine the state/province from " "the gridsquare locator." msgstr "" +"Questa funzione utilizza i dati di confine GeoJSON per determinare lo stato/" +"provincia dal localizzatore del locatore." #: application/views/logbookadvanced/statedialog.php:4 msgid "Update will only set the state for QSOs where:" -msgstr "" +msgstr "L'aggiornamento imposterà lo stato solo per i QSO in cui:" #: application/views/logbookadvanced/statedialog.php:6 msgid "The state field is empty" -msgstr "" +msgstr "Il campo stato è vuoto" #: application/views/logbookadvanced/statedialog.php:7 msgid "A gridsquare is present (at least 6 characters)" -msgstr "" +msgstr "Un locatore è presente (almeno 6 caratteri)" #: application/views/logbookadvanced/statedialog.php:8 msgid "The DXCC country supports state lookup" -msgstr "" +msgstr "Il paese DXCC supporta la ricerca dello stato" #: application/views/logbookadvanced/statedialog.php:10 msgid "Currently supported countries" -msgstr "" +msgstr "Paesu attualmente supportati" #: application/views/logbookadvanced/useroptions.php:16 msgid "Column" @@ -13580,31 +13610,31 @@ msgstr "Last upload" #: application/views/lotw_views/index.php:95 msgid "Last change:" -msgstr "" +msgstr "Ultima modifica:" #: application/views/lotw_views/index.php:95 msgid "Serial number:" -msgstr "" +msgstr "Numero progressivo:" #: application/views/lotw_views/index.php:97 msgid "Certificate superseded" -msgstr "" +msgstr "Certificato sostituito" #: application/views/lotw_views/index.php:100 msgid "Certificate expired" -msgstr "" +msgstr "Certificato scaduto" #: application/views/lotw_views/index.php:102 msgid "Certificate expiring" -msgstr "" +msgstr "Certificato in scadenza" #: application/views/lotw_views/index.php:104 msgid "Certificate valid" -msgstr "" +msgstr "Certificato valido" #: application/views/lotw_views/index.php:109 msgid "QSO end date nearing" -msgstr "" +msgstr "La data di fine QSO si avvicina" #: application/views/lotw_views/index.php:121 #, php-format @@ -13734,6 +13764,10 @@ msgid "" "store information about QSO partners. These notes are private and are not " "shared with other users nor exported to external services." msgstr "" +"Contatti è una categoria speciale di note utilizzata in vari punti di " +"Wavelog per memorizzare informazioni sui partner QSO. Queste note sono " +"private e non vengono condivise con altri utenti né esportate verso servizi " +"esterni." #: application/views/notes/add.php:61 application/views/notes/edit.php:56 msgid "Note Contents" @@ -13746,31 +13780,31 @@ msgstr "Salva Nota" #: application/views/notes/main.php:25 msgid "All Categories" -msgstr "" +msgstr "Tutte le categorie" #: application/views/notes/main.php:53 msgid "Search notes (min. 3 chars)" -msgstr "" +msgstr "Cerca note (min. 3 caratteri)" #: application/views/notes/main.php:54 msgid "Add stroked zero (Ø)" -msgstr "" +msgstr "Aggiungi zero sbarrato (Ø)" #: application/views/notes/main.php:57 msgid "Reset search" -msgstr "" +msgstr "Reimposta ricerca" #: application/views/notes/main.php:75 msgid "Creation" -msgstr "" +msgstr "Creazione" #: application/views/notes/main.php:76 msgid "Last Modification" -msgstr "" +msgstr "Ultima modifica" #: application/views/notes/view.php:20 msgid "View Note" -msgstr "" +msgstr "Visualizza nota" #: application/views/operator/index.php:9 msgid "" @@ -14806,7 +14840,7 @@ msgstr "L'input WWFF deve essere compilato per mostrare un riepilogo!" #: application/views/qso/award_tabs.php:19 msgid "Propagation mode needs to be SAT to show a summary!" -msgstr "" +msgstr "La modalità di propagazione deve essere SAT per mostrare un riepilogo!" #: application/views/qso/award_tabs.php:20 msgid "Gridsquare input needs to be filled to show a summary!" @@ -15050,7 +15084,7 @@ msgstr "Valore non valido per l'elevazione dell'antenna:" #: application/views/qso/index.php:38 msgid "Please wait before saving another QSO" -msgstr "" +msgstr "Attendere prima di salvare un altro QSO" #: application/views/qso/index.php:86 msgid "LIVE" @@ -15144,7 +15178,7 @@ msgstr "Modo Satellite" #: application/views/qso/index.php:679 msgid "QSO Note" -msgstr "" +msgstr "Nota QSO" #: application/views/qso/index.php:722 msgid "QSL MSG" @@ -15156,13 +15190,15 @@ msgstr "Reimposta ai valori predefiniti" #: application/views/qso/index.php:758 msgid "Callsign Notes" -msgstr "" +msgstr "Note sul nominativo" #: application/views/qso/index.php:759 msgid "" "Store private information about your QSO partner. These notes are never " "shared or exported to external services." msgstr "" +"Memorizza informazioni private sul tuo partner QSO. Queste note non vengono " +"mai condivise o esportate verso servizi esterni." #: application/views/qso/index.php:808 msgid "Winkey" @@ -15190,7 +15226,7 @@ msgstr "Ferma la sintonia" #: application/views/qso/index.php:847 msgid "Enter text..." -msgstr "" +msgstr "Inserisci il testo..." #: application/views/qso/index.php:848 msgid "Send" @@ -15202,13 +15238,15 @@ msgstr "Suggerimenti" #: application/views/qso/index.php:869 msgid "QSO Partner's Profile" -msgstr "" +msgstr "Profilo del corrispondente" #: application/views/qso/index.php:870 msgid "" "Profile picture and data fetched from third-party services. This information " "is not stored on your Wavelog instance." msgstr "" +"Immagine del profilo e dati ottenuti da servizi di terze parti. Queste " +"informazioni non sono memorizzate sulla tua istanza di Wavelog." #: application/views/qso/log_qso.php:9 msgid "Redirecting to QSO logging page..." @@ -16736,7 +16774,7 @@ msgstr "Mostra tutte le posizioni" #: application/views/stationsetup/stationsetup.php:106 msgid "Show a location list" -msgstr "" +msgstr "Mostra un elenco di località" #: application/views/stationsetup/stationsetup.php:110 msgid "" @@ -17282,6 +17320,7 @@ msgstr "" #: application/views/user/edit.php:375 msgid "Prioritize database search over external lookup" msgstr "" +"Dai priorità alla ricerca nel database rispetto alla consultazione esterna" #: application/views/user/edit.php:381 msgid "" @@ -17289,6 +17328,9 @@ msgid "" "QSOs before querying external services. Set to \"No\" to always use external " "lookup services instead." msgstr "" +"Quando impostato su \"Sì\", la ricerca dei nominativi utilizzerà prima i " +"dati dei tuoi QSO precedenti prima di interrogare servizi esterni. Imposta " +"su \"No\" per utilizzare sempre servizi di ricerca esterni invece." #: application/views/user/edit.php:385 msgid "" @@ -17341,11 +17383,13 @@ msgstr "Numero di contatti precedenti visualizzati nella pagina QSO." #: application/views/user/edit.php:446 msgid "DX Waterfall" -msgstr "" +msgstr "DX Waterfall" #: application/views/user/edit.php:452 msgid "Show an interactive DX Cluster 'Waterfall' on the QSO logging page." msgstr "" +"Mostra un 'Waterfall' interattivo del DX Cluster sulla pagina di " +"registrazione QSO." #: application/views/user/edit.php:463 msgid "Menu Options" @@ -17421,7 +17465,7 @@ msgstr "Non visualizzato" #: application/views/user/edit.php:547 msgid "QSO (worked, not confirmed)" -msgstr "" +msgstr "QSO (collegati, non confermati)" #: application/views/user/edit.php:566 msgid "QSO (confirmed)" @@ -17429,15 +17473,15 @@ msgstr "QSO (confermato)" #: application/views/user/edit.php:567 msgid "(If 'No', displayed as 'QSO (worked, not confirmed)')" -msgstr "" +msgstr "(Se 'No', visualizzato come 'QSO (collegato, non confermato)')" #: application/views/user/edit.php:586 msgid "Unworked (e.g. Zones)" -msgstr "" +msgstr "Non collegate (es. Zone)" #: application/views/user/edit.php:587 msgid "(Color for unworked zones)" -msgstr "" +msgstr "(Colore per zone non collegate)" #: application/views/user/edit.php:597 msgid "Show Locator" @@ -17488,12 +17532,14 @@ msgstr "" #: application/views/user/edit.php:673 msgid "Dashboard solar and propagation data" -msgstr "" +msgstr "Dati solari e di propagazione" #: application/views/user/edit.php:679 msgid "" "This switches the display of the solar and propagation data on the dashboard." msgstr "" +"Questo commuta la visualizzazione dei dati solari e di propagazione nella " +"homepage." #: application/views/user/edit.php:687 msgid "Show Reference Fields on QSO Tab" @@ -17626,7 +17672,7 @@ msgstr "Club Log" #: application/views/user/edit.php:937 msgid "Club Log Email" -msgstr "" +msgstr "Email di ClubLog" #: application/views/user/edit.php:943 msgid "Club Log Password" @@ -18224,7 +18270,7 @@ msgstr "Gestione QSL" #: application/views/view_log/qso.php:86 msgid "View note for this callsign" -msgstr "" +msgstr "Visualizza nota per questo nominativo" #: application/views/view_log/qso.php:138 msgid "Total Distance" @@ -18348,7 +18394,7 @@ msgstr "immagine eQSL" #: application/views/view_log/qso.php:916 msgid "QSO not found" -msgstr "" +msgstr "QSO non trovato" #: application/views/visitor/layout/footer.php:239 msgid "Filter Results" From 6c869ddcde00b3aaf19b71ca7e3b1ee566efab95 Mon Sep 17 00:00:00 2001 From: Luca Date: Tue, 9 Dec 2025 18:45:21 +0000 Subject: [PATCH 15/79] Translated using Weblate (Italian) Currently translated at 100.0% (176 of 176 strings) Translation: Wavelog/Datatables Translate-URL: https://translate.wavelog.org/projects/wavelog/datatables/it/ --- assets/json/datatables_languages/it-IT.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/json/datatables_languages/it-IT.json b/assets/json/datatables_languages/it-IT.json index 6784165b8..0083aeda1 100644 --- a/assets/json/datatables_languages/it-IT.json +++ b/assets/json/datatables_languages/it-IT.json @@ -194,7 +194,7 @@ "title": "Modifica elemento" }, "error": { - "system": "Errore del sistema." + "system": "Errore del sistema (Maggiori informazioni<\\/a>)." }, "multi": { "info": "Gli elementi selezionati contengono valori diversi. Per modificare e impostare tutti gli elementi per questa selezione allo stesso valore, premi o clicca qui, altrimenti ogni cella manterrà il suo valore attuale.", From f9cb6a110c54ab5932d508c579d31ea6509837b2 Mon Sep 17 00:00:00 2001 From: MCyiqiehuanying Date: Wed, 10 Dec 2025 05:17:51 +0000 Subject: [PATCH 16/79] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 98.9% (3153 of 3186 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/zh_Hans/ --- .../locale/zh_CN/LC_MESSAGES/messages.po | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/application/locale/zh_CN/LC_MESSAGES/messages.po b/application/locale/zh_CN/LC_MESSAGES/messages.po index dca8dfdd4..b83a88beb 100644 --- a/application/locale/zh_CN/LC_MESSAGES/messages.po +++ b/application/locale/zh_CN/LC_MESSAGES/messages.po @@ -21,14 +21,15 @@ # ShenRQ , 2025. # "ShenRQ(BH4FJN)" , 2025. # Jerry , 2025. +# MCyiqiehuanying , 2025. msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-08 10:52+0000\n" -"PO-Revision-Date: 2025-12-03 07:44+0000\n" -"Last-Translator: hellofinch <543933756@qq.com>\n" -"Language-Team: Chinese (Simplified Han script) \n" +"PO-Revision-Date: 2025-12-10 06:04+0000\n" +"Last-Translator: MCyiqiehuanying \n" +"Language-Team: Chinese (Simplified Han script) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -217,7 +218,7 @@ msgstr "激活的地图" #: application/controllers/Adif.php:61 application/controllers/Adif.php:73 msgid "You're not allowed to access this functionality!" -msgstr "" +msgstr "你无权访问此功能!" #: application/controllers/Adif.php:80 msgid "valid date" @@ -697,7 +698,7 @@ msgstr "集体台站管理员" #: application/controllers/Club.php:24 msgid "Club Member ADIF" -msgstr "" +msgstr "俱乐部成员 ADIF" #: application/controllers/Club.php:25 msgid "Club Member" @@ -1085,7 +1086,7 @@ msgstr "eQSL 卡片图片下载" #: application/controllers/Eqsl.php:518 msgid "All eQSLs marked as uploaded" -msgstr "" +msgstr "所有标记为已上传的 eQSL" #: application/controllers/Generic_qsl.php:18 msgid "Confirmations" @@ -4870,7 +4871,7 @@ msgstr "请查看 ADIF 错误提示 %s。" #: application/views/adif/import_success.php:59 msgid "You might have ADIF errors. Please check the following information:" -msgstr "" +msgstr "ADIF 文件出现错误,请检查以下信息:" #: application/views/adif/mark_lotw.php:12 #: application/views/hrdlog/mark_hrdlog.php:12 @@ -6348,7 +6349,7 @@ msgstr "" #: application/views/awards/pl_polska/index.php:54 msgid "Station Logbook" -msgstr "" +msgstr "台站日志" #: application/views/awards/pl_polska/index.php:62 msgid "Confirmation methods" From 54eb2f76fc5c046dc1c06f9503d0e65bda22457f Mon Sep 17 00:00:00 2001 From: Florian Wolters Date: Wed, 10 Dec 2025 07:14:36 +0000 Subject: [PATCH 17/79] Translated using Weblate (German) Currently translated at 100.0% (3192 of 3192 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/de/ --- .../locale/de_DE/LC_MESSAGES/messages.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/application/locale/de_DE/LC_MESSAGES/messages.po b/application/locale/de_DE/LC_MESSAGES/messages.po index 466c81be4..03fa3e3f7 100644 --- a/application/locale/de_DE/LC_MESSAGES/messages.po +++ b/application/locale/de_DE/LC_MESSAGES/messages.po @@ -27,10 +27,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-07 15:02+0000\n" +"PO-Revision-Date: 2025-12-10 07:14+0000\n" "Last-Translator: Florian Wolters \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1075,27 +1075,27 @@ msgstr "Kein passender eQSL QTH Nickname: %s" #: application/controllers/Eqsl.php:312 msgid "QSO not found or not accessible" -msgstr "" +msgstr "QSO nicht gefunden oder Zugriff nicht möglich" #: application/controllers/Eqsl.php:330 msgid "User not found" -msgstr "" +msgstr "Benutzer nicht gefunden" #: application/controllers/Eqsl.php:339 msgid "eQSL password not configured for this user" -msgstr "" +msgstr "eQSL Passwort nicht konfiguriert für diesen Benutzer" #: application/controllers/Eqsl.php:357 msgid "Failed to fetch eQSL image data" -msgstr "" +msgstr "Download der eQSL Bilddaten fehlgeschlagen" #: application/controllers/Eqsl.php:376 msgid "eQSL image not available" -msgstr "" +msgstr "eQSL Bild nicht verfügbar" #: application/controllers/Eqsl.php:395 msgid "Failed to download eQSL image" -msgstr "" +msgstr "Download des eQSL Bildes fehlgeschlagen" #: application/controllers/Eqsl.php:495 msgid "eQSL Tools" From 063610e830414e7b4c6e27c87911e025a3292daf Mon Sep 17 00:00:00 2001 From: "Jorgen Dahl, NU1T" Date: Wed, 10 Dec 2025 12:03:36 +0000 Subject: [PATCH 18/79] Translated using Weblate (Swedish) Currently translated at 100.0% (3192 of 3192 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/sv/ --- .../locale/sv_SE/LC_MESSAGES/messages.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/application/locale/sv_SE/LC_MESSAGES/messages.po b/application/locale/sv_SE/LC_MESSAGES/messages.po index 472e4088e..da8b8ec5e 100644 --- a/application/locale/sv_SE/LC_MESSAGES/messages.po +++ b/application/locale/sv_SE/LC_MESSAGES/messages.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-07 14:55+0000\n" +"PO-Revision-Date: 2025-12-10 14:44+0000\n" "Last-Translator: \"Jorgen Dahl, NU1T\" \n" -"Language-Team: Swedish \n" +"Language-Team: Swedish \n" "Language: sv_SE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1055,27 +1055,27 @@ msgstr "Inget sådant eQSL QTH Smeknamn: %s" #: application/controllers/Eqsl.php:312 msgid "QSO not found or not accessible" -msgstr "" +msgstr "QSO hittades inte eller är inte tillgängligt" #: application/controllers/Eqsl.php:330 msgid "User not found" -msgstr "" +msgstr "Användare hittades inte" #: application/controllers/Eqsl.php:339 msgid "eQSL password not configured for this user" -msgstr "" +msgstr "eQSL-lösenord är inte konfigurerat för den här användaren" #: application/controllers/Eqsl.php:357 msgid "Failed to fetch eQSL image data" -msgstr "" +msgstr "Det gick inte att hämta eQSL-bilddata" #: application/controllers/Eqsl.php:376 msgid "eQSL image not available" -msgstr "" +msgstr "eQSL-bild inte tillgänglig" #: application/controllers/Eqsl.php:395 msgid "Failed to download eQSL image" -msgstr "" +msgstr "Det gick inte att ladda ner eQSL-bild" #: application/controllers/Eqsl.php:495 msgid "eQSL Tools" From 396df0fd4d55d188d8f38e6d33ed29b2d7198860 Mon Sep 17 00:00:00 2001 From: "S.NAKAO(JG3HLX)" Date: Wed, 10 Dec 2025 11:03:51 +0000 Subject: [PATCH 19/79] Translated using Weblate (Japanese) Currently translated at 100.0% (3192 of 3192 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/ja/ --- application/locale/ja/LC_MESSAGES/messages.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/application/locale/ja/LC_MESSAGES/messages.po b/application/locale/ja/LC_MESSAGES/messages.po index dc755a90e..15be44161 100644 --- a/application/locale/ja/LC_MESSAGES/messages.po +++ b/application/locale/ja/LC_MESSAGES/messages.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-09 10:03+0000\n" +"PO-Revision-Date: 2025-12-10 14:44+0000\n" "Last-Translator: \"S.NAKAO(JG3HLX)\" \n" -"Language-Team: Japanese \n" +"Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1056,27 +1056,27 @@ msgstr "そのような eQSL QTH ニックネームはありません: %s" #: application/controllers/Eqsl.php:312 msgid "QSO not found or not accessible" -msgstr "" +msgstr "QSOが見つかりません、またはアクセスできません" #: application/controllers/Eqsl.php:330 msgid "User not found" -msgstr "" +msgstr "ユーザーが見つかりません" #: application/controllers/Eqsl.php:339 msgid "eQSL password not configured for this user" -msgstr "" +msgstr "このユーザーにはeQSLパスワードが設定されていません" #: application/controllers/Eqsl.php:357 msgid "Failed to fetch eQSL image data" -msgstr "" +msgstr "eQSL画像データの取得に失敗しました" #: application/controllers/Eqsl.php:376 msgid "eQSL image not available" -msgstr "" +msgstr "eQSL画像は利用できません" #: application/controllers/Eqsl.php:395 msgid "Failed to download eQSL image" -msgstr "" +msgstr "eQSLイメージのダウンロードに失敗しました" #: application/controllers/Eqsl.php:495 msgid "eQSL Tools" From 6f9f0fad87943caa00bff79731523d897eed3d7e Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Wed, 10 Dec 2025 15:57:19 +0100 Subject: [PATCH 20/79] Added state and callsign link in state qso list --- application/models/Logbookadvanced_model.php | 2 +- application/views/logbookadvanced/showStateQsos.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 928e4e21a..fa2b1707e 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1580,7 +1580,7 @@ class Logbookadvanced_model extends CI_Model { } function getStateListQsos($dxcc) { - $sql = "SELECT col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare, d.name as dxcc_name, station_profile.station_profile_name FROM " . $this->config->item('table_name') . " qsos + $sql = "SELECT col_primary_key, col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare, d.name as dxcc_name, station_profile.station_profile_name FROM " . $this->config->item('table_name') . " qsos JOIN station_profile ON qsos.station_id = station_profile.station_id LEFT JOIN dxcc_entities d ON qsos.COL_DXCC = d.adif WHERE qsos.COL_DXCC = ? AND station_profile.user_id = ? diff --git a/application/views/logbookadvanced/showStateQsos.php b/application/views/logbookadvanced/showStateQsos.php index d336854de..a8ec4c93f 100644 --- a/application/views/logbookadvanced/showStateQsos.php +++ b/application/views/logbookadvanced/showStateQsos.php @@ -11,6 +11,7 @@ Date/Time Mode Band + State Gridsquare DXCC Station @@ -19,10 +20,11 @@ - col_call; ?> + col_primary_key . ')">' . htmlspecialchars($qso->col_call) . ''; ?> col_time_on)); ?> col_mode; ?> col_band; ?> + col_state; ?> col_gridsquare; ?> dxcc_name), "- (/"), ENT_QUOTES, 'UTF-8'); ?> station_profile_name; ?> From e2b58cb22d6b5c07f0f7af2f051e04c66c9f7b8a Mon Sep 17 00:00:00 2001 From: Florian Wolters Date: Thu, 11 Dec 2025 10:28:26 +0000 Subject: [PATCH 21/79] Translated using Weblate (German) Currently translated at 100.0% (3194 of 3194 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/de/ --- application/locale/de_DE/LC_MESSAGES/messages.po | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/application/locale/de_DE/LC_MESSAGES/messages.po b/application/locale/de_DE/LC_MESSAGES/messages.po index 4b930b396..c5374f46d 100644 --- a/application/locale/de_DE/LC_MESSAGES/messages.po +++ b/application/locale/de_DE/LC_MESSAGES/messages.po @@ -27,10 +27,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-10 07:14+0000\n" +"PO-Revision-Date: 2025-12-11 10:28+0000\n" "Last-Translator: Florian Wolters \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18742,10 +18742,15 @@ msgid "" "analytics. Great for when you're operating in multiple locations but they " "are part of the same DXCC or VUCC Circle." msgstr "" +"tationslogbücher ermöglichen es dir, Stationsstandorte zu gruppieren. " +"Dadurch kannst du alle Standorte innerhalb einer Sitzung von den " +"Logbuchbereichen bis zur Analyse sehen. Das ist besonders nützlich, wenn du " +"an verschiedenen Standorten arbeitest, die jedoch zu derselben DXCC- oder " +"VUCC-Zone gehören." #: application/views/user/edit.php:687 msgid "Show Fields on QSO Tab" -msgstr "" +msgstr "Zeige Felder auf QSO-Reiter" #~ msgid "" #~ "You might have ADIF errors, the QSOs have still been added. Please check " From 6497f17fa625dc5583668ccb11e0bfb121dfd303 Mon Sep 17 00:00:00 2001 From: JONCOUX Philippe Date: Thu, 11 Dec 2025 08:55:12 +0000 Subject: [PATCH 22/79] Translated using Weblate (French) Currently translated at 98.4% (3146 of 3194 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/fr/ --- .../locale/fr_FR/LC_MESSAGES/messages.po | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/application/locale/fr_FR/LC_MESSAGES/messages.po b/application/locale/fr_FR/LC_MESSAGES/messages.po index e9195629c..e045405fd 100644 --- a/application/locale/fr_FR/LC_MESSAGES/messages.po +++ b/application/locale/fr_FR/LC_MESSAGES/messages.po @@ -18,10 +18,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-08 10:52+0000\n" -"PO-Revision-Date: 2025-12-09 23:24+0000\n" +"PO-Revision-Date: 2025-12-11 10:28+0000\n" "Last-Translator: JONCOUX Philippe \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -7523,15 +7523,15 @@ msgstr "Cliquez pour activer la connexion CAT" #: application/views/bandmap/list.php:31 msgid "CAT following radio - Click to disable" -msgstr "" +msgstr "Radio CAT suiveuse - Cliquez pour désactiver" #: application/views/bandmap/list.php:32 application/views/bandmap/list.php:231 msgid "Click to enable band lock (requires CAT connection)" -msgstr "" +msgstr "Cliquez pour activer le verrouillage de bande (connexion CAT requise)" #: application/views/bandmap/list.php:33 msgid "Band lock active - Click to disable" -msgstr "" +msgstr "Verrouillage de band activé - Cliquez pour désactiver" #: application/views/bandmap/list.php:34 msgid "Band Lock" @@ -7539,11 +7539,11 @@ msgstr "" #: application/views/bandmap/list.php:35 msgid "Band lock enabled - band filter will track radio band" -msgstr "" +msgstr "Verrouillage de bande activé - le filtre de bande suivra la bande radio" #: application/views/bandmap/list.php:36 msgid "Band filter changed to" -msgstr "" +msgstr "Filtre de bande modifié en" #: application/views/bandmap/list.php:37 msgid "by transceiver" @@ -7580,19 +7580,19 @@ msgstr "Utilisez vos groupes et modes préférés" #: application/views/bandmap/list.php:47 application/views/bandmap/list.php:314 #: application/views/bandmap/list.php:479 msgid "My Submodes" -msgstr "" +msgstr "Mes sous-modes" #: application/views/bandmap/list.php:48 msgid "Submode filter enabled" -msgstr "" +msgstr "Filtre de sous-mode activé" #: application/views/bandmap/list.php:49 msgid "Submode filter disabled - showing all" -msgstr "" +msgstr "Filtre de sous-mode désactivé - tout affiché" #: application/views/bandmap/list.php:50 msgid "Required submodes" -msgstr "" +msgstr "Sous-modes requis" #: application/views/bandmap/list.php:51 msgid "Configure in User Settings - Modes" From aee692e145ed50797b8d4844bd8e11f272aed0ea Mon Sep 17 00:00:00 2001 From: Jerry Date: Thu, 11 Dec 2025 08:59:47 +0000 Subject: [PATCH 23/79] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 99.1% (3167 of 3194 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/zh_Hans/ --- .../locale/zh_CN/LC_MESSAGES/messages.po | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/application/locale/zh_CN/LC_MESSAGES/messages.po b/application/locale/zh_CN/LC_MESSAGES/messages.po index 0c9ed7957..41693b8ad 100644 --- a/application/locale/zh_CN/LC_MESSAGES/messages.po +++ b/application/locale/zh_CN/LC_MESSAGES/messages.po @@ -26,8 +26,8 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-08 10:52+0000\n" -"PO-Revision-Date: 2025-12-10 06:04+0000\n" -"Last-Translator: MCyiqiehuanying \n" +"PO-Revision-Date: 2025-12-11 10:28+0000\n" +"Last-Translator: Jerry \n" "Language-Team: Chinese (Simplified Han script) \n" "Language: zh_CN\n" @@ -7206,7 +7206,7 @@ msgstr "清除筛选条件" #: application/views/bandmap/list.php:19 msgid "Band filter preserved (band lock is active)" -msgstr "" +msgstr "频段筛选已保存(频段锁已激活)" #: application/views/bandmap/list.php:21 msgid "Radio set to None - CAT connection disabled" @@ -7246,19 +7246,19 @@ msgstr "点击以启用 CAT 连接" #: application/views/bandmap/list.php:31 msgid "CAT following radio - Click to disable" -msgstr "" +msgstr "CAT 控制电台 - 点击禁用" #: application/views/bandmap/list.php:32 application/views/bandmap/list.php:231 msgid "Click to enable band lock (requires CAT connection)" -msgstr "" +msgstr "点击以启用频段锁定(需连接 CAT 线)" #: application/views/bandmap/list.php:33 msgid "Band lock active - Click to disable" -msgstr "" +msgstr "频段锁已激活 - 点击禁用" #: application/views/bandmap/list.php:34 msgid "Band Lock" -msgstr "" +msgstr "频段锁" #: application/views/bandmap/list.php:35 msgid "Band lock enabled - band filter will track radio band" @@ -7266,7 +7266,7 @@ msgstr "" #: application/views/bandmap/list.php:36 msgid "Band filter changed to" -msgstr "" +msgstr "频段筛选器更改为" #: application/views/bandmap/list.php:37 msgid "by transceiver" @@ -7350,35 +7350,35 @@ msgstr "切换语音模式筛选器" #: application/views/bandmap/list.php:60 application/views/bandmap/list.php:421 msgid "Favorites" -msgstr "" +msgstr "收藏夹" #: application/views/bandmap/list.php:61 application/views/bandmap/list.php:424 msgid "Save Current Filters..." -msgstr "" +msgstr "保存当前筛选器..." #: application/views/bandmap/list.php:62 msgid "Enter a name for this filter preset:" -msgstr "" +msgstr "输入筛选器预设的名称:" #: application/views/bandmap/list.php:63 msgid "Filter preset saved" -msgstr "" +msgstr "筛选器预设已保存" #: application/views/bandmap/list.php:64 msgid "Filter preset loaded" -msgstr "" +msgstr "筛选器预设已加载" #: application/views/bandmap/list.php:65 msgid "Filter preset deleted" -msgstr "" +msgstr "筛选器预设已删除" #: application/views/bandmap/list.php:66 msgid "Are you sure to delete this filter preset?" -msgstr "" +msgstr "您确定要删除此筛选器预设吗?" #: application/views/bandmap/list.php:67 msgid "No saved filter presets" -msgstr "" +msgstr "没有已保存的筛选器预设" #: application/views/bandmap/list.php:68 msgid "" From 19dd3af220ed58d9b663b77a8db31d3d5f5e6754 Mon Sep 17 00:00:00 2001 From: "Jorgen Dahl, NU1T" Date: Thu, 11 Dec 2025 11:27:29 +0000 Subject: [PATCH 24/79] Translated using Weblate (Swedish) Currently translated at 100.0% (3194 of 3194 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/sv/ --- application/locale/sv_SE/LC_MESSAGES/messages.po | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/application/locale/sv_SE/LC_MESSAGES/messages.po b/application/locale/sv_SE/LC_MESSAGES/messages.po index d0e2ebcff..a92a0129d 100644 --- a/application/locale/sv_SE/LC_MESSAGES/messages.po +++ b/application/locale/sv_SE/LC_MESSAGES/messages.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-10 14:44+0000\n" +"PO-Revision-Date: 2025-12-11 12:58+0000\n" "Last-Translator: \"Jorgen Dahl, NU1T\" \n" -"Language-Team: Swedish \n" +"Language-Team: Swedish \n" "Language: sv_SE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18554,10 +18554,13 @@ msgid "" "analytics. Great for when you're operating in multiple locations but they " "are part of the same DXCC or VUCC Circle." msgstr "" +"Stationsloggar låter dig gruppera stationsplatser, detta gör att du kan se " +"alla platser under en session när stations loggen analyseras. Perfekt när du " +"opererar på flera platser som är en del av samma DXCC- eller VUCC-cirkel." #: application/views/user/edit.php:687 msgid "Show Fields on QSO Tab" -msgstr "" +msgstr "Visa fält på QSO-fliken" #~ msgid "" #~ "You might have ADIF errors, the QSOs have still been added. Please check " From b72d9c934851b718d5198101346f1f619015b33a Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Thu, 11 Dec 2025 21:11:53 +0100 Subject: [PATCH 25/79] Fixed DXCC checking for ALL QSOs --- application/controllers/Logbookadvanced.php | 2 +- .../views/logbookadvanced/dbtoolsdialog.php | 4 +- application/views/logbookadvanced/index.php | 2 + assets/js/sections/logbookadvanced.js | 42 +++++++++++++------ 4 files changed, 35 insertions(+), 15 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 88d748a8e..f343a180c 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -945,6 +945,6 @@ class Logbookadvanced extends CI_Controller { $result = $this->logbookadvanced_model->check_missing_dxcc_id($all); header("Content-Type: application/json"); - echo json_encode($result); + echo json_encode(__("The number of QSOs re-checked for DXCC was") .' ' . $result); } } diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php index 3de1e644f..109950720 100644 --- a/application/views/logbookadvanced/dbtoolsdialog.php +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -2,7 +2,7 @@
-
@@ -86,7 +86,7 @@

-
diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index 51710bd4a..eec6dafe0 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -70,6 +70,8 @@ let lang_gen_advanced_logbook_problem_updating_distances = ''; let lang_gen_advanced_logbook_distances_updated = ''; + let lang_gen_advanced_logbook_confirm_fix_missing_dxcc = ''; + let homegrid =''; Date: Fri, 12 Dec 2025 09:45:51 +0100 Subject: [PATCH 26/79] Fix updating missing DXCC --- application/controllers/Logbookadvanced.php | 6 +- application/models/Logbookadvanced_model.php | 2 +- .../views/logbookadvanced/checkresult.php | 2 +- .../views/logbookadvanced/dbtoolsdialog.php | 2 +- assets/js/sections/logbookadvanced.js | 87 ++++++++++++------- 5 files changed, 64 insertions(+), 35 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index f343a180c..d1fbf2884 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -945,6 +945,10 @@ class Logbookadvanced extends CI_Controller { $result = $this->logbookadvanced_model->check_missing_dxcc_id($all); header("Content-Type: application/json"); - echo json_encode(__("The number of QSOs re-checked for DXCC was") .' ' . $result); + if ($all == 'false') { + echo json_encode(__("The number of QSOs updated for missing DXCC IDs was") .' ' . $result); + } else { + echo json_encode(__("The number of QSOs re-checked for DXCC was") .' ' . $result); + } } } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index fa2b1707e..21881dcc6 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1605,7 +1605,7 @@ class Logbookadvanced_model extends CI_Model { $this->db->join('station_profile', 'station_profile.station_id = ' . $this->config->item('table_name') . '.station_id'); $this->db->where("station_profile.user_id", $this->session->userdata('user_id')); - if (!$all) { // check which to update - records with no dxcc or all records + if ($all == 'false') { // check which to update - records with no dxcc or all records $this->db->group_start(); $this->db->where("COL_DXCC is NULL"); $this->db->or_where("COL_DXCC = ''"); diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index 73d4f7a05..7e4bf0e92 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -42,7 +42,7 @@ function check_missing_dxcc($result) { ?>
DXCC Check Results
QSOs to update found: count; ?>
-

-
diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index e366fa0d9..a310f85fd 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2296,36 +2296,61 @@ function saveOptions() { } - function fixMissingDxcc() { - $('#updateDxccBtn').prop("disabled", true).addClass("running"); - BootstrapDialog.confirm({ - title: lang_general_word_danger, - message: lang_gen_advanced_logbook_confirm_fix_missing_dxcc, - type: BootstrapDialog.TYPE_DANGER, - closable: true, - draggable: true, - btnOKClass: 'btn-danger', - callback: function(result) { - if(result) { - $.ajax({ - url: base_url + 'index.php/logbookadvanced/fixMissingDxcc', - type: 'post', - data: { - all: 'false' - }, - success: function(data) { - $('#updateDxccBtn').prop("disabled", false).removeClass("running"); - $('.result').html(data); - }, - error: function(xhr, status, error) { - $('#updateDxccBtn').prop("disabled", false).removeClass("running"); - $('.result').html(error); - } - }) - } else { - $('#updateDxccBtn').prop("disabled", false).removeClass("running"); - } + function fixMissingDxcc(all) { + if (all === true) { + $('#updateDxccBtn').prop("disabled", true).addClass("running"); + BootstrapDialog.confirm({ + title: lang_general_word_danger, + message: lang_gen_advanced_logbook_confirm_fix_missing_dxcc, + type: BootstrapDialog.TYPE_DANGER, + closable: true, + draggable: true, + btnOKClass: 'btn-danger', + callback: function(result) { + if(result) { + $('#closeButton').prop("disabled", true); + $.ajax({ + url: base_url + 'index.php/logbookadvanced/fixMissingDxcc', + type: 'post', + data: { + all: all + }, + success: function(data) { + $('#updateDxccBtn').prop("disabled", false).removeClass("running"); + $('.result').html(data); + $('#closeButton').prop("disabled", false); + }, + error: function(xhr, status, error) { + $('#updateDxccBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + $('.result').html(error); + } + }) + } else { + $('#updateDxccBtn').prop("disabled", false).removeClass("running"); + } - }, - }); + }, + }); + } else { + $('#fixMissingDxccBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + $.ajax({ + url: base_url + 'index.php/logbookadvanced/fixMissingDxcc', + type: 'post', + data: { + all: all + }, + success: function(data) { + $('#fixMissingDxccBtn').prop("disabled", false).removeClass("running"); + $('.result').html(data); + $('#closeButton').prop("disabled", false); + }, + error: function(xhr, status, error) { + $('#fixMissingDxccBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + $('.result').html(error); + } + }) + } } From c374f310f76a8e4ff2226356f853b26198032159 Mon Sep 17 00:00:00 2001 From: JONCOUX Philippe Date: Thu, 11 Dec 2025 23:09:45 +0000 Subject: [PATCH 27/79] Translated using Weblate (French) Currently translated at 98.9% (3161 of 3195 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/fr/ --- .../locale/fr_FR/LC_MESSAGES/messages.po | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/application/locale/fr_FR/LC_MESSAGES/messages.po b/application/locale/fr_FR/LC_MESSAGES/messages.po index fa0544922..cd92b5e8e 100644 --- a/application/locale/fr_FR/LC_MESSAGES/messages.po +++ b/application/locale/fr_FR/LC_MESSAGES/messages.po @@ -18,10 +18,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-08 10:52+0000\n" -"PO-Revision-Date: 2025-12-11 10:28+0000\n" +"PO-Revision-Date: 2025-12-12 09:26+0000\n" "Last-Translator: JONCOUX Philippe \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -7597,19 +7597,24 @@ msgstr "Sous-modes requis" #: application/views/bandmap/list.php:51 msgid "Configure in User Settings - Modes" -msgstr "" +msgstr "Configurer dans les paramètres utilisateur - Modes" #: application/views/bandmap/list.php:52 msgid "No submodes configured - configure in User Settings - Modes" msgstr "" +"Aucun sous-mode configuré - configurez-les dans Paramètres utilisateur > " +"Modes" #: application/views/bandmap/list.php:53 msgid "No submodes enabled in settings - showing all spots" msgstr "" +"Aucun sous-mode activé dans les paramètres - affichage de tous les spots" #: application/views/bandmap/list.php:54 msgid "Disabled - no submodes enabled for this mode in User Settings" msgstr "" +"Désactivé - aucun sous-mode n'est activé pour ce mode dans les paramètres " +"utilisateur" #: application/views/bandmap/list.php:55 application/views/bandmap/list.php:468 #: application/views/components/dxwaterfall.php:32 @@ -7628,41 +7633,43 @@ msgstr "Activer/désactiver le filtre Phonie" #: application/views/bandmap/list.php:60 application/views/bandmap/list.php:421 msgid "Favorites" -msgstr "" +msgstr "Favoris" #: application/views/bandmap/list.php:61 application/views/bandmap/list.php:424 msgid "Save Current Filters..." -msgstr "" +msgstr "Enregistrer les filtres actuels..." #: application/views/bandmap/list.php:62 msgid "Enter a name for this filter preset:" -msgstr "" +msgstr "Saisissez un nom pour ce préréglage de filtre :" #: application/views/bandmap/list.php:63 msgid "Filter preset saved" -msgstr "" +msgstr "Préréglage de filtre enregistré" #: application/views/bandmap/list.php:64 msgid "Filter preset loaded" -msgstr "" +msgstr "Préréglage de filtre chargé" #: application/views/bandmap/list.php:65 msgid "Filter preset deleted" -msgstr "" +msgstr "Préréglage de filtre supprimé" #: application/views/bandmap/list.php:66 msgid "Are you sure to delete this filter preset?" -msgstr "" +msgstr "Êtes-vous sûr de vouloir supprimer ce filtre prédéfini ?" #: application/views/bandmap/list.php:67 msgid "No saved filter presets" -msgstr "" +msgstr "Aucun préréglage de filtre enregistré" #: application/views/bandmap/list.php:68 msgid "" "Maximum of 20 filter presets reached. Please delete some before adding new " "ones." msgstr "" +"Le nombre maximal de 20 préréglages de filtres a été atteint. Veuillez en " +"supprimer certains avant d'en ajouter de nouveaux." #: application/views/bandmap/list.php:71 msgid "Loading data from DX Cluster" @@ -7984,7 +7991,7 @@ msgstr "Aide du cluster DX" #: application/views/bandmap/list.php:210 msgid "Compact Mode - Hide/Show Menu" -msgstr "" +msgstr "Mode compact - Afficher/Masquer le menu" #: application/views/bandmap/list.php:237 msgid "TRX:" @@ -8114,7 +8121,7 @@ msgstr "Appliquer les filtres" #: application/views/bandmap/list.php:420 msgid "Filter Favorites" -msgstr "" +msgstr "Filtrer les favoris" #: application/views/bandmap/list.php:430 msgid "Clear all filters except De Continent" From 102556a5c9897a7899b80e4212807cb1bd66c816 Mon Sep 17 00:00:00 2001 From: "Jorgen Dahl, NU1T" Date: Fri, 12 Dec 2025 00:41:33 +0000 Subject: [PATCH 28/79] Translated using Weblate (Swedish) Currently translated at 100.0% (3195 of 3195 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/sv/ --- application/locale/sv_SE/LC_MESSAGES/messages.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/application/locale/sv_SE/LC_MESSAGES/messages.po b/application/locale/sv_SE/LC_MESSAGES/messages.po index d81465fb6..d6d94c956 100644 --- a/application/locale/sv_SE/LC_MESSAGES/messages.po +++ b/application/locale/sv_SE/LC_MESSAGES/messages.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-11 12:58+0000\n" +"PO-Revision-Date: 2025-12-12 09:26+0000\n" "Last-Translator: \"Jorgen Dahl, NU1T\" \n" -"Language-Team: Swedish \n" +"Language-Team: Swedish \n" "Language: sv_SE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18564,7 +18564,7 @@ msgstr "Visa fält på QSO-fliken" #: application/libraries/Callbook.php:129 msgid "Error obtaining a session key for HamQTH query" -msgstr "" +msgstr "Fel vid erhållande av en sessionsnyckel för HamQTH-fråga" #~ msgid "" #~ "You might have ADIF errors, the QSOs have still been added. Please check " From 3960ac2602769fcee63f90cba0a3519680d206b3 Mon Sep 17 00:00:00 2001 From: Jerry Date: Fri, 12 Dec 2025 01:02:01 +0000 Subject: [PATCH 29/79] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 99.1% (3169 of 3195 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/zh_Hans/ --- application/locale/zh_CN/LC_MESSAGES/messages.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/application/locale/zh_CN/LC_MESSAGES/messages.po b/application/locale/zh_CN/LC_MESSAGES/messages.po index 64ed1347d..2f4d36484 100644 --- a/application/locale/zh_CN/LC_MESSAGES/messages.po +++ b/application/locale/zh_CN/LC_MESSAGES/messages.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-08 10:52+0000\n" -"PO-Revision-Date: 2025-12-11 10:28+0000\n" +"PO-Revision-Date: 2025-12-12 09:26+0000\n" "Last-Translator: Jerry \n" "Language-Team: Chinese (Simplified Han script) \n" @@ -2443,7 +2443,7 @@ msgstr "删除" #: application/controllers/Radio.php:122 msgid "No CAT interfaced radios found." -msgstr "无 CAT 控制电台。" +msgstr "未检测到与 CAT 相连的电台设备。" #: application/controllers/Radio.php:137 application/views/radio/index.php:2 msgid "Edit CAT Settings" @@ -7040,7 +7040,7 @@ msgstr "鼠标停留到一个州" #: application/views/awards/was/index.php:5 #: application/views/awards/was/index.php:166 msgid "inc." -msgstr "" +msgstr "inc." #: application/views/awards/was/index.php:25 msgid "WAS Award" @@ -7262,7 +7262,7 @@ msgstr "频段锁" #: application/views/bandmap/list.php:35 msgid "Band lock enabled - band filter will track radio band" -msgstr "" +msgstr "频段锁定已启用—频段滤波器将跟踪电台频段" #: application/views/bandmap/list.php:36 msgid "Band filter changed to" From e7d3a487b0a656b9d61ba760bd6dc72f12226189 Mon Sep 17 00:00:00 2001 From: "S.NAKAO(JG3HLX)" Date: Fri, 12 Dec 2025 08:14:18 +0000 Subject: [PATCH 30/79] Translated using Weblate (Japanese) Currently translated at 100.0% (3195 of 3195 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/ja/ --- application/locale/ja/LC_MESSAGES/messages.po | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/application/locale/ja/LC_MESSAGES/messages.po b/application/locale/ja/LC_MESSAGES/messages.po index 1c99cc811..6f9a0d8dc 100644 --- a/application/locale/ja/LC_MESSAGES/messages.po +++ b/application/locale/ja/LC_MESSAGES/messages.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-10 14:44+0000\n" +"PO-Revision-Date: 2025-12-12 09:26+0000\n" "Last-Translator: \"S.NAKAO(JG3HLX)\" \n" -"Language-Team: Japanese \n" +"Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18499,14 +18499,18 @@ msgid "" "analytics. Great for when you're operating in multiple locations but they " "are part of the same DXCC or VUCC Circle." msgstr "" +"ステーションログブックではステーション位置をグループ化できます。これにより、" +"ログブック領域から分析まで、1回のセッションにおける全位置を確認可能です。複数" +"の場所で運用しているが、それらが同一のDXCCまたはVUCCサークルに属する場合に最" +"適です。" #: application/views/user/edit.php:687 msgid "Show Fields on QSO Tab" -msgstr "" +msgstr "QSOタブにフィールドを表示" #: application/libraries/Callbook.php:129 msgid "Error obtaining a session key for HamQTH query" -msgstr "" +msgstr "HamQTHクエリのセッションキーの取得エラー" #~ msgid "" #~ "You might have ADIF errors, the QSOs have still been added. Please check " From d38d58cc1707b7f0731e1ea59867bff6c5b4a231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Dorgeist?= Date: Fri, 12 Dec 2025 11:29:05 +0000 Subject: [PATCH 31/79] Translated using Weblate (German) Currently translated at 100.0% (3195 of 3195 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/de/ --- application/locale/de_DE/LC_MESSAGES/messages.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/application/locale/de_DE/LC_MESSAGES/messages.po b/application/locale/de_DE/LC_MESSAGES/messages.po index 7c2dbf351..9dda0ebfe 100644 --- a/application/locale/de_DE/LC_MESSAGES/messages.po +++ b/application/locale/de_DE/LC_MESSAGES/messages.po @@ -27,10 +27,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-11 10:28+0000\n" -"Last-Translator: Florian Wolters \n" -"Language-Team: German \n" +"PO-Revision-Date: 2025-12-12 14:13+0000\n" +"Last-Translator: Jörg Dorgeist \n" +"Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -8284,7 +8284,7 @@ msgstr "Gespottetes Rufzeichen" #: application/views/bandmap/list.php:573 msgid "Flag" -msgstr "Marker" +msgstr "Landesflagge" #: application/views/bandmap/list.php:574 msgid "DXCC Entity" @@ -18742,7 +18742,7 @@ msgid "" "analytics. Great for when you're operating in multiple locations but they " "are part of the same DXCC or VUCC Circle." msgstr "" -"tationslogbücher ermöglichen es dir, Stationsstandorte zu gruppieren. " +"Stationslogbücher ermöglichen es dir, Stationsstandorte zu gruppieren. " "Dadurch kannst du alle Standorte innerhalb einer Sitzung von den " "Logbuchbereichen bis zur Analyse sehen. Das ist besonders nützlich, wenn du " "an verschiedenen Standorten arbeitest, die jedoch zu derselben DXCC- oder " @@ -18754,7 +18754,7 @@ msgstr "Zeige Felder auf QSO-Reiter" #: application/libraries/Callbook.php:129 msgid "Error obtaining a session key for HamQTH query" -msgstr "" +msgstr "Fehler bei der Sessionerzeugung für HamQTH" #~ msgid "" #~ "You might have ADIF errors, the QSOs have still been added. Please check " From 999b50430ef3a96eadd302309f49e3cd898cc6f8 Mon Sep 17 00:00:00 2001 From: Alexander Date: Fri, 12 Dec 2025 22:26:01 +0000 Subject: [PATCH 32/79] Translated using Weblate (Dutch) Currently translated at 99.9% (3191 of 3193 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/nl/ --- .../locale/nl_NL/LC_MESSAGES/messages.po | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/application/locale/nl_NL/LC_MESSAGES/messages.po b/application/locale/nl_NL/LC_MESSAGES/messages.po index 8feb9808f..1095004ec 100644 --- a/application/locale/nl_NL/LC_MESSAGES/messages.po +++ b/application/locale/nl_NL/LC_MESSAGES/messages.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-11 13:44+0000\n" -"PO-Revision-Date: 2025-12-08 10:52+0000\n" +"PO-Revision-Date: 2025-12-12 22:26+0000\n" "Last-Translator: Alexander \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch \n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1059,27 +1059,27 @@ msgstr "Geen eQSL QTH Bijnaam: %s" #: application/controllers/Eqsl.php:312 msgid "QSO not found or not accessible" -msgstr "" +msgstr "QSO niet gevonden of niet toegankelijk" #: application/controllers/Eqsl.php:330 msgid "User not found" -msgstr "" +msgstr "Gebruiker niet gevonden" #: application/controllers/Eqsl.php:339 msgid "eQSL password not configured for this user" -msgstr "" +msgstr "eQSL-wachtwoord niet geconfigureerd voor deze gebruiker" #: application/controllers/Eqsl.php:357 msgid "Failed to fetch eQSL image data" -msgstr "" +msgstr "Het ophalen van eQSL-afbeeldingsgegevens is mislukt" #: application/controllers/Eqsl.php:376 msgid "eQSL image not available" -msgstr "" +msgstr "eQSL-afbeelding niet beschikbaar" #: application/controllers/Eqsl.php:395 msgid "Failed to download eQSL image" -msgstr "" +msgstr "Kon niet eQSL-afbeelding downloaden" #: application/controllers/Eqsl.php:495 msgid "eQSL Tools" @@ -3292,7 +3292,7 @@ msgstr "QRZCQ Fout" #: application/libraries/Callbook.php:129 msgid "Error obtaining a session key for HamQTH query" -msgstr "" +msgstr "Fout bij het verkrijgen van een sessiesleutel voor HamQTH-query" #: application/libraries/Cbr_parser.php:111 #: application/libraries/Cbr_parser.php:160 From 9d74d4375d9a93f543fd0b89ac392ce08a85ef0c Mon Sep 17 00:00:00 2001 From: Alexander Date: Fri, 12 Dec 2025 22:26:48 +0000 Subject: [PATCH 33/79] Translated using Weblate (Dutch) Currently translated at 100.0% (3193 of 3193 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/nl/ --- application/locale/nl_NL/LC_MESSAGES/messages.po | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/application/locale/nl_NL/LC_MESSAGES/messages.po b/application/locale/nl_NL/LC_MESSAGES/messages.po index 1095004ec..c0a98ecaf 100644 --- a/application/locale/nl_NL/LC_MESSAGES/messages.po +++ b/application/locale/nl_NL/LC_MESSAGES/messages.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-11 13:44+0000\n" -"PO-Revision-Date: 2025-12-12 22:26+0000\n" +"PO-Revision-Date: 2025-12-12 22:42+0000\n" "Last-Translator: Alexander \n" "Language-Team: Dutch \n" @@ -16702,6 +16702,10 @@ msgid "" "analytics. Great for when you're operating in multiple locations but they " "are part of the same DXCC or VUCC Circle." msgstr "" +"Stationlogboeken stellen je in staat om stationlocaties te groeperen, zodat " +"je alle locaties in één sessie kunt zien van de logboekgebieden tot de " +"analyses. Geweldig voor wanneer je op meerdere locaties werkt, maar ze deel " +"uitmaken van dezelfde DXCC of VUCC-cirkel." #: application/views/stationsetup/stationsetup.php:35 msgid "Edit Linked locations" @@ -17524,7 +17528,7 @@ msgstr "" #: application/views/user/edit.php:687 msgid "Show Fields on QSO Tab" -msgstr "" +msgstr "Velden tonen op QSO-tabblad" #: application/views/user/edit.php:691 msgid "" From d22238ba74d0d0e84d1da9af54f2c1f3b316600f Mon Sep 17 00:00:00 2001 From: int2001 Date: Sat, 13 Dec 2025 07:27:04 +0000 Subject: [PATCH 34/79] Check operator more carefully on API --- application/controllers/Api.php | 10 ++++++++-- application/models/Club_model.php | 32 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/application/controllers/Api.php b/application/controllers/Api.php index c07cb6e01..22cf02692 100644 --- a/application/controllers/Api.php +++ b/application/controllers/Api.php @@ -224,6 +224,7 @@ class API extends CI_Controller { $this->load->model('api_model'); $this->load->model('stations'); + $this->load->model('club_model'); if (!$this->load->is_loaded('Qra')) { $this->load->library('Qra'); @@ -252,6 +253,7 @@ class API extends CI_Controller { $userid = $this->api_model->key_userid($obj['key']); $created_by = $this->api_model->key_created_by($obj['key']); + $club_perm = $this->club_model->get_permission_noui($userid,$created_by); /** * As the API key user could use it also for clubstations we need to do an additional check here. Only if clubstations are enabled @@ -260,12 +262,11 @@ class API extends CI_Controller { * If the user is not the creator of the API key, it's likely a clubstation. In this case the callsign of the clubstation * can not be the same as the callsign of the user (operator call provided by the user). If this is the case, we need to use the callsign of the creator of the API key */ - $real_operator = null; + $real_operator = null; // real_operator is only filled if its a clubstation and the used key is created by an OP. otherwise its null if ($this->config->item('special_callsign')) { if ($userid != $created_by) { $this->load->model('user_model'); $real_operator = $this->user_model->get_by_id($created_by)->row()->user_callsign; - // TODO: It would be possible to check here if operator is allowed to use the clubstation, but this can be added later if needed } else { $real_operator = null; } @@ -327,6 +328,11 @@ class API extends CI_Controller { $record['operator'] = $real_operator; } + // in case the caller is an OP for a clubstation (real_operator is filled - see above) and the OP only has level 3 or 6 - take the OP from real_operator! + if ($real_operator != null && ((($club_perm ?? 0) == 3) || (($club_perm ?? 0) == 6))) { + $record['operator'] = $real_operator; + } + if ((key_exists('gridsquare',$record)) && (($mygrid ?? '') != '') && (($record['gridsquare'] ?? '') != '') && (!(key_exists('distance',$record)))) { $record['distance'] = $this->qra->distance($mygrid, $record['gridsquare'], 'K'); } diff --git a/application/models/Club_model.php b/application/models/Club_model.php index 663e86680..a9584c729 100644 --- a/application/models/Club_model.php +++ b/application/models/Club_model.php @@ -56,6 +56,38 @@ class Club_model extends CI_Model { return false; } + /** + * Get Permissionlevel for User in Club in a real model-way without UI + * + * @param int $club_id + * @param int $user_id + * + * @return int + */ + function get_permission_noui($club_id, $user_id) { + + if ($club_id == 0 || !is_numeric($club_id)) { + return 0; + } + + if ($user_id == 0 || !is_numeric($user_id)) { + return 0; + } + + $binding = []; + $sql = 'SELECT p_level FROM `club_permissions` WHERE user_id = ? AND club_id = ?'; + $binding[] = $user_id; + $binding[] = $club_id; + + $query = $this->db->query($sql, $binding); + + if ($query->num_rows() > 0) { + return $query->row()->p_level; + } else { + return 0; + } + } + /** * Get Permissionlevel for User in Club * From 082671d8a82ebc31dcd53084fe85c796d01511fd Mon Sep 17 00:00:00 2001 From: int2001 Date: Sat, 13 Dec 2025 07:54:08 +0000 Subject: [PATCH 35/79] Check Clublevel for station-creation --- application/controllers/Api.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/application/controllers/Api.php b/application/controllers/Api.php index 22cf02692..30920b41d 100644 --- a/application/controllers/Api.php +++ b/application/controllers/Api.php @@ -119,10 +119,23 @@ class API extends CI_Controller { function create_station($key = '') { $this->load->model('api_model'); + if ($this->api_model->access($key) == "No Key Found" || $this->api_model->access($key) == "Key Disabled") { $this->output->set_status_header(401)->set_content_type('application/json')->set_output(json_encode(['status' => 'error', 'message' => 'Auth Error, invalid key'])); return; } + + $this->load->model('club_model'); + $userid = $this->api_model->key_userid($key); + $created_by = $this->api_model->key_created_by($key); + $club_perm = $this->club_model->get_permission_noui($userid,$created_by); + if ($userid != $created_by) { // We're dealing with a Club Member/Member ADIF or Clubofficer + if ((($club_perm ?? 0) == 3) || (($club_perm ?? 0) == 6)) { // Member or ADIF-Member? DENY + $this->output->set_status_header(401)->set_content_type('application/json')->set_output(json_encode(['status' => 'error', 'message' => 'Auth Error, not enough grants for this operation'])); + return; + } + } + try { $raw = file_get_contents("php://input"); if ($raw === false) { @@ -149,8 +162,7 @@ class API extends CI_Controller { $this->output->set_status_header(500)->set_content_type('application/json')->set_output(json_encode(['status' => 'error', 'message' => 'Processing error: ' . $e->getMessage()])); } $this->load->model('stationsetup_model'); - $user_id = $this->api_model->key_userid($key); - $imported = $this->stationsetup_model->import_locations_parse($locations,$user_id); + $imported = $this->stationsetup_model->import_locations_parse($locations,$userid); if (($imported[0] ?? '0') == 'limit') { $this->output->set_status_header(201)->set_content_type('application/json')->set_output(json_encode(['status' => 'success', 'message' => ($imported[1] ?? '0')." locations imported. Maximum limit of 1000 locations reached."])); } else { From dc9a7ad95ee9e1a672e1bdde8b8c750b70927d0b Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sat, 13 Dec 2025 12:04:59 +0100 Subject: [PATCH 36/79] Add QSO list for missing DXCC --- application/controllers/Logbookadvanced.php | 11 +++ application/models/Logbookadvanced_model.php | 19 +++- .../views/logbookadvanced/checkresult.php | 9 +- assets/js/sections/logbookadvanced.js | 94 ++++++++++++++----- 4 files changed, 105 insertions(+), 28 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index d1fbf2884..afabcdc24 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -951,4 +951,15 @@ class Logbookadvanced extends CI_Controller { echo json_encode(__("The number of QSOs re-checked for DXCC was") .' ' . $result); } } + + public function openMissingDxccList() { + if(!clubaccess_check(9)) return; + + $this->load->model('logbookadvanced_model'); + + $data['qsos'] = $this->logbookadvanced_model->getMissingDxccQsos(); + + $this->load->view('logbookadvanced/showMissingDxccQsos', $data); + } + } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 21881dcc6..56a22f707 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1491,7 +1491,11 @@ class Logbookadvanced_model extends CI_Model { public function check_missing_distance() { $sql = "select count(*) as count from " . $this->config->item('table_name') . " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id - where user_id = ? and coalesce(col_distance, '') = ''"; + where user_id = ? + AND (COL_DISTANCE = '' or COL_DISTANCE is NULL) + and COL_GRIDSQUARE != station_gridsquare + and COL_GRIDSQUARE is NOT NULL + and COL_GRIDSQUARE != ''"; $bindings[] = [$this->session->userdata('user_id')]; @@ -1632,4 +1636,17 @@ class Logbookadvanced_model extends CI_Model { $this->db->trans_complete(); return $count; } + + function getMissingDxccQsos() { + $sql = "SELECT col_primary_key, col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare, d.name as dxcc_name, station_profile.station_profile_name FROM " . $this->config->item('table_name') . " qsos + JOIN station_profile ON qsos.station_id = station_profile.station_id + LEFT JOIN dxcc_entities d ON qsos.COL_DXCC = d.adif + WHERE station_profile.user_id = ? + AND (qsos.COL_DXCC IS NULL OR qsos.COL_DXCC = '') + ORDER BY COL_TIME_ON DESC"; + + $query = $this->db->query($sql, [$this->session->userdata('user_id')]); + + return $query->result(); + } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index 7e4bf0e92..b050a3a93 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -24,9 +24,15 @@ function check_missing_distance($result) { ?>
Distance Check Results
QSOs to update found: count; ?>
- + @@ -45,6 +51,7 @@ function check_missing_dxcc($result) { ?> + diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index a310f85fd..627d850d3 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -1360,32 +1360,7 @@ $(document).ready(function () { }); }); - function runUpdateDistancesFix(dialogItself) { - $('#updateDistanceButton').prop("disabled", true).addClass("running"); - $('#closeButton').prop("disabled", true); - $.ajax({ - url: base_url + 'index.php/logbookadvanced/updateDistances', - type: 'POST', - success: function (response) { - $('#updateDistanceButton').prop("disabled", false).removeClass("running"); - dialogItself.close(); - BootstrapDialog.alert({ - title: lang_gen_advanced_logbook_success, - message: lang_gen_advanced_logbook_distances_updated + ' ' + response + ' ' + lang_gen_advanced_logbook_records_updated, - type: BootstrapDialog.TYPE_SUCCESS - }); - }, - error: function () { - $('#updateDistanceButton').prop("disabled", false).removeClass("running"); - dialogItself.close(); - BootstrapDialog.alert({ - title: lang_gen_advanced_logbook_error, - message: lang_gen_advanced_logbook_problem_updating_distances, - type: BootstrapDialog.TYPE_DANGER - }); - } - }); - } + $('#fixItuZones').click(function (event) { const id_list = getSelectedIds(); @@ -2354,3 +2329,70 @@ function saveOptions() { }) } } + + function runUpdateDistancesFix(dialogItself) { + $('#updateDistanceButton').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + $.ajax({ + url: base_url + 'index.php/logbookadvanced/updateDistances', + type: 'POST', + success: function (response) { + $('#updateDistanceButton').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + if (dialogItself != '') { + dialogItself.close(); + } + BootstrapDialog.alert({ + title: lang_gen_advanced_logbook_success, + message: lang_gen_advanced_logbook_distances_updated + ' ' + response + ' ' + lang_gen_advanced_logbook_records_updated, + type: BootstrapDialog.TYPE_SUCCESS + }); + }, + error: function () { + $('#updateDistanceButton').prop("disabled", false).removeClass("running"); + if (dialogItself != '') { + dialogItself.close(); + } + BootstrapDialog.alert({ + title: lang_gen_advanced_logbook_error, + message: lang_gen_advanced_logbook_problem_updating_distances, + type: BootstrapDialog.TYPE_DANGER + }); + $('#closeButton').prop("disabled", false); + } + }); + } + + function openMissingDxccList() { + $('#openMissingDxccListBtn').prop("disabled", true).addClass("running"); + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/openMissingDxccList', + type: 'post', + success: function (response) { + $('#openMissingDxccListBtn').prop("disabled", false).removeClass("running"); + BootstrapDialog.show({ + title: 'QSO List', + size: BootstrapDialog.SIZE_WIDE, + cssClass: 'options', + nl2br: false, + message: response, + buttons: [ + { + label: lang_admin_close, + cssClass: 'btn-sm btn-secondary', + id: 'closeButton', + action: function (dialogItself) { + dialogItself.close(); + } + }], + onhide: function(dialogRef){ + return; + }, + }); + }, + error: function () { + $('#openMissingDxccListBtn').prop("disabled", false).removeClass("running"); + } + }); + } From 3d0949cbdc23b1adb959b8d5d6c7d6b1e1a0cad7 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sat, 13 Dec 2025 13:56:21 +0100 Subject: [PATCH 37/79] Added changed files --- .../views/logbookadvanced/checkresult.php | 2 +- .../logbookadvanced/showMissingDxccQsos.php | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 application/views/logbookadvanced/showMissingDxccQsos.php diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index b050a3a93..d3c8087a0 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -30,7 +30,7 @@ function check_missing_distance($result) { ?>
+ 0): ?> +
+

+ Found QSO(s) missing DXCC information. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CallDate/TimeModeBandStateGridsquareDXCCStation
col_primary_key . ')">' . htmlspecialchars($qso->col_call) . ''; ?>col_time_on)); ?>col_mode; ?>col_band; ?>col_state; ?>col_gridsquare; ?>dxcc_name; ?>station_profile_name; ?>
+
+ +
+

No Issues Found

+
+ +
From b2cf5bed871ea72bb3f67864216c036278a1e4c1 Mon Sep 17 00:00:00 2001 From: "Jorgen Dahl, NU1T" Date: Sat, 13 Dec 2025 13:44:06 +0000 Subject: [PATCH 38/79] Translated using Weblate (Swedish) Currently translated at 100.0% (3195 of 3195 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/sv/ --- application/locale/sv_SE/LC_MESSAGES/messages.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/locale/sv_SE/LC_MESSAGES/messages.po b/application/locale/sv_SE/LC_MESSAGES/messages.po index d6d94c956..355e44068 100644 --- a/application/locale/sv_SE/LC_MESSAGES/messages.po +++ b/application/locale/sv_SE/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-12 09:26+0000\n" +"PO-Revision-Date: 2025-12-13 13:57+0000\n" "Last-Translator: \"Jorgen Dahl, NU1T\" \n" "Language-Team: Swedish \n" @@ -14440,7 +14440,7 @@ msgstr "Inte i loggen?" #: application/views/oqrs/showrequests.php:50 #: application/views/oqrs/status_info.php:10 msgid "Open request" -msgstr "Öppna förfrågan" +msgstr "Öppen förfrågan" #: application/views/oqrs/showrequests.php:3 #: application/views/oqrs/showrequests.php:51 From ee48ed30749950607c436285ab2dee76af137441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Dorgeist?= Date: Sat, 13 Dec 2025 14:02:55 +0000 Subject: [PATCH 39/79] Translated using Weblate (German) Currently translated at 100.0% (3196 of 3196 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/de/ --- application/locale/de_DE/LC_MESSAGES/messages.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/application/locale/de_DE/LC_MESSAGES/messages.po b/application/locale/de_DE/LC_MESSAGES/messages.po index 07e7c76c3..32baa4804 100644 --- a/application/locale/de_DE/LC_MESSAGES/messages.po +++ b/application/locale/de_DE/LC_MESSAGES/messages.po @@ -27,10 +27,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-12 14:13+0000\n" +"PO-Revision-Date: 2025-12-13 14:06+0000\n" "Last-Translator: Jörg Dorgeist \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18902,7 +18902,7 @@ msgstr "Fehler bei der Sessionerzeugung für HamQTH" #: application/views/user/edit.php:450 msgid "squelched" -msgstr "" +msgstr "Rauschsperre" #~ msgid "" #~ "You might have ADIF errors, the QSOs have still been added. Please check " From 82fbbb84f98446c6deab1d0d4855893476d8fb6e Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sat, 13 Dec 2025 20:45:37 +0100 Subject: [PATCH 40/79] Continent update is fixed --- application/models/Logbookadvanced_model.php | 8 ++- .../views/logbookadvanced/checkresult.php | 11 +++- .../views/logbookadvanced/dbtoolsdialog.php | 2 +- application/views/logbookadvanced/index.php | 2 - assets/js/sections/logbookadvanced.js | 58 ++++++++++--------- 5 files changed, 46 insertions(+), 35 deletions(-) diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 56a22f707..99a63b834 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1397,7 +1397,8 @@ class Logbookadvanced_model extends CI_Model { JOIN dxcc_entities ON " . $this->config->item('table_name') . ".col_dxcc = dxcc_entities.adif JOIN station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id SET col_cont = dxcc_entities.cont - WHERE COALESCE(" . $this->config->item('table_name') . ".col_cont, '') = '' and station_profile.user_id = ?"; + WHERE (COALESCE(" . $this->config->item('table_name') . ".col_cont, '') = '' or " . $this->config->item('table_name') . ".col_cont not in ('AF', 'AN', 'AS', 'EU', 'NA', 'OC', 'SA')) + and station_profile.user_id = ?"; $query = $this->db->query($sql, array($this->session->userdata('user_id'))); $result = $this->db->affected_rows(); @@ -1480,7 +1481,10 @@ class Logbookadvanced_model extends CI_Model { $sql = "select count(*) as count from " . $this->config->item('table_name') . " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id where user_id = ? - and (coalesce(col_cont, '') = '' or col_cont not in ('AF', 'AN', 'AS', 'EU', 'NA', 'OC', 'SA'))"; + and (coalesce(col_cont, '') = '' or col_cont not in ('AF', 'AN', 'AS', 'EU', 'NA', 'OC', 'SA')) + and col_dxcc is not null + and col_dxcc != '' + and col_dxcc != 0"; $bindings[] = [$this->session->userdata('user_id')]; diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index d3c8087a0..faf15a39b 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -28,7 +28,7 @@ function check_missing_distance($result) { ?>

-
+
@@ -39,8 +39,13 @@ function check_qsos_missing_continent($result) { ?>
Continent Check Results
QSOs to update found: count; ?>
-
-

+

- -
diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 627d850d3..66a2ac981 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -1275,33 +1275,6 @@ $(document).ready(function () { }); }); - function runContinentFix(dialogItself) { - $('#updateContinentButton').prop("disabled", true).addClass("running"); - $('#closeButton').prop("disabled", true); - $.ajax({ - url: base_url + 'index.php/logbookadvanced/fixContinent', - type: 'POST', - success: function (response) { - $('#updateContinentButton').prop("disabled", false).removeClass("running"); - dialogItself.close(); - BootstrapDialog.alert({ - title: lang_gen_advanced_logbook_success, - message: lang_gen_advanced_logbook_continents_updated + ' ' + response + ' ' + lang_gen_advanced_logbook_records_updated, - type: BootstrapDialog.TYPE_SUCCESS - }); - }, - error: function () { - $('#updateContinentButton').prop("disabled", false).removeClass("running"); - dialogItself.close(); - BootstrapDialog.alert({ - title: lang_gen_advanced_logbook_error, - message: lang_gen_advanced_logbook_problem_fixing_continents, - type: BootstrapDialog.TYPE_DANGER - }); - } - }); - } - $('#updateDistances').click(function (event) { $.ajax({ url: base_url + 'index.php/logbookadvanced/distanceDialog', @@ -2396,3 +2369,34 @@ function saveOptions() { } }); } + + function runContinentFix(dialogItself) { + $('#updateContinentButton').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + $.ajax({ + url: base_url + 'index.php/logbookadvanced/fixContinent', + type: 'POST', + success: function (response) { + $('#updateContinentButton').prop("disabled", false).removeClass("running"); + if (dialogItself != '') { + dialogItself.close(); + } + BootstrapDialog.alert({ + title: lang_gen_advanced_logbook_success, + message: lang_gen_advanced_logbook_continents_updated + ' ' + response + ' ' + lang_gen_advanced_logbook_records_updated, + type: BootstrapDialog.TYPE_SUCCESS + }); + }, + error: function () { + $('#updateContinentButton').prop("disabled", false).removeClass("running"); + if (dialogItself != '') { + dialogItself.close(); + } + BootstrapDialog.alert({ + title: lang_gen_advanced_logbook_error, + message: lang_gen_advanced_logbook_problem_fixing_continents, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); + } From b70c12838ed1da9065dd5077219465c75eb22e5a Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 14 Dec 2025 09:33:01 +0100 Subject: [PATCH 41/79] Fixed CQ/ITU zone updater --- application/controllers/Logbookadvanced.php | 10 +++- application/models/Logbookadvanced_model.php | 40 ++++++++++++- .../views/logbookadvanced/checkresult.php | 8 +-- assets/js/sections/logbookadvanced.js | 60 +++++++++++++++++++ 4 files changed, 111 insertions(+), 7 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index afabcdc24..ab64bfd85 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -785,7 +785,6 @@ class Logbookadvanced extends CI_Controller { header("Content-Type: application/json"); print json_encode($q); - } public function fixItuZones() { @@ -962,4 +961,13 @@ class Logbookadvanced extends CI_Controller { $this->load->view('logbookadvanced/showMissingDxccQsos', $data); } + public function batchFix() { + $type = $this->input->post('type', true); + $this->load->model('logbookadvanced_model'); + $result = $this->logbookadvanced_model->batchFix($type); + + header("Content-Type: application/json"); + echo json_encode($result); + } + } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 99a63b834..ae1090534 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1255,21 +1255,38 @@ class Logbookadvanced_model extends CI_Model { return $query->result(); } - function fixCqZones($ids) { + function fixCqZones($ids = null) { + if ($ids == null) { + $sql = "UPDATE ".$this->config->item('table_name')." JOIN dxcc_entities ON ". $this->config->item('table_name').".col_dxcc = dxcc_entities.adif JOIN station_profile ON ". $this->config->item('table_name').".station_id = station_profile.station_id" . + " SET " . $this->config->item('table_name').".COL_CQZ = dxcc_entities.cqz" . + " WHERE station_profile.user_id = ? and (" . $this->config->item('table_name').".COL_CQZ IS NULL OR " . $this->config->item('table_name').".COL_CQZ = '')"; + + $query = $this->db->query($sql, array($this->session->userdata('user_id'))); + return $this->db->affected_rows(); + } $sql = "UPDATE ".$this->config->item('table_name')." JOIN dxcc_entities ON ". $this->config->item('table_name').".col_dxcc = dxcc_entities.adif JOIN station_profile ON ". $this->config->item('table_name').".station_id = station_profile.station_id" . " SET " . $this->config->item('table_name').".COL_CQZ = dxcc_entities.cqz" . " WHERE " . $this->config->item('table_name').".col_primary_key in ? and station_profile.user_id = ?"; $query = $this->db->query($sql, array(json_decode($ids, true), $this->session->userdata('user_id'))); + return $this->db->affected_rows(); } - function fixItuZones($ids) { + function fixItuZones($ids = null) { + if ($ids == null) { + $sql = "UPDATE ".$this->config->item('table_name')." JOIN dxcc_entities ON ". $this->config->item('table_name').".col_dxcc = dxcc_entities.adif JOIN station_profile ON ". $this->config->item('table_name').".station_id = station_profile.station_id" . + " SET " . $this->config->item('table_name').".COL_ITUZ = dxcc_entities.ituz" . + " WHERE station_profile.user_id = ? and (" . $this->config->item ('table_name').".COL_ITUZ IS NULL OR " . $this->config->item('table_name').".COL_ITUZ = '')"; + $query = $this->db->query($sql, array($this->session->userdata('user_id'))); + return $this->db->affected_rows(); + } $sql = "UPDATE ".$this->config->item('table_name')." JOIN dxcc_entities ON ". $this->config->item('table_name').".col_dxcc = dxcc_entities.adif JOIN station_profile ON ". $this->config->item('table_name').".station_id = station_profile.station_id" . " SET " . $this->config->item('table_name').".COL_ITUZ = dxcc_entities.ituz" . " WHERE " . $this->config->item('table_name').".col_primary_key in ? and station_profile.user_id = ?"; $query = $this->db->query($sql, array(json_decode($ids, true), $this->session->userdata('user_id'))); + return $this->db->affected_rows(); } /** @@ -1530,6 +1547,7 @@ class Logbookadvanced_model extends CI_Model { public function check_missing_cq_zones() { $sql = "select count(*) as count from " . $this->config->item('table_name') . " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + join dxcc_entities on " . $this->config->item('table_name') . ".col_dxcc = dxcc_entities.adif where user_id = ? and coalesce(col_cqz, '') = ''"; $bindings[] = [$this->session->userdata('user_id')]; @@ -1541,6 +1559,7 @@ class Logbookadvanced_model extends CI_Model { public function check_missing_itu_zones() { $sql = "select count(*) as count from " . $this->config->item('table_name') . " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + join dxcc_entities on " . $this->config->item('table_name') . ".col_dxcc = dxcc_entities.adif where user_id = ? and coalesce(col_ituz, '') = ''"; $bindings[] = [$this->session->userdata('user_id')]; @@ -1653,4 +1672,21 @@ class Logbookadvanced_model extends CI_Model { return $query->result(); } + + function batchFix($type) { + switch ($type) { + case 'dxcc': + return $this->check_missing_dxcc_id('true'); + case 'distance': + return $this->update_distances_batch(); + case 'continent': + return $this->check_missing_continent(); + case 'cqzones': + return $this->fixCqZones(); + case 'ituzones': + return $this->fixItuZones(); + default: + return null; + } + } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index faf15a39b..1d7771545 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -63,8 +63,8 @@ function check_missing_cq_zones($result) { ?>
CQ Zone Check Results
QSOs to update found: count; ?>
-
ITU Zone Check Results
QSOs to update found: count; ?>
- Date: Sun, 14 Dec 2025 10:57:47 +0100 Subject: [PATCH 42/79] Changed wording a bit --- application/views/logbookadvanced/dbtoolsdialog.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php index 1db1fa1d5..7fd0359ad 100644 --- a/application/views/logbookadvanced/dbtoolsdialog.php +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -2,15 +2,15 @@
- -
+ +
-

+

@@ -44,7 +44,7 @@ function check_qsos_missing_continent($result) { ?>


-
CQ Zone Check Results
QSOs to update found: count; ?>
-
ITU Zone Check Results
QSOs to update found: count; ?>
- Date: Sun, 14 Dec 2025 10:29:04 +0000 Subject: [PATCH 44/79] Remove Update Grid for whole DB sat Update --- application/controllers/Update.php | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/application/controllers/Update.php b/application/controllers/Update.php index 24b80c296..6b51601f1 100644 --- a/application/controllers/Update.php +++ b/application/controllers/Update.php @@ -316,15 +316,15 @@ class Update extends CI_Controller { private function fix_migrations(){ - $res = $this->db->query("SELECT version FROM migrations"); - if ($res->num_rows() >0){ - $row = $res->row(); - $version = $row->version; + $res = $this->db->query("SELECT version FROM migrations"); + if ($res->num_rows() >0){ + $row = $res->row(); + $version = $row->version; - if ($version < 7){ - $this->db->query("UPDATE migrations SET version=7"); - } - } + if ($version < 7){ + $this->db->query("UPDATE migrations SET version=7"); + } + } } public function check_missing_dxcc($all = false){ @@ -335,18 +335,7 @@ class Update extends CI_Controller { } $this->load->model('logbook_model'); - $this->logbook_model->check_missing_dxcc_id($all); - } - - public function check_missing_grid($all = false){ - $this->load->model('user_model'); - if (!$this->user_model->authorize(99)) { - $this->session->set_flashdata('error', __("You're not allowed to do that!")); - redirect('dashboard'); - } - - $this->load->model('logbook_model'); - $this->logbook_model->check_missing_grid_id($all); + $this->logbook_model->check_missing_dxcc_id($all); } public function update_clublog_scp() { From fbe838a538f32625bcea6a7939b1d07031b9dd87 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sun, 14 Dec 2025 10:34:30 +0000 Subject: [PATCH 45/79] po/mo updates --- .../locale/bg_BG/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/bs/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/cnr/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/cs_CZ/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/de_DE/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/el_GR/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/es_ES/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/et/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/fi_FI/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/fr_FR/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/hr/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/hu/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/hy/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/it_IT/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/ja/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/lt/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/lv/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/nl_NL/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/pl_PL/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/pt_PT/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/ru_RU/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/sk/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/sl/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/sq/LC_MESSAGES/messages.po | 57 +++++++++---------- application/locale/sr/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/sv_SE/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/tr_TR/LC_MESSAGES/messages.po | 57 +++++++++---------- .../locale/zh_CN/LC_MESSAGES/messages.po | 57 +++++++++---------- assets/lang_src/messages.pot | 57 +++++++++---------- 29 files changed, 812 insertions(+), 841 deletions(-) diff --git a/application/locale/bg_BG/LC_MESSAGES/messages.po b/application/locale/bg_BG/LC_MESSAGES/messages.po index 3007352e4..1d2e7a989 100644 --- a/application/locale/bg_BG/LC_MESSAGES/messages.po +++ b/application/locale/bg_BG/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" -"POT-Creation-Date: 2025-12-13 14:06+0000\n" +"POT-Creation-Date: 2025-12-14 10:34+0000\n" "PO-Revision-Date: 2024-11-01 08:53+0000\n" "Last-Translator: Plamen Panteleev \n" "Language-Team: Bulgarian \n" "Language-Team: Bosnian \n" "Language-Team: Montenegrin \n" "Language-Team: Czech \n" "Language-Team: German \n" "Language-Team: Greek \n" "Language-Team: Spanish \n" "Language-Team: Estonian \n" "Language-Team: Finnish \n" "Language-Team: French \n" "Language-Team: Croatian \n" "Language-Team: Hungarian \n" "Language-Team: Armenian \n" "Language-Team: Italian \n" "Language-Team: Japanese \n" "Language-Team: Lithuanian \n" "Language-Team: Latvian \n" "Language-Team: Dutch \n" "Language-Team: Polish \n" "Language-Team: Portuguese (Portugal) \n" "Language-Team: Russian \n" "Language-Team: Slovak \n" "Language-Team: Albanian \n" "Language-Team: Serbian \n" "Language-Team: Swedish \n" "Language-Team: Turkish \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: LANGUAGE \n" @@ -108,14 +108,13 @@ msgstr "" #: application/controllers/Timeline.php:10 #: application/controllers/Timeplotter.php:11 #: application/controllers/Update.php:22 application/controllers/Update.php:333 -#: application/controllers/Update.php:344 application/controllers/User.php:14 -#: application/controllers/User.php:61 application/controllers/User.php:103 -#: application/controllers/User.php:121 application/controllers/User.php:145 -#: application/controllers/User.php:384 application/controllers/User.php:385 -#: application/controllers/User.php:1047 application/controllers/User.php:1066 -#: application/controllers/User.php:1298 application/controllers/User.php:1438 -#: application/controllers/User.php:1656 application/controllers/User.php:1672 -#: application/controllers/User.php:1698 +#: application/controllers/User.php:14 application/controllers/User.php:61 +#: application/controllers/User.php:103 application/controllers/User.php:121 +#: application/controllers/User.php:145 application/controllers/User.php:384 +#: application/controllers/User.php:385 application/controllers/User.php:1047 +#: application/controllers/User.php:1066 application/controllers/User.php:1298 +#: application/controllers/User.php:1438 application/controllers/User.php:1656 +#: application/controllers/User.php:1672 application/controllers/User.php:1698 #: application/controllers/User_options.php:9 #: application/controllers/Usermode.php:15 #: application/controllers/Webadif.php:91 application/models/Club_model.php:52 @@ -2805,83 +2804,83 @@ msgstr "" msgid "Dxcc Prefixes:" msgstr "" -#: application/controllers/Update.php:362 +#: application/controllers/Update.php:351 msgid "SCP Update complete. Result: " msgstr "" -#: application/controllers/Update.php:364 +#: application/controllers/Update.php:353 msgid "SCP Update failed. Result: " msgstr "" -#: application/controllers/Update.php:401 +#: application/controllers/Update.php:390 msgid "LoTW Users Update complete. Result: " msgstr "" -#: application/controllers/Update.php:403 +#: application/controllers/Update.php:392 msgid "LoTW Users Update failed. Result: " msgstr "" -#: application/controllers/Update.php:438 +#: application/controllers/Update.php:427 msgid "DOK Update complete. Result: " msgstr "" -#: application/controllers/Update.php:440 +#: application/controllers/Update.php:429 msgid "DOK Update failed. Result: " msgstr "" -#: application/controllers/Update.php:473 +#: application/controllers/Update.php:462 msgid "SOTA Update complete. Result: " msgstr "" -#: application/controllers/Update.php:475 +#: application/controllers/Update.php:464 msgid "SOTA Update failed. Result: " msgstr "" -#: application/controllers/Update.php:508 +#: application/controllers/Update.php:497 msgid "WWFF Update complete. Result: " msgstr "" -#: application/controllers/Update.php:510 +#: application/controllers/Update.php:499 msgid "WWFF Update failed. Result: " msgstr "" -#: application/controllers/Update.php:544 +#: application/controllers/Update.php:533 msgid "HAMqsl Update complete. Result: " msgstr "" -#: application/controllers/Update.php:546 +#: application/controllers/Update.php:535 msgid "HAMqsl Update failed. Result: " msgstr "" -#: application/controllers/Update.php:579 +#: application/controllers/Update.php:568 msgid "POTA Update complete. Result: " msgstr "" -#: application/controllers/Update.php:581 +#: application/controllers/Update.php:570 msgid "POTA Update failed. Result: " msgstr "" -#: application/controllers/Update.php:610 +#: application/controllers/Update.php:599 msgid "TLE Update complete. Result: " msgstr "" -#: application/controllers/Update.php:612 +#: application/controllers/Update.php:601 msgid "TLE Update failed. Result: " msgstr "" -#: application/controllers/Update.php:639 +#: application/controllers/Update.php:628 msgid "LoTW SAT Update" msgstr "" -#: application/controllers/Update.php:667 +#: application/controllers/Update.php:656 msgid "Update of Hams of Note" msgstr "" -#: application/controllers/Update.php:707 +#: application/controllers/Update.php:696 msgid "VUCC Grid file update complete. Result: " msgstr "" -#: application/controllers/Update.php:709 +#: application/controllers/Update.php:698 msgid "VUCC Grid file update failed. Result: " msgstr "" From 0da041cf63df5191bdd5b8e8170e74370244b8af Mon Sep 17 00:00:00 2001 From: Alexander Date: Sat, 13 Dec 2025 20:52:10 +0000 Subject: [PATCH 46/79] Translated using Weblate (Dutch) Currently translated at 100.0% (3194 of 3194 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/nl/ --- application/locale/nl_NL/LC_MESSAGES/messages.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/application/locale/nl_NL/LC_MESSAGES/messages.po b/application/locale/nl_NL/LC_MESSAGES/messages.po index cf7f892f0..51ae6b7a2 100644 --- a/application/locale/nl_NL/LC_MESSAGES/messages.po +++ b/application/locale/nl_NL/LC_MESSAGES/messages.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-11 13:44+0000\n" -"PO-Revision-Date: 2025-12-12 22:42+0000\n" +"PO-Revision-Date: 2025-12-14 10:34+0000\n" "Last-Translator: Alexander \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch \n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18603,7 +18603,7 @@ msgstr "Ontvangen" #: application/views/user/edit.php:450 msgid "squelched" -msgstr "" +msgstr "onderdrukt" #~ msgid "Show Reference Fields on QSO Tab" #~ msgstr "Toon referentievelden op QSO-tabblad" From 8031772bf4de9f01e1e3ff8159dacdb88fa38374 Mon Sep 17 00:00:00 2001 From: "S.NAKAO(JG3HLX)" Date: Sat, 13 Dec 2025 22:25:25 +0000 Subject: [PATCH 47/79] Translated using Weblate (Japanese) Currently translated at 100.0% (3196 of 3196 strings) Translation: Wavelog/Main Translation Translate-URL: https://translate.wavelog.org/projects/wavelog/main-translation/ja/ --- application/locale/ja/LC_MESSAGES/messages.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/application/locale/ja/LC_MESSAGES/messages.po b/application/locale/ja/LC_MESSAGES/messages.po index e319262bd..84ec3e467 100644 --- a/application/locale/ja/LC_MESSAGES/messages.po +++ b/application/locale/ja/LC_MESSAGES/messages.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" "POT-Creation-Date: 2025-12-10 06:04+0000\n" -"PO-Revision-Date: 2025-12-12 09:26+0000\n" +"PO-Revision-Date: 2025-12-14 10:34+0000\n" "Last-Translator: \"S.NAKAO(JG3HLX)\" \n" -"Language-Team: Japanese \n" +"Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18658,7 +18658,7 @@ msgstr "HamQTHクエリのセッションキーの取得エラー" #: application/views/user/edit.php:450 msgid "squelched" -msgstr "" +msgstr "押しつぶされた" #~ msgid "" #~ "You might have ADIF errors, the QSOs have still been added. Please check " From 91cdec23df799b30fda03fd9fc162042cb91e7e5 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 14 Dec 2025 11:34:45 +0100 Subject: [PATCH 48/79] Moved function from model, and added userid --- application/models/Logbook_model.php | 44 ------------------- application/models/Logbookadvanced_model.php | 46 ++++++++++++++++++++ 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php index 6935ca62f..bfa3a0657 100644 --- a/application/models/Logbook_model.php +++ b/application/models/Logbook_model.php @@ -5996,50 +5996,6 @@ class Logbook_model extends CI_Model { return ''; } - public function check_missing_grid_id($all) { - // get all records with no COL_GRIDSQUARE - $this->db->select("COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_TIME_OFF"); - - $this->db->where("(COL_GRIDSQUARE is NULL or COL_GRIDSQUARE = '') AND (COL_VUCC_GRIDS is NULL or COL_VUCC_GRIDS = '')"); - - $r = $this->db->get($this->config->item('table_name')); - - $count = 0; - $this->db->trans_start(); - if ($r->num_rows() > 0) { - foreach ($r->result_array() as $row) { - $callsign = $row['COL_CALL']; - if (!$this->load->is_loaded('callbook')) { - $this->load->library('callbook'); - } - - $callbook = $this->callbook->getCallbookData($callsign); - - if (isset($callbook)) { - if (isset($callbook['error'])) { - printf("Error: " . $callbook['error'] . "
"); - } else { - $return['callsign_qra'] = $callbook['gridsquare']; - if ($return['callsign_qra'] != '') { - $sql = sprintf( - "update %s set COL_GRIDSQUARE = '%s' where COL_PRIMARY_KEY=%d", - $this->config->item('table_name'), - $return['callsign_qra'], - $row['COL_PRIMARY_KEY'] - ); - $this->db->query($sql); - printf("Updating %s to %s\n
", $row['COL_PRIMARY_KEY'], $return['callsign_qra']); - $count++; - } - } - } - } - } - $this->db->trans_complete(); - - print("$count updated\n"); - } - public function check_for_station_id() { $this->db->select('COL_PRIMARY_KEY, COL_TIME_ON, COL_CALL, COL_MODE, COL_BAND, COL_STATION_CALLSIGN'); $this->db->where('station_id =', NULL); diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index ae1090534..4ee468e17 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1689,4 +1689,50 @@ class Logbookadvanced_model extends CI_Model { return null; } } + + public function check_missing_grid_id($all) { + // get all records with no COL_GRIDSQUARE + $this->db->select("COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_TIME_OFF"); + $this->db->join('station_profile', 'station_profile.station_id = ' . $this->config->item('table_name') . '.station_id'); + $this->db->where("station_profile.user_id", $this->session->userdata('user_id')); + + $this->db->where("(COL_GRIDSQUARE is NULL or COL_GRIDSQUARE = '') AND (COL_VUCC_GRIDS is NULL or COL_VUCC_GRIDS = '')"); + + $r = $this->db->get($this->config->item('table_name')); + + $count = 0; + $this->db->trans_start(); + if ($r->num_rows() > 0) { + foreach ($r->result_array() as $row) { + $callsign = $row['COL_CALL']; + if (!$this->load->is_loaded('callbook')) { + $this->load->library('callbook'); + } + + $callbook = $this->callbook->getCallbookData($callsign); + + if (isset($callbook)) { + if (isset($callbook['error'])) { + printf("Error: " . $callbook['error'] . "
"); + } else { + $return['callsign_qra'] = $callbook['gridsquare']; + if ($return['callsign_qra'] != '') { + $sql = sprintf( + "update %s set COL_GRIDSQUARE = '%s' where COL_PRIMARY_KEY=%d", + $this->config->item('table_name'), + $return['callsign_qra'], + $row['COL_PRIMARY_KEY'] + ); + $this->db->query($sql); + printf("Updating %s to %s\n
", $row['COL_PRIMARY_KEY'], $return['callsign_qra']); + $count++; + } + } + } + } + } + $this->db->trans_complete(); + + print("$count updated\n"); + } } From 00b53970942cac6f7772d9e9c02469c208d91f48 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 14 Dec 2025 13:23:53 +0100 Subject: [PATCH 49/79] Adding translations --- .../views/logbookadvanced/checkresult.php | 20 +++++++++---------- .../logbookadvanced/showMissingDxccQsos.php | 18 ++++++++--------- .../views/logbookadvanced/showStateQsos.php | 18 ++++++++--------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index 2554be3ec..8eec47948 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -21,8 +21,8 @@ switch ($type) { } function check_missing_distance($result) { ?> -
Distance Check Results
- QSOs to update found: count; ?> +
+ count; ?>

@@ -36,8 +36,8 @@ function check_missing_distance($result) { ?> -
Continent Check Results
- QSOs to update found: count; ?> +
+ count; ?>

@@ -50,8 +50,8 @@ function check_qsos_missing_continent($result) { ?> -
DXCC Check Results
- QSOs to update found: count; ?> +
+ count; ?>
'; - } + + +
+ ' . __("The number of QSOs updated for state/province in") . ' ' . $country . ' : ' . $result['count'] . '
'; + echo ''; } else { - echo ''; + echo ''; } if ($result) { @@ -91,63 +91,64 @@ function showStateUpdateResult($result, $country) { } } - if (!empty($details)) { - echo '
'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; + if (!empty($details)) { ?> +
+
' . __("Callsign") . '' . __("Gridsquare") . '' . __("Station location") . '' . __("Reason") . '
+ + + + + + + + + - foreach ($details as $r) { - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } + + + + + + + + - echo ''; - echo '
' . htmlspecialchars($r['callsign']) . '' . htmlspecialchars($r['gridsquare']) . '' . htmlspecialchars($r['station_profile_name']) . '' . htmlspecialchars($r['reason']) . '
'; - echo '
'; - } + + +
+ + ' . __("The number of QSOs updated for continent is") . ' : ' . $result . '
'; + echo ''; } else { - echo ''; + echo ''; } } function showDistanceUpdateResult($result) { if ($result == 0) { - echo ''; + echo ''; } else { - echo ''; + echo ''; } } function showCqzoneUpdateResult($result) { if ($result == 0) { - echo ''; + echo ''; } else { - echo ''; + echo ''; } } function showItuzoneUpdateResult($result) { if ($result == 0) { - echo ''; + echo ''; } else { - echo ''; + echo ''; } } From 310b078efe04447c98e391251599380eaf225c97 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Wed, 17 Dec 2025 10:17:25 +0100 Subject: [PATCH 72/79] Fix some classes and a bit more refactoring --- .../logbookadvanced/showUpdateResult.php | 96 ++++++++----------- 1 file changed, 40 insertions(+), 56 deletions(-) diff --git a/application/views/logbookadvanced/showUpdateResult.php b/application/views/logbookadvanced/showUpdateResult.php index 04b4688d8..69f7297a2 100644 --- a/application/views/logbookadvanced/showUpdateResult.php +++ b/application/views/logbookadvanced/showUpdateResult.php @@ -50,25 +50,25 @@ function showDxccUpdateResult($result, $all) { if (!empty($details)) { ?>
- - - - - - - - - +
+ + + + + + + + - - - - - - - + + + + + + + - +
- - - - - - - - - - +
+ + + + + + + + + - - - - - - - - + + + + + + + + - +
@@ -122,33 +122,17 @@ function showStateUpdateResult($result, $country) { } function showContinentUpdateResult($result) { - if ($result == 0) { - echo ''; - } else { - echo ''; - } + echo ''; } function showDistanceUpdateResult($result) { - if ($result == 0) { - echo ''; - } else { - echo ''; - } + echo ''; } function showCqzoneUpdateResult($result) { - if ($result == 0) { - echo ''; - } else { - echo ''; - } + echo ''; } function showItuzoneUpdateResult($result) { - if ($result == 0) { - echo ''; - } else { - echo ''; - } + echo ''; } From 35ca9d7f990138cd3f956a4f053201252af73eca Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Wed, 17 Dec 2025 11:42:10 +0100 Subject: [PATCH 73/79] Added some more header lines with info --- application/views/logbookadvanced/showUpdateResult.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/application/views/logbookadvanced/showUpdateResult.php b/application/views/logbookadvanced/showUpdateResult.php index 69f7297a2..0f86ced7b 100644 --- a/application/views/logbookadvanced/showUpdateResult.php +++ b/application/views/logbookadvanced/showUpdateResult.php @@ -25,6 +25,7 @@ switch ($type) { } function showDxccUpdateResult($result, $all) { + echo '
' . __("Results for DXCC update:") . '
'; if ($result['count'] == 0) { if ($all == 'false') { echo ''; @@ -76,6 +77,7 @@ function showDxccUpdateResult($result, $all) { } function showStateUpdateResult($result, $country) { + echo '
' . __("Results for state update:") . '
'; if ($result['count'] == 0) { echo ''; } else { @@ -122,17 +124,21 @@ function showStateUpdateResult($result, $country) { } function showContinentUpdateResult($result) { + echo '
' . __("Results for continent update:") . '
'; echo ''; } function showDistanceUpdateResult($result) { + echo '
' . __("Results for distance update:") . '
'; echo ''; } function showCqzoneUpdateResult($result) { + echo '
' . __("Results for CQ zone update:") . '
'; echo ''; } function showItuzoneUpdateResult($result) { + echo '
' . __("Results for ITU zone update:") . '
'; echo ''; } From 6d07a4f048fb7eb857b5111424d9548dd2f5ee7a Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Wed, 17 Dec 2025 11:59:04 +0100 Subject: [PATCH 74/79] Rewrote to pure sql --- application/models/Logbookadvanced_model.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 9150e90d3..7c32c5251 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1644,18 +1644,14 @@ class Logbookadvanced_model extends CI_Model { public function check_missing_dxcc_id($all = false) { ini_set('memory_limit', '-1'); // This consumes a lot of Memory! $this->db->trans_start(); // Transaction has to be started here, because otherwise we're trying to update rows which are locked by the select - $this->db->select("COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_TIME_OFF, station_profile.station_profile_name"); // get all records with no COL_DXCC - $this->db->join('station_profile', 'station_profile.station_id = ' . $this->config->item('table_name') . '.station_id'); - $this->db->where("station_profile.user_id", $this->session->userdata('user_id')); + $sql = "select COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_TIME_OFF, station_profile.station_profile_name from " . $this->config->item('table_name') . + " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id + where station_profile.user_id = ?"; if ($all == 'false') { // check which to update - records with no dxcc or all records - $this->db->group_start(); - $this->db->where("COL_DXCC is NULL"); - $this->db->or_where("COL_DXCC = ''"); - $this->db->group_end(); + $sql .= " and (COL_DXCC is NULL or COL_DXCC = '')"; } - - $r = $this->db->get($this->config->item('table_name')); + $r = $this->db->query($sql, array($this->session->userdata('user_id'))); $this->load->model('logbook_model'); $count = 0; From 18e269ac9cd3a87d6da50f33895136532e4c99c7 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:31:32 +0100 Subject: [PATCH 75/79] Added disabled grid batch lookup from callbook --- application/controllers/Logbookadvanced.php | 4 ++ application/models/Logbookadvanced_model.php | 40 +++++++++----- .../views/logbookadvanced/checkresult.php | 13 +++++ .../views/logbookadvanced/dbtoolsdialog.php | 14 +++++ .../logbookadvanced/showUpdateResult.php | 8 +++ assets/js/sections/logbookadvanced.js | 55 +++++++++++++++++++ 6 files changed, 119 insertions(+), 15 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 246d0c9f7..4e7e9d12f 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -876,6 +876,8 @@ class Logbookadvanced extends CI_Controller { } public function updateDistances() { + if(!clubaccess_check(9)) return; + $this->load->model('logbookadvanced_model'); $result = $this->logbookadvanced_model->update_distances_batch(); @@ -968,6 +970,8 @@ class Logbookadvanced extends CI_Controller { } public function batchFix() { + if(!clubaccess_check(9)) return; + $type = $this->input->post('type', true); $this->load->model('logbookadvanced_model'); $result = $this->logbookadvanced_model->batchFix($type); diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 7c32c5251..f5a7522d7 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1485,6 +1485,8 @@ class Logbookadvanced_model extends CI_Model { return $this->check_missing_cq_zones(); case 'checkituzones': return $this->check_missing_itu_zones(); + case 'checkgrids': + return $this->getMissingGridQsos(); return null; } } @@ -1707,6 +1709,8 @@ class Logbookadvanced_model extends CI_Model { return $this->fixCqZones(); case 'ituzones': return $this->fixItuZones(); + case 'grids': + return $this->check_missing_grid(); default: return null; } @@ -1716,21 +1720,14 @@ class Logbookadvanced_model extends CI_Model { Another function moved from update to the advanced logbook, to be used in the dbtools section. It did not have filter on user or location. */ - public function check_missing_grid_id() { - // get all records with no COL_GRIDSQUARE - $sql = "select COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_TIME_OFF from " . $this->config->item('table_name') . - " join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id - where station_profile.user_id = ? - and (COL_GRIDSQUARE is NULL or COL_GRIDSQUARE = '') - AND (COL_VUCC_GRIDS is NULL or COL_VUCC_GRIDS = '')"; - - $result = $this->db->query($sql, array($this->session->userdata('user_id'))); + public function check_missing_grid() { + $result = $this->getMissingGridQsos(); $count = 0; $this->db->trans_start(); - if ($result->num_rows() > 0) { - foreach ($result->result_array() as $row) { - $callsign = $row['COL_CALL']; + if (count($result) > 0) { + foreach ($result as $row) { + $callsign = $row->col_call; if (!$this->load->is_loaded('callbook')) { $this->load->library('callbook'); } @@ -1739,11 +1736,11 @@ class Logbookadvanced_model extends CI_Model { if (isset($callbook)) { if (isset($callbook['error'])) { - $logerror = "Error: " . $callbook['error'] . "
"; + log_message('error', "Error: " . $callbook['error']); } else { if ($callbook['gridsquare'] != '') { $sql = "update " . $this->config->item('table_name') . " set COL_GRIDSQUARE = ? where COL_PRIMARY_KEY = ?"; - $this->db->query($sql, array($callbook['gridsquare'], $row['COL_PRIMARY_KEY'])); + $this->db->query($sql, array($callbook['gridsquare'], $row->col_primary_key)); $count++; } } @@ -1752,6 +1749,19 @@ class Logbookadvanced_model extends CI_Model { } $this->db->trans_complete(); - return $count . ' updated'; + return $count; + } + + public function getMissingGridQsos() { + $sql = "SELECT col_primary_key, col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare, station_profile.station_profile_name FROM " . $this->config->item('table_name') . " qsos + JOIN station_profile ON qsos.station_id = station_profile.station_id + WHERE station_profile.user_id = ? + AND (qsos.COL_GRIDSQUARE IS NULL OR qsos.COL_GRIDSQUARE = '') + AND (qsos.COL_VUCC_GRIDS IS NULL OR qsos.COL_VUCC_GRIDS = '') + ORDER BY COL_TIME_ON DESC limit 250"; + + $query = $this->db->query($sql, [$this->session->userdata('user_id')]); + + return $query->result(); } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index 8eec47948..12bbc8364 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -15,6 +15,9 @@ switch ($type) { case 'checkituzones': check_missing_itu_zones($result); break; + case 'checkgrids': + check_missing_grids($result); + break; default: // Invalid type break; @@ -76,3 +79,13 @@ function check_missing_itu_zones($result) { ?>
+
+ +
+ + + config->item('callbook_batch_lookup')): ?> +
+
+
+

+

+
+
+ +
+
+ diff --git a/application/views/logbookadvanced/showUpdateResult.php b/application/views/logbookadvanced/showUpdateResult.php index 0f86ced7b..c4b5a3daa 100644 --- a/application/views/logbookadvanced/showUpdateResult.php +++ b/application/views/logbookadvanced/showUpdateResult.php @@ -19,6 +19,9 @@ switch ($type) { case 'ituzones': showItuzoneUpdateResult($result); break; + case 'grids': + showGridUpdateResult($result); + break; default: // Invalid type break; @@ -142,3 +145,8 @@ function showItuzoneUpdateResult($result) { echo '
' . __("Results for ITU zone update:") . '
'; echo ''; } + +function showGridUpdateResult($result) { + echo '
' . __("Results for gridsquare update:") . '
'; + echo ''; +} diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 62b326fa3..8573ef84f 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -2417,3 +2417,58 @@ function saveOptions() { } }); } + + function checkGrids() { + $('#checkGridsBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + + $.ajax({ + url: base_url + 'index.php/logbookadvanced/checkDb', + data: { + type: 'checkgrids' + }, + type: 'POST', + success: function(response) { + $('#checkGridsBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + $('.result').html(response); + }, + error: function(xhr, status, error) { + $('#checkGridsBtn').prop('disabled', false).text(''); + $('#closeButton').prop('disabled', false); + + let errorMsg = 'Error checking continent information'; + if (xhr.responseJSON && xhr.responseJSON.message) { + errorMsg += ': ' + xhr.responseJSON.message; + } + + BootstrapDialog.alert({ + title: 'Error', + message: errorMsg, + type: BootstrapDialog.TYPE_DANGER + }); + } + }); + } + + function fixMissingGrids() { + $('#updateGridsBtn').prop("disabled", true).addClass("running"); + $('#closeButton').prop("disabled", true); + $.ajax({ + url: base_url + 'index.php/logbookadvanced/batchFix', + data: { + type: 'grids' + }, + type: 'POST', + success: function (response) { + $('#updateGridsBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + $('.result').html(response); + }, + error: function(xhr, status, error) { + $('#updateGridsBtn').prop("disabled", false).removeClass("running"); + $('#closeButton').prop("disabled", false); + $('.result').html(error); + } + }); + } From 3cf670787e43be7312137ec603fe61c23fda227d Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Thu, 18 Dec 2025 20:05:31 +0100 Subject: [PATCH 76/79] Added custom date format --- application/views/logbookadvanced/dbtoolsdialog.php | 2 +- application/views/logbookadvanced/showStateQsos.php | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/application/views/logbookadvanced/dbtoolsdialog.php b/application/views/logbookadvanced/dbtoolsdialog.php index 29053bc65..543052a43 100644 --- a/application/views/logbookadvanced/dbtoolsdialog.php +++ b/application/views/logbookadvanced/dbtoolsdialog.php @@ -95,7 +95,7 @@

-

+

- -
@@ -46,40 +47,47 @@ function check_qsos_missing_continent($result) { ?>

+ count > 0) { ?>
-
count; ?> + count > 0) { ?>
-
count; ?> + count > 0) { ?>
-
count; ?> + count > 0) { ?>
-
diff --git a/application/views/logbookadvanced/showUpdateResult.php b/application/views/logbookadvanced/showUpdateResult.php index c4b5a3daa..d2eb50a1a 100644 --- a/application/views/logbookadvanced/showUpdateResult.php +++ b/application/views/logbookadvanced/showUpdateResult.php @@ -31,20 +31,19 @@ function showDxccUpdateResult($result, $all) { echo '
' . __("Results for DXCC update:") . '
'; if ($result['count'] == 0) { if ($all == 'false') { - echo ''; + echo ''; } else { - echo ''; + echo ''; } } else { if ($all == 'false') { - echo ''; + echo ''; } else { - echo ''; + echo ''; } } if ($result) { - echo __("These QSOs could not be updated:"); $details = []; foreach ($result as $r) { if (is_array($r)) { @@ -53,6 +52,7 @@ function showDxccUpdateResult($result, $all) { } if (!empty($details)) { ?> +
@@ -82,13 +82,12 @@ function showDxccUpdateResult($result, $all) { function showStateUpdateResult($result, $country) { echo '
' . __("Results for state update:") . '
'; if ($result['count'] == 0) { - echo ''; + echo ''; } else { - echo ''; + echo ''; } if ($result) { - echo __("These QSOs could not be updated:"); $details = []; foreach ($result as $r) { if (is_array($r)) { @@ -97,6 +96,7 @@ function showStateUpdateResult($result, $country) { } if (!empty($details)) { ?> +
@@ -128,25 +128,25 @@ function showStateUpdateResult($result, $country) { function showContinentUpdateResult($result) { echo '
' . __("Results for continent update:") . '
'; - echo ''; + echo ''; } function showDistanceUpdateResult($result) { echo '
' . __("Results for distance update:") . '
'; - echo ''; + echo ''; } function showCqzoneUpdateResult($result) { echo '
' . __("Results for CQ zone update:") . '
'; - echo ''; + echo ''; } function showItuzoneUpdateResult($result) { echo '
' . __("Results for ITU zone update:") . '
'; - echo ''; + echo ''; } function showGridUpdateResult($result) { echo '
' . __("Results for gridsquare update:") . '
'; - echo ''; + echo ''; } diff --git a/application/views/logbookadvanced/statecheckresult.php b/application/views/logbookadvanced/statecheckresult.php index ab6c61d62..526d13f2d 100644 --- a/application/views/logbookadvanced/statecheckresult.php +++ b/application/views/logbookadvanced/statecheckresult.php @@ -1,7 +1,7 @@ 0): ?>
-

+

From eba4ac85ba21baf7d8b4a7b09ac42d926acb4fe1 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Fri, 19 Dec 2025 08:07:29 +0100 Subject: [PATCH 78/79] Fixed syntax error --- application/views/logbookadvanced/showUpdateResult.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/views/logbookadvanced/showUpdateResult.php b/application/views/logbookadvanced/showUpdateResult.php index d2eb50a1a..987ce22b0 100644 --- a/application/views/logbookadvanced/showUpdateResult.php +++ b/application/views/logbookadvanced/showUpdateResult.php @@ -52,7 +52,7 @@ function showDxccUpdateResult($result, $all) { } if (!empty($details)) { ?> - +
From a31e6016ac385dcd4825e50025dc4a436ff3d460 Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 19 Dec 2025 07:34:14 +0000 Subject: [PATCH 79/79] po/mo updates --- .../locale/bg_BG/LC_MESSAGES/messages.po | 1010 ++++++++++------ application/locale/bs/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/cnr/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/cs_CZ/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/de_DE/LC_MESSAGES/messages.mo | Bin 312344 -> 311136 bytes .../locale/de_DE/LC_MESSAGES/messages.po | 1063 +++++++++------- .../locale/el_GR/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/es_ES/LC_MESSAGES/messages.mo | Bin 275151 -> 273852 bytes .../locale/es_ES/LC_MESSAGES/messages.po | 1055 ++++++++++------ application/locale/et/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/fi_FI/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/fr_FR/LC_MESSAGES/messages.mo | Bin 322816 -> 321496 bytes .../locale/fr_FR/LC_MESSAGES/messages.po | 1065 ++++++++++------- application/locale/hr/LC_MESSAGES/messages.po | 1010 ++++++++++------ application/locale/hu/LC_MESSAGES/messages.po | 1010 ++++++++++------ application/locale/hy/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/it_IT/LC_MESSAGES/messages.mo | Bin 310820 -> 309590 bytes .../locale/it_IT/LC_MESSAGES/messages.po | 1059 ++++++++++------ application/locale/ja/LC_MESSAGES/messages.mo | Bin 345244 -> 343830 bytes application/locale/ja/LC_MESSAGES/messages.po | 1055 ++++++++++------ application/locale/lt/LC_MESSAGES/messages.po | 1010 ++++++++++------ application/locale/lv/LC_MESSAGES/messages.po | 1010 ++++++++++------ .../locale/nl_NL/LC_MESSAGES/messages.mo | Bin 308043 -> 306823 bytes .../locale/nl_NL/LC_MESSAGES/messages.po | 1059 ++++++++++------ .../locale/pl_PL/LC_MESSAGES/messages.mo | Bin 309431 -> 308156 bytes .../locale/pl_PL/LC_MESSAGES/messages.po | 1062 +++++++++------- .../locale/pt_PT/LC_MESSAGES/messages.mo | Bin 273766 -> 272515 bytes .../locale/pt_PT/LC_MESSAGES/messages.po | 1053 ++++++++++------ .../locale/ru_RU/LC_MESSAGES/messages.mo | Bin 404989 -> 403389 bytes .../locale/ru_RU/LC_MESSAGES/messages.po | 1059 ++++++++++------ application/locale/sk/LC_MESSAGES/messages.mo | Bin 308901 -> 307669 bytes application/locale/sk/LC_MESSAGES/messages.po | 1055 ++++++++++------ application/locale/sl/LC_MESSAGES/messages.po | 1010 ++++++++++------ application/locale/sq/LC_MESSAGES/messages.po | 1010 ++++++++++------ application/locale/sr/LC_MESSAGES/messages.mo | Bin 184297 -> 183489 bytes application/locale/sr/LC_MESSAGES/messages.po | 1037 ++++++++++------ .../locale/sv_SE/LC_MESSAGES/messages.mo | Bin 303949 -> 302776 bytes .../locale/sv_SE/LC_MESSAGES/messages.po | 1057 ++++++++++------ .../locale/tr_TR/LC_MESSAGES/messages.mo | Bin 308079 -> 306794 bytes .../locale/tr_TR/LC_MESSAGES/messages.po | 1062 +++++++++------- .../locale/zh_CN/LC_MESSAGES/messages.mo | Bin 281658 -> 280604 bytes .../locale/zh_CN/LC_MESSAGES/messages.po | 1049 ++++++++++------ assets/lang_src/messages.pot | 1010 ++++++++++------ 43 files changed, 18596 insertions(+), 11344 deletions(-) diff --git a/application/locale/bg_BG/LC_MESSAGES/messages.po b/application/locale/bg_BG/LC_MESSAGES/messages.po index 79a54c680..4264f591f 100644 --- a/application/locale/bg_BG/LC_MESSAGES/messages.po +++ b/application/locale/bg_BG/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" -"POT-Creation-Date: 2025-12-14 17:13+0000\n" +"POT-Creation-Date: 2025-12-19 07:34+0000\n" "PO-Revision-Date: 2024-11-01 08:53+0000\n" "Last-Translator: Plamen Panteleev \n" "Language-Team: Bulgarian \n" "Language-Team: Bosnian \n" "Language-Team: Montenegrin \n" "Language-Team: Czech )<8W5v}hT%Qr{w zKnFZImLEeS_Jn2nPdpzh)}Rl*h0b^%5~9QxxD9{A8*pXLv_uumohvQT8Jl8doP%X? zEB3=5u?x1y9hPo>bUEgueibI2>2@xz!~fv$Z8*>y0@6AN(7oqK4d3A_z33OtWl3W<-T4-q6#v9#YxgXlm zFidSfbU>5QC3qN}*%Rpdo6)u1g?aD@8qqW801^em0P>?rn9StD2P>chX@tJe4IAMw zbfizC5qb&j_zm>EUFcGLffevqEQ!|?3fs3CIWChm+k9za992%Yg$ zXtJ$FXS@z=Xd619_v8If;{5|?@_vs->I{0IU5xjyE}WKVNx2Mmz?-q5`~NL2%2IJ2 zopG@uX^C<;1aHBa*arVXJ7{)I7-)xRcQlm!&}_c}jnG7NDegxj`$W9I7LC|;Eb9J0 z#D$^#3w<%$wIO@+qYc(av%CWuf!nbn-iM~4liIwtWz{>&*@m6 z@^Va$;$klsHds3|93;cgP|d}v_&H9%%Zi2ay;z0vE9lYt4H}_B#X}AZ!_t%=K?nRg zX2C7^3hqSvn^1!NUx|xnN`%nv!zq*xV<#L~GA%IzU&h*)w^T^3cIZ)iE1Gooqaj_7 zM&x}o$-cy_cot2*zt9L@UOGgqQ0Zh^;t&<3s4)5dL)SQ4nUF-e&=-oJ4Ofii#%PE; zM+c%=e-oOVkD^Jt5N-E)bO5W-rQU)@WN$Lw*oSufEqVZ*LOae{HjMNt^nNDVLHTHP zbmsNZNOZ-vI2j$lF0|tV=!tk7Yhm_sVM58KT#TWj2l~P`w4;xsU!Wm8hW+s*x~8ql zhX{2>-|HXCqtO9Q!1{O(uE!177;ml+mUI<1bpPk87(&qveX%zhvcc&0djy)TQ_v8< zjOM~VbV)9)6b4)veXkTcpo(aYG(g+!j>E7&mc}jE)cyYh7jCn%l|!iOM_Xb#^`u^X0M88CT5&eutAXlBV#9S);!sv|3#d2dTMY$uE#&I|u7svX{`eFOF zLU+qeSi}84lM83K8Qoq7(HZ`Vc9ge42w^ca*&3qH4Mg9Yh@KOVqF=j}XhcuM`qSt{ zF1s$|SPnFj1u(b!zcd%ABtb*p0-b5kSRRTVB;(M7=%HAC9o_#Q#_|Dld!0txNoyF| z$%B@Q#&T7(zlPSk|J!o$5%xnzTE0<8$|~sYXdZ2ccGwk7qQ0?y7+ynpG@8s0paXdV z&4D%O06sw{_8pqszhKgBk={5|6hK2>4(*^0cE_e@1M|@VJcpHVHF^*o!4L3z?27A~ zgb-(K8lKOGc331@IohNt``?DUQK7@otR5eohK~3#tclC90Ukh;FHf_Oyk*gW^hO6h z1l?Yv(FrX_53V(siEp73IovE6{($fu6=kT%-aPF88t6dUp-a*aO}fG8N92F#jJ`zA zi!(SFv$Y7H-x1h`@>(<*|3W+b4_%r|T88!uCAsiMd33F-N9&1DfT7(T?wm z_a8 z&^k0U0UhY9=pr=K&!S7RHo5^_n(gS4?nMTcOdR6Ek)1@hS9+W9OQjN;)m_mU+=@ov zUi5%jf`)cG8oBq-NPdKNd=TyEXe|GXexCnCBXa>ScmH3}HjKCcdN346LtZVGTc8bf zM;ji34s=wke=OE7M|0&RG?Hu34mY6@*%sZ4M&h7l_y0Fs7{XKNjL)MVjr{GxNUNg_ zw1{@bDwO-79nM65a6E!0?OZfcPowQ_Lf3pZ+Rjn*xt}oUNH22Xh%Rd%LYWs0Wg&Ft z#nF&e!THz}?f4+t;1Tq><7kJ!qwOX-gr&=YwqFz-NI854n{;6Rn{3CZXoLS^eQez^ zG;|+2(%EPOOR*@vfOhyEI*`xe{V&i69z&Nfy;EAEHC~0ia3HqDS7ZIZo!I{!sA$zW zEpZ3V!;*Mem+*7CGWwC}hYn;M+Tm1m01rgxqceXxmRF+#ej8nichHC)jrAwcc7988 zVRoNGlkd{5VTJ|JHLZh&xITKnC62`&I2qqTcR}-RVTszJ9ri~DI04<>Q_=SqM4v<3 zO}@rObuPBz5Il=Uphx$R3;#oBc5n1y^u>kIXJY+ow4=Asjz2_m<}f<*pJV+W(exgv zc9MylT-?J0h0u-`p$$BXzPJt@`CDkmyV1~nithVESO$-x+w;<%sXtgGa-&Pv8Oz~F zwB5OA5-!8C?*G@hFe$!98z|Q+Ein|UV}G2FF43=O@}>6Z{lU>Imgiwr%Db=* zp2u2PwNFUu5m=A%a;$-ev5xycXW#H(YxKrsbV**p+ITG9FWfJj^ z_t2S^>mLT(9gXO4bT^Dex8+ncqH{2{|DWQ*q*;yrHrtJ6`w4VS&!Y#@6$3&8WwBBk ze_w!os2@HsB;h9X_rwnLz0c8Ia0>14Pqdw^gF-vS2C@HpP*H^nUz`?Qgyku(MwjFe zn&sc3yW#}e;7{n%T!`iDgF{XfLUX5BESE#inX2gd&<@R|k%N;VDaKJ@2lt}MH3J>c zLuk@Gh0bIZn$>T_`rYWq>j2u|Y4mga7y5k8A;E&^{SxSeDx(vqljOn%TEzzjp)Zb# z<#A{z??D@$iw@|8=xgYJwxikpDVn4|qa9v(eQ57$bb`gv94L#vm#oc&A!&oI{Rs5I z>F7WnLSLAVZnJ05(C$IMZu`+09Ymiy8to+57n)n1gPyUGITq8qdYoJTn4~@{M zk?en8m_kJ{ToHXYK6nC4QGX7*;WeYei8mJSro0jzV42Zj&8wp`t&6W><5>P3-4z$n z2o%04l6a zSF8WvbjoXP3qRXy-JX`{N%;}%g5RUxmfGXOKTS)H;$kQjtFRpA8Xx{7Qy*tjUW~p_ z?v8LW4nWJ-;|hEX^I*LRVa6TMH69opgJ%ETXe8#KIrJQo#L2{4TzH`DihhJ17zfdY z|3*Wcb7Ba2A+%gFS_P+2t{?AjM0dx#=&slw{U+W&gPsq6rONET|G4ml%kB(ooFC2J zO6a$s4Z5}+(E;^E2QUUbAtz!boPyhN4GzTH|HuBukI~#Ia97Bw%F$Ms`t$!FEmB-MKUvW2oGD;(>(ekiK;k*Ahx^2&)?_V-Gg#2oBrj_w=tciXj_Mp4r z7$(iuEcb+&W=Cg~3thuP=q@OS6|pHg&|A?%7hfex%3`nO^A z(1`Xz`{|!#|NFoVRM^lRXow#~KQ2$8_n$(SXf2v6o6zUqK__r1)*nUkHE{w{NjN2Z zGsa-59c*Yj=>5}Ec+iS}sBn!N+!sdH8r=23DcK9lqWE;_u?us5jx6}90i?KfU^zd6T z6CF@*bV4_v&)jON6x z=zC9~?W{yQ+KevIH|TG^KhV!_?)$?L-Z7X=JitX8ZtOsl;)(}CB=VyTlt7cG4jP#r z=*R~|C!hm*6n%azI`f@qZhVYJ_+a!nmZ5wOQ~&(G=z}37WzjWjg(I;&dNRI>-LSyS zu=b8+X3FLWtL*OOpMu@J~brVJ*ss(e0Ugep;d#j>5k9GI|te zdp!IlR!8hl`M~4se~-rM3(^u3aW_uFrVGQrTCo}Lqnu+=$l5troAO@#95WWDCFbD~ z`~k-<3GelOf`8gYWS+-cs6YN>=&;w)@Mpty=+d1`a#4bd#Io>1qa+&gR%i}%Lqk3c z4cP=V2d1FgZhkDUKy&0xbaxy^JNP5s&;C?cilR7_ftAB1+)qBdJT37Y7aw3YZj66A z+_?Lh@XzfwqT6Wfig2(@L_402?(4_U0j)*9?>o^6971#GdvyE#iw-EqvuTNTSQ5#R zWa3sXoZ+3(htLL>qDiw3?dTKq95{{3G5d2NnO314u0xY;GkOBP7t06GB)@;kV2gxk=O??$)NLCnO%Sb_%rMn5u{YeGayquZ<*nj7uW zf%ifOG7>X!7MdHY(WTgjKK~7-zW=AVaNnOrLwO!;ILq2FpexZA3ZpYFjh=KhZ~)Fm z-}?!T;5jrxm%kF~3!^zy23^|9=s=sj!v43T9#pt?1JN1Yh<0={+VEZI0A`>K&p{h_ zI@Z66zP|-i5k%WP7|TcF{nN4jJlbB`x@73!iglrZtE0uy0aQdAtcP~oI^OStF5OTZ zhu_BfUh6|UL(u0(qZ7Crjm-V%z!sx9@=THox6`KR-uS>_H0zI{xsiA^G;}HErN3;#i&X2;4#MjXuu{8B(u?!Y^ zJ$z1^VM)p((d?du192@@#vE^ifiy(#cR>5O6`kN@Y~&)|A1mHPXZkUkrH9cOoIwws z#G9df4W_afeZCnQiH>Loz0jEs$7XmJR>Vzc$0yOH``xlh^mn|GZ9~}ixzOaxhsCfM zI`ih}fNnx(J_+3g%h7?XM+dSQ9pElBqKDB4{)81U&s*VWZiGok(whq#9*nNdSac01 zp&dOGU5l>$XJ|(!(WE~EvMQ5N%HxH}fTUZHCVNEQw zJ#{~s=*)#TCZPLv1seMO=nT)GA-{Y_NXp{qK&zo^*Z|#j&C%z&VoMx_4rmR!#2Yaa zzsA&d-s#VA_TM#JJkE_<@Uk@icKV(0yFKT-A@uXn&@D%k^i4F&ccUGAj1J_>SpPlx z+^Oh4=zw$V3In+si&1WX`Q85mxiG88qicN^+VBiCspg>#yo}ED_2^E_LirOkcMhTv zJB|(@{k_m`UTjRcAi8b)q5~d^Njn_Pg#(xnZ%jhZ@@Z%X3(zHc0v*Wv=s-S251wyv zEB=gzcJ=Nsfj#JRpQ9cAfcAGf)?e7o{np9c&o#pPSj}D|0IF&kec>kVcc;IU)%=Yim&}ZxoBhMARHd+yF zs6INAwrEIuVg($8zCRP4zyfqaYtYDTN0)RjI`Qw5T%?ZD_`uodKWImnd=UQ3mLE$} zE{H|35%$GFXo%lLe^9&|?;k~%Ch=hyXm)f!1<>cKpaV@d0`@fWnu2dXBkJQTh z!bn@72gd;PpqY&hWF30s?m<7VU!nua{3L9v8rX+&Pqe+&=&sm_=Em3PZa9mnfB&b( z{_vMXEzy(ke|R0v#{c0SG;}RL4IK?cBQzF0sAk3b7tzRUL6+R-$022Y{M^D1`14d_~5elV=W5q~(o$@#|yUTwbtc@m3Gc=34pi9vY4gEOu`59o;ze#pHR-_#YNtXjn%Ccw!t>;$FM~ z-S2{y{^U{mal%0W|bg&<5(EXa05Q z(b@qsum`rpKA4XOmtt|s>%R`~9f%&nk<=%TaM6j2mPgYP8}Ko70G+-GFAhLYwj?^x zm3T95M33C^--c~E7;90UgXY98%)~Fy^WY-7)D^!=OWcI5koS{`bzIo+adf|*N4Hn` zV<94~(X8!(Hasvo7Tw=d(Ir`g?vizA@_mRd$x-yVGw1-aejg%P6tnsLFUN%)R7FEs z4>PeT8i}E3GL1#od;+>Ov(bhZqvyuj=sW21U!di#dpg(EJ3 z&ajp@unpG6u4sb~V5(zuri;;&?R7Mn_C*h%&mBhFJ08my&`4)H9xQ-Klc+2g4xldj zLOb+F<3MyNCZXB9DBgb$UDLzpHof9RIMK@Ea>|3yUrdP~!x9!iXI?T|1?{)~kL-U( z+K!6m*b6N$MhEg7I^qquAKynCUV1Ww{53RE@1twGAKk7$<1KjAPa(Odp%L1T)_;yJ zb?Z~fFp|!v!u}tOj&uY%klWA>CZkI*1I_Y>Lr23t`c zj-`AKbKpKS0!PtI}&Z0BFA4X5arLnvc-Ab|v&+>5rb>x1rncF)WI& zprPD{Huy7o4rD(c>Pw?b)(joc3^W&Bz!vx+`U52IU+jNJ)|v|&xE@`CNoXjiqq(sd zo#|?H3EqnL-$MubC7LT|(TSvA2=&F#0oK9muqWE?T=e3|!=R+Cv{YGfJ?a*_f6Z-rFG-;C;+5fK5BUCuk=g}Fy zjYecQ`rSW|>-(b}PDk%QfrflLx^%~4{U!f|-BAf0Kpk{|O_E%g%^l*6 z-snt*pdlKGJ~%NtHTnpe-AmAI_c9ux*U^dWi1i224!=QXd=j1D1+@L-rT>PD0_cs> zXhSv84w|AJbc^KyXoEMS1D$~N@E&xZzlm<&Eog`P&?Wc=$Kv;~zSn=LWKAYUaA8v1 zhc>(*`V>0z7tsN|7VEdi`aS4O526G7Dc=7BP0D}K_ww<3$(a^I+pmfq#r0BU_Fp$H z?5ICFkQ>pgorG?;#hA+aSbh(k=?NT$XVCY$r-gP#VkYJB=(e4YCf_>rqxJ=Q6#tAl z-2cCE;Yicc(^JWl14~e@iq`i)XLNlmPecbiEtVfe2l!-kB|5_m*a<(uR0J|YdsWf* z8)DMXwdKM!>W+5Y8$DX@M%Qu*I*@tMr_kJ3g+^j?tbZr^31(9NHQI3^OM2?S%8B+< z0nME%S<;iKi#k-;L1T1{I-nuy8SRJsm`w~uUmS`)KRP-Q9q=@?!& zG9B&cnRtIay2Ni`b4-2}Zxp{QJXj75Q9U$UTVh%4gRc1$bO3W>c^Mj!wKxdhLYJW6 zM_AmNz%9TCLuspi<)zAj&p%H3>K6ewQ zj^cR#33U6eL?f~X9q6ZMJ6~aj-~S)t11HfCpT!FJFZwkre?@xg&xmcYI_2?L1D{7j zd>H*4|Ah|xsw+d5mq9zOfG$DJXbW^8J@88R|Daeg#tO<4(6yb0cjANSlBDMd4dp;P zx)zN@Rdk?@(F11?R>ix~C44!Sx1clsC3+r{?#D#VFw!j1E71|=M?;#4ekJRmU&YR7 z_K!w)O%l!Oh3J4*M>j?HMh~M)d=lM$7jv@z@8Ke6uJGb)^noYQrC5zdVncK@nkzfd z0ey^y_5?cM^Rb+sJ4`4K8qvb&M9QJ>H$ey7F*p0)28K~#hvU#0+=GsA7P`HbqaD70 zF2z>#xxMK7hhzOum`V9uEMJ``ELBPLz1ryW&0@J*GFA+V6}O-b-xbRbq9dLk%TLGq ztFaIDo6zLTpEopI9i4GAbXRnV^`p@V+=VXT+;~5^iVKrw7p8u(pd-D6zddjudC_Dm zjy6yeUGom;b2r5Mx1k}Oisf(-R>mDz1%Ja9Sp2H=L=(Ib8@m5r;KGi6z()87`eU(X z{*cADp*iq0+Tru)^XsuBZbx(GI6A=d@qVrX;k}}0L`p`hqZ4Y9DzpE(abd$l(EU0F zoyi^Oc6kWRfq7_-ERH^lHnbMamF?&@Jb(`H4|MxwxjHOO0rdScX#3SMpZmWJ7nN`z zR=|hQ{rd*a#uMnkCKe1cxfjb*o{b)<8_?|Ef<|ID+R+zS7QaUitQ>_xM4F*V*cy|D ztTz|Fcq=;cd(n_Rg3jQ{Sicrc#x3Y}+KWcuJM{TKVmYI5cTXfqoqQ8vUA`j^*k_!gEd0nf5@Fd^j56DcB!Z z6=DC^;^MMv(o=t%)foL+jmJ`W5zUQa*M=7>q1&x58o4{r-7qWqTy#tHbF|}MV>w6B z@XaWL=1R*X7iG8@jwac|=#e}RO_BxZOjn^Z--vFbkK+A&nPEWXu{!mw&qdCW)urE&5ji*m&7616{q7m^!%t>JbbkJ zV?D~Bq7lwfB0cqwTw0(LegZ#s|L^3&0n9I%o_H7EK|6f7R2a}>=x?_r=u9@D_xD8i z$NIx)a{Y)7BvCppKUS|olde$3^weLkl|h&4akSkP=#spSF2$jEzepwazsXU)QpkZJ zSe5dl=!4tPhO$%+9p=F@luMukZ;#jGP4WH*XvDrkJN_MgKUVsSRC!B3VOn|LK_~0b~HLVE!HnZ2mVqlZ@_+(-$4(u%$gym zN}?xcGj!&IkYr6JZsfv{%t1r_1g7J1EQu@7?Xx@j5!&!)n2Cqb_b;IDXRQ?`ayeRG z09~r$=-RhM2XZ&ocmFToVi*;lU?$eCou2wH8+xNB-QVbEv|OF=N3?F(i}GUp7k|Yc z@t3+GslKQe{v>n(i=^?bs2>I}p+S0L8qYn6`>^d ze3pxCT=d2pTcjr*#x2+lJG4wsoWo^!1{btSPyO3&_qS%BGoXvOi~7-R(^LPsP4#wc zQ|gancRb%dJ@LKmbWBey!RnpD06xU}lxuco|F`1e*3RjPDfl{e#=2e7Q~yck1K6JO zC+LZGZP)bFe?C(U9oRx_hmUp(ziL20O!+Df% z!$z33Uzl+V^uSA^$@tp;UmT~xH7nRZ*a5fsAeP6b148{6EJJx2?#Er|+AbNGp8EHN zKEuY8a|}vP{dYf|(3!44PuBPGe|Rz0C+`>>_Wu&B%Z*pj6YFR6;K(&3BvoT{UynqW zWCv!&oY#kKc2zVJvr%6GJvXZ3U~Gf~aVa|Bzp=afzxL2@V#tFO~OAZSUE^6P?jD!^7@qjz;7LbON)m6TXWt;8iz-kJjese)L>8fyLbaXSwjJch!jS-L8Sf zD0hqH@mP@ZJoFo|3P<1@XzpBlV~ErUyp{5N^edTlWY|T8&=dA%bmlX#KW@cJ?*AgA zLUy*p=9E7}lcwP4^u%!NgRbc&wBdiyB+7GBI)7QoM+QB>)?ydTHzqyx&wy`02e=Yj z;aN0N^=}Se*P)nvgNkRlD1-xV2?xrZ=nI?BlP=4xq2c~mfbz@O5qDw-%riEeoP*Kl z@5S195PdGkZDE%TK#%BG(Iwb$8~fj{&`v50@d3<*zhF*GyFGj?a^oeG3!zC>91COR zc)uN1qTD^+pMoyctayI`+VN9p(msoRV^-dt3@6rVD*95fWn7qP!SSKP(Kvwm+tC+4 z!u6)^w$UNciP72U50z(=vEps?N8=~x_WKq64VZ62c(7WuHJS?p z(ItBleeX@IfCtftW=srgeHFT74bh18MBBX$eLp#y3%ApYSQI}(v-J%6;-z{}no*@6eF`hn@q4?hen-M4z9FKKBBaz@1pi{eOas&X{9T zIHL!lGkye(z!G!-D={x_KnL~#X5axdVqc)oe~+v24|GXZOb#dFYj_3aEcb-^+?e|J ze~WX`lpE#IH5-F2$rN-Ti_nIijrU(iXS4^i;Wy~oo{0C)q0e98?!s%(b}D06tdI8d zaFYGshKuD?yn`p>jkWiN7v4cB{wSefEnbcwd19qvX4@L4SX zfDZUKG)MlLLWhR-iu=L~h0yI&8l6#HG#6TFlio*6;EM9$}eF_Jb{M%${FE&D1;86KDs1r(f5a-9gU4X zfIjyWI?y%fIq@EvydNUFA(=QBE)r+a5#_u;JXjE?P%esgv>dzPo7e@jKM;QF4M2WK zBsQTT&HZ5bEm#E|z%X>1-j06OCt_J#gr)udZ|A}g{)o=x_gKy{Gt}pd7D7i}Dq0!M zg*s@`wLv4*1)cFg^hBM2F2&>M(!PY|%x)~={y)rx$#otpVUCBwZ@%l$8Qd71fSHu1 zqx=3jbY?H1kz0dyumOGV^H_fzo!GDF5~V#HB2W;Mo=DBOFgXUHBO8N0cn>On^f3fgV`Z;jnN1D zU`ZT^hWI}8xtZvUXUFnF^!X>S3@%3_up1rV=jgUOhcz(YBVqryd4&C6m5TmUynzp+ zACnf3h7Jc|70M&9EgX*Pa{dZ$Wq0bJzrrC1XXY zdEuwmFl@k$7tn@|VKXf9ShznJ9q zlmBpGa^!hD{LN=^^u-s^T-bz-@gsEmxk@m%1lt-a!T5V}KVD3d5_!MpMOY|dh z4BbWN&|Q;vS+D}yQS(?Hh#q8jp#43JIoX;SlW0Wdp-cHR8j)Ag32eZm4Q}PaZS^kN;rr+dN6`WOhHLR}d>vOU zPfu;z;ZKLZFF1~isUQDL_(N*W6=Ch0p-DUf-91aOJRU^%fBLiRf0L!+v*ASQjBc+x zu@|n!>oDtc;SVIu(Czpj+Rz3xIgg>cpycx*Nt5XASdJa>H*_FPUPw><%d2;y&;Rg3 zGK{3@i{bNn6V~L$4)lfdXhf>M6lT^6t5W_SR>qgG2Oh$TSb1gm8Qvdl=YI75Mr@9` zUk>}eCpv-0lU%spw?+TK3Y6=u3LV~nmKUM}+KK+a_#54hwO5C~Na%yLDbK{}xD7q& zen%r#c1Du(vfBBrmNmQJ});Ru^@S}7icBOp9x)AC?IGplQ?1LHW z!wd(Y1A7I3#h=hfeferg-W;!mqr4JY-wjF5WMV28X7^n5Bk~Hm%{HQI^bVRlnXiYx zc<76U`dPH0PcRcR-UxpeToN6~4D`(3iUsgXEQEicCtDGx%|b}G8v-bA(YcGNxAUynv=1lsXv zbU@=bvj1&xN_=oubS@f+1?Y=w(2mxl19}?`@%DIs7n(zR(1GtmpFa{khDP#Ky#F`a z{w2vx;lZNl5|oMM>(GIhR*CR^jw&R?toM&^0 zT#0D16&HRiMxhT*M%Q``I)H6xM<3t}{0u#E2W$yHNS?r!l)u3dSY~TDa%W?E%17`< zEW0g4=25i0CCG%5iD$TQ)2#1=lQ9>1zYl(aW3eu_ ze>V(l8rtEL=yrY{jo4mvDX-WS`pb=}fB&xp7baD8EQs~cCFzcyj5neO&J662Z(~s` z@Lq^i9dv-5(8%;f2XK3=pM(zh{#afXeF;8Ij!at~3hDP?^=;eFE`H_Dw`@b+Z%28oQEzyzpL?bX5 zo!K~aK=+{A@qRR$A41pk3AE#tX!d`F6*2Kah)5-@Pq7vH{1h|^AN_#+?{->9MNN|J zIdmHy{xJN~`31fI{72!%*U%p*JJBS)fMqcE$Ke-GJ#@_nVrje&E8vUq{%7b?|AkH{ zk=z$%d>J~jyy%}|i=#(u6Ldh`(PSKnM(UP${~q+cIruO>g->CnPr|@IM8ES#&=a%! z{t(#-Xrz-fxo`;{Lqob2?O+?)@ji5>KcL&`AN2XWpN9KY&>6NschOiZf%l=$J%=Xc zb~GY~(dW`XOHGjf{eLc;aT#;~EzueE!lrlw8mi}G{aSQMwx9$003G0W=o()@JF0ac zL~H;$)1hd`W6*)!gSp)Qi@7k_R-$XO1#S3UG~`FnfqjcMbQXQ?A9O!wIT#{#8JesG zW4R<6iJGz82isB}iT!aM_Mrbnj?crbQS62lj)ZgL9&GM&N7(;8x%in1*Sh(a;V7MsT_|rx_i@gz z!aq*C4*jZq9KHPO5V00$I}c$k{01vyfukWZt)55HvB4{gbgVFg*C9&cfnCujq;OdNIya&a2yL^j$>h|%Apae8f}W6h~1K0q;c>J zLQkY2--jd`i7v%B^u_zoB%K$_&qv=xpWBTt(dU>A|3#BH>kpw^7~O`&(fS5x@+P}- z;ac@VlV}7wld-Y>0d%Ab(d=G<4s=cQ4fOdfSRM~zCrm#c2G$jQe+X8>G3eKFF_K%! z#C|TuQSm+cVBZtL8_*7KLpz*=cj7d3p#Pu)zvRadnF8qh70~DFU=wVNU*Wwt2nU}` zPyG*>Z^kz6|JFZ+7am2o*FrRe%h5G_0ZpnM=nVeC_E_dr*d620flf!0>``<{9!C$F zXVC#|!|}KqD`TUdiIn^QW-i=D8_|aLMUSArW{;x-I*I;1_!ToT`{~edMJz|TCi-<8 zguXWveeVYJTQUZXSTgzurvCl^Wn8$=UqlD+Hu}Q5Xwn@*kJz7aC1yDjo?DC7zl|p8 zC+K_Mq3!*NzJKX2A?b>s6RnO8xb-jWe;>GwitBMYcEjUX73=>RegWNtuI)_ppn4n) z@iSNk*I_IC0?T8u-@?p0prP-M=1hOI;~TIyKJpv;-w+*-51d9vcpmNG%Co^D=*%jh zGi!uqeV14si9UZ98i@zd?YJ0?=vH*w?Li~<4Z0oAC*zIWzlV;?pdDQo?Ti&D4@F;? zjs7Nl9@pTzI2kAW5#IkDn^3;&&+s=Y?XW22acJ($LnE;Yn_=<|F3j2sXa|XNVWb7o zC8&bMa0oiE`>-0$N0Vt+^kDRO^c)uF{w3$b=ej(;Lb)z>$CJp3noKnMD;x-SVPkHr z$1!*o9oUcyp@9+T(u_wteh^)XMX`P*mZiKEjo6Pk2d}yq2K+qw)9etMBmZJE_kX#+ z!(SAPLD%d-G*oNQ?UnzA^Cb^D zfx?*E{a=9#f6+8VL);$C@MGRf+pW*Xm0toH&`4B3kL(-pKfDFIXhuf( zjfh6*12k7Yiyn{umBD}iV8_|B1dE_+Qz_aI?YJX)!1Tj5xEx)Alh_o~vxb4RKqJ%< zP3GQcBp09)T8VY=b@aK@NiGc0d8~n@vSp;UVPAAjZ%1eN0NT(T{2xAxo&!ZM$w-}m zjqoALBXBtWhJNjOUm7CtI@-==bcuFFlSjC4&3{GL`cL%1f6%1Nc3BumKJ;gL`B-j) z-X9d}$Dm)!nX&#^bdA@e1AiCYRbQaz%^ z3SEMXoM8>ip$%LYZH;DeH+1GRF&*ciyXP@9QY+91ZA8z5_t18}MwjYjPWHbQ7pZWK zvgHaP%!TgTf@qQzLvy1FuEXZ&O#ehXxQI^RlHB3>e9_`)1goO$H%24d7Wd%L-0XiV zD(A^a{h6#acA)$W+VC&vjQ&OkdPUxl8wJpY>!T59i+0cj{U-E7BQOb@;A1!(KSR%p z`uW27Fe%AJTPil7Lvme-4zws5feL8E>Y@W` zg)U{6Se_8?--|{tIhzY-HZR^-iXJ>Kqieby?cg1B0Q=B?PVgz^cR-K zE3Xa%s)@GO6pdtWG%`0L=R-1)U5pAG%!H^60pa;qQ=*$+QGkqcY8oJH4 zqe=EDI?$icj{im@k*83oFM_Ef9#jAOzYV#V&I7H`hWDZ!9YT}vINIPDw4p@d5W36J zwaP78UY;4gX4jw}k?YX4 z>y4g>H={4!kFMS0SUZg$BG{Mmm&L+B>lDvO{WG7YSe5!g=)fOABef7c%3nm6`kms* zjKnZ5KB2-jsa+!28Es%B8i_?{$IH-Nu?B5$U98`M4sbuFmIjUJkFoqKdM=ztbD~hm zutfEfT=+3)iN4q`-nbr(#29qD+>ds!4E?8CtI?3|K^y!smj6M27vwAzp06Bjhz__z zEDuEcO^)Hh2B)AiT#7Eq>gYB!GM{2;{2A>yU+J(!rP2G>q2G?4Xp-KAhWJ@Dht{DJ z+=xzO2a+Sn#3x*orQ(NZ&N5+p)kU+mA^JjFtc!inZ8irz!Iq(GyaIi0RV;5rlkgp^ zhKH~PW-l9l!gaya|NiG9E^2e*bMzp}SuTWr1RAm_=n~Au=J--9pT-iDvy~46C?BnX z&h$F0h|SU6G8Q}GLi9X1j@P>Xb5{sIG^(Nl>4X(kFRdIxTNWMJ7&IC0LuWJ>O}gdiOxB|V`~aKa zS7=8?tAw?#iSB|Cn2ID;q5KNk?l44v1cXR@EYJ`EcLUZ9xG!joGxp4dK!8&*XYhh;1Fpyqo zc?SC8M)Y7ghHk4<=+ga(E>&8sFo4U^h~-9?v;;Q72I%MeE^Lg+b6kw#qE79M)c-Em za=exDm32b>Wb`9+93Q}*b;EOCq2+eDRJ@Evpm3wmL3ezH@)m4@!y1PWuRwo7y@b2*6q*ySHwjDe zF`9fw(V3scOw8UiM7kncZj0IJKQWpM*K7hB!pT?~XP^zOLPNe44fT7mydTZ#!?*^I z$NB}$!uDGheH|Uh2WXOhk1pK>O#S!&S(=9=$%7uH#n9}nk8ZQRXvZVa25yVx8EA6N zK~Kh~@JBp^!*NH8u*PLuh5?L3+rKxu2$LqsIxZ^VPPF_Rnw?o%h59O3lkz|upT>5? z8k8?-6TY4e&`2#qkKA?9chRrs7q|hBq61jmHXLm0+p_yKkoB6Jo#KWcRhM|yj7p!Z=Ld<<>x%On?Vxj2o^ zxNfJg=B>~fc1Js$js<9V4i2IGV&^ch%ew>%p*d0>omnk(V2!W?wn96ehxPCXI)G&U zu3^SyqV>`2?1(nd8y&#l=uK#ZCZZ9Ti7w&O*bLX8@BJ3NfJQdGTlkYxe)PbrheU{f z|BnkF7=w=JUUZG-pxbgjmcb{mEbhco_%j-zyxqetXo;Q!J+L_5f(~#F`i*%J-PXIY zIsSr8-TyUvgyflk&iqw$Mw`(!+=C9_8+2xu^$b~@8||<>`d$mP!%k?n8IqBB8t=Y7BQX@O9U9)7f{#-E4cp<=Vc{f0n2Pf*cyL`LEW$%r+#^E=x1;+vV^sJWcEDdL&%%|M9G#Iki4|@N9p)dy zXPn5~jT5N<>E=*B^pR;SW zeckaPCoZD7khmk96IY^1cP-jc6Ldy>(6zk{J@b?3S958+zaG0&-iw#G|1&3q5tl^| zphoCE?TjVydMt`F(3w7mt8gotthY=IC*-(j5*@%pXe1X!pFtzJ3XSAW%uD}?FSxMd z)A7cC(W~wZGpK;R*bXb=_2`UeqXT^o{Zs9m=n45LI?#Wx8AoY>|FJ95`LpGu@TcWr z_k{Ce6DAEsX?B5U{9WkCXP`&$W0;8xu@7su0X--3ObO@2)#waM#BwDxXX>I8YL7-} z0J?P7qcgt+eQ(+n_P_gac6@L?dH^lPOYvEBK&zu0(WHAHhu|T+8SCE{j@%c}9C#Bw z;r7M)Q)q{Oqq&f6Y8YtYsm#c%tW1R+)<$R8811MfI)EP0p=dUbMQ1oI*3U=ZecPTb}P>e_Zy<^-WB1ntn-zN%1{8kiVjr%nnEJ zRaln#`k2}U=s9sGI-{vr31`Lf+tGK>kJU%$z<$F_{1=O2(MQ<-Ww>bkNLc$D(UB+7 zh8Lm(dKx_u*P;=6HQs*!Nw9&~_P(GK@wIXr+S8ULe@sii4{)^|Z0z6<^QF2s`fMyx*)>n|W5 zDgO809}5Rc4Ri*bunZ2s3OEf7X`&8Hpk8|EgRp$2nLjjsH!T#Tkj0DPO-NG?3$o@NFoB&a5JO z#5P9<)DB&mzG!X?Ll3f>(1=Wp_ZMM(%Fm!n@)agiN%v%Eun0P%66nY)qdz3-qaE}> zlX4KcRJWi<@1$5i1s&iV^!*nwwOi2Nm~X}Uzt9O}UCREq!7G-=tVcU4jvhc2(GD77 zRcsdTk3(lR8J)m9{1{(GlXCL1Fwhm~(!GkdyDir5K__r{Su%9+BNcXZ8qNN*=vVHN zr$Q1IN7t+qdJx@>MruW@UxPMy1RdB(G;)dMVPb{Q0c1wY<50>qlU#VPEI?1HC1}H& zG4;a%jnLufPtl9$bJ?E`=Er7~i=odCN7r~fx+IIxZ^K$NNq3-2ko=kpv-t-!nJz{z ze{^hb2RXRHWIP#g_?TeRI?=mc*-2lN0kpk!hh7nxM7 zLqoqG%j0o$qhbCX?=fnLQ&?S5d zQ~& z5i@ZycE`6d_5c4T=gM#ZmBwP+7>+$~1}?$FXhbHy9FEqf(FV7oN%z3d!rpbikY|`O`cD25FSR8 zvHsey?^{N@qDwUp&4F8^_nMXfXQR4QM;#*0KNH=l4aZdcB5ajU(xN8 zbA1SHalC_aPi%mDuqIyeYDVhcAHEKq(0+7+htbdYsaXC4J*cuJUkh1T2@T;$G_>Q; z0o{epbSApiFQWrG6zk8SAC-cyhvyrj&v!(V_ExNnPhkuE2-7j&8(~`~3vl6#i=Z9W zMQ7RuJ;VE>`};=p1e=1M2M?h~@1y9d?;l(@A5I=?f#o-aW3;&Au$8QRMpZ5g%89$09*R`8N($+w; zz8AW!pT;S;4eQZ=qWPBaxtxr3xiKGo@Iy37enw~bHyW9&TZ31l$yWhQwr1$k^g$yt z0e$}w^tq+z(!Pc+^+wBn|95d=2OmZcqTBK)I+Lv1;zuN!i7riPw4v(JhUj;{4cgHV zbV+YS2QU#ml4qj>UV^Fr{f}3;Fljc#8;8+`f5oo&H@bZ~Z4VvyK(l%X`fK(!G$-an zA4fY{f_C%*I^fOdgx*I7`t^49zau+Gh3421LR$*`304V3lZ9YqbYAj2U0G%JItsCnggxT0dzr=XCS&8 z#-M9@7rGm!pdsCa&SW=M!$VjRv%epfs4luhZPDZ$g%0q3?1jlUx!A}>&OPBD6zs+8 zDHq%u{_^;4^u@d%gr%v5ohY}!E@^yT(E%U(F#LmzU$HOc1|Nl=<@3=2?nP&O1kI%% zkO?Ofr?_yf{y=Ax3qI_N~2 zquZ_r+TLh1BDbNt=Pq<&voYz7C%LeL=g{x`dUQV@KqGM&4ee?4#S7>_F8eIZJRjOl zakRbyUWc{O0ggj=(Nr{dp2Svo>NEDgA*yj8grox+(woo&X&ky{^U;y7LmPY-eeVF; z@ELSqmmLi4T#ZJc4!U$5(OoeLjr8N_gjOD8|9kNU6@I;T#0Pf82acc(pFr3692%*t zpNDcDw48|!yb_uNwPJk-wB5c~1_z?MU^+UGN0MA*an zggzNvgU)nYEPswh;v~9M=g^L_9}e|bp~+bsZKnn@(PW|}7k1baO`c(BL${z0-i&1kk?M3XlCNbo9j3CiMQSP^Y^8y5Hbzn=?}>`%0#yk7>dL35)F zI-nY{zDX>%L)Wl(bWFTI1^sqBgf8VXXe8I85#ElOxCc}J|9?+$VMl+WYo7j9_{~-X zD^PBa&S+w+pNYKYGKz>5E_XSK^@gEm1L5`!L zqatX16|}w)I-?HgjE2Yh@n|UTLnHB6tbY;h_zfI^2jcyP--PzNp%cF08}`2;xs3|f z=q@z7??H261={f%bcuGMN9Zv$`_sP-GcJuTQ5|%^Ezt9$TP%-9-@gy-XBnD1&wQH< z7c1j~>;JE-a{!a8>Dq2*(y?u8f{Cq}*tTuk>Daby+qP}n_7nc=?z8*5=70B<%BtG6 zRaNJl?lDxLgHT&^&UhK}X4Z8B%JDYT3LZo60|xAyF(%ZJ1wil7KowjUYR3jZ z9ql9!9e+CeU=H{k=7x!$I0>pl719{Wu?5sc+6(Ffm%&gwI1j4ucP|VxszZ%RDu;yE87ZH*a@hM@hsHVUx5nz z2nN7UP|t~^FPy@2!OV;c!4|szJJZpY-h$f7M^J%&Lp?~szjQu*o){`nd8idNgIY;< zs2v#xJHQ!G7h~90&U_*`fpHF~xW}O4T!G&2|9?$KiT*%6I-|XIp4C~PR#FRUi(5e@ z>I}65ePJ3n9(u2KsI$HXmEaT98Hao0_~n3l#0Nsfs|LCLd3S3Djg4)gwx~PQRlMBB zCt)$hKVbcU={RpU>UuBexRcY^Z#%@3swOZV!Q76~d*LYN7rf!e7WPz#z2Rq&iY-2b|tH>1#&o`u@F zN5;=k_qY46vw}oW^8rxLgMv^yP}}sKq2djOiZ>T(CpJM{D+i$BoiY8>zuf=2??0nZ z;4uH3L~)J&P%F(1<=7D_@JO4V2j#a8mW2DEb|@^*Pua(ZDli+=^P&vYYeq}h3{KGZ zKNX|%4eAK;hj6M7Qf5EC#*b|C2qEGf@&M zQ3I&J1EKd~gSwCBK^?(HsGT_swPPotF2XBN7ui#&mtnuij$c|R`}|NxRTyeV8bR;h z|5!pt36DTMD9%7#9Cx4s|AQ(ZY7}RsDWL4Kz#OoU>3hJ8jE6#9^;@7W$}>=Q&!FNZ zjOs8Ts@wVbzk(>VvQkhhr~})=o=}ON8oxpX3>D2OC<)ZB?a2!D2Bk%GxA#Z6xU}gzcPl$?fnU+?I?7ghmYxY1;N5lhJ&FD&qD3MZKyMS2em`- zVmTLKeyEjgg^ynN9b+OHadLS);I+86=x6vM` zfCr&|^64@RU>rWK+cgO0hDyBKcp2&e^ct#AcRVM48mMa~Bh*Fg$wNoCRbi<6wuP}f zQ~^VwKO76S_1mBlU4VL|zJS`|FE)-I-#N0xFc12Sup(>;%fOvb1%yiAeSYxuA3D0~ zQ$uZ4NvO)JLtP6Upb8lSwL?>&uI|}TXMPCk8aWRY_&#h5UqL;{$|ZCbSPAO+&>d>W z=fLc`|CiB`<87#|eg^&EYnUFsgSvgSedw-?lDVP?0;S_G~#}jQ+y1m~gJQu#eKXfYY|3EtL>EysLQ);*OODoONI9vJv zYU@A1cx=fJxSnzJbZ+lwwGY7xjPs;-d%xf~66!A61M|Z#Ff+`O!MUp%!=a29L)~3z z1GxY9(&-Z5_P%^($>{cud&3Usb7$hoNMS2rc(^~a+xt13Q(1VGWZWPtTMi#*bGr^> z|028Fm4NY@9B$VVcp|6U^#pyp+-~pJ1uExpdw)tka$YCjti0U+RWW#sVu=#wbGG&_ ztjjoOez&U$oD6kaeur&fgaTakBiz8&Y9PRx~68rmhdLjZCALgb8WPQqZu!NS@im!p`7zTsSkA&-C+iJ8mh1# zPzke^cYFVUNDHVPI|_AMCa>T;i2R{$x9m{Qi9pjAhus)ghSlK-m>VXk=;jZTaR1e$ z(+1;8g?e!9hTh-*d4i4}B=3zesyP=&E+~C{sMqa5Falf%2g9{cJCUWja|GkyNXCbt z9?@lMXoY<22z3NUU{?4Fwt|Uja{ucAGn~$1xEt!eY*5R2AgzRr8HcRxTs+O8-ob2! zx{6Q1_Ap@`hohk$Oh2J6!YXy$-p>O}gvA-(hxuXZdd^$ECiS@gPoP+hA_?qT-$^tD zD#1h82xe>G_Wne~R2YwOjD~LSC#wRWu9?12uL&1n6ZiuvQQbz){7l%4@jJ+~(p9yw zbFI{B>~WseO;My|q8HSCJ`YBPo1mV6hhaE)+UBo9z3RP$y6D0*aUR{#p^hkEKkTI0vBOK8ERG_*ULAfB%P$KZ<%#SLraA6t01B;aQu1X5%QW9lbwPqC!wRQyE5s zHKE?fw1(P|UNAJA40TkqpgyOx6vom0e}Il|uNzPazr$ECY8xkDYN!Ocp?07kRN(4R zfjSyT+x#-9yJR0s2(Lofe}XD7Vq518Ph#l(`d^SKDnnglU11>X5B1>K2NmF)&A)(3 z{0ZtJiqy_IqG(W$>P&DXtPd6M1ytdmppG(pd*?{}p+{R@hK`=qouJO}7SvT7rGvA@ z383DZWq>hZUZ|_O0#pGtp%T@F+NtJHPrkNLD=ys8?fp7HRj7B-yP^njo z;V7tQ{w$~kFNfNRjUGDMiX%{lx1i4I6;#E3-JODBLS0PRp!5}?j-)YEppH;GFc?;W zGhj0K1~!C|dpOUP4lpU>^DqJQe4ta9PQ;$hldb~PN@_rD;Yg_ab`fj~PeK)#vzK$< zmxn5-Gt`QQKyCRvD7&pt&xx~8NA(tJM}I>W!2AE+&I%Gkttbnu4Fh2|ILqeGL7mw{ zsK62XIFIaed+QCUs*UVn%{rLX^ z9X(J!Kvf=Lp!19_2xZvX*w6G6pzixUP>Byfo$U#j0bYkH+&#!CD5^0L)a{)PriG;j zasTUOw+jm01v8+wdL2|jr=YItr%>0%PpF*=JJ=~87F57^PziIxfv~8}AA>scQ&2~G z1?nj7!u0UbV76{DoybF+fQz6mre#ou`=JUv0=3eYP%Hlk!^5vOb`5px-OwL>IH;q^ z3iX674s{o`h2`O7n}6h?qi6j$cnszo=A6|ZsDufIJ8vpez>18U+ITB0BtKXX<{shP zH9eqi=S#2%j5X5nuLWg43zmd;U_R(cHOf&mg2hm*f<@s6V~)|zd&1tZH2NbjGmJ9E zxeJ0|6ULLE&i)(JQKlH{Fb~vSPyy=b8bBRsTgVQ1Tm$Lob$lwk370_y7%_FhCK=C`hTvkI;CxJ&b)r-FahQzxh?AV7%LtXQ3e+{w66)wW!6bV9?@MO@ ziaAhQlxVV53YD-e)Xq$Sd*Lmp9hx!4IikBzZ!n%h@9hY6*SMxS*F+4c`M6L8B!PNR z`NJ-{|4Y)*?Xw4JCr-no@D6MS7fo{MrOGufhKCGORYs?fnVow6opb zpOiQZkD%{3$GNI=%ykOy1oNXG2ZP{gs0UocdCvVGIFI{Z_iGyzdL~bSLGUE355v!Q z&bk#W&UhURfM20rB~vVLKEkO6+b~`X^LI4PgAGPT{>_CdRvA9{3uzgQ=F; zg9p}R{0QcPo_x!lkHxycAQZcy0{?~;VCEH$;Q*-ne+N`yAy+zgM>(j1yFoozHbC7i z|3U3o;40^VGz{t}PQorQ^lG<$(AneaO{X)8uxs4j@7M1G%Q23;*6saf^t!M*<4v#* z47bh+&HIR3s!x}In_FbWldNK6={_h)f^z!%;MuK5B zIk#IZsIyB9wUTkLEW8T!vYLFe6Q~wUrFl3WZh?WY=oaTb9|H9vwFD-IhoSO3gWkXY z^@Wb^f@oWv2TvShN*Dos7N`eD0T=*_Lp^G{!WeKN)LXEvP`B4{s7LJ?DF2&K&y}Y( z{swh>`fcO>Pe&&{9X*kXL5-V1Jvb&ny-2KrO7INo)$a$C{cos*3AZ~dN(PlM6O=w5 z)bk+->iJOys*n~?c0IRq|En_ug`P+gpekDoby4kxQQ$Y5552>AQpSU__lMfbd{A*p zK_#pP^&Dvkb+`0^df;q?vfphyxx?dBbRC6WBwoOZ@Q)dk-{~Z*3$^k#P!FUIP-oc# z>e)UEYQ+noA6y1i$V#ZA-2&ym3u*`ULFGH|p`&O26R5zSp#uGa+G5u($1y3?d`c+$ z4A8s9HXmdx3bhj@q3o+dT|0H5UR9ex?L;3Ndxo09Y^ZlWOQ2S?7b?*as6>~cR&oRC zNbW%edIy#02h>I9+U-0SB0=p?4ydE733X(XVGvvfc_MmT&*`YLRC}BUL_Vk&ot{uz zH5Dq+GN}7~1Jsi(-CoDODb%BNA*>4T!(uS|KIg&H8`fpK7pn01`<)$02Se%gKN}q- z$OE-?MW7N_fILUM(w-&er^R3k!eP8dhR6vy{*M%58!l?gke6HpKk&H$OLJl5Gri`{ zYdgvB>ZAQbo}-9Ez|LgVuSocXt{Z%X^ELEA=6n#{Nm@U2#nIi>m4%d~pPRGWq$>~E zt%FC#Q*2i3k1;=#7Lr2ZQ)Dsp%J162WK)z?2)GdE>J;?Jf|RDH{OC(rk+PRmAyEZv z-1rS6(OtL-orhx9;j@yyepgUv{HkfC$W5rf8P@=t(#{TgTyF_-5NAm$3_dXa>kM7- zG0ts?Z<#KD@eKO!VMqe4r?~oXJP9XaAD3}TR=1uw7qB^k{tW%-to$df8@lG$Ny6** zuMWYX04*L9!KDmEeMY~Pq8_orL5y#aXgHNmMbGP&t0ciCqww`(&d`Ie3)T73cW`IgEp3 z8gr5-#(~VoHQ#uaT=R#mc)d%iY5Hp9a+@D7qONrM{aaN?vKQkbtni9WMkL^S3}z5~ z2rKDrEBK3DLTu_1$S0-Pi4N$BVRxTcZSbAV$|OthOOI_-3TS9P&9P03?P>TX4Ch}7 zr@jO}P63-yw!mq9u$3s#BAnx6^MqvW;5rgKf|9=UJ2C%~aXd>>3|$1`O17KbUwnPC zid>Q%`uUp&7_N23uB0UILy!>YPFOHaEh9)e3wRzM-M1f^k4&N-7Pvh@k22TXc5AcI zLc7K>?u`8g?D*azzJtQ<|EvrocS(?#epj}zE|b%&fIDp06!cL!lJ?l$wre34^D%5C z5wS^OaTKdRYbZ_v9h_6q!FrKLIziw_T(8Ml`V=*D= zMgTv?;cz-gLDMWCzu4Y24V!xe%|OE4Ytia5@#J_ttlq|@z)yo4k=zKnd?UEwjP3|X3!Fj#qc$&dBXT3?V<(NyPLQqo{Iy2 z7{k?%zE7GFtR;5GNqC7Ex!?ktWFxi_nO{LnpA2NYoY<|fy+%Gykj?aF;tLae_q1y$ z2`Vv`6vZ%r0E@H)_Px*?)cOixPBo5=Q#9D*@b^3ki55i|W<9vMo zq1Wy;%EDBg$sDivk}+P*DkNu^&p^eJCj>Y}uq^mpg%3!+3*9=i-HBaEw*ET0df1%C zCI;hz#LLSf&&ij*UkLK+J0JF1;CvX>!9a3|ge@7zvhhspIufuKw()VUL5og5fcgFC zFO&Qpx(xJN*a8%%xRPO)pZQ+Q@wU>{*>>xr?)R7k{tu<3H36Do+yg_O^r547$YTil ziut|x944qFEw++0HqJw=E%b+5yid&OJ15%Vlf{a9O6=w6lCwBZE|ifiSsbcL!Nh1* zev4H#AV_`^4n!Y~zJ8%tWUKrx`knapfvHLIg_Z%EUW`{0FOd~+fPQNV%EWjRzKtvw z=FaE;)Hy}MlmwS7BftmS@`oyj%F{8f&OBybX^0K~ykD|u#SScHqB?eCvG0p*X>^@2 zm}m}(;Q(|wDB>|iCu8MxiT6h5|BcDUv|%XjF=3OjNe^OF1BR!d=JX3w z&}Ez?uSw>%{sV0G;B${1h(y8Xv3n7$h*r$=0kmrZ`jx~=ihon=!(ijf?;6IchST!1 zs%IEU8sKmqXUTnn|F#{7O+UDNq?pAtKBwe5Mhu@kLwB6^8O275EkjbtdHnmqDg6Br z*Axr7m}HZf$bw;NT1Hkfi$bC>zsl>zuE4X*g(J{1=2GGFkA&kbu*{NEL@0bV*&+fM z=fLJDb8Rh`>UDbLjebAC9s=ryHm~zc|ab0k|QsEo~{J+$FKzj9Hrf`%6HJ8 zk0IZU?|O@F0NhKGA~@+1WldW&B0x3i?hd^%Z^^Ix%%tfYv7Un<8F>&3o*fp4!w1KUy zP>oaguK%ATn`bK@3gg)d+LA0S?G1@5&?JjV+>^qdvVy4uypQfzutGyyfwGNBoTAvY zr4W7cLDGx@_)dKN9z*B;TSvfAtYQU5tq3%m0#T6D$7} z86><%v^?x&FiqE*^eJ#4ELIVhMqLk{#z91nEZ`VB6jqT{p&CSj{=p z`RvycqYcT6+p(2mA_lt2v<~P;;Nz2M*enXq`B!Hmf=%qDn23z;1~Y6&^*&j~?nrVQ z)jx>OV2VzHPj^e)kizr~4=!aX{5pmAqFrP@7DesSljbr3_M2r7`mvZiL=mxU>&sF= zOoI2su^sw6a39W+l-O>d-;(}w5|*UhMJHK<{|8tepKcbb5WbShjF)O*DQ1-o)K_52_!8@IsnIgtb91SE@q=Sed2Zt1+^!*qyX$d8&AS$==n6g zYZktez4&J*hok`WQ5bizxpewXuO~6yY^w{&WNDJ^CfGC*e#EgcI!QyE(o*0+T2cDr zgRMS0{r@b+QGBvd{6OLiMz`ORtszbb`Wb8?Nxj#K_8%#V@&*Q#2-KYb^)Xz@xFP*G z81{ynD5^dEAOaVoXh}KrC9#`eNwQ-z#hG%g#7?pXhN6AME++FQ$T6S(40QhbOv5>p zUg2y?QgIuCjzAH@^h4RUE;vY1()y8Xu&u&_%@qQ5M(4p_lA7XDF}{dCG^~gJabo)9 z5jvlEx-;2};OTLyW? zk^EzR6-($rzlu}2>n;fRI5qVK)Z#kC*(ZpY>n$hLP>7ZCR@KYJVmN9*taI^IPB-*?~@yJ_=}FNDA=SW z#y{JWMcBn>?hwqzoaehuRAvuKV7QQW6vqIH3IQd5NFe!4f`haOcDnD-^=Ev97_ljc zuLOC&Lfh3Yxvb28r6pp17jY93b0;zTVt0__5A^$98!{M5km5ASd7O99zkz{dE&V2} z@*&PEXd`JgNH(2zhn4`l$@t91CNG6;LN^(|T(q>;P zZZS8MmXTaxU~%%zAl6+EM(r>-iPLGeISng`!{lcI_#_f@lhAiyb?0zS%fxlY>*-5+ z5Hut9-=G^`$sdCIq!70ED5Q-Y;~?TSU=iJE-lyOgI$xL^P76<8(v((DM(EZO;1U6{ z)6anZABiM4%vSw!6wu99t8ra?E})B!O-20TQcw*F4vTIy^8ro_dkV_~xsO33CTh^H zZWo#K32il_mL4co)SjU=`o+3rkyw-Caw50GnmR+D@B-{tDw5 z6j={{eYZ|cVkd!PloQ=r<~>yi=99bxx=8ZXIJc#klFX&FLK-nXL9nsd+(MTa=jOC0 ztRe*gpU`^KuS$Xcu*(V`*s+~Q&#xx%N;iBYw~2k4?|1MHUJ(2#y~}VLhWBugJX57e zR_IUbPvTGn-iTdff-6=DRwem`J`?kwuuDe236l*~0I~8Avl;!CN($RBKMY+_{k?~o zC?{%yCaGpgvoQ7}Q9`>A`{39PM@dy|=2?+*D8LV!V(3?*yGs!((RIWol&$&*zWM0~ zGT#EbHH@1mkJcZNBtF?nKPpL{qqt8X$tV~b?xUbomb56&bFqEHcsg?I+mrh5FR-qh2qTKZBV_25)DppmO_Q)z%fQcli?Ko@bDve!Tids$J6!d*E zh_O#1n0-dmO{VCk*k;n#Tw>u|!wixVd=|;_Fu4Ll27y{ zFKCG9pkVBtV|0e`4Ez=AW40=51T0HU*nw3cB82=xy4AzoFoCs zLR&$diTND=xVDfw`0$%FToohg8H7|~#h;lxk6|th|5sWPC_N6dNz#J()3osz^`_u! z1Zz&A59xoyW;Cq~@j6n-GI-jOWQ6d zLtk?nh135^9gG%WFqRcPw4IR6M{G+leuDlELHh;^yoqFODY7k;>oe`&~7sxMAAXTh`_iL zTVID55ACdT(ho=CVT|3xX>4bIi~dFr)%fHZRh=YBV_G}<=Wt4nk>nRl1asg#mO04} zd`Ds1g#_a$;I`Smh50RsV@Xjq&VX+(il2$^1mb&|FfkS78Cz*}t9l@TXQ0n#LF3?1 zo%WCwcCn~a@cBVC<8FLHJucJwN!+#`{Ji~6WB`j@;YGFSb-9C!>U~wI5ipM?&gVy+G)O+9* ztm3K#PR7J=3l^oS=UM&L+om z>>p6jRcw+dragaL3E7r~v=bOi#~}nsC48fx>m#kTjFD{gzmYJK6`7A<<;O{Ac(Q6dNXl+RL3e$@O+ecDKBpiy<2GCz(iC1d^8I6ymkgZ7lGpzV3ttY`R zvLl-MPO^!_>yFMpm@QKtR~dp|Ct)&n;24g%aoS^n6;Se-ae5dR4#g%aHf0!(qV=>w z>AKdCXg5t#g}9Q%!D5ZH1*C(WytADDO)BbdPSTAe!El_nP>|$@&BdeodbA&o+BGSd z&l8G>N}`nL+Ed(LTjgWMV}h-Ck@?Od$0hnj^p%i*w7Pa?nvZP`KPg}v345?RhtWN^ zm6j)HXzZKVxG>{D3jTvlY>P9VBDPad0d#4D?Z9bbrkd`oj!X(SEi*7!lDeN-yLtzTykHS7Z1+UfTKwr~Y zfJ01qAx{au0Ot?3jaP80fllH_Kb|GlI4r@2!ba%ckl+-I&mt~U#A}i~w4(A^Q9oGJ zf9P8i#}Upy4Z&m3;$pm*0QD^KL@YLAd=7rL0!9!Z1W7BgvT6ib$6N{vHqZQ=z+4j) zGK`pGunj~1Cb6Tyu`I4IKGlioug`%>mcuC+#=$_+m&BE5l4!P#{$~6=5DRNcZhKkn`so*0iV?LeNuwXK^B@$um6$hNNSRx zH~}R(mZkKkTXAg&vXlh;9$2sZVm=VvJ#1d1sm-b$F|JPx$#C?|Z6}ssJKu7w!2dQj zm9ULRffw}tzl?4D0*w4Efr2a}Km?3eV>pc#hxsGWCzmO%6ZV;iv53}>xfcZXeN6F^ z6_-W-n${4fv$U@0&JgnwI*I24oyQcg0OvkQ|A+Ab#-s4l@s6Re6ai&~6*5aVlb1BE8jSHdOt8TjN6o!wd$yg|V2 z7?-iF^w|_9a7%Rmdq$>xwOE&L9DGXK@$#KR^m1^u8+MYjt7X|$92 z{LdB)|1$7NPV3}GUz7ce2pbTfYp|luP-GC}RM=i;t`Xx_#F#<_vTQIlLDJAhvVfP&4JFu07@qN5 zc3=YhVMXjf-;$X5(eJ?L97PnaKqN9glH*CZjQVpZ+^b9GxhwnBF15thJxp!TZ(TkD=Izu`uZGrZ;blW3X$XhZ7_z>82coF z?rj`>a)D05V9BM=j!hzLVxj*-n@`cl(eI|<;4+ZHB^5cUnu)9xt^;o4Mb3;7y z!efl*5n&t4Dog2-3g}j#ixaGpjfqGq1c7-SCZ|llw_ZXgL_u{Bkhi%s7rH<*)DBxWss`?|Ipn0IvveSJ{yY^rzxDjJA#Bb1;?^ zrFFx3EyXNgZVbu&Eofcz&1gk!Z zlJ2xv%}FS!N$W|!BzZQ|FQ$*dLZV1TmB|U7z|L+7`d9Q5Ggk$}k`|z!1w`dKg8fwN z@@as4rI@PbUy1Q{=9bg8(iWkg4R6D=EVMK2D)yd2tRyC_9Fvjlwi;rq+E0SdB&^At zPm%>&aR=LlL{{9jV0M?Rkd*91E#{*#mxdr!@M-J|ru{EPC7I2*HoK4+z z4JLCI8COgLl`8%DL>;7=o?VfO-uZlaRE!39ovX3 z!hAd0LK19bJPVsX6g-&Zl7#q8VqAfFpCqG@eY7&zbkfJ*R~ZDC99H!` z*b?U|7R+apiUQ7|F9^fn+ZekZW|I!14HO()Do|K-7Sqj?^_fpfK`$wMo!;z+Bgixi zE-`TwV@XCvk>*v$hR5KO6#jqa}w`tKxSQDr1mN*Q3NiGuP!v2^AaJ0PbVcZM-RTM>R5p&HZ zF)?ykzd42aWQ0BklbaPtl4De!YTwYN)5Zl$@EV&YHqPvrdw&JZSnSpX+wKxpY#wZy zTB5c1Mxpg%?j|vgn~lQE)A~=@mPrwpfCX_pMH|eDJL0&MRn^CF68-;J*=HCPJIO>_ zX(hWTrF((j2(~&Taoy+-n9XGTN)UGyv0gAQIpHCA2wRz>A_)O@W7vX9w^(tH>F2@r z3yEtp|Apq0Hj2 zt5VDy`d_W;Fai#HENMlY7EKOuJBFtlVOub&MaYV__NkQ90uM=i)186c8E1rR zh!S9X*4ZLHV=gl>3RCtt$_bCY9GS}z=LB;-iP;HVpv9epT~7U|?iLGxjaR~2;4=gp zLZFDWTojlUhkDGFCO|3ze@9;xT^@Arh*2J9U@=1|a3=bA7WW+6QIP&-OYF;2#5?c3 zW%)3lWRgoLBarMd0Xo~t!v}LbM?V5KIZ4zf*p=1>+l}at!*3QV6>&n+B#qHsr;x2M z49tSvecC#G>(m}rB8lX!h^vE%#yIA)orr7!9V=d378DsA{z&=@*Vg@vLr=dWo%Au zuNOYVtf<=q5{4+^-aa~Mi0;p}Cl2FRtwm6Z~1+358rs-Z~Mmk VA*YAk&Y$Ti(`kF_+U|9&{vZ2<#A^Tm delta 69817 zcmXuscfgj@|G@G4d7jWzlt}Ao@3bcx($Ld-UHcpPZRD`Sq1q9!v1Q2{{vqLil^X zL}E#vMB<|z)+Q3Yv!^AxVjs+b>+ovahL_-1m>rKre?eYP{DoIw_8e)6Y*+|$V`;38 zwea#pBAFP>1$`&Rp$|?+8<>lBun4o_QoIRQVSfA_w_=W*X^A@cF&4nfa)ow^;kA@2 zU`=d_m*PaU{rfR1{U;X08w=3}7GqxAgqgSx%ivjTi3KkY5x4`dqMXFb@Ud9GFqYqn zzJm^UTP%NxM(jJw^q)8#EB-(qOwS!=TmT7CqBw5BsyG18;&pgyp0q?;d=M++7g!dv zUXhl#4Xa{1oQ*EsSJ59aALVnHbf(#_OiSd#BIpuSMC)szFW!PKK^M%xUg%o(LuWn$ z?RWwf#Kl+yH={Xl1S{dMXgfvohWE~eK@Zy#F!4ccDkYeIyFpaU3{4rm*?1fQZa`wo5o(gI;^bK{kiOQI32jSiqWy2L%vBuozC!Usp71DTG# z@HF0tE6|aiL?iSY+VOwrd%3R-OHmvvP_Bz5aR9n~XQ2a|i?;g|I*{c^JITc6cw;Xb z;&0FypTL^r#CbI7Di#VeuYxw%03BF!^nSZ|zY{vcerUw*Mh~`e@&4m@Gvy`N%KiTn z7dKE*r*O#P(df*d$8z{J-h)|-q$Qf;7_@`U=zu?reu9SdAe!~Z&`6y_x7#H}LxitI z?^nkB?*E2d6veJ+h{vEWK7eNN0`!Hq(QN+^jldbKh<~9=Q93gWpf37c6Z8Zej7D@C zUXSy!HSWcv`?W~1v_yHVhj-!twBbGI!SW9pvI@o15>@bC9E~r=a)A=zK)MAzipQgo zT8-w!KUf;emJ9=Li&-dlE6M(UgNq(i*kSHc;h?x44e?-{f+MjFp2vZBbLq51EqoPC zwqxjrQr0q|!%XyiXoW_mADVQd@e-VkCgY=Jk|ESDQQ_LH#xHOay0%Z24Fh=|O{Q1S zrFjc&cv~zV#8lEo&!Yp&QZ6KEIdt1rMcZwN4xm|*3)j3G8j=C=#$Yr86VL-`8rt!5 z=s;hK_t&Aj;JxTBbmsff(4WK>n7@1&KyS3;p=fR;Cv#Dgi^b@S4&hz+GdkkiDujXD z86AO!a1wUM`_W`Pf=1{B`rhxcoKZ0hFgMnt{%Tx}9k7A>|I$ifO`D?Ia3vavpU|0| zK|}T@n$7>A$$D+&5aOHBTo{Z_U=bR*HRyYr&;e~jbL3OB-BZ}l{r@``rK#w4U0R|M zCeiJ-1r7E7=+~G|`A4+jQ|R}Fv*`BCRV6fB3H|h|i5^Uy(D%Bb?{!Bb))#Zre`1Ii zH~}5`L+DH%LnE;a&5@O8lC4MAcqdN8BWQ!SR}EP{0DW!(I`apkPohWsQuILDfJr;r z%S9$0iw|U}=Fyl)T!Ws31JL`6(Iwc14)iD*p_AwU&!Le>uO7~g;%K=&I`ezcWF8yK z^QyD|t$30Olj)6kBUg!sUG#=n-xAH{9_UQ(iRDS?^K;OdK8p_I4KztV ziS=LAVE=nC{1z*+@`+=J3ZpMpMMK>b9Y_zXfORJu`=av z(GQ_3YKQvDXur24xiFNyF_p#W_F9AvU@1Dojc7x=(GLGXXM9zi@cCa7&7r2zF42L} z(daj%>6kjm@KMUix43YPo7WBJzznpbcd#O!!l_uGUP#7gF*QJR&6lE~UW3kPYb+nc zQk1{P(wMV;T4EYjN9)%iCuA~lgbTMzmg~b01|`rLc15?>Ff4|%(2ib3KeX1PYx+6* z++4)$V4 zJcKq-xltHE1FS^38F~;mAf}8Jrkh zjPC!B(19F7m*gy(bbn$$yz=HSqtWQ|GqD#wk1g;&Y>q9OhGcvc?eEDX7p~0n$My1<(Vg2D;C?qmk=_hIkO#@i4TXaj`rdGyMF2 zgbPD6A06qE=qmJF*no!o!&v?bZRix*@L%Xa(_4o6N@#sOG*@myBiS7NKF|g2=Qef! z58%Qq9TsnlN7s59I^%ihiT64>&|PQ)Uqw&gb(GJd9hPVnzHpR9bE*QGEA`QKyP!+e z7n3$Ljtd`r03GQ9bU-hnp?nn$=?nReuf4u)S4x{`tPQsoY z!!Gy|U7~N%4u3}nn7dQh-i6TilU3qH1GM2bSPgH*-Z&de;?HO*gX7R`xCn2+<>=C#z;c+@)ppr`6}T`7>tI=Ii{`{ww1KVI7k8mwQY&{0OEe2z znrE;&Za}|qoQ~y+w}$VEy|Fg+^ROmYoFTie;FZK*c*riwaK5;wx-o5B9n1=TENH6xk4LwJN z4XwvcxD)*%Qn+`p8kVQr3|*4p=vhAj-4#>N1|L9YIzN^dqdBn}&7JkJycIoXKIokc z2gETdOs2FxA=z@G9TY&5t0+34lJS0BbS6#FtZo!C-GxqQ82a3}cz*^u&_~eo zQiZ0INS+iBkZX{oPdwXhZCu4w2NqYbV@BeetFcAujW$vz+qxCpxDH=x|_f@|<#EI)i#*cA)ziu->}tk{Qco8Qm~hH#<@dCbqj}H$&b~hgpzP5jiovAN7GW^+4@;)y7yx)U2 zVfv`>Y1b6lpNUtn7w*S7SbcPOek*!1o{QzbaWUmeW5S2aK6J*%(WN^dy<}`i_IyYr zl8N$Mm_!ZGEbfRND7~YD&;w%_`lqHFv*n!Vf68GnPW?f2+_enSUz$@nm!JXneHwYU|VV-L(R zA#CqE(RNqi)$actUf>ZlWPe~~%sMfYYhw+{&C!!`61rqdutXYJ9n1er3ZMJe-50j) zT(rFx(DUUDbfP=(aomkbv%NpNpeRm4vvnal)5U0rUqRP!H9F9(SP>7Q1HEi=m~kz1 zDf^?zJQh7Mm!lnTM9-70=x@XJO=kbw(P=8|==b=*zi303PYEF|j()h*L>s7!E>R0K zSGu6j_e3W!Jl2mx@;WgEQ%N{Ad}ds7e{AP|X5g2@7F77a47B_>y2hWP13QZ4@Fdz{ zz6a70r?3!q#cb0;sQaKvHXNPtWb}NPj!yIubSW305&9s>MF}o0plelhdKg(1bcPMl z4qKy1))^gW@90o;ZSRXNi1o{{7WM1U0i8i7^e_5+_8H-%O=fc8XTVM9+204v>IrB^ zbI{N)L_@m>GjSREDfj`JJ15Yb$T~B;R}*cg3Hlk(6oD0wJ@1w;Y z3_ttbj)r~-8j07@1~#I}vlorb&*;F}q%XhgQ4Yjy+&;dj^Cee`^KsO(X^HPK+rseP8Eimg8a@~Pd|>kPp}*5fE^6~&%NN4h z-H)CJPhl~92MzfVGzWe{L;eqX9^_sWa^PBYNh-(k4QP(EM|a0aG&knN`-{<~NWRSl zU-1)Lu^|6j05pf>T@j)_4$^BKey|QZli23hl3>#+HnzdUspntvIY80rw2NL z;b;!shi<EZujo=s-sDAJ-VH`LG z5gN*-*bm!bYVFa1yo>Jh9q2^9MBh7(&hR8Up^In)a{ez^7*qSdG8c}h3EELRbU?SE z$vG(2kBv^n($vq!GPoK`;bAO^X>W(@E{#1Xx4_D{6dlOt@&0kl<)UR>7dp<5H}XJc zEcZfZdMBEsBheYmL=T>)VtH-6zXN^#FdB*P(TSW!&x4ED81t?V-;}ywHk0OlE)3(P$3qtAVa4)}X?z!%W3Ue~@G*0>rv;O1xqZo^C* zfo{_U=u)nTzMbU4kZg+&{D{pdCpL$*YJslZtyl-|MhEsXy2fv!Usm72Yw<8<;`!*+ zTS9%EXh(G5_n-qxJ{&I=qaAHPXSfFq`FCit{epIse`_e$Ky%@CY=TqJiENMePoguu z^1WbDH0dg0RqTkB{QRHBMGY!e#|KV?8;RWShkbhk8v47?8O}sQ{t~*MH=qOk5M9Dg z(QWr7`rJvp8Pm6gfiy>#xHD$D|HpEX+RxaI8*A}#ylguSr}4{aoJM)sju86FJ45K| zp~=-A&GNqJjPFDTGCJ1Zhdwtg`Zzk^rC8kk{{|Pu@Kbb6&ZAkK>x0l?UbNw&Xi`-~ z8@L&rY1?QI%tCnxy3dE95u1z-;2E^tSFr)UiAneEZ(KOy3utm>d>9_gjn-dV4s7zS`KH@+kCUa|b%ouh4_z9D2}{*&hbd60e}#9~q5~U)F4ZIG^RJ@^)FyPzzd;9_=j-q*+#8ZyxSxliAsK<5)nn0!Jcvf< zaZK%7w4+sM=y#&;??cc0&(NdwIA-9_cr*Tr`FODQkuacE-^5?}42>7VaS#uV!Z!Fd zuER>-h5`J5&g2}rudg{42HFJgrra4#&iBx5`X|=J^52D==#80_N1*4y0wm(e#5OL5 zP;mrppylz<@MN^1dFb|f4~@uC^o0BwQ`;|^?fbC53!zI=4c#Rz(d4@WU6OI=IWQ9o zxc{Hy!ce}ACdF2?gAdS9?!!zxgf7JeG?}vf5SAi0x-@0bhO49JMvG`q^!X9!`{QE$ z3{3s`-?LoUz*4m1)#!*fqBHzB)_;SwD4#?dEOsJxjLx(=`gz|L&85N7p=kRf(e@_C z@_bC1Y|nF{tI#Ccf)3yl^o3*Sm&WtxQe5?8$mVM3{XXcLjzqWV67)cO4;SGd=og!( zPKG61g`NxVoMiudv6Bir-j9y-7~X`ZW4ZcIp`!-qKs(@m?1wg7`&0;d8#IFb(CvH| zx?QK^J@^`$+=YJ*5xVPV_P;morNXs7iVoxinhSrT1N;viSoU8+2l>$@D2irzDfE7K z^!+=qERI3Hkh~D@??4B(A5GGqlU(@VrKiJ(&~-S6@=!Da|KhFK_)Pdk*&(Gjh+vi(f1Fa?HqeX$%)LbuaWERDNk{qJapMg9%~k%!Ph>Rz{PrC0^g{aCc)r_iNdc1e0N)zSM@m^?e9d(jRKqRDj}jnFUAvzSi#PxQSD=<^wu z2J@f;E{t|qBGy+!Bi8_pZ0Ae)^G|0!h64?6R&ak~5e3>U7|n4IB(N$88S(FPw!lj|k) z#Wm=M)OK`+N6{Sk0qx*48livD=ZfVDOIjbj-vQmmeK7Uk|4iY+4rieaEkLvX+0+Ax z#0zMMUqN$W4f?5e6wBj(SPjcxo}T&??SY1P9-8H^qXXZCw)+*j6yIR#zyCYw1r>jz z1IeB{?B9H7xp*vBMAx<+j>QJ(lDv(+|32E$r|3+-M+bTiP1byQ(os-jES7n4=E z7{!G%e>wUZI?}c1NY_W-LkIK`x=TJsKP`VoKOHZ*B4mFin!Gj9q;7)_sDE@sbm|rC ze{amA!Zm&Y-G*=AeYh1afrLkIj?EWeFTXeW9? zesU%I-cCgqi} z{4u&zhmx`46#BxSv7D73)-C5l8!m}9TqTwppaX6h%iZGr{@9KB5oq##gtl`6o$;UO zuDJB7P@l}?!WmRS*RVPIKtD8TCZXHuX>=g(pab~;oxwr${gddLr{@pP6-4isK_glh z%VArrjN|Y+_y003now~N8)D(B(^G%54F^vnbmn*C9DEKPSfzqt zZEIn9%1zJ{btszsqtHks(SGJ)S$qbQ)wy_|3q$fJnk*O5kmV{AUMz)X@NP%M{^)<%=G z2^y)M=zvC`1Dzgy4E-=$9Lp!r=l(z^n!O17-z>kjNC`u8K*2H(Q2A)GctrF#n zrl-F5zkw#*0jz+>(CwBxGeoWex*Kka-X0wlorCtfG#M-2M?W;aLX+hJmceU_g(Pc? z9?31x9BGZtv>!U7;pi@!7Vm$E4(KRW!++4wUspUV_4R0Ela1m2mBhkuir`wCsER+U4$w^e5UyC!#0(HI{=AJ~T^N8%`6hxxAyCtp+axiRQ- z>(LH(Vj27b9e7%m^h6&lhTgv)jo1QoLd((jH&#ier~V$_hg2B)OR9zjYNKn|70v#> z=vjUzx+Ig(6LT86D`w$pT!5vqd9~C}w~3+Xk{pemMkDtxI`PYs)kA|-(GKgPCt?%y zf!1gP!=nHH{2a=qsDB(?%Z=y^_oD;+5ly;Z(Ss^SjZl9zx@(G}Ig)I|g(uvw_`ni0 zL@UvK{VuwO2hom>qn{1`pbh7%89K_0)~kcil8HlHnC*X} zGtXBmWNTqGBF)fHcffS)iY4(jbh{;^)6j+=!c2SweSa1D{swd+n`8ZMEbab3$c1bF zA3Bh#wL?y{#(tD%VkVx##h9y3IO*O*KSqyWGt62yJ@ub%w8MWXFU246<$58f=GG5C z39Z6HX?#{(&j8&26>msSJb)eX6Fi8n&GH*r0v`MVdr_31GG<%a!u8!`iftakz#p7HIz`fWIYu%ilSb}5Fqq%U?^u%l& zg&i=xS$g6R?2M@ohwn|TQ#MfG@q zZ^fH-3O|y~!`{?y!!B65b9(9zyC!vJ|Iec0dn#Jty9+NjS79j{%?^2%TB$0pT2&fgZW9qM_f9 z#qcjIg9QhM3EYHjC{M&?xC`^S|3}^tKD{19NBkVxz$?fJmDq)TZvPnTvknU7@>qcS z7U*X{KYSJMMw9W{J3|glK_m774#hvwPs>4r*-h^MNnCi;?nP(zBX-9UL&Ep}B$}iv z@g}TuS4f_T*q`zSbZs;54h{E4b7>Ubfh*91Ebl$(slOjE25+Xk6O(57w<=C zAvVTs_&>}#Ec|S^8Jkc(j7>4~-msnSz;={3;nkRXczWs|7%PMBs!^DUThZ-z3~OP% z5$ylgT--Y%Y?pU23+1avhNUQkei)TOLtPjBJnx9Pu|HAnNCDI+>N*6XK2<}8xuYy z>qOf|2cnUg6w8lAUrok~_o9cQzv5NAkacWmun3xjHPLO@3H>fO27PWpbUB&}oAFvq zj0^7-#0nJap%ER3E_HG&7mn-&G-Pk14S$L@@GH8la*hw5V%5-O?SQ^F1igQMEWZ-n zf)4BpG%}~rr8|f2vP&nVl9hk|g$o}jjhACZw1fKS06L)^4aK}T18v|LGzVTr*L-cf zzZIRx=V&{>p}CV|Vi-^<^fRMArvCiDO}sG(b8_Q8G}I5F4=zU|@(!9Khp-|ZL31bP zr0`|(Dl{ibpfj(4KHmr(P*Ze5ebIAZ5~lwB&!4&Qg>&eGIqnO;iY$(Y1UTP0r=$z&^lCJb+#CPjq1IW`ykTg+^#BT7Q4^ zQ8ZVQi@0zt-$EPQ9X*U5kw2nIb2gSUW`kOe_}~xhv833!(4T$D}uI;li19Lf5E28i9%E5-dS;V+)$id(h{;L1*|EIY z;bt_%$I*^|M%(>0mM@^s|A%ET%e)YQiu2h2j<7xzhWa)%ImV#-e+5>-P53`NjeeLc zeKd5q1+Sz00oK94uqIZUAIgK!@*-@52e3AlUJ$4VKPD7J5=TjjUGSM#_)zIBD9RI)tm?MqfdOsb0Hhl7#@TD{7v*8O&2Q1xCg1pGNO5LwCgvT#4tf1HSZJXzx6FUi^z@eU|5g zc`=Lozc?43`DM@~tcvJo1IuINlhfiKVV32|@RLgCz?@O$VxmKp9{z0Sbu_EPpSOGVo?VL=;2a3KHezqHl z4Y~0)I)lH^{a*6*U~ja6XVDIK#_|O;l4VwfFBrYhnLdS8aRb)EpV9Y9z7Y<(WLGW> z*+a2n15TiP8b{-hH`7!9CG@vAk@9V;!&j;U*p_n9HQ_7UQ1l$wg8eb=t?&nt1F;k3 zchPS?`PQZ_n-{|niBFP7xSTr`Alp~?Auynhb;5Xtv;*k(o1B`S;N&i&XD zH=?1=x-PU+6Ei6f#6CC!9mtPZ$o*epeb|=`@mg+l!<;w*-DZ=~UGNyXot{DW`Ag_` zyjNrSZFB-#(6#*@-EIXpgo#u@cTqj`y&J7}|KGxe58jH-@J_VjkysiZLH8eu2(SFu$V*mT%`&1aJ573Tx zqXRmCHuxR-+?nV(G!lQK?_K$B=qNurpd#q=rO^B3(HyFb4!j0Bum;I^(F_e`+xS2) zw1dI%{#0}cX2tUJ=)jhu9j!(?cpIJBCbWZ((6#>*o!D3Cx$pzJ3zFG3hXdj!G}NQe z&`poNf__+hgdQYE(X;=`Enxs9(T=L%bgYA(1MgxJ{10!&CR@XA#b#k^%D-Yu_kV-; z!f&Y_LPK*FZSY@oMwh-HMxGO0lKhw-OW^!8wi6Dg{PDIhphnw6a8W^?`~Oic49zk$``<(lmM!Rmg?5A)S42a8Bf2!VpdIu@I~at`a74Vn0S{5$j~-C3 z?F<9^0qrmG0o&RApPdUsb{)EwL(veALoZfHg?A zY0%kXWt1NyV!Q#c(D-~jCTRfx#@ z=m2&{KSc+27#+xQOnv`9$AxQ|qc@}oYkI}U+`As-l z2Vy(Q&!hYL49>^G--b`QH=;jbQ|e0{3+>!>EE)FeRw^oU<4-h1Wxfk*S{3(Gu8kfb zIgST!M9+tN@o^l7tuW8`;ahSKtWWt6R>%B51aCo?@IExMtCCz8ik)~Zo<`R!`-u>$ zE272G51;CoX40VpX!K)9rWWXubV8H1ADXlyV|ixuDfGGJ=u#!uabbr?(5(JGmj6LN zEHX}p`a)M2|F^klL&Y(4WYvBO z4K%_^lv|@8pA*m|TZ1ETJK9mbQ^BTahaJ!kd*E0cfDZI)bl@k@$oz>p-2XX$4li7T z4Y`qtUt=Hi!>Qpf>8XDs>UnHVx$Noi{Jm(Fk3%Ck6o|GAe7XFdi!c&4K>co9e9a;%I+e+`jpgKnpVXhUyC-@$asJJA8{LccHU!%RGd zwwvp>@I&oYn9QJ}0T;e_6Z&FP^yqDkhOBpV7#hmS=u*r=2k(L|kV_bp9 z(dXu!4fW5WNxJ$h``;Jer@{sgpbh+pCgVkPrg?u4BQA^H?|^-9Aa=l=SOp873*U%Z zp}8>xJ+Q{05q<#6;CyU~8_u!+%X5)_KFqul8loELOs~gs*c7|sFf>9t2BZ6N0vf7CXartGL%9{*j$g$3-_VY;{uw$d z9Ib*CsJ{t)ekl4KaVEZwOK}o*{VTkm{EUl+RGh@JSmE#R<*^f*JR{La%)!R^Bwm7t z(GI>r2l_X<1bHsRuUKdV`k^P@Xf&6WMc)o46FXzYK`hP#C(zID9RH-J{sq$l*pc!s z^hhmwF`Nh8(QnNQ@Gkrm9ay7(!~4z92z5p~9*pML_*g$1%ewy;abd_l#Cdog9r4Wn z!gsaxXpS5~Baof1nEtM~HM(Sj(MZijlXE%xp|%N)=(p&^a-?OXK1C~|<#yP{&;Joz zxaM0i6L+IW?Jwv7a~7S!Kj;i{re~xgR0IuiMKsGBpaW=yo+G`nE>1*~Z!MbKAEQh5 zIi~*qe@<~>!~dblctu9Ac(gjYotmH>w!?q0A3D(9SwhDH(A_aEIvLHK8R+}-V*Nra zNqKRWjPT$8eL#g-{xw#_bLiR?za-48HrjC$bmU#pf!>X7qx;YZK8*g#_DM7%=g_H>+1y;vPvuC8XVLdc59npsG zMB5pT<8V594kU79q)x!1_z=ZpGcNjbu^;`ktCKTC;0d&$=h3BD7JUa@^L^-AA3&e` z8r`-(paVIFer?Z@E0oKj_Zy(~t&va5WMW9XF&$mw1?b3^qT6Z%deD4^sUsHc;3E25 z-pj)_EQ5x)HIBpqxB?GhIh>w5Y|B+>JD+0e-~T(tg=_XZ8uGL}A=Ek1a(?uFF*GMC zqXTP*74SB6KTk(z_6oZFcAx_~hHdZyx(jZ(B1EnWW_ADf@B#;-9Sn`-Dd@-ZEOZIx zpaXg-`WiZrb!de4qcb~&hWY|J@N8FRq<&7wkJfiW>-%ETwHz96j6^$}igq+TIxqTc zbSc`vo9I4%7d;8TLzggn-td0mXjwFgtD`wH1k-VNUiQD+XA~8NY8o1%h3I+k3ObO@ z=(gJx%U`0q;RiHwzoOgrZ*+#~`9f~w!8a+FL??OxZU0Mj0w?mZ|9#;c6`FBX2;miI z2bpMS%i}J*DVB5R&q)1fRu)@P{{Y(XC+LK}LI?gcnj3$jOH=Ub5P|Y&`&E-%6yu^k z8i5|z5JzEuT#FtU1+NL`Ll100c_H43KVWHWUm&dUSj?on7LC{e^i%N!np?l115I2T zB9P3WQW;m+rq8&bo!|(+( zB3Bd(&nL0G_tB2uLkIR@EFZ?C`~6!kT+{C{wVlw8|BmHLi-!hsqtE3>J1!RM%b`hD z1)Xs%w4H`n8Czf(9E%RKoB#%U2L?iPSmd20Kj?baH>$39Ueqk)>{;$PFd2Vz^Lp&W# zqWS0y7or1OjDFs)#@ia{R{hv9pVj*EFB(@|7Y1@2R-il(UE4>aZ=xOTL)$-$F5$Q6 z(*1#{-~U}!C4AiGM?+T$-A31==Rg;9?fRlK8jB{~Ms%h-&|Eo!c6cWGS2Vq9SlS%X zYoev9vj1E1LNzK(qWjPh&O8E}QJwwoT3=N?gti%`LW$Q=|0vq<)_8v(x)i@+Su9v1Jl6z`&`7L?v#=Y! zgHAAi&5YE43DFmA@9J9NoG6pz!nLV{$FK%EgKKJsft5jX;Z`&fQ_$`AD%QpiuqLL} z2?ME(mhV8{TZo=3+t6LL8(q2s=u#!W<-!5{gof-lbWO9=4cT4@CsOW?4e%h|iPzN2 zNd3D&Q*kKeU(ouV^}~nIPMk@(*7f1JchPc%8^ZU1HMq(B-~7h#J^iu<;U|^V*qa9{ zHOxr;HhT^>r2IQ}#hQ&WQvWg8!)OHl!68_qaYo`Ld;uF`lbb?_r=j1V9>NcBH<}Yq zG;t}|e{XPM@@+w9{wZeSDKyl%ZVu)0Xi~OBBi0oSVNWcLccAUeK|{U>4fQLryas)L zBfgG1t*8IQ*rs9oO^!Z+4&*g7OShwIcNjg%j-xqp7Cmayn}y^ph@PPJ(2kp-?{|ph zJJ9!rqbK7OO#aBldM^6o;^twEv$Y5VXn}UnCpsR@k@;8&m&EdZG&zsQ`aHK}r2f3` zMjXkk5UI(n*#926^Qq9K=*Q;y!=`u7oHplv%NiG@@qEFESB!ByGrdLD<)(@NG zD73*%*aG*UGcM2}M5GK>rCbB;a3EeyyTh?Jo=FpYMi7ULyh51t&ihWAQg>i_@e zIxb9_W@uJ-MMKsD&4FR)0H>l!xCD#gYv}WPaT0!x_h6^nG7^38J?w;~y2mdr*oN{t z9E4eKXaD=cy<9wnNAU?9-y?jOT-h@uPh<2O&P$kyo6wGrph(lOd$ZzQLL3n$AN{v}e$y+Kz6w-8c*nqep0~ei^C1D>4nA zp?nmN;KcqJi5Kzq0U3$D_#gUS-+>wYo|t6ETd;rfj_?b}*U>MVi9z8gz8QN{T#o<4 z9CwDbeGi|dTy1bhVgc^Khq3>V@ceIR2OaMU+xI(cNV(G88L7W^cMq1y3LD?b3#eZaxPrk4(OTR8_niq>H)qyVn@m=(E+86 z4+GAIHe3|lrd6;cHpZfO2RhRkxDpqk$=h~9I3YVJ{U>^J;Q;PJlW%_$8M3eANd(1HGg=0NTlp~I`u8D^p#l|~0pGkO!cWbM%j4v6)m z(E&e@j5i)eKQ^C3*JwE!fsJU#AD|64?6Hn%*2Z5^R3Z=c0u185bGzS z5quDdR5CG-3)l2{bWLAI8(a~~|3gE#5p8%cHo-5@&=+|qbW{@Wp@g&q!{t}U^n`+ou#4R8NW%IFeYk9OP`Jz_gz z1ssJ&a1mC;|Dn0_Bf4$>n#=w-v{~kbZI}mLt8!?_Zp2!6C;A(Y7tl4`gyzI{bU=rq zC$J>t^H>%OJ{orc+TpF}g!-dPbI+sfe=DAiH(o|RtyZA}+mD%e1U=Ie^TT($Omyv= zqvuC&w4HJ2fbK_6#Cd3h9*g&%K_|8ZoyguK7rt;1tK;|B8n0atKJ5mf9k0UF3+TWO zq8)#Sc5o35ZN_6^ZS$g$EQG#S6&+w*^!c06ev>V@aE-d6A-Wq4?O60+nT^%(DRc=w z!ghEP?Xdpi;rW)>h;lDPjl+p_LcA*Tjm>hJ$P&xPCPEv$_n z;SHGO>F~v(F*c+;5$oYQ=>0!qxz;n`+wHyRK%PJ&_b$4fKSGz{FdE@AvHk)UbpL06 zHvIm-G#a{z=s;$oGuVt3@jL8|S1im({j=J`u~Hh5crGLL4-YhcKD>V#{cN~^PAu08 z;e;)T4yXdUH1#lPax~$>Y;J|-LjU-{cyz`OpiA;DrjialvM-`D%CabQoEu%Df@lXd z(Hv=jCR&-s3xKf zKaZ~Yax_94qaQ`TM4vkq{R10QPNu&cUbq=uK~7o$tC8O`P$Xfk~n z{Rxf4-)Mv`UmDK*yl6yj#%_2oI?)f2?Ve10$AwFfu`GnXJlb$=bcRjQ0o{oXXfkHv ze6+(gSRQwx13inrm;06Qo6u@#WCo%2}R&xwUt!TrCDi`Munnw8I#2NGey6pAvaeFg%qI?HFgB#I^bXyfp*890cx;JpqG$WRXpS^|GjuorJ5yed&M437@KbRew8MKb6BnSl^A`5R zjc76!ToXV4ORow0zZ$w$H=;SvF4_wn=slPR??(@=1^5|0i*BdkZ-r!@jJ7iuZRbTS zhHs!V-;X|j@-6ni4gN`m+c4YOFyf-I2VQA4l`PV4rn80#oe*|Il4=JK#%0h*M$(aKttOJ z9Z+|4rbE!Rei$9l`dEJu{Y?2AeLh)aeR!cVnzik)GETuJxC+zp9J;UnL}z>vZJ@x0 zFw=7A5q>?oznh~6SYPzLyU^sm7oFHF7w z--|I+*wI9^qX*GsdLEt83Ur{G(SaR|o<>7_>5lLftN@m#+yEQmK=d1bIFP9hXB7keX-~H$x-S9vx^O^a#EumS05&xDL(!Pw+JUgyz)Y z55p4ui!NP>U11wmOmdOhcDRTeQ*g8od=x_TG!CZxJUWoCIR?&wVWq7i)#oyc;miplj{ROI3mx<&;)4r^2%JveSb2RI13;8VB}&tNNDxhMRx z`EPuJ^6h)Wd%vSgbLA)Dm(HcIT^gUR=zzEFOZ`DcGO>?~Td63tKYTAAjgD|7I^%cH zWZHqwcsIIRK1XMC8t=pl=mZ9Q8vcZ2G#ZJ`==S^=9njC{(k4FhefIyAT-b0CG>gli zSzZlImU>tayT7W0kD*QBB z9-Ub?G}QN^ORy82!T0FMFF6o)#ntE7ss1G;^>qca;C>+eH5n1N>Z0(2Yy4~@h|bZPdW?;S=5auS{SIkf$Z zFWCRy$oWP1g~Qe82s@$Ms6V#B`>-kQMkAE(P>4t+G^DN21E~|bWTVl6&qv!^ioW+h zwB5bvz)l`w{~OxBs4xQ891d$&87or01wDYqpfj2seG>f|zBt}r7VF!Ju|7GE3(w^Lp&ud#&^7%BU7Dg_hXIsF%Qd16&^5dTooPpO=6zy$ z7@Dm2MdzXueKD5TArnsWAB%;xI*88nRJf5ik8ZP!BcY*u=uAta9o9kz)C7%OTeQR5 z(RS{M<+1VpEHqc1!0YjOywv^wB^PGxvFLep39=mxzcS5*HvA$QnKfvV9Y8z!J^C-2 zBU!%*1ImZqFBZ!c&?T%BZS8&ce_t;A@VE<|;R9$W7oZ`22{Z9kw87nIM+eX~KZcd@ zB38hP--ZcwL+gj2+xls=zeVT)RqR;Y|2J?^k%~6xZkT{o@o97*AEEpEa4a81m*6xS zxr?zr&v&7|C_14^=!9;L^_|g3_Cq5v>O1zo4b7s$j-SMV_`mo-k>jC*>gbG{V(MT* zm#90I!d_@DOhY@Ki!RYJ^aS08X8$oXr!M26R^P&%X$kyKJ8L_$J9B)so$?{BdK?9){G6p8q{jh*R1cH@NS7o}#u0bI z-Gt7LK)uK$`O|%ZW`_ltSA$we2-FrwLv8&is2!LDWw#LK)ctsff$qm&pc1@;I_vaL zT*q2a&-x}%0eeDSlwqbHU>pLqLt~(h=1ZGjfc2RteCmEpxhd46ehv)i_SwZimEC{} z{1htD3#gU6hbkb|Gq<38P&-n>=GCBfqyf~~c7$VKH>k6}2^Hrd)DFLe+PSpPx&Ku_ z{^#yR(-bym9tmY|0M>*Tpw2q|U+$AEJ5-^0p|-Xl)Pt%tRN=LtuJXoEI~xLZjf{p` z=t8KwZu4K<|Jw4S2vp&9r~r?k3U~>%(qu2(izhRbV_`TM)`7A+1+_yrq3-J!M$b#P zz~oQ`Wq`WNNxXS*bkjYB2>aDW-uRWhqgf_xCDLhA(VZ}S1$8Ft*j!{**1X* zVFc6yW1tF~3Kf4I)ZGwRZHlj<5*>tkklceZd~W)9f4f_p0xD28n-{Qod7Ia=c}u7` zooyZpwSYlz0GtHL7x27bptH;N+6`O;>gq2KwW1)Xt2r8KWuHN9DI?KwGpL>XEqzR)Keox!<_ocIyh;B3}!e!Z%O_ zHhk-THLNqN&3r4=Mf()$Ww-P@cPA@B9a#fd6?TDXb^p&}pcSr%I+IgS7vVLV-+|5p z2Re`7_ii8`)a_N?SO;n$Eus8FO&$StWFw7}pyJGi0Xb}7pm#P0q0am^)XJVgZDGQH z-2fS&ZX+MmT~Gy9hizdUI15&W7vM6Oil>3%ZG~FEURV*Hh1!|K@x1Qe|4S9m>s$kw zp(-s1OTscxTh$9{MN6OxUJF&oKBz6d0=09GjPIceOda3rET9mSz7o{)pfS`A_~Y~Y zPg0CRpn%h%0hDa-7V{(j^;enBl#NCN^coo zKrJj;60h^Cnc1P91H&M*s6Ci8lh>i(a?AU}d4$-SN#uocurcMGbp>?yp?9~kNZ z%QF8Fo`#81x&hC_-grCE+UwlbDWR^Rl2AKU6{@g$(E0tJW(<4?IzuHG z0gJ$`usi%2>Z-4t#_M?uTR~lXHPgECwouQHzEFXuLg!+Gx{cRE9l;)`o%tSW$1XtU z^Z%O+bdf!Q1z^e#T*q=y4h^9moz0!OOx=yiUlD*#nc!c6Y%k`7j4UK%!reWCO_U>kS{>ORkq z+3TqVn?u=6hqAi@mGCaqk-mo7p?q1~i?CsUfmU_^YUSskR&*aKz#CW}Ce7;J=PjWM zo(7Y`g-{pUDyVB>Bh-=Xhq{Z7LB%@_^&3z(U~%RdvU@#aVW2JpB|d7r0rkXs2~}z8 z9BzU#P+MLZ>ME`Wbz3!ux@{wkW1tF{2@ApbP)B(XD$iA@yWu(HffVrkYl0j(-7_l; zD`QX@wt`VmFSkda3P_X7eSlsbZQSMhpoBOhAL>wJHpTXnDV z>+)G@xCvLocIY3&RZ3XX-P+$_SLU^Ac|E~!3Dj*FzqZ%;C6$aY2l2bUp! zBRB{_*}7im>;0?YK;~)cdEM^|z}C$3)_1Ss7^p;xU>Eoru7T|va8Z%qEtEV_Bd_zf zp?bkd%@dAq(=yv-P>b+dyChl4FhIN={YU)XE*#xqFnCq3)U_Exeu=usY--4S347bkDputchY3>;rE@-FD4exz|P%{Dk>N zSQ=Jr?LJV#ppIe;ECw$@6_%ilo3J|U#yk>g$9{miEsM9+gNWDvvJ7;))r5LbG;tJs zuLs63?*==-^H8q^McR4wpG!Q!Z~#0EYr)d(y`B&l33c0EhI(zt*ug#G7Eu0kp&r3! zG$+634TD;++=uQ;V&FyQC!t=&mUVQWc-x?!Tt}gvWaptCB>xz5c5>x)pyXjtFWb{# za<~a@g1g{2=k1eKFGBg%?B?~X zgi%npXQuA%gDD91V!j*dYR}ojeZ$fZ>S7+-gZn?6!36|j-Jb4k^d;2Am^{eqd_ABs zY`}aTtOjquhA>+%uje=nhPhy|U^h`Ss00gO5PSef!R8_Ei_t0Ag87}0fV<`8{O;C$ z41-Z@gG!V>)YZ3!e&%bS9@Qy&yVp!wn4Wodm=BhQy5Bp%G_Wt!lW+voYsWa#PlGv_ zFAp%##kU{&;7O>ndSHA7lQ2)v$GvJ(7(ajskY|Q1xZkrw9ZA11_sA|nB`n|9>-_zX znow8$H&CyV`;CDsHh2oNph(uwHOObIZtP%;FitiuH+~EA;(s3M;(P`3z?}WvmDYy3 zrh34pa0ukc0-nPRDI8 zPzkrf4DdKi3vWQhe*$Iy5-M)0fyB}MUq}O37s{YJ)cgIxFgu(E<*)%N;1QS`Ub6Y$ zHcvLlJ@aC)Ci)6c&yT@S{u52V3@YCS7|=!Z9RppBCtwM94}J_YM!Er)K^3+E%I*-< zk=%m$VS*_4kzE+-2xmiG#K)lSg7Z*s(QZTCEzh7X>cr99|0*C&w3{eB)K=w$dIIKy zTJb+H6sCxA-%dwCZSh2?t9%jEtKAx?qliD))#rw~9VuBCqun9Y=@^|vY~DPm!TfjFQE!ZFw8xIOi=UE zP_GsB0}QG#*Z@nzJ5XDeX}If92LObOd%~lz2P`y zbsTB|mu!9?c4qzxmW6FNV(BMB9oYh?xJO_y+ODMZM6J3^vk~f07?V~4h|10rO z1UlQ%uo#>HRrwyMf{q(6LS4vDAZlh3TmrEp$Zxcbx|*dI+`z`vp}c< z&P?L$74RGaC42(Mz_(`b(Pa0`$3mUyRH&o)6lx_4;T(7rDq!c2-D{^il-&@R4~~Rd z=yE8#^-!-Rn*%1;1?8{@>ecEX)Y1F_^@x2BbsOcI;=Xff3Z-8NYr-w?D0~ccR9}7K zCOi*oF~161!R%A*Gb&h{d0-2J8VsI5-8Lnsx%cxFSeN-3SPQ0|?mD!AjhN4cRpE7; zXPM!?%k2g0Azx>F1RFCiGt=w*^2$h9iup0fT@dj6%^(;-lUeTBZ-F|?tH!5LcR}LW z?%8F6I@5emJ5U+wiP;?f1iM4|SDNEKS6aXp%zHvz)LY>Lco`Om$NhJBuKUU1AD_CF z2R?Ievm;PvcNZ#Q@_Ftx;Db85!cbR#IXD`&gWA%IP#0OI`EJ5|us-uA!QrXmpMK~=Z{s*p`kXMY4L;RUE2xd&zU5GI5#VSM-& z>c0OMYA3TUaqof>@DlS1@H|Yp)a(4h^Dj%e|2H8RvCQi^0t+p7uj)roD=NIgeZ)3^ zwV02CW#AF0`~MZx?V5L``$%pEYcU@KyTe0JXPtYM`w2`aEY5s0)XV+V0E6ZXQm%Ht zK+pv$@G;m0K8F#oLURoHIG?HKSR+~QVT9O}W+2kLhD0ycoJU>#Uvt9uka&#_&f8FBy3Vjw~C9qv^bfH~uF6+>ME z&%Sb*`fK;yaWSZu-!4$M+f1k}UJg^j{ZO~*8K|SX1htR`JKaxCr$N1{{tV0M{!hEh zea1I{Gnn^>HQ`&B3s(EaeUa)4^DrL)m1qf6ft#T2f)h{=p0mblFgf%4PzAk!#o>Ec z3>N#=UjI8W(3`~pP`6hAD$sbS0JET0y4dDhpl;7^VG;NvRH5%|o@2NB+-L-=BJTwi ze+ks9-!>@w9lN>zmGA-rt>`DHg!iE2&!L_Re?vV$66|pc$pvLs%2*BR`OpZeur9C) zjDo4*7Sr#8dY^I5=C}56|10rx1PT~$ubVI>)Pp25)a_Ch>VXpmWglf61GO_Vpk5=E z!B+4q(JCQJ{t^1M**0}4VNWyt^oJ^R~0t+*4654%IHJP7J+`$GkYgi1IVD&Zuk z6)l1ayb&tScBn1h1?6|e^w*&5Z$sGyo}0nn#lI&Wo=&F z^lhP@`CXwF6a$rLBvhhLpcXO{>PS9=#0hxTFi_>&pf0*ykOzb3JE$#s1a+2a4!CFB z6xL$i9ae`+p$fYWtHI|`cSWg#?oKs_D!4lw2Kzug*nWl8bpK~Rl+o6~T^#FPZ z>%cOH-7g%*Kvn)D)QnIzPi(zG*bb@}_# zo~}9|+6tm3AVO98L*{wWO~+{z(W|4&&Nd}hra0{@#@`e4J37C&4r8A@DA@Ck_ zYGsJ=6a6iAjY+hWadnc#CuR#`6k_}Zy(PUh{)6=Mh#^d3ESUaSknc5O&j-gfa%R(zS>iXwhM-j?3Rbd_|0(Y(YM;w*;spVH-N z?W7fw0Yk1krxm1trUdAP?jx9-fU)gwir35Wd33$4Q0da!xGjaK6+xfG{61%_*9)~n z0jd~<;sG2%us$TvcPP}tFpO=VQOqTir=++eB-qI6=fPj_?|@%ZZ1N*hYj1RCe07XL z17t-g=nMD)HpD(~3&;C$Dqqg{V~m$swcp1^fM3Nas3P0mf`Zjb+D>Vlit%`2d}g*& zNfv4G2axNf9qZSwZ@_biO17bRfVq#qdrbcM)e(tx!%;0G@~<#T4cnXSIl=Uj8lS>0Ap4f_cE)P2U3hYsZ8EqK|IH-r zN1oXBi!F8?dguPXK+sxLq;{NfViZ>x_ok=EIVV9TFy2E?K#@nWjX-{optmg91!QY2 za8Km<*tJ`>a|M{^Mc)cGHk&K3U=laKXAOp>tpIX(st|mx%_riN8{-gU>)}7_5TB_z z?J47gtiC=rYK1L$0_K^~#kM&NcB1KV!TBUWCK(Np3qrNY5c+4oJiH6-2Qd zdI|7u&KFnG1v1#CHZt;MP3M+I+^_(NCoxp+Ce% zZKCbZ7RtFErezbt+q6NBvQ6YLy0@R26*8#Ut>KTFzffteSGkl&O>`>wn zXe0h%^rZOxVe*2Oumh~YLiSoQ{Nn)62<91>r*jH*E=s;yLxM}T165FVAazQD4=3Oy zdLs1cSY228HTs7Hs!YF6kj>aFr~iQ8NQ+^mds;h5c;!Hz#TFWmg}mTE;}Nr{UV>hb zV1*fOvPyHBvHtDY3Zk`PC2x>@i(O&nA7EFVpzSC|?FM$y$m$TBAEEW6z`mXBhV-lL z3Ob2>ef)kv_6;&yKP$EZY7ju}FLTagh3ti=2|ORC5%e$;s(p&=I=bqxnaT8CsW1f$ zu$YnP8#CsuwbSO{KLP!cWaRJ1Hsoibc8VYs7*~cZs5C3ZtU&)GTRp?J_BZ7H2$+d^ z3Hr|j-iLi9f<8odnj+34|BgNg*&>o=B!=2h=9h@|EmU*6oL5yrdG1t_YT*_=VAHk$dL>`VlG0ZG-C z5dRqSiWK!dzL~Lg&cDBHkBk~nOaTJ+v_RdE-DVdW!Dny~fzzXlBv1nEK80B=L1*ZE zmj~OeCS&MnXt936|9AYWGp|aX)_PM`lxn`lXa|a4QIwE}wL}CTOVw48Z>QpcB&<)b zf=_&kZb!h1=sTlNg6$XVUTmAddK(`2aC*~PpH1=w3VJ$u>^xPyMUwQOoBH$$q zhM0kj>LQPA{C}nYS}EJH?5t8blf#xI+e(qKtqR3eCe~8=35-5Omk}Gab?BU?{l80+ zRVa6o;4t&41e;E^BU}^bBR_-f8EwJ8h;>HuhC)8V{u1aFiF}jX%{7YEz zk1X~hat=yN{sTD7W98)tG~FEZQZ*LYP7Ager_!wK0s4Au;Sp71ts{y4x7EeI4)UJ# z?}+gU^LC6!(N8e`m>69sAVhx@ISZ591kQ*c9f`ldNG-Q*A?V<1x9sc(*B}J*J&cpaO!)73pR4k+${E2xu3u;8+YQL*9{(!jk>HO}8C!o(y+hUxI zVEGvHAEZ3NcBX|%{sV?d2r`ib>6m|L1r@_*F*+~&jf8#8CzY`v@^{Fm$&S@_C5GA* z#%;0bL7ojf?dGZbgF;W$($SY3C@5AM2yJlM{spk8)yeKDu> zy>x+=NZR3j#!59O&w8`!$-3JUF*p4!8PZ{!*Nmf6_dc<0H>{(gtmo)5el*NA`~XoH*I=9U5n0BalTQyMw+C5oS}+6z0F`&iD{i;|nOBF33w#+-qcA zDX%Gttxrx1P*#%W85yBpt@ z%qr;}Ks5wv^KpKKVK`1{=$&o#UTpdxk8R&Es9-*l&7)wo+!S*Tc^I}ctdJk9fUXpi zl71h%dMvUan<*l&l*o?!!xU(S6eq&kbT#PuOP;;-l6HV# zK~$50U~>=_WA$oLjMHIQ$SVJyM6IzYfj$Yc!RXcA+wPRYmT*oh&EO5TtKoOp?t`DQ zL(eSMDy%*xp8l4J$48a35R_)DR)fG->0NEbSDmfmvt|NRBEVkcnek}~%aUZb>*nc2 zz$@4!AdbG1!hek8SAqCK7(KQPv4?DXf?TB>9;@jd9Ft zJM$F#_h!Eu_O}Ev_)cd01-&Lkw<1O*3jK~4v(Pms?$0dX7b}AGyHUDeyx9VN#27nI zKAf{MXb9WE^8~m@u-Mj;Vm`xmBEkQ+4YGnhH2Y7@pdPkUD4-WHXVYWzd%9Q<7V4Rd z;#UIakb$*U6wnmqzcQd*gE?76D2bY3`w=@5N>^J;AA-K86)~3iuN0q_#A>Nk1p0o= z1Ct3nhAL}X0WwI>{4l`=5?}*7&3rB6e@L{7@d7vuzciLWK5C=UsbxXe23>a+(9@Cd z6h)?%A9f+RT4vq9#WvnwraahiXJ zJeNMD$;1k-TXhd`7|gf<1?*zH7o(-pk?aZliNsGBf1@N66pw&=kx#HB3OtNnnq;rA z9SnAm3GmHAVNMGWWIDoO7D&R==I{ypnR!2Y1Qi!#o{-h| zu;BW$;3@G-M4^1I-1);s731uLVtr*RZ-%~r<#>vGo0PObQ45wP&T5k(>r9|=^i38( z#xF=1+qPpr0J{V91_Zu`u0KiGOiwE~f)yTPJQQ74bBd4cC-l+mfZFbOod13Ve=)gf ziRM}%eQb+z5wR5x)6l12Tmt*V*o4vRAUjSnwVUkDARBkUJ~2HQ+j!WV$95g#WtQVC zMg30So{00`OXW9EJSO->48LX7w+Pl7jwkSGbgOYzD~mik_T@P?{ZK%IZztC5} z?jvO5NxG8+^Pt+N*jKgjTI|x>*wu18__ae80q-H4%MJtvFxXF!pKxx%>ORCV7^86{ zOMpRU5-+qO6zHB6*ar4R_kteVe!{Oft5W-rnBNjJwtbJhAALSC|Fyz;=u28lV=drF zlxhzwNHpWU6cyV>Q@Pr|^r9r*Mq!6Zw8n~R%RDnSnJn=_vzO23BwZS(SjoC1;QZAd z(O=NBk?ebd)FEhW+rvC7^4th2!H)^_lq0*$cpCw;!%E1C;j_b>V(=+~O=1eUX^Yy% zqALGS0nYP(Isw$?!e6ZN6&OEe+?YUpo?v} z308;zKeM`|1l*XXqE;_}=v2GM`KkwZXRXJJ>o6c}bGiz}9QqEjj;s+WALG53pNm@yqD> zKicu)>t+Ze=?4h@7I{0KfK@0;KcbTs=OYB1VUE9$B$UL5u^WS|JVC#tXT|p{vX(FLt&$@w8WPaXOk>>}|Q zPT{d_Ek3{N>pwB7nj|T$h~F?QMn6K*%>RBF~JBKgi@Mh5voq4c7`ge3DYkAq4HwCB(iPi;E&( zYIL=TA2`4y4MCO@WE@qmXZ$mY%#77i6Cg9r9pTp`{=D7*h!RSeD$q&&ut30Rh-9V|!%bhohFLxH*Ib4Zj3 zo4BouO`21bnx3u`*_l+>{bR``zsI-%vU&PF@8TF&rZ2?Ur?V&dY36w_8i(;NlHDiB z5U6&X#2F~+BX%GNoAr!qGgeDyY)*_G#CQYw^HrX6ur^d1N}kx(OBJd;w(9DTXaq$} z#^H0uWn8uMF_eJg&AyH8iWG|(C#7%2?-;8(N}_I7Y+c3|8OO8ad*E{Oor(Ov{eO(} z>Nr8`QNSM*aEE}6(IsR2G0yEtScCCL6ca$#pMp+6wS2aSk?2<7uhx$w>zJp-rWfsH|s+s0frFXyD-1&O3jaXzQ5BWN@DC9<{7 z3K$cpI)M|QYYwwh+!NTx{GT#@L2rosD{|bm_y>p+7>*)6hRIM~qL_)c3sV`Z9fV^@ zb`84^NHl@@60U=D79<~je=z>S<^k-o5LoRbe*e%@Vc%E&jNi})p=%3Q>HS{|l<7(O zE5YwF-htr+0=%Jz5d10?_d%D2#GC2!u^C`nt|Z6MWy9x&6(Cs_WFzQDi19Bz86~t< z7Q2s#c@&@T^!=ZrRFZ>4ega=-oSboNtB0&8{Re_vv;>2(@e%woMs2VSBhY*FtE{L9 zbbFC~N|NmqFoJPDe0^{$3k}65J27UVbMC)wIBcTFws-_nYb^uXB3XK6#NJNABGJ$#8t;q~ZyN zQ)iUx38FTLYRfY&gv}0u%pk#A`U!0QvJ0>%0lQ=KCxx~})|7b=w%M>*LA+1s`xvX$ zwYbS#2KX~SymP^z4b_xDI10m!Bi)QC;BKO-)oIp1PnREZka3;!kC~_yiXB-Ghc$wGAp1G zu@CF(e=QKaB+zk;qgbIAg<2EFUlG_D^I;)@SJAUm=u2$YP)rPgMynnrE`B3_ z4SN2^wm}%FeThREf_1@Y5>CY!PeWcjPO{oI-j6OXHj4s0z zSxmU?#AoFA#fd@wf=o_h_%+VWSZ!AeBIh7Wl*xkS#I`qq!U*&+1<#>xV;;BdM7P5d z6(#v`lE1(v1>>Ud7`o#W?X)?S?xmPh>z;nJlE0Wp5f~>l=Q(E70A8Yi_#9OV)5XKC z0ltp`ZkD3aX8KJ3Sq~YVXiT*`jVS?oPb%^uP;}TxE6FnAEl;cX0Ta zU^}S%M`VxC&qub4M4Q>El8jHngCzLhmKu3k?5~<)Jn`p{c&aTb2!2oOV0z&cTn9hm za4t^e^81TKYQGTZG{+K6qHN4_BL9@}bBdZtpjNiJ*62pjOOmKP@y22kP0YR6wIs$q z=56eFKf_LK1OCtTK41`r^>Ip1k04-nl&2gMwhX7QknblzTDENuPTj4zS+-j;O^L1v zyY(BfvZF7HPda33KIFBSzs7zV{<-Nfu?yC9pljd+f-^AKf)~M|rv*@u?{QMgYWims z^pA}@W4i;}YA^>$ra-m9w&D}$wqg4hF$$PY`c-y41Ri2=8s$M8CZl*okcISaRIb** z3Yo^-i%n`A=UG9MnSV^5!#1xaNq=-zEwFq$k?>pmDx*J0kHT-f6|n)o&H7ouUL^D3 zoSE&PL9(+rreH^kV_b`s4#wdQ#to5YvtnLYlCAjtiS8-E!|`8$d>P|z`0mE`A+h7O zY3Pn&UkYJ)=lWs)|0RjqO!__oeoeyr6mSybrWn`7uo;{|u;&DRiCu*G)I#?cD-6T- ziWN6cJAqwZ;w(mf+iVkJn;e@y#3_U9J1s)zAKSjN01I#~N6n3iG_kKO;$NwlEvPH`z{wBfo@iew(Y9gluak4QRLN{ViEx{7+ze6D~%67drdD zhQVbNee9wt%&MZThz=y!h<-ownT+33eO3xqYwiSKyOGbb0%oBrLyJ4_Z)^&?wJe`IM$_80T(IOieZZF&xRRsuZJ%4}=zVN(#>PB4T% zoML8Mq1Tkz+Na1S#VH8!oErD^{Wwn_!e*q;v<+K=X+ztvhqE0SNbag{EhJrOR~VO z?@eYq8@{rFf=$vxAH+<~nxcIH=a>tGc!UPh~c8Jqf-?5sBruC|5FWge2?y`L3V}tLhNeOGg{&%#Cpkm1HBC6xa~(|=d}I}1fI?0GKJJ4 z=?Uid>~xdEvNk?Xf=F9+FgE2WVu-CcHgIKREh#9r?PX8`zdqQXK{pWpXXJQE%udLj z=C@VWvA|0$;5dQ|!k_`pKP7U0a-C3za2tj+wl!fMqqW0d;b7BsgKMpfA!eMLJ^cea zwNRqAWBeID59#~Ob|EFIRYvb~M!fW+>r4*}LfDXfnvYRxn2Z25NpzHX29}W-hx^ED zlIVY1E&`mw{~~s2Ntgk<;&HByAFS}c=2#V718mfelBaY+PO1k+DG4x(04oXD6y;8W z7UE>jFjq@xfi%uVe~W!bWQ8nQ7@TCg&==oOicQJ9ATeWGZ{iKX=L7}(#drydD*Dbz zR#uu5C$%1yP~#Ph!;mM&cpm+b1)E9WTIkQ>7u)7CZh?If6ZEsf5+FZ~{doK(8gHwg zVZM0-INfG7g{iDAG3JvgMr^9kd^=v$&Y33oD|ifw#~DvEDcY`WXk zw!?PfA8hU*TY*g|K53Z$$b!x??`JlFF$laic?(lwG#+EMWh4tmHWi0@$fh#xXgcYu z*fmj&s z8s{)p@By-QFdqe6pr~QYJE8v&-$ckuWA`sTH~PuMsR_GLj9L<6{Y2ce@By}J?eQ;( z&1=15RC#1whu)CDl39RY|Br=)fm4<_lbUE*ZI`yLsD%c{4A_fV_J^zw~?i{ zG{>-3Tf@3;V)G1JwP2z(L)Hx02(z7n?l($lVLnMHr@q;zwGw;BsmPz0FS(VpJ*lR3 z6RZb8)iSy8^g+G`ryd0Qj`DMo_z7#QX@N&!AC9~xvK91?NEFK4X*)9{i?=XM!O&=b zq%US*NKkZGc<*Aq4}%8#`$zQl1qX%uLc{v^_l1S~282aL%}X^kUgm&i(S7_rEP6#m z^z+3;;p9ld{X_Z>D<07+Iw&mMAL6Umv2I--F@s7ZOX{{x5iw5C;64!%QGQ=^gfF;{ zKe(T-Z%kCQ6QOn6mQnv3Ke|s)v@a;q@01W09_Z}`9^j7-QgB~Hqyk0yi@UK@nm;@` z3w_@3Pf&Poe@F>W?cRQM z-_EbI#;fK{?<}sK@{_!oyA?YheR~k5#hMpD=#Mpg?G-KR7zdSG!p= z*B~O)SGz?gHj-0_(B_6|6QZJn!h`)KeC=3JXiRu;bQn4`A^w4p_y`6 zG&-y|8*CR=@eX#a4e|G8{e^UjzB*yi>~FZTIP0q)Im92v!{+~PdhVT@+Ix3|{U5^j Bg!TXc diff --git a/application/locale/de_DE/LC_MESSAGES/messages.po b/application/locale/de_DE/LC_MESSAGES/messages.po index e2b4fabc5..ab0c47ba0 100644 --- a/application/locale/de_DE/LC_MESSAGES/messages.po +++ b/application/locale/de_DE/LC_MESSAGES/messages.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" -"POT-Creation-Date: 2025-12-14 17:13+0000\n" +"POT-Creation-Date: 2025-12-19 07:34+0000\n" "PO-Revision-Date: 2025-12-13 14:06+0000\n" "Last-Translator: Jörg Dorgeist \n" "Language-Team: German \n" "Language-Team: Greek C6S^?3#k;L z^p#XrTSfW3-}gDc-#@Q&uKT*q_?*u<*Zn-6Z@<0A^SpT|Px9-$S(YUDzo#!vB#L6q z?ukT|%M*zXFL*VPxa3$O(GzoEP8^H{@fOUAvyn#=^P)>J5A~IJ1#Z9`xC3+J9;|_1 z<7J6NGLiSYa6@tQ!E$KB_3;vHiY>4$UWxPZ9ef7s;)vskL}7dq?PxP*!yRaQAEE6W zj@OT4KI*41ll~Kl?-PkKPy*XyTXcp?Fgvb|z82jY-HFb8cdQ?X^`mHqCy_uVe#h;Y zaUzkp5qDx|tnfo3QQ7{dQs{#(U>D5#V+eJR=n%}$^)cwkXJIZ}hBiAdgz+5 z44>~uXM6;!<0*8>il0g(N@H!j2Kz;mr-*+^E&tLF_0>2PuR25gy|DC5Xz0?jA*7k;jLV}TuZ|9& zRlMFg)_bBI48oi^1|7&9m>cgyC-eyV{1$X6cVJ#Tn519`Phk%H7ca%^KZhIgq5~+6 zjj(L_;_Lo!O0O z5{*Y^Fe%ojqcgo59r#0N1XjfB&*OE}H(>|-4;x|oU&BQ1!*cHb_bH6wgI}=?4*o4P z_yRhRSEF0d$h?DB;BIu_-=HBqi}^6i@8R=8Xe7#GacqW0Y%u!V7%b`jzl(wmK80rK ztLRL>!isnd^J1Pq!T?HQL+X{WBaX&V_y&4^$v^oFyPy$BVpZH3{S&KDFLRCq%>Cb! zf@}34UW;#{12~3R@D#p`zo4Oh`maP{2Cl_USmp0TVmRJ~wedK*=0*Pr2U#<;{oZ&b z&PFHn7$yr)SWm&^*olVtBQ*41pdB7T*Y*S&y5Gaw}G}mUIC;qOUOj2-WJ)(m#o%+pasBT5yZWFOMK8QB(61punq4&Ru-v2f_ zk@wK0+8g}_9mrX9>HbC|p1drPmRf=<&^0WECP_uS6I-ASZbNhB12m-Hpxf;X=EwB3 zv{b_dF_U_E^z-(yJ`k^>J{=v%qsYXQiB%NLftRp2ZpF%YB-SrWPfN|LBAN>|V!Z>p zblqZoJvz{hXlUO?C$um6O}u^@&6SIIx%)p)Mz~NMeV{5jqsC|sbc^+YXapw2`doBh zKY>Q<6TAmc;20c}B~Ap3Qok%~TA~P+L)*CybI^aHF9rAQjc8Urh7RBxY`Zlzke{-ZIQ%R9=Y3QIB zx`rju8CFEsvH?2sj%dfd(Z~$Pf;b7w;{&n28QmqH#`;%i*8hq=mo;Z-=gOSPaG_+p zP!sK_8G2(!+=~Oy?Na%&kkvKN?bbTl3GJ|ZtoKK=e;C^FWVF3`=mZ`^C-!_Y7Pg=v z+>LIJL)Za#*@(8n2!$RO?03;(d6BW9%R|_gn?XvWvCa9HbZyGD7540NJNu~ z2Pt^MEy1C<9-TqHE7B4Ju{5^D+1Lj6qRCSzZ|JBP8sclwhU>-aZP6v_8tsKH?LhSY z(Rh{n|1Ju4_(;6rMRdlmM|a2T$I$!EqM=O77m_b8I92-w9pPA?O6h#`;|B zP5oiK*Zu!%ykTno(9jZeq-&y^(9rHcL%%nA09}G_(T-1|1N#fz6*&roT~Px4mfZo3 z+*mX+6ESJhOrv1Kv(bhY#QLM?OXeAL=Fg!6*&N-8ZqrZDkbV>EzoPA=T^ZWF9NnG; z(d*6Q_0Cta{|!+uF4)m5c>S-=wDccdPc#p zeQTgOQWt$0wJFH{x51%Ya1C!o2Xqg*-xs3|K7x+?nfUq3XsF*t2lxs4{8#ui{(`Bb zE)?2dk9NETz5gRDj{B1oZ1@kf!}P-8hV1AJuRudv1zTft?16K!Eq)uXSGX!I^)-7u z-p=)HSPE+w3Ga-)X!{e;{-#8e_fRkb51}J_0u9acXm0F?*FQ!Z_yV2zA$09ep))y; zei12BG(@Zz`gu7Vi*<1tK9440nX6MvmP}NlV24f6k@Z2h&j_@EsnNNZS_-Vr^=EJp zeu>VsZn2Qn{m}^xi;hK~yE8f`USEXy-2abLu;UGA61|Pid|$kNF#0{(&~JDb{)cun zt$29;KJ>Yz=)fOG?_Y~XZWFrgwqhCFftR@dPf_r_{s)%B%QHiRbKwo!)DNIb(x60I>Q^fr(AVtrSl^0OssDm?@S1DF>%I>r>vQ2j3ia?Ktbtieh8yc) zE$ZXY>(8R0KZLdM@>1dR>(CQ(Dwf8DXuGeY6Z#b$VA0YcVwKROu2(wl{|;O*WPQ-> zHww*(NmvXQq1)$WG&ienZ7aHP{WkbUi(d@2{HdG6pQOj8Gj;`%6GzUh<`grslxC7nJi_x6efacuR zBn7v_hiH;~f(~SVyx}Kw2ItV^Oe+^2%!i)wnP`J`(Ises-rqYqG=6>yI-$wv1ZJSm zCm)PAJcmB`N~~{1L-;=0@L_bszeX>j1G=nyNZw-TIZy{3P*1eIA?O5eMnirZ`rLFR zBFV%e3a;@>=#6{P2lt~7e1nGcH2RMC1D(m=@$>Ww;qyG`01II`ERAln&Ug(@!c1I_ zMtBS6a{qrq!H|57X8CD!<|QhIfz?9y`3>j*2cc^^9IwUc=r^TjF%yrW&u1Y+ome4s zz;)0ZX^JLuYs};R?@7U#jzrgFV!UAi8v4i4kiHu0Z(}R!`{VVZmBWn6pzSn7J8T#2 z7VU>d=*H-6nDl`ph1NJ9Q^|*p^d~fHe?cRVyGodO5v)MH7CMu`(Q)WNXGHHuBe4v9 z{zc5h*W>jARoMTo%_%Op-*ZKB0!)yAM=nfpf^&+*>68-QF9E@KkDcnqIv9)113j^2M5&4IJ%HvT8pvouai%%Gkdy}l4>FPV6h zf=T!snj{<1hTcIN+K)bP6f5CR_zo6ol9uR?hp-jaYZ{hpI=YLNMc1QCwhJrcfmqMp z%pY{ve}yP`P;^8ia69sXOFS3rA2$zQG%ljqKBz@#a4fn#XQ1c8GF*x)(ARm*mLaz~ zqPcSmI*|!zQs0FY-T(6`II_*?41YwoO~LEJQCR_fH#9;UXpRn~1A1RSG-6}X6LMDk zd=9!~%g`lz2EBg`I-qTs`u@L*!USf#7adv4*5M@VhITXu8{sna^Zl{@9lB)Kv51i9OqfrCyIlY-?NgzuW6wE;z%Fu_o?A*DPDRFo1&SOv<1Q*F)!`23Ev_=yTaRgmwy`{gg$QpgsCUWMGnlFOR91`pOjj729yVQpXV5 ziD(3-qYcbQf2p(*jmTT*OXh68L-w9xgbBRiRRoPsCV z4m9Kix`jxTMF%nz&4rtz)6h^ZKxg(cy5D!AYkCB2=Qs3=Mz$M5J*$|Ep*@3N0X!*rq&*9a12((8F(|hWdoWM#e0NgEQt=dGTKocwB2U$^H%6C>WZE4 z0Zh_=;%f>o;((svN2N=9g^*3f>$&~~-ihUUhp*eK(U2d;=2){&cqdH4R@C?5y;!Jk z_zmew^kDiIC*k6Lp}oucGl0%qxR1h2JcuS?zX4&}EW-oT_uxbL?7%etu{6m0ZLb~{LR=Z$*Uiwi z?SL-9pjf{ZUHe&Rwy#Dz*cLzk0uB97$XF7;V^iuqho>c0F7x|H`X6U_y1F9Bws)~+!E`1&~xLPc>NT* zD=wlDOkP1M`#=SBZ5pEu4MHCrhtB9OEQO2F2j9S7()pf%9}&`>x2C23^?c#Dkc>yL zJ@?hQEevoLI`Dbuu6YDAegChZP?84TLSG918y_O_1G=5EOb9uV3mthObRgw16FZ|h zF&15dhtM2)8a?UOp^=t^|yilhCML!YmSSGfPLi#PN{Lo^s2;jQudMaVTb= z5+X1f-G&p3%uevBsb5p*EGO=17r!9^}OkQ{f!FC6IgGSO=2 z+pz(b#-V5u-iIdNI;@QQ(2f&R!}Z)~yVcS5nqp&Y7wh*WDVQ`5p(A}3ozW)r!R_dX z_o59PM?-%$*3U)L?hM;1Cz`~$u>=-H2i_QMe>ghuNobNLAERJWtwTG010B#i=yv)7 zuf^}N0_K_)PP}^PK(0qa*$18ZaI}Nlqs!5ydK+#3b2KN8ASY)sag2g%e*v9g#$DlM zkqfO?Lr2~K9dU~P+w1L;q4z{EB?L=qvE&AQ>PxK2&f$3qXDxm{yfxa8MVGsE>7(N5^VM`6+t z-Ah5AK-YdFI>QgqCHMwSq94(Yu9y|-RnWEWi7oL?bRyg1=f}~R=DIt06`D(Buo`x{ zoBdyj!gMaw#C7q8W9aouXNPT77Y+RgbcVCgkUx$l-9~hvJJDUUH-3HuucQ74I* zy*lW2YlJ3sE42Mi@$)|MdU6m2kIa#1gHtiJBxuL$(2h5u$@U&@!+mJv7R?KvuSYxD z8tXgJ_CAXqK>Im@F5S;q+WmjY{oz-xmC+FO#)^0+nk>(wx$y~_oLT3GjtiqRt&QeD zLv#t+V^6$3e*OZQv@f9@??DIhJr;8R|4qS>=3Nj%RuG+eCZ=O~ERL11H+DoL@+|tc zd@X*y7md(aG}Ql~9cFtV++Pe`+KT9a>fz$fjd;T#IJ?QFI2!(1Ya%G-Q9HGs?C+L?%DlQ6{=;>Y~p#N6&-n(6?ttybil! zer{NXkW8$3EIhCtM{>gk?1V*Dq$S?Ko6rtRJsw709UV}2yak7&Iq^A~yg8l--ys{I zOEeBM@oub&tI&vkfur63KU1)Qeoux57NXnnU3A7r(HuFAHuz^W$I6iPMbVH~N0YKW zngb)ykWWE($GvFBkE4;=gxTmn@eTz$_y7&rr|68oLUZE>G{k4nWX$$dXfQA4r(QPN z2)+M$^!Z-#`fzkNOhpHF4?2;DF=@vyQmBouq8*$>XL1gG-R65ban`}jLFr03Dd7fsR+(Opvbxp2K0x`gx5fh<9{>nd~!)}RA>9c};JBn8*(W2}Xrq7Pp3d^jKq z;kDG8p%0EklV}2(bPKR7K8sE86I_6KUI;UP0((qciy&9rzJ6yHBI{okO2bUl(#J2Reb$$OMv! zCKL==FSMaS=*UK)Ydkg9??ofE9F4@2=m6HBYq=ep;-_dN^Q{j_-4@;V)3Fu4jP~~z zUhV$pFAq}}ilH4|8?AwM)D-QY1NxHck8Z~#I+JB+lD-^2-y5(0f@XQnm%}%z^5{9x z3$MX3Sk(R(QYen=&~3K|ZSW^_`(3gjTrY_(K@)T!v#>O-!j||EI-oqSgy+hm5xowL zR44RpITW4PBuxGL->i7ULUe?y@p60VH??0-9~yD{9*84d02=o&4H*EgeCeH0z=Pv`)DL$my1 zyngBHVIuj^nHE9sD<7>LZI0$trz8a%9*Bly6grcM@%mh}!^P-~SD-Uoi*~Rj`eD3& z5N+oK+QIK=`&l=IdTzA6Of=%jaun)OsD|#-(dhQO4eju5bO{#YSbR8M&+$fRsBrWe zbfy*10n~}tTgK}h(TVj&2XqTEfn;J51xIubdZIlL>(8MLzKkZ_R&t8~T=y%bGy^jv?ODy63|BgaQE@ayhJ}8fNTqo9Bpds%P9e@t> zX6%Hs(S|=q8$O0U|1&z%3upwhy&3ws6g|i)W9s*RH7WRDt7tcL?FOMU9T%@pj?TtR zt}jA6eg!=@-a$M18eQA}MSnuu{}qk&MKmIpY-Rsj$VI^i@}f6h6)l5~v?kh7{dm1C zdQS8}cgxM_Ko_9xEkWB^jz-{F^qhDZ9l(3hy<6G;uI+(%;ZHRAE=I3-D|A#6O~!g? z=-Xmz9D=-G5-*_Jwb!=L;Z$@0v(W)9LI=1k`Zzj}RomGA4qzP@?BL^g!(lWhj$sST zzCAS19=-2+bd86gNj3({;tX`@UO)%1CDz|ZBXJN1;4w6^&6Dqh(6&Ku=!rf!7;R__ zrry)&3>KnG^)R|5PogtlkDmRXq6gY3bhl)@8)jM(ZNDP=d~GyWl8xgH&C!#rJyyUT z=-EFL%i~I{jvr$Uyog4w#*UDDUD1Kwf~khl5YIv*c7OCSbRcVxU6o91j2Cu<3yD4G znjOZ;_$?ahK08B0!_kf=q7k?k9q2N2-*3dK_!+u1S>6lvg6PcKpablJm$?6LNELXm zqaz!RhHxzUa+!m^OrAiqcr%)Wd(mC+13HlZqPcd3deLYFbSdkjCt!QL3kUi+{U^ST zH=IV7;6F41Io=Omj^;!@G?ba>K&!@jeKgeV(1WTQI)TCHbCc15&PJbq6z%6lOgi$7 z6dc)3G|3L4Ge3%k{x9^tEFXjh@}bvDVkTCJ^)Ber^o#W|Xoq*i`rKGw8tbb+VE^0j zhInB+I^x~2{uTQ9_t*>nKu@|(ABLIUgl7F@bQdf_2lg8J+;((8pP&=^AG&n^p!enb zi2d&k#XkyP6slom>V2^a&c&9v8JproY=lie4jtTujj7MahWIg>d^vW9rK^v2)C3(+ zdn|>0&;ccr@q=aPny*IJ@WtpG=m2-c`a!h86X=@%hOX@eG`sWe2}^hty2d4<714I; zpiA8r-8ISn6x=3vqHFa4`rs32!!Mv&zYQzleyo5Qd&5kt-~#G{&;gxAC-4`R$84X3 zldc+?v~|$k&5ih2`v)CRu1`a~C_3;e z=z-J(jaWbIi}zwJ{0?in|F8Ni{11mZqu)}$K-c&J`rsv>hpexOMxqOv#UrCLqRXSN zpdEi4>p!ALb^89W=9yTAdJ{~#-$zjJNF0N%`EBTo?nSeIS-gH2-G0BK?}E#}2qABV zE?FluV%?&HdVC)d$lO@8K6{M=QPx16YNAVOfI?bkA4pe{VR<1#{p#^dLEp&a~K} z@SD&2Xk@105qt=JZrtIJ-BZwAlSJ2kE}A3D(Hwadec$iGYPcJH{^I{Xko`zlvw~Lhql9 zF7b5h^q*Kt!DM+H-S?aP0C%9-`Z2oZXRsz-eLQ@AJsOEV=q|b$U831&4lF{?i|5gH zx1;^+j-J4zAEbRBMw$z)7sWnU7CjecVJb(^U9k$C>2@^vK14(PJC?$WXttL+5uPuP znba$z=R{|8pf{Xg|NG!zE*SEg(KUPs?Pw>uw%_7VEc!!eXgWSaeI-`JRzHS!$ari` z{W1Ixzr!E#*iRuRcApGizfWV)G=8OXDw&qJn;S-*PD|{=Gia!{ogt*$a2EShzvSnz z_QTO7nTQwp{9znG{o!B3NqG)E85{l<26QW0e;CdFkI;kcJi6OzC4Wy#G^Ow;uEN9E z6KDRBmbf3k!s~IwpJ|D6xEaslhI8R>JD&QB?Z`l`{5vhNi|e!hVHZ*Fc%DDQ!vPo4 z634y&-?YS|`0#(B8S(eZX8a189Jc< zupR!Ho}PMrH_J#*9pSfQ53YZKBe7DJ^u%0TiXE^-)^uNX$;226uGwO=qrQCT9_$B%kZSF)dGe!h@qenuPt)Z$|fHAAAjsP@XH&Q`@T_x_gF1 zZ^3NTC!^aqi34#Sn#3p3fws+?p8DUG&cdW0d`Y1J*2tQh}b(+PXx zbGRD)PT09Xa2S@LJ_S7|9!0-gz7ek2g@47%oT;0Qd6o+mx8N~Wj& z_;kxv>8XF6x~xc8+v~A8H{5}*<5s*1Z!emj`bP91rgjaQQ}Xu8KFT$E;k~gz5MedXQ|#-qb%W5jv=NO?v9D;%cJz zFT?`4EY{be1AGOYzz%c?_Qub@!^^4vghVu%_?vCj;%^u88Y5(lFDeHMC>K97Fm`5T=``D??(YGW?%aNFY z5H~3kwq+M|hEJf^*PsL3ip_8*x&+zFhDaAh2T~K0KG2kcH*`f0 zkm2YW-4d_giQcymeekJxeO>h3c>Mr6;P3ECJc|x2Te&cxeCYE<(DurdWB+@hE*I>$ zCAv24F&7R%Kff8>1(VT%&BcoN2)gF)p$#5J?>~*+|2NuB&hp{>D2)DO)D8RL*z(Cx z*d0G8Um=`et+5I>+=!lJOVEa1#Y}t$d*U&4Kn*H}WNe2VIJ=tX(NR_3gGV8se$w{fp3spNeiq2kpy6Y zB`SxcP3DM&(&zx1p*Ob28Q2x==rgl#!z+iL$OVHi* z43@y>(E)#iL@Jp$6bgy&qraddyb#S=Ev)V3XjT_Tld23lvzk~OJE9@J1zoZkXbwDy zuK5NuSN38hJdWkv|M{wikv5KY#7u7Jhi=1Z=nQ6{5xNKM;6ZeT>*Mve(3!oDF2wPif&a^W+zyWATr(q3Tj&9pM zSQWp;*D-JH(9wrjh5Dyh7t`y6*Kvb7?0+weix*zNPSlTL9jsC}d}kYh)}M-gh3<;H z_0khfu?t#Xh%Iq1Ho*M#!*gBG*ZIBZ=O3X1&C`JWZ#Fk;5WZq9LT7jyO_s|VhNQX% z^H8siCSPmx#JnLo3SIlV@E%-%CS!p{VeQLd6Y34nT`(2T;ff@MoM~*6#_6fQ)n3^o zd=V+oG=#1%I-sH00cWB~wKrZrf@bptbbFR>7M`1iZsXbL(#?x5N0;__^u$fBqhK<< zhQ3DMLXXA+Xh*f0hncm&UDUgwOH`yq*!MS~&%cE>xC>LcfW8&K#e(>6v_Q+yPbK6! z-~T9hzzjq~IuQ;1JiHE9qM<#3hV&ddqny`;&|Zbks3JOmYUs@CqRHGCZLc}H4SV5B zcoS}P{}*W$w#}z_KOb~&9ex1$AC{y(txZUxm1wda#PXQ8ZP<2=@EYnPuq@8STKEd~ zz#p+8Hfk91ha?<`Cdpnz)K_Co{15A3jZPr~qp>>m8CVrx#bjj)$0^)^`8$W#>L{#0eJR?|JLu=`Ozi372D%;J=y;i zDg4d_LsFtwIQy^1!PLiNJ=~9;c)5FrY_5oYCv1tH2Lmxb-i#*S4D^f09CUX)ghui) zG@19s&%aGlaKxw4kzPO>%HAhE^&63*Xh$uu6b?YMc^101kD$-*!$Noz?eK4O0O@_h z?zkL1;`5>RU5!4MtWCj=uR|Z`f)1b`vOg2!(4@H!9r>H+Hu@MnAHGKS`zf@8i)cGJ z`h|82pb^SM@2`a3*8ual|E~*$L=SAr2P4pZ{2bcQdUShjLEl6dM`Ti zhtM2&41dHm=!v#;Wcb}q-cjMKABjV`{y2J2rQZ|=+&4N3-FB1E+<6d<*oGtplVUrX zT)WW$9FP8tX6t!05*N{>x^i^*>XnIp?Y;qx$ZhC$T!d9{724i@G=fLb?Ry5VBsY?Y zo5O{Iw}kg{IdsiiU^~149r+Vj7B`^>(YII{vyBPg5i6p*;0E;bd(bR@5sl<4vHm8S zq&tv-ClmW9c%q#}lP>G6VeJc}9cQAUs)r7&4L*v!aT)%BOL6|#aORg97iQW5jcix6 zo&IRY6XW$+nA`XN0~E~KCsG%9Eu!CqcEsynV|nVop#v#)TL^h2bV=Hy6BvSaFc}T? zY;;K;Lfd-<8{=+tNiG}Dgy}y~kb-Mg0gGT`bWQu9A)Snd^aZrxy=X{}#OvRq&*z*F zwpTGU^!3o>ZHAtJUD4-y#QH!?{r&$i3f_1JI>WhWs2{;r_yUf`U$6)Ezdh{dSFs}X zfAJnHKQVkseHjh?e`q_GP6`n&g3i2ZtT&j%{&&s0aKSYihK6byx*L|E`+GfJiyx!e z`x~ZmWpYT$!sz|Y(E;^ABQOVR;{);Y_s{`+ja~4^$?X5`6zWe&Pt3swu`U+6Bkb$0 z*pd1i^sL{HHkf;A_)gafn^K>J6>tYSfS=I;TzzLa2}|P#)GMId_YYi*7n2kQQdm4K z{3i2vw4>x*!8b6I`fpet^D|&0)fr8`k!bQJ(Gznq8i_|Swe8TQcoWT?_t7Q!0*zqu z1O-ES9?gMV(?bqijUFHs(T4k>4G%?=Z7OEs0`&Ry=$XGge!eUE6`Iti(fe}D2m>n; zOeRWEaLp^BH?&4))*C0`SahU6paZ-Ry=-O}SWz6y^^)j}7o!ncfo{i*=$gNa&2SI? zhIwZBZJGU-MN{2Ivf1q9JXEhQ0?H($VqyotRGjUbLNg z=t;QhQ3m) zH%D`(7kb~VXtK^g2l`0-d{y*KG*X|6C^s0I3iG^4jXW{$kFBUr7A7(Ze zz5iu&fZw2N{|C0jZ1Y2ov_}Wn6AH46mbJ z6<6Rytd98?g`8-O?WvDOll67X#JA9w%s1%TeupmIX>=(P4~0k-ik3r`Dw(KH!TsL> zJ^6-XCO(Pg#C9~PK0uT6XEfxw7l#mLqV=k=-VE)yD>|`Z*3%M+>1cZoEr};2W_SO; zk}8m`X!5;_hGq}i&|xf&XVEp!y)=AY8cn(y==FB!(hNeA?pExFQ_+YVK$rMi`~gqm zX!rl;%R&Q99}YM6K(lio8kxz_MQAA3pxbf>`aR)WG}$hq$(H|-kZfhqWV;zN@lEWC zN6>*(S)5rnpAJ0OYkGw(ItJcUE?0(yWA zdLl&NG@2{mAX^_Cg~tBpGiQg=X<2w1a!mAC(@)GWZHQfJ10x5-USw zvY`>V9F1gQ^aQ*H?WiVZU}H2#nxp;nMBg#VkrWKk?Pv%eKyO?fZ`gw7#QRtqKabaQ zJ{7JPLT6YC?Wj6BpxV)9(GF-kJ<$mc#R~5K@f1w1C(v#5A=sQ?zb`s~Dd+^|pxf|q^gvpRcDw88ia9p9_&G5G{)ipaDA24pepcnd=j0}=ji=Epy$M2=m2uP9Ih8d z>lM-6)Bsb-h~~yjGzS*rc>ew@v4(;jWxf(dJQaO!--9;r6gtzl(T3kgx8;|y{tp_t z9Iu8XE{-luU3BIXqtnsko{LUkKIS*AS5UCw4d@KFr#|3kJ#@SLgcb2;bpKxcS_oZt zG~~n4`zD~Fy#rmk8S(Qc&?Q?NuWv>VssmWoZFQD{BPz5pJXjW8n^tIY^+X3a6kXHX z;^))Qq+5XAw*kHHEp%YJ(Fh(w2lQ9Ge&y?-{Zg28&1+F`|98RiI0_x{Vzk4RXk^wz zx1kMxj!p0vtcBG!g$Rs5pC5y^I~85R#po_t5kG%w6Z_w_Ue5)y_9L{T&#)z)z!q5X zjj*O;u_5(!Xu~Jbwa>CSB;!@+=T*=gxfzYn18DoNpi8v{OX2p-?0-+L@43((FWVA+ z(&>f174JhEcp7bB7rMrK(IxrKpMvFWDPrd@Z`P_0aoUVe0#TCkkb_ z&>P(iGtf{yizer~Sbqc8P~R5ow|o+kZvvVN_eNL5>lapR;_!KNyZnj1ByxQgERAlrMriVMiuGw&kNN_vgzuwk|0gy{^Z!6Zv zztLS&^FWw+JM`e`haS;G(0<1yDY$>3QX0;OK2YgM zI2Z0hbL4)^i4R4ez|PcPL_0coAu{mA||G%dN{$cLft?R(LYzlgrAK17q|ESl~Aq2J}Q{}j9w-M+cd2<1g{ zq&%8ib>j8b*pm7{oJ&$a^HVY;MU_)wU)Ml8XpFvwTce@tioOkdVkf*2Z^l>gO)POb zJ@GMqjrZe=XTrOo?%D9yv(MqfTu=Ww9PN+dSn6kz6k1al_)7@&vp9@;#;@tA|L*rl z>`ncu-_rS$e7or$hd;yHbOHWIeLL>K7tawfW`4(C z;olvS)BfhCQ7#-obD`n+@WFFfjrt`Q!kX4cm#QaveGzIq{-;>PovMh9qW7J=O@u!a%J|6L^4MPuSp8o*-v#Z z%}AZyO)twx{SO8nM8AlfK||XtR~UIa2w_xsYLrFB$HPIW|qYd^%PqYDOZVZo(LqmBddJ@i!K8Z$lW3+aj zjMM?N5slObXs&&ihrfUDE%hH4T$?;sgb%JlLsSzTKnHXH-O&5{q657J?f7o=`Q_+L zpFt<^8kz&!V|@?$+*jx>`6U@YNaPI-UxtRP7%syyI1k@OJ8GXV%w#ay&;-oHdFXR% zumrw_X8)JyfKH+lxPZ<)Oa3siWHAcfP#WDPwb6!pqbJ{x=ty+U$Dm7a8ycBun2G?V zB7k+d{tWv35p<@yGY%;aCeNVhvn_ssH}xQ3`dqP`F@5>R&#(qWgFm*2k@A!+)U- zURo$4`~@W1@J(okcc39(f)4C?^#0e;ZTUVr(chvMF}44577n2+fQG&}8iBIth#O%e z9FHEsFJn{Ohn{44uL?O)6&+{`^flZaJwI;4syGjw=$q((e#g|`{}(S3Zmf!B_@Hfc z99E+K2&N7s^gVtIo%x?=!`X_4C8&euMk_3fUC{~Mfkt8$I>5!~eXEPI|6SXcxnOeb zLOb{fYvb2wC<|O2a-bv{k$UJClv}YcevC$@Y_X7BZP0Dk1>Gh6(cGGV=Fk*$U=I~z z{~N-`xZneu(JbDDKClm+=@;m>`W|iYlH$SQ=!|M(HEe^Kcn5lNK8h~I8MNb^nHi~< zS!pyP z3CVmp+HPBPX_GfoFe#Q}GyF7ukiTSD+veyD$D`Rj8y)B)*baA~OOm@(*ge;wpU=Zq zxDjplUo3}BN{4}uLI##hETmwzuRzy&1DXTd(4_kehu~TCAi4h9(9mFX#`9u*Ej~;A zOKg-z%VjcBzsBEMHZ19gav?I~(23lKSNN7#LBSJgee`uSgm0q*`4TV1pU|ZI16}Ki z!C^7 z9NjIQ(SdhE8}5rH?M+x2Z$*>&aWulup-Z_H58z%*nq1FS3=Ql?J35TscpUBE96G~` z=yuIkDI{r8w4-`h9Y>;T|0vq=d-3y6(1Bk>Lw{N2a6V*KX8+qkTP`^Bu4o8{;3yn} zzC;e7+w^Pn8_xxFAVsQ#qqiE`VF$FM9_Z2y#dMsA4r~ez$7j$b&RI1X&iay7!%W(u z+i^0QjQ65RxD*}O2DIU~&<6LRp}l}*@QP{~secKrhi9X=P`hOMa|NK&Xt zA+vgTD|N>;)bGOvSi43>>Q5Tfv9qf0R!pT~vh3>(x9+j0;# zq&^p~#a(zEok%+3vma2Os#v${?F5b~aAa^8fl@pyDe zrlY&$est-U#m}Eb?|(Jcx1#rbh(5O;i@5*4rQjO=8$Za~Ak4TJX5o4*^z-^y4m;xj zoD%B?&?HT77?SZ4bhng5bEQ01#71ajZbB#eEarCquczQzy^V(KB${-28-=y4j3!e@ zbScJSNt}a?@kO-ZpRgX5X&kbCFgk%@=#q{?BR2!xZ3{5#Jj&(cQKgtGfTcqTs&Gd3`uyufuiJ7hq>>)GeId z^KmZqGw2T-Q*H>6T8zFE)?%wPUP9f&0DAQZ1HKs@-~=3xQ_M?v@LK!@-9Cl-gtfmKO|lwjQZ_-8v`4Jphz|5lG(z`abzF${ zwdlHSrD$KxF zu?%iP?>~wRD494#!4YK}5IU-WCQnOr8}&dNyb0Yl4`L?1gyzUTG?Zu1b}q*2r3Qxk zo1r-~7#;95G@^4cr|E*(649%=h6G}4-VH$U}Ng#(a?@U zv;B57H|C;Cumb1cN^}6_hOqw)MFR>pcpW<9>(QAFK?gD(U5Xj#fR@Di1~lv6Lpwea z>p!CHC5DD}a$#Aj#jqTamCfij`wm^poWsI{RWS?o-spV;(Bv9} z-aid}DLoUfzlRQdfAknSfnQ=h>y05N^4*xsNDShGDqL_T52B%Y7VY2-H1zMIA>4;{ zv_D=yhbC8IczCWT+EHb6shXp^qHp|sC>q(@u@c^sq+rLdqFMeC+R-oQ0RBK{l4V2) zXuk|5lPTYYmNpe1gniMvoYjP58=vTCX^XOXU z92pN5bO3eG+-ZSs%Z})Cx1ckeh;}pw?Ra^-z5zWy-o=sb|F0?VUqef@9u?l-rACJX z=mxZ*foO+g(NNxrc62v7fcfZ&xeVP!@1XY`h}Vze4b*eq9Ig*Smv|)RasS^z!J}~= zR>W24j6OxT(XZ&5X1^s2qzI0pUMAKTqBC59HvAeokX`6*If5?jKj?rn$Ak%%$GqcL+5cwaCtPr5C((xfLqnZ!LbzTU4P{+4S8l-dI0n71*zF-ls-kbt zmgx5Ej1Kq)G#C1z6PkiXWKoiW$?^mm!q?Cx*p9x(526wJ3p4SOiD5wH(4}dJ4xl3% zxq;|5o`>enBDAAT=y|deo#^Lif5{URyz#gALE%ZE!HVb&jnM(Li}gOSK0MYZq63~8 z>&wyHSRL!Hq7mJOJ#as|Bo!y8mM)p-M8S~s#2PpjozXMsw%dp<(TC^^kE6MA#gs6x z#^{oC!df^I8{*^G2oGTwEPO}sCTv1|3#R`5=RAd0T)1Lt_)TRmtWSM88p{3XfDWTG zJ%jBr+nphD*Q4KxC!=e<6ph&9=yU7PY~O}X=*#%|Nlg9sKh9Hd2A50=9bSX3Z8#QJ1(Mhnp+c{Lis_o82+12}``$oW{ma%O0!B>H^KSZ^EcgYK@;Gnt`lHL8T{P?OMF;u< z8j+pJSok*jZ?y0|VQp)nHx9vT@h)^tS79~WjfVOnnylI9gh*bFPN)oy!1`$JJcUl= zjcD>L1xH%?-f&{o!PJtV5$J?AGz>jzCq<{D9p8sWY$3MBbvPCO#HaAK`$DJ-%ni9w z6Pt7Wb{y;be-ni=Tqrj$Bk?PCMU%4S{TZqML`o7(wn_8D4DZ33)aRqQ@(wz%&(P2w zM$d_J=)qQUK}PDoiqRI0!hOnv{qlR|YaEJPpJfrj)Otcn-V-BD># z$o^L7(cA~!_ruZe4byQRzK9N}&O>1!ozb`6WON{p;xycVNgJ-ZICR(+D^nkiZE*>@ zO}@eI_+Pw!!;Fh-H5? zd@a8rNx@|6gC^Up=!v!jJ(!-tOx%W9@mov{5Is=NqM^Uyv0zDbz_oBFwnD$ky?{<= z9hxg&p~;)fx*{A1xiK{(tiuO=(GDL%x7Q=+44y(~d>HNM7`i)tN0T+r<6$YAVMXeX zVH5lS@5UTYgq&J{AGrV5QZV}`JsErfdr?1v{+&FzQc8X+TYvpLn&6~ z^KWnw^~+afB>u#eSPLIs%|F5N`5rV9C7ufrnvKqU88+bW&k`#s4B^6&7s5A`rZ0wH z!!1K+bQBxl6>Gx3WOT%a)E~n8@RL~Yvo<632TIHEMy~f*my!CDtv9hZ^}g$g90Pg{ zuf{iD%1GQr|B0_&&PXieLhlV3iNC0ye1#6FfA?wzf8E3n3>(9VweIzd)E^SB*cA48 zuQ$R>zr$8MchzR@$H90#p2hyyd`tLO@+Z*)?gEa$%id)FSE7Rn6b$)OTf-Wk$3fI< zy%i#|6h~1%jZa|Dw?o6{(4)Bfw(!+zF7~B<2)AIJ?HP%W@HZTUZ@&{FlKF0E=k0gd z|7PXD9ihQ_*opd&=r*alGb6D9XQMBTy6=Uhn2N6P>*)46jm@ysu5jP*==1m)*H2+1 z-1dI>*RlW5=bL|!%t(AmVe$vz#Om^4n9+S`NZ&%&GV4d-Hy5MP6LJX}>K$nEUjK1M z>Tf@1qZ9fJeHUCrw_CN{8Hrig4}0KI^x&$K+!OYDLv(H0qT8-FdLRu%9~grs(M~kv z#rKA7b^|)V_2>)>d=hp;H*|*IV^b`;FTAw+<0k5>umC0pd>RT9urwFuVhMZ+eQA6e zum2J2MLr8>cw?N%=e=<_euAD4bv_R-t8wV{xoA7TU^&dcKYV*`jO?ytVlIXI`CtpW z_HDk1zo*9*)W1Vt8fCu>Gi-s=sL#MLcoEI^F$Y4!+tDS;buc6KKe1?t?^0iYzE!XP zD!j~Y#eTm3cTyO{2iF`5|IjcCeSIFquJ~8H-tKUi!Lw+{_n{%Lb0nM}x1$j`fH|@A z*WqWuzF3I*a5NW^=!y9Prr!VWQSgX8gg*EknhQUpHzvLbM{QATLbVd+#aqz(rlaqS z2hn%K3S?I&R$*%j&tiY-XOD)Q>iBJV9rwdz1|J-xVAdW%8_My&(BYM62W2o5>!8Wm zD_$Rfem@w4&Tu}ORIAaS6W&DM5g(%M9>T)-1NvP0G4_9P3MGz(wP}V|QXdfOx5xS- zbRf@T8GIvt{w|rF*<{;XhZ$bBpQQm$0V8q`*0-wjW^+tQ{gMvZY)9lG}gu3r$dgkLE9gV zem(!cuFe81sxN5cS6IZrMC?FOM6gA$JHb|LF|fN^*Y55XyF0MEySuwv|F++6?w$L6 z`+W0wc+Z)6=bbrccQ4C=y92>Sa&K6{M0Vow&N`~ppcE_!%E^R*lGqfKo1nYm6!mWe zFumLxPcxC*<`pP+BKHs05oJ&e1?AFN z6_o2lA5aPn0p%p7X?zbTjXnc~_X8XUx_z`7oCrp;UZ&{y#G|1LjwmK|!K*Z?j`oB3z~`VZnC7c>O)mllvTg@f0B3;t!TX>zouV8H-P@&R!|zc4ax=XH7M5+XUd<}QI-K^hvUIA;BxSm5J4$)?3Z-~yaZNdo#40i zl&cXa{DojS@Cg_N2K}-86T$MVuYhusrTuF?Q)&T*Q{ULaL<0Z7ieQC*`m-QdiuGGi z1ah+gF&v)E<-z&Tvp}s`;RNGui~2@Bh7z ziQLO?E8!ium$jR_m3RP@hvf~hDEI~R1M@l@=3A)M24A!8;NdWznAD5yFkf)I4$6He zz|&#gCqlq#tZRdEQ>*}esC-MR1%I6Ep z&O;Szf^w9dK>4;iQrD|N;U5C!d%;am?n|G+%Al8*b@cT?@pn`l>BZkaN<{lR3;w_H3{@>%)oxJ`SS<>+xVO@SKxL6DH-7JIpKF3NV88B~Tux0Vy2j zl`#U8qnifGy?z~-8+-}Mv)$Aw9p-bqilAH(SAe;|yP({+5~OmN&z8f$_N;e;lIQeK z?Jyr^5nvdOS)e37217ybG!FB9fWpDatY3n&!G38S#yrp`ox}X~+GbE1_e}4w-Xji_ zhx1lY?$m!lIhmFj9OjeQV_+ir|NpUlt%pbQjMmOVK)J2Eg7PpM2g>tN#n=E3akTm2YZ9&bp%Y!I(KI4P8<$qknjIdOyq(v6qI}WBv9^r zYe9MVYz95S!=T((PJ?nM{HvHCi}g593(CVY5R^iNz(6npl>5jaP;Q#Fplt9FSVA8E zznMs(qW)H(3Mdzj)}TBZdV=!k7z|3IBS2qpDwq`93JU+Y;#E*i?lG7d^vvooFU{FO zxsG%LWuv1&r+l|ts*dfTG;#@)9X76fHSmBG4TD^O1C z04NQg07Jm5pxl&R*{l;zo{h)9bet>aqJmnT{oPHJHbNuKZ9~2IkQ`jl96CJ)_1_xpr12`B{&Y0j^`*Y zRsVXBOSaLCZC;VBVRGcbjHMF5QgakM*EB{k_$)fpytuB{=g#w#yc2Rn*d@kpbH;rK zt??9euI7gNiZdnTIwXIWZwMGyN@F6iXN8hfMlnWnVol+UqmbAh;(N%O%2JfEn3%gekG~*DX%T9Ka|fd%q#zXw z(?&AFIYz=HidE6%$&UMCam03##23Wr-2|8YJ3 z)fA{nPBHuu#69uP04H!FXVIU6zclmh_{7f0>%X?0LTC}Yjmvn>JeVOi6~Tif9n|$j z-K95vKJJVESW5Hi3&J!ZdU5NDa{nth9t*>*gKjGV7Q@k7rkBNe`D7Pr#4;V?Ysgz6i+Ldmr!Y{)jF!m z7??-#pMoRCN2D1oQAx)(#D2lAO{^mo>NCXFl9QacypwP;=3<`ceMF}KJ~1iNI4(DI zMTkF5m-VG5gkB6j$;{wW%8b_tgfKFZk)7cUKQYY?h0e1W!;N(>{3mHjECFji-_h8~ zoOd}ef7CStd`X7?G`ZKwd(S+-`9XUG?l3m%j#q$Q+VvdWwJngELc7@|FUwe_IE|d8 z+CUE?-zi|*D`E|3N^HKKkbH!aSO+J;V~FxbGe#(+r3m(6q@&An#F{aN+r>zTLLdw4 z8ZDB;O)Q>=C{Y=Cdetl=U0<`#7;5 zE_XKJg(^R>OTz`peaU(dx&Cm*)6HEPH!pO<5P3|nxb7qeq+BkdeIff2@5<<|{@!r; z5JF=T4R(c}1Po<7!FLN3YvQ6|d8i@BfSs_wY5YQ{FT!phuRa)4KzBq^FvKPkJB#0k zVcT#mAnWz;HY+zdJNMPy+uW?=eHuf}ga(+35FV z?WOvnSrjejXp-tcK1#5e7OAJ5x5g(wved`_TX!Le&B$57dKSfNfn5+6%Mbr7v5~C% zs77|09LBsQh40c#POT9Frx$NDVkX8W*ii#tz@`XgFeBENn-t2TMGjKXhj;>V7Q?;H zJc1%(h2Rv&f1C9+V$yR`a$CX4PGj;M{R_<$QNB~2=!w;ZkVy;FV*br?n?F^QrR&Bd zd_?dR;_(q2h}a*5h7ptZO4>oCAu1ZfJSYA>QXPvVFOpa_e6LvdCBG-RZP7R`xBplQ zit)a8MsvjOLl8SdqHUR&$0061gO}4rXCt^7e*#7giq%BN2P{aj?!>mztb;;H8QC>w z4DmJE*b?H-#(ZfGA)6LkN`bHVZ0nC$d4!iR?vcpvXpAhn)2+;RQAq3xV;lZItRvu6 zrP(FuiuGacY6sEhMQx+9ywUD?jdTFxkoX*tO(d3va90yo$j-FE%*0zTkHKeKZSrC< ze95tGyGzj`@IULO27rs<9x$8Z_U9dqjM5wrAAxE#N1!F>kMD=>ECb~H%zg2tA=XX{ zchPth@x@fl4JIYFg9c+LI2i6Jd}0Uit#WB@EydqT19JacK}YjRY{T3gr#$(4M^7Uqs$) zZTJ=32KeXesV$|ZzxhGymbUpdEn*8G{vzl>;yxAZtPRvh;4#e4aK__vC;k-P6a2Ql zW+Hz!kqoW-%-c|Kg%)iBZ@O-d-wzq7Jvjf~n)#ceVy_Vn(Zb#IVY6P>ok$X^f&U`> zy{xw)eieK|Q}WW-7HwvZ=3ED7>M2ZDUo~=z!<`|If3Z~%coEU~!#W2IbVKB%7MntW zC^+H7GE6 z3Wr!;=JOHU&5pzt#rn!VRVI8nqgZYoHUG$ zh_~1L%B&AUxCM%B0rQc=>pVtz=HBuj?TgUScbuDOqAo?mvN2}qd>7=A!~zi=0?t(N z`{bly-jW>`W>i3D06A}%cOqvvD8}!2xP3Tkh8S;bY7}HN!2iN3Q- zU^~RxFz*7n8S_UJ&q~oP+Q2U69?U0!w)xP+I~G&Xdd2vRPNZ(+3;t{PMx)mYEiv*n)Z8(!d6w0Z^BebX|>-Frkj}{UBd);|9V%OP#J31RFEViD) zE$|g&d33s9Lr?4JDem^ij+_DU@0*EhS z+><8pJ!HH^BR1N{wYha@B#XoC-=2tTyXna8A)&Kbqh(+KoHR^AK~jYG}wSjHPH|oJ%Z{c`Wn_TO@_MDaV1p6yoKG@1#H?MEOmqX~~F*<*~r%iIzW`kUw#o z45yyeoLS%Kje}nt7$XqKOyVlAwicaB!g@sVQpgLxSTmA0G0zRR2lIF|`y74**ob%+ zxW|}pAXjWC`a8hePQ&MV>OpGggs#*{wRBf{@q)#U|`1l8#+1 zHlo?^^B$naTy21NLNn4U&p~V_%}he0f)-we?*|3<36te9WlYdf^ z{DJcL9|3tRf{zGfhFF2ZWm$LDj6?Ve>5*pDLY=kQ%M>_|&yyUngIZ92ohep`SRrk+ zDw`_JNJ?%8^m8(T<@#^ieu8@t8h~Roi9Iw?;>&E3;%Jgxtrpy46qOhK#m=)%#QG(; znhn}E4gKVrTbX7X%QuC>x~p|GkX@Ov=rWA8SYhT>b%(N!gJ?e$Ig7}2e0_-DLMs}r zv=r`uKQ?oIy>2W8x5M|sUkctN^vaS0-Ebz=BFs%|1-T{>Z^jkoIbGs)wTT}HHKB>z ztm9GOx8{Ch9Y$V5Vi(Etq7c8~G|p+W#aM?k?x1VPko*4u1iG@=Nn$pJ*j2CyJJ5+M^|w1?&Q5V1pHjr6zAJ zTGjD8<0D*?r1L8DfnX`^b~&*@_-BH{;Y?9M5uFDwHa@Xtj5sdMiEj=$4dDN!5wWtG z`!6fBpgfK!GuPM@#U5EvPQ{cA3Z<~YNiCu?x zAKi}Vgb}~MJb-ym_%pQWQRF9)*MI&JC_=IRx`V?Aj8~F~_0n#eA(DjoNQV4{c~xTj z$Sq3IzBHd$Pi-(-Z?%!3#0TQR9AER;e&az0VVA~=71wTXbrPyPV^SLzg zjiMEa#X>AM-48>gB={e`734+1&%^qzh`HEfv?elkkUvrjpJsgs9p^9-GD6-%Z~zVT zL*yEQ)xcT0qk?cMlbD8tzu+F4s!lw!Ha8F6b_B(`lA9LJDCQN_R}x+iG{n{sdk()g zJj{NuaLfe6s;FoW)+_bsC#kO-iC*|F&`2H{7>MW&d_`$qtUY50u@Egh49)=fCy776 zFUC8b8WpsbS^qGLo&=vlTutHuiq%9k1pgco2AXL+tiY)hoDZis{B#I)#Fqo{gp6?V z7ZTgbycx0mtdFtYtc4HbE5ceVJF!dDnIg~sf*CCsVyP&cmw8;sVgnFciZ2a=Uk;l# zh@*RJP0g>%5DGvr16T^ zKrD|?de*-oo^mPBl!E*5*C2jO`6Aet0zq2fI$HcuiD^HXCqUyb8q<{jjCnNC(_oF* zdjC72$sZw?V0h7W3x;jU^c1#GSZp~Q-nH1Y!^|h>F@GVa5lxCEVxEz?hc+X=^c4LB zx3>D^jYdp6k7Ead%MkkuVKehC#A-AD1m3}a6T#D3NRl4oOF@AZs!x?&F)X;_O@)@FZM4LOZ;O4{erp%7!_3wB?Rd9$@Ny20;F=P~dzG7iziFGSBU zU%)s^BYvz`YQe0;Cy=v-^$a$alyx3>XYlox*ME7h=Kr-Qg!zkSqZ$|hVHlC2DpZZc zr^=j&KoTKi(&*%B4S%h zCZ!N-sDidXvrZntuf%vk&SV5XYwjnT2#(g9wL8srMrS6?h*hPraQM!Y6poE^FanpP zBWw`3m4x#6I%~o@MTuWSv@5ah9A`T{0r5+EXYy_l>%vHZvaepzEIyC*tg721JsF5Q!BSZ-`B&IPZpS+8Sw& z`55w65ffX>dOKXP9$+JMGU%zLgi{Fad4^a+;+>dhme>C-vq;QN##k{U1>{n!gSC;$ zG}w!EA3YJJ@iFyk_?MH@N1H22(Kn2f6c|lzAx2MXj6mZYoc7{FyE(O;Q3S+}=#jlA zcn04z);X<^(Vcl4ie$$BM13~A(L8&7opnceHP8uQz6cbn!&pRL98zj>&7}a^V$fc)MiD{$xh~iHQ{(O0^y0}V3eWAH8jrai5+LX zjCn0$?i9{KZdKO3G1kIe1Ft;()Xbd@3NND2V1nBq z{zqUOfvkwcXJkZZxE80D`4@r>;9NyyH?bJFCCD!cXFD2VKUp6|OKh6(Sc{FO;hgY# zlD~yfR$l*2$K)5z2*kuiP!0Xt%(Uo}z zM5|Bja?IP=P+J-Ts}@<^Sg%E;DR>CHuV>VRtfHv><1CBf9|d z7fJ4*Nu`-rCegOX%=fX_Msvp)VRpa;`%^dq%^~DIrr>ea%E7!3^Wqd9%-BkfGZ#d$ zJKB8ki0ZEnS>*BdFXyeLU~nZE;{FtXv>NyE#@O#`0Q3Nwj4 zWHco%mKDuZaBjhwroR8s5sOO$spQWX;}STBqc@#@ppi1*7=kSk`UN>5qpdbq1pgBR zZQDeXpU7{6ZwN85Z{&&1L+8B~Ye)W6e1jyQHd;{b{{>0R0pSAVNeD$T|B6UIgwr#s z(3Dsyy@}RQR4gU@HOwDsbK}8<_*+r<7_myqkI(!HHTJR|K&%(MTdZ?2q`q-e1!Ue1 zK|e-Kh^r{R2A{hM6@%9Ru`Xak8f}li4Dsx&Js8Is)s)*w#MJ%+XQCHIY@nWwgdW7! z$A1M9OF&41Xj*W-?)U-?ET_x%_|6j(`w90oV+TU%z$jwFnP;Tw^lW7fSV_)Q)~zWr08VlW z8rt+?=KUD4i6_NZ15Q#nCvv`lFElQBBN^T*e|fO`g76japtqpnNMM{4``HQkg(y>l7mo+}QGKEZZg{K8eLS?ee+a1hr@&1ETR*XP|I%P4I))9KquFD%m1n z6}SaxAPx=eVf|Z+hvJ{f`WSTzDnFI{sM#OlJ~|48*p7J`3XNvHL3j3;0)I)GLDE;| zd71A7+tENHxMQ{9EyQb)e;=L6%s&#FMQkrMTrD@g5@`6qGxuML9Y!+lAo_*ictjS_ zKzqgwh+f3Rmf+6;N30v-w#|Ywn{l1kM?@nCEMs0B-+Oq67+3KxWvoO~tQqqe@-oK% zw-j{yf^h^wUrt~n39odA!cCBe8nhuA8t06#x~JFZQ?aG$A&EU#XRNu zzY@X?mjV(viEjg>_%z^4tb-;<=Rq^Ja|FdefN!z9eG2q_I?J zEu`_EdXr3YeW~H19(P8gzS}*=mdM8)6K-+)yxV=tjc*-J#5CIA@K^WoQdl1KAhvLwO(p3RX+T!GhIn@H5p zl}OBg!K;bHkdui-9~_F8;T9~6yD*O(KyMuRz-?i?&lQ zUT=>1skg&S`cL$wP>~B$unRtc&hQ7k6tjFAygXVkS^}MU`B<+N>y6M3+aiHXbj2Mw z0I$aq-z5?~@Gh)D|A_+>`eXX(M4~4SLPNbSx)lphe;Xb7A-o)a#O(M_yngAK@LX|p z02MI|(#|q~G-ii}_=@kt z=he{}*T*{84qdX_u{-+I?>c?aKN4$mlzc>wVK1ck$aPC}aXxNV-q?6H(XQ3g#7ahQg zc>UQ}e+lhiGrDANqXXHGx$!tUp`X#`^Zyi<@(RpHy>^mQ<-iszv+OMI3ENDF!I^%rk1WKcks2Z;~#P-xXU{{=v&G8FlLdito^NB=dF7(Fn zcqewkAJGOI{T2q)CVC|rp`Mr*2cQ!ehXwEs%#VxW=g*)K*^H&|Lo{+fVs7{U-xN&3 zoEJiawa{#BgNAApR>Pan5U)T7umOwV8`umFVmB;sF_E|thoR5Ck2UZQG!m75XG`LE zb^ouVP!m7GMws{`tX*TQK=pcbAoKAOT!I^LDH@@!e{yPKZ|shr<4COd7so6vKyzR> z7REDZZlwQB{0mX2LBW}|$AZ`wO_uTKOedi^kwiP3gRb#|Xy})t&##U3|Dn0_Ve|+( zfU{`w=J_Y&Op$+xzYSO9g2`6{U7MEZOuNSGz0i(_VG$gQ4s15s;Dgae(PUhOw)YY` zu_umcqtp2mR3P zI267Adi4HL=tL%H-`C)PKjGy4?H zg~PG_8@hCV$9msO!a%P>BRdM6(A4O>)b(T{@h}CG%)Ah{fqYv7dt5?i?D4OD;`I?b}>vQnp7s z=z@&jnj>4dUJQK=SHYw+>PBG^_QMwVJ=Vvn*+WM| zu^ROUaTdOb=1Qv^ae(NOb-~p6fktjTR>0{v8=u7TSoyM$#62!cOQw#_8@b?2pFxr$ zu@>!M51MT6qci*zUCUGGz%QU3r{@fj$&H?HnOFrI#rkk`mrRTGyU^rZmNOY1T*n0) z`X3tN_hbDC+R>SK{Q`bS{ZhXEIKYEw)*nWb@~7xUw8MX6J!`IT-{ok>rO|%sB`Mf( zdvs=3MMt0^ybaBXyYXsVfHr&rjm#PR0Dr|^xFdInRQ^2SzA|XLRie$J-O&Lghs457 zXwuAzEyrEp7&`=9B39pR~MMFCd4gKWkOmqqEMLT{79oQ4-z+Ogo z#e3)%p5HKO=!zB&p(%xiumaj}4YZ+#vEB}S$#g?!-U}Vb@aTASn@&L^Ixp6jq3yhY zwz~-($o9hQe?K@IKlmLDQCgAEQEs$@{Lzx=3@gWaT{JQ+umpC-;y4N&;N9r+4@aNC zn$*{#xpue+``;uv&IQ;0XSBhbMMLO|paZIjKF}O(unju!Zt?T}XsAb_1Dt~9z+Lzx zF2z(*7Ypt8Mf)9*q~HUSuoTWf8(x8SxF&wS9-ZM%M?8zYv2O9OEABFsH^#;5x1s|~qBFl6UHc{I zM4m#wi0ncmwkLkRA16{jj(52KuPPb#??>pGeTH`U9Xha#Qepe#K|3fHt&6Fpz&c#- zhC}d9bf(AA{hl>5Oz84xQS`a;DcOIu;s;I9ecBQ2cmO(}QRvL4#_O}951QCatiC>Z`cegmksriSd02nOg5yjmqLBaD3_M{R@)dGQ=f!3unxWN1bSbw z^5J?@zNy)hE#H_8S_qjEbS2 z56y{8EQw9g?b9D!ve8&QjopKNsjsaRaw<#Z@XhHm^uA0qsq3Nbx2T*92Szt8*zt|% zSFPKl^RWu`C(sbTkDi#HqS<{2ZRjXEqaR}ZUo`nHuM%>g09wBSJqOC7+qrp?f=Mv| zUE`5x2e+U}G6fybjQIItbOx)?6$cgE`U93!xKAmZsng zs-O)tjyLo|9~>C#Bhe7vgf=`I9q_W~bLfCJqRG1lJqM1V9VV)U_AWywSP+SLGEtm@ z4^~D)(iC0ee&~&p(SgiBmuMcktsX{SMk~;ntd5_riJxyl2e<<(<34nk{f=cYlZ46i z{oj^?As&HtFa?dsTr~S1MrZyWI#DM4#V* z4)_?R_Wx-LX7f*I5+!Pef#gM(q!jvjLp1aq(U1;`^-q!%56#}i=n^eOBd{6G=3Q77kD>$3Q9D=+9cYzkeKZoS z(C4qI&Hm4%FeH936J47n=ziZE>j%)#UO<MZB<}UdY-d=!`a^Gd_+Uz5k)1EL1-Nbji=DpbfE^paX6Uzt|Wzl6v{SCOAN(3aV(yQ_GpxrxS#qPxD-1#PD}ml=WCoz z{gEc&yJLx_X^Cs8-;O=;1N3Mv*(@#f)AL^FyI~2s8-B;@Fj=N~T4Di(S?B|KTZDtB z9a_HCpN#bvai;r!bNrx5tI%LO zGzoj5Npc<9&=|C#8E8ZIV0B!KJ8=gN!n<3C-Eab3vdV43E@~C+i!Rwjtl|Ej8858I zdNza}6c^A4lx)k_g!7*Z^zbaCC-?&~39FJt;py-wofOkvNME0EA43kXWTNTS;UwFEp4lC*2`AV% zOoa-K#K&lE)=g~vx z43DDw_9PmrzcID;y+ebA(X+k^j%BwDK)2gFeL^z6j}G`Cx@5=DcF)Amf5hhQ|34{o z$3}hGk2n|C;HCY-AC+D~LsqVT2yqgpQ{RvEvB!WA^4Zvi`Vs7hnFGT~I2Gqn-+=?L z^Pq4rJ%h>HxzK!YXmBI;pkC*?@N>RdXy~&H3EQR>eop;%T#P-3rX{|?Q|NPhhovPr z%@f6kho5*37!f*r4;%7%h3mtT492q5Ctc6}FHPZ5E*Rpi=stfNU9*GezCMGl?QiH3 zWFHyoMbNdchGu&Ybj@#!pC{4KFGj|ecpO_%=f~oSXQ1^c_J3AB_>K#H@Z*hXsh{W9 z8Xb1UDfFN?i+216rnc#rFo1ICd%qDnfo^Ed^h0;k&FFw;VP||4o!H6fg(L-MmYoc8 zf0jTyXpZjZe)t65h9*yuaiOCU=*%jk1FReCtTlDV+!B&;4tC+b zW9R^@O-cZPNxbu><jB~s{Mhkb?@6lXosN@x)r@X z2kmGPy0nj>1AP(g=YQzZy@NU2@B1m(z!CJubMXfLvL-d49O#2Z&<9J$dR26w_0W!6 z#?QN;6S+3lhok+B!&~r&czx&;uG{e#3N|nuO_q6Rhs)5leG1L~ZP5?n=ZDc`{Tf}< zw5g$;?C4jof|y!sH01TrC2bsSIhFly$L-?{z0i^OMngCPJ>ka0&!0de@C**e^=JeN zObgqv6gu#FXotmNnG#EM)$ zg}$_MP7g^~2Ti^{SOce`9X}thZ${fag!XefNudRWU*m;3cZ8&AhK{r+I-{ZJgQL*_ zPevP9fQI^8b(U-+* zvHm4G@>A%5e~Z^Iy)#_Ti_W|Z`g{efjJ42#^+%r{iPhW}w^L}$g{QC)9!0ad@XRoy zy6BoVMH?85b}$;fZ#+7qd(rQHE730?+t8)@3?1nA=mh`8Oe{Q$UE;oMM8P%c5gmxm z_(pHQ`>_)~g)YGl=#u<{4mj^!VPKunrR$A;RU3-MFo~JCH2QkHei)P9aFK!|&v$p| zuy(W)+R=6B3~xb0IuA{vMQBG`WBqe?Cpxf#=8u~nQ!wjpTA@7JL-F4_d$D_Mua{PP_wx_-V9muJ< zB#&$RGZ!+kz`XFwdZEeI2W@ybnmiNH2JS&;wmA9(dg8r=F6pc2z&=FV zJBDuOZ_ok$h_;`+7;ng!A3n&A9+`R32Fqb;Nzjh_pdAlIlWhWS$EoNSmZtZI&-nw;yVf-`;q4e@Gpq_3kP+m6osT};OVSPDPGes}?mNY4ku z+j21a`D8RgkD{S|5}oKv=>2;zr~Cg?3T~ql=*SZb!;EsHuit9uz&fB2x(>Z>HahT! z(09nQSQWp)T9|K9_`9FBXhgT5yX+J?z(R}J|IH~hpwJ5^p(obc=tvKv51dE$afOG% zKssX^>ci0iJcB0j7VL|M(01xA2}{%&TT&m4d2t2S#q~?r{~j!-xG)9(KpVW};n3h5 ztU>)bG(rclA^wKWp!y>r7rLS6!7MZH2k9e3dt%)c^p_yIcbL+F71#c`N>Rmh1u(Byp? z>*FbOiHbcDj{53Y%l+S-f+0=f7<>#pV6vQSPDHy7u=vt3KJGdDQ*)%l7ccHnl5DoDoXvkke8+;wz zO&>?ULGS+yeLn4}@Of@DIm=Vf4OLXav?EIh9PjOu>-u zLkIF58nU$Yp`q+(vgAY8xLmB)MkCc0jl`Ac0Io%sax}KWX=o(hK$H3xG?yxG@TX(! zzy1{L@Ch`zo{#lCXonw052GEOMmzWoed}d?Ic&#D=tNqf?es@KpB%3*MU(thtd0k; zp!+}Vm2i?3Mzg;Omcl;hw!0l|a51|5HpJ`iqf77|+EKMv!}o*k*pB)nbU<6s=MJDt za}JHvMNIwtKj+3UvrP1$sD|Fq1U*=KpgC|oI)h2^`eIB)44ZL%5Bl6CuZ8=Iq8(Pk z46KcQULTEQ=hxW(Hr$&FhWdK+ft%4KnTBq|yU+)gq76NR74Zf1{{3jO9YRmWv*`DL zj7?!eh0zFTL(3zA%uh&I8Y>v*j1G;3r(GEsL zZ;97up^<$MZU1q!oprIE+)Tj+-$h5d9~h@Nyu&aY1JQG14BF9LbZPI4E=HeUhDk&H90fzNA^IBn!0YIZZ$&>s2YLkU=w!V9 z3wlocheojA|H42UqV2Xom!K`$-Vihrq=;{)x%2I5naNG=m2KM`hp|{L$MMEH)%&51A2B>e^*=!IBMycZ^t2aRY^bOII8=UQOWk#?bA z14Ge{ZbAnz9ew%ShbGxdbmq^Xq2Gqy_a6HE7xDUO%%uKXtQXoFmZl8)Ts`#uR(sk1 zUg#Mw42(C7MH`+R>vPc&FOKz9@$ zefGaIdX5XO-S&9n7x9L#u`<^$Vht?)LHGsYp4g81o!AO@V{^>9FLcljTTs6m{bsZX zO}-D&B}{x629za9!4c)fa+rw@sC~RX2z_8Ix`sDJea;!&AL}d88NP@n?-q1vccRJt zIl6?$&?Wvhn*4==4gG_zb?%SCwkeBllQ!sDU5h?=J=*X@H0$SJbzFv3@m+MLzu^L` z@NpQ>Msxz(unNA99CXRVMG9u^KWMgJx<7PO1S?T5iykap(Ma5h4rn$SsU_%hFQSp$ zhIaG;I)OuI?wms>`d9q?@&ne{f5jF`R=1KMh|xm!oUE6Akq~H0%FF zBT?wHki<2j9iu~{Q_zkV#rjK_^sIh|f=A^ySP`=v49QX*J+tefYu*T*QFm;IgW~no z=s-4O9sC51=%t^BB`bhNtZ1|%`g#4&+5cu`8!i~)E75Gd8r_Zquo_OnA@~H&#`G`3 zzMhAESzUuh?rZFW#lH*_xdlI>z6@*P*h6WFw{bbz&+x_BIF3fo}fNQg{ZJVLb}`dq`K;Wge8-8JpeweN}M$PhF~rY0%)zP}%9<6^Xd z-RJ`!plfynU4lQ+Y|rym2w`b-NorsXY#y(VMGvkiXh%`zspf|2V8~PdT=s&E8c}|9bHo~FQ`=Xz3MLXP!K6eD0;8`@X6;6fc`l3rR z8MC_o@1o$zcP|?H73e|p44RZ{@D<#M74XKdL&zVDu0$iV4xQ;Xw4LK;p_J+ctsjNY&w^gxSJbl{+O2d7+*z0 zJ?AGv%I6z#5cPdOhqbTvOIVU-_#dAS#=(3(_ZA3+NeX8FLi8lt zfo`|IuoVuykd}BFSEDCer;BNc`M3(N!s@@LB`)Hf_#;mKBm9oXs6W|`4CFBG;d+<9 z*(KET|HH52VYz?P5?^yYIho-uqcAv;p6d8dG_*s~(o?@wz6@tlKY=}PM0$GapWnTT zU8w(y9x$CV(o?_jJO~}oF6@kNT#}x8eP5a-J#~aP#ok{^)5|MtyzDxqt&<+&*7(dPqy^bTl2c?>4~Y-U&m?KAV+xqWi(=+qr0QlW$CHE zJGvehQ-2&=xc_VC3^SgHzC_lb$#y)N|MK+ITD6Z(#vR^=Rd8Ic@cE-yk@{XdfWM+k zx+iyf>aXe3@}#GJB-;e9<@!`C@BaUYf+ybvoPrheh8aA8ji~QI50*r}^i&d-#Y$AK z!u~i7jnHS91njSUCsP-;bD=07e1&WA z4;+cl6bU(SdC@TQYtatwMzjAh^o08!oj{giAtzd5b?VE|+;RWd#GXTk5V9rcV-VfS=G zv;6_Ioo}!(Hq1;<{kI}|Bq?;|!sD2UXV3>OE1jPDY4tGdM*T4~o4-X*%9drq8n?r| z)O(;29E!dTr=c&U`RI|n952PE(HwXYJxP;W;tijoAv+px$XPZ$_4X@*Hc$pluBw=h zwb28m9`>W&zFg>FB@U$iEPDSX<zDLmxSE2X4hGlU-md6X&!~K6nrLh0U zqBD6Mo!Rr~H<>Ny%=e&6aR@W;6dH-|(EESIb(m2(g!pB2d%lHEFkh8$y%ajYT9|B2 zp%Dd_U@98w2hf2$i>}ox@$+5iLGlH%vmigL1VPN9_Yk| zp!bihmJAKe;DQIpe00s2v{m(R{c-dp+ln>ub2MkN)d=lW#7ye-(e2tB9nd;7 z8Q(-B@L9ZmJQ)i=p=3%FJECjdE7pf%bLwNT96pbwa331tbLjn9 zYK3+SMysO(OSY%r$gV;6=QuRUZb7qldh}6r0I#C=ZNr(k3+<>w?QkRy!k*OE;}A@% z6W%Gq(8#@pb@3Bq0LetQx?y`2#?pLn1v=suXsEhJ`$b2f1Dp_@jIQlWG=~ z*t2Lvwxba~hA!E8O#S&kf4#7_<hE88hLvL}x_xWG(h8E4kNbf?k z`Bn6*R+biFhC|R?Nuo)$1YNS{(Iwl8o`8FzhtakF8RuYH%kbR1Bn8)gIkv=g=q@;i z7coyOPOLNznAYj3-`y_ICVUZ@hemE68uHJuEB=O_jBVP6>pjtAo`8O1dK`W3Cv+Pp zf2ZKu{Tsc!U0B;I&?C1rnoO0@FBrAald%ih(R1j`Uc){3Hg?Aa?Zdu5f<9lnLujuF zdW5$|&X;838VZHEFflq0?Pyi3Z$%H7{b)!}qoMy7+hc)_VF3Nnr5KG)Xa*YD`_W`w ziB9M#bmnU?!|(qaDA?de^nty&9*^K_xS&(mHtnxWPyNyB9bC%wYdeSc`A=vL73dO@ zw<~&X%tp7}dMtxqVkP_sP3{U^`Km|%iGdWF;Vakyf5MvBuv=*81~fMop-H$O&5`Qe zLvr@OZq!$y138D|utJY;|3m0Ne#Aalv}gDe(M_28_y5mOFak%h4xUH%X~kaQYjU9NkD2HhKL@?>LA2xN(T+Ex54?pA;6rq#r_i_;GdrZ>QkNbrKEDMYMyAq2Xn58K(9>w&VJK z^yDi%EdIy^yHVeTT`=G9@Q2vJ=)m4a+xr-u`4{Mk`VA%@N#jJKFpLXJt`9f-jwV%> zks%V9Xz0qJ$x{Oza6@!PUC>YujE+WMuao2FucEoM8_k_h&`6#h$^N&&AGy#8e@8oR zeM5TU7!E{d+I&>lc6Xrzc?!*eb?8hsq62t8UjGtHQ9q7;5lOo-Y~PZ24fP&a7N5E? z8A9_87Yxxy(a)pD&=7tX>%YeOU+BQIjt)7H8&6X&g&t_x$Aq8p%tp`pLpU7sjtvLZ zt>}RFC1c?*y6w)O$&)cIgseQ86ZO#KYK0D{Z*(}CtmDy0+>A!(9;}Ot(XZWm(1?7E zZpSR+!#gHfgn|urLPvBp`W76Dg~*LtV*TC;;kCRRUGvwlGwwkLo^N7!yH&+<)UUzv zI0Y->O0120;^%)L5$ESWH-%7EK$oBYXVC%tj-}lHS#J#uR=^h2TcJymL}z?2x@Ie|IBq~Y z_y7&*Sv2G&ZVL^!L6fs5dc7a|{0ww=Ekq-|7L(5CRSI{r*1PZ$>Q_z<4RlBAeb5;U zMDM>Do#`wzgZw2&9q7l0p zO~(7sBX~8si;|lt7{YC6(tL(4$yaEWo<*1D4>XiH?hc_XiRMBrG#6T7P3(cGhS7HC zU@Cbrlllg9Y4#%%O(sso8_q=kL9;y1>~Lc>bYLx_9nrP#89yJ5&TKl~j*HQOUN$ET zuvD}rI@~JacJnLpb=f*b@%^D3hB589pO6k=-h~zcnICEf1_vpCHIE=v!VB2 zh7LR*x=l-=6RM96q&pgsKIp{8p!eN|sXzbEr;y2or}1HY8@+MReW9UI=zwNoYMY@A z>_Wdre~G?M|A?QLm>*uZP0#~q3>tw4qs!5pd2T-YzXF9#T=3*Oiq=cqA7rK$m_l))H(VUsKfbC~CF5-gO`V>0SH{uQN zM885qdI76r?gv7WHphk3`{7-97MtUQ2g5{OMDPCu9Z34Zu=Yi;9remd3MR>TbcB=8 zwYmq};^SzN9Y?oY?M30w39Zq{+!nnvdT;b0H1sRbP``z~75Ae_J$`Zcfk$#Zg(_V5 z6|cpT52YuT;3PD;ax4i0%!{4}h0*O<9*taUY>!vt&#{ohBz+FpvTT^@8P%A(t(X|yZa;UIMXPe6~@doUB5)NlQaLLp`AKt z1lz{?)u}rBZv+K9o`lY9uJttjl!`X^+GFvAMC+eLkD|%<4H}uB(RTjBQkZXPSo1pQ z=bg}`>m9F;!_?pZ-$lWsTZ98~1)A-Dp=*4}vh>7vmZ z9M+)zGMZDz(Iv>aG9-0XGzVIuOVnW{`+ow3aa=GoM{qWt$6Imgs`S)1BB+*^87+s>rV*Lqpz|W$Qco|FMduV^(KamVKWULM$%7uooD*9l1w1b{# z@{GVtoP?fuOVInapdIW&*ZMHJ{m!7z<$f}J|1X6eV0WPr$di03BuhiIp+0B>!(x3R zngi3&2+WS3&qsI1QnZ6L=y$u?Px0clDQ9!(4%MwUqg<03hqRA!4K&38PA68mkV1_FOAN87<%6*H2Y_u16YoQeE+{d!6R}9 zav~)@LOcExo$+xr0_V^W{}(?m_FTxB3iv$N+hQ5~0ewEt^C7ZVppmVC=1e2By@8ne z@BfX97bam%KA4T(xDgxT7dRO6z7Sp-6S1eCV-L)_ChVHt=(aqJnV5HNh(I0mU}_ZY zf(~FXrhflt0)@(4n1*hjr_qqUh=y=8+Q2q6QXiuS&N1|h%OB|df1^uv>5DXsh4Ddr z1dT|gb>W1qhvljFT*v-5`EH9J%tJeR3f*>_&~3FBo#{y&k9A)P-hD&V-NmLE}ya_t+ zwrC`Jqq#H`jp#`9d%<{gfNRku-khXRox)*s#yMUNM`lTMEt}&gycr$fA)JO^qXQrM zO6cHrG`o|r{y4I|5>KN8ejXj@Yv=_3hwg&pJ_?TTFgo&6Xh%QB>wlmJPui;?gxS#0 z6-7f?8J$Tx?2n_cF203M=puUmWgEjeQ5+pWE#!JK(K24>fxe{%V=5WZ+;|$zflYWz z8f%Sq)OJ%C@Cx*`{XF{oZgi$6(2mZc+w#v?FR?j9t{N6GP1{g#Z3dt-e=PbWn%ys= zGgyzFblcH}KSgJFDqjB`-7S}IiGQR+w{I(SyG=$zeh+%zBbeI%k5h2%o{Bf@MAz)2 zc>M@^)c%E)FyGcNpr+_^UC<70M3ZYOI>0&Tk}ip#uR@n<1A5=5nDoZu6dc)4XbAsB z8!rBOxZW7;pd-5GebN1Y3s%AT=zuq&9qvLS^I`NP+U`Yci3Q#We_Fog4femubuSle zU?JM@3Um!Oq1$MC{CqdM*89<YD7G`qyb?B|-VF`i9JHfl=+eE2-oF(+nBIx? zqga*t_vmv)-U>-v9ZR|YdsFa++ps3CMkBI6*3V)M>cw}3pLTUdXEYt_;C#FR|A(Ei z;_mPVn48hiXL~z6^*i6WF}0-VM2=!p_kZC%VV_=&uJL_nB-W!1Y(dZV?dZ%7U_CsI zQ?cYbA)6n=Vbnjwp;+hL@K?4E;TY=K-V47UGzq6uKZTR%KQVM~dg{OT_ZhxUeb)Qw ziLKb;gYXxPf8a>!5A6#-JpKy@QorWI@D*zVUPb*o9FI*u3K4q&Z=(JMF2gP#hx@-p zBT;fc`@ai?3KTZu&FH?bdLYdBN_1@pq7U4NCf`k15vQZO;VCpy@5RqQj`hR1mg^^D z{lQN{@;!p)!kSOm{}#5#4?c|_oJN!DUvz+ZK21;jgadH~cKa;+0P%fvw-h}X-VwE; zozU$z1kIhBVto}hroI8IVwXF9D491(Q{!o zdcZt{?%#Fjz;HeQY z!K_~rZ+Hcb$X+zGN70d=K$Gb-nmk2Lg(J8F`VJY29@Q(*0d2*G_z7~-C31cpB2^7N zarfm_(Cn8J5Pa=vp2|J357)od2RZQ{&sPE9#*$?t)HW zIC_AMMt8@ZnDlM6kb(_vL_2yDZRjw1!kxe&IOw}@l5NA`)T^8hC*A_|K>8U6VD~fO z#phgbCcmL;oco8c1jVB@(1WHm8p<2cfzL%> z+iTE)??aF9AJCl1cP?amY4odHm1uQz`_?*_3?Zt|1+%&vnq2+S(2d4+I1BG3tM_0A z^{ajg`?@!}ora>X;n8U1CZTV`sn{Lo;aEI~Z(zHh(-ZGwTJo3h1A%=wfeQnE4Zlvi z7ayfw{(Lywx8X$Ud4CJP5itu5^?Nu1D_lrV{dd9d!+zA8UrbM|z(??YZ18(};tAY^ z{c+?U>4_IHxr0J$3KRYeuhR{9n))f+hx`5_bj;4PZ z_hM}>S0z3!=^%8erlQxEqD%ZfdT@OcOeX%K;9BKL%SdH=DfIo{6wTIa(Cs!FGx5>* z`4+Un{pb<env)O8-9-dlZ{6%$w-|G>$7C=f5*n(31RBz|8Hf@NWDbf zM-PybXi{B7w_mYKGg9Y612jjj!Au;A&SVyvjE|t9e;s`(70ebsuZB*fHP*mBXp+vs z)bIbVq3|XbK1MruAbW5*npDrD$@EIB?}+Y22k%AiC%aq`)NR~jMULRJWodI-wV8gei6x= z*U<9QGIZeM&|NbPJ$jSamL+*UZ$|k3|3kj8hUd`-|3goxZ27|si=yX3jc60}^A2dJ z`^4+x(UWc}dZ5ijbK{=qL+F53qD%5({$wb;#RZSzFQWYlWTf5!U!bA-9!<7O3udHV zQl-(Qsf%83j-D5N&;d+92XGtuQk#Je^g*=aXVK^1Oj2+rd(atvj^@CrSpOM)@E>%S z6etw#D~mQ<6OCAFd;~k=eRu-xXnf%?k-O1$9>Gjphd!75kV0t+pQG9TCpw^9MZye9 zp);(A&a5^1c_(z2^g|n(j-Gt8qxYd}z7So4CFt|3FckqL0?EXi6dLit9<+f((J<4j zIFV{WG?a7D*YpB3QftvOd^5TW-b5p^AMM~2I`BWE1&W2WuYpFg8K!>!w+jW=cn~_X z$>=V)2kYZwSQkG;2bxhlBlTWyhV7|O!t%Hko8U2YAjPi;?N!I_)LWqK-jDY8IOaF$ zHd8Pw-$w`VCA#g-qBAX2B3K4Zni|nYXz1IZ5$J*rcnCJfhtVVW6KsX&(FoQr8FJ!k zO#S!2MpE$1o{SzCORyHM!-n`3I-tU(!T{T#_g#&?&&Ng|!s^uDz|?_+ev`_Y8D?G- zZMQPI1pPDF|0c(cT&RST&>20BM&cPXl$+4|-bL5;6EwNbpdFmU2AEblM6wZjUk5ZI z192cO!U6ar8ksI-k|DXqlnLAJ7Id53i6+-0Xc8?)2lg5o!vCS$^a#2nXVCl4qig&J zx~sC64eeEpwm~P<4{PI?B!x^0kE2KDHgqZSmJ1!%z%JA~p%Hlq?ciy2Nj9SQA49j} zKj_OPvwUc`J$ij4x>Wa|Gv9y?F!?bBPp)6lnO;^QBwKkjn`@&Dj78V>0W>Gx#Mby* zyxy>4SljE-89t1jC(oe+eFHn=x9F18sg&A1$;2oM-mnfk;1_7anU%xKVi-E|`RHzV z70veT=&tz`&4H6>(p|t|n6FAmvRkn-^}Ep-uZ#7M@L3Q2KPfa%;|C8_Gg3dtKUOWQ z>AlrMWFA6ivKF1$cJx5nAN>-I;0bgfe_{^2yhcdMBIsK8Kyzm%dJ?Y0)ZhO!vayI%Wnq=8)W~6>%k_*j=Cg{o81?{*OnydrSB)uNpEjObBzYT471}1Ir zehM{k5t_|A&=BuMXM7Al$6wIo+FL6$@Dtk6f9QSLYKIPrp))LlZo|rGlD0(q8Hjc8 zzS``6*M1up?D%xN;a7CzW$J{`*ThQH+oCfVi_Ux!8oAkcBQ8WE@fRBEw7TINPbqXD zEzqO)8nnL&b=m)RG=&SU-5gBE$IyW-$C0=PUE><{!dc$|oyk~qJ1#?$aSfV;ThM`h zineK*hkK(Zu_N`rupYK;5MD}?aV_<=*cAIU z%t-wv#S%1PpWtx(2m9gBMj;}vqq`ybC55&W{>G}I~Ipfe-J(Ef5wWKqe({U zAF0+sXSx<0=sS2V9z##i22C?kztY(aU5bbCd3+U};NWJdZJA8mMWGoNUPL2t27RsO zZ5}%8gYBp%(InaxJ&xwWzc>Q3wg^c%1`YXCG&%1_m-u0HNuES^$xE2}|Nq_^Z+H)V z;9#sDLvQ>6eeid5#+S4VYnX{%uaC~SHC}>!6N#gX$o5z~t8yOsZ<#!i~+)2700+oPc&P86C(S z=u+H^M(Rm)<{P6QpwEAewtGqU5Qze4Qa3=8cR04A|HK0nZ19tCA@KuxW1Sx1TkCbW zhWaWr3A^?T4nk)#9({f~+Tju$h)<&tN$(YAo)>)wRKoAE1=jTaU-hamq5){g=Avu5 z7`x(D+>DoAoss&9$98m0t6dY4sV@35c^wV)ZZvXVpi6lo*3X~=_!WIV`?XBa{hx<| z5BBl`UXSJR8Fa?)qucEW*1~_#ZCj&vIATZPI_ev+2M*~Ij_&n%FZH~A!&`4T8mUd_ zJK-ZtcHo;&y?$W;)B1-IKY)(#5xfOgpxK*mK*;(MXy}`w1HUrX2ch?kL1%s&x=UuD zuifR*P3V352eAJQ)e$b3Oy6Km{2kp5Sq6qs7C}ERjc&)fXp(iqYj7<3ZrFiU@F=TP?quX&|^j&vm&qUW&=zKVAEE!xoU*cWqM7iN3| z`f^%?KEDo))MhM)`_bKT5gqWQLqa5y#V8ocrf7)!qhBP(q76KUHn0<2!*9_6qz?@Z z7C{GE2{W)R8nK4xeLd0VMxv3OiAG=nk|W8)QVM4KYBUn>pbZ_wig*ZpAY)h7^uC7Z^>)|-yJ710f96xL;YZQrcoAKK?Kl^A zp#$hTGDKo9+TbX3#s)wqucKx9DvI(mCaaz`lX{nPSil3yBghg)6x58qPevYy?+(@dfqcC89q481xNmS zH0zCF1_jXTmC&4MfJ5*qbl|U`k$Dg8;4m8EvuFg*qaFPouNNB~+9``Z*D^`LQ1wFB z`g-)}oDpxBgGS_0td7s49Unxq{2ba*fiYnKMbH6PM3<;O8tOJ^M7l?>MhBYgOTh<* zqM@3AS^NNfug^wv;&C*z>#-hwfi6j|u`$`u0hUDD>52|uAbP&shz?{Px|<$Cc3U#B zf`TL2hR$>k+TrKu0M5qi8RNo1QUFJBy(aQsVM{!UHL2e^Asj?cqwTCmJKTXr^aHe? zPtgG!#VYRq?FK zMF%n#Z^X&5egX^Af8rbk8_s%j7)TLx+tfhUxC=Vso6w_n8XBQF*ccx}2YdiMG5~0zkN%rQcZLB~M|Vd{?1FvJ$UTWA z-2d-VaIL>ZNA@E+lmF0Nk#}a8Q6=>AX6Vv%MU$!@+Tkte+D=82@xJIPw4IIUz~4tB zaRQSzkb72mpfcKV3-loAiRExIw!+8JFAhi1nU=UKBk>{jMF&>t?yw|{(1`Xz53afB z(k?{bk}J^(th<~2Ux~u&Txf--&`6Y@9YR(e-9GJOeJHxNQ_z9lkLJKibmp65{arKy zC$JP=M4u}>Cs-97K+8F-mETUg#tS!~4NXEDm>ug&qifLZ^#=MUn?vZX_ygUhIp>BD zS4Jb(5{<+NoPtZS5f+#i{!XY{lEN!oSdJC2=RIL&w_^|L_n=w-1v=2b(1;YeH&`dy zJvtg)+c~lR3fk_6=#pN*+F0_w5b0!33MNlqG?dq&Gn$My;C*QF{EE&b$NXR`bO~-l z53G5yem|OIE75i~qTBVI=*Q?1e~CmanK(hABNzU|Y1r}pjKpeu3k~(i1tB+PV;kyk z<3!Bodu%|L;tWp5Ld(Jo7o#CvhtBLh?2jk0F}7G9W;z)? zaOR_-UmCAJfhONZG-=;l&i;31JGrn6zd#R+6_1B3-WL4?z3&WWV%mz(a2YhoDx(cI zLI>UoO|r4kJL2aH(B1JcIGkx;6*UhQ7iE_$@lKk}E^V`eGL9Pop`o22Hl@ z=!y0XdNBQpnV5G~xW5jj28f;~t&sIPh^e1%)}Z20lrF08@lwVumJEOP%}_k2d; z0yqAG&gk?D{8cPBlv)!aar4>`s?X4U`yDn-=YAYUy~a!73(7+5MO7rp2B;u^akqmpIAd-8-9n^jy&*{sE^3@GcXtSw%?F(dU`uvK5n z@c$~1{}-H$#P2-UY%?8FufHWDaX;R)H5^#~y`GW!ed2R(gl+!(n_;5$x3T{_@ZcB< z_v6cW6}I|c_ z#7cY)2VtjO;V6D)7yG{_7Y=d3j;ig>Nc{%%JlspY-P@tTJbOY!ZbBQ%^G-<0^=N~K zu{$<-H|&yo@MY?sq3?`)-V00dKDxx&_J-ZnVsA2hce|Af-nc3HCmx{Q{QdAO_AB(=E9>5*= z0^Vl-V?Pgn#d;DwC^~-;&i1=;B=yI!3|{hO2xUd=LcJHd%^t`3xDU;N0f#~kynt<~ zUqm}@dN@q9H~JEL2*x0l-*oub!6gGGNcRmpgl6go-5@+!;9Ck8%(HM_Ks82z2 zViEcld=q^Ke1RUd=g{XaqB)UqD%_VJ^H8seEwL5m!#gqc-~U)l!DM<8eMziGws&GP zcBHTs-Dc_Egyb56zLqCo27ZrK@h7yME4~dKRz?TX1T(QSX2CJ>`c2=m|2@-Za={s{ zLX&F?`u_e99r+Qo;d59N|3aTD_+5B=)v z0Z&TC3k%UTU5$=(8~VE3hj#R7tRKfesegyA{mJh`?);9{2mBDe0Zl}oyBkf?2eAbH zfG*W#=fZu-h7?SOF6f8`V-B1aZAa&Mt?@X#r}tGulzrSh*ibx)H|XR>4i>U1lrC7 zG>2xQ+i?+^1E+A5i<$H1jKpXz+=`{}7?#GwFX3!2gXYKpw1XMw*Yt(xuGor(zR0g3 zQq|E8yP}a9gg!S3U4s9&br#T3Wz818kjC9@fW|e!U4u(-cbcRl5F>&^)`snx?Rom`q!(qPIl?8I_KV&_z1!eT{#SEW4%wI6-0k+2f6qFr$e{sHsbOMEM8YqvZ6`*WjEhr~+ z^$U-GndAu$xz=A56MS_(5v2p=T4n`hfc&5gRvDBX*9MD&ox#fB6i_yF5i9|I1FfLf zH|JA&Bd{R$0I&|Y@*9u;QYi0n$VB@i~!}@PX-r&i!@&Sr}IQ=D>emX zzz$$punV{voDB+J?O)EDw?1fY1eC!eL3w^~EJl&U^`IQ}X0`W%Qg9H=3myYypx2;0 z!~Fu~iKNhP=TWu-WrqvE8sHA_rsRRr=mu=^4EPvq1X|-*5BOFBvHi7ci=`-jH zR*viRF9K_0KLO>M74fi`@0fal^|6nF;!ka{n4e^}1KVOR1?4TB5zkp)9h7%MV?c>N z2F>69s~X>8K1cThyAikpmIUi1u$Vh?fbxVh1C&d(0hAY`!=PNl3!vQPuQeVgp~d`h z{&b+!T>|A{`2ws2CP-v4@2#3(dj9`}5rp!Bz`(>7^PNd>5{vn+_&F#yPlcow^PZ>+ zHpUJD8(pBKQIf0P`oam@nfKL3u`<0m}2qJW%R3gK}vPfev|*IgTQC^*Kxr6{0++8?VsGalb&Es2A%-g@o!4utjn0vV!l}A0OcOa56UxN2~c)kPthNg6B!K3 zGwQ6A7XJSW${rk2a0Qgtf|sD&Oz~4WuXT1%jy?nw{~*O#pyY1`Wk+W~8Q>x)JHHLe z&HWIRyeFW%JC2juV*X#Cl&Sgo$5S}&1Ux4Mn3>hru=X_1T2<#Y8Zt}z#oji>|Pwe>)6e&CdHU+5i%}JO0oW6~4|WFIWU-jfY&*dg*pESZm{$19Vm>nlf^u@p!3yAh zuqf#GfgK5s67~;pCOAHa#h4?H|NJ>E=C|37fHHaJTo&^)mvFEy_AyZI>QuR% zC(|3Of_(!_!OfT{kMq${Ag^<0bwRn-!@ykNd{EvW90L1-XTbVk-F)(V;NaB>MP5AK zfO0fm`JE4|u3!}Q7|?toDPS=_k*E&JP1_Nar|KS{JReL49kf4(HJ4KYAD|DMfcR{uce1TpN`SU|$HQbEjQV|5WO4 zQG5rIBgBW{ zTghPmE6vn52z*U&1C73sFOm%(zZPmN1rx!wjUIm`+Q*q!)7 zZ~!}9tfU4xD;Ta1L&@X5GWnVDg<-da;~Kg5!1|h>I}X=>I?g9JdakfM(y+}6NCf?g!bpWr=-zKNWhI(1=4cd*7Qp%97WB;MYs^53+0m!w>N3|@d3 z@5IeFpcRRU%%1YqHBtwuOa2w|e&8F*LiqdNG`K*5ouYPNG=!-szD#rxzAo4zN61@5V=E+Q zb-2DP#8+Pj2?C!HuS>i?#L*1&5nnI z*WBd{S(A;fgC`#`M^7yjqOsasblwOXW3XG2yn*62=*JjjJl%SWZY%thG!nW@#q6sTjlXz317OQ@~wIxa~> z?9|O5-UR=9a&IY*eD_S`mV7aFAc6P<hXOTCJLF%&}FkmNbC^fV|0-{=prrg7h}Lh*jGT2dfHU`A^kkspw2Vqy@x*I%Q`)uE!cH z4NhdJ%f#mqyRO%AsSYRg)6u^X%LDfzy+lLN2U0f%e>Qxt;mOY5A2FpbJ4#GZ3CMPk z@SD|83zI5NqIfs{6gr5rk{2B6y0UBxw1xP5@|$Sz27GOFBjSor>^!~=V0rwm`_D}O z2jVZ9EZ_GTMq(Fymm#e}gESmnMSMR%kuFX!KQ1GlkQ$McI`DDX6uF;u;JsiLxH_-u7=NqA*n-`bUB3m-5*O)@KRXpPT>rfU+o|Ie|++mLOX^+qikeby!g$Qw(O$@tR3Ig%wZ2b>4; z2Xl;X@D*UtRm%UvL2_}X7kR5h!@!=9wF9rPT1#V!l8`qY`zHDY^p5y1ke7z0;~?Lu z4MRv@sQP_!+YnzZ4OB|v3#2{;wqpo{B5g@(j6ND1%n4j4NhB{s2UxXf_778+Cq7YQ z@a8Je#pUIJXKL%l~|O>Q-{ zFA%@%P!iWv-5KH=#zmcUB=H0kC4#h$+w^N_7KYy?RXF0@tWWq|(uw@<4D2pF8Ga3e zh!mmTF;u4!$6NV;WLAe_ATNMz<;S3lbGu-55a>F4~D>tqELd3pE&E?O*nbMNH({MH?UV;1=23ZJ-IOgK?bZc0M zxA}6(_Seb}f&1`w zM^I%VE>eN~ZunP{TYw?!qL0OYfZ_UK-=)@z94pJb{&zt6>i07WI^jIQnxsRGhqONg zODLR7d^!V(q|>h6o8_tc>z z-i}7y$WH(+CZ{&56g=_aFN!`QE|33nkoZwl6jBcY&l%z&NlU?z_%cB70DV5bjpX*m z7Fmh!6n0tN^Mn@h3Y>_lOXEnf=g+Xfrcf?l|R>aM2DzPycD(Bw1)ljLP9VJYbp9# zx8o~LgD+|~rBM_`2_Y5nhqR-TWF+S#{$cp)QWL=XOip%&I1KN6nqFcJr}0&MBI%s9 z4kMJpvf9Llz((EiD10j^nuomt;_2k^Lk-4T2n&!m4}#|Cqadt|{{<_74kQh-5W7yp z4`5F?HlTNduMu1#Z}G+RF!#?VhZyTvB0ES}2U!w`TTwI+`w}Glbj=@mj4iSU!fC`) zN*?wEL3|?T$S_W zu@XRj6vDOWcUVpISmRSO3V&Bt4L#N4a26w;AD{fjWM$3ugj4tL>{^oG3Z@fjuY-Lh zc?))|7D;Tc5-$V0VOM3C4aDEEy5h@9qX7(ZT2JhYqST5+D0f@_{;08^De`GTAqvZo zu%8`8yEROrLyacaCEgluN^MOD!>LU{-DM?jtcg*Ymx9xa#Wz*sJ;*ip-$a|&Q!J~6 zUr4x(@0J#vp@GORcDB{28fO^nFhlLsCRfR?s`+)uX-Cs$EWT4~N<(Tz8c`>o`tOqu z?J2H8Gb_$g=2Xt4NH^V|!cD}pL*9ahlSny_?+I8PUw)dzz*Sf`(Nl*NraI_0xSCK` zi9DBd#OEmN=5PgmL)b>s-JGqNMk@^k@UPIa#$215t z(WE3kmt0ih-#F@#*8%$iM6<|$&JIQTvf>ky=aL;tEdCj+EUZlA2ar1uZhn5nc!NHe zyw>z_Y{pRoQV*O>Sr@Ro6AUMq11zHh2;naplqbhswz4}Bo8kiS1$H}dzn*M8Y9?vi zOy9Ki}bQHY|jjaqYT8~CglWfadp-KjCk#v5jz5VtK>Y1rEn$J&H%{CKmA|~?784Krt3xG0umqMtAI~r2aP|m;t&(*L!K$vTUD<}O%e1N_^OecO?Uqsj$8PS zvYIgD0{R<%B$n45w$RD9Dba0kImyy{7DRQ4C&jLZofUkhLoKI%6S z)eQ3!Y)FkrKJW?aJbDJ!1N0G~ql+d)Q81Jx;-MHq(^ND_!n(-BA9S}3InM8_Y|eC} zx^k##oFF%ZcvbR?pm$;2VHlBm3|R~QtPI+M{>BA8qH98~yBR=2Z`JMK1qd>z-HW`N zG%TdUM1lELFAMn;i05jvC)6EekSDB8a1O)1&H7Ex>(pG4_kZ0fcmer1aDom~1>FMK zzt~wRJWYHdO-t)ea}qCy&JWKSPazk{%gUfSe=OU$PlIF(vP_4OoHEpj{DSj4^XU*&6#jrH5`S(TVxI*5M`~lwr!I&*Plgbg1fNKE?6L4n(;!7uhX8XKI`VOS0l>(=c*HZ{TyuDf#-pNJG6z>=ZPoptoM%e4w3JjP9s7L%mV`j2n?~9ESWY>m2@OC#Q zkb-*@#9}{W+K1$cEF~vBdO~tsl9z#V!qJ0RKJu3mJAs~#x`oys{oCvY9mQJh+a#l7JD(oV?f(%_uh6Ck`nlm67KB=!*hFNlv~2WovD zIezp=9c%@81F#S3Y0P##{x#o7LG!#M4TbD9m{^-hyfbSa4YHAw!R^E{x^18fH7=Qq z|8Mdq!tsNeXJBiF`{kBn{{7dAB!vaKpFZ$X~~PZgS$hid@(VCwoZcr?C@;75FpCN%Cq!Wx`Kn5;Le7KtJsASsP~ z3HvcQ>sh(T%TLW~w-Y!C5&y5m$V6@n{8PyhsR*uO=ss-X2pCBHNR~^6%lm(kB3dB& zBZx#+(PSY5oOPN;2qg2-7ir_+*eS`$q4_1SN9qY|CU2lyqtf^@6W@gYD*o@R^$fH` z`me$HlNG}B4GCn0w3MDeFC`>wq@vLSibRq#M0RrK5wA?XNGSDD_&>nmr}bmlSPAOJ zlJkz*64+aaWn_J2HFtgfCj?cs*#-2*=mklx0bzCZXTyF0xyVb_dk8*4e24~dXeo1u4Y>uU{1`kl&82cJT0pKb8$CTtHjpE}IDFNYo zZ6fw`R#ld`{w9_P4(qKPgiUErtP(@7m9PJaY{n?ZMC-vA8u@CYzp8AQP{JYU3XwZPus>uMQ;2WZenRTF6^twXcA%6eBh`C?ucpHB?f6CLiex8{3I{Vb5iy!Z$&OmT(SMe(KWDXaadL3?MSd3FgNc#Nv=6 z;uu6i6p9U!W;Dx8;G-T>Pi<~y@?jmT3B{qr$FZ`In};SZ-SXma8t;Tt8{Cs&m0%dP z!RQ;+1{_9tj=2RzZz)JZVF~mwcE5|lJ^1G9Wq3z%An{^q7ozC~eEzWXqNX=10X`eP zFKi|!woANqLj`e+hdU`e8}a3p@Bd~bv9xApA{d8YFu_aOC(Dcx zcVK5%U?@pWIs6-xEiL*o28xETK6%?%F6m3n8{++Olwu_zuPz(O1LtU#BR9#12_%Cw zCm18c5D@8#K8}LfI(^6Bz(0hZ&AT3O@)c8e))AT)@$%)^mK3F*{_(kdv zL!6I)(Y``b2?CKohVs)PGNKRG#$`3WgPa=>1!I4s@odOyXk!C=70m`yCvu3`DpnqR zUD!-s^t7zaCcpOgr6`)UT1i$xyo-ba6g4Kft4_TX(&G4HiRB`<7=&}EdyFp;dCAew zqAw$!4vzWQ>sT&X4No(Sc+|EQPU*jd#FAh=61P+AV@`$xNu!Owps!b=ujqNvJJE28 zYuEVl!6QiGY6(K&(5_w7S zcjBcXJqF1by{2V}m&Hy@Jdm30)E>om&TSYUatp9lX}%nS#l%GJ zg9Y&&QCocP$(>5>b+{bS80Se4DeZQ1bc9r72EKCOR~p$&5BCPeE;&oya&lULv*G$l z-V}%rX~W&*K861t{+{G{QaFe_FZ}D}_kR-V@d@ETcGg@AZ&L6I-!gpbSn*gL$(=$x z4l5POwOr!#&jj3xzBY##6dn>Z3w1#GH2)2|ex<{VCGR`FiLS@r2^@22{+MQ?Ai7Af z7W!0taVXq~ehtDc5Tv8=CLOdr_GpG0iv1fD`GD^kH6kA9li_~Ig3`!{-5vC14Z-KI z@?jT+@pL!%jXM-y#(z@`B(;(`E$7GC#79z-#_e<@;?3|Plkj&{eJ^xjhG`Yh+${t~j z4)?P~1%(C_wzjhMum^_)Sbc4wR{x;jU~5pQH6$o9k|4g|;K-nWP<;Mj5g}BBiEfPw zv|Fj^5*F6Y8f|8ZC)D0ExVL9mmnd6MsNK(6qjmM_R=U`{5+`y>o3LoBuY*3mfni~h zc574^n%%dXwQF=_lu6p8S)<7RZ4eb`i?Z4x?0=>*i9_sBHX*l$MF>xX-P1`WgV;l( zg2>kiUEOV=ezNV-wkR@s1x3pCt$%22k=CB};NZg2-Pgu&K~dH~oW6m!&;Yxi*XD?K zdpt6QhX?m|Zmfp%rm>In7&d!;3_G4#XW-PVuAS%*u`~C?S5cvlsv9P+#Yt;Stoc0Y9tkrl(x4E_OB_ z64nDBquVHmie~dY>=BW2wdkN%*vsmjFOuBwV4JT!gfo)1=Beu*JiYyTNMpYoG56EQ z%@|uRecS{c6V$LrhDRS-8Pg=xBfa;3w@Y}m-Oq0I4GRem=1N3ZgKe}oZxY|2Lz_dH z727Y!mwTp1Sfth87R;ui>@l5Jdt_{FjgATm4(h`m!njIo%ofE*^SZLZphGK}yGxWk zG{`S3^3UDVSUN^p?ZNhdpa}NSBPf!-kzv734mog>y`r^yG?Q`1_}a}m^cuT5gjsup z1#>){6(58AnK8n3kJw`ltoBITu(#Fb8x?Jn5!o4q|52EC4u{7iQMQmSGHYROIJsxS zWYf|+(AHaSatYh~!n|S|N5!3KN#`9NEUk32q{@C{_O13v7yGnV+%#_zHZ`|ojf%N& z#3OA?z-o_FvEKqb{JJ@8a@W|Hw|S!)jhdMQnYR}l)mwP`G-*+{W>YR^v@IeiOlGlj z1G#RaAe)!fNA8MH=XD`=Xd$P|xpCdBy{+5>_TZq9pio-`0ji@z&4YNs;=( diff --git a/application/locale/es_ES/LC_MESSAGES/messages.po b/application/locale/es_ES/LC_MESSAGES/messages.po index a9926ff4c..8bc71d148 100644 --- a/application/locale/es_ES/LC_MESSAGES/messages.po +++ b/application/locale/es_ES/LC_MESSAGES/messages.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" -"POT-Creation-Date: 2025-12-14 17:13+0000\n" +"POT-Creation-Date: 2025-12-19 07:34+0000\n" "PO-Revision-Date: 2025-10-22 00:19+0000\n" "Last-Translator: David Quental \n" "Language-Team: Spanish \n" "Language-Team: Estonian \n" "Language-Team: Finnish Mw&B-+1YZ6dM#vb02Z+<`f;Q1-M$K`et=u`y=HmeCH#>xrJ22Z!KgcpqMY)36pU zz+8z$GVwka^qu$ueeeggfnU)M(sHCFF2!uv5_4k#?20?_POOhrbEYK<;caL;ld&+) zz&f}bFTpR-_K)DD^q)8%Z~TKckmd5UL_RErnOGCcVHdm}C!i5{2lL}Mm<@l6_5Z|j z{#>E{YIMM5V!06-u~wGpKhZH(bVnb&1)cFYBt(fRxC3Y7AnbBQTA~`hfgSNUR>cOn z(-P(JcI<_-@kTs_E?wh1!M1oM694Dfodlao-fWG(=I-m`hf!olv+=b43 zKictOEP`3`rX`ADCYl3Hu?luV+exDDJ(M>snOgf6y+vZ4sXE{_z0QYJnOy@p134?2L)l3W<-uh7t(i8ua= z<@BpUM>#OH{m=oFL6@L5Ij`-9Q7y$kc=gJ?vbKnL&wI)FFPBuu``g%9pW2l4~@ z!e7_~a})|AZHGpvGum-K^u4>#rI>=1a1oZqx6$o;0v*_|XuE%+1Ib=E)lM>z$%Qwn zqifR~4Q(4V*=|B-+zV~!4m5Nl+fu4K71FIDroIeDoq3%Ji#4wqK4$s5rV5)zHYciuZe< z5gUTV-T#xhFtp3i7gwX%`zE@5zDKkCJQ{(*#nKX$u@t%lH=+X=h(0$Qjo>_Ng#W`E z@Ede{Rwb8k7(9%VPN^twB3t15HqTT`n79?9#{j>_ijVq8-hk`1iGZ-qmSTa?*Avb za3;^8k=TeP$rd!p-b2^;Al`?k(FX6V7P5Ra`rISv%oj#ipa;(e^dNd4?dKcJ#IuK~42{;;kU>*7s>Qgktzn~HN6CGfd8X*#Suqx#mvD_b>`6M)%r^oWrSYCnV z()Jqce;+JbGt8(Ix)hbs88wNvkM+IKY#xfv^!`|W6n*|_bfzoOCEAWA>9?`|6nZYC z)e6rQti}E}M3rMjGc?rQ(18ra>NqjhuR&+D8>itnI2;Gp4oB-}Xe7>{AD_%Rp}sNN zaZfaocVQ}tlU%sH)}kZdfX;9a+R&G1hdJto8J9-C_qEVu>J}Xoy(c;q{Y5k%QwJH& zq5KxQ#NF$Kb0E2Z3p@G%E8|6+g5~RnWL$}<0itWZ0S)yobVeV?@{d@C@^4rci!?|} zOvM&x{k!P)J&o>`eAlG@IUt#+$%QiSY1N1M^F)_drh9z&nY+AzFV98J>t z=+~|bI^bEcegV3xUO{)w2F!)qFpv9x9~Y@4K|_BEo#{WZoV`&vNQ$5bQLR|+i|+q1 zu{;soUJKB6UPRm36wB|#^5}(wc<( zIq+)AdC~W(qXTJ$=0JCJK;zK?%|MfTAtp__mtw^>G~^$n9ejgb@HpB)J|84j$Dl|v)kkv(_mC+G5!rIst8{$MX z`8J`+`w=>j|ImS7+9GVPyy%45q6b%Z%*0#Jfj!V78U6ub1{LL~ScmTa!|3)pizZKc z%aC;0(2qz7bVgIr=bylSxEkAHu2$g}Q4cg3m!Tc5K$m6>+WyXDyzvRT)`z0sp-J)+ z`oeiM%d=e@IxdOcuZ>2cS@fn@KNKC{STwSapkKqq=z!OukxjnOMJn0QP@P1#*PpSR zuXS3YC*>0O5KchvXSpskR16(RooI73)Hk3@(jz(mU78_i$D@&fB@>gmaAb4P?e!A+ zOXV{(tN%o2P_RviKza0lX^Dn*2pYM&(GcH@cAP{zdMK9Xqo3y`Xk`9}+1>x^Qx_Zv z=)v$l8uBk<`4rmFMYQ2d+lGPWLF*f#^=;8y>5N9QJKEtOG$MCIN28HQT6X_G%!MJG zht7B@dg8r_j`R@Pz^UjTSdDUeyU<}x^an>hG^wsZbEO^H?jUr{N5uONp#xlqNk_7r z3q!aT4dF&~X4}vKe1P-uYjlRAuMYznhd%cp+R<#Z;iu6hTZy*61s%X{d=|e#b7*pV z_J12L7Pk*S7LTG06~7_Oq!QXdLoANhq8$!G2Qo6=zZZ?%WOV7C!RzoK((^X*pJ+ya)X#{egxw_l=>$OmqNcqBYS0H;v`%(E;~Bm*5sO zqW8!8sp!CGq7j;xOtL35!%moT%dqZQB>>qMKy`s>m2qdVI1o#=qZ zqBDOa*3XGPgSN8@C%XSPa$yMTb`1@*Kws>Lj=Vei!eBIXBhUek!E$&%y8WKV#<&_? zx>HyIvvv#ZRzs7p5thd;*w+1j9~U;T8*jl6(O;)EZwhPlIJz{?U@hE+{?IrV%hkJw z--x$jJ?iIU9o&o8U`CI$L<4MszCRXyZWY#{|HRRFqj1l#CLORY^^?(tUdQ}+8vQAi zrB`UUBKD^|2%YI}G^u_?BbwGb?1szHZJCKiv}!Cj#-vGeJs18a8;oZARCG<}qX*H8 zXajF!l{EgW2zyXY>l2c&7y3J*KlK_B+NFP7*V8mNmE zDPNB+$r$vEPoleGD%#*f=uDr8_P-rm zO@+x-3LQ}S_&{THChgFy?i%X{qaUqNXoEA*C0c+!zbd*R-rtT+Xb(DpPto^}B;x}Y z(HAf29~#V!hO!9Sa5Z#$T^sF;4yYfR?IX}6eFPoQOK5wqp%dJOsU<|;+mA*hd5jC! zK4U<5uq66odGv*v=r(JHhW2*!t9Ca!qtWPd_s9D)(1FfH&y%HC0pCX3`2|a2!CTV& zDV9uJ!$o^4dZVF#0c~(A8mc|$wmF1GB-g+&;F9Q?H%GI*4LZ}V=$iM!vN#$W;$qCi zgXlSM0rR>4uedclSPH9hqa7NeacE>_pfi05?Qk8sOE#fN_&z$|!|0kGkN49Cg{8}b zE=jpqu8FNFx3S*+Ka&e*{v_Ja8nnZ$(cRGx(a?S#J%&Di7O%s^;4rW@XnQ@-0S`mh zdNdlTIcS8IV6qYyuXEvyjz-U;BhGSL@Cr2ah0zA8VkTY_>wBYXdKY@0%!%cf(Ixl@ zUCKYu2wie}c)r-}?Eex}G^aubq7P2RGB^)A<0kYdz5I^w$Lnp-0ltN<`G@FCKg0F- zWh~Dg5_ZKxGy<>3@&R<${5~WZzV}z$86Ieej<6>>pb==Y%*9j=pu1xoI)JTcMBYUQ z@F|)ThtVZCh1D@_X!ujFnplJKBD@LrB;!TNVQGoJRE)!$@pBx2b%uvOo_ivi<*u~E zW7LnpC-Fag1)sb-{Nr}}5#i_hC)kbp$|J+S1Db+<@AqR%yku1P*d^O>;r@IX`{6-+ z9P5n^FYHE7#y?~EUwn>ojeEk!s|=9m~}d=0vmx1-s7A9`Z0Mmye)4s192 zr(g%re$Ju&T!{D6lk9&R%F8x1#AVTsO9Qll#%QwKfFw(z7yA4y=nTfh`umZ*Oiaa8 z5>5)=jLRm+cCfMSp!a9Q@{^N!!8QJz3P*MnE8uCg!>gvGB~D=`cE`&f2%#Q?CfOKt z#t)+B!z1WS=b}rw5RK4YEQSA}OI7N@FtFN5E}UU2w8KtllJ!JKdTVqPy0%lI3uFCi ztV{h?bU^3P38haB&*wsq=F;d1cpZB74?-iJOmbmIbI{N)Lqq#KX5uRJE4UYn<0&*J za!w2HH9#9`gLc##U80HTZ@xL`=XW)FgrA6(nV$L+l4PPk7l!^tG!pC32DYQg^C=pc zGw8_wjOKeN45$kF{0->L2cQ!ehUU=d=z~~}@;r2@w&2z7|F^kt&5q#h_!HiOogNM! zpY`b4XL}@^+5NB!|?x<`adugsmDSjdSe#%{{k)? z(PB*PNOz+%JdSS5f6!dW|9EJy61u;epxdxJ8p%7*$d18uoD_Wko$xeF8rm7L zVlLXyLNt`Gpt-RX9r*`X9lt@oTZ!B=L(bekDd*i4D;bi=90sH@6Dh59h8vGhNQtrJl{3-ZKG;6Ca3ft@s{G9SqoQvb0 zOiTQLmoE4c#4M(cG95@4tX9#TMiTbYeF)qg-KGT4FgShj4KTH}d>1 z+_>u5@bBw-qTA^5=fc5qCE9UGbYIs%2Xq7aeII~MU<{f=Q_$_V7#+|`Y==A09Lf27 zYJ$l`{&0~fk2cs4O`48qM|Yv;zzkf5FQCcPZh7diBRa$0=m|I|mPetcIivu z?+p!I6_WCGyq@RszRUp4_P$&=^1*^4ZU1$iuLATRS=)ljR z1IfB3yk8N`jqA~+7>+(a5nbAcG4=hQ#f57(A8mLUI-r-(7hXqaybIliAK}edX>EA# zAvCn}&!m{-VMeW_cxalpP&VL39A6(1xp`4K$7Q zozVAh##98+hDXQp{qg>cSU(?aZwcD|i?1X@1Fyvgx1lqA4{h)O+VRnN|2K5W{=-q2 zd^Nm(F8UApe71F=gR9WUltu?u56zKg=x*wjj2Cyr2gagVKN-#5r_qrOV@{!GkFCUK5#7>%62#qyJBkX(Shtj_xT=l zCf}m(9Y<$)8l6$vYas%;qb1N?QWG6e8?>LU$bgcGzFe4{L*tG6qSLS}^|P=XZp1S9 z4VK2N8$xzhM1OYQfK_oNI*>#0{&95XIX8xm3u6HFM z|2FU@6?XJ~d~hE+;uGkI|3iOz726utxGp;2_Gkq9VkX{;ZqtS6Qm%<^K_l{By#F({ zp`0c8W>~8m(6#G>^>G9`u$Ry^-hlpo-+_hk8_dMNqD8ia`bN?2=)gy!1DYLu0qtiS zI>F?AE)4lkXtJF}J1V?AlvgjRCFfq$NQ(znHJa)EQKarb*zEiu?jwnwQ*y- ze=5}T&wo3^zHN@K(cS0_A4NmH0^QHs(1Gql*YI<6+kJ~ZcN!hYCA-4f=EF?Nb;jrpSL_bior!i(4jn-4Sl(ON1gE`#)A9G>DU!lo#0&O7UoiM}8qeU_m$Vc*^G4|V&Ex%c$#~Hf?WixN<1j3ZcVls!k3I1BVM(@`{m!>;9&|A;}4M(4!h7NQdI`d^{f5~lJ7`lDvFO!q#h_mhsOHmAcuoXJ9 zF6ifTFdBj9u{wT?_h9;mVd=)A`~O*VfS+Mw{0%!{t&dVCX)-aD3rD&bePJDXz#Kyd za@oh>s4a;tDAz^@axc2A9>E^C3jO?M{Uq#)B4}>ZMR!9x%!7|$Eqn^E^vB#sTr{HM z7>>h|`@?{qLOWWIM(7>%fI1rM6Q732qKCu4>Yz(?1G+1QVM)9XUGrzq0q?__ zcoEaF>X#uRHPEBFE*g>Rl3W;~u9(`lnA*2!=%=9#%tFunx#-dQEN0+JycXBsl|1+x zI-u;|g!igMtK;p|*TN3?6uyDUlUz7}=f4dvu0!|r0d%D4-=!snVLmiDC!^bR1J=Qx z(3~jteOl^sTLV20I-?=PZ1=1>wHz)Vc~!ZI%WvA7;xiv4Id|BBu( z{$p6vn&>tih@NPZaT&gb{<7)*Q&_^`=*%ZXr=cCsMhChKTjI+0I1WX#`!IT9Ry-N%tD(DQ2|AGFXfA9xnG7S{ zN`(V?7hR)I(Ixl_&GIAhexXyLfihU0`Z`z^`=akpMF%z;P12R}703XLjxC(vmIQsm*Xn&Xg6+T`C{$l_8Kw&EEup0VcLv#t+p)Yig z<^Hie3{9dj==m@aeSbdsRa}Oi3(uqP??sdL0J=m!pcDP~FZRD@cHWC2B$?=UzabjJ zL0A@N#QIm!4!?}|&!HhN^mkaghUj~J(cSSNI)KN~0X~5y^Ruyjb&?BbvJsv6HuS-L z(L>Q6(4;$yHk|QKh|uNeObVm*RnZRXqcd)fPOuZ&e!uAOSf9L~3qw5v?O-9=(2KFW z4sGx)bf9~&0e*(=^DF)h+qVGPVR>{3>f_zmDAvD>o(EgeCI13xH<>scE)svBGf(^% z29y)+xDZ-j5}j#Pbbu}5{q|^5c0(s}Cpy!y@&0u5;F%T6FQVh_~B)_I6Bj&I1pQ-Gk6JYXd7nY9(3EDLX+>ZwDiBb9&fBfXY_h3??XE}9LqnV13Vv1Pft(HFgJFfz5=EqfOa$;eSaPrxuxh5y@W|S zUd@F^>nG?@{5ksKiRd3_Ze+;_k;sqUFB+|YnUw3I9d}39dNA726f}3HMIT4sUyzZW zOs(;=R2ZUF(N~ZkvxyDpi*KMW?1=6|2YeXq@Vi+5D;l|f&~2G7OPF~bGzk&|rb+p5+Xvp42*Zfm7DUV0bqPcT1mJ4MK5iA+4jSi?ax;t*h zRL6K7<*7+7UQT0Mp=bYuY@x#?=t1!UI*@hfz_z0UeLMOAI-vdNK)ysf`YYbgerd?9 zJlK-@I_Uf3(C3nqxG*_pp+CW%!t%HVUGvY;0UVFz-_eL-uJ4u{| zv(Y8GDtowJ41KQ(+Fm`R{bZsQ7rxjH{W{%-j&L%%_79;Q%t9md4Eo$oOdZAX{yB8J zrsoI|DT#Ji32mninv9L({pOhZ`~U5@sKkwK=+|sAR>Y-P6Zc>({1**z&72{-Z$t+^ z6m57Sx)f8;(9Vc1MhCJI-L|jA@-EBn|Giwewuf;nev2+i&&xwYgV2udK_f989q0n| zzGPb9DQ4#)&vM-amE)``-u7Q(?Ae%^f04(F8<>Hv z`LpPATjKq9(U2a(3ivBl#lrk4L^W)St#BMR!#A-p{)hI{IDfi-j+jie=fWS0Gtex4 z7u^kiq8U^!{z=dt=auOo%>=PUwkPei3bVBc}fMKX!59 zOg=!j%lBvwoIsQ0O!RNGp=D*JCC3 z|My%t^ITV@r~cuvDVoju(3u>>ig*k?Qgasy*;U zTaCWA89foss`+sAS*G--!M$DtFLhQ2ow-LA{y z{k7=(TMM)QeQ{5`@j05s$IwvyhYskKqU?XaR(q%@gPpGq$uSmv@j-OEtwlrk0lFKGM*oQxC>H9gp&hr0 zPhmOSjON&pBp05^C(tB0jfOr;@i3!&=r$^g-oFza&}6KMPook12wm&1 z(9nJ#{WaeI7ftRQnPGe8LkEy-$%Sjv4o$AE=!3n`ncjkxaRTN!A^W%y?{p3($ytfnVV-XpZbH8?ygfEJXi_GhC!XQ!XS=K6HDOLbJU#8kyGU zHfxV2S$8y9Z$sC1GTOmX^!atM{07#b`~f<^f6@L5m!}=~e@QM(nwsc{JE8*^gs$xv zG$$UwsyHXs??8{5nYm>(S|RgOLBSTuoTtN`=hW9PR44uu`>I=Iu}32 z2d}CU9_)>Fcn6w1=>eclEF&lcTfH$UTG3d=0wBpP(HcLQlkF@&0La zN%JIYgo{k{g=$y^>!EAe2hEAm@%|%d(#=7?Vyj~P>*%i8j^@bs=n0pnW@xuH8lev8 zw(gHEVR9T7b~Ft=;hshtehuwtNAz&4{|y~^TCMP0ZtO+5D0-0Hi{{h>G}{-UGk*V!PwO@)3 zJHDxDWZWhr|+GOL zf8YrG1@E{vJ@vQSdbVbNGoZcr4)u-Nq^JJ#nk;SEp47jAUGV*O>4{^u(>^`17_;0E z2Cx(j`6V6FQ-9>z94AwL2s>i-j_m)oT=eRgp86}1&!H#TuQ(VpZVUq(g6$~Z(kcA1 zc^Ugt{tjK57M;^m|8{E;K0-OYOM2?RDSHgdP(Fk%Wuj~7rwu+yab8#U|7ToO>lS_> zWW6apF`n`OoPb}V4fN<9LN^iJRtK;i=ID{0`g_1Fu?gja=!^^W3@2SDGzq6i-$0k} zWVBeaS9)Rx6`imm=Ib3EXoBS^kHG!72wmG@H>aome$WbRO8HythM9fBK*yjb>Qgul z_s06``i6Z!4C_-r4Lzum+qg&_7-&-E=@<6%HF!Pc`Ir^IL$}?J(X)67<$uugB1`}D zL_f@pX7}CbfcIe+ymUaQzZn}+-h?CF|G#tLgLm8#_W!f!_IVc#{V!Mo^A8LWsfW&> zA9lcn_yYcjeynEQ8hjod@Fw*Ax6y;?NAz=@b&&P!|I%Do(HaZkAoT1{qDlBLnmoUv zk*Ys9J#iP_hIV)m-9@L+qqXU6VM0ByH|0541y7^NS@ibs<8=i#q5s55E^ft&cZ4;a zi8lNp`nf!cw_)KS;pCcvH&Xrquf=+Ih5_D>ttr2a=1$I`;qzM?H&VVA3uCom;XG-F zNne=Bh1=)=+HjTO;ae~fZ=k#Y+v8Ep#2R;n=R0Fv$}ghNeTyD2RqqZ*^E7k`W}qLR z1!#m{z}&d=Zub8bT`8g{$S~29Ba@-SMx)YGf1|k-`rR&!O9ISCR{V`~84Em~l_A5W2ssp=)**`r;#43137*`Wd>`KcWM> zVoZowIkerD===TA-82D<<1#c^lRLQZ#Y6Fdv$1^Dy`jE3I#v<&({4Rr0VMH?D`CeL_uK=aUV z#Y?e%Ypg$r{vP-ljo4r4bA`r*h*U;%q%Br<|99ZRzZHFMJeI-*Xy`YgU%hX!I#!>+gx&uGxNsK?LkDm_8i5(;z@9;W z0lk2Rd=>iqMqG{Wpi465zHlN=MEC zhtLQ-jhEm$bZs}q`|qL8e;xe=Z6`4?J@t3Ia-!|@#Wpw!-^MMmeoB)4?+Z_`4V~Gu z=(byp&fsnI_rWK49TuGwj^JC-8O=rCUyKf9MJ&IL4)`r}?f0OO{W{)1h3=jUlW5o( zWuF{=`xQcG+!}50X0(H0=nLb}hGt*`T!e13{dhC}8ogmksDBCl=)8l~@EE$3`5y?$ zSt!Yc4c5m@Y>nOVHgsUy(CpubM(D>_e>R%-V91r+=u(zO+iMhUhn|o<(44s?mPcY^ z%E|klCfZSpXfO1+k?24tqvynvX!0&acf*U(x6uK8 zhdh@|oaACM6=%@3A2ls}P9MP=DSw6ivFh~jLt-Wx(j!<4(;f-~sDp0PR#*btVtKq1 z%i=sVf}7Ea>`s;0e+S}?@1m#Bk^d1*JREZ2GBoK5qme3!&bS&Hu{P+oy&XMx?n85C zF`6SUqq+4yR>5zvqWeGBBVh&&qHQpf`tE45j74X59~!#JXa_UU(7zPx-#}-!3tgi9 zXar88OK|0kkQ>#}fi=O@{=bn6v;B5-X5-MTpN0-#4%*=YG=#6=1GqijZ}n&xSQ|8Q zozVgJ#tPUUr{E)KdzU{JBA4ee_P-BSq@pxdLqpsZeeh;<#{FY?2>SeREQh1e2rNbi z_!1iG_t4z<0p0(F9}h=v72HU{aGLDQ@$PR;Iddg7|Xe5g(J2# z*5m$syaxBi@};vweKT}>jm2iTA(sEZR+Q_^3BQ8JC%Lep4cG!tqYu=W8%8_^-32SK z7hXVT+GSoyrjcmUJ%lddQ|J=Dj2^w4q93BUaTKTFdGx*Hg!v&EW@1w+mZ96{JNyGP z7LW^R{9`$eqMU7E_|Z85{ROiFOW{$pgG(2Mh+Y-VLF7u z{x{^J12;0B4hKwUw1MSlgKN+v+JJ7O_pl%yi~fUllz&O6uZA9E*P$KuMI$p5U6T9I zq@Hcr{lAzC4~Dg9sCJ_>J%-ofNi<1oJQHkyHrO0p!%k>K2BG_UG#Zg<=mchw?PY1p@QmxVttcmtoLzV-jYKcs$#uKktIh9s_!?w-4` zBEE?3|4-3e`4>HqN<0^KSG(uf|2I)FiHb&e5L@Gw&xh^U8*OL?nw%TZUGO`aq@9+B z-7yMpp!^oPoARzmPyMCUcIfl3qXWtJLioBiMxUGiLNbJ6FBLVZID*x&z>DFB#&y`0 z@))d)d$1B-z}i^)rEtF|wxqloo8eh>;I&qUecm_vB>MgVw7>M^s!&k}9nkEdPcRC|6jWp8B6`eje|oTy#x(>c5zthu2Zgvo`z~ zP4?uX6BRF_A-;&WV#8O$zi?cNM&M6$U>#mfPn^Mr&`6D67m{`*mZtnZTK@~0l$q

aeTEL;E6m~k{~=bKMQ3mkUE9o!VViZs)b>KR&uH}PI5yTlh;GNZ z=nS7lJ6?@taThwU6KMNcUk^D~5mSHvzZn;HFc#BsI{L%n5wyc+(GjmeJ6?-fa0|L^ zcc9PjLEAZs4&)sA{J-dcvcC}`RUA#edYE+NL%8r97>}M zxDPAhk7&sAZVK-gN8hW0xv^ff4K}0P6K&_oP3(V9sOPD0Myt?{UO^9xt>~J48}I*w zM(AgBpufiYf6+)~Yz`e~LkE-xZLb*Ge#K}tG-qmWX8-$Qdn)YcMsz?u;)DIr`?sP= zbUQlo;pp?@qLa}`J{<2aLOXaa-rs^Q!CSHX1v;?rl3X~lpV1D^qBFaIc5um-u=cso zkQPMGg%ap4Xo;Q=_oJa+gGO$9^a%QmxMXX1t}wdP?a=`w`*LANLvR|7M9+agu@yFW zGkk<5;$X^ep+{|{ZDG5P!`mpojYg)*_RwB^bVAM0fwxANnKwnB?}83wAo|`g%r>7V~FFr58saTw*Fyn#2p6J{_P?eHOVn^!=o)W|_509>9gOAgWBDZd z-0x_6+23XV8@emGxRRNcvVwB`_rmx2b?ij>G&aR%?}r&rLXYB?(1_*S6J|OzIvzbA z9>PMnEY@#E2mT)V1LTuE?0>WHCn_A#d33w|i_SFtgYZH@^!Gs~n*DvS9465jtw49d zX0)B3(OmfhJ;<``&2;}D9x=nLi1q^XWBO_S&ixRUbC z_#R&RNx1(BuAuxKI?#vrhlbank==p*6VYCD7o3Rof1%qjdC8|Cgjb^@s)7E>ZHX>H zKQy$X^&=3r;~Ppsm?ng55rknKR2 zSwS>O%A!lr2rFYZER9pp2(3Wh-+-QgZ=yN!Av%FGXuFpj49^unpDTu0O!sPB*idaW zJ6obBSNqfh{L?HNs_tkq4M&$~GFHQxXoK6Z4}OGqVb#yWxv&IVP(F`+vECQq2hReW zPXCDyxfq4r4}~?`gC^0z=-09S7`jAf(3xc%4xzjXjZjVWqjNnP>Va4ZC!xD!75d(G ztcssu>Yx9!d>I}ribkLf`cJQ&&<cyt0waT&gZQ?UIJ_WxsCe0U@r!F`T~kt-{t|ueSM&h7h^hTw;HS`06?9FTpgGVr+6O%k z24j7kf<19Fx*PHz4+Afc^(Z&THaITU@5I@Z52GCpI}!SOFqllt=fZ4Xj`!lr=*d;) zWC&3WbVkk4`mX5n{n4Db4Nu@}*a4TG3jdnz7vz9RjQ=@&Q}&`u@G*KG9LCh&|2fG; zO)9dU4r^Z@yHOsB&TuCh^3TwYze4x_Q8Z#_(a>J{OM2@6lS)3ULU|Il#ntFiT|hg| z{cD&=CX)aB%?2)PxEh*tb+ID$Ks$Z_%i;|5>-Z|B;|BD-H_!oWM{{WpnuK4WOL-QJ z;6?QPE6#-E&4;Of{;$G?9X7?~I0Owex?)6a+PkqZrR5v+j~(6#Q3)$v7i=7-Q3euqZt z1eV0J_%P=GEj;%O8lmOrQoIuD-}{aIZ^%B1H@-(h_ZK>&D}E25)KBlAnVpYccN_o^fpb+}OxGqFGVxtxs8;WC_stuKVH-a%|d z`EPUp&HoI^HVl1lF*< z-b9n=*J!@9@IqbeM15~G`Cdk|cs*vpZ_s2sik|I1qrdt7j^)eJGg1-03eBa;nBV>1 zmPKP)T*ZyKSOJ^m z4%==B`r=GF@3GMi1w7sEdB*vn-Gy|RBdQ2Lc@3?RV zX;+39bD_JT7@9nT(H|UlqDS;_G-8ut`DyfPxd!cMH#(s&(4{+qM(!+n&Rj(M%gE3E zx53=`GgAK#MoOX`zK(`=EBfF*bS8&m{f}rUFQ5(QD-Z@$6xUI1fTi(g?1gy?W~9D$ z!_am%qf78kLH55R{fdgR_#+zHTvvrPFN%h;6jsDqSPc7OBfKB`;3jN`R}~89#X$61 z@gh#bi|9w{zQW=DdUO~4m5dix6$vx1i$?A4Ma+4Vh>%@m{PrjIPbG=oxey{S(b!JS0;UG}#)V4Rwk2 zeWF8S{RCXd{i$fX#WKUvRzxFMA5;JTznXL516|PM>xa(pR&)k;#`|lqC*{pp0rQs# zOVAXJ!~irmhNHRh7+#C-qaEfhnUVUtrG@Zz%JVSw{r`uHa#Z9i6*_K+W^apFz75^y z!_kgLq75d|81JB5v3$ttdFW5FXD}0YqHBKyJz##uGWd5am#mPH`jgZeXbwGtehoLGOY<=r zsazG4A*A^$hHX(24QUy48`eR0$8~5ZdqfAI4GclQmLt%U^fC1Pm(eBJiaxg|`Uz%I z{sL|HuOt_Cl%rDEMpvVuxdy9Z4>Xk1(GH$QU)+i=!M^Bs=>9*CKK~z@Q~4{0=Nh9C zz7ZYZZRoa5-phpz&qD{Y9({0keBdjrMfoqRf>o=8j&6?Lh9=d>=vd68JQ1D1Gw8{= z58YjVqDlNOlBE3kZ`JT%K{QKSquJg84S8pDV7=r0VQ6UY!5a7gw!qi0DPF*9uzt00 z;Eci!l$WC?;BRQ;a#i=BO7gE#xTs7;9V~&jU|D<+UAvWNhp)!+cJ%po&}2G~c2J{6 zcyAJxqP!xy2mPG?f^D!u%@C21SeE|zPcFht-$Fawiyon$qHFn6EdLwJd25AVyXDat zHAW+J6Z-t^*aIh`p+1PN_0d>Ps~sYp3se95e+6PiG4$Xl8?A{ZOB3vf9nglBpb^@P z4)}X?8y`m_mA_7iKq+)7u0yxs6m+0ZqRG0d4*TDVja0Zl--{0%K|}motS?zNlpCQP z-+>-fv(OxP8;!&tn2EXTWu*R`paxc>d<**g9CYp9L6_oCJ@)@FE=twUNd2|D**Kr_ zadcqG1|hp=qoI5Pf5PX`WPR+KFo5}JmcN5_@GP23xZy0F2Q^7OKgIj8)qc?<817UXK@I2YLb!q z*L7QPDCK17rs1nJ8*ir~XS0mdf6;Ic{*Ury%`*}o;3|9?$F&I06>OQ2`ctw=*oXQ9 z=r^KvtMJQbDBeZ+P4pb7dTn^G4?aqHH}ZTk(WP~m@eI6?8*}k3Jc@3k7q1JuVJ~_x zeTSZa7cdhqYZF3R5&cHAMU!|a8p*L}vQ0w25i>9oUqSMpe+$KhFC0K$_#SiO30#4H z#QJC2hLEp_Zbb*QAMM}-UW&h=yWn4R8|Q2neynDq189hzgaa`3`+qPOX74>#;N$3v zPor7-3Z|uT1mi@?e_tQAP zgZv%BHo2=~M&cIgpF{t#I@^t5rbVN*&@;asZp0hWbK%lX;agG${XAcb&a`7JcSR@I z7c+5KC-%Qd^EeeAk-O2~^@+}5pBBMp6syMaU1-Ns(1YnAG)ESqq2CgH8w*n2heq-T zGy;EN2IlM%>T`Et|GW03sc^*A(NJE4HrOTB-;4{0&|vfc`KN0}>c3*i-7O?zd%TwV zKC%2Py6x7Zxs>mwF!M~TOt~7`&do_K+R^Y`*q@3`-NVd^^axf$ld>T?(3Y{>5j#-s zj?Hj6dcgdMMy7DjFvE)I5;j4Tv6L<2iI`JN5}l+!OuQ+>LeJ|BrBCNOr^<@1YGJ zL6hzBzF|iB(9l-G)RM&dmT07UqaUYXXr$($2hua>F4&3F@Evp;cj(6e{r>OeVmwyp zpOO0S_MXELl(P>Ae-?BfPNDpJblfc&slWICH@fC42ZrarMmxOm*6JO{m$2%$a8tjz)Vao<-)b!fgZh|qD%4%x=j+}!|(pWm`Sk>`rIApKd3y2F2(k;87cGw_abq+>U9qtHe?qKSfKPB^E80=FDZv5g z42PlL^?T9%JrzyHS!e_op&hJ3ch4>~l3&E~3G`%4JP^K;S78D7e|;`0VMlak6VQ(4 z$MUmSoATCJK8qDdi<}Q;B={dqOVpj7k@_o|bsi2$`Uv*q`7hB()O{qh*93Vj(H_l> z8!_372F7#YLGjs)Fyq7M%zi|_UcaI<`3G$<*Q3D#Xi^nJm#_>Pxocv5Ycz5<#QN^B zJP@7Wut(YduJHsa49!fOjVthBZ17mffnAtM`5=12T|l2N@_6W=7FuqMhQ1p*ushL- zj6^3m0nM4o=!E7zPLg>dJx4_*ZbjGdYjoznp)*dO8P+&EI>W2cfmc9h(im;{U$VG`;%O_jebJc=8{<%iDxl8dN8d<8@O(E7*HRyJOmx+By_ht zfxf>UOX2J2OuvktMkA4!6Z*RhjZm^27k<^MVlixjW_KSnWVfRa4o4$#PprQm-L4Oy zXZ;*BB2UEfO1y^hTC|;$XfB+=@pv(m`S(9_!^|dO8E!m=hIAd;@D6mwyD>E*bgfUv z`b*}8`$f^Esfo_C2|AJM;{DF(lHQIk)jinQ{XZ>r!M{krhTKS>A4c9JIu1KizaHyg zwgq9Pjj!R!yD0oK7h`A5xP`s(WTk^6#L)M zd_aX+`Vl(Q16UuAp&b-^I=oOGYg2B3-ElY$#NFr&D=rC3&9iylnOw|7*KRHP;_K+P+lfZxJouXs0IQO5y^0+Pf6S~HE{uc&Z9UX8d zY>ETWrCWxz{Qe*0qA?XYo(*5EwrGf-#TxiII@9dWg|#e!%_!HyjyM+E;k)QI&G&q` zKN!8g0$br9Xe1gf4?k%7V(QQTALYU|T7rgt4H}v^&=YMpx*HCmGr54y{L&TSr&M`# zz&GF|oPtkc#tTF+jdpP+<#%5UOWNb5&|g1w|KH7p$uSvCzUgQ#EI^ZF3EJTbG_>!a z1N{Lj;;&c*i>wR-ZHuX7Lnkr}9r$>(ok!4qUc#hV`vw;#+kW)GIfTyq8#EWrp-WI; zRcN>hwxC=K9pD&rz)AGzo{qLNKh{5qM)-fRejQe${Q9a4{`+q(exkw-&!HpD_Hst* z@8=dolPmk`uS-;DP^M3>|{wBujU$mDo6 zByI8vE-Fyb3P<8_%*5}|qceS7NV2QY8MlmfL7y8K%MYTtG!ISE)#%4;FV?^lXatL{ z4?j?vBK66{KrZZPK03mccoV*Z4YAm3VL$i6Rg@Rw_1I=Z_}6puupH&j(GxGRF(dWg z``w9teBMPP^etA$f6?t)?R6u{{=1b6M?MV);8OIcOn)P8E4+ttTlBeY=nTJzUcg%@ z7u*!S>*LV_XFjIR4eUhu0%4oA&`Mht2$X$yr@ic6SYq1ob$D}j4YFo(adU!kK#%NYAN0V$V z`q|xyCeyxn|4TG!e?XJ&T)dxUdw4%D{!D#Q^qk1PBjiv%^u1C$*#9WO`7?Cik9jL}cptjmW}*Xp0zF!nBUzo;jh+J+qW_`KUGjEV`~2uq zHA!;ehzFq~vz&=b(0#rQ9r*#Qihp5ctgt)$k5%fsT@qT!(HX4a~xEPzFyXY`}hmH4y z+$jD*h;(&qL499j!pX!kF6L0N9ot}+z2R(rDtZ7NaqfNL2TFBpM)_tm%b&)n_z`+y z-t=Ku^SS8H^R?)Je?oI2&qrbAB{22B|6MtC!C$3BLwyt4;du1LC($L^g@*PkbnVWe zGcWvcXs{%@=2g($QyabC1j}J-w4LGTa}VLANiJq`VW=0PFFfZBT!nV{8k&52&?Nd8 zZRlHcjsHU5&-O`pKOdUiMes_j66;%FbIR?|=O4vns$(uZDxbql+=33|D>SK&p$(ou zx9Q(#!-e(-tD^hAWh{4%2=4+t>`x?axT29;p3kSo?118NCGC;)nP# z7Wyn4r6HA(Ek1|q@dQ4G&wLTr`cOvdFEG|dx6?}WK-z#V;d^L%pP<|D8+7S@Mspxr z@^Cnlb75gBI-{W-h9=DvGzniqXSN^9;4yS2Ilc^8UJ3hB9*C=PCw9dVUxhz#+>H*r z=GS2fx1;Av@+&Szad93e5R%)!2^}5%Htf^iu{ZY{d>8&6z2bPf80WDmMDC69&3 z)I)d8cyx*8pvkrw{r#{99r#gn$xfpKzw(FBUr|i`?|)a~Vmdb(pflWoj&yJI>*z0N z1BoBQKrhAAiH1I3BG%VLBhV0yOj~pt4@Dy}0!_l{m~^DexG+mMMc+Y3{%I_KjUKfp z(IhPPQ;0-$>`(bxG})G;+w5Yr(D5+PdT8XDq31_8bigBzv;PhC15`ND1@VD5&?Py5 zRqvhcSf`L9yAh(3HHA?PR5Eq;)7`? zL#Qvu>fFzdMyNH~a2G6x-O+}UXe1xT()d4gVDF#<`x?!q(^wI+p9(oqC&@)6DtcoD zoQ{U@6|9UOq8Rj~BW;rY(!Oedm|dKjI^!dU+tn#^m^oOvCc`F8ZVPov3iwz24%PD6La6KJliK?k}6U5XFTcD_e)BAGbF zg$<_t5=NQ}TT(879+AD!#I_7#iYizlP*0h@Jzr(fXUv84r%-k!U2Q z;AI{~3%Ic1rI?B9Qa1<@rq&KqYlqG>`JV4U4k87xc}8TgF*oxKqdSJb(s9Vx(Q-Htsps6qVg~wtOu27 zCe$gPYg`Id$Xcjtza8occ-VLX`Y}HHmHS@>TtK1I`~)iTFQ~U%k-oX7I0n=XrG&Z- zv%=i45mZ65pf15ms7LDom>k}MIpJ@p!<_xQ8#f=+P8ask(QQ&0%CRX_!2VE`kAF)p?0DJ z)EO8Ed%-bK4-W4icRoHG&p16);5|@>^E6bP=QjQUb$7)2>oO2(C)+}ujmgmY`yX@Z z$Z-YK3U?bHLpg-!=xB?xKt0=wLlxKts<7@*J2wXEFiwIx?bD!kU_Q(Ow?N$u&!Emw z$PivnKHdLW=oEqNVH&s*>b|`NlfY1ZZs3$qXCwfsprTOsdrhcZd>zw#v8_>h3xa+UIu8pwJtN8_*yAG=l_T+-sH^>b5Hm zb=ayy?NDbM&w;w%cR(%V4pd>EZ5%PI*LjUd2~|i*s7qbNXNta1*K#=2%BPxs4V2+_ zsGWEKW%t46|3W1UAI=S&9O{f@v~ek@t*&b04#wU_-%vWLbOLMzS3unbQNz2AxuLFI zRj3`R4^`kms8_uiPHs2#Wub=UYs@H)?h0I2v4p$h8>b+{)%ULAd&eRTBp_%2jn zzlbj5K_$ox^TH~y6dVUj!|PBF68}hE=lw!OSb^~rs2zC>%fkO)BUm!B*ZKU=N~lBo z0!G#A|9d*B%oD{mhz~Wc4OLiIsKYl4YA04hU5c&7<4}k1Ce#^uXZk--hb(GT_s}MU zdQN14Dj*kh{{PQH>YykK6}YCcHBDqYcMkd#_!b>qqqi`u3}Uz|i41kv5<|WErH4B8d0;`<6v}=v)FE2~ zRq$~rzc)~Ee?nc_=rP^15&)IALQL*|ZCw+a=mqtNoCoEw2WtMZ@g>y#{|9QPV#IP2 zr-T{@LfKb=@^58hpK%&YgMJOv*}58w`(N+TzM@d2v0}U946p&?a!>)+K%MSGP-o*A z)G7Z9wG*l0c%4_j<}f$oJy3`AGdutb#`QWcMt`8<1;q0@A66;kqoXZb0CjsEGroiw z7)OZjt}GAK7MF!NU<;@~bD=KDW~kftF3b$Q3B1l5jvO!~wJ*7Hq3(lIeZG^CiOZ$ zX#5SoGA@wJ-GS`M-5tpdbp{GS=l*X+N0s-6s%$XS=^YJqyUm1I;Z~?i^a8en;ZwM0 zrYH1<;0X$~6H`;V&x;jMXKN=^+#68OhX*$Q9!AsazbBPjS#+r9Ks=~Zo)YS8vV3&2INFnj>> z!KB&U`T9_Ww17H<-Cz_r9cm%VpOIcIqosps=~zyPyEnCFu%F!C9~mdceYC!r7Kf~E4fchx}XeExSc zoi-mDd6VyAQ7KOZ?7R*nB z?HT_Hba$prVV7ND7Pg`vyvY3eqTK&7^cC|uzZCKo>i(}@-0S>!d@j`Kz7C7PXeHcn zH8_Rw1XvO#FX{DMg>9kY1(x!9cEa_rHEda$S4#@J1XIHAW!&dM;&R;on^CMT$AbaZ zui*7;!=YP6wvut$N?y-A*tN3Pa|?a6s$S>!dtbwWj2BdMUw-|oyYKND!m;QN!iunb z4fi!;9<0vz1JofbS<~z34;$6w{*Ok2`zWfS__vn31I22)uZm-!9w={NTUe})m%sDM zmuRph>{r+834~8!Wtg&_*ZFB#Pq>TmW%ve;t-;opGF;900xS#rG>M$m5>UBO(+!E?`t=Y_d zEtvvyF!r6L^MQ_Eb2ss4sMDRbh1dC^a!aVgxf$xgk*KBnfGH0bGVTjypRkqt#HVVpz@1RH<#VXpHBoE#30nqosC}Lzbo4+-)5d+^WP*_x=Yx76m4>?QD#PZmDb%C) z6x0e*wsj9#U8vjc7%U6}+j*Tow=o!MM93!j&7fb9o#n#`HX#` zPV*jk38#b+ zz2@uTbjGh?0ywyfd#L6^1^xkbDdKkZI-m0`1$CP)h8y5LsP_Zoy1DQBZ@_7c6Lojb z%oZ4*@ptGeLnlTLuk($^2CyCD>rkh@XixVL&4#+2o*Ze40k9I|ZBS3R(7oNj z7hnU%|3EFQbRYL_T3`&(*IiiCzTE#!Fz}(!?eiGwQe^MP*1)E)IJ^P%AW78U>lq41 zz)&#a0Qby9hp`wZh5;};)VtjVP>=4uFdUo!we_>0?3WMV{!d3|FNz58CDfDdGt}#I zF6MQOOF_LDRfS<;6Q}~(LO<9UR^mC*4LXN#px5~oj=(|g{AM^7yKPW;iVSwY9;o26 zPH*Ez=*HvVNyJ;ZgWV(f2RX}n_m1N9;kFx0(7jiGMOnb04egW92Yur~C?9p-+) z&;{x~T>|w?zYTSolMQzR1VUY!?obb?r7#P83^T)+Bi!4rILyX)1WW<uyPy_&7CN8*xk5*ky@y)q7h{~U?pH*4pq_*Wpx%6*fXUzk zsFnMTb1z8%)H|h?P&;!5>hS)8vJW%feX^#7T1al_eE+`+9lf<`2vuoQsDe7eudqAR z3foQaI-iai0(EzMhT5@E6Wsz+!t#tWKo!~-ri4?Vc6b-mj$Vf<==DVIf2}z3B=`2p z4E1Cx1a)}oK!4~n{X(b!d!Sx^FG3yC+>_n!{nUW(883rMIBkk+zZq)9Cty1G2MRY>9Pb2WZVI& zunjOf+zEB*-oiA{JIm|*KSCLxcF4Dyjw(9=wXzpR&usVhi3fElazMTK)PcITy`e7E zB&Y;yq5O~7_%5u&_!Gg3cq$~0&vSu}KZ+MnTNrk(TUj!wttw>W7BBP|k{#-B)rMMGKPbPsP><-HFbDh!^~6lS z#ASY{+p-+=>AvqmM=R?ABf`E=iAO@MU>DTNjzVquWvIL1KGY%eEOiUZ0d;umL7jz; zPzxIgb#|6O#W@VM0~eQa|Eqx8D0Cm+hf4ShPKRNZxeuoKP=zgq+Mx|l1@C~x;a<2J z`Ym_u*FhcHO;C2%po_nl*!Z+3apy082AI z1^r=+mF_#G?C=5O{!se*tK5VGpf1TsSPCAuaTMQb_dQv8n2(9cuoXNH3&UJ%T!-FJ z0S?>Pv({aCX;=~c1Q-Y(!0OO{o%{OU0~Ta_5mtdw*1K#1b29dAqtlGe8`v3E-r#Q4 z5vcq68`QOoywSZaQ$t;fVo*=M%23z5CDd)#2X2PrZNBg(*S{t#iM|s|3wJ`k^746} z(5V=LN8@I%^DC3Zw|bq=?>>e)-G#Qfr?m;xDIN*K!kJKS$reG`ZG>~+6<8j2-0l{* z59+jEfx2CPz^^dp4zFjR?*9xs-9xqBxE<;Vw;$>a$aSbQ@e+oHZ=nkK40Ses!(lM; zF1Ns`Pzjg9a4hUJ)Fb=qZucyd-s7IRs?fRr8`9BMw}HBU2SMG>^PmdZ2lZld&Bi~V z?4#{}Lh%ItGl11dlhr~-OG zZT)ztMDw9`VwdqCl>Z5++xZIAi^~n;XQ&;Fw%_Y{0%OA~@aKN+|CMykAMkoM!JY@b zp3gAgkoygY#E0FL*Meoy_k+3%PQt7(^bz+Fod@P&+!@Ml4Xg>jL2Z4-qwZaF6iOfI zn0vQ1KgRu^3&kQ7nz#kKz%0kz1WVyS#y4OGSnGuAcmnFMg*@r?41x<_PMGwR`;|^D zSb_0ws0UlP)9!7a8tRGJ4r&35d~|x!xeBwva%bFExq(o(%X-)eeuXNq|jRP*a`p&Qz z`dzRL`~#=M(wDr>FDO2Q(-`-@>~%h#ALWYI`Q@~|uo3!LSKT+IJzycmx8YzI|C;k9 zozF9mP74%auDkbb2bhK1W-ly^{@o4t9Zu$(?#gOGJ<-NN-JWM*a(Ex=+3t7CWkfiN zacroCErgBWE2teRb6at^|9x~apx6&b!Z$DwcE97^$J?Q9tGhP-4)rRQ_^$ilNe^{9 zRfM`LszVi059&$T!p2=;CdU0?akvgT|NqA)I=Vmo?zw>yKqW{Dqr*%vCM*JVo7IGI zU{jbH_J!JkB~Xvn6VM-ignAOjxbNP+jiDdo&QP~;H^}+t#e;^#jk2U=)SefxMDEn_PEcAQiUYZC{1x1It1gRhS+?BRR5fVig zsFnACI$V8iJkI7PLnWRL^$1=Hb?Np%oq?-R*ZwxtBm5~;T<>G|H72YvDpa1hK0108 zO9XXz(nGB<8`KI4LA}V7f!gZ2Hs2QN+1?Xsh0~#41sA|D@Gw-Nr=beFX}k}$15cs+ zd_U-D3;mwB38TPVjN?N+xvD@tsX9Tec!|yLhB^};p`P^#pSo`>@<1J~u}}r9fGTJk z>;v~f-M+b>InNcJrzag5ju-AFnGO|jrEw$F7Vm^w$X=)& zJq3A;II==p5KPYFP+v~E|Ic7mkoJ}fmyie@;clk*ubLfs$#^&!Bf$F1^Wj$K+w{NL zzmxc#qBYdDLT+IrDTdu8)74kCNEas|UpFw<*zE55s7xoE*B#Gy4CBIkIsixr5)446 z$EJ^9pP6(1zbMC=ShkmdMne?&uOxR9~GiMCW1;2`iE~2l>J>mjV_gw$Dql zDkx535Q3J%oQlD@w1&(lr1BReDa*JjEedTA?FxR97X*ri@4pmWgXBN(Ie|{1zldJJ z7IX=l3)a_M$%xv2=0`AJj+WJuFQ=#t#F`qy&F`7O#4Zdajc6gQ7>$?F4r5%)R`i&;$k^^j z7hIAsh)d#(%wHt&670*8^tJ6$0t%jn-!}9QEY}hJ|I2?Fe4>CFtd`FQdjimP!Ko{) z8?CzqP_k5Pdp2x>qyh;}F#jF@i6sBeR;YRX*ABCZm5)MGqVH*b{uI~53ecMxM@rgi ze&IC8R$74IeCXAYL{vYIAgM@F7|l8C2f^;P)iQcx$-|I9($#!N6SE41SB^L(%ZnJ= zav4^`Dg{yFQlcaS)|bsQnnha9I2xt$*9ttJiSm{v`9Ql!bx+aPVm>V`BmNJWuZ;c= zF;i0E9afT>aT@IBLy2?AH_^F^Lm8B#ZRvdJT$J{LM|~5FlPlwj(uJd z#bxdm3I5V{Sm8&AF~YWFBR=`@ozL8OY)8PS%KrhSq#wrDEcqswoPu)MxIg{+6fuwB z=`46e0&ijdX0T!ur!=;8u>C>XN|Pjny@~H<@lspPW)WF`bCmh5%4imRigBA6uCzj6`8GoWSwXNvdN11iNd*xJ~~71?dYt zNquyBnUtg@c^UILV@0BF=}f+G{^dFmIFypYsu&N%NiX!n7*A&fk`(6LhPx$5&M?0Y z`*Bu$B>Fe$SB9&J7wLcZ+5}4DMc$D>yxLi`3}h<8xCqt(%s0jR4OaKza&+^^o{sS& z`lGFq0?akDr545~2ibxoHt{62u-(Nrv|{^w%P>xa({M`~0;S{xt(x^C*___F{kFbr zBxeZLfWUm>+;fUJ&zWxyV^a7JlAJ?75}O;0(-LncMLopk5_7{sbFYO!5r-zph4MX| zO906s9RH(zwR!3It0A6J1iMYrGVJ#@`jY?fZGvA?`bljEq%TVU5I&oN6<(V0P{w8b zoM(;9c(Fq%8O20gk`ATvd#=j)SEl;ke1arAcHK$X2fO_wPehR`@skuF)=O-wqu94kfvY0@B zaSoCVj6-5Gg8+r;OJ>q4;d_sQ6PxW$#&^-*usA17|3<}AL}bSLj#6yr&%2>JiZUC< zse&bY%lHUJq0x1v(papZF?QR7*?eHW8T!8zGzc!C6~nd%yRaSGA`}}W6V0z9`m6ZG zA^zKt!LGjycM?F-7b8g;Dn1PB6O`XL@HB8;cUaNvz7ebyy0Ii#B_HgfFy9y7 zsQAsH|A}4MMbq~|a$3) zvqHWh@c+psY+qnkiFloeC+UUFBy{Ond2{lWP(j4?#l?s}JL3suhB6M%xEl_sm`j6k zb)14E62ZeTKc9JiQ@~Tec0lv9g2gyzKK+QH|Cq6l&E=qogS3+PUkSSYPcSITY9h0m zCK%SFe~Ey(Fp|t>Jc>X;(u=WV00l^LQp7lR ze@FjM7_PrRihURt!XO34YgpYv3?|sh(%K>V%-nCzO;{34y)|Z4^0A>-rbPK=Q9u%pYR%bh4zgm~TlNOzqQ7Z-q+Vj{?$@pc};u4Kg&gBTf~3 zGEl@obgjvmj<|L8{ErdLI3G$$ZG!U+KTjxHkbGw@1=a5*$O!Zu2$+MU<82or!*8~j zR?MxTxUAUr$Mz`tcocD;;-(T~40Bsp)JZ-6W6?%qbO2=tR`dY`=zWZHqi>FHKlk-DGBqK!%JqO5#SiQNEF!8^m3@pI2(cfLD!P`O6c0#{5J~ELgPD^p3lsc zq}b>bwU^d}czhSjk;cx)`{^DhSXU-D&~DS;LEuI>=7qU%XoUVgT#aL4wmA+qDH)$9 ziDZdweJ}cr*y=|Va+npyBXI_IrJkzT=3*Qq*@;<5Ki=PiGAaYUpX!-I!Vv_HjMFi5 zOpLxf37Rn{$pyWP!%$!iOT5VDA`nNi$n@?ATl5==liy-W|AM@}h9v7wpzLzMAe(Jr zPXZP|HPjpi1atg_J`eLREg3^cYT~~Z-3bEg`=63utopgxWhU1ub}kdS4q%Ho=g(7! zq)DveTI|Rs0z9Ef^tr@T6gV4a$qfpb!I*F8d-B7a=+0w1nnb&77ao}JU5lC3^fR$< zL!894>=e>cUuy-Id?;_am3i9YwB7pc?e^J+@lo0V0@WbN8|+(9e0J>kuC!+(fw$7i zQ%q*;3fjug5vw@15`ELI7PiB%JIuE?9XVwcdT@-$groxr!mxtI^kV*A!vVt)dUB#Go0tvLZ>V^kR9 zhyVF?=}<@J8(Kk9A0}>BD>f@dgrd0cB+nT1`mb-GCZ>RB zIJKo83hIXonsuXt6^rOt-47!ro&$69d!%n2bW(B%kFciMM znY$B?>;Hk(CM9ENIp`mvfUA(dH0MYuwy+<)A?P#HKMJ1`Jf#)* z6Wt_qFYw8SE+6Ay$HudTT`;0-v+x(@Ew6a5!6eu=^3BJ<_bkg zRufm!h=c*?r@BMuZ>Yq?ueF~4nVFOfCt+6@mcW1M$HAZ+0SXf=JDlTK@l6|&JjN$C z^Ai2o@jl~2ETkB11orwE`Y`4f(bkf<2sSY&aw7AR=vJWb0E6BPhBDcLB%>MM!s(V7 zJj5X)bCMHA^(V60=~h5!l4WI_75`ThU!4Mn;~xj#42&BwHwmAw=&G{dugr%>w_0ES z_n@_!sU=@Wbn;}jIL+vYDDr`jb9N$k$d`-YS71dgkyY&%8?Nl=_9 zPodj{X?*Eu{c`e>+IZ)8{X+I?{*!L;?rGn&>jpzS}BFkoXg; zT}Y5Rv>@q#K1k})50A|u3M+=+apKfN7Y)9knDYEI-}%w&bpp4bkYpH2ic@V=f>yzJ zCdSp!PeLczhFx3Rg+Huzj_Eb0AKxy(elhcRu#=?6CKk!|(K6G2MXXT7-3ay9ygY4j z_)I%PrQt}Lfc`Q1Ghji2RHH9BL(qMeECmH;Mt{}{b}e}NVDHCD@6fW5usS}mt&lv# zt4{nZ%-zOeBQc!EU0bSJ$;2=e1ywnQoiM6Lf+8eb4$m|9FZOvEXU0}Ph1)|*$#@bz z!R08vum4YBq0vc_P)tEqKOEnAjD78GMayuQM&O=QJ)eGMikc3m1{PG2BIqOe)`9f83m3pNGN4@qBlJ<;CW51SyCgWd%MSP_t5b^g-B>8#TEsV2b^on44XhE`y{w?MuPY863@d3sc zU{aFKfSn0;jYOdcc$B%vEG9@wq4zRhg}IL?Ph&5cL#$@xcmB?A0RoM|ur(8ZZIy40 zpK;ttfOG_HgNs?c0-@0FsEr2$HMB3CjZV(j-yLz83{AwZ*Ko z;+x>_n~qVVV5^B@LBE-CD&~I?>_2v`mLBdNPi!5yBH6_ zceE8i*R#SFsdVeyzR%Nw!DF^JxCAnJ&2;++IG(lyuVo}YfqoO)m)_>rkf;G(Xl))zwNwyMnGtTF5oJF!D^tTW=DURQ0 z)fpGTb}PHG7yC7qpfEufqmvY}OYoZbS)wE#|w^;^Pw}dx`yuL1pxkkHr0f?S10a!>=3k z9kM{v7^Gx!zH93#!T6P}>J9qIj2~Ln&(ZJ4Z>y~^Iy>TrZk&xrlX$kpS%hBzbDhv_ zw?YzP7vL^j&p%i6d%nSC8wv7|@QM|oxecr!NH(FrVm`?z@DW8wvZMb<@Of5jXy)3R z-B1#zw|-{|bN)BA))>bLmL#X`NGTkHWN@(lER^|iE(zb@``+drxhwJ{wZs{0JdC0n zk+`whMa8!w`P#4>|LDgZlPzI#3{GI&)3#B`)6*Yl^Jxj38JoH|*0$@s8T$&1PqO;= z1U*1J$qd?7#+z7eS>{sGPmljJ>_bx694p4Riv)FPdok>eb8-tjjif~wPqpoeiBk@A zf3R(8NzU8#RKlwy*=+i3Bnd9J@x4c!moPbnNdAMj_2uqNf=s5ekT%ht1Z@el9%IP{ zyRONx32g}@Sb{?EvhB_)5)8FsE7&6P5G#iKh}E4qz2P5hvYO9zz5lvF;ubjMWlQ*| zuqPJDdy!}n`qC7z8z#ds48i_^8)%Zv*z6*BZhVTZnO(DRBy5K5BiGe4ibQ$vJ4MnKv>?fd zokSl6maMa}`Y*}Bf4rvkyOP?f(`X!qjcIF1+#aKWG!OGlNxIAuoG|;7R;>K4GB=VI z3*RYL>{9ww(fLD31JkSjOxHgt0iv>{=TUrMvN&5cK?#v?=+m2{#{aNeA8DVMkHvVm z?Ve1!Sz*Uu?qEse*9wDsW~*^-;+|7S>n~_4m_pDZ7{#D~6s%N|lDStFSmOZ39nAh3 zwwKtUKFk-R1)|@M%|%)=<{nVQHxgC0#JylByOfHRjvXwnum8ew?FL)W2_$ccQ43r3 z8Rp;9zlClH{Y6%o0!UJ$3zBNsU9-zFmHtO!iHIppGMiP(K$ddlYTy2unWMx^fPeMPq#J3pR%r`XiZ%CSiLPDYY?&o~O ziGxGJMHEn)wvmaOB&dv0Df+R{J+lDYu&ZSK#OT9d*N^1ku)T%;013u>gFdoXidtGQ z+s@V=?BSu%3f|+Jm`yZeTp*9i2oAG@5KBTGN-1RBz8T# zM#UI~-T&^ZXedU|j#$7tIR3JInMU#pR-7Eu+97B_(i#Npf=?}MD!{lhKsu822kixM zqT~AxpVQc1U``*Cmh9KpRe3RZ#pEagjKlCF0c*1AL$=Zatg5#a(wzCD%w5GfD#7RC zdyjUO{sR0{(f(moFQKHKE#|PrdXIiA_LA(54eLM89Ai!`U3=%>LFTZY`HdE6u&CD1rpkPN{grP&N%emg;i+pfsw3(0;n z-hn>2ET%X=;{40}PTDBiaoQN-oyBmAzDqEK$~-u31MwK2AwfYHi-1Kimh52V=U7Ed zciTLL(C@`(Il*gSKc4Ybl09ME6}H2tG%*S>&d=Of{I3$PjuVYr6MYHv|GWRCUvAqw zjDA&u9wfmKl4iuP8*{N}_X+Zov80Ew0yakoc!=U+(2mlUliVNs1$KEtGrp+J0O-T@3CgW5W z-4l#ovh{P|J2S}2xCiqQEXj5H%b7ciz9)=}-?w1#9-@m$@sF6##16!S7xZJ~XtrHr z2$Y7M7)+8yen=pTaxxuzm#Ph_&J`)^Iu$csJitTUuk+Esd!s;_Gd5XR= z?V;`7Zi^8{A0wM>RcsnHwf5-xwzOgCRlE^IwCC}{eswz zK|h}+8G`NDjDX|>I0t!=Mt7MN{8<~mZ) z5mr=`{&nmnrx{DOlQaZH%w+6O^3&*cQ$T@Wv63(z$eiy6hUcj22u>N;=AX7Tfr^Cu zvZMh7ONZ?yoEoBkhut&!eF*dze@SjDqzC=A6qbON0h>w|Be4|_+AcX}{FMR%XTxYF z?JEXv2$B^?NqX8ES}uwUOOoHrRb?(Oy5ranB)Oyt2@(*e0sPDOIr=#iEBOF-GuNH| zW_%=%h?fHX8@eT5c49Dzc8e9Yu$8p40%RP6xqP;=5(KWoTu}lYqF;-I4JkT2D>{eW zdhEUEciT!c;Mbqz-<|h*-ATIu@2q$)!7@GBLNbnn_k65^WVu!G4sJDNSBt3Oczj|J zBO^X57)PYvhf4ZlU)Jo)Fz$j+7x)t{(jSND%^+s5KtVs%iB8EGDWU`A&I(qDVl^b$ z7xQ_5e^~mHNYs+PWGQVTy1DQ@TbRuB<>~iD|J=4NfAEj&<|gPmS{V#xXfN5j-i#MO zNj!q|WVa%ivvf1DtpTT_FG34oE*C{h8eyM@gh5i0n37yBJf*Q~s$W5SOM+uscP&VvBH`_-7HtNG7}R+=t)wYx5ULR+0d(QDm}!JqU0ghfB1D z6xEUOMS^$6?iu#W&}Cx06HbDXQp_c$pMm}=OE!yfOIz()TZm)KKV8r-(Ho)#I8LSf zXBb~b`H-NJHEe%6=7!Kt;+z%TN?I6JK8LxkmSh|D{{{>sy4i(wLNEUdG1su#c6Fxz*m+=3K~U`)yeOu}CnQK&u$(4p4lX86 z8uG+wteB-{UmaUXQsU%sZTLYWRn|h;gaBzUxXXBgRlWzuNd(Es z+yUD@1sF>UXTj>BPi6^Q8dKx^V$TkJ-YG1Z-m! zYpSxgjqO`c5w8hS0=v|-o3!lcyAu4YT`DjAUi1@LvB#O;ihn$OD_9rmq9p^NQN^GY5nRLuCSFPw-x4O{w__D1#Txv6pA~@xB*4Pu(|jY zG1H1p!mj;8%*o89fD4&BO}vuMpUuFr3(DNAegMf1VziLS3^>O?pB?=^xDBU&DReFU zu&iRXt>6az{dR3L;dcuC9}0P5g`~oNq80xSwm~w*DbCJ+Y}=}sD2w4(+8ktj+g8zq zBumggw;j=3EBe)Fi}8O!;&JFISdu?5DRc4h|3l2^6!i+-LKaZQ;+N7}(s)cre!&m~ znn9q&=v%Vl+BC^dqaV&SX;%p_*8FBs*l_w8T~p6ol08CK&KC92IGUJ}i};2#Utbqj z=V^s9DoMst@o+QDh2vqWj|tb4G%Bq;!9!Uwa_wsU0r0I|hB{g;w$o^R(YG?2zQlP# zo*%?a%UorBLF{h@3}&JuhGlT>M?Wtdi^Cu0Yj6z@T2U3O@~+sNCE+K6rKUZlzmd7k z^e+)73JIoQ)1Q_P-wl@M2t0z_btfLzKLtt3<6MP_VK~2J``f}P?8Fsw3c^oxt*{SE zaqX}Pps?a3YDgP`PU1(xYHrv0cRc@&BVi@%Z@|CAuLC6&i{U6)Okl}>E}Sm8s=j=JMnf)GW$JBs>;Ncnunu+V-N8}0CG<+rf& vjuLnLwuTy!_L1L?w2wkINU&qwuaL`n%^2Ln8*j$Ajot`5vi9(v@A3Zt@_+f* delta 69853 zcmXWkdB9FZ-@x(fzHdU=k}V~-ec!jpzLV^Gb`fQb2T(unQ4f=xKm>maTa~zHZ@kQK@@8Y#MCudsXN_-3L=Nl}7KVohC z7caqDxkCTfVRqi1Xivcl-O&#E;uSa%Gx0twi)-+D`~rG{Hda$^SdLg-pvh0eSp z`r?{+752qz@D4NwmSAOk9-Y`e^tr?N(vqpQKS2XgO`Jp5J|llxVk729Z`_GSVh`59 z!)Tt_%Yxh$dk&lY%!^L;(+YB988?@if=s*S|{Uj52#0zuL5I=^_ z_-U+7POL+d?#NYP<|oh&|3C+pxH??Vjz%UYn#5P35i5-zY}MoS4%m`&LL5 z`~Oc0#V}8?5aO!ngALFuZjW|27R~k93rs-eQ-4z zvX{_oeicpD&(RQHM024;l`w(cXyits&rL)JG!4y>d1${Yafti>MG9qT$Xhin(G=^V z+ifx$>ieUQU^?|@(2iH4zZce^+xLC6LzWjs@2iQ5DPBwoWRxIfl&)C@B(k0x`qSZ`aC z{cl4j8ce1U@xuG)j6On_;wyAU$D`+Bdq%C0%>~ezmWlP+=>4tGnRY`5HUdr3dt>|J zTI_!hh8JSP+h~ZsiuIq+Q2&b#qyS$ePrR~ddoOeXV{i`6#nG6jPWUBs7aEDB=tpR0 zY(Iv+H$7Q5gt9QEvKZZ7z0r{mK+l5-Xh*Zr7j8sn{4o~CgJ=%@8_j)fs9zJUg8o8k zgsFoJ7gA4-qTm`Q>VX z|HaVjWzpT$811JE+RuVkRxFB9wil0(ngN}4+tvmD)y zFU0nZSd{wfXfl6;4&*eN1BoVKKqWEhh-y)A=1tM0>l*9B(U4C;UoaQD;zD#r$It=% zftB$;blX;LnwIz&>tJWh(kw){2YUZd^nIh6vHvY3W5Yve$19>6(X4(y`V~6hqgV@n z!|SkY^N@T)(Bz$r4rDbt@R!lu^*TDC-_V0A(IT0aI{7YZ5k^)C%hFye+85pDv(SM& zjxNa>H0fT#A-D^jNR^i1{w6qpdQWVNuVNcaYZa2Q9U6&FNeZq_FZ2bs#tT!?wVoNh z56zK>(EFF6S^g6G;@$E3x9B$fDf(Y*FVH&NR~(ISO*Bc9Ehsp{zG!I2qe(Lz4b{Ww zOqa*{HtbD(7tX~}ZNl}nXg@p9fgXyUL_>WZU6Qo6!Ap^)NhYqK;ERi*BddUp>^gLN zbwz)v+=XWKa`e8p(Fp88513QvKEI+}h}@NEh%?a_mqXuEJ=PmxhTs3z6b#|@=t%oT zhok4hcr@fQVtp~%(Mq)Am(hW~7Tb@;_TSK4xqwD8aeeqbkQ;qZK6U>WrC^qpix+C3 zA#8}wxGj3(-HZ-&CfdQ`=+ju0`Wp0w2hblXhtZt+5slPYwBOwA!%`K&q&HNj;0T+d z1L=q+UvD&o1JM}|M+a~_F2;M%7Z$xC45$QpUuE<~_0fJ?p-a{c?SCkmD`Re8|F57h zhX#|ZLWi(TT3~(Z^U;nzLojGvA30;FIV9bigNK{daUgXGAsgIF|ZSoQ9Wm4cUJ$xxFPW~`rx1F$P+!n{dv&H6+s7B49j8}bX#`7 zhS(Eby2V%?*P#*l8VkDrk5VW{!#`+Jli#CmufYr6l7_X#(4M{k^ucKj~7B!6HXtZ-wvJ_rj? zUxNO`T8no41rEgAeZx%0paXskjpz&LZrF@&%bl1sr2AsSF*Ip@M}Ly#=@+uS3c99^ z(1WN8+QDe7oR&!3iM^=5&_5($#(?lUA_w~1HE6ciK;PE@?dSRd?0-ADnTBq7JNg4; zSM)oqK>c@gO^Xc-FDQrZiYjP_)zO(YiS^ECP7FkI=jK=+gPt=J(evTKfyt0e>u4}3 zwxS=A576ZL2p!O#c>NeUle1`6UySW}28EB-)o3!;LYJs9dVlxmfOvfbI-v{b?f7eSz-OWt&;ey19J0L#dVbVI2hV#iQa*R_U`Bc^!~@OH9n6H>{m32 z(}sru7etr3C?*ZnbrcLyYpjTa&Rt5teVB>r(J%asjh}Op&c3^SpC!;xU2{%^3(zG|kE;s}|@iyaB{1qMGs9VFD-+?a8 zUAPfv$9nydVOKOoBQR(r``>Mnq`{BGQ)mRX#2b#F156(k237>kl?Ir~0d#ltMF%hp zjmS830MpQ%n1wFEVyuQQ;4nOpq)?qgv(e#~$%N=`>`!}%F=>gucsCBhLpTzfj18{E z`P7SyOG_-p)%Y?tzb*W6`yBSBK6QLrqC0+tov`AB@NG%nNufCn>(Q^>S#*E)xIO#{ zW;!mQei;22jhPru#^q@JIb4bR(T_`VQkd~Vbd6U;H=x=74jPGlNDd_vrzn`ki95o9 zktyV|BYiqOLQO| z(KYUiX770PTd)9K+ePSro-7sTGY=WM`fbIogw61uw)up9qZ3e3*Y^N=(cTmSLp8sH01r!lW+n)f>Y3B zzntVxn*9|hn62&5nRZ5J)B{~Zzmkr43|7K>(1C75XZ$029$Y>>By(x>#O#T_cmz7I zG3eidCDHdhF`fPIi=K%$tU)_^9S!lPn1MgU>&MU~I*)!_GVTudUxrSg7}{P2$>T&7 zOeNur@XgqO4&)d%#Pc&4xi{3B85)|SYkW64u=!XXm!KWLgQsvO_QcJzLa1}k4oOxF zopELKe5i@ev;n%5P0{T>5liCgBn8+0BXnfnqBA^=zVL4}$}c%DvSQ+yAJ*Q_C${GWMWY$BtF45T*z^62z?hc5`EE}7=b3w zG&C|x(Sa|IZbJvO7rp;HI`d2K3lk`aM!0CSGM07!H>BWN4MjsT8eOw_I2<2BPsYEo z3--G|to=*agL?LP;cvwT-~j5cU?03*HLDzT~`l8#h8qP&Nl!>iq&XidglC}amk=p2s8=*_o27TY~h3tQ` zdlU^_@eXufeuN$H(nX9Ad*d4X2FK#;heL?Zqf63xarh@8E3r29;*W$S>WR&$uSdUv zzhNtEza;$S)uJWr{~Kwz`q6MS-hq>-=Xor2cn@}@o@HtHTkvk^Qtd;xS-!{95?^Cm zT!bZ_NJ|{U&FFK>mhn%yh|FmmO}+9{;eAhFUFv@(DY$mko(=~>D=bd^7BuAZ&>VOa z4f*qE#I~V1umfF^1F?P*&5?i6-BJ9R(EoMl{hiUJ7>fLYPb9}sXhOs1%hM98@QM{| z7cRVpw!gD7{PVi>XTvtyj2ol}2>RSPbY|(#haWD5(dQcCuj!n4 zxSPnfeKGudL4?JPrAwI zkJK;G=c;cAOW6>OP$#r~5c-}`=+aKu!2Wlnb7}BJOVPDjfzEI(`l46R4&Fuw@DbYa zKJ@t$vHfrK`K+(R2%`NKjrB6<^;)sL(JRT&VQU(EL6>+#|LAaZ0JotLNTM&EAFn@& zF5zk%kL5Oo7d#PNh2H-X+W$Lfl7Ea2>~NBTN%9lAoia8B^Px8sN3*^Hnj5XqjyhmL z>=WC^p-VRzjoe+aeO9c`L!VoS-uEP?CbWWrYw|LBbZ&_^oIyi%7Kh+POs)OqFp!bx zKA(UN^j@^%h3E{Ipc8rljlkCEE_9b1Kn9dd{7S(WT|`He?bVQ-1<>}=(W+R6dOa+Q z1JTdvTr7p_(Cq#K`{8-4g59=+fy_j&FGSz733Ir3?^0+)!^f!x{(1e@Fw=r)mKH~6 zP#gUL(kj-6#Oo8#$jn6}u?T&^6X;A|z-IV1R>F+e!o;d!>fisX9~+uQ+oSuw2bz3+ zusGg~&ir0+-;VBra| z;5a&?KhX{@eIvBzM@!&-E$&ZEh9$=hMXMbLqDMb~%$`eXGLEP`_}6IVpvi|t3FiFd-luR;e@Kbq`J z!50ljXLu(X(udGwdmMeyyRrT~nhQC$rzKio6?7)!(fgO6Gkq)i5t?-0V0BEq8~)5# z18cee2U75c#qq*6bl;vtLx1IaVTQHQkat3payUBBN$3*Zjc&Vp(fgL516hym`)!zs z-=W($@xDL9+5bf;JVJdm=1Ak?@j>|Ao@Yl0`C>F=&!9=Q1odKZ@RW zDtZweXzmZgKnkPV`8rJf`+xl?n9UQ=HJ*ZYJO@ptMQ8^vqBGnaeGjux{~XPkeP}Km zM+cC;GxU1}Hl}_hdM@-v2Rs;4fB$z21qU!OUbquI!)Ku{Sb~-D33MR4(1Co3CgTtI zHl9X9yKYyQz;5)uuhADCLnnA9w*S40{qGC1^SelMp)bydu3>2`jSaB^4nfy)0an77 z(cC$NBvT^mMBR+`N52H(y_%sakGIT(N(EF>R15Gxh;LO`$YFnY9n}l}wFgoIO z=u+%J?>mjo>>u>&ndh?*feu)W`V_n!*Pu&Rd{5Z_?a>L`g$>>RPg3Yi!$I^Yt@3#o zX$$ng=!+gO3($dVK#$tp=x6m?bRd~ugl$z5dr|L>_O}k*74M-3-FN72IE$CN|7(63 z{&J`#dICW4;XEP6oAkL}N+k=ce0csIJw|A$rZ^1b12KAK=n z>UUyM-k*4hLOJ{d>*611h^p=jS=|wR(JXWZPov4R5j){lbgeJ_I;?F0v|cjStDtM$ z0L`_w@p>0b{r>M48;0X%ZWxbdcZF|)bsBLUf6ip^;mU z4tNLJ&qwHh_J70vH_492hP3@5>2jk75YGbtc17XV0;vt-~}{-4GyFwrsGg_ z-ycJlKw&Wbd6Lyu@b^ue33ERM(W_&7TA_tAkJLYL}1dVj%h z!vR$qUGp~RfG1%MT#4zp4~@wFBn8jv@6Z|kf`;fK8q&)Sg%=e4q61xn zqi`E~f3I7tp1ybR;ctE4ISa_kRNgJ3fx?_dn6?RpDre zNNY4}yP+NTi;hM2_e^w29z%D@1~mCTL6_t(df)%h0c1TEB3TSCasQX6;0vmup{$3Q z*c6S#U^JP=qH8`8U77`G$4k+37ZA=MTsBGwANfI3AwQjoID*MJPDplIRR; zdjZ>E9qf#DI2ThdMrXPdJ=r#+$+RcB7rpNQ+TZb5{~L|;B`1P~F!k^Ml%wDPu0c?`=KLv~Xch1o>iyAQOo@|W2@9b!FBPqdCU5)X-iKf!W%2>n5l?M!&S3Oca*Xp(kA z?;C}U@sT8j1r+w85g7Wv@Lhi%@1&mbOL%ZPx#WbmrO4hW(ijeef=HVDr)Id(dn@h(_jDGy;F42h^p% zhe+i|?=OPBur!*qmC%T^K_Ze&45r{(Ohr4KiOzH$dLlj<>ub>M^ak4TZgffZq7gWV z4(tS0#fxa}R6ZBJ5slELOQO4K6IOHopQ2#Mik=Sxxe3kck+FUsI*^6Yr*H!G7tt3N z|0BK#i&JkD9f+P6Gte0?Mf=?tuYYd4`~P(C{5Enfc+9q6}cuAD_Dl71ny7e@zJ7aL%AwBLp3{m)%s|NFwtG-Tjg@rHNN7k(XY zJc2I4S@izIKcSujtrtXds2F-altrI!g!bDGJr_El_fJHVHu(?x-!*!G250&lI>Xn| zi0nka`$y0a=DryAcP+I2M)ZZV(d$p3A>WQJ-I3Uy?ccCFDx(9aiw>|!l7iXXK3?dF z&SW4OqT%R`lcF=D51`roIJ)g#L?g5royfbfeINS5@6j2bL?`$++J7?pf1yway-)`2 zs22Kyrsxa0#Cl(}!%^r!Ct^Lk3*F~i(Czyc`ocZv5`2$i@n~%C!Os|yILW^Tk)BG5 z8ED5#qEDkUe;yssrr5qcw(mw~x(^-T&++;>G%5c@pUa0Pi^-1V}XT|!1=m3{R*Pt`piXHHCbgheL3H?<= zpKpjsL)VsqYt$8eaZmJUorz@?$nJ0DW*UdjBoaN$7xQp)b5Iwm*hOZWX#M zx1lpXgyzo4to-v&_wTDbS;OWFP@1;?m=|zm!bn-AKilH z&^xjI9U93K(ZA7wPD=m2V9YrG!UrV(=VAZeN-yznOUycmrRWHLIyIp~1z zk1j+9^cXsj<>+>NJ6`_`UFzgM3e728h!+}P8g6WbhN=gewS%!7-j1&Qljs1}$NDxj zA|GRa+=nhjoy)?^TjCt*J<+8)gj`Q1j!^KyvuKAG(HC5rGdy?|`jM)P&agF_10B#8 z^gtst6uoaQx}?kF^{wbO{t%7G3G{uxVm8137buvO8M(p@+0YQ@#fo?p`c-R<6>u2V zz=yCVzK4eRPxP}~Fn1Vu4Yc1D=!@H+OVBww2y?jq$5C+qPPGB=jrB$7+CGDK;3{-U ziscC%RYa5OIy4eDpaboTChJtJhL564xHHxdq7lrMm;G;{00l={6dh^tXa#gYHPMhZ zM8B5Z(68f2H2d#CllKWUt2dzo+8x~={VDnZ+Hz| zirr`=_C^n&xpEjC&}lTZS@VSf7eMR9&9rHv3@_= z@se0yg^qYbtiKhn@5WxV??;obCV%L+o<%j0IOf`_px<|&w-`Vra~o4EgHQE148 z_t6(+6iQG1g7rlrcAg{&tkI`g2h;FB!&zU|% zHKL8t$hJqH>wY!+-w}_DH%vrdI5XBCiav>E@ftKz@1q0Sj}G*7^dIzNc3IKT-Vwd8 zKN|XRXp-NJM)=91?Ef1n?4qGImboT9^|xAm(XZ7*SQ-l#3%St4mm@I>_EZ&VK+4Ja;{1Tdk8_}8WLTB_1w!l;IdiCOA zK&`O`?L*MeKZ36H3N*5-qnqRPg&eDSCc%FBv{scVIp0zoHSYSSmgBk6s2L6HX?!QuvGu-=hQAP&z&F0ser#@cA-f zKrf@e;kKYN*^gd75&b2$|A{8oC1t}vilR%^1e;-BG@?)8w|@UOQ81*7%7yG-g(lmp z=nM9s$@5LT{u7$rf1{DfSw3vDeCT~e(dR2;>URU$|1k9a$+4cq>VE$hQgDRtp)Wj) zc60(wnm^GI7pM>hSP@;@253&S#VXhyuy$_==eiMzz9yEDRpxZouMfSgi(iDne z9du?r(Ci$JLvao|pi|L*&~2ErQs}5SX5q(b4Rm02E2pRanym%8RIi}@zJun*7wA%) zugw1UhI&;(a_(X;$BbV-h&+vpT}VEu}(-~}v$>#L`y{&c$+U6R%{ zf<4g44Mk^uJKEo)==+{dQt(Jz6K~jvcCasc41M4nmd1_D+-U&^*UU(Va z7TfPacg-9$M^iC+9ZyAHbWik|*#0^?@Ex(f z7yD5E0X@hX)($z<6ixO4$i$P0sT9oCS!hVsp`qT2>G&p=!gtW^b1Zra?f5s$#PjI$ zh3bUoOP~`ei?-K7m#Q(k_QUWh_y405Op1*-1pkMb*tKqY>c4E5fR(6Ud2RTNw!+rb z$6yb975~ND_0khRVXpcir~bhH)C*n5HcsPPfev6%gY?86d=0C(|K~L%^xW_|_M`q~ zqmVQ;8i%!OhWxEb;wF5F>o+wG9T#X8z5x@^Gk+`koj(=p1)7K5)CTL(eh0dpH((Pi z+=Bi8EQQ__dg6aL4|}#uPyK7PNAM5obz7w;{)bgtr>Ficw_#tzsKKf|_| z**QJ+Z${pNo@ASG816&|R;^2V>Tko#bq&94#^XTRpF@`>d$;t|Kjj*L_fh{4+hf=6 zVK+V9o&E1xen7+Zn7c=M>OZ6DgI`fUhd1Kxp6Q7xShiPs>OVMIj-{zz(>p}21-h-C zz`D2x7h#S*;m7PUG{+8NZ7g(SNWvSEv7oNu%h4nFjyLuVzwy37uV?8OPQJSM1@!^w z+Scr!p87YNMqy*>tFSvBLkHSmKsZqc<7DcK(Dr1mfnnd*#A|72kDgSsF?C>|Nwp8% z&xt`HQa55&s?VX@Yi)E3UPAp{^t{-G18^^z+;s+r0Y8jg-T$9Z@Ir|p>8bxPU^?DL zeH%KnsyBuGKLXu83(%2o!s2)U%i=|J0;PwBzxC>mtEsO=KUO`41#d+MJROU>|L>>Z z*KRHPz22R=z+Vog6-p4w4^=;w4uGo|MGw2cj*KO>7*WzCq{7&Z>A3}W<=A~X6{d~4UJ{E}{ zm<hr8a%nqVsGkMZVxl< zkG^m{_QhAx2lG!1U&kWR>d`i6WCq0gr09a^v(atQFOn1r@W9E~keC#bun@Wp>!7~@ zd!zSFjLt)IVL7^FKcLBb5i8==cZ7(x!Lro*paYwMMrnqWjY(clxmv|+fMhBE_YWQXpMcb>P?d>op4#aER|D!1QahZpP zH^8Q4Q zX(6yTUJ_tI&uQL+`JE>##n$BtKyX{2Prx zTarKZ`@aVTM|d+f#WCoby^Jo&2k1Z!p&gx!*Ds(m$~!%r`DM`GfR)kb8=&`hjt)lq z8IPSYIi3CQjeBTlgU9fFta^9o;2iqEr8C0J3SvR(#nBmDi~de%iLLPg^rN*8ozNvS z!}Gb(ffR}Lig*e2x-*%9Yu|_lL)$stFaSM}ZbfG_4b6pl=#00b9e#=q@GyG+DYTz| z(K9~htdLW!(DP$R^zGPQG&wtbeClIWZs>&>I2YZ|^Ux00U?y(Gp125VJ z0d!`k(5(Lp9YEFv;e|QSBrJzBu_k)`Rdislqmg?b9q=a$*#G4zd_ltuyof$9{ecj= zS?G<+uoNywL%ajM?^CqnFJk>$^#1R$EFME6ko&Cg|e_^P%L+dlK18&8-n0-(Diw_*6Jx-bXvQ^6AiF z3G^FM9^FL^un_i&jzx26Zmcgy53<)Vm-~MY1z-3bx+ecavpUN&p`IIE%aUj$>Y+33 zg)Ol^8q$@~7t#JUqD%N58j-Kjr96&CaYt&ph@~3x;u{H4OsX2Fp$|eiuxPRv;X^0 zsQ5zoOQ<>6lln{Oh_kN=k!XU>s0UWVd$9_>hTZTd^!Gud7sJo*Td@}PCFu2!usIfA zo1WV4L(ze+N>Xs2?}_GG7dmK*zVP-~UyTmvOHBQ+SRZEC3aisT9P8jx^tnCg376%i z5UFd?`f!|zPvAsM7JfNB^xaJJ4s`o1 zL)ZKj^aVd-I{uA?@gn-dg0F`G7eQZK65Zcb(QR7`y}uFKPfs+`!!Y&V|BR#Hh^C>T zT8Jjm3+TwdMbClL=n45B=EGdu!V5Cd7gs<#u7kd?DVpVd(BBQS(dQSU1ABTK`#&#* z7iiGeu?c>Jc9iRlaKsiyXH*P*Q7J5e)zBsD8n54oMra`Vq9L(;92%*K=!>VI1Df>) z``->9iZ?EcE=MEr9Qxo}=!@P(Pt4uufIg4c_n|p-03G=E=>4anzoU`-CtlC_X6V0A zl7cr@MVFv%thYx8)(w5pK=cJe(V5+fJ~tUn*1OS}-G`oh52L$aGkQM!f=0N+TOo2a zqsbl={76hjZ=8>=^;_rw_Mk8N7X4jt6g_H3z8!vuyofES|BAz~?mOYAeG;#yehP2K zYqy8UJdO6Z2ANPY@d^b;z7<`Qcd;OThKu-NaU4fepZZ>y`AKxQ{E0^9iuXguh0*6r zqM@#aMzjf<_1&X4VI%6}@e23<1`0m#0XmSq=!1vRke`d~7jOXetRI8}Yba(iz**Re z_Gfp5-}$G|esX>oz9|Kx+t0&a-3-P|>T|IeJ|F8l(TJRk?fJh5{nbKu z!F9=4XpWBPdNjLxp#vF@Mq)Plz~g8rSD;Jta`bInL;X|SiBrD}*IRy-o_LOWH!O|+ zp#7HE8zP&mMZwQx6Lc5!ix)7?J3VB~Lv4w&m`!L>c0(~&+*WvelF?8m)p#z+P&ip6pemgqzQ|MA%{eAdNStB~*d-i`O7e1%Kj?Ur;to}pzwfZ=k zT%V$6cG{2OS8fx0lKLd{*K@%m;d&QrLj57U0Y687fMgyGf3CP59pD6X$?iIuWUW}^ znKXFgBgaDazJuO)9G}5oaRx3ro}T)j+beh?9LX!OChZ5YIOhE+Or!=Hv9ajP=b}sS zB${Je&`7_Xq+qDOM7POLn3DlzI~fL$|L1TnT!UtFMKsj)(Y0)kCfiUnx$cPGi|+TO z=nLOQ2lOF&_8&&ym;9N6Bgt_pWOGrpUJ|{rE_xs}L$kXd`l1P#I+)O0cs#liJs;Mh z$-5JKWBTbZ(7x!v$6#Ie|6B@fXm~qb$Z;k;@euVA=nFTZFWenHh-Uq1oP@ul--wa_ z3lX{loxnY4`{U^S&!IW74o~7g*ul@)@n6C}cB}JiIB?!UKQj4$3rkQKJs(P-Yghwo zV0)~IN$ifVpi7bCYzX<)=!;9C=Rid?V)f9-cEpkH|2`Bd;|^?#=g_rk{CjwDPjn_X zqrYy)qa9B~lWrPTz^Bl)-i2lGb95qqq0e1JpG%wz1IUI+lPMnsldu%Jmi5pOHbXn; zfzG@SdjACUg>!HfzKrgcUgyJegV8mfh|c%{^qhGX&5iBo(jGd`{`W=aXfRuI{1I-b ziv6iykDc)a^o9SRGcNmQh)7%XtJxh5@nEcuW6`x?EexJ z>d|m7_C;?zhOW_RbSeIf?RozW5h#SVmq#Pl6rE9zSRaKZ?F=*mi_jDHd9>fJV*BAF z1v@y8c6ix^kVGZX$kaivw?jie0Bhqo%*5v~_4UM+)KB1pIRBsU6};wR_?g}u9l%^P z*EXWhC4Zpc3)24$Cs!f#tJWQDzY*R4W6_Y_k7e*1bbyKf!k>ooqXTRky)il}nnVZi z5Sklr;GOROy%gO4T}id3_yjh>|2$8R;3R7hZ-Av?!Lu8nL|x znlr<(1unve@oTJ$qcVIC`|nu_Cf^U(60>K?Nc|;L2Q*ZZuoOOvuH~*+Ka3_@)~p$+ z9I6}bgWf+4JL7URr+!BVbOEzqnM*RlfB##Nf@gazG@F~pdM7l*1JGm|j}BlKdUh{G zzlvMXj{iU-QzBbNYHcf^In@qx;b8P28yoA>G4=2NE}-E4eG*;k)%X{_i;nb->=~)- z-j1FR-=Hu00X>*bM$gCg^c)$fpWm0F6R3eETPv)I!_eKbG)G4G|Nr+g4X)vv=t1*E zte-|lo_=XYYTM++iPWz`BeD=3_zJ9tYtaE7$6RUbd%T7Ezn6vkN8}9Gr=ahfnKPM@ zIUJUl-K&9&rw3eJ2f8v3>9n(shg^ilK+H01lyB>WkDVOqY7)R}$_n#A?d$hE~x z9EC=30Xp*+(VTccTu&yxq2K`iMqiNYir_V9hgC5X8^!hkID-0Ed=d9!dAuio*mf_Y z&+SE*6W1Tb3HoZx6m2vLPLHOo!JF6S1v6SwqJfU z`!mt@KC%5Kw4br)E}DuNcyDZ z&vi$4!%#GL)}lW+HlW{xO=!e+#QG6*|DP|+{C!cbE5pb$(HT}iLs<_!XqurRYln8& z6BpwM^o9SSq0Lex+*bgdNC~vP3L44AXuo~X0Szg_{(ptSbQ(%wt*bIpf9c#CZ=k*r z?I``~umri$5SPL-SOpDjcXZ8%pb@zRE8rBo2A{AW<(#3u0nHW3p(RZ&;x8A8qvSd+(@QnhRjc*uF9) z`|p)_VLLv`4IiN$4=okeb{rbQBpT|u==G)O60AaJxCWiThIsuv_NJa*I-DbY(IuFJ zMq)Kyv?=bbx|4vhIM!%ysCd!2*$$_rv}$=DccVLx=H3vnc#!n)YI ze7OH1bek_n2f7K}75mGx|84k-24{9ng}4o|I`!UY65fx#a3xm6?dX8c;H_!=1gjXn z3F9h-tUiGLtUrdCn4@x7`wD1I)WXu(ymB%$jG$o@4R@ePbPW9({);Y6;VL22-O-Tt zMR&yrG^8WZ+_)2s&;m4)PeoUwOZ77PC!j6pN&01yf*t&hu1S`v;l_N?D>0MyOtj;s z=!?3b+vp}VGIwJYdc}P|8*36pcR(IzVU`xXo#1f16+r` z@J+Pi1L#05p!emf9}X;aCap#NzlomciZV8vlmA@UK|URy*9E8_lKb(Ejhh)Ia~*L7^lK zXQKJ)gztGBY(x84G$LEk7ac)odRg7@!u;sKu0ofxYOJ@6_1@^O-7)BdW}y*UhDje- zPoWpSkB0i1Yr|SrMC)zPPu;b-{V6uYqj)o2h3s4`=(W=tt>m9FARE zWTgH}hi$l=dZ(5diI4CsF2lE5h5P!q&Pe?&*$(VSd(k$jZv_AS4~5P&yn8h}{|70U z#jl_pzlDZ&2l|ot95eAx^q{%&hH!sT^#1bbT35&Cuu*J3hKBr1G)sptpdx7h)iL$I z|J8tkyPzdH@~-Hw)tk`)%)l(T8eQYH=sw;S>tCVI9lgVCsMWw>brqrZ3jT(XqY?8<cZks=&6}s@f=LLPyU9!1rMq)7jj2<){ zx`mkziB3Ux#Y6ZiEbhlw@Nn-nbXrz{7>ifTu zf}uWuj_eq^3vvtzf3(VtcTr!A4lw^s;Rqg!L#h9a7jojU_ z{%EYffabzGn2x(fu>ajgAJgEB_r)6y#`;n81t-yMlW|KhKboYau?^P8``HyU(Shd~ z86tWG`oe3__mo8^P#w*wUL%v?#sM_Uq~R89if6DZRvQ)m@_82Sr(Sn-_%mX@F<}YT zp!by-8@_&1uo?BDdE0qE;@y;DD~+$i|ap4 z%}D)QwxjP1=RxvE3WlV{w2;NU(Ia*y8lu;+6mG{%JdSS9?01Eu_bPO0>Y%%%HCDz! zn28UdAG4Rx9NUd9#ZS1I|NXhdSqjeNh3OfI^LQGIFybS3haVpQ&B#doOQ$!_3k)Kd%hBZAh9&V69N_-{je`5L%k0o`pXeAgi)Wz` zdK{g}_E`TGmr&0#C%ov1=xTI^8`01Do9Oob2u;R)Xao;q>VNDrm3e|<;6wK*O=k0wXfW#L6R zum<%^w1ci_(%y?*@mVxS{z4C=LQjVNs-sEW1Wm%;SPjRZ5qtVc_P;YaK!aN7Wxr8 zhUM^*RVkB+suWz~UYLoK&=Eh1jd3-)b|Phxc}wmQtTGrE++ zu?gOV9q}z}hk2fNo3j7M&bk-fy*|AfnJV2R~$!T#Uup>@F3u*o;2^F}md6p%F=5q~Hs) zZVopTL_eqH&==Q1Bhv-V+8$UQ@5kG46J}z$SHpH|ize9sbZPF3E=BKqA=Y;zxs*&C zpkS7sL%(MEw}gFM9Sz|SEQxbs`wQs4K8OzRH|&AAw}#L0P;5f|8GI3c!0YjW*TO%Z zJAh@W7kk|UkNwx0LSGs-pg$DyYzrYOi`A&NL}xw`4e1(m7krF^@Hl!zw|ygSE4-ch zgXn#iycs5#8EuS%Y449k-2d-TXn_YYb#S~D{_xls*U84l^ExRjAKEcg4$S zM7~GY{tv8ym%bAs*br+|ABdgs5%dH+j!Dnx8r#DIy|D@PdFUE{jLq>6bP29|H_T)J zn$>sVaGZr^^=UN8{y;ywIo=DoQ~495XwKDtFYf>A;|;y>G#7@T2Sw-iLlX5t zAG`(acoLc`Gtm$~jYi-#bQ^w#9!TGzyXq`@z7+l-M5rj*U$qa||8~%j2D7y%+VRck zjAx4)o~!21jGI9pN8VPegO%I6jS6e;6Y42D&8gqT6jRI>1Bd$$C0Tp*n?J zJHt89INA!m@dkA5`=U!V8y)bA=)gX}OgxJ2^GkMxffvOp)SF@@9E<+sT88QPH5!rR z0SbohFdCBc=>E^x9YTFMI?|%((c2L1pbh%m_2^O!LYL+i?1K|=Iyde?C(z}S@Z3~1 z5_jR_?*BOy+(son%}9KYv(V%i_E`w^By2|gS#-uHa3N;f6Mi)>#d_3#j28Vo47ev& zqGPID)gW&=;PV?7w9cT=V_t@AE&<5m)^(d zzDJkn(yu~24Ajy9p+h)>Z_??prX9opf~ zvHdK%B>$k>GvD5jLxs_P%A!l$6n(w}rhfnTpS$z}qx}wy-i|Kuef!w|UU)nj8oAZ_$^7n z1L7jOwt2q`9bSo!xD2{>wa^YaU~}w_Mes2+f*aAC*@-6Mujs^z91ed{q%VF|qQgr9SIZa~2Y`=bwxL}_ za{|r!v{S*{=)kXv_0s53TLaCFp=gp$!htvsyW#0m?0@%Zv(sU_4MazJ7y7_GX!1RQ zF2zRX-Nkvh6k@flcfs!U?24QEc66ih=zV`^fmN_JJ68tLznK<|JynX_^6KW zZ!fU8yTjt{?(Xg`Ap{771R^*r?o!;XxD=P7#ih_faVQihRthbY(qaYP=ezf8fBEz$(Z836EHVa!pcz3hk8&6+Cwd%H&miIumW5KmFF(h*?I7u`(K@BC{)OwP}lw= z)DtlN2Zu>uOvWjp3P}TXn)5>?t^xIyt0mMSZV$CnA+Qh}49miGPzBwCx&$x0bo6MA z^N;iDBvf`Cotv{1j>dZ((le{^%^Q0F++|V-2W< zcw3mFCsaiPVN*CAx>@pFSc37x&raZU?28iQgu3QMp$e=8wUZ5uEsPyt9`u1wmvV~f z*TPb||F_U-#l%CKC?CTKTpemfZJ-M40Sm+7P=Pi>-G-;3cH$QF9X>dS@f)Z|dB2#> z{CGH>@dBv0d1ARaq}>0d=_pWhpMobC)NL}#xEX3IuS1=YPf&^CxgEchP%F%BYz$>T z0BVbuLS4G;P=42-3cC+u>-GN)9i7ULP^UgdY-a}&z+#NELfsY3pbk?Q)M;J{bzk3v zd10nFZr|-&3+g%1A1dxls53Gbs-Ue-K%h zl?rNp9hCics55XJ>Mpne^TDT3g{F+>_I>_P4SE=lfpy_(sI&50Jh$`rfBr(Dt@#KQ zI9_}wUeaBTjR!%kbS6|GJE5-iVH-bzx|Xk?R_;pd*rkQC%MP^@ z4WR5g*?b?UeBJ@3m;rT27TI_g)K-6E<6Fi@#+Oiqet^AT$|TNRFbv9XHPog125N`S zLKXNNYC*A*`tAy^D;J#{DC$GqHleT-oC}rU98_TsU;+3M>QypdGUuAtg$f*M90!$P z2`mo}Lmj$zupX?Q+^=EvLkB-CNN3uPBOm9rCRpe}{SSRDHP{zpwZzE>@q=nZwqhC!X$iBON&rBJuc zDx2SA+zS=>xbZ4f0Z*U~bK=y_;mZa!t^{=#G=pBh}EJ^betKxA^HD`#ezdm5nW-cCt6rPI;m7&P>n!FU4jv zJPeiaijAKcV`Ok{r?gOqt18qX>;_fnC>t+?of&@(RY2N|&fzWubyk`|9r8X> zOHhTy%j#SbZx%Xw^{NYt!hSFgTnY8!u^#GEsm)MZe-`S@+<^h`CG^1N9w%S~EXjB& zl>H^B*O13h1wAul4f%bLw2b9vw)4Gj3b~<{{*PhKMi`|Tv!9{f#cwNco2@v z?(9IN9B$Vk#(iK5m@lW>_d{yK;Z(*aVKLqR&2zb34^fPTRbX =N~HbCvbiagGa ztcH0RZ-Tn7uRxvRM^J_R4t03{hI-b!^SXU+<2_JMz!oqB4uCo{51`u{gGVSGZK*52 z6F4Q*;mQdWxCYd1)xhREKy76R)TJ5$bz6>uI^{E=&c<4(Gj$&748$(rTnZ2LFwOQ18coC}Nm<62#8KACh5gXTlwHddCy5E;W`E7=Z^ApsLyoNf2 z$qG4lS?xmH|EjnX3T<^b)NL{V7J*;DDewr?ZP~D}bDsx7t#A}nf_1O}J9!9dXPy>u zyH>ytP=zlk>J+dGD(*$t67u&~oQYP&+`g~b^oM!^o-rma?)LqkaC4{?e+dcqwemYqe(zuhn7pL(;?&nmM-%Izw(bbjHT@21XRbgUvZqkD z(JQFK_Xg_u5U-R|$Qd|?@mr`urlN>5> z6)4A+Q1iW^RvZbnqSa7aeFQ4tC8$U6EvUoz7OHS}S-0=IW)j0{j2plTa2jOZ>pDwE zm0W^4g!f=l7_*$Sf)r3M%ekR;ri!sP)YdnGx_hFac4i{ftJ^{t2-icMtwiOW+cz03 z$haJgr~AJLozf`6paQIgvEg1A6CQ#k;StmSW&8lOGchVS_jy97w`i52E>%6KOVJo= zr@BGKiG;cfHo#oucip8^7sjsW_I;;QW2l`t3(vr3ungQ)$+@kbLmi?lmEFE?*%$&- za{3>^&*8+r@Vxm3f=r&p|`rrY<;sJ&`A z*Y29}E-c1Y`~ojxpP{Z}_YC%A+^(K;{~v|r7{{ycobKwdI^*FsJ_2Vm{s8O184bAq zuh6;PzzMjyq1*K};|z`5zMt{F40BUhrN(R(?B2wA9!zfPcI{xCrWwx#c(%ElzYojV zX~9l1p4ZatS_<#Ba=UJ#AKu38`!U}(ZQZVsj1#tVUVf*xTtO!5B zjj%$H^Jexj)EO(@!+F3Bg}OA}Bi4!4(|I|q4P`hPzJQmZ?$_hJoEMYNP^Y(Su-o^0 zK0~1rckS(*?q#sP{9tdGrH}L6m<094WFK4spFr*ge*aI1^T<2|8!~Yn$}neN=eBGP zwbDsYkJvp>r@Ba}^E{XX^}tyS^&D9Tm3z?tCIK2v$MA&iDlOWt=C%?fYf+bDj} zh6xxChS_xgkENqW=US-O{S%si4{RJe%H9vaMCfb41F$KKfQbe;hjb*=wZ8`E!IT4? zNA*Uivvmq8ezrl*C8-L%?NIciQyzW`x5C(iows7UVJ*g=;apg2h;w*;gc%rnhC0`} z0vyPAJPd)KpiY0EVa{1P2AeQWINY)C0QJOOJDmH!DV;kg^rS01!U_Bac4nM{+p`ty z4|Q9eHs%}YtZWMGhJGDv1`~{OE=fnIotXlC3xL6lYmIih#=@;IHY_=YfI2+o$2hNc zwP8NS9iiU!j)y7XDyV1uUZ_iO6sCsX!vgRjRGegEo!crC)N4r>sB7I1>I@8p@!({r z0%m*Z#H6zjHsyh`1nMyUHqPz)8I4}!o%vgED*8K6iF!|PJ}($xTxmQH3o`%4#yKZC zc1?^!jBAYEi`MyI%st6@v1tZ%jV3|gs~_|*{tIe{(oA;yzWuH$EXsHhl>IrVXM4;k z&Y`Xk<=+eHwPq>Q^Wr=#ru#p^R3|`1SdEFkums!+bHWEuD~dPGd1RJ?8V@k8f(m>Q z>ixlImOs2!ON zb1(J0K0vK3?M!E-nT=K8IP?KfPsArs?=@dQ<%v6s`(G>1Pe<3J8Pr>* z8Bo{sPpH$IbGEG*>Ji% z<^I=}6`Jc**a$Xa+zP7FRWKJk0JX*Up|j$>h@|2^`_sV&||{f(q0f zYDL3sJPXQy6YLESLlvBFiQD&kzgxjb#y`M3&|7<{(+P!DQOtv?>^dw7??GL=)XSW= z&jsNy#;u@s=n_<6FQ5uay4+!2sKZ$e>QZ!qdhr1pNT0omvaa!-G(P-arpby3*OfqELm^hdSInZ9E+oV!R3J(%gi;@Be>7M}~jG zyfDL;&NIIT)ah;mx4`aDD^0n|dCOG-_G7#OPJtO#yM5mgxfbe7rC;MbNy|XJ5eb93 ztw+K9a6GK&rL&!m-e~*|Rax=1PU5Oiw_hWuYupykfL){H=HgNyzkmcRrRMrXV^p1r(3-h5?whij=oP!GV zE7T6Wg(@KCMrX_8Kqbrx=fNUS^QWK+`xa`4u0s`kcca&NgYXc=MilusISyB$w&*65 z;U}mUrC6Jt#AToYSA$wnEgLt3vTp^o-?=~*8)p<)61uLN64|~DCVKvxgn`6Hc%Kujz=iTls+}ody z-ka@(Rbkv6&Red!upQ%NurhoLo5M0Y9ZrU&8Q+23VX9ru8FAozfO@O-CENk`I0mlZJx%~Gtb=|5%n$EDeF~OvFAIQ~zjph6 zg0k;Ex9{6|6YO`MoIRlq>tv|c{cTVWxFax$UjNV1(IfT-TnsO= z5oSB+ysCAEBN?|kLErEH zXi7)7Sr4cHqo6LuQmET*JJjuX5oUu=VQiT2nDg0la;Uo?+&BWte=<}7%b*sv2P)4g zs5db8k8%I2^9u?EcmZ`=eSkVFpN*N0J6l)|K0sd?UWVCExP5=)@o%`D@$!>y*K649 zl=Fp%+NYhBkAw}-uZFq{Uc%zA@EPv^GIRpYI1US;3@^hrFzZ=o>jy&JcF&>orM|VV zVnO+zh0@13=e!2AgGz87j)b3KC>(j-@p}Pv)(UvPbGt^-ISq9?)%)K0OlKr)%=l-R z85X5}btt;XkkhjJ)W)%B_dGTdu)=Fv|~4fivI$#!sN~c{^WnK4X~+ zyP~)Om7v^Z=d;>SSb^~ts3+F1uoEnK#Yr>^D$xuKi+lclgpKGGX`aDxP3ox^bmGsT~ zFQ5lzc;IYl1*rRX5{wBKLfywppq^}dp#mR-N_fWfKSDjA?!kQUnT=CFbnHD3x&IZo zAPU{@6^-qn4%Gmt$`70VGE~5qHvRy$L+Ktl0dqmEycpEG=_*ifVA?_X&44O&5tQB9 zM_wnuE}J+Cn=$bnltb3X&a*l{)TJo_RZw}TOV9*r2j;?9aFLCdK|T9d*?70j?}ti! z80wLI-b+W1)(246?jNXYAM=Ux3{M0VxFC!RiyF&9C9Vo}25LbS*b-`m9iSG_6Y32} zIMhy$vH96hk9O~JI`QZnhI$n|4VCCus7hZ!73TWIVH~I(NCf4V4eAo)he}um>WNq# z>cKSx>Or*tYQ^Vl{%6RU;QxQ0I@i7?Y>q(y)Zy9%Rlo(Pg6_Z}@DbE)*Y#KD!Ll6c zQapr#F#j{hZaQqiIR10zw(SIUNe)BByXYhL-wit2;(Jglc?h+oe?XoiJ_*I6A}tkL zk$~&-mG&4pqigjasYVbUqCWYREqRO2P1t~2r=saKc|qH%`+um)L7t#UN5Dw3M$tZ^ z8wj7_d<}gyb3Tsl9Bl-;I_UV;ai7$qUzS6#Q`Z4GsOy7#L9r#VKh6AjT5Jl*K#{f4 zE5B<$lR+q367Wl$TT{@V7Nh}1RYG6Sij=*i1&Nws69>NuB>D+%L^qORw&1gY{s7{} z!LPMeirj?ywY*)iY2fUj*Y!I=j^QlHjlmyEjFCitHodGRzU`=7g%~fS{}Q?hw3Xtz zz!@ae--}7lI47&yMx2Y-oIw8_{gkZy11$=jej|n?K?2r44u{IL^h`vTh7|QD`rQ=u zfEA8m{3D4bQu#den+aBz;F8Js#$qm}jiuuS(I+3V&q@CYF;Xyp8Q&l1?)5iNHhB15U4RcMT^3DIYCa~AeqOU4wt`RCWx}Qtf&9{dod`o$ z3%h&7>VxkRRwh}4UqNh>Q$T?E^uRVBw&&n)ak>7@aT-ow{@RZ3SEu*FX=}8VD9|dL zGh*|YWT9{?34Vr>;q=3qf66$6C8>=rA#o*p&Cd7I>8MhBN#_m!Gnku zOg}$5$s7v4%{WT`|JoZx3>*Uqnv;N;3AoD=`>gqJiU7HB?!+!^$FVg16Z8{V!mRl0 zWITiw)+J6s?4uY zDF&^;B({F}Ok(UMyNMGJhwEPe$757f1EbLrnUG|F z2P|L*ib+U+6alAWoS$}x@lc#!zz!t%fKNPF*miFsD{f4TJ?JJuH{fo)>u*W1CBZZzX{#O{Obb@F+uN{b9-;x!ZeOp$9m37RvO)W)zd0aj@V z$b0%7X@MkNM|(nlC;XNssf_PR3iV4m#!F6up(+K)2^M~;{K~PD4 zY$bVZT!C1-=})wHubI;iE{5V$+=_Zc><#F$vp8>Alu0dFTB_2wSxjZ+w^&tIf>b2o zDD)}l_h&ANRelHketd_*+$8y%RtTHHj5iT4ixqH$ejf@d%6JF9-7FX8`Wlh%^~d!s z3H5y*lC=bQX$A0k>QMwva(2$ zwuk!0lb0}PcJkXPy{{AAK5%tZKU=-DBoPQ@}{< z_o4qw1=xHUir9v|?_76gyJIl;K*DttGzO>CI8DHzF+skuiWRg3HgB1e{2lEwRkQ8Q z%d`KIW28K(P5Qc1&EiEp}Vq&$XZo z!LYYgDw`Z;_?~3TZRO)(23tX2lI5p8Cvj7nWHpHgQP?AjpGUm==>CaTXk05$wyB9z z3mb1=D$y5QBtaCw&w059nBi6ePGJ@6u?Z&75(?PhnEE~*Mn9cahd`yVEkWPEAir4# zE1-fEnZja!z!sUE_I6_LPI7!tYeN3*6kn0KC5$JrYo*DVgxGs+69RE+&-@zVjb(lW z@$!k-|4kjv7l9O-yP9~pS?DX~J7B+w*o&~=Z8bPnuGw4f$M&uuenYGEg;Sd=5|*VU z$2TYQHEh1S`9EV^ogl@?lYsf{)ajS%_*AkuX_>o@PdRFd^c%pIHc!{)Z1N<1 zNl_NW7sg#(NZ^-1oc=*yp9Fq+k9~JGU?_8!DJmP|68K4OllX%bj)`kAHeP(&n{G9I z{eELtIuuU`T!dtWSV?)tU&zBGmIW+{ZU{l!(h{IM#p;T|-Bxrk3G`*#<8TkUdD!=* zeMNsDx^~2^O#h6A$e`PZ1tE(g>DY5ANq;-_$4_utMvDM+AxvOCJs|f zV#Ys3GYqAAzpQ6>B;}3jAH!!1MQ6olfF%x~uu;)$WY>touT%IC+7Ha9p{Rp;4qqX_ zQCT2^=%-=wI7Otjt#3pDsR%w8$58a;;Ws!-a$&ojelPk@NvL1_d{B%wfD%3)AaRaU8Bmi!4TYz*aomoXW5&x9J)YtQra{Ervtk4vGq;UyZ=EDO%DPeO>HkT9T63%yp(*8?lpo1>?|OVV8>e zGvruKe<8ZO`uf86C?zqtHub1DgrE~OHvI&)EdmEgPTB~PjkQ(iebiL~MW7prza$UE zdeO%ZD|1-q&%g^Zi;vK}~V1gIKskH_DilFxib_j-2E&ti#I*8poTCgSQPLK!8 ztz_H~yAl*WoAxXE<|LLR@NF?W#F#05Zk0RD{MS1R;`>Vp{t<&)P_l-g2VgE33x{IN zU1j_RhtoJ8L^qo@3i~`1)RcZzn&cjB8#c-@H`*$FpNycB1k-Y{8~g!AS3N!dn-cge z$qGK;zZ8GJ z+@izZ$#f;fCLb|AvjE@uUxi@?CXd4sOun(LYtD|;!Ehz*6pn={Di)M{w8H-+!BJX5 zyVft6^D;h3jC2%qh?rsMqU-?b|C-*=vM|42_kU)B?kDJQ43Coh9)Sbsk0(eSn&cwR zU(>(AyyPqT-C5<&_->$0rs)qJETsKJ%ZS|^e3oESp2Bvan}eVJ<10V5d+=XEzo>q{ z(-e#|(GsCdOXAEp{)pofba53Foy0@`D|X@rtsJd4_63;B2@kS>-UP0SO)G5sGM_?Y zDEX1qzG1FC_A$`=bj*#@m+Xp=EH11~!UY8T38TJPoWyujC`K{Zbv>{ep^$zvQObs;_VR8DOi`xD!5?(51qr8Gh+wbN$;;aRQW6Feps5 z|CM{pcSGNXiPm<=WRuxe6V4oekk?fNJN{OxPkO;!By-#NBXgUqz~1OjFqS-x$@MRa zQB1acJ56#ERHfQG*N6Wgbv9P@Sa_^i|F~CI$A%6gh|P5f}gkkQ-VK1cLnYx z$z2>Ik5wpA9Ok9z9dsN5Z^tev!R20;MM*xOFUtHY?6TAE&SZcJAXa%|_R!atgGqW0 zWe5fnP}ag>5xQ9_h9+rcNlP$}Nuo@45QpIxil3w2((0rNaB~>^plh1DT;dpl1zd6@A_{jD7Pi8iSJTue`CCW zxyj76Abty0y#W82a4)*iG)XxM^v*#UpUwiR8*CH*5GVlM_Y_pj3h7Uv&gcrE`;6@` z*z~cLE7$_!NM_jry4eBDWB%EguRuQxpBTi5N3Je<{_A^z*4YZ25dZsl1${||C2-{1 z2>*}h`$xW{5J?%5md7?JyK;>F3i`iW;>55r$vWa+gT#_l*!@FZ-`^LJ;*wSUj{ar( z7nqzvrNbCkh8`T=*@^}--p6iaWj98fPBAV=D=-O(F4C@1$W@XT$2JxHwb&KGe<_8( zf^GHs|DNEIe+XKJ@d>*O%V2+uHlmwOqH^>*W7mlBMpo64_Olf(|5+sHV7?kRz^)TT zZ6oRE1F`#8a?Y&Ul5gBaOHWkI{ckL5F-rasQXbc@l=7QM{nd z!r?K-m+3dgVLHhrEeZY<=egL{K-Yq~!dCb!bQ7?DK>L%vWCd~aQS2W2nM~)Kun+Ai ze3PDDl0O+pex+rhfUj*uzp?|8DkL0;ZF~Z@pj9FHIFfC|t_wVZO)~V)@GWJ&J&f5c zMmFXonaCB_3i3t}^cMo8vz2thiQnSnYDxl0b5{H(a~H8Ii`{=Em_P-wUrdr-%%7*t zz-TB1-yl{G;`~hi4K`D04T;yELe{}^`u{~qAtt`C>QY(aeK@BlczouzQNU;`@DpRn zJ63y!qzM>*qPS()AGZQOF@Kc=FKCkAVR?9+LgFY7_66|wz5Z5Y@CV&Yv_=H%%)}>4 z_7ws3V_%ZI#u)^Ww5GUx^!rh8N$j%Frs8`V9`FTs>@0ulC)+;rD;=e`mc1vW+ijeS<%nXFR!qz%lIMsJH#9oE$&W|g-~Q)DETH@T<<*+ z4o3Ny!1Zx%&dOU+S#%l0css!#bTMUI_L}X}1}VA?av> zC1M=T)^{YveY@0U^!1;FB%XjGHi5d?wZBDw2gUg18by6el0aHt`WNuYfsNz?%nVE6 zJIyZJTYRTr8%eSm6!4?j{st>r4xh8mUw=~+#Ca&yFT!~y2?Ej2MR(p-+QzCLP2dIS zD_YQW*tenm%nBo%sIEEqyt8etL#!6e|AYNg(={VT337d{*MCVG0#3t7@&|$XS<>57 zpP4yHPaL{1SB93uiV0%wOZ3}ll3}97e1hF-OW444?XaJU?l8r?r0?8+K3BF2hf?(W zP;n6@p@{1iI2-zj7A!H&FPKY4+hB!^h1D!c4p<-mOxQItol^Xc%^YIHXHjLyaaPy= zBpv-MINxvRx<^GIg$^nFRt37b2#Yta@livlV$?u_49;^ww9*DdqgchW9N8RmW0KMTeow7nSp2;boF z$c$oOz$D{D^J)Zxr(anS%W;BiXD|iZ(-c&b-70R^H-oWDwB5*IMW$k|rfqv2`tyAO z?fe%a=rWSVh2N1ZD*@_Z^qg^RS|5@<$KeNpeM3@7671{HM$%tvi8pHknTn63nk`8E z^Q`zPZ4j|9u_Ky#>m}JN0uDf#H=3~=8WQ|E3A3{Ur*JHX(;*A2dC6-vg32WgU)#FebZ=imE(imjj^?C;FGZc&g5^vh%tOvHH?1xeo7TzZP{ zM0@Y3U9+S4JfescB+7*@jN(4qA|EoI>i>UG`K>bNMI^aGzox3E-_fp_rqh`7dkWY? z!a?lLadf}fN}CWg4))z`T!V2{3jTym8jJGB`mDT)t?(8>)?>F5yU7-OIf*(jznb_dR0R@( z&jdIhc7gRN_9XOXw?I1?ND`801MM3Mh%OD{CTSz#G#Jz2`kra1{{tF6i z4zDn7h5ccC$0q3jODNSi;!6@@pH`p$`z1bAOa8>*3;J!S_#ugAQdm2f zhb=3L?vU*OKM&(-z+6mplC}iod)i&!lUx#;xgIpPB`jhKT8mvu^NHi7vdb8ZhdD?v z8HWN?{1pbz;YtFf@`dB=7r|HH{D*DhReai_lfjn3?8NpWd~F3x!aoK{n^SmeVr*qD zr^Q-ke*UI);3ttSo{*xGN!{{VN|CPL!qzZ-1WBVngt(eo$YyFt; zFA_XvwY4o#4dPa(xDxn;MT=dN`E1x_)tAawSj;n#+s)X`r=?^5B=pN=iVMfSC^1&i zMlkm)aYxdZ{K|qG(SMeZ>)#c{1zHr!^8~$QMlaz53RsEr1FCL~O&7-hkUR@x$=BE? zgZ1$pi|z>Hx{PztUyuJs#>W^>!B1Cr8inN`USsr~;U53{|5Z3tLvbDMpwjI0CHLw3 z zBo^=tgYm@L2oo?~#twV|-&zs-wg15ct;EDWoGwztQTl7>H)n1ILBGH_Bjc3J-KGD+ z5+`7;AHgM$@Hs-9_}HAl)-M^O6)D|!v@ME95i_v!=B46gDA(d#)~YJVL>C-~U^IeO zog_zTW3Wrk*e@Bm1P}1@%OyIQqa~NVBsN*FNrV0qZ8=4sMSqZj5q%BYkug**X~wl` zH+$v%l-_Na;TuOKFWLThbKWdUWZcm9dUx%(403@%tJ7e;jk)$H(}; zrM1WJKJ$`q8P~yY4dcJ)b6SwY8l8pqrYZd=NQ6FeOkhCmw z8BL!A8^7F&R^SV4SCDj{#p+2yNn6@r`t``Oi+*h{Ms5_jsWK;0{-&5#=HHC**UYV_?V){%ehK^$=3}AZv}@RVtFw~Sw8l&( zvD<2#t?DQVUX!pLbAHJlZN>d;7qVD!*Q428vO;pQ6YZH#&RiaXw8W>IKbZEv9+ea` z;|}aXF^soiJf7sg;hdhLy2F7ao{HTswgagwX+QMA%ok+)2NEk8eMuJDXl%0LU&W{4 z!HoY9o1aFG>H5*P#+LjiDqBL*TNo5Fhc3*0N&mPm4+#QohiVacA^pwR-auc0`K0() zrGNwk4l@6rjk(M(4u0dvA&Cj=>aA%`R#X;8zbwVLEkX8T(1y03zz^V9l1NgLbf~Rf z<9N&^HUD-}AU~Mx0e0uI^(zoZ@_>TBB}WSUyu++AO{Atj3FFB)&8Dam7O@5GQibLe&L!8t9#vZ07g zz#9arN-Kx1I|USEzBhqZGQSLcElc`{esbo+XkU_GJLARJ45PTQB$s5yZ#Ltm%=;x9 zg&d|e#3n*N`f`;)bSZ6B{{(|^ZfU{%Hn}L^d-RoITzmtu8)P>5G1^AK(WNPcrDQQt zrtHjob_#k%;al~UpZElskHIA-PGT%6!b+wx*9X0%z<-LAE;hEAup3JOrPAz!TuVHfRBr|QL&FoN0_X~cL*lIU%-RO^)%^dvd5_dDPeqmm6R-f0#vXwb1 zk`Uk^hCQitw-xt*etB&FB5?=iU(@{Z+!APfirtuJJ`JN4H3plSR&;C_L984!Z#6zt z#-TFG4Y0LsPgAPxfo>e*Rur?8{$E!08RoK3bV}R$RoJv4SqjE4v3o4kn0~|34UR+I6#rk?bM<5w`M#(flsZPlQcr@(gD|zWZMRLonXX#A*1( zg5@TVnLD$IAKNgfg}2f8n9T!@wL z!zZaP2T5zuX@SxCy@%q*Sd`4$BQhx56VX%*wd2r^oR-#bhbXi(>Yp^?~h4+tfy?@G-d*(+AM*1mlW4U6JPhB)=>ER>?cp{?u^$QPX`RuSR zb5y7f^8Y!P6#ehHY!w+C!r2<)=@$|ed3;x-j>W%cGJze+V=J=F|Ej+`)85bh+&2gO EKQ8EoZvX%Q diff --git a/application/locale/fr_FR/LC_MESSAGES/messages.po b/application/locale/fr_FR/LC_MESSAGES/messages.po index f234abd39..62e924502 100644 --- a/application/locale/fr_FR/LC_MESSAGES/messages.po +++ b/application/locale/fr_FR/LC_MESSAGES/messages.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" -"POT-Creation-Date: 2025-12-14 17:13+0000\n" +"POT-Creation-Date: 2025-12-19 07:34+0000\n" "PO-Revision-Date: 2025-12-14 17:13+0000\n" "Last-Translator: JONCOUX Philippe \n" "Language-Team: French supprimer les QSO " "sélectionnés ?" -#: application/views/logbookadvanced/index.php:745 +#: application/views/logbookadvanced/index.php:747 msgid " QSO(s) will be deleted" msgstr " Les QSO seront supprimés" -#: application/views/logbookadvanced/index.php:749 +#: application/views/logbookadvanced/index.php:751 msgid "With selected: " msgstr "Action pour lignes sélectionnées : " -#: application/views/logbookadvanced/index.php:753 +#: application/views/logbookadvanced/index.php:755 #: application/views/qso/edit_ajax.php:725 msgid "Update from Callbook" msgstr "Mise à jour depuis Callbook" -#: application/views/logbookadvanced/index.php:754 +#: application/views/logbookadvanced/index.php:756 msgid "Queue Bureau" msgstr "En attente (Bureau)" -#: application/views/logbookadvanced/index.php:755 +#: application/views/logbookadvanced/index.php:757 msgid "Queue Direct" msgstr "En attente (Direct)" -#: application/views/logbookadvanced/index.php:756 +#: application/views/logbookadvanced/index.php:758 msgid "Queue Electronic" msgstr "En attente (Electronic)" -#: application/views/logbookadvanced/index.php:757 +#: application/views/logbookadvanced/index.php:759 msgid "Sent (Bureau)" msgstr "Envoyée (Bureau)" -#: application/views/logbookadvanced/index.php:758 +#: application/views/logbookadvanced/index.php:760 msgid "Sent (Direct)" msgstr "Envoyée (Direct)" -#: application/views/logbookadvanced/index.php:759 +#: application/views/logbookadvanced/index.php:761 msgid "Sent (Electronic)" msgstr "Envoyée (Electronic)" -#: application/views/logbookadvanced/index.php:760 +#: application/views/logbookadvanced/index.php:762 msgid "Not Sent" msgstr "Non envoyée" -#: application/views/logbookadvanced/index.php:761 +#: application/views/logbookadvanced/index.php:763 msgid "QSL Not Required" msgstr "QSL Non requis" -#: application/views/logbookadvanced/index.php:762 +#: application/views/logbookadvanced/index.php:764 msgid "Not Received" msgstr "Non reçu" -#: application/views/logbookadvanced/index.php:763 +#: application/views/logbookadvanced/index.php:765 msgid "Received (Bureau)" msgstr "Reçue (Bureau)" -#: application/views/logbookadvanced/index.php:764 +#: application/views/logbookadvanced/index.php:766 msgid "Received (Direct)" msgstr "Reçue (Direct)" -#: application/views/logbookadvanced/index.php:765 +#: application/views/logbookadvanced/index.php:767 msgid "Received (Electronic)" msgstr "Reçue (Numérique)" -#: application/views/logbookadvanced/index.php:766 +#: application/views/logbookadvanced/index.php:768 msgid "Create ADIF" msgstr "Exporter en ADIF" -#: application/views/logbookadvanced/index.php:767 +#: application/views/logbookadvanced/index.php:769 msgid "Print Label" msgstr "Imprimer Etiquette" -#: application/views/logbookadvanced/index.php:768 +#: application/views/logbookadvanced/index.php:770 msgid "QSL Slideshow" msgstr "Diaporama QSL" -#: application/views/logbookadvanced/index.php:769 -msgid "Fix CQ Zones" -msgstr "Corriger les Zones CQ" +#: application/views/logbookadvanced/index.php:777 +msgid "With ALL QSOs: " +msgstr "" -#: application/views/logbookadvanced/index.php:770 -msgid "Fix ITU Zones" -msgstr "Corriger les Zones ITU" +#: application/views/logbookadvanced/index.php:781 +#: application/views/logbookadvanced/index.php:832 +msgid "Database Tools" +msgstr "" -#: application/views/logbookadvanced/index.php:771 -msgid "Fix Continent" -msgstr "Réparer le continent" - -#: application/views/logbookadvanced/index.php:780 +#: application/views/logbookadvanced/index.php:788 #: application/views/oqrs/showrequests.php:58 msgid "# Results" msgstr "Nb lignes" -#: application/views/logbookadvanced/index.php:801 +#: application/views/logbookadvanced/index.php:809 msgid "Dupes" msgstr "Doublon(s)" -#: application/views/logbookadvanced/index.php:817 +#: application/views/logbookadvanced/index.php:825 msgid "Globe map" msgstr "Carte du globe" -#: application/views/logbookadvanced/index.php:848 +#: application/views/logbookadvanced/index.php:859 #: application/views/logbookadvanced/useroptions.php:26 msgid "De" msgstr "De" -#: application/views/logbookadvanced/index.php:893 +#: application/views/logbookadvanced/index.php:904 #: application/views/logbookadvanced/useroptions.php:86 #: application/views/qso/edit_ajax.php:428 #: application/views/timeline/index.php:72 application/views/user/edit.php:627 msgid "QRZ" msgstr "QRZ" -#: application/views/logbookadvanced/index.php:899 +#: application/views/logbookadvanced/index.php:910 #: application/views/logbookadvanced/useroptions.php:94 #: application/views/qso/edit_ajax.php:527 msgid "QSL Msg (S)" msgstr "QSL MSG (S)" -#: application/views/logbookadvanced/index.php:902 +#: application/views/logbookadvanced/index.php:913 #: application/views/logbookadvanced/useroptions.php:98 #: application/views/qso/edit_ajax.php:536 msgid "QSL Msg (R)" msgstr "QSL MSG (R)" -#: application/views/logbookadvanced/index.php:953 +#: application/views/logbookadvanced/index.php:964 #: application/views/logbookadvanced/useroptions.php:166 msgid "My Refs" msgstr "Ma Refs" -#: application/views/logbookadvanced/index.php:962 +#: application/views/logbookadvanced/index.php:973 msgid "Ant az" msgstr "Az Ant" -#: application/views/logbookadvanced/index.php:962 +#: application/views/logbookadvanced/index.php:973 #: application/views/logbookadvanced/useroptions.php:178 msgid "Antenna azimuth" msgstr "Azimuth de l'antenne" -#: application/views/logbookadvanced/index.php:965 +#: application/views/logbookadvanced/index.php:976 msgid "Ant el" msgstr "El Ant" -#: application/views/logbookadvanced/index.php:965 +#: application/views/logbookadvanced/index.php:976 #: application/views/logbookadvanced/useroptions.php:182 msgid "Antenna elevation" msgstr "Elévation de l'antenne" -#: application/views/logbookadvanced/index.php:971 +#: application/views/logbookadvanced/index.php:982 #: application/views/logbookadvanced/useroptions.php:190 msgid "Station power" msgstr "Puissance de la station" @@ -13531,6 +13692,130 @@ msgstr "Précédent" msgid "Next" msgstr "Suivant" +#: application/views/logbookadvanced/showMissingDxccQsos.php:5 +#, php-format +msgid "Found %s QSO(s) missing DXCC information." +msgstr "" + +#: application/views/logbookadvanced/showMissingDxccQsos.php:17 +#: application/views/logbookadvanced/showStateQsos.php:28 +#: application/views/oqrs/qsolist.php:11 +#: application/views/qslprint/qslprint.php:31 +#: application/views/qslprint/qsolist.php:14 +#: application/views/qso/edit_ajax.php:41 application/views/qso/index.php:90 +#: application/views/search/cqzones_result.php:16 +#: application/views/search/ituzones_result.php:16 +#: application/views/search/lotw_unconfirmed_result.php:11 +#: application/views/search/search_result_ajax.php:130 +#: application/views/user/edit.php:529 +#: application/views/view_log/partial/log.php:22 +#: application/views/view_log/partial/log_ajax.php:228 +#: application/views/view_log/qso.php:668 +#: application/views/view_log/qso.php:672 +#: application/views/view_log/qso.php:676 +#: application/views/view_log/qso.php:680 +#: application/views/view_log/qso.php:686 +#: application/views/view_log/qso.php:693 +#: application/views/view_log/qso.php:700 +#: application/views/view_log/qso.php:707 +#: application/views/view_log/qso.php:714 +#: application/views/view_log/qso.php:721 +#: application/views/view_log/qso.php:728 +#: application/views/view_log/qso.php:735 +#: application/views/view_log/qso.php:742 +#: application/views/view_log/qso.php:747 +msgid "Station" +msgstr "Station" + +#: application/views/logbookadvanced/showMissingDxccQsos.php:38 +#: application/views/logbookadvanced/showStateQsos.php:49 +msgid "No Issues Found" +msgstr "" + +#: application/views/logbookadvanced/showStateQsos.php:16 +#, php-format +msgid "Found %s QSO(s) missing state information for DXCC %s." +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:31 +msgid "Results for DXCC update:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:34 +#: application/views/logbookadvanced/showUpdateResult.php:40 +msgid "The number of QSOs updated for missing DXCC IDs was" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:36 +#: application/views/logbookadvanced/showUpdateResult.php:42 +msgid "The number of QSOs re-checked for DXCC was" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:55 +#: application/views/logbookadvanced/showUpdateResult.php:99 +msgid "These QSOs could not be updated:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:61 +#: application/views/logbookadvanced/showUpdateResult.php:107 +msgid "Reason" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:62 +#: application/views/logbookadvanced/showUpdateResult.php:106 +#: application/views/search/lotw_unconfirmed.php:32 +msgid "Station location" +msgstr "Emplacement de la Station" + +#: application/views/logbookadvanced/showUpdateResult.php:83 +msgid "Results for state update:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:85 +#: application/views/logbookadvanced/showUpdateResult.php:87 +msgid "The number of QSOs updated for state/province in" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:130 +msgid "Results for continent update:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:131 +msgid "The number of QSOs updated for continent is" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:135 +msgid "Results for distance update:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:136 +msgid "The number of QSOs updated for distance is" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:140 +msgid "Results for CQ zone update:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:141 +msgid "The number of QSOs updated for CQ zone is" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:145 +msgid "Results for ITU zone update:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:146 +msgid "The number of QSOs updated for ITU zone is" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:150 +msgid "Results for gridsquare update:" +msgstr "" + +#: application/views/logbookadvanced/showUpdateResult.php:151 +msgid "The number of QSOs updated for gridsquare is" +msgstr "" + #: application/views/logbookadvanced/startatform.php:15 msgid "Include Via" msgstr "Ajouter Via" @@ -13543,6 +13828,21 @@ msgstr "Inclure QSLMSG" msgid "Include TNX message" msgstr "Inclure message TNX" +#: application/views/logbookadvanced/statecheckresult.php:3 +#: application/views/logbookadvanced/statecheckresult.php:42 +msgid "State Check Results" +msgstr "" + +#: application/views/logbookadvanced/statecheckresult.php:4 +msgid "" +"QSOs with missing state and gridsquares with 6 or more characters found for " +"the following DXCCs:" +msgstr "" + +#: application/views/logbookadvanced/statecheckresult.php:43 +msgid "No QSOs were found where state information can be fixed." +msgstr "" + #: application/views/logbookadvanced/statedialog.php:2 msgid "" "Update QSOs with state/province information based on gridsquare and DXCC " @@ -14388,34 +14688,6 @@ msgstr "Votre adresse e-mail où nous pouvons vous contacter" msgid "Send not in log request" msgstr "Envoyer une requête non enregistrée" -#: application/views/oqrs/qsolist.php:11 -#: application/views/qslprint/qslprint.php:31 -#: application/views/qslprint/qsolist.php:14 -#: application/views/qso/edit_ajax.php:41 application/views/qso/index.php:90 -#: application/views/search/cqzones_result.php:16 -#: application/views/search/ituzones_result.php:16 -#: application/views/search/lotw_unconfirmed_result.php:11 -#: application/views/search/search_result_ajax.php:130 -#: application/views/user/edit.php:529 -#: application/views/view_log/partial/log.php:22 -#: application/views/view_log/partial/log_ajax.php:228 -#: application/views/view_log/qso.php:668 -#: application/views/view_log/qso.php:672 -#: application/views/view_log/qso.php:676 -#: application/views/view_log/qso.php:680 -#: application/views/view_log/qso.php:686 -#: application/views/view_log/qso.php:693 -#: application/views/view_log/qso.php:700 -#: application/views/view_log/qso.php:707 -#: application/views/view_log/qso.php:714 -#: application/views/view_log/qso.php:721 -#: application/views/view_log/qso.php:728 -#: application/views/view_log/qso.php:735 -#: application/views/view_log/qso.php:742 -#: application/views/view_log/qso.php:747 -msgid "Station" -msgstr "Station" - #: application/views/oqrs/qsolist.php:76 #: application/views/qslprint/qslprint.php:30 #: application/views/qslprint/qsolist.php:16 @@ -15955,10 +16227,6 @@ msgstr "" "l'indicatif d'appel contacté a été téléchargé sur LoTW après la date de " "votre QSO." -#: application/views/search/lotw_unconfirmed.php:32 -msgid "Station location" -msgstr "Emplacement de la Station" - #: application/views/search/lotw_unconfirmed_result.php:10 msgid "Last LoTW upload" msgstr "Dernier téléchargement de LoTW" @@ -17244,44 +17512,6 @@ msgstr "Mettre à jour les données DXCC" msgid "Status:" msgstr "Statut :" -#: application/views/update/index.php:30 -msgid "Apply DXCC Data to Logbook" -msgstr "Appliquer les données DXCC au carnet de trafic" - -#: application/views/update/index.php:32 -msgid "" -"After updating, Wavelog can fill in missing callsign information in the " -"logbook using the newly-obtained DXCC data.\n" -"\t\t\t\t\t\t\tYou can choose to check just the QSOs in the logbook that are " -"missing DXCC metadata or to re-check the entire logbook\n" -"\t\t\t\t\t\t\tand update existing metadata as well, in case it has changed." -msgstr "" -"Après la mise à jour, Wavelog peut compléter les informations d'indicatif " -"manquantes dans le log à l'aide des données DXCC nouvellement obtenues.\n" -"\t\t\t\t\t\t\tVous pouvez choisir de vérifier uniquement les QSO du carnet " -"de trafic pour lesquels il manque des métadonnées DXCC ou de revérifier " -"l'intégralité du log.\n" -"\t\t\t\t\t\t\tet mettre à jour les métadonnées existantes également, au cas " -"où elles auraient changé." - -#: application/views/update/index.php:35 -msgid "" -"This affects ALL QSOs of ANY user on this instance. The function is " -"deprectated and will be removed in a future version of Wavelog. As " -"replacement use the Logbook-Advanced!" -msgstr "" -"Ceci affecte tous les QSO de tous les utilisateurs dans ce cas. Cette " -"fonction est obsolète et sera supprimée dans une future version de Wavelog. " -"Utilisez plutôt le Logbook-Advanced !" - -#: application/views/update/index.php:42 -msgid "Check QSOs missing DXCC data" -msgstr "Vérifiez les QSO manquant de données DXCC" - -#: application/views/update/index.php:51 -msgid "Re-check all QSOs in logbook" -msgstr "Revérifiez tous les QSO dans le log" - #: application/views/user/delete.php:5 msgid "Delete User Account" msgstr "Supprimer l'utilisateur" @@ -18664,6 +18894,37 @@ msgstr "Soumettre la demande" msgid "Rcvd" msgstr "Reçu" +#~ msgid "Apply DXCC Data to Logbook" +#~ msgstr "Appliquer les données DXCC au carnet de trafic" + +#~ msgid "" +#~ "After updating, Wavelog can fill in missing callsign information in the " +#~ "logbook using the newly-obtained DXCC data.\n" +#~ "\t\t\t\t\t\t\tYou can choose to check just the QSOs in the logbook that " +#~ "are missing DXCC metadata or to re-check the entire logbook\n" +#~ "\t\t\t\t\t\t\tand update existing metadata as well, in case it has " +#~ "changed." +#~ msgstr "" +#~ "Après la mise à jour, Wavelog peut compléter les informations d'indicatif " +#~ "manquantes dans le log à l'aide des données DXCC nouvellement obtenues.\n" +#~ "\t\t\t\t\t\t\tVous pouvez choisir de vérifier uniquement les QSO du " +#~ "carnet de trafic pour lesquels il manque des métadonnées DXCC ou de " +#~ "revérifier l'intégralité du log.\n" +#~ "\t\t\t\t\t\t\tet mettre à jour les métadonnées existantes également, au " +#~ "cas où elles auraient changé." + +#~ msgid "" +#~ "This affects ALL QSOs of ANY user on this instance. The function is " +#~ "deprectated and will be removed in a future version of Wavelog. As " +#~ "replacement use the Logbook-Advanced!" +#~ msgstr "" +#~ "Ceci affecte tous les QSO de tous les utilisateurs dans ce cas. Cette " +#~ "fonction est obsolète et sera supprimée dans une future version de " +#~ "Wavelog. Utilisez plutôt le Logbook-Advanced !" + +#~ msgid "Re-check all QSOs in logbook" +#~ msgstr "Revérifiez tous les QSO dans le log" + #~ msgid "" #~ "Station Logbooks allow you to group Station Locations, this allows you to " #~ "see all the locations across one session from the logbook areas to the " diff --git a/application/locale/hr/LC_MESSAGES/messages.po b/application/locale/hr/LC_MESSAGES/messages.po index 0b81c5794..9d06edc6d 100644 --- a/application/locale/hr/LC_MESSAGES/messages.po +++ b/application/locale/hr/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" -"POT-Creation-Date: 2025-12-14 17:13+0000\n" +"POT-Creation-Date: 2025-12-19 07:34+0000\n" "PO-Revision-Date: 2024-11-23 16:17+0000\n" "Last-Translator: Fabian Berg \n" "Language-Team: Croatian \n" "Language-Team: Hungarian \n" "Language-Team: Armenian zwa6<8waed@ri!x9Z<~pZ%6E`Axoy9!c+=Q1W z63N656zDtgH~L_n_6?g$J!7Flw>qXFd&1eI3 zz|CX54;rz7*6BZSN4zi|eQ+u|<0VLl5-V{#Zook}`tr0yW&9l5V~*TuiAvZL%i{gm z3pZc~yev;xx|^cIumIP`V$zw;qL2$8M??1ldVLeR=DX1WeTEr$7+uR_=uCe{J3fbn zv1Hz~L{V&v=0HEJh4`M!Cg+}yMbO1Zi0epidVe)?zeDHU4Ala@?OEknn z=m>kFk+~V|a0L4Nz339m$MX0rmc&ocZTmMmpbO{#vKI^kD2TRG8M&TJG@@W=JD@Y| zjwab4bf&}5h9;l`niB6n5bw`LXS5uR&}#G`dnw-Ei_NKjgKe>7p|nH;yc5g1|JPA) z#)q&RUR5|PF#?-lD_oCu@HaZpjBA29(GccEv-}!#W|hz-XoyC%bG$zUjo3sih7aLo z?*H`^eDMu5Yd=C8JdI{|Mv)MKa#(?SHFOF3p#vC&K6eiq!Kbi3Zoqc<3%V`q7fnlK zVGkUJ(=cg+KU44kDO4nP2D}^XuVRUC9`q`~{x`Jub72ZDz#Fl^wP}gLcnj9T-Dq;9l?+F0X|%(JXh?5G zBQgce@`uqRd>&1{^=O2*qY>MOpW|00lVL44l?rS82AV|gqc0pl8$K56f1x4HRytS! z9asr8Ia{Jh+aAr8zUTl3;bk}ujmWfk{r)5cBd`QLc%DK#ejOd@hw=VFw1cD3ljzJ( zqmjs7CN0q#YoG(T7wvd1np2NsP27P_=q%ob$xF+I7bc(snHimrhHx47#uezA{)a{= zTe;6AX!BC%${)_3=3%fCvXz}hczmMA+8eKzugd;+M%Ai@ z6R#dRqju5W@%k_{o9{+vIw#hbq0hg7&U6bpu)Szf{u-~JL(hdg)xvY7(FoP6#{T!k z_FOR31JR@RZmfcHmtxK=m^ zo<{pgeo3JMg`C%=C8pwaXfkfW)Ckd}d>0M%eso4hV*M{HMg5}MVS8oabm|?^>j%;8 z`yaYnO4JFz|C=BaOeV%saC^-|XZS4I(QY(^htM_s1AVSQ-4K~dXp*)>zjg!A0Y4G1 zKaEag8=7P9;^nvpUE;6tQuqI_6b$`2bf%Zp3-yBNL6U_YL``G;c69$wkM+6e_Ies^ z=QXsQU9tXItbdO#$sh50qJCOpFa0O-QgEb4(X2dyZliyqX$?Y$+0i7*gWfNMMX)&f zUL$lMozWZ^j1K4lbU;hdnLmT(+-6LAVGjjEegy5{7wn8@(FWQ!3RK6BpC`jxZwW(0o`6{O~aDpMU(DI^dnLQ zozcVS^Q*BRzJaZ=NVD*ZXb75&>(LH3p-b~7+Wx+H{b-VcYk4wy3QdwT=nEOwhb+Gm z?YJs>zZn{d_R&G{`rYVrGttN{L6i7-big~%$bOFIO!5Q;L-h|j)9lSdy#)58UIp*R zS?K-zEkZ*T(Scka?SO{554t2nq9f6qnuvBh4IS7+$iR|`6%^cFo6%n?-=SHZy=8c? zG`i2P!_wFZ4edlUa!EAAGtiFbp&c!b^;PKSc`X{54d_7MPRah;L&1aLb2Q}ti}iD8 zLpfW8hOa^gnu%U-6R-C`x9`npBnP7%jzK$`5S@lbVqUC2ikG_opQ7N5*P$ogN9agT zq79sjW@{aOe&XP=ft|}DHvB5O#_yu-e})d^2tI{p&|F&9hW+1)!p1h? zN8@?4p*n5DNSmV#bj4!W5A86C4rETeKOc?YGIR+yV@v!HyJ3NLVS5fouW!V*_+LBr z|5yq)+!(%6+ps+K~y^UFOH;sX@|7LJva&71^=K+l;{{b%!dxJBD%lpqV3-p zy$NmiHmrup@f7+~cpgjQrJX`9R6%EUU9=hcV*6;XczqDs(Vb|=)6oGfKxe)xUVkCF z8Exl1yx0A|kAfX_=o}j8gT6Qn9r>N;3zN~%%|?^;AuNN7(S83GHo%?e(q-!s{y1L@ z9aw8L3Aybjl4 zP5d6~Vv+7?i8|N=eSZP^+&g)>^;Lzs-kGa*JFQ7 zVmUm5CRNT}A)XSyNQcc3}356zuJv3>+SXue0!hqS&Smx`e|k=2*|ZwJ?L!Q^Uy4yb8- zpgTH~foN8bh}S2hpVhf&az2eN(R%dx_o5%i`(L0FI*v}@7xexAlJS8n`h^!W(FU{7 zP}W2nZjFw(U-UL~KoikypN%HzD)jw#(1GklC-^z0mJogKXEY+o3lv=YBK^aI_0bob zqA#>Xw^=VVv{TWq+bncO^U&uO$NNvC16_-rCtI)_9!A^AadY@_S`{U=?HYq$6#rkhxKqHX5wk|9LRTz?XmyL zQSiYAXlMqa5gCWh@Da45$I;#KG@5)H(Sg2)uH`53{!i$V{fjO|zJZ}$1Y1zAj$XeD z3%LKMQ?Q|>Xot^6H$=CfA$>dgG5Y-1*b;w42UdMhh+s2xz&+44?uSO`9yBr!V0nBB zlfJl@f*wXk_G|PXG~^c#4hn*SZ_Cn8*dt&`jG@@J4CHxkR(CK(T$B^(x zy$VCv|HZj+BNu#dB$mP?cEYF8lkP0ujn#*S0j@*WdJ8(!ZTJelAM2Bbh21a>-5pP% zGkzV7$p6p*WxF*QMpE?FkQ9y4CFqXsg8pbkZbd^l7VU5fngjQvNxKBA;EOmI4`Wqq zF+BVLnGoHJeYsxxwzNbaoSvj`Glg&QHoX4!;0Byaz37Ov#8P|#H(<*RWAf3^D-ycoZ@tFGa{{jlm@Nsk?8_VKdoVY!J!+Wp^=!nJA4 z&j5{oh@jD_n_a7 zqw)Und)WW3&7WNG5??GFKcOA|jpkU|v@p=ilCe-2UE8c^<9NLr`de@in(fQc89k3azX?5pKSWQq zU(qu@*L@-6WzdM!MMK{jjchy2#AFu=e(lDhKOi2)3it~8;!$+%PN5xTOb<&`8vRXI z7yZ0;LyzhO(T}hd_3Sf3=sTj3=#A#YP$YMfiAfX;%@TCvE23M`0ey?-Q7c6dH+)Iicf*=zyA`xzRRy6PBR=#0Uz`a6Y;(pGMdA z4Ya`n=>9%|Zo>;`DD%z@p)HE()XPT8qcg6AMz(sa*F)QBj7G92CSBt}6zpgWR>7Hg z8{6$QG-*mb7_zn;I+Ggcc4~kwQA@PLA!v5rhMjRdx-CDz8!^X2bcj804IX-k{Xdez zee*+z|HMwzJ1hwQ#N#QfNj-C6SfXy&l=_S4*Y7m8z%~zuzoc4#y{Q*|B%F-naXj_Q z7lrm_V0-Eri^E@bcV5i?cdb6-g4-VRMo#7kNkJ0vyp*eE~=_i@EYE}4% zRL2$E=zu2EZ)nKQpfk*PIt(-yS}%-dcPTWa710hG#(GC|mkfy4??89YR5X$gr>>KZ zFH&%gwxbOlLtp#@omtxI@QdXt^u_vkI-L^_KOnTNo(un8P=PfeDf?p^p4);BFxv}Z z;FqJj=^D($OuUx-OEjV2M`qC45c=V02xp?X@en%lWmpo|VkYiKbK`e(DXx4mJYO0; z+}HnVwH6vwDr*lwMVb_M?1O=UE9&< zKxd*IEkT!RB|5E8)}DFV$XPEB)WDJ(9qozuTP8h+30)o(dQmR zXS5PslJ)4x`D(oXGa9Mi@D}_Rja0J#%V8wL(S1G|9qIjO!}HM@E<$JY92$YwqPx&t z@&!7eQ)oy3q65nIN=VKE==GA(N?6+cUzNJFp>s80(jA3NyU|P0~zs0yXd&7rS}9Fd#lK8V$`%G!hHY4wj)aeGZ%A zTUY_pUkx2sM%T1XtT&0aLHB)EH2HdBaU6_gOt$+eIHL9F%(tVv-~>95v*Eusn80kLGFUK$fHJu0oe)Bf5m!(SAP0q=i2zxb}rMhmIF8I^yJ#>w~ zK}Y-t8i8!DhaN(TF~T?y{w5KRaSQd4z&Fko~Q+ z#PwJaoyjQlg+=I0-;92MCfy;diWjgVR^1l?9Ds}PWz3PrKjL{i z{Cw~7P6+)Mc%}RQ1O=1pKQzlPe>Ze+1v-!t==Ci0xvJ5o=zu$;1Gx#^*OSp4S&1g~ zW^}FJLI?f`S3V8;AhYd z*P+jCjn}uMNBJ(i2*1LlYjl)?Gs*pa7)U`hDa+tCtcHg6cXS4Mc82GQpdFS+JFFhB zH$ppT7wv?0+#OxYTd@>Q-O2vXqVOyi4B-K+fPbM$bnUK?R5zemokRz+5S`h2GEA2hek41#-?L69*_bk~8R$o9E;3c`bns zWDvToCSVU-iXPFwqq`!~}y(9-v@HE71^b zL{F;y@%k@l2-6OPlQ9oEpc+^SyJ0jfalS*ZvSam+g@mWXsnM$*Ln(?Z1dv%#nF|~wYZ7X2g3mKq5~?1CRv48ZxQRA(a7A6zCZgQ z``;Iy;z9*nj|1>)Y>bT$g%D1`$<&`m_kH=#!;(}*_kH77Z;5u?4NcCG@&2;tN^~io z!!r2V=j{J-6pnDgndkf>jOy@!p-ssF%xH?k$46#cK>gr;96`&*X97)@L}}e_%oXGyO4av z&<0AO_p773qZRsoXSCyf=zxc!6TB;4pNqAqFT#u6{~u9Eb&SsRFnY3`L$}wJ$Ag8@ z=Q7a-E5v#uG}LXPeb5}b9UZ_u=<^SvzZqAeOR*i3X7e}kfm|oTnr5Q=v?F?=-GM9c zDfE|3^Y6nN_CaSpEIJ15IEfDQL2QQ0V*M~WkRQn|AmH+p&|VT4Pow+ zVQsHQ_iHsAfxXb|-i1c!>L0@OBIsJrK?m|MnhUGYfv!OZwh3*2#}CP{rXO&@EZ-L& zxa7ysKz=OC^=q*-wnZBljV4_ZP0}Ukb1z{d{1WG3;h#bTp2wclf5A!E>gVv@yGaVJ z(KmPlp2Cu896Y~-j{5%^zFN0o3+_LMey&g9<#^?(5P?$YOtYd@(Qis^bmnbwICe+h zdmCMvUQxx1z>A!`B^Pn9SMnhd3&54Rw8JnWXGYT8yG<50SLATXESOu&89wIgX z9msQNQg4X$y?B}X|6r=Xzj%mac;GbJ@!&sVM_8QtwCL05dGS6vW9<*p5bWH<}xVG3iWyr{EG?h!5mC8%A0JO_ti|Oj^e4gV7mJ!uq%r zZTKMi{7-0y=g^PWMSq9;+0p)rpwE^2JAVIbbHNvyqseh&toKIOZXkN_+=ezV4Q=>A zEQ1Tt_qU=+`wqH9pP)1S37uf#pAeDD(a(Olf7t(qurn9j-xK4FC(#afqxX-ZA;08Y zSi5rQ^|t8l7=;dC5<0-?=q{NbuP;X@@-#a0wdixNCu3n}^b<6@kDv{oMk8_#ok{k8 z!}V*>4ojmmu8hvG5!yk!XrFj}INHucwEY=q`^m-e!V0v(m(Y=J#X9&ly3hYZ_wPmj zg$}Pom!LF`#H@II8JetX(42T5ZTG9_adhUtAOlJ!{)sm(IUjE1L1%gmI>IVw19j2u z(+r(SPjse(WaQU0FBrPbZI7_9Z$lG@kw+ESEB=b4U-n$rC?I*MAR zbU8ZW=g^t1i`U;oL-zq1+N0>qGcwXsIg=aRw%4K&tBd8aGdi&(I*=J?f3q`^A!Lto z!8Korj`-E+HZ*B=#rpSX2v0@RFA4)HfNsMqOm&PcsdvV;Y5W30&-~WeLVvfR0~nX2 z;E1N7BfLNQAUcpm=m4HTJ9s1B{|H^%Pp}!Djo0g65}s>@My4~Gr2VigjzX7u89IRE z3-Q8cGiJ#x>ZYn~%#dg`N9 z6SJsy!D^Vq>i7~CasQv7U^ZWLX&8AX+Hf_r<63Cw8%5ir1L=ou(_yhbKGvt8OZp&A zz=zSL$aPt0ryv@ka(KD>za9lYuQ#9v%rLBiGtjkrHP&~dGd~y2$Q1^9DLT;H(W}t` z7Dppm9{n0NMSl!%p=+}_x-)t(dIDYJKhYyP+vVy0JKTvv=zB}h z`_H0Fu^ElTJJDTeuIxbv^yTI3e?$8_7aVa$?hv9}=!}Y>Auf&1qz2kR8+5=u(Dz56 z9o~x$6QwcSY}beJnbI>F63h7Vp1? z=FEQdfcX`jVZMA}AVtv$R7Brzgf4k^^tt57_`oDIr1P*GuEI*V2P@-$cs*9kpPp!p zqp$(KjL!HpHbnn+!rz3A&?KIO=D=FC!YxL9v7iA-+}Y+cXVJ=uL={Hjak%}VCv8R?@%!NccYQ`1nuZJ zmc>)(iB<6G5RrE1fI6WO8-Tud7dr6SXvCJH=f|`0`c^am?k?F&mxf3Uub{(cSZQyq~>j7*Nq9 zg=*ZWi>}S>Xx86_hSvK!H{M@{X7#h^wp@=6;0U@j-=m-D)97<&&e=GVvl2ggVUJ4H21iD5!N~R~8VktC~L-A|87Y${fQX$*#K$C1T+VD~| zXI94hFQHlfHX4yn(OvZ=`rHXD==c9G3a)9M(xHRO=nG9_y%koa-Wwg@T(raI(1tdk zxw0J{@Hgmo`~zLmi_3&u$cL4v7e}vmz;b^7Z=&GLW}@3{DVpsY(1yN_{({A*UqEM8 ztZYcisyK*xdvrh>qwk{I?^Cp$AJC4^;RwuLF7E&F6l`!hx)h7iCD?+l-G68)E`opqTBM)O2I;v*#CyC92cB< z9kjtdXomyQ6Y!3Be*)UTvgq^Z^P900Zbz5!dvu29Xw};`Jmt@Y%7x6njxmuBPD0 zl~y$*)5U0(UyIJX5thSNXhcS#p}q&xaVnO?>FBO`KDr)lcN1pf7EEnF^!*daM3RXg zglQfK%q8Pp#C-bwai%~{L!mAcB6hbp2z)o z68F^%IkmNxf6!t7eM#Y(G>+iw!T`G0PEXv&gZJV-%%~HV=2N_y=Ps(7p86M(iqs3a zb2k>}x!K5H1tiwudg^N%gg;63Z5Yn}H_)R#y-^rwO-%j!|9vS`=Ei*V=-rO)=X2N? zZ*H8Pcp6t?cWl)pJuwHL#7MWw@ObOx1k%-6U#7vn=pWNXy~tKo1Xg1=MFf9`eJO41>2>k{;T(4 z*oOMc=s|V?2V=e)!@wru4b<;!AAZQZj{T{hYR~?6jXHKnPyJJ?XK@zwydBe1|4rC( zEJgh!w#3|>LPyFB9D7cNzp-1eEgTjo4U~lRx zup<74CTID<;jdgaVMFTw;6SW1B&_M<=tRE3n)o{o!E!^x0X82yQ2!H~(|@AHurR_o z*n;{eXz~=kHGE#1;j7eVU?FTcJRB%J(dQpWchPaQ;rh3QZ^B$`NBwDRi@#$gHoiSP ze={a)ap5%zKKLtoz%&>U&ge(bC0L4ngq}u2{3_eYFe-!)Q2eU>6n?!p=??AufGh%%?nrttl+iySm+wV{GxqPF8 zWzqfJ5M8o+(f5{Md3+6x=yyp9uJvE&$cl~$A*+Qp+zD;q4s<)s!eY1{P1cXm_fE$9 zX=6jZOtcX?u^uY)4T6`J}{Vw#Y z_bXPxMiaw~N1_p!gbrX18iA$gz+Oau3B8Jjd@K6=d-$UJ|1%1%$@IIz-|sI%BXAtO z{u?^LjJwklP4H55$=abyG5`(zUFh>O;{C;F1YW>wxC33zEwTK);Rqg$PH5%5?0-9a zo(m3O6Iy>C9q|DqNfKY6q5V1DKZkCgOW3~7s34jPWziXTMcW&Wwl@iV{(iKbrC0}_ zO;RwazQsOxA=+nhxV{;S}_MSc+!tljtsZF8VGykfZ2xKjIWTjdnEpzVH>Dg&nAWjs3CG^zi%P zK{S%busWvANDUyFs7b;7c|8`#)>syYV`+RCQ`-hp+a}gOiyn>sgbw^nG%+*eKn^t7 z3ZW4yfljzG7IXi%qTmt?MGu@wXtFFrb7L)FZU{QeNaI?+~`$@T7Nj!Zx& zHVKW~6tw->Xy~8!y8C}K1!wj)x<&`k2>ggHL4gNCPEBxn_sZve?+Bmgf}!4pCdUbM-xrz_j@pX&D)qkTN94-6p~EWZ zwyce{aVXZr6|sIW*7M8@CubUHoVs``ruK9}G4|x77q}jGJQp3|>#Y=0oAv z?_KD7o3JVVg5Iw>KMZ&rx(lAcUU(LrXy*kXmqwvEcYl(CYq%U;!?oyMPLQa}>{D#>3=78s`9xrhdsHer)31=nt3ecr7NsqhJTw7l)8u z9nC~XTo%V*OKgj;qX$%uN5lQA&|Ogr*Wy6**L1!mp}j%qd2u_s=A)xik(@{-=2P&j zUxX&%W9S;MMvvreXop3XhJlvH_o>&z8!=;9IAA)V@2^JNTZiV*CUh6=!mIFj^gm4f z{ofVK!;Q-5N!AkWurC^!+t4MMgl6^pSYL*o3+vHHy@$^9I2!67(OpsXv0xpvy(Z`q zcEr>_{~JWXeLV)Z~C+7#SABhi!XIduPjf+ov(^gt@UGHkCKup9NsSRW5!3oP(d z*p9u?c4ni=xe46`f1yd*aaGtIqgS#2+i~F?E;x{UPp7B;CDa?x7hXdLl7Dslg9+B4 z{s{W~ZZsn4&xDy>ja8_(!Adv@yWkqEfQe_r&+m$8J3XIe|NFo^E;Peq*ci(^7iKUN z>rr1A-HYX^U;2FL@H(`9D>|S>=nsoM=uES(iGP`ewW#;OYPb-q<9kU8l_~raFJ!$C z{^p`Dj^p|lI37E$O;7!cgS)UL^%gINAEWcIBlU04P*+(O{xCWcdr82-$lCOLE}?dZXk^VZU}ovwI-=5t)W=vw7$eEk<+aH*ACDUk;%jkG8W4 zGx1Zr8UI2f)Z>-Zk)KQ~pl}rz)?p!hA3X`b#RB*%x(hDa7`9PPbO8C#uU+9-FN02? z3c9vk(d{-1J$RO)yXZOey|t<9e1A7n@WGwv3=g3lAH&jk79CizO`(IjXwvmV*L*D6 z!CFkm*YRq63+?a_I^eI+j*p|;{4}P%|9?^Ng~Y3&p@Qf@%Azk+M+ejhjZ_yjiEcv& z{sej+tV0j3?dZw37d;=oMceraZTBo1;f&YV|Gtoif)5tOJXkhb2OCqr0ex{cdN3_Q zXYd%>@JjTYco9AE_Qm_3qY?QA?dNE`{wo@pKVD=1+woa0IHL5;p~2i}2Zf`V=*&x@ zFE&6sYJv`^HTryqc)u%}GdM~Mq=BJuw5^HI}9iji*Y>*8{!RUI}hOH z{{DZ6f+Kq(-dKz7_gBz0+#Bns(KGw9cf!Z0F}lqjMVD?3I`g;C+}Vjn_Um~482a2# zv7UIB0n&dW2L)fu?*+UDeXw-AUKfo}Gdzl&aWd9?FC4X-usii*cpcVzKYYAKV_)iz zV}JY)Jtz9^3`;x`lZN;n3eNap^dwt{4&+Vr&ulx%J&TznTejU{q-8!xPrSqRI%xKvN0TYrhv9R5 z6*__5Xh);awSFYJ5i_ZOie>Syc)i$1AqN_L#QrxKTEq+O(CqJmo(DIhA)APHJR5y} zIXd&F(C1%{^=-JA`p38khwcdzyMRwn&$TxUXe~P7JxK~S@D_MOV1^qRA(Z29pGLwQctc3m%tTDQ+ZoFSj3QJ@0{o#HqG`YK@&-F)tPmDw+l1w~E!2vvpcJLDV z;AV8+??OA;gEsUvx~)z`e?lYi8~WVE2SS7jU>5aKvEBh&Q@&_&V`V&pGqKF4>8bzXaUFUvmHI3Uv?`j#wb2MQLzk#s^k($4J~lcJUE*iZNWX=t z|Nj3g3a-sX2SWpe&=6KaU+9X?XgdD4eC>jOTqGem1{}9jX6}{%N?;7vZ0X-h-8>r+*n5u8JP1J+Lh<#^U%L zmd9*gg-BIHm$D9S#fIpF{`rdiZ^xy+4x#Ld^Qrg8Tk$u%A8-0592_UG5%r>nLlX7H zs?_g6Bef1a58g))v~SRy`Ws!E#E}r`0_gKuN0RBO|3@HAxnNRVb2KDb33P4CqoJ&Y zZoB5O-VNQhgV60Z3Z2npw8J&%`!B`%8|eG*pvnFz+TZudc;RRCg$wA&bAB7Lx)i#` zwWF=jUC<+XGrFH|#p*Z%d*T*!R}?rFB2os8bVGEhMxYT$Zly4i!T~f1um3J|*bB|- zThWn@!2x&|x(mKWBXbh{+MPvbnCp0WuPEA4Sv-tm(e2muMEHBdC$OvgzxekdImV+i zn}mjNI@<6Yybf2OGx!{vVvhfXnYBfC#VzQ2!_kP1LJzX3=n^f*d+>RzfMriQAohP( z3Wn+lbOtY>OYt_Q;~uo(eVB=dqJN_u7y2PwFM)m)o1yQuMBlps&6SR5g!@LvVCw(> z*DMNV=K{3j)#!jWpxOKmUW;GiT)Ysk&;2npxC))|7POt+n9Ba>-{@Kw_$gQcOH;od zQ~&$F!zq|FGtf0Vf_7N(=a5_-(KWvvoykPBgBj>^E3gB;iylB%{t{;15Y3_HXr$Vs z=RMnHY=Atuw9PMZmI`BjB z`gdqV|Bdzhr`Z37to*6)Vk7i{?r6g!&}}s(-rtBe{1HBizv5$f|LJh1m;Nmr&CSpd z--G3F6&k5MXb${_O)z`%_mKTJpf}p1GZ};)t>e%v-Wad%#fsFA#QNobgy)Mzt3;ci z1Mh@JU7qb!wu*Xy@oEyw&=%Liuw^Wg4xc5 zGrtg4rrrW)<2X!xGtP#7s$v$`2V%?A_n(44G7n-&{1XjTp})hDG(+^q6f!6Xh+%4 zg}?nOj}GW&G%_>M0Y8Wy#V?~B>_sDXB-T&GdfLBX7v;sP=|54F!jE_zdSG1pUl>Rh zT5p7Q)B>Hsjp#YiJ>DOHMrIhgI~Jlde;PgM-jCP+K;O@HJ`6B7CY^a^yigr|;Ci%! zcGw?##QU4${oQE82Vy;OAw6-7dJY_jKckWC#ChnzhoH%Q2bwF>qe~JQ$yDgqa>3AT zLqqme^e6Pd`4|0*#vExGsa??m-4)ZZIX;1QbQ~S{&uCJgMLR5?9&jn|+5?%YfXk`9}7vnj!!?cWy)c;IxVf6a_SPbXkefT2!N3QA@1s9+v;AwOl zoviah_0eQ%fkvo1X5#30|6z0hkE1^--;CG4L??0_ zJweZ-kaLjDHt37@;V@i?bMQYbjk7KZ9dAHS%zfw#|A#jG zNAx^8vFzEy668jARUsr2$wXNS&a5t$$8P8VrlK=ig(Y!2I@1&Afs!pph*V8*eIRB~za3rLJ28*@|2_(i{1Noyu>xJ|&1eG$(8wG`pZf)C;6L$t<(%Pq zeRSzsq3^XrJM4`nWxwdH(XmSZiOCdfcs7>9#b}7Pqub_xXancbh~&65?1s|l^;^&% z93#-@??fjs6CKD3bcxoX&%cM}!ahv>_rFIe7`mU)P@X}zQ{u8P^XzEIuE2+|EIQN8 z=)m7ZBeXku5bgLo^c?sNZU2&7VPJW2HTCkj*#FLGKNmXTuXsH+y*!L`W^@7Cz+-4+ zoqD;&q1}dt_A|8OvuF+^3Wl}Jhwk@+=s=2~GtWY2 zUIUF_GxYtAnA-n6Dfr;PcwB{XMt z#`>Y?FX%unDjfHJJ_;sBQFMm2(GmAT8yJRer-^98i*O+6`~r@qp0`Mtz;txiJcthP zt$6(~+TKa@TXQyEzpNx4QHYQYKRV~ zJvz|7Xl{(h3b+v6P2132^C5ap97Nmy8jVQuX9|@l6fO~#;0E-;o6#4Cpbd{gmt-EA ztZ$>+@FR3a`_X|NMniuJoxoYN{hZfkr2c$S2WwFujcnUw;&}>Hx$q6%hUwJ9VA?f0lv`WtI*H zMpLvtBKi>8;7ifXXb89A<@hlgfy3xQ^%J_38D+vi^P)Lb5j_!WVJo~5Q~Q501z%i= zKDZfOyB*Oz@%k5NNROcr`7_qDl?`9dtFaW5WZrFFu5MD};fqM3Z%WbQA8U{yIAI2P=l8U5pO!LnP@E zzheU|Qz;pKTn?%fl5iG!a=nf&#aC#yA4fy?E4t?YqBFm=a+q;3^oK`7^asq%I2~7G zbF5G$BXK8=!jbqLPQtFqs-dtS$wmGjk!Ga+j%P2tv+!}^@9b`CCkE0tcymlH<}A~qY+z*+3-2^Tv?ASNiwlD z6cXQ}2TG0xA>@~%^{derir^+J8?PTmm*6|}C_RfN>7@-rhneWoRYsGz4ti3yM67DcI0+XqLVa>z|@8oWw4e-Y6q+1iRyHSi5mX>c47v8r{C9(DyHC5-f&B>N@lw zY8C6_(d4@yOSx(`Y|5`zPUBI29dm z)8-kezn<%jCh<5ll1Vfo_n}KN50jY`9;4uXd=qQo_gD>!wg?AKM{G&`7Ia2y(Czg) z8o77Sjt`-q=hNtt{ehk%7cjM3T85=6hW=8j){_12i?z7mh}xqg?u(xNL(q=yiPxv& zWFj;V9Z2rhAyS!W2mP@LjzN=h6L!V-&>XnthM25qlGeR}{cp#;xKN3Phv8J}kG2UN z6mA<{tbm5PE;_)*(bi~gbizjX3>vxb(WAOhyD+c{Xp%NYBhwjE6HQX^!6E33CZfqS zE4l(5;A>bP-$xs`=*G}MZgl2XV@a%lp7kBkWE_EZJOh1h2^#vf=yptQpiqIrYgi7C zqrYHsw-5WjA{xq}=#or8b7dYn&{xrp_h51S9X&^`=n#^+4|byd1bTx07QKM9$N&Cg z$8d0zK-an%7Q!~@FQ38j`ebwl_oES89-y+!XpRoJqq_fxQt-2wM32m;(2vOuG^EGT1~2Imwpl5(-Vn{|KIp!_ z72SSgqT|t!--YJPO!ORBfbP1*nEK!UUr)g#+lr2CH#WedxQtyYb7LXGZzaT`~@D#t-mutk{SBzn#K|eKJ!2Qwj5K3L!4iHzV~A zBp$-$-2VaF;LLvE^LYSUQ@_4{Xm}oWrhW{c!Rv0$Nd4O`hjA74mIE?U{}Ss@Xva6- z5{~Y~K=%J*Txc^e{5`-)^s85DP)6c6?2lWp^Wcoc?|Au;jMTrBnm&|+hRF0ob7IA? zjKnl7aBDb0AH_`Sd(ovmg|=H@c*ueF=#kz#Nx^I%iH2-8n)OT3ZTAZL;5%3fKS%fX z1#~-Jb6d#zYUmm_$C(VQ12(08==O}nmsofN&vX3@HldztWca0&Y)`>$SK`jF_F3pa znqVe&K$GQ8^k?@hH0f5ON%#u79rt4d?T_`N(Vx(PoI#T~$Cz+lWTG9`KqGcN8qr=@%J2Uj z6b$(z=)tiLJ!n2dU;F_b;6GRei;NA=--tOf*uKdBUS(p`gmCipzAJomR$^P8Ka1{` z=68ok+=#rE=!2Q=|Na!Nqk$>tgPSLXneK>wgnk$A}g9>aY2G8(D(&<4LiBl#Wr z@i~tU;7WFxIaUO%mqI60A<6zX#0}zwc4!BE(d%Q-f!&8Tun>K589Kuk(C1!7kJk6m z2^@&mkH_nO#(LW1umpM0c8X1oFI3@zGii!;)D0J7Uwi=nLT5aAO6X`I+R+neGHpP2 z!+Yra-=WX{gbwgRH22gn@M1{zC$f?heBlOkM4hlW-h!^#^mu<>bW!wiba$*qBe5o4 z--LGjCb}g1&~xBRH1tKMh22yNM^jH$qu>BmqxPtKY%!uuW2j_yGRFdIALqiAmY6g`VB^+hvXI`-ey6kLmnX!f>4*K!CN+Ue+5 z?ICon7oi8$8f=Ao(Scumf0%I#bm=;v@Ar%jjMwi#b7BHkasS^>p*(IzLwg*Z@p&}+ zD?Sj`v_4vIk8ZEN=x!N@WpNHx!HsBpC(wc9n-xM|82x=w5sg$^OqQY0i$WGoMQ6A+ zx&zIPgXoKg(NLa82aH3{LBT9 z#Ea&HP-jP9xEyO@QFKkapi6W!I^etUMqG`x@J}=uE6fc8Z-#c%290cYbSX!o106S) z{qGDP=7JqAM?>~PbR)WL-b82oF1kHGL9_WUwBhXY!u{e{m3kF)w+z6(m_*zE23@*e zun}fUJ{UsM0&TE6`kfz!Ht-RkE&?OpzKKB^b#=Y@=_J!ek zJ@on8(cSYT(ta}W4h6T#DKy0A&=V}@!(q*fp!Fe}=KPGRZ12~9w^ga4s&L_hCE6|yjL*K8DF5wMH3h5LEq7fK^ZpVc< z6t|%VOt~jRGBw3Y)NesMSb&E5F*K4dphx(Aw8QVwrTquZq4FzYJJIAV6x=@dVKrQi zzPLAD{}!85{|DXYjaP<08;(P_)hpV|!A1Um8$urz*)cVUjzp~3smkUxRWd-Ht(wwy68u(+l%afXFMT3umCGlUx`C-KX$~r>%!4G2NzS{f_B(x zeHc)8yqNkR^hh3#9??_K-LxD%f_FtfMsw=m`ef+v7cP|HLeULj#4XT~_Cu5FZZr~) z$NEcHmHMY>_FwW+$bq`(b{>xo@GdlRNi;I^qfeqsvd$ZZa7(;!2p#D$bQ}JF=E8sR z`o%AYzm&QRThmh?G+9?~3?1)A-~R~j#ZT}S?7S)b<@KxR5O|Y4Nj3-#{at8M&O^7)ns|R7noK9qnP-1Jw3i!=T)|i`9_!^Xlk3$n zxBI^f1z#M9emsVw+hYux#Z%A$&P5ND#b~mvL!aA-F5wPzjgO%3{ffSK4xPxwZ-men zLf5`5Hgo@1r(lEQ(FX59BQXm-c%DROvKdXP?PvqYu*~IPr=pr7P=IJw}pnMp)+29Chg;BI~&k* zWhV~D&(VQ2-yWXpvYq|!!7zjiKjC;Ri34|p5k7z}$t!47R+=@O| z;hpepsELMtJsP1cXax75&wYjtbIZ=)HHNW zU&hk76CL2MSQhiY7rut|(F5xq?1fjnAO4PbB+jC~GfBbZ>AW+n^_}P+7-r%1X>22O zAeDB9fnAR+sZYi-xDyTeDRhPz9|SLr=11=rMsubT-ime52qafg=tSY=_&~M~!;JEx z9oI%fcq4jn3_v>?i8eR^4e2y=B6HB(cpg1L-$#@982bFbXnU7@lo~)XQJ8|sl7;3% z6SSj_=(g;KCedItwV!XI3Hb#7tnTgqD!(L zlfL*P1w)^Ge;E1I=mX`@7n`C3>x-FqJNkK@hlcVw^a$RIshOhfB@To&&x09M3!^zz z44qib1MGi8*)(40h0btDtdEZM$>`e6LATk%@&0RQ!|!4l+=WK&bo2t+ey&eKho#T~ zRzoM)~8TrZHM;DzF7_Etti)B;`GK4^m@(1ymN1G+EPm!lDT4$bzB=zF`+CHNBE z|39KLKaaMP>tJXnS%`ucs-aoi2yL)Kv=26=J`~ONHE6>xp#$H6F2Tn*4nINLX>%xS z&pv3bOhPBJIQk^gZ!+;51z*^NhU|T`gZ*f7ev8iF0@^^n&qITS(dTQS_nX9e7j$j= zq0di1CpZN?FXo|3{vu}i{Xay(4l}+8FXYGZ)UQF8)Yp^_SLHF?qG-odTGMs#M z(Ma?_Bhx2(D^{jH0nM3b(e^&Z)Sv$kQ*eYA(3xEJRcN3XTCa%SZ;Xbr9rnhd=uF>1 z8~hqwx}VU9o<#?g&! z`X0=r{x#asdGx*XZ-P0|f#*ZpFNXerDIcx!4g24p%Qd<1|E|sfN{(g?!?Vf6wv&x* zdt=+SZD(TJw*T0+ZQI5l`#x{?xA*S3bx!4}`dn4rJ+r%$U7b}fD2GB&g_MV?xCzuw zw1NuM7it9~pdLI6On(sS$gV&=xL!lO;|YDw{TeU{RJ^)S`5NEj{&!v^5Gb(^YD>pJ zC0Yvg$lL&R*1Mn_UqanxAB`dIyGIiX>RQSIb=HMpN!S|l$B;amU^eEfAG&cL_!!9H z6;#5XP+J)4k;_O>1;m01m>BB$P|EZTpf1K1uoWBwRp1w>h5dzEShUCPHQ^7_G0zO8 z_tj^ht?q1s;ZO-@!zOU4>BBs6e?*%Qs=zf+N3sR#HarfsBbT6VvnMbG4Dr-Gl5|jU zix|s6E>fST27~M}o*y zHG+C$G8v|U8(;vu4U6giPw?D*AT)uhcr4TwZ-xqd66$t3YrF@w()Un_g1vAPhlkpU zxKQ@Vp|18EP+yAWHT_Q0AAxbm@43oAx7mBB3jac#b()v%7nPNvuIlknZ^M^C9l>L$ zvwjU#$Ycad*#YgKpjaY=npGG?MNr+(@MrOP=bX}518#x1zj>egu2~6K-q_R z?OwF;pzfBma0M(1Rlpmlcz$o(0%9AJKpj~+sH4jAhWlR$0}v=d9jGnr0u`t~)XFA7 zt!NHR1=rd9I@C&DL2Y@Mx9(jO7wWD`0d+0qfJ$5wDo=f=yRG|MpIgZw1PU+#s(^)1 zj;o<=pR-Uqa?A8DZT=bR?(x2J6UKq^PYor{X7f@|39H(?AymFLJ_gMg^o3f{jdAci3+d~^I5P6ybX0k{vX|WR#=L8510!cfI7+_P=$Fv zId_@Q6P-a;1ZkkQq(0O&(E(~FMnPTeGfcn0xB=?fe$eK(p#r}#{)XDQ2%p`vPXZMu z6_h*^jHdg)7z16cwTvC1&VIOKz*{S*o!MjaE5;X4Z%}?i9Yx$P?vCV!`Iz^C`QdiB z8h(MgmKJ|?`a?YzGQvEtHq=|OsZfQ@f!c}9P%AqN zb@x1iI{U9sXC3CdD^CfvQ+c6JPr5P;WY`Gm;_3o*6yu=+E`V~_0+sLx)Kz{5%I-Oo z|96{*`{BytLx1Gyp$aGuRcKqN0*C$J{#OCB5LAKdp#ph-x`o7qDj*B=hb3TU*b?f+ zX_n3Zz{<=s{R-~c2nRzQVUFK!AvIxb=B;3Ico^!)UjF9(*BOTS<31u&7>gU5L)})x zZ2k|_1LzdgYsDv+6UO`NUR+h6UNh=IJsBH7?NCpsg^YyN;XJ5?fA%p@z;L`&=r+p+ z<=7hPVi^pz^%IN>jO(GU=KZh$JPt#{P=2mFvN1MP9Dk_0Dm~Q2SrYbyzM%|eGx!6w zqFKSb&UY*hKwWILf_t5JFjL?_=67HQ*ud*`erNnRn1y-Q5MJj$u`Y*t(oGKObso9% zVM^vpp%!ums?a+weV(TbbOi699ysAcd7U%L1NC5O2z7fdfp6h1sEcP+Xs@%Sd!f$y z5>(>PP#39R7>nhH=4yy`Hj?*C>C{a~kTRdkp>IcbmtJ;O<~X=<9}}2m?9nfJ%G;>Na}~ zb#Wz(=&qn1tjfF#EDn#uqA*e<_u{Pzbu^=(ZnJqXBRmYXv!9>}j33!8d}?H``}4oG z2y}5=hAQMSEDL|ZY_L=muX7vqhdSf&P)9Qx>P2TE)Y)!^x+``;Jx30~?eGdr0>?%5 zIv=~=0QIEJ5Y6Wf@bC6RV<5*NFfAMhb${-J0q`r-igLwp3kZM;T*l@tpf0}7P&+pg zD$znHzg1B0{Wd~f3m2gtNY9|ICEqs&O&NrW>2;o5ZJ}1!5jxKUsDKBc?(>sSTl*V& zVWe1I=S#TgQ1-E)cCG+a0Y#w}SQhFEG9y2^?WG9bx^n4O{m)~ zL2UQ7$p>}U^o0KK8$1c)#BmFJ3{x_X71zBu3&Oh0hrpzMeD4^(XC5NH?iwO}VbB~w zyaZge7z~2Ck5?pgpM+Q81?KG&xn~>TPa^C(!S=|PBz7;#Xi40aCW6s}@g5NB#i&3s zuk&rW53oA(ipkyEdO6IjmE2;W2SS7tZh}%UH}l?bG~5hzn+2rwI=|<0DD22QM=G!L zUpJP+3e2md<|rs^F^mP5rSUrd=VNbLuctTjeCfQNFW7BM?{$7v>)H(Lq_(7PMz3cu z9FWP~8gCXi(PuaWhhbv`g$7cOVM4_1RM^0*I}Jy3QZq5O*F zb$4Jse8jv=KCkmr^Njhu?#KAyVC3-%xEJ+&ScmxumG7IN*2!T{z&j7Q*6<{=AvoiDG?K-vF*8DX{}Ue8U~6y|{ii+Y`R z)4hER3L)448^DiH4poY|fd<17%-6#tFn4kHKCcV)>ev;gg4>~&X z1s;IeVT?-dT~P*>V}2eMhY2gYS9>#9n)xlLxGAc*w`Ty<#W(?WhS96?YD#|3a0a@{ zZ^IHWOEs6hVP@tBVH5ZXo`W^3yYHA%)o>pu#b9ORb6^|z4mN~!YPwI(-B1g-1$Fgj ztmQr-M?;^UV4E1|tdi7rpM-VbK;{QwNLaLv`)XAN>P4m|)FZhgj0?v@9oZ_Vi|PQ> zwR8^ZHQ*l9Ysxc|N2%-HU5V>*|Lbh)AyA@LQ1gyZf%=+!6y%BOnFzD`@hw@XyXAO2 z_bN|S-+lCsg0=&tMAZ*UY^JQbE1f3xGPRs!(wn!^p5J)a^PH#)hk);v9mycJ8=ypXV0? zImB%47LXFgXI=_Q-W;ZfJ)m}ADb!IMfMMY)s0Yy(sDiV$a0@H~^+u!))R8oTx+Z!; zU9|n6^ZWm2FwlLu9qQuC*U}A866$?_L#U(Z54ED@P_J^Qp^hv~E4PrkP&?29YDaoO zZSioZEuRAwe;HKa8=>?2zxFVAjo=83Dn)DeK0N}p1Bu(XE6V~EpfJ=$RUT@mWA`&KR+RNVZ~r!y(fKn^X9{h$I(f_gA5gxa#Nuo#Tm&g(e~ zYeLCWws%<=>RoL;sGVyKwG$&?bvO-Hgl}LTSfB&`y>lBbQ-l_y%g_UtlJ^{zvWYz9T6DGoTm@Gs2Bfh7VzS_y_7akgkvWx?c?z zVZIpZ2%i~$L0uD3`no%r6Y4=!5Ne^tpdQiHp!56xM{9s!7SvU~5^Ae=!z}P7RKN)R zTzyuktu79=vW8G++zaZWnhCWdYoIRDZKmG^br;-%GvIURlfl6L?p6(j+M)?iM==xX zQ9BP#hsUAp8*yM?i!43a@z6M2p0;WFlppq>|@N4owAVPWPupg-&d zJ$_tMFf5!s%DoMjjdtIxCK%&B2YgL!Faql8Tn%*%?1n1n2-NHKWjGmrgjM12v2LNa zq3((oFdK|I&OM?Mumkh>j zPH+qC0rkKd4nM+~urVAv(M|9k>cREH<{>A!I~f`3E=mdYs#y*u(f!|=fo`XV6*$Yr%<7cf~8H2iQ00T=Y|jM}AKX z23k>OsDMSFZj;(jD`{Z!HZU0Tj!>@=T}(gD^t0eDV`rsJXP zuS0El=-KYq{TZN+Y9y5W^=$k4Kk6L!E1b4a_xX9)4n~~oev73qR3WcmB^YO(Yu5(q z_FD<{wJi17VOD9>Pq*^ z_R&yUr zAraTOFWW7kuBDkU1w0Bn!8eed@_8Dpb)Wgmq3+9bP!F8fFcJ*6&Mhn+)LoGsN}dO* zu+mV4)Ptd5OQ;2OgxbkzP`BH8s3+z<7#x0v;dTFiXP^Kf*Sq(56sUO$sEaBy)QeIv zs1>w>ymRqPf!dKHPvCx))J)sMnC5P|uGEFalg|^DR(`PeU#222{Ss(E0zr9~sEO zZn}j9{1%kmJ*Yw+LLKG1 zO{`xApAe{`Z%~igP@CPejSrP5Ba}WT^oPZv{8~W0X0(AJU}s}b)Au(Hf+~C%RACdL z;?Ca8{jb1_5$H@d!US-y8Qg|ClE+YvzoE`J)E0LIv5fJdso_n1gu(D933~g>Hrld$xc2BP*@FrWM0}D7t+3@R;yy2&4OtwwlA4i_uRUUZD)lcoP8&;H+~i zkMSGE$#Gu8fq&GY(+Xi<27@ciE8!Q5J`ukpTxDH|!Ea@DS~7ems(PA_7+V?V#U^%m z^8ZD!7sF~8>AfI7E%$uFAPPMO3HDnM$D4mHAlpgs?H2F=1=P2KrXcS{u_@_W%^{rW zy5Ogl7XF}6wSHRvZW6ab_!i-CdR1giDXKH$odh4sya)Qz*r^rMrBB;S;Nn)?M{N`B zDK@#$4`*D20^h>B_-3M@2{H)M^qn-{WRyJGJ^xVoUX=F;SeV56!+^yp;t1oT^izxn zkgyQ)NYI~oMGN){zP938QphlLYSrjtm^UD1dwgz_OBd5T=99>|fX^Su&J)F)2g!go zn|VE|D}-?-3-;1gc}6myNwLk%$Hbo7%wOQMny&VdSQWA54X`H><20Oi6UOIF|I*1t z{zn#Qo+XlVD5|ZAL0%k!v4X@@T$})}k*z2BDrA!=u0QjZ=+t7`vBV`#A&WH?Ssh|z z#%?4rqvQ7g|04K=g6DYtc$T8fY|gx_JFNtU`%N~9iU(PeVaVHAa9$w)+sgglZe+kl zkM4W)Sf&e4p1_uk@TaENX0ox7@9=YS^X236#IwhzN7m? zv?u6;wiftKMVH@_>K9t6owCKaGoF0JI>PIZhhN+6v|j|Oi18X*orGE4im1@pcho6-A!HKTD8!ig}TE6|h;0e@namJV&UuA&OU4 z?PJCpEkQy8g~Q3{A@J>n z?Kfj9TsW*o_QUigNZu9wNqS_uS_y3{@lvBx zdti&$0`K6fcgt#DOzw+;;Z=GBDxP40`x0!lt)K+st2pMMh=UZMwhdh|(>I~$pzSL* z2Z;9uzp?b%6ciQzOceFm;#b1wUz}!y=C!LQfjXI@w(UfC9M#%UWmC2{CCNiFo=qPe zX0qRnXpWMO<4U0@qdoXXe*gAGXfFS_Oy%ZGd&{?X7m>)*!U z07*MobU!^-Ew?f_6bz)vg>q0OtIZe-%M45b!Yx=9sQGd}W0Z+i9=Szs9aO zI&Dr{Vm*LSvD?OWzegU7UV~hji8%wEFN0OH59fm@ztBgZRJ%eyPESZ6wRo^1ft)EB z5>sFi+xA58E4pZAI}Tlcig{o~MnRvGTy?NXi|j1<&gi{U1T*+#f!2_yKLykwz&8Tq zCSY?bat6+U?HS`v*c8G>?E-P?V!Oi%knAwJQuLp!xGpj3vbg2gRYx|S-bMFcPK2FE z9v_3=I4{HT0fF_FHV?*ctUv`+yHDbiI1geR51-7eq<)aXR*@_wG1d64r)LxT$BZKo zJ0rUBbhWEmlym>FTE1xTJU1sP%hIFZu+;+3$L1q8YS}4BU!JO6Mcu@M$vRgPkMmC28sp)D-36>DYEh=Yzf zk5mG*BS2T2g5mJ5C7eW{J@m}X>yUUYJ}npzz+Y`Rx_8Xiq1(u~6Y~0|Ye+HSiPxO2 z@1dw=(2h9g51-&L&Wzt+tgn}fkUTX3XV5F6tH{<5BIz9xV0i+EAyYP6L?d>p3bN(I&WL^~erj7ONNtnzyNlhiCz&}d zB55`p)lRWx&v80S?~l`BY%0S87GNrReT6y70-v_UBu6#`-D2W2B>4ymU5zdx#WfGI zs722IUBWn#CCovfyaYdtVR3k!>iIi69zK=qX=;vq=h0IReMJEk9oD2{L_^nrw~+yP2dI`GvTn&w!AJyCB&{X2?x_7 zTGERodyf1DvcgbpG2=XwGhdD7`+zn(sW0KZnzR$>dCh7w(K}KG-(3A~)3<}q;~kaq zpP}c&_?{@lxQw6LPO{!Wp2?khlA~*fe?D7gW?~P20G~aZ>S0cT?d1YZfgz!hOoXXgb$n_xK%<|;3OCYi> zF%oua=kc#*8@8T#2bQ2ViC%^{3(!@>e}HXvSp04gBRGH9#&ZmV6Q-zuQP8#w$0g|1 zjg4!;`NB7wl^N9s~M0EgJeUoJ%hrVIu zeEYl%juCLoWK|_%Rs3fKPg)$qGR|Q^WnbOKh0s0YfLFlE*!G}!wS?@-eUg+USvmR; zWC@6&PfVr^r?=#K9OfX?Vi*x=(6*Ln!CA^IBC2I3>J^LJh?1k)cmW+?Gl2L_VF6@?=;81Qd^vD_?6e1iqX>)9chHl%c|HCFok2f?QwqC|=b#&e zjlTb;c9Ote63=BE44d8*(3ZK{c^95_#8AuS!c#UJ`SW7DjJ@e+6`Rg;8hH|%=-ZoR zna8HU69ieo>POPmw!mr>)}8{=lW?Y}V$iKNn|S!`$3L*Gu|me^qa>wpI!*w!mUf`! zIg-Z|v=67y1RG!u`lG&UnP*URS`}>rG{l^MwXDgAuC(cEg^Ph{H78Ad_HqMWIW%G$=EKR}f zi8URc#zA)BUkdWY$FUR2mh>+4uJp+`>UZ28BGFJ=sWR=t;TZNgte7>}ropa)tt>ja zg^c;Hbe_g0b4%on3_jK9UFcPbn-hI==U0gZTEGV+u8(sr3^v=5T&94hBuT`47xKyI zCt-J)K&=SU40(TKtr_d{vR>E%s$F9jAEIx|ya_hHmXIkgp zyg{0ONg2Z2@}Zf5)p=xN;TjkT25nPFR}lF%7})YqY7E=QzLb%ZxItTR=HpGU{C|Ev z&wY%;;@FvhYP(QYMW&XAbrwZ;fdU$n;FQ@&_l@~(f=1x9!%=)FY#v&nUYHxbS~g|_%BXNKn4m+oHMuDw1gG5wX1G|dIBfyi`=3pFxK&jCmV*G{}=VNvl1YqzJMNBw_YKxJeCyBDMg)wX!ClFX|158Gs>$WS0u-k-v zcmmEfo1ql8o$**?$0+6-euwO6^O}tlOs`ETNbnBjF-OAoP{d&~mS{2#CrGl?9OGjD zoP<;9!5O!u@S@m1havI(fLyJ+?ZQ>&*%&vcm;%_3rSM(E8;Hz#Z7hy+9)zJ$wxM#h zuEvQtuf$kwHQQU2B#9|xFuec))jC+h+|2vn_kef-=5v;~C6vtOvJZx=2Ys@hjSU#6 z?In0uy4t@4+(dOlYz6!kP^UEu5=4T66tM%FFJ`CT)PIHot`YMK`ecmx+lHQK#9K{>7`OY#xuN?OwW_zYxTkD_Keo!>s>6_WfJACLuxZHgs`bGpusQ$D`;dZQ*qCI=f)pa7 z%E%Vmwr3_l1Oj93Spf^1yptvChT;dZEH+ns2Wau&ebyxcL>#zV-$wf z=x8rn;!*@JOn*mDOVAlO?#6Bc^Bl0Fjt!q?bU$MCB&J$ZVm`sPHpwniL}zTv;lGXX zb|ujI|7CItVHzu7ldEvFQ3<$`(O&|VvtpzuLlUPEd^UrRmQWvlcuNws*k*qjo8{zq zOZ;ezgSO#;_y2JM{0gdJT*`u0q58uFjY%c=6!7!!Xukz zIc_3vqw`-(Z-Il_T!dp-nc7h*ufWBZz~+yb-yume0+go5!EZ0U2EjkzH=5PPu|mTz z&Wz14^Z~@0Yz35r+03RDdf#0fUzl<%2?AIVe{R?l+O{^9(GQzDIH;v0=tvS&BTxz} zt{;9qY!O58NrHU|V&5m0+G2duVS5qX85PHPS_sa+I6?Y7v6wRJD%4 zbrCOQUXXr)BpX~aPXUTs$9M@n09!tU=Q&}?vr=pXWasH>AB`o^r<&~dGMXNPl5nA{;i$-{{q*k~J3x?~gnwHo>uZNA!01OtJGQhhA+1^BCy7*erEL&c8je z4TG*J+rUTt)acATn1TdYj*VIplWk^iYmlrqx`!0WFS_x3 zhbfV_M|J@gq~OxTOT&B_41i;tqRD>)=K}P`2qLore&@%3+gY5|ro)uTCy-p9R8kv3 zpt2OZ9^FbSM)F$N#j$w>pNxR?1T<~teRBv2K4GX<>%ie9ZOvcNVV$T$JlgtPzkNp{gza4d+yW|GAtXiIdDNmK)eUd%TT{0zZE zL$y*?_%Q6o(YpnSp|>o@vD+PFu#01beJ5TYVvWT>S_03(QSA-E$}zu$`~@}*D6}iRp>_-V;RG3v{37$! z*k?f(*lMCLiTnV1wbWLu#X7UOhJSI`YlSG_X$z)t59}IfK#PuV3+A!udGKq3e|KbRIfxtDK^C$Q zza;utKy(tR%_3Ml3lsqF&{Gg#2|?GwqO7PGcAM$_2{afkpr=Qdj~Jyb_-V#pkzXQS zQ!9umzj8(Y^2B6u(@CC_g*ZPg-9&(M&X1wGGa80UErFRA#jF@1TQgrMIX3=;4s4N- zw?^N{{Hn2bKZU0CM!uf$TuK|r{2{ijSk`Q_ZHj&;^E$4*&okZXEl7d}^nT16V|2rc zNlS9IOY}cDK4cz^^}HkLR&1g&?}xowLXrlsXKRTw2i*hgM#1RVRKk7~MNA{cev3IK zG>7pB$9nWjDBok85Z1=%IzbykwT*VVbxAP5k?>9$yB{X^GJa0swQLuH;TM-A$4p<- z3amjvY6Y?H3ajXc0%s9cq-wR)C|+Tl3g^8ru?0wp{x!v^rNJk#B_wHgR@;mI5Z^TP zQRuTX|E)Oq)I^pO|MnF1N%nNLisYCa{6-Y^z|)UBMXX3iY5)Ahr<@fn(e5D10Q~1xtj@ zPm0`wb0jOYEk5B)zYM0q<`TYpa9c{?&X$O&=M>2j;P(z$4dQk~b{yOMfj^k|iGx~R zge^%_n_yd*PlLOdZy`V#ihD`F&v-xVi>?PjkE<|NevkP)TbiINU z6xZ^l3&Z}0K&f^W-orQ~L0Vx@4-O$fIvj6OSa)P6v=Zi(>2Hz!!!A6=?lbbr`1|N@ zDJl%B9OZ`f1jjZlzITy7B7QP_+QGc|xi83OC`?2-mcYYs%Eiid;dGiJ)Z*Zz*26eo zyG5cf*aWi`J;x^^^L^+-(i_v&ZYUXT7X{8iADle7k@=<|oKN*(QPd`BV4KcdZ3>3x z2;LauHjHbN{I~^^elxz;DX=q%23lc~cO=$7HZM=Y!}!d%B2N&fp*!|@B4hLe1T8>exolMlu|Hz^`{+`$8)@*ZN6e4thLa?c>7S8wIq_~Y z&(8P?eRoLCzZ$|72s_g25d2>pBM>MN2`eZ7-Alk(BshSqAju=*eAiZo$g@NLSWAR_ zJ$*0>DvWFaan%aB@bLe{JhRY`AjV4{Nr;y64M*7 zBiBf-w#PV{@m&(B&Bsyk z0>AmDIL$CnTaTh4&T6>`P{zhF338f5jgiMDQ2_Iv6rz@q!0jlgEVctFU?$xk+x5tr zqEAeJ$^04i6OkpcT!Zw@_ry&05^N8B41qepZ5ZXJPobE3+Cth6=4#Vz{++QOvLpB} zHQ8C>9U#UKIEx}%Q%FPl9V_&t?Z8NzPhRmeye|~OX#_}*u!60&D)Wp4{|DU_0u4Y{ z9@$g$b=j4SjHkhD6dRIcYK?4F$&fv=IFcX0{~fVrQ^-@|)a6>bZi{)YYp^+jt2kZ5 zX&HSxPDcrriR9Ulr@`?$@~!YPvLqy|fqVr;D=t5~agv90AlSAv@1JE5ROPH`5h6|4t^*SNc0<`>>fv;f6#a%@>zZ3DV=@FxYHV7v(XbBtFaOR4)X zB*LsDQ(HztwJFHDVU(I4fFZxq*3%YVMxK_WJ4to|yFRu21}Q1>05OjGFgVYoxh0N(^0OJAwH0+C=vZtb60ipPL-c~S%A*u@og#Q zO*E3Jl^}5u0)E8KOCMymq41AP&|AbBfxIA#NNPSkTvtyK;>X4JviUgoU}}uFBW#4@ zea3NMx**#o-(mD+IAt{0cz2S7ud>Mtb>*`f^inR!20>>kA&Yy ztX7jit?8j`ev&|CNZ7%GtUw+D{cn7h{9lm^2)G7a7nsldCt{}-gTl6>OG#hE_$~|S zgq?4PRnrgQTmtrDmE&v`ax6)JBp8+>;8vX5TEII5P`gVHj$W-2TV4{@qUfv0_E-_u zk)>b}SC9`RUo-6bqF?Oi{Nf0{B0$ic;9+5JMWQXUZSGBw7Zg>Pgnw}A&$u@@bN^ylw1F|XSXd%3OrX5Nv$LqJ~BT@x$p6t#XM;1 zPuw>Md~8Ka{Nvab%4Qp~C;Hr5EQD1MyrJwbB)v|cK9;;GP95mSNU)f$b`HDyroRMB z(fiw8OCOb_N$`1tY$L_>V4NHVww(;-kfRlOUj^r~numc}aa&a+3ziv;pi$k=@aK!Y`!B!;$JeLAE?KGPQgpIL`vw;1}Bxy&~p!Y@_0%_JX*{U_RuSBp*Z90Z?=VLavonSVo9l~uihPjT3aOzkB>dtq0Y0Igh+ zXD$VFuvikUB-Uo;&+v(k?g{?ih_x2x#(%Ia&bj^*A#BO2Z{d^<Kqa+V(#TjIw`?KPq7(WS8wQT0mhnsAQC74c8T7SoPt{~y@)N}+ax3gg>$u7wo|xCy4Q?QDZhR>mt>`RE`8-Zr0z_@6-DhPXel znL@Ip^f|;Sjm;Khr|FZJ`}$!Rg{?@BqP_$;N3%qkkR3rE3MOI|4TB^*#QZO|HwhFL z`44>aFz$>@t+d6^xUc!8L$9VqFF@ZiG~d7sVXNQ2ElL=_sgbwcj_X&%yDd*5zsFCu zC3XZR`9fxL=3qhpKqvY^zem Id!hAz0C&`{g8%>k delta 69418 zcmXWkcfgKSAHebZc^-rYA{6DZ_ugCf-ka>AA(Bz4ZX;3(83~owhz7DEl!{c6N|Z_} zC21%U+TQQ?KIi@CbDeWt*BQU_JLkTi2fd&CcIC={u1tP;WtIgA{&(ADi9}(%cW5H< zSnfpPi?^&zBrby+548S z4;}EdSbh?X*hRf4wPS^%3;UX-9 z?_gg%gPpN`?yz)EMW4fb)W3vDXZkJ|m*bac=zd1)&!cOeGfx;$e$1d;1YOJG=*+95 z9oNS~I1I1DNoWo%#frEAo!D3CdnfaxB~xpEnhGYD_!nK9OY^2BHe+G*!2@U{KErBw z5{*=$d})c2SPhF|@90DzASJT~#1NxI8+snn^AUbwe~XUE+8UTNfQrV{`zm(E;>9+Zh$=lZhl3hIS4*(}h@* zTzCdewj{GR&0%>t_>ZGLI-?zbP^iM2hnVwi_UN*x)hty$nK5zkD`(L6^pq4 zvt1WLTnc@$I-0%B&<2O2S$;Pffu&dhpGBAAV{`x~(dW*hC*RdYLPTp|1IkUY118aJ zx*wC}xcGsKn=xNzX!w4tMEM0YWS?Ud%q*Ig7>`}h@;g`=|3r`Avc*EAhM+m|0+zzV z=)nKOEO<%rw8RFytT_AMne3#ZBL0LPKv$PYOH9V%*b$$>oA7t6h5br~WSff~xm(c= zKR`qKHyW8MONFE>iCHPvN0ae-G}2v5B}3?jQ1KZRBhj^ORXPl$BbrRT(HDlH4UdiG z2Qihj(Pz+IunA4lPtoN28g2JibO7hkU3E#aObAIn^v2a_1j?ZYQ4O@?4(J-+5buvb zI~Wta2c7v8G!l!j4emh)kgIHH|2j0cDq~GdcH_bsJ%qR6ljsXM%7uXxj21&fSONQC zHFQm9p%Ge$zPBQlH=+aFiS_U;+=OZ6(-MvGC1gpHiE~^uq@sU?5Q)X;i%ZdvtwytX z9h$6r(GdTR=EBt#!vs2`ksFG>HxeDtSTskbqU|ohp|}D|x&JSzl$N-jic08q8;yo~ zO7u}or~Cxk@DlWU!g4Hvub>Tofqv>8M-Qfq%Hh3B(D!np5zB)v={4&9FUN%=uZJ#0 zb99^ZLX)IFnq)VlYdit(#aU>BmsSZ`o)3Ml96Iwl(N^dI)Du0BZbAD=VltD9x$%Kb z*q-v+=x0E_s%Z)DcSDz8EIQEHXoMD_16+wlVgpvf1F@W_7G|D_CUfanZW7C_sE9i`Nqf7A~I-@V6KgasN(A{!b^)SjkjrX>6Yn~-z7sm5n{YZN@pjC{CznU-I5ZNEp&vr8$NHma z$A6-c%$2Mavl!i8ozVgHL}zp>+R(jdhcDn2_$C&`gJ?3Hi)O7I%2!28qTh^aV(K8n zxs->YOPsvGg$F^cI-#T6uma^JI0fH9ld)ahI6!pGd!nHpiq7bcSbh*oQeJ?ia0gDq zZ({w3dSUy{LUv0sv5AZ7Jn#`Z!)*1#_9}wTurAtBKQy#AqiZ@1-G8I$Y z-B~oERT_l)TIfW&pgGnPuW39y|A}ew#$)&a<>lx|$21B_IRQODW=7|t9WFwXXj!a( z0k5UJ5l!X~(SaOCbKn9xplce30hPz3Gq1yiN!J!F4@5(L2iidryWvA<14q#T{DKwn zJQ~sxP0|wku_AWCztLpvaD8~bKidAV==kf||5nVP!iE<|UqG|^mFRnD2*1D@_yg9* z>zan->x=G^(da;yq62>x{fyX%PUr{p;JSdBnBFWIMpnF8_(7q3v>Uq5C!zzHi!RA> zH0f5OA0ls{6DZj{JYO3JQtpUta2>YBKhR{nzD4M-6}mK?l3duqka%MZy4LqZC!XsBkQGhGzR zo3Ib%H*f|PY8CFUL>tiaZH8`} zE@%?=Lqj7$SJ<;}uqd9X&d-nedE@n_+ zvQ_91wo6N_M|n2d(7WhBKS3Kffkp5%+F|aFVIbF{_luzstbi_ITWp0lU{8Do+u%PP z+5g^X*(rSUnT6vhAHfpXrE~Z?Js$m#S&j~52Rie8=m0*99z_TIV=SLX2b9qzEXCz$ zM9ZM{RgzrTP(3t6jnU-mjLvW%x~4wonoWuKAH~s>pTzs{@~&YQ%tV*yF?8)$paa~A zZts0)`(H(qzi?s0|6(=F-YqRL2Hq;C6$02A($HD`NQ|OC-p(9W45uVS3My@bAz@k_h%b?q{Gd9FN z=+Z63vbY|N$mf{f{r^1|WvKWMO^VVzLj!l<5X$#pKRk*qQQcl)Y1(3S%D13jIG&E> zBUpuUuHI>h+SmkZ;$3J`ufw|d16Ftc7w;1u?1er!8*O+Gx+H&MEv(Qt+#iZpQC@^4 z@kO-Zk8u#@?iXfy2Rh&-XhhebyWwSYTkgZ8A^j{?oJ5o6Jo4Qvk*9yi_A2O_HbD=h z?q~y}v0@s(DaGED*W3`2FzbNued1E|y-YOQYoPr#Lfh#ufc<`u zc?V6d_t60zjQ3BXGdYK5^~G49XHfj^hbD6^bcwD&y_*%*Fp!{2t7~QVOboFw3AFM=AsxC zyD$^K!}geMXb62bw80T*q{gGWV;UNfZRmjaqig;%n(b%N30y?iJnOLVeW3`}r`!@V z-Tza#@Y84o+TeC9h3})0Ifr&|$&F!#rO=Klqn`z}(Bx~04zw4#lsCrv_n}MnD7q9Y zVtF05bpO8@Z(Mp)m~nozq4H=*>qeVK+o2)t9vzH6e>=9qd(nZti6-wMbihBLOMDuQ z&=tek|AyuoF3MvK^u8$Q2_(xhxvd_UIDc ziAHG32=>1(ET*C;z8d{1KA3iMIN@?*SMJwBPr8S2BEE?Zu*of9t=pk9?Sh-JcPw9i zYuF9>(9ePz=!84mnhYVin+iv?5FN;iXigkJm*6D23(lY&{*6W;+iju4E72Ud8Vz|l ztb&d4CLE1b@i6)YB*)0$pd=RqsMw1AG5_spiNSa$-i9AXn~q9LJWBaRT#OAzhhL$7 ziqj}Rd`I|to_kDMq6g($urt1neum_^GyLgUa~wi>2D%NCKXEaTi>t<_C1&9`^o1@G^84tc$)9@4t(l1BYVybM*P+nEL!b!-d(J{jRX4 z#nFLOMhDUq?WhA*#9p`yr{N9Q`fm0yu0nI>6q-v}?gIzO?dY!f9Q{x` zhEC`Nrau2qbK!_DVg)R4e;8?VbjEk0Yq$)};+N2q@q4u6Khc3*M1R|ri(O?$70`~V zqW9~g?X*K9%%^WM^`p_4_`rB{ZKk71G7o)W2|9xpWBnE+PZK-QAQ$whqMw9DBbjGiu=fZAurte`5 zJb*?h+XLZ;*E;A@^+yLb5}n|EXnzkUxiHD*q9c7Ox&~d_9nk}^{(G!N{dsgi6{m$6 z)kmLig`TK4plAIg^oV~N4f)GxKl{)hN|T>+VQ9a^O#BZ0w97UPIW!{wp-Wcyp|r#ZKmUtz;gR?-cEwZZ+BbPP zoY7BUH_E@_Kx{TM{PFq1amfypq4ISXZ zQ2vOn@p-hPth2+XSV822E71l`nk{oe(r!m*vIp(>eRPRFMLYZhP40iu2xfmQ{!tHh zq`des_P-JMfr=OK=DFdg+N~`3szZ z#UBqpx~)M^#_S8z5)*JK+FpSt*#DilnEyohZTE3>t%ffO+iW?0O8GOKhZ`5CB~D<= zCE>k_Px7Z(MCLxco%&aw3LRE>I{ZjC16{h;u{eH$Me#2*;)Rn-!`hcYLtYmRS$i}G zdZ9~lYb@V`=Ey8`cWgjA*ca~~Lzm(l4q;#yu?giN%hD37a0OyV#tl6=)SLj4x|xg;!rd< z9zd63HJVFX(WTvmMshE@bnj!*hCk=R5q*oka0Z?6KiC&@tPfvKhoLXNfktXS8lkUa z{TZ~Qf6-jYvLOt#Algqkbm^+26KuGF{clIjsIcMA=m7eo4G%|WdRMG}7;Rtyrb37| zyf&7%#QSf?`uEZH4x{aV6Yu{L{bNHi%rt#tXfPMr@wI42mCz-sgLmS~vA)8laK9G% zd=s>TE@)(KKnFG&&5^s&-83({Jl@}s)5ldI8&i=i_t zjn1eZ8i6*^zUVHw6&=uIw4+DS0WCz6^O;beOuQ5ycnwQ&V=tD*(^wJG1C z?t%&E$R9!nG9TS$PoW{*fJX2QERQGAqdDL9Fp!GqL~Ei;(-KqP|GRQwM}wo&(Y1d8 z?dWwh>Gq-xet;&`Npz;aqMvSm#`3j0!uzGs?~)DBB=3g~U;;X!89UhjHn2F}Sc!(_ zCA7nB=>6BQEbc`|eim)$A{z4CuY_NzHpDuVC!ig!N0;C|Gn8SaEcjaJuzIvRT0bs22Oane=z!jh9z#3&16|U~UJns1iso9f zJQsGjvQ?x&tbT?yFoP!l{7uLYj@qWo&p}sx3ZSO%M zpG-W*g)`ZMhWu-EKmUQQ{Uy7@8s^6>sujo6VT+Eg=YCuw1ZV>GHr_WJJ9ELMGv9_K8_CL7j#?a zc{{XQ9Zl-C=u&sa)c)_!g-LZY+Q1ZarjJAyV;0KKqRF!sjo7Q`06s+<{s9}~ujsa| z{7x8f9kjzH=yUC3eOF9+miOht4o0GDHwGQZ|ImRvk0#~I_&V-JL;Jwq5SeA@bL-Fu zy@Gc5W~~1ZZU4*Yw`jj7_p<+8%fG28iFw}*zwfV$hHw~Gzz5MJ+l(gF5j3lF^L@*K zlt5>8J(@eM(535%z3_&3|0Oipcc4r9*}h~L`3WkV!SB)Z_d-Lt(U}xMLs}loV-2){ zLFfcVqBEL?M(zo8NtdHD-+`%-%A#dC{3?qWv{OBbV&Jg$>?OrcBlKhR zJ2V0%J_tV>cE)j(Cu2FhfSv=zJ`4lwjtwb~#V)uJJyEk9NDVZZxP}W~sD>Ui!_a}u zz&yANo8l&PAm`C-mE)uEhfd|u1|L9o#bPu!UP5=nUbLMY2gC1(3ZW-qCv4#UAI8Pq zR4hY7SLjgas5%;=mgr~1&{&^DBQqBr@G^8jd$1CIkM%MC$DzZnXy~V78C;3AaX+U1 z{%_V#LRObVJL-$hU_6>U52Gj8Y;>)^M%VVISpGAXvm6dWGHGPL1>Xcm`3m!b+9`ZnnE{n3U;prO4JjodVJz)zv=EJt_AdNjvgjpf6! zeEd`PzoGe$3L7Z=S$Lray6>;YA$U7B!2@UrulzhMF$wFV`~DSlNp_+8{y;2$igx@x znw)7z!u<-->POiBzF3b6KMvbqS-bG?M4goVbX#pY6L4$y}Ie{{^@(6m`&KYKbmIdvs}rp$(5l z502^4CFt|((f7B+`Zv+t@frI5akS&p=z#x3CwS=z>ghjm9T&B*G}_<*Om&RTbToRh zJ%T3F>gXEuxeaK8ug3C+XsEx4o@|A#H3#ut8?K=*A>m?QSpJN(KX$G zZqskDIwnqrU(M7&zifVjX7wp_=6^-A{t!COjSe&un_-1m9{mIR-;v)-g(IGg2l0Ps z!()F8A)kqc@PFvqK8J4C-FQ3xgl2c&pF)J5L+jU}yXM-T!$3-+xlj`wXoH`VVPvhS zu!C;s67)y2d2e5@yv zT--~=XXuMPe+_Fi3foeij3v@Ic+i2IIUWA8$-mf=a=kO*<9ae)L3uTrBU{j!?uhO} zKU4OiGe3&AV)7&xzS#Y@FtVZO1FO+&--t%$Z8QQOqTA|gG*UmJ&!0v+{2NW$^s^x% z*P#=ugDyoEw7ot^GA0v4xG;IfhKj^wbUV#M8(xNXv<8j9Ms#31u`(V+b0_2X@EMU0 zUAi9Vu9}G^@h&uCXVHPwJ7-d}|C(}P#UOMbBckJQEafR^#}_cw(fROspD$VqJuiBr z$vGO`Ef2^0&&K+9(cN|&D`Lh4&K386RW3ZcTcO+V7A%4fqM=-kHnk){~OY!RQS2S9Sz}eEQLA$ z3H4Rc4*Q|^$DrT&oa9azQVPl%7cdW=Txf@7(0;0-18In<{oj=fx7%n;Wj#8> zr*SAggT9a>Ei`Z)W>PMPZr65b(v3hr%;um+@CtN5&!Pj|issClSR7AS@BYu3o}QXX z0rbI&=t%3ua!Yhz-J*lhnT^7ZI0NnIF#7%p^!>AF#4e&slOrQ^d^vieR>joc|F6x3 zFSd#HM3ZhP8i}#7eqwY6W>UWZ?RX1%Q0+lGI)>)VchOU5`{&T5NY4@?bZM6KWGYm- zso+a&;wtpTg6IpG(TeDZ>!BSsiS?b(9O#dRb__c6`Do7k58bw#(TMHC@^~DbSnjOJ zFp>gU!&(+bJFbg{t|hwmozaos7`+`m@g~Ib0(3V#9bJzOY!|vaK1By`5?f(fw)Di> zG$Nkl!UN>OC85J>vWEebK$EB{I?`IvhUh?=qXX!Gc5rLFKM_r?DcB5G#rhx7=gy!J zO3M+FHF-G~WvIwR*SrlHfxfXk9F4?XH~^=hGd+gW@hrMD_v8#qGYNfuHrmc2wB1$c zdt1>DqrJ$)l8JA*aLs>2*Y-CwB59X~2TP!9*a*Gf1KqB}&`3OhcK9gT&O$T^m&W@m z(4%(^y7pVq53g^roS*;cm!+qEW~+$RxiJV0?R+$=H=-kdA8q(+wBzGwNKZxoMF(>E z4e>5)im8A9vx5s8dK>NNFgnv8(2@Ru9yA56NKbu}sev9eH^%Z^ z=**vsZa@dR4ISvK(YMe6eSk*vGfeuic$y181+(W0*dKR=eI+#H?xXq<)1F!l3)m8-){ z>S8%=v_g;6F=+PRg+^iu+R;2LgHNLe*4t=A{zeCsxF$p_H~L-~bl`Q-h_yy1&=XUC z{&zDMX5(Gx%%`CbE{x@8;{C1BH_?zDK)2uL=s?fJ`+uYFXD<}m%^xj}CTA5iLTwAN z{~gIdDjeaM=w$TMYfda5LZAB=Z^Tm7IZ-GVKqF7E={4#u*PN3&{mArNAI^mv$`j`EeD_{+$?ly z7N9w`6n*X)bh{_la#4Ycw{Q@i#c9~RXgD}N$Ga&1i*<2)u@K_**o*QBbjFQ}rzbwd zo6rH&E|H#i3x}f}Rw@|=R15v8))1LUGBJ<~9~c=OhbGm1=*cx7jmTDPiU-k9<}a0= zIEod}Q06Qhvi({#$tt1kwnlTNbG$zYP4YW1tNVW{7jCPE&5K-F{OsX+uwN;fS8Y+i?q;WF^ao z2CJh>(E?q95$OFF(CxMjE90+N1&dS&&vizhn}_zZ3`^ribikiiVE+&1;;;BX|B4}0 zBhi^mMH^Uv^>76m@-NW_a#spVR|U=X`sk6}6kUp*=*c($-33E&6OP1EShR97J@wOS z>&jtYZi~KyhU_pp^Y76Hb5;o*UWuN7*P{1Jq5HZ`v^V1Lb`ULhh7p7?!Xu@;iw{KU~lKevL!>mo?$&r~kyQTzJ;6M?crUjpfU(58J9S z)}?+Fx}TrJCYY;fI=`IYWJ8bQ^Y{pMY?hw-TeC;-0_950(-Xg9sTS#}zr>cmCEJ_< zJ&eh>x$$SK^wd9>d80M^lpEvQq$j%JgKg6j-*Nv)yY$2oe4~9BzzrQj=yzjF>i@&Z z*rH>4>TlD&jcq6w=#-xNn~#Ih6Lc-!gs-CmE8Us>-zFS1G3B4JAMWarp123E>zSVVcSDP?B;~7m zvHuNS{a#^v&BNN1-@$p9=pDYj&PNZRgXoEOMW2w2&7w!VNys_Ve8Et5}k;r3e@eG#)!-i{s|Z{R@Ok7jqpL1Dl%u^Z(* zX#LfL(^G%yJpsp1-h@u9)R1rv3_^F&G<4u=u&De0BQ6Zd@8}E)4-LQ7>VeNvUWtBM zbr=>Lf)02B(g6Q_FC0)S(U0q0vHn;rXWST0zGCQSKm%NZE%7Gz|5+|fqP{nUkS)hi zln)byu^Ht&H;3Hmfx{@zN0;_bwB5S5kW2KR z=*Y!zd;mSke#Xw&`PTH*pYbk32lzd@-74P}A~qhIQhpk@;xW7i7mWqfIHa#p5?d12d1N;oE;x{6E( zex4tTPw^b*W+c_3ys(?^tq{ML>@QZ+;mkiOBau|D6_@ZnPxD|5dSW?&Lc&Z%g7%P|wz zV=p{_4y#&I zK6b_Lurt26BhH3@61iR5SJ&fkcdGx@^{%}aDl30;) zeJqDJqZ61PU4faDH=;Rm5VO#K;xHG6?hCYo6X=UsXNLNG=n`FrE>R^k0xi)c7=`A< zOmtw2(C1!2vwSx?u|w$YIff446sG?E&lxTZS?)*D6H~De`oL0jU@Oqjtwon&3zo$l zI0e5$pC9pPh}>=HbJNh|dl-%Ii|BJ((ROz{%Ko=v4;8+!7fa*&Xavrq5y?6$gt`P) zr+huS@5f;koPk?$8~Pb?$L!GIOmth$!#cPdYvMn#Tx|~f--=u3grjvC)~0+K>tUJ4 zLV0L(3A(KgViU|WH-)c__Fy47URLfi^8W{W3+>z=o;P`orn&2DvrhF*d7Zk4#_wSy*~!s6_4Rsd<{JZ zMlMOUmrT6QMe2(Oy5{dkkD@v8GkVsaL6h(gbdA%V3`cSyH2d#D2Ra?!#>cTE4tOe@ zFKf~F)1D6P<-{x9|9QA@83n{4jcwEk`@thIaTi`e}C<&FY_H`8>Lm zmo5#FD2h(B3AVtNnELO3KjH-y^U(&MMAvW)8j;u0wfq2$$T2h`C(s5@p}XiT+TjKC z`OE(o22=#sQ!a~J@N;zAKDLbg{|FcPmWLmkmti%^4OWD;ABAS|Jaqf)Lr=CWE5rV; zjOI!o^gy~7-A&J6PdtJRu-Y@>2a!=&nerC2ofFTn|IN-ktHLhmf@bL&bbGvy9k9si zFp!ZrlJYay7xO+F268+0qWlEbz|-i!OFkDOasxWCJFyC`!b*7fxnz3kKRlG}`S1my zAC~9F478!m*d2esX4vS3ulwBJpIyA{e zRVt=oE!>K}_zQZ{6J$79VG(^LPVc@5r6xy1VLO==l-qWlAP!MYp5 zIWQB4QQn8WFieQ0OrpuTKHh%~{S5gM-DW?a zOY|F>I~`sMzj&CA6)1m%w3AF+Mqo8_@xbL_h7u$MO_(0yEL2U5~lk|KD-pOwOU(D9g*?#q4N(K6G0aM`u_a z?YI&81*9AL^TIu72Mf?`xE)>d57BnAZwo)H7Qlj(ufYuZPgLi^5!XgX+yt{=d-Oo* zg1*oXZD=eykg4eNv(N!8MkDninnQ1+1OE#>4{~k~2UlUdl5#mr+Cf7uY^W95a5pr> z1JIN1R`j{MF*i<)&c`N{pF!U{fvKY!oxmSxyZ@r+M2;O{i7KG?YwTeEr*l!43Oi~L zZ?r|1q7&M2H*`QZpbg%FHZVRq5uN!Y^t~t0TzC>4&`R|A7vlZ(XwGcj!TxvT+o|w{ zJ<8}P$qMr$^(dYW3YdQ<<_v$7pdo7%- z$&p;NqhbdR$4g!hGaiLDcn><0DdmbbG{-4N25pGPwM)(Zc&~bFT{e-UJU$H*>TcLqm=o*%b<@V?iJsf-C z5_FrLMVBty+hOL{pxd=LW_AD9i8mUd54MWserU*s#q#a3JOO=fa;#r~M(AlghU;(= z&Uq&swR!f20X4$f)IW~p@O?}U;Nnj%24U}aLsD%+*LWWq;!n{N?pHJ-IroKuU5)<8 zRvg_W*T?$y=$iLL2i7;m?!u0n-gZ0qRw}^JbOp(wlZq-Igl{li&+<_FcY(X z6za>O4b(Yqq-$M%$8$LsO(Ps5kfPFR`p|L{Tl5XWKf&%y!qK04sf z(cN(jQzsz0ROi+GpY!wZ`F>rrHoDfG(U6b8(l`xWqP1uPyU|b{MxXx=ok;#8VF|8B zKU>_T}L z`qOc~FTPtPa3Dv}kX`b1Sko(T2j#rz%sxOn z{tFFhxnt>x$FL^ef^XvttoBVfM|NOi%4gA>s{U>G^z4d8?168S;edFO3QxFA=m6eF zL;Nus@*mI_F5+ic;CM)`Gib71KnIlgE=2NDGRT>T#t|9 zp;$lU*U;YG=!9ou>i_?1DHo~ikG_wt^$*ds(_#N!jXu`|&6$4alD&j>n0_WCS1EMO zo1zoxh`!ekeQrE<#>HpY|DHrYQQ^$<{uXlK8g!;5(DR`JPQ{L~{v$MJK1U;Q9G%f0 zXp&_=8|n+7yQh4#AsVSp=+X^2%l>z!cT!7jX*zKh{Mq%^di>A#(#z% zE+?P^e;$|NadZi%{}q<*QFKWbM4v&waJ+;@@CcT7|NqKGWhx5&ot~J9?J)JBfz>Ey z`zIWgb+HxYVd$66HCO`QMI-eqx@39(4IPz7BiSXECt@+m%dix_iOv1~{}UIEyvl!J zt!kqo?t>nk1JDo;N0;I*bggHh2hK9|$MY@dx$yzo(NV04{QH~K%xj@Z-5(wBFf2s> zi5Xnj!Adk_FU9hnSpEdvMkmmY&f-sa8DFv;_#fy%F2-`cw2V|oh0qBUN6(20=<~JF z$TY&#zyBG*g;{zJR=_9GZL=3`;0QXvk_zJW&S05-rc(Opp} zYes5U^u-pG$D&KIJ!>+Id>0ia+kUjeM7B_$4_&JwXe63pIc$&4Xac$uv;cWEJFEC^t)wpUc9j$oym6e2t9~~_8W92zo8vmmNP^s zKN{+CXztWT-|K@n;|P2NKf+Qt@Y2xnbo9hrg-kG+c$Etq-WxrL&g>|fRL9Y6^(z{Q zf6tY7w zrs&$XL_^yLU7B0a17|!Mp;_qr&!Umpfp43SHx-*bB#? z19}&4#)GlGVc`(k1?a)_0^0F@w7rkfrTiYrf6jC+oWXDC%rBxL%yDf9VL`NkQs|5- zq0iNg_06K~&?CHCynh?IWaH5Z&Bd0u5uNa#n5@P{_v^xlA4HSpsaRec-Hop0XK2X3 zM|0yWI>XD0gaKDZ-*1HOrjBTm-HOA==E-;`FA9_kBFuEevzlcWk zWi%r1#_|#DO8FEfOLEbqLI~kaXlNcp_wQ_Uq-)R_Z$sDg2-;xoiov4j0IH!AX@q{L zwU70KF_ZF0bUV*Ncfs0@8{$7$0_#-^ zNjMNaS|3A~Vgs7(+tJ9qiLUtpbmm{96aF2GVcul*@C~LGPNQNXw!pL+8Hqcv6^_Pj zcrTW#8C;F#PKjC>so(Le#D^(YtDTW}5nsg}II>Pg>i?3lY~75+^OP^(jkvsCFqyr6 z_zC59Y{`uyI24OD$VmP6YdX3MvNX&{{Y8Uj_yXk}=<~xHg?+sa>rvi>hwvBlAlltH zMrczPx!x>L0t@gKpnFSim*>!VCNz-By>i2nW%%Xt_O_d^e!Uw*;Hw>)1Vw z?|3aUQoo|<-70($c>>*j>8-;yE)cDOS*h=WuVF7t{rCS1w8=>Qey$3d#qH40c1I)9 z2aV8B%)~M1cASSEv9Dk?Jc}MUrP^ksepOQkoxmh?cRhwiZV?)(wQbq|em=iNg=@AK zJxC742fs$w>UYe*OWK7OFGUAb0v&L5^i#0`+ELe7-xntlp`qwNj<*kyI)@IVW`|@r zDB5%gSveDXaAOI2V4R8d7qJNCTpdHlm9Y{HH^M2@kL(mWIE}uS);WYa7dpVJqSv9h zQ5qZLy-6+%-79G5enm%?)+NmRDl{@>Ff~*3xd!NrI-b4S7HG!Q0W$PeHfibgY1nVp-gde$hCN?*H^|A(9QzCFy`= za40&^N6?N}U{Uw~J6yD+;zu;At9B2cPGiv{^zG;&w83MTi5JkdF4!X^Zzg)+)JN-k zpcA+Ojo2NrekwYUnV9v_Z|NUGT!cWkSe@E9UPrtAmu0cm! zD%ueJRP2tPn0H|@T!@4;u^nyi3v`?P70Y@1hvck^ZtKRFbo;g8LffMu?}R2zfAky} zjy7~#te=J^*&K9WOVI;r3oc<-{Ep_#oB^So`RIg}MxR9ox?uqO-w+?9!UjLXA$Stq zChZ1hBnIRE@M%mRl#%*pb<1!T<)MQ^h=0RAly4l8k$4hc!*GkMZcEN6-j7Ih7DPgJ4<~xW}~6(FpXtv1l$$M|Z=LBo{WY4SnGabcBbZ$I+4h zj%NQw^!Xyw!+=U-QOb4DCF_gc9~!+idMCO&CZg?4iuK8vT-fnEbWK*F=fHY&DbAvw z34h_8c*%pIgNbNlrlQ&Y7`lr#qaE!-51tRv^WYS^RM}>P=L!dtiRxU~L0fbHz0igS zqahm=?@vb8Y!+6)#aI#Fj-JD+l#4$UzCHKAc9b8$y7(b_a^`$Eyk8P8_xpcWE*!uh z?1m%Jj^2pwN3-@bbnQ-|OOZY^?CWCaS~fsK+ZX*%yAgf2pNE<}@W4f@_@G?E9=fqaF&|4XdT zKb!q;=!(q_A!&jhskfsuUVv`9XV8YWph>n1JrO@cLwyu|{#&exXVE1sJ0~nrEp))0 zu_I2zTKMi9_P-6LJr+h@5bY=v4Q&OqgBIvO+o3bO8SU^6G-8vZ52L$g9y;U2==OXL zjp#nK-J|jT`6L%+ZPvMAyVS-3l)IxHY(m#=H#Wv2XhaIl3k_C4Ka?7w+ie)y;be4M zu0TJA--`FY!A!~*(cO^DoF6XgqaF2(<=fFnJcMO&LG(3r`~48h`4@z*?@h2g^$(&G z+Jp}DJM?@xkJT{8<6(&!AkQTeW4Nfpjg{yFN5hRo?uDV;6x}}K&<+-%yJQa<;t$ad zzCzdhw^+W2&iu+J!q@al=<^Sw6J3NQ-2WT6a65d0qwpdw!BLC&T~HeTerIv`&evo~ zSlchr53TRe+_{M6Nd70ok`+b|vI=M})Ivku5Z!*g(Fxp+73n{5Hy5tqYRts_=!?Ig z51vC$#KcqK;JE^wX(cqo_0a*eM~~jF=)iiR+wFFAz>mlK>#;TEmoRAu|8Zf5Ii3y; z=SCa47R`ZTXy_`T+20VWU<)++$D>P-M3Z(dzKzSV1m3bV40JX+@c+f~+NJD&x5Z8> zQfrBJ@D)0M@6m>TMh}#WXr!+DU&w{#XqJygLp~3k@l)tP_Mj2^7=8Z)8mX+y!u?B^ zCBqB~Q8AtyCD4Oq3EJ>dw1HjdKo7?9chU3FOO}U76+|Oi0&8Jqbm?wFlXxupS@Hxr zz%@xO?C2Hr#joN6KcX}L4{adNim--7Fr9K;bT>3Wx8n#LfeX+B=0D8D0xQF3LmjmJ z;b^4Cppi^Y=E5_4HQM1T=-PgOCQ;&<*if_%x_$a!HM|3TZ)L3CiY+LAfF8wHtqMOI zwnKN-L+E=YSEv3QF`4Mig=@A5yW<xEdYc5p+#2doB#9JocyD z3?2CYuoP~^d+iPG!BFQGeOJ<1QDYxNq| z$M3KR7JV^9=6bw@azDHghoU*N7fs&7=-Qt|*ZwTJ4b#`N|J~oYxG=j5MJu8&G{#r3 zE&9SG8$yHmq9xJyYoQ-LP0{Qgh_-hpI*@5-B<7)?qR*n+`>hS^e@C>B3LE+y4c!TJ zdtAgqm}_JBR4b3>LI?EzaIB0Ia5%2UE|_am_&zZh7gC;$c366I7*GYwO1a)<_P=Lx z6DmxOp6FWLfu4v@N1s8HY7N@qZgi>6q604UQW$6rbUSxOBXMUeKZsQ+KaXbr7ibRT zN^Xh2dO=6n2@PF$G%`0u$DvE|02;#CvAh-?=*#Ffd=1Tok7E7j*opEnY{S7(b!$l0 ziQ7WI$)#M_z;e7FpTnV8W_$SU^&{vSj@%Irl8IhW0%!%

f6?U2w=0CcIF_T_5Y74# zSO@2z@9o8g_%*ub*X<7Fp16wgd~_-5zZu%?jZS#@o9utH_D(8nXga#aPvNb&4jsrf zdqQ@XMVFuf{*3Lh1lD~k3~&ItBoCoS@?30zTW}u!gQIcI+u^yicaq`5A?G_G^wZD~ z%|=7G0&VaGbRe72CEAUy>3;M`K8P+suDxNPCD9|g4tienMwfI3mcpmd0lt~!q6`-& zu?gmRH=I~qu`lHxu@|=37yf+jDKvS?ycgEGB@UoG5Syp5i_n2&ydMU3HMXMM16{hO z(1`CrCz$*+UVI%r86P-}CQZf%8L59-aRnNIyRj?IK<^(xXLJJX`0@`!1dF4|TN~}D z1^RpkG@`wciSXZlzf}8 z?{`7(--Mn66VL(9MkDYzrvCf?OSwoj6mPtW&h#xbyFW(v@n2|&FQVJ$szc$qqG+hA zpaW}!CTTnLxgJ;v2c!Fb4jS?0nELmBuW`|eit9cOpMp1`OEDR3=qYqbR--Szj)wjy zI`C8R{(tCu1wIJ_tB#qJo1&ktL(xdyj~>A*KZ&3JZ&6``AERsj9cJKZbjH7PV);C}3$lD3B2)-n+p1`L&Cqt*qXX&_%Xgp=yB|&Vu}BZRponzT`+)`+R7FC8JfbDdmP}wogLaeGr|vnrY_ zUC^1_79EEU&N-0*LrC5QsNRjg0 zzjL1S&G(<{8t$3LXXc!h>83Rlo$Ot(^mva3j={a}U&+AB8IT1=QX4)|kwH-#w!oP#0Ats55T}8^8gO zKi}lp2g@?w{+k>4cPRTmp%TV@;O<}wV+N=KazMo^2=ydwVftQB7o|U(K`4VcP!)cF zT3LeM-IZm5x;6^HqOc;AJ{W4thuVAwRKgW75NJ(@C5fg2gyKo!&tmV*&cD_I3~wr5QL1nQ_hK>3$=>@KJh)RESM zT>m^G8R%+l0cF??%CR@peYyzhzTX3DzF3=4YZ){~paTAe3Yh4HTR=`@A*eGe19eoDpc2-H zO3)K(2Zuq$84tC9&!H~1m9QY(W%Jum3;FW}_rJD0)t~Ndlnd&%Dh72iRfS629V$^U z)a~{uR3Ve0{1-qKuolX1JJfUG3e=9=HT?^lzlXYelKTI06Z)V6l!Q`Lv3U!qgq>|3 z0+nze42EN&R`L+4poD+B@zO)Z$p^Ldm7yMRO`yJN*4yZx$UwKxYFG-Mh1!7+P>#u8 zx-Y9ajh{dz>g)?a1u9|k3Q!kW6R3-|hjB2}+0QWjR;ZmhZu1+)=TL7{yl*)Q z-T%25XiI89-M3?4Rd^U~gdd zl>Gsygy*0x^7~MB&pvSfD}d);SCGb-2l^0~g({#e)R{#>6*wKLfaS0?+zk~c=|{Ja z>`(<%fs(x&pk6e3LOmLLL2Z%rTFETf z4z7Y)`Fp5~(&cbu-kHZc!4ibK9+k1(?s0U8kr0x;bggjV0AyBvH2KWa& z3U%##oy^_Q6EK%v|F1Jp;`dNjX`!R88S7qziOD{~ydiD;OaGTyH!Ab=KF6f50lty(!(5)PQ;pw1FyQ zJk(JwhGpO$lRtqf+?&cxoEGX@$p-zpO3N|OnRbE-^aIpI_Za%1C$&4z1+|6cVKi(6 zW&aIS;%iX1*SH3jv0)k*0=EGn;coEit8Pf9ekL4J2PU{Aq4RxEXf+gTtsI7em zRbZZUZslJ>+3ke7HhzXGKc3#y*kEucPB z+*URZhq~7MLm6o6WL-GTR-%{kMN8nzU*#=k6{56IdZsHXFb@3`Ba!E4*$=G z&zUFlxzF|wuov^(xwsh7PlmdUx8!!8gg4IvP%e`=M^L`bE6X z@Bf?z`!lav)a(2R$7bknj-XR9&VtI;!;ElKaj)~UA16w9`JDiKF{z~2^9s8|rM%AX zaNSwj-I2gDUe8$c6U(|gleD~>=sg^V{iX_D=Z#J2ieBgAxlwQy@(ZvV>|TlczqEUHNDQ~`Io}6$aB|nuj-opI=btI|ly7rA>4dzpg=ll##B1m4(>-_inGL%D{`tB33 z3cSv|FVxFwy#`+A?eu6^lldN~9efK*z)lU_I8)#x=DT5TSfi19n+HO@Iu3^gq5m+0 zvJ8HQMPc^F?tR?|c3{2*>UK-i#J%s6L)~`SpyY+2Zod++2doZtw#%U6euOPx*`{9S zTeRb$cIqjdsr$chGgq(=RzUF@YKu!WcjvvK0xg5p;T5QzNZ-Oe(-v?$^A%7}w013B z_JexnkAr#PEa-zfVJ>*pk#qmOF+uiLuA(~BgC+p#Xu_bjvP^5Q^Wm`rP!E`-ZQN_6 z8O+T564Z`8hI-W2Y3sh@=>c0ap9%G1cMt0B$lT8BX-a<25(f3)6R4}cOna~MgF@?| z0{;zlo2KaCUX#E)qR9cfm*>jsJq|;)RVGfH}^?48tTZNLp>1-b$8$M&4LM-r|IFo zXk~_at;rAdXs*_S`(JMyx+2io4S~A2WH&F$s zc{QjwjZEGF@?iCJhh=!4^n|)==J(|O4`T4Dr~3%*9O!jE_a6*(bzg^iQMqkQ66DUy zLETn8Y(Cbw+4vJIj@}#W+LwV^KsTtJn*?*ht$qf&y1#>Rh~LZIiLy`zjbS6$7wV$g z1(o=FsF&53P<91F+_P=~b2Ft*>z1_RPU!Fla1nr?#8U}ThF0lD| z;~S{T^MtxP)fmdJEldsjK;2d&pw4^=)Df@*M-`FNT{Qj37xP1?`5DT z(s8JY*)PuTc8$)eu=KNEPWmD2hOBT}7y!Xb1J63W9nu*$?#^kSxk} z3TmZoAs3aWm(7PkU5rzqcIGqFuY%giy;0o%TG91V3XoPj~`5$p|{4|4xsum@^~Z$NE*oWbt9<|cjy`4F^#y7~t}-QSbo z5V!$q>+%k9@7L;3JJJJcrQuKoje+Um0x0`UPz9cXiuWUw-&?3_A<g?9R zg>aYYn~!yOsx{OOb%Q#J5U59O7+e77L&YmT&V5vu9>@JJ!!`)CMIE6MOoTF=3v~nw zZN3u9eht)%(MG5pxD0ji-ZOcM@$TE~@=%ZN!LTZv0WZUIP_GrsCvX;eKpdOkZs{4Q zv-C`K--g$Kde97mdX3l#yTU(V71&~uE1w4CcN*4!i6^@W8$rn@!J6)lYr8NB44vuThEcQJH>;0f9_&lccG(W<;v5Eb z4NQS5Xb#lN^$Iu#9)WFO+s~Xr{hsvwFyl5!4ZNn(JPa0Z_MN zU#Jy~gG#gr%5EK00b8M-1AC!%?gmtWb?3PcthVqk{r^9NK~EH&=er3GK|Q%n+59rp zR^NiUjb1{%YGz&FCa4JYD%ct3gwas;^Gv=Grel5*>Ur=p)DgXg&e#9E3*7)&p|-Rf zj1N1)j<7qF!(OOo_(|wo^-uxtK|O*$LM2Z9xqFusgjz^3n^%HynOB2)ji?Eo@Beo( zgWhmIihl4gEVRfyvxjgd^H0Cl^e zw*>ZMeglTXMl0Mx_QICTA3!}1Dy{Upx8LBE?vrm5RN^DBID7%M65m(uTdJl|7wI~v zC)+KXCtBrozKdQJ>V97XgW&_HM{v{C?(6<2sKjTX{1f}vxPmgU0)hdsK3oTD!xvB& zRk^ip;Y{uPd9?dIiN1FK8=V%`MKK?$kQ-31+vT>oM-T$@GoK3w!2M7=RcyQaS`ZC& zTP}ur;Ov7b;ZHC#dsFfcy{ZXibPC^~Q6{w5u5mcfNrjNhZ-GOvaam(%H{@05} zB?R$d4P!ksXku&uwemJlg>{Dt914|q0MwC;g4y9T)31j*l5J3aXQ7Vx3e*CA_1oZ) zDV{+YeuN5`c%OS;r-usM4(fpt1r=xw)LpV0>QVa;>LSg!-~BpaF(|(vs6xj;#hnd9 zpnoxgG7RD$a2+Z^-M9T=JGd6Mh96-g*!rN?`8e$os6daPj_wuIiar{>hunmTq3kk2 z9v2>dTfft;BfJ}j`~Qu!wBaZ!v-Gi?LuZ`@Z99?wLe@lkO{-6YiRfzJ!}G_pLt91L z%GoT%=3nfep-aMeC-G{c*Ri$0_BrDM_-^66U+Tq8kXoBovTpgQi^f>r_gIxz~^d6D#)_Y!|*V8c*1s$~*jx+yUMs|SM z`xH<2{|O4{VHM3sF`Q}((f61~a?=gMQLQ-qmqOJ(r5`477_vW+O{KR%){7zsF+N1> z@yv&zzlfb$eO>yrZ;0z}VAZ|WKG7axR0V^HjO$Y2bNCC+r738(3}Ur%=;x#3rNOg_ z!oNZH3-RiacnonGP{e7*XXxh{k0D_lnzb{oNCoHooyMLi)F*$={={xetgiTZDQqJBFACNBgh|d~IR7yOPDda$-g7v=66YX6HWTn7 z0m{Y-D4WX!Y)R6u3D8>t+9`_diTtS*`y1n(P6DnS;v~oZ955e{wHiekCN4E)?+Ir-d;3X?K7@MBN)Hf$< z!cVZ@jO@MX_48oe?L;d4)cT|E&F&T=d1A&(=rjJmd~?oUOE~AdYrGHPK=JNr+IM6PLw1wM zKigImB#PQoGF~!SVPxZo`X2cQ#%=MtVO9J>70r;>A;xF$CzFpw9?B}?T8u{MoafMZ zl6PmRY9HwRahS&Z5(yJA{*(k=3AUN}I4kCJf;}ZzGV~R(oyb_N0ybT+{T|t4#xd;{ z`fqKXm|{P37wq@6W1spFls^pMnTk_i#s{pz%LG!JPUpW)o=NmbbV*owV*J#mQ$Tsf zchJSO$;4@cofig>^lx;%E!Jq{+wf11&RPFn2FFM`z^cn&hMAe~WBjMBtSC-u3kdK9 z0gp2NNY96VQEU&vf#zG1`Ed%XO59<{^saO(em97b+2XWiKHrbB6xFYW?Fbr;u!CJi ze7MZ{;D6VN-7OW%$9 z9G$?FFz^bf4KJ285&xDD8KKsK8mt^2PE!bpM?I-kpikU#Lwj}zBKG2SDCh>kD**loiWVeWsls<;Of;j$- zB#CLC669+f>YMB)P7jbRAwdzkS^0*hXoACx)%wQDvl0Is z^q|>Tdz>&zlV_d`J#i4%5+e@6)^#807^qVNKD&w-qzb469xDvZo z?1b7T;{3sCOW>c9i#9PFio6JZQ}j8Q?-(?qh~thqZ*d6_L4ZLxCBWg8C7ef~Z|LQi zcO~&weEKpTi@(|wbbm4b8r^Q@QOE;K*OOvW5U)4AtYghP9qowDU+s6CXPfbJjP-w~ z`Xnz#z%S{o(Y0ag$C30l2`b}U1iOW{tpng-TX94D-q`pM3#mp@wI+ znfPZAt2&RM9Snp!aMUNpcG;G9rzjtGQ6wBsPlcV@RgyhIegjz@sJ4pnCv#q0N$Y=! zwi2nY;=P%)pV6zD)h?nBq>L}E6nW}P!$07ij`AO(=LZ2i>4|X_KeYp7{TX>lcj_sG zj_)vgs@pQl5PLj6A;|Y6aXtv@T1Mj-ibAab1*tVLr;02wKS^sN+XxppTCT!5N3N#z ze@^(;q|a+!WtmSR{I{}X9FNG|Az$M2RJThYjV&=Pc52__-`+OtYvu!3g4!HZ z*9!k}w%IB0yGe}r{E;lrX$;Prq9sPL+gcn~qgOk{^2V6mQSBW)1qG!bkQaFpidbp- zZ%J?)-+aW|&-f2~KY>??^AP)vw%Gq3PA_ntMBjp8Hw?4kn8Jc(z&IW}ge3N*+1S9Ao`bC@y*>$`a-8gLYwK%m41WrieC5+=^GlBvl zn5%v7!t*sT)GE60v`9++Y8bC&Z~RuV={y&a=eCKy)Y+VQ779E|kd3TnI$doqY)@eW zDWD_?7sFC?YV&M0o9y@W zjibIBxycF|U@MV+IL-~2^OI0c%Yxq>8&}7^jrn9ZHlyJF#QFlC;8?rxw{|@Tj*%$) z(4*;t=<{$Ki_=LGO|+FN(?J|gV_(^d*@A6x>{{B&GN4<@n4kOe1ewe&kuRO&(~&-y z-k!LX(D!zJElG?8yhq|5I9I`7mmSGf3V1}4T+9z4pND=fcGn2hmmnd?M)3=KA zP-#c(+8|Grp7hupXBR>!b|~Wr`geLZ zs@1~aUlf_(e5$Qaf?*`8z!qki~qpfZ>PB7&!OoA6EPdgH}haygzu|x}SI7^as=9mNfMMk&ZIE#e&KodR+rsv?BS}6A znMhAWK(zsuuqyLU@w-R7TITZ|aT_uoYjfFqkqxEK)3Y&vf!Yy*52maAO~74LH_=wW zpCol!NUR_d)TW37*!*L5B}sgd0)8Uq8}#`Z^Y;}!>4~?7!V6k_zJ=-hr)fmYe^rKH zkdNxiSuyr%Y z^8kuIOwU8kDE-Pt3iA|=6=Vbf@*}HF0XeLo0~Vx}k|5{DPCf4k@GD9FV4j&cGYOO# z8Gq>2^A$1FPLN1#KQ=)euiB^B#5CtmMxG$Za}0yDs#t}{s134Jw(aEzkcz;Vdp5v2 zCXcdYgHgOkR?g;It>}L!ZXM$e__v_{Os-kvnWgjZX-4@_@T27({=Ti}3V}M}6h`vT zFuqE~BeA<|ft$0^`HZt!v43JeUE4_WveJxtj22kcIoOHHN{pRaRf^l_4m}f0_9Zs$ z=t1};u;Ql?Pwgr3mLb1O(N)>)HpKGhMWFvL|A|no07gk!jgI!3C2macI`lv3#R$3x z$3xhC#=IgNsAIz?gdU$*`Y|K55Mn;Swj0TQq=+bNo8!Na@jfNc`d>0RkFb~(u+vpI z+H?e5&nOQ1mR5`u%}Jsbm*8K*mzGc;gm_L8wQOd86`S?sctQO1jAOT{G57x&0{k0W z!?>{pZBO+l37UywV%iJ}+C(2nV6_D7#2WNdD1Ir4{=qjl$%@;eWRsE@8!To4^LygQ z;0cO+7-zOsePt_Xx{e@Unv8VYxx6N=9!q05we4fd3lzBBQuA=Wt^%dbcvn|K`Hc3C) z+zG`$C+XkP?^DQEBx*>E)9jwwqFB4y4Zk?VP=4nVS8u4U3cYYFBdNC$q#!G};#Mn> zXBjs6aGrww*XZLD>{D!dVDk_@M_vYfRomh`%tsF5Nn=B zmso16@GXh$WptPDEys8vKeF#>NRS2eUol8XfR#7~T7?w}@PFG}lK+Bj7J_WEg03J_ z%S^KE#K_BhG6ijCKFtb{zN!A9wL~A6J|j_xD;P&rt4P|1s`8DY{;410NGqv-i5r zm@loNXpEv2<>j;`NHy7ts7Ziz*r??<*)I0BBgwj;`;{X3Z9Ja$un_Y8$bNt|DYz-| zipn3>f-{_=$^SFXHRwSI(y;=5pU8jhJDk-%hlP-TMsj^svP%S@s{&I&N{~i=`FfK{3fsEDa5kzeU zy@%~UAO+<_e*ovj1dY!;4gr_rcZRXr=diaeVh9DbCeH8pXC{7HbZHo$qzBW(i1Dj_ zJyKVUe!wZIRhI$BGK|+Ddxqgn*q;EmNdBV*SF%;i_hB2~cAyJ!l4IY9`4LuL!4}gD zSxg%fYn;=$2igCgB)eiOI33Gi7s+xGv=6%9NYoLBPnmBg_$7iTfoe^y@JZOsq7RN0 zBQ7z{VD}C7N!h7P*p?#Je@*BAfuKdG`n(mfoJ6g0EN?3q4zn{)P2fZXI7=XX-*>RB zJdZIa`Zw5RwZh&L?^9yUlD)OM=o>jJ=K_Sv@99nf^)Nn+qmOwSD`W!3Gi)_YDdIaT z=&dD`?=Kw9uh=BTw=ulJ>Ly_K2%8VY8IHUvabnsu-5%(=@OS}R)Cb#)L6ESW{)t&w) z^sL0O2gY-#Qf(1Io07OaLGEGy%4~NKY$~!0=+)xc>ML21onyt6{%Nd*ti&&`J{FLH zL~36WEC+#Vk+e3vLoY~xH3Z!X8?d6f*zKf`BG6d4oL&N5HDWZe;1?MGgZv8dLaZRB zo}RXt6)f&^l2>9O&UZ_965xC1+fYLoO+uxX%gpOxR-cgJ%vT`KiA`=o$F#J_!_Wts zUwhUbPoZfekZ)tWl+s2s|4p_mYq8n(LVu8XSJ&R}S!DIrBtZau6!RdAZdx%DY>ih4 z76;jVipj`&UXXMj^K{Jp*sJ-lt;3#eCC)N*zhXB7X27O3_R}chbCMrrt~OJjmHm}L zSNau{e`D-}T`~HZpn*_rhn;RW5{z;rTp`%KH+cfak14#f?LvI~vXSJp={s40oheAI zCiYRVt)GD3BWy#}YDG}|fpKA+zkzuyKoRuMDNd~@J~1s9Nr$l7;q?3X7Nt)^UxB$! zx+p%KkX6Bd07bnROSG(*F4upO#j%M2BK2YvI3{SR-S} z_Obz;tj-O{Pc#04dR}1H6#j&)uH`>~e_Cqur=-|jB&m;aG7=`S1ty{Bcor-dHXkVR z8=O;Hq5bhmY5MiBC^lE{Jxr1{1dg^us_#6>a^m+Vvd+YfMs^0<>M`G#_<)02RfK&= z)I~)xUkDE}-%WsK6!(;Vm+>(;65UXOo?eu1fGmjWma|&*#(MF%Z`)UaN~09 z!bp@98?UYC5k9GyA3>Lh9z<8Wp=7j!6u1O^Lh^iq%s&s|a;i^;qAN*b+ULyG7Gijb z;K3M2Fz!b3vldMHUHD$7z$g-px56ZkB-R$2w;~&l9JoJNA3hVe|pz8v1q& z)y}hu76j}@@CaLdQRE2;T7$x7I#wKo0-OFGx?=1`QG5f4`3l`+lB72MW0I~T-Yw>p z82>~+lz{VZk8nN0f%L8fe~Dvi0_7x0O9h}OB;aBa979%Tu2xWQ{C5$%I>|TEdl4(2<+zXEEeb0g z^TjvC>5YNfHWWQ^R;x^arZ&z*knc#;6L}UA)nY!3LexqVID&$jVLP4z7Sr=$yA4?o z`dsusm_NjR4zhffYl6P`o|nlt1UpQhNuU96FGkhr^C@N-U2Q*ewa;z-j&VF>r|@56 zvhRs^oEVefmlPRJAwl%pR_J-#fvGm1)B9aAe-eZX2~YxIOIvL_=A{U}8QqTr8iTF{ zvft5nV^>NsUI@!mY!Z^G1=*_dBm33jNPZ0e7sOghA-@x6Co!+vVjk%l?8C)%4X2-Q zT1(%D(`ka0!LS1I;y7NH9R7$bKM6Y`Ur!O$@ZG{#Eh{z?DJmGbT0G|8kZ6SI|1!RT z&1?spd!R2ttJ^9TQSChv6~|~60n}O}`<{6@g8h!&B3JDEJC8vB&|fe+g3VkC4`SXD zpUw156w?TwuZdZO;?%McH!7xpIic^8`a75=1k2HQOtxw|!}~;4+d+g~jQ=7-M=DOt zd@)f@5$zOqKas5qvdYXi5@RW{;ubd*c9AxINUSEzU(s_QE2WPleS-79^!K)R1#zB> z@*GCzV0q@T+hViph_E7OunPSf5)ZeFV2|mWvt`A!4d{x)j}&;8@oMaUV7viY5#5K0 z5SAmE+FGl0KC+=06{FX}kl*L)35QpammujulAXo=Q`@0<@F~6@V-=ebyWPmf6FVDm zV%j7Ig(&hkF;3}S?DtH1TjJy>|1slBwxYoVorz5v0=7qgf?m^Bd5WTb=1AsY6M=my z3YkvNgKQnLuVWRoj2xx$yFo$IZNdIH82&-Pq-J;%MQ#$Qm9_$^Bg?_cW7;1SxRm)! zcEwA;10*bL3pivxdofOK3rT~luqAwqZC!kpk@ru1VMaDN5q8HQ9K#)~D4PZISy8`Z zlb&R14M|)NyO-D{ppP@##Q3Kr=uKixL0+3hBMijx zF5|4QWUOtI?*#gKoXeBEi3OGXvHqbYwbgZ^0JV(7i)pPa)^SUk()cC2!1{S(M#8rw zR_jEdFnVH}pC?dL5=L5(^~e*V|A^1p|5M}&0&YPU4Xc^|9PHFGQP@6oh3Kmo-(ew< z*!lNcHKPzNC*Y^7a<;8Pj*SSA7sKWR+=Fwt1-wlFwLA3q=+)Y?}n{i-<5?}*@R5ey-C3OG!WXlreoM-b#GMb%M4oX0Q@L)Xmoa|v_- z)qaYvNQ_kTs>aFce}$y1Eu$ZrCsxYs|FdVeEJ{HNj$7V40 z#msgkwy#Op$BIjX?Fie25)`@<{~Gkd_>9%L&_XSKM#dHOE^G^fyVB5#)7!_|rUJ}& zSb@?Hpf|H*ny;{z_9==)GCAA~AI%kakJBmC^FKPw+Yde;UE4K_r1!1#oEDp71c7c+ z#7TNwD@H-ilJEw}KgD+gMPEbK5#Mek&4k@s*bm)Z^GU_I$F$vgS=&M2Hw1}`VK2rN zNH`kfkBnnl9TIe)cf{sRtSv8sOsyITF0+7s_+_y~Pl@>++w}OTJtl5mSPgjt>{np7 zAui|N2!nx4E)(n(E0|&D)+JT}b!`{^#`cyI?tlN(B}p(rJFx1;tnM;Qgls4DAXh6# z{Ex(_z_=c9(@;QsYzylA)v}Ph62TW>n3efh=I_vTU{!y>-*MQ3OzjDQhhtZd0HLnP zvy?;wEtW(ZiM5;gLwquzdw~CYVr_+0@E>oBbFTkf2*X(QEu4yDd_a}cE|^hfOB~1w z>JfB4fqJ07On<_-J$|9KYf~9tB;I^XWrPhu>;(X>>&ZJQ(P#zf3YpYydU=c(7h%`Mv5$NyD`Y(D)ud8b8Y^? zSsd#>L-Lqbk3ngAZdN=A;|H;-md#T7WRoqh1fNsXYAK!f`QJi_H{Jo-r2l}G>2L(ih zhKCgOwGS8+92ODc3k(SN^$HCO^M!`{`h`YDqC^%J78x26j;vS2zNqF$!u%X2wdPW6=h6e}v>U5}G+eemw;z<&_tz$&AFVIh(z}^uNk-@&G z2u8tyeSLkRBcq(4En7E_{J#mJdIv=L0tN>ESCtdEUvN}_g8L!{D$c;*Vs0oE5*!{C zioI1BlRY3jNXsrC5QW8%&`2%c_g|QRNZ;V#u&|=a9vDDzp;5lx2m^ZugogwN72h3{ zIZj<~IwyA>8shKiE9wi z%U82mM>df2U|*wphidJSQ32tB!Nq-TSV*tv@IZIZBYi=^{RiSt^+7%@Ww6ewXD}=8 z7cmGKbqC-O70t>A1rLnWQIWxpx45rnfktP*5m&!U+(jOuop7Fu6P1{Qrdy^s{Sj<_J02@y3Mj-(S0fd|+toaA5^P z!?`JR6}e?53HHS-8G9B&)L6lSBUy|tvZBu7xLl})%O*P1mohRmAe_rOpkL2WmQ{TB zsqf=uK4xW|P(pYqoC422+@0G9WsbYsp8c0pY^}iu;=A z@(3TsbrI}4w$`pEUCGY%GVs_kcBNlLWF#)(zUXkfm;z!hrW(%1{dYMvS;4?uHECCc`x<(e;tTGssI20 diff --git a/application/locale/it_IT/LC_MESSAGES/messages.po b/application/locale/it_IT/LC_MESSAGES/messages.po index adefb7c24..5a9020a9b 100644 --- a/application/locale/it_IT/LC_MESSAGES/messages.po +++ b/application/locale/it_IT/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@wavelog.org\n" -"POT-Creation-Date: 2025-12-14 17:13+0000\n" +"POT-Creation-Date: 2025-12-19 07:34+0000\n" "PO-Revision-Date: 2025-12-09 23:24+0000\n" "Last-Translator: Luca \n" "Language-Team: Italian T zLPDXCBER?hd(Q9q=XK7xuIr4?8P|2+)nn=Xg&)08DEU=^%!LX5cl#xYL`nQ~SR(OE zzC>cqPD>MsOLL|r`eHH6g|}i+oQm0SA?Cy-(dUrI6R%)?+>RIHrGBdC4PcNpmd(JL}6@*7vWWCdGDCNDLMh| z@YI-p1dZ5I^R%CMJ{GJ&Z`_2Acpnm?#36hef5aPbW!|(zEzF-UEzu2IV@-SrE8|<( z4}Zk&*e-vVx`ol@Scvjfm~^DuN#w@Q(a;@3%TJrD zVBxex1+0o?v3qnJmLvZtR>DnK2LFdnb!L%JZ>}QA(4&GBxCl$)rC0@>+cs#!*PsvH z81pxy5t|zG58ycRi*YjMDH@)ejg~J$>&tyz9^DOI$&|5_Z9xu(|tx6N$83J$@WaW;0uztINTlnNc~677YCvLCwIZ$Kk-J31A!(8w;0*Vm#E+m5B({|8AJ z+P~2UvtJfgZxOV@Cg>{ff=1vrtd5h>DR=?xz?4ERwch2 zlOsv&Az_6Lvcf?!3=P!+tc_pbM7+36$WOysga4Va1B z@D<#Fwl}dH`@aT>XUc`p?!)Qi4`WvxSUxQ=9ACx;Sg=A^T%FOQ_7-%}%|b)^DjJaw z&_(toX2a9y;`?>}^ovsVg>C?EPjNwnhXG2apmakuC| zbk&bW7w3cMqJ12#_j$AftI?_6hDKyhGG5q+HvB*I0QwniI9uh=)57TWEVO~D(Yol! zo1l^Cft_$F+JT*D!=Ixk;tzN^=Bg3~lx$663w^l|hM8p31PA5Wlj+P-Rt zP&f3s{xLra?chXgf_LGoxDi|8P1VAbuEOT-|3cM6D0-p~_C-TB7=3>aM_21~G{i5X zYhfQcB{^z@4wpcmtAKW>I=V)hqV@K|Vb~ul;x=sU{{NnY+pKcU5b7q;D=?k%?r6om z(C>qOSQ^Kp6+eQ$?Utek)|=>a+tBB>qY>MMPU-&W|L|h>|L-Im$v^0#$XhEcl0xVr zD}&B)Eu4bw(F)%|SNR_FzW<>k|26s_dhq0_9S)+hXgdut3p-=#{Xd#S7YdT-3AiWT zkgHCZg6im+=ztzHJ{2S=Vzd#rB*D-%K=Kn+2(xr9T|K2#hZWz&I zbSmyeNAzfPMJ!*3uI3%+NI#4DW9a>Vphs>-z0k2s(RV>3w7eY}v1?=gmU`@eLv(K} zcpMG&Dzqazur_`k%P*=QMsyj@q`V>Cj9bw!pBk5kNOVG9K6jwy3(-HBB;(M7=z*BufbRc~V*Yb-4(vw<_AR=&f5oKRBE4lOD2j%>3fe$J?1in-3KpUrcn)jeYV;sFf*;~{*aKf} z6+)b?b-2F}+F;3O&1kFE?0+lnNr4VSSM~Vly=adg!TPuyo8sr_;w#W5EZ)j!NBW{2 zAA)YLQRsk{qX*X-%)(9RKn}M_h93~VrJxc8x!Q*PUk~j_XLL&Xp^I)X`VzSl9nqKQ zd2tE{WA=98^*bCpl3$B1#=p@9|3jzdqANoE#ginwP!*l)y3xkyB58#_&;?!PgVBa3 z#p`p>NIV{09m{v1_kD~;_J8OiK8FtxzR;vsGmirWNmaKIyKwTDcyr~ESWe+!k(Q#w^w?{@TF1%UDZ9%5!`}C zU>bVBEI~uN9gW=kXe9Td4Ie-oIvVr8ps(jY(a4;`obLZiI)xq=MGuCuXvpitd^@zF zUTDQb(2kCb<&VVj<>*>@3610$w81TCMBa|>K_hX%y!-zf5{B?+bi`-TmqwA!p{I4x z3fe`xVJ-6g&<1Ct9~|@1MY{lv)YE9aThKY*h1PQvz3(SX+SBtS?9s(nhENtnLs=Xh zd08}MwQwP}MjJkWR(J%x?+3KOGibeuE@A5Op!JtVJ5mLo!B$<^|1P#;6m-N3*aSOV z6)L(L?dd$Uf@N45UqBmtAMMCz@%kY&g2&J)Oz)bO=zxW>4-UjmxIUI&=*s@@LP7g( zX^9E=FqX%QyNA!|n&?ZWAKH;|XoL5l9k?&L5FPo`F~1t^@SEsVyo*NkXe>XD*7JLk zgsb~6bn)fr5k^=PozsSBh?}6-ufVZ*HBQBM(OuBCXPBZ+XoLOH4o*b3_dV$Ik42wD z>rK8!qArQIa0s48BXD)Euomt_M>Z`w2YvAI=rgf=HQLZ7wBe7?HFFpp`7g2jk7)YU zsd|!$yd>`8hT>>Li_i+5MIT&;_IwlC@GdlTpQ8KzAXdVo==RLfJN1J_B0oBH-LMLd zKfzX!{Bo>^hq0miKkv2S#t!I(spyovf(`Ikyk4STIO}_01(SjX7TuQjpb>otQ~UoZ5-yt6=(pJ}bhRHx=kzRkAYC#bR8Sdf zr1AR#yoU1Y2Zlws1^u3Q2Yv1fbQk=LHuxu6Pqsm!o-%{j|5sB`ivl0KH@XO`l3$HZ z$w73L{}0_2$I%LZLZ{|j%;y>$)=8$BO7qiboz;AB`7<0!C!Y3Smb ziFW7#bkRJ8j${?Os$Y-gyU>@{=V*l|(bw_c=>2(z1dE~9%b^3Ri4LG)l7tnsk2efL z9~>F;N^W(Ld4iBx7h;oR!gfdSY4M|C2~$ zQSbzI!L4ZMa}5g>W}%^~iSCZ(Xhd#BJ3IqD2Ueh~eI+`8*U>rOf_^U?z@~Tsv#`na zo&)T^{v@pMHuT1sSQA&FAv%IKbP^qD?i)gbMbKSR3SERX&!P7;8tsVQ-y1vNFtlSU(fZy*BlIyk)d$c> z{eekCly+ly+m%2c>=5mX_V~u=ZD^#Xq7^)ZS@=XO--^s>Vn2GG{1Nl{Muf=LL#MJI z8ljOR*#AB-oq{sBBKlsu@i!KrVgzK?o%%4Gb z#d$OWB}RvQc2RH{F+H=a5C5Ol%_IfwD8Y7d_r;eEDcCoKC(;yuKOT9q*yL;*;n%@%kzBeE2(+XaD_2!UrzCBg}CT zboJIi-vu4fxxEVQ(6wj>#-JzU?N|e+<91ww1M#*y+28mvx^{|A3Tvunv^}PN{vSlb z1LqbCa2eLeHRw@!3=R1ulljRgja7~2hfN9Z{YTMl`xpBBMN>n_FGWXM6CcI;=sRLJ zx*LvR($$)IR~Tt7bVT{kIV_Iuf+|=YTcaJl86EKx=v?kbSM%5CiJ6~WWy9srj#WW_ z8`c<&Xdkql{z>+~H{3vh6-_`xd_VefS&CkN3Z0_0=vvu=-v2H-fP=C8D6(D?$1$}C zr-ygO7);fJ&8-K$esVfDTJSFg&T-SbL(e*(yP*f#;AH$6@4>z}_MQ;x_t8am5FPOk z==tyqI?_MUsXUKHsP?_#hufj(RLxA1uxF2UchE&~$$cRbMbHY$p^K*> z8kwuno)3slL_72#djDE<Vk?++oVjLunm9D!G&C*ykT ziA86JxgUid+1s%f7JDF^m^WcR@*m<1tUM>U8Y_^mKQ|n~{V)|NY{L1I*h<2N|3(+j z1x)SZdBIE3kXAuQ*ah8|L(sXs1Fdi#y1$pB+i(-QruLwbJ&5V}ZS;Fg+VGDg4DCrw zty;9A^Jpjw%@1>&g*H?RYhxSa{goJpu9>3`hDCb}9mpxP;j`!zr9TwvFN-ejN)NIB z4Pjjh+=er;EABueQ*c3AVkJI|W3lDKA;fFZDarLn_!E&qcscpQ==RLNFfGvrN8+{k zGI|tee>D6O>niL|{_{uK{~nEXA4^Nzj=OLQwthVP)rzfnH~Bn^!m51;8<5|FUtq@K zw8X=B1i#0zOTu$~m-44wMCN(Cnerc=2o3gG7JfEdhfdvzB#Ck)5>JK?jq+&7+oNls zCmQl$Xvij_YhXIM?H0!T3UrOUf$omOXaj%5>$#o^Q&Ad+(y=PoitEWa%hM9ik@yg^ zb7B0`;lku+!k^o1Mz_(}72#mH9c_39y00HWJG2&kzwbZ?a1dQX-=W*@0@|TG&!#0h zV|iqaBonugaD;b6A3!TyhAx_QXhZwabKoQ{$6U{a#k2}-a2>kXwxTEC`!WAHy10*` z5j~E!_jfAKD!b(QuuV##7pkJ$r#TwRZn1nMmLWd{t!Np#z1E;3+l=LLKlZa4xzwR-;p~554~zOuheqCgHw6jfV0pT5;yu(4pMu10~QAS42;` zdN=^*q0jwKTIGKMEbdWHd6f(2gxe*T^$T5^kq0(LM2o!|19%hOUjo`cP30 zEJC&rT3!vEx_W5j8pZM!G2b5TKo|7BYtR7=M5iPmlf_IN1z=`|gl<3(tP*Ps!28?*2bx=qicQ(0hZurwNx z>ge_ENfI4N+=$NAT6FH-LVNrv+Ogc*!WK$ge~fTW_?XsWHCfiH zT+YMl_zJqnzCssOHomjmJx$P#bVUa?8a>c%MW=2W_QhGdli`N1DR8xahlW05Pw08R z=w;FBXhluXk#s^s+8e9kAoTg!=l~u=2ebx_+;((I_n-s+E=eMFl*SuQNB>0|y6D63 zGg}cXPrewI#uj)j4njlx2KqtqUc7!3otnf)p`*Fb4i!c3uZ4Cr*_?zU?~FD$0u9~m zXoZiUJzkAY#ZL6TU(k{LgDo)c-VlMVSeyJLoPaCQsVnnwI0w3*1Go#D`~F`>q6Y;> z&?B|xzR=Tl=)o}nJ!s~k9a)DSxx3NV>z8Opvi65rqx<|6*2Mgu zh2Ma*!g}PVV5uaDwInLzN7xYmLPJ#R^RTMBp$*-Oj^HVD@vO)0xDlP}oCm_(7Dn^s zV!kFi*Uiwi)+t`^iAir97z;+=2J++3)m`9Q%RsR>Z>0rE^{6pxP*oj$q2t5zZqf=e|+qA@JY>zyjOspee#Xq3? z{Vck@svZjw>42`)FM#rN2`yO;k7NNUj9lH2FLZ{>?dfzFu1KGX{kt~hbeg9V> zVFR_%P&URaY>h@@D7u)&qH{hGotk-Q#f#B%V{P@|AgE`#) z#Yx!Xa_9&z_X2jr2G|3w@IFj6jE;0Mda`Xm7t_Az=jeTh(fWRf`EzKbv;Pn*ib)qy zWfFFv5&A%9^rLYgIu%pU)x0QPe;=LG!{|1>~zdh|tL0jyD<`<(Kc@FLIM*IXnKr3E$B82=kG*Ta+bNdOpU4OxwvG7k}ao>wZ z=o7U33v{YG{G1Fu>GpHj|AWz<4o5q3E84(RbP8sot9(wpz8xLOM_3uZLO)0@`XxMH z6YW?Nbdg?--ggtW#7C1P=8^aujlc~j!+ZTjoI*b1RCsV2Iz@}HGp@w)X&gLgM@#$` zURsr~J^Aagg7;w_+=oWsD0h|{FN1clAvVL_XuS*2`=39@{z+Wj_^%1BD>J{{xLL!dHxCeyFOapA8l|3dVMJx^6lu<9gF1`{Tp^i4YUId(GIps zl5jP5i5L2!BN>8*XasuW?a_Op^U>A41l@KoqY>JG4&rdvm z5E4bv3l-6d>Z1*`MjPlE^8?TdZ$djd5gX%O=ste~-M-t<2KS*;@C}Z|?_znM|5A%J znHWyOMR7M;@ng}a(2>80cIdTOzCD)jMn`%8?ch)G`XA_`ynsGei0>swS_ZAZHhL5{ zPUYEuJxSP5f3zbvqN{cay4@CIYSqX5`{+oI<1jphKG!QP)H4FJ$d5<2?Lu_%twUdG zhtQ+=7tG`S|DA+AO-oNtEuK7Bj(lyj{AzSW*TwwpXov5O`3KPsJ`r7sj&LJ(#r>Fy zKt`yqHu`*XOd7gQB%GsOXv2NcqjfSmm($UXJRE%rT^p;=NNkPe??(4y7Uf@~4JR_w zQwLUFw4G|`+NqV9o=hbgQeXou(K+gZhNyS6AM!Dq7>qtR6uo~`^meqv_o5BXj^&Hc z$UTQ{%gyM>ze3l}iOghrYX4rKz>pQrmY(|Bt%;7TAKH=Y&<2O25gUij`Bb#S3!+QV zwX-7Tx1$l<9sLsR&?$6xWJ_j`4PyriYT~LiwiSASl+O_w?0}vVJ~Qm%6JVr=hM*+EQt9h(TJ?Y zLAVK>f?_$t$SdPa@=eewdKi_0-cK0Xe2g9 zx1ww19kfFqqoF;HcKB?}r{@m?Du70`1Uir^=<}`64qug@{ci=sD6qkC=m_pYdpH-} zUdz!2UqGkgE%d%U=<|nT`A?Wd{;!z7v_P1u^5}C7(EHoOe9vSo7!(U`Mk}5a^Y^1Y zUKsOF$Lp){8p^kzi?2w*P;p&!#BI=B(LI)rLI*Gjox%n2dU6#B7tKygeX*cDy@=l) z*pY(hVk?VQP#>N1F6ezX#Ot@BA-xBy;3BMv?_e$b9ou2q!s&@tcq2A<|Gz-OhQ7xZ z_y_v2SieYE#kZns;AynM=h6FL#qzivT{AzR9XuPa=PMeXD~(2^e6%h)pjN3o`>!Vn zD;|RG*D>fwCZOBp0dx&KjINQz(Pz<$)}m`=JGu=&M?3fjy8SXQ4O3GTeZCS}e_br( z{_jYl1`fn(_yD?pU&ncP9PQZc#llFYVO8?;&?9vty85@Fk=TVcbO2so!R`MBi59u>zh)*G8Gk!hYdAx-I$z z+VF2NpQm(qXH-Jh$`wfxl}KEVF0wi3k^C^aNFGB+x(XfnW^^0vjn@lhg$`B4x|Fv^ zBX}peYi6R6eIU9hUVk24+{yJM+@G7#4*ZPH&1rOT{fpk1Q6`Ku7gi@<9*1BLoPq1m z^P^GO@Y3p!jmdwCMmSHo^wb}@v_l8H6hC(V?;v3Z7M4#>yoc|i4bG_$I`jzo?Y0CR z$rkkb?&v46{4lz>endNxs2Czs4%?7ziAMBp{1P9>0>1wzRtl^Cesr-dMjKd<+Pr?S@K`YvgE}Fw= zkI$mpGf$N;x24fFQ5|by(^x(VJ$i3P8(xk^WIej-ccb1bVk8_{WAuyW zO1uF_q8-{B{Tkhdr_hQrtFg%VSS^e$y5iN-Q@>uTgih6?XuT`YDcOKd#ld*JWDWMe zi=%3dum*-;ZSoJIH@=Nllvy)0SO6=LFNb#gO1ut7$Lk-W5&H^l_ze1d_FCzwe<@W6 z4ShHC`RTQiVGfs5;Oc)FJRpmuudr`nC^lvJ$~Y>Y;( zBRcYH(E28$YvvyGM4Xq5H#~+`uqnC=ec%hMfJf1}%w9K)uoQZ|9=d3oq6by)SbiP4 zYeu4LUYo8t9TXoQk~k?;h&xL%mUvS>rK&=ambTJa#Xp;6I$WBD?)<1fYhM(jua zUGyN!svp)=dGzFLgN}Rnx43q`<}pkShg8cL;Hy{BrfH~a?R6I ze}k!6i?DbWV;Qc$g#0oiu?N?Z-_t5IFtv4f7aT#){xWSsN3TZnQ?VAVMUUd6=(aB2 zHa*b_r(yD05^s~}i#N7QPt3t>*b}>4k)HSqpTtx6So`$U-*%hTfqhPg&f`wXM|Db1 z{d1eTo!O?8|A4*l?3L+>@2uyl^u!XZ+ck9HBWyyxemC}idlI*FOHWM44cHAEbx%+I zlg#_@O7i>B6Ya7d>8XD{QwQzX>0jr4&xB=d3%K^8jB;y@5I?y`|9-6zcG6g zE0E98oBiK`M9tozp^3Pd{C4~d2lfdc3ibM?Cnk}fkCQRyHKBr;Xyjf-w^!!1>8U@$ zZHy0-zZF|xwtiv6?a%`+i7v+1{y*^p18XGB(-j@*3iM?C0Pn=}u{=3paM=G#un`y5qbJrc=)sY1NLW-Y z(S1DvosxGj8|J+(Y_r1AEX+=MHT2x5i-WNR4#Z_>hyTG|?*9fu!-d({lncl4HY`6Z z-1r!J4(vns@t^33N?jjzM_V)^H=qNUi(Td7ou;;Y$L)hDvqA8H=!e+iT&{{ ztl|DIIWnxy&e)dxXXv6SHYz=FJzj&(=@zu&f6+x$V01datmGww9$;&+I~E#~p87N3 z8_*7}#P)a^jZ~AH!rOHyCSRxESrWx@;LYJcxdVM*3wqLJ-V!SAk44G9j91|f?1BZx zhLdwJdjB+RfCtd~^4uDB$pG|-UXM<}##`C{zJ+#BV2D4*eE2Ko#kAYP%OXEsM7}t> zsLEmqtQoI&#v0^%#p~12shS(FKZZ8^6uM}iMc*+iZ%c*~Yc&PeQm}1Y7-_Nbp}|o& zfb!eW2lrwT{4Dx&G-E=DOmXyj-Ds!ikm&8vdFY4Av&mTSCi>C1AKiYxq2GXoCWag9 zL_45sVIVqXPoU4efz|K;8qti~!(10er>r>|vEFFCx1!G{=aFzby@;i8FS=S!p%3P` zBV5ly^X;R9&=E{TBQpn`x&`RmK7%gS)$#f}=y$>{wEi!U4kQ!5k+9-R?hKz^<N7v2^Xot3=?}{&C`A@Mt+obSaPy&ruWlVklcOYR%`k{;D zcJ#eJ1^rTa5&eimbj0(~2rNN6uo4U6MzmueVg`PWM(hxJ|97|=|3If?#nf;jzJ`~O&%7&? z=f~9F|1C?RH5aO)b2bK@lIdti7NHeA8?SFbN3oZcx)wU1BOZ@dI2&zX33~tYXgwRzGkzz! zrqb>S=f`Ey$!Pf(=sV|+B#Bxi3f>#$vMstgJD?Q~$1EI=eQ_b$v0u>D{|_3W!ZSj7 zRbcl8`vFl-50*~ z1|T02i7jYI^WPu71#6)l7=~`s+tAng?N}KXVMX8n+esM0AJLJViTTXgp*(N2INI|H z(VFO5XoxPlj%cL1qaz-Oo~RSisdyBf+LzEZvkObQ{|}RJah=5)nCF4;&DRVa!Hv<0 zm_>dDy6>MuNA?mLxix458`0;!h~+<^1N#k~qO>_70>v=tiPVOKi(?SlvoYw6ccCME z6dl>~=&E0jcHk|v!5wG>zr}m-WW0Xc+|aR!Xym4$9ljr{;Jmr)|GP=NL4g%Eofksa z620*nERO@x5Z{g7Hya)CyqJF+y?-fI!sTcLcA*{o0^N3hVLdD~KkWaG^V$EkDdo^B}nY4Q_G&l%rkspqY@KL-R_r`p-heEyucBOngHpF+Z37(Jn1`9&@&FJoW4qM@| zWGtxgaQO5ZhE2Kf0$R~AY=b2q3D*as9bSRm@iXj)6&Hq)PDj_$Q|O}GfKK5D=oB7C zkKW_a36XypM$+z3O1DG=3_6Jp4>}`J(XA`6BuO za|+90fyJTz2Iv&Fk9I|-CYk6%VmucnU>7`rF2;sS!icUwcg6L%3KyW~K&z#p!iUj= zWeGax%cE=2HL(pn^LL<&a5p-|pW*=b|49-yc;yqJr`O_6@*~kXt+Ol~Fw@WqK1D11 z5`BprLwC_%=&mXFWUw0AP}`Uvh#q7U(DvqFUibfE63)p>=&Ifp^SjWw{0d#gXV8%r zd@6*x7#h;S(HqgJyak=YBpQ*2(W!hIjmUa*02?uBg>R8?TfK)i_yPLBQM5z9<68U& zH{hz}>8Wjd{nO$11wY_o%Evzwen`!`BFudobP*3nch54ciU-jBpZ+ZS-^Eh>*>ECt zL$}u**auf*GtBl}_<^Jix*hLFE82)I&SU5<<<&dT z`@er78G6$C#qfF^jrF<>5#>ckSO`5gvd}4O8?Rr9MyNa5P_I~i9U7_O zXv3q>4vpW;{yI`t5?!pfq9dDxo(uP)yWlyjgGbQ_ z7uXsiS1y`tPr{eQNc6_3=v=QsJMcEz(1$n^KSPh)0o%d{$x^(6{5LopE4>wt+M`Tlg>^7zc0;`O)u$)q56;k-un1=wKPN z!!^*=-4YFL*H}Irt^baA{cf~l4`J%}e_xVtyZwjGUEz1b>drz#Uk|OI5qiY7iTOM6 z6#0A518UrRVYR=E-hTl7F8Brq;=kzH>Ay47KNM5%{|O|#Fatda=b#U+#3r~Cdt&K=zVQtz8|`lMq%pj|BsCY)6g4dqKoPYG&0X& zex_nGP9y)(2jOkjZFl(7uZOV(<(YfJ>$)w@CO-{b6S+PN_1=aq^82w8F8h%EUzNmr z6u1a~Lwla>qwu@l+~}I9A8n0p$F4Eo6AkrX^uQX46>uq9?{;)I{DM6&@7{3#b!a=I z_p<*T@i+=9F~ZsCOJm)~>4~p#FB-x%`$C1=(78N;cC6$6FrwaQJ)_X)r=wH23@hWN zc>P$xlL$ilYydN4Hli^!+^z9l?6^!OvsIqCAO1=)v+|ypa1qnET>rMYYj0y&Kx05%K!$n12eba69^1 z-izL!_#*6@VpyGQcl6yc6}dl|c#woQK7pR;8_f< zC(-+#i{;zV`}Siu{0`kkmmdy`@Jf7?{1Z5k_7nAwgzd8cyOZCC&VAW0(-Uj34^G7F zUxfyzM(>S2fOdQV+VGQTgX_@Wh`b;3-$(yJzc&he&Hi`0)F9!5z0e1TquXan%s-Fr z*DYv6-(f@i9SwEWqoHG6(7Er0u98sbKyyJj`|)?PdtbxaR4TN3{!IieF^0|5su=j=;9g>oq$Gi z9vZO~XhdGY()e+_{%ev%OL~<3r*LEYpW{@ZN9Ay|;>lI-mu(Ryg8TjI4i z7H`83(1x0y3Mb;V*pd81bZWODYbTi~{%d;T5ek}NUfhQ^_zl{zGiXn9{+6D&6$_yu zor&K6aLhl0-oF;zmha&;_#ys@6@L#?Sn726qufc@!SDY+NZ3I0Goiu`Xa#-IkPpJ{ zI5qkajwE0Dk1&__qaA(`Jufz+^}U5g@B{Q^^DQpIpRgIu_>*5?y8pM6u%U8)g^Jps zBkYaoI27&B4d^x;gKp19(5cvl)p0l4fwSmy|DezPhrZ6UpAF|hUbJI1Flj^WNjQRD z(cx(MozaQGbVD%}hlrT#3F*cA#_rV=T{hF61vmuQ$OOIQSg<-y7#r zU`SuY;aKo|*q@WI8u>NoS$`Pa6{pZupZQO?uLO1?-yQujT8vJ?9yB7Kqif|5+JO_e z8uR|k{&%EX{|)X&JM;xQqBGIl7s6auL{Gf-==BlkwwjK1Xa#yMyorwRGqfWa|AmHg zqvdsDen^spb2$T@+qKaz&=B)zYGeh`2M3~4@c?ecmv9e`Ov^~s(;z(~_0MasLr=I5 z(IY-RBO_IRWptNx$KIG6PQpd986D9(=m?IW`}9w&jy*CnQjxj~uOR;b=Ei-|ucN<2 z&!b;H7iS9%*2O2ucf_mkICgXYH^`om`Ze23Y|Mqv&=KXmD1))l5j2EH(WyBR&7LES zs4P07&e#BlU{`z$590UeNZ-0Rbi7E;jMRZO00+AN=aMkAKcPoxv0NFczhZe68j%Iq z5?5kt@5828vILH-%^zLG`52y3Bh zqyajx+hY0M=&raQ9mu*Qi8ds*p)ZB>OT#{HiFRNVI>Kq_RL#akxCUJlor-0oKB-2d z<%`jX)i0ir`Vs7Hw4p8~!jxT$c61clvE)<|&hgynL+Aqw(IfY1^nlucRqz{h8|Eq* zDyW2ZtRXtr17i8T=vsIr=2xNhY(c*ljw2o6|No&>xKJH^pl{5NMSHpg@5a^m9oD%l zjJRm&&|rIXBsZfGy9p^?g7CNxwKZMZnP&?)j;oSheo;wT3>H0?EW85!XC~>L;D1}y*8p1 ze1KN`4d%q3&;#pFwBqt*!}U6tNxmt14zxlW?2kS-82!!2C^TYsW9t3CfP@u2iH`8) z=m9hW>E+^FM;qc*ly^Wwyb%51Sc+NrB)aW0)XYfzS?oU_pF{2CgGk7E7=+D=C8R7aDEA|!62pgJ0&#n>9l*9koyjy7-;x@srI{Osss z=!jRKq2Giy@HLjj-_hp_*9{*wWzmDJ8D8xBzdMN+DCmcVD5G8&aZWT}2(7S0%-4)w z9&LucjM~Qh92`RaVRY4>L8q`}{ZMaXG$L)Wp8J0=i6Qtf+Ta;nf#>mReCqNrfz}t137r@(Op5vGXy|4{7ocbNlUNf! z#%}l@PR4ExGg5zqyBnR7OB;ny*F;C$COQb6s!5I5|1OdzDR5uDfer8&`gSYPILu*l ztVMnZdjEqsDUF{Oa0dDEO+!RpLZ5pD?dT`5JhNGt!d&Q@xD1U*>t>AqUJ_Tv3m>B+ zK8>D){2S@ilvG1QT^HRIZP1Qff!;p|9pPy7sGWr#I16Ha8G3HKh<5NRG(w4Fi%>xk zv`6L8HBbYsus+&QcXSbsj7~up)qFH!FURt4(FXoRJA7%&VC85dw8I@^KG~Z@MG9^} z8<>Ok?8%sa4eh}D=;HeZ?byYwLU{$W!4_yohQ$11=s-3`-$Dnt6McRk(oQn*3keU5 zjMkxoI_P2?f%bF^+MzqKCC*1H-iucFdGsiH|A~10FSKJ9uoGsr2`{Zt(KoP-`#*cz z@CnulZ{)@~=!nmtYan;K5Sd132d+dr`~bRWH=-T-F8VXtvD4TV|3!C6>nk!+{|SeO z(4U|#U>o;;yY}HHpIJDZ{M#{KxkEU+hoY?+vpkXpigAgW>P!Wmkr|Z;QTsu0{9n9WlQIo!d?5ODnTW zn98c?6y1bPaS0mo1L&G4byYaPT3(e572HgLXZRb~9Mign?bQ;mB0m7<;7d3L8+OY` z9KaQ5Vlk#)x($mhH+{OI*NI?^UX!!IT} z;0NTNM%T{R7B^v9(ph}!PVG3mj8!7pM7|!w*-1$wU}>>4x|SbaQ_dA7j8xO?R4}zeJOg7 ztdG~XqKoaLnEwW?_%|Gd7v0D%U@C6Ix#S-ok&*gy!-^xr*Y%y~N9=uQJ&Q5vPb#ZO z7@`em{sg*RPNTb_@u;v^Zb$#!&sKEX)ff}j&h6+ybPhc~irf@zfkt*XeuNXzNM3Ps zc;^hdnf>n#Gbk{m3(*lTMSJ=jmcci$79K)(LC#ykT4{;iHx}FA-7)_zTF(J2g5RL$ z!&$VQ%f^Q56~?mv{TQr8fuU@RhUQxIB{T-@z*w~B3($&JqI39KbbBn{i~ESsLA2hL zw}nV;L!Y~NTt@2eh8IK^={-pj6G=RchOpT9Q1Rv1f_xja$J22g72k&g$v2%CezIAF zc4Q+O$@kC!d>+ex#D3)eL?hJW_Au3tU_SE6_enVNgJ=g%p+Ab{x+9FZIF=?~FWL)T zE920)ejbg`Uc4HALnGDx&QRZA^!~}wHCUPax5#$n_dkJBGMeMcmF>g3;soWe$CVn(p%9v zx(j`4J%JbDF7)lSFJAu%?P$)s!rLxCI*?{)dAFGFgHF{*G;$NMxch$@3EzSn(M56$ z-^P>p7_McJ-i95gg`@aQyxaVA_AlV_(d8&9iwYz>Fh9o zr!Y79RWbi2)*=6X%%4L$cF_Zb_E8e~AIM1kE43GJH2EBJGE)D%ZajWZzT@1C)W7Ge zH7{(}ckl+vo6OHh{X4;@a18m04~8FNzr_jUZ+a-)_bqz8(}IlDpP+2Oo5|+E%def3EK0YuoV`3AtO-^uSQ352mXgopd)(X#o!9Gp_S<3+7Zh?ihhQ+b0m5S zQ~&?J=`V%QW}zc&5bYD4h@~ih6dloe%)%4sROMP34yY2*4(Mthhc~b-o;A8dQTE>v_My6+!Hx6^ve!Z&azQ*#gd%tSQ~HHg!fVYVa)g09OiN)x`-yC z4LpvS_%zz#=g|hYqQ4>8i@vUZMhB98ONdMnyvX-wRT4S5P!|nR^O(N|t!NlF!tvM? zS7B@X5wE~%Tf+|)w_;cFE78yKb7(|w*cN^dFd1D-+t7}Eh^hbn*9j6fRN<{)1FS&4 z1G;)|LK~ihekW|e8u(4Tp7-rAWhK#wltZVe2408lu_L~KPVH}Ky=O6L!`ZfnhKry# zR6nrMT)ushy`F2cRo1W%%itjarKq|MQad!chY1id~Eo#I(I4iBOoylMyg-#Hn+ zBW$aQ=!HkohSp#w{0RL7yY$`gjn@u+?pn0Lk?05~#`0~^z32eGMhBMjy%5>_=n2{I zy=3?r9Z7)|E40LG4UZflA~x(e?iauGnfkt>JFyKG{3v|M^g(yQKiCqh?hTO{ zg|3}@us1%9*W+0nf&)Je@BgjX)BRs@U$}55x?K*T4K>>zMwUcFx*@tB4duz``Dl($ z!hMC&2-QKS;1+b`N%V);m(a!cH7=q3ME+01N8u{Wp2mUkSw>U zj#NZD&?e@)p$&~j*Un@#0(YaKUmnZfL3h&!=x!@&<@Nx7|^ccE!PGU36JQz;6*696%Z~~4%+xZHu|EGiOe;+(gfvY(Gp)i8N=z}Gr z7118oMmu~CrQ}gC+If%7Hzor zSE1(((0p&SqFbYr(Q{x1+L2{wg)gJ`U%;AJ{OfR(cS7&K89hm7p%G8MO2RpL9qr)` zbOgJjU!e{EhMxK7u`M<@8h+@UgbtwaHzD*Durc|eXatr<*P#u+kKTUAHud7gG0#ALl@O4G^Ev!hY|G0hscjcJN_>kp$b1{BwoZJ zXvlM(2+x;8?;C{{NALzdFhDQ)qY?I-(i42Tx&3-28KROa6mKsN^r9!VYLd zx1cBDedveC1~lZ^PKK9H9kkx*I1qorWNQ+gPK94KJ%AI)e}IOl)vw`1oPtK?E41MP zzs22x)5y2OocL}m{}^3E2hb6pz>BfK@4=GjBCYs){Qhr4fe&=S%AA0M;|=$n4&^JN zucM3V19VD`qHnQMXTpKg6^+Db^aJKzv;!}qi+dls_`X0paQsX%+>rT4D5#D;&=GB5 zY|O8U*FVFnDE|!~!Ipo9h<%Divh!aVss9tZIp~OcoelL4#EZz^i6wD5+Rm~h30LuZ z=mUwrLr-%?^P?la6zzFU^Z;rR%dbPX@9pUG_oDaBL#J#R8lnBz3Ny}yU%|A)O!CPN zB>d{_g1PWUEQsTxv#=QXCFqyYYiL97p&k1eZSZ?E#D8LM{1->36M^$##M}N2Q+Wiv z?-V}n{{NH2ObX^-$VmM?-6H>m{hgcs`I@Ybt#A-}mOqJ4<5p~s*QI5qLjMBxC4T~) z+cxQ$sow_-LeGQy(C5F#m+=C2b^ou-$V`1|okLHyOEbfb1JH^lql@z~bnae??u^%u zMHAUFQ;V)7I=8Kn6D~0leGN~G`KQtPHe%}E|LieA!I9|C=r;QYUB#8MXQo2dCE5$^ zSihK`h*mfiT?-G!@+Z*yR-os?Tk-lybPCU7>c9V)?V`-oTwa1!R2H41%h9=PhJN)f zh}R!Sx7kW`@$NwHzkn{PY&kMhYb7UoVwOPHRA(%WgU~g1SB}hN>UXw_D9A&>YAl3X z(35L_^a8r=s$QI#`pM`H^li5ctK+ZO2}|Y7O#L?PMzo=3xk5w+pd%iMMtU4N(0g+6 z-#@nJk5VukpFl&Hc}bYF{OF>ohmAOxdZIs?J&-&23R>X-Y=A$YAFr3?$xOV0*W+X? zk~g%o03Rd22<=dvWWF#*P0^0@jSh<5fZjMJ<|kqo@>9|6_W`;+kD>?AIW%(3@`ouJ zf##>9=fEnoqhH~zm@Hf%Gxf)8v#>h_w-n4w{eL*Vh0l_&RVXuc;CzOz{ckezXHiqw8=T`S;QLCzlExy&JuMJ{qB?WBCqr`|XSQ?=V04-!bU} znU`gzep^)(UF})uK5mKjxLtGz8j&ezsP9J?=ObuGmZ5LCXVG1-3cdd{+D@W$X6m=# z1+fp=X{Fi!_VfS+o^*esb9Px)n5(jAc@wmv!RTTdgGOWq`gy(tZD0pB!~^JadCP?J zp?>r_^uBp$eap)vL+DpiV8dI{gJ^raaUZ(4j-ewxAI(-aRFD_#P)T&;mtz%dj!x-~ zXuY?i?}W){!_S}tSeqna$lpVI_8sQNv*-x2mkYa~8oIa!U`w2Z?&FIlB zgGT7%SpH+o|Bc+AOcbaXLQxX^0I7>s+ybrW%9!sT^CQp-??4-T2s`5vwBz4L|3>S% zq*9oIVz_~PDKzw-V(Q=jo*?0NyQFe>pb1)WhnVjX9TXjno`iRx9a$L5S4ZDO=lXqg z0KdlaM3qo)Zgk3uVovveV-ohX9XjVdunta)zJPASL)ZrYL_65HYGz^uwnZyEj^3BE zS~z+uqI2I5+v5Xhhxen4@+VCF{ohk0?7%;0XfCcEERBxfa&(bi5zDVf@1GQ%g@*o- zn13E!E9-GIeiW}asS!GO723|o8ti{ZlBB>M-H(oZE?T|~t$5e}b#)HVawT0GK1uq< zwr$(CZQHgxwryJz+fF97F~KC0OpKXilKjtm&hCHR_3f3)Q?+ZW>Y#D^_Jz8G-7~&} zx=MVRJ-g^ob_t<&APdwDr~=f^Ood6|HmE$;pf1;2nYsSed4xg