diff --git a/CMakeLists.txt b/CMakeLists.txt index e2afabd6a..3e7e816bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -271,6 +271,8 @@ set (wsjt_qt_CXXSRCS item_delegates/CallsignDelegate.cpp item_delegates/MaidenheadLocatorDelegate.cpp models/CabrilloLog.cpp + logbook/AD1CCty.cpp + logbook/WorkedBefore.cpp ) set (wsjt_qtmm_CXXSRCS @@ -288,8 +290,6 @@ set (jt9_CXXSRCS set (wsjtx_CXXSRCS logbook/logbook.cpp - logbook/WorkedBefore.cpp - logbook/AD1CCty.cpp psk_reporter.cpp Modulator.cpp Detector.cpp @@ -322,14 +322,12 @@ set (wsjtx_CXXSRCS set (wsjt_CXXSRCS lib/crc10.cpp - lib/crc12.cpp lib/crc13.cpp lib/crc14.cpp ) # deal with a GCC v6 UB error message set_source_files_properties ( lib/crc10.cpp - lib/crc12.cpp lib/crc13.cpp lib/crc14.cpp PROPERTIES COMPILE_FLAGS -fpermissive) @@ -384,13 +382,11 @@ set (wsjt_FSRCS lib/ft8/baseline.f90 lib/bpdecode40.f90 lib/bpdecode128_90.f90 - lib/ft8/bpdecode174.f90 lib/ft8/bpdecode174_91.f90 lib/baddata.f90 lib/calibrate.f90 lib/ccf2.f90 lib/ccf65.f90 - lib/ft8/chkcrc12a.f90 lib/ft8/chkcrc13a.f90 lib/ft8/chkcrc14a.f90 lib/chkcall.f90 @@ -508,7 +504,6 @@ set (wsjt_FSRCS lib/msk144sim.f90 lib/mskrtd.f90 lib/77bit/my_hash.f90 - lib/ft8/osd174.f90 lib/wsprd/osdwspr.f90 lib/ft8/osd174_91.f90 lib/pctile.f90 diff --git a/Configuration.cpp b/Configuration.cpp index bf57206b2..cb0566c10 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -182,6 +182,7 @@ #include "validators/CallsignValidator.hpp" #include "LotWUsers.hpp" #include "models/DecodeHighlightingModel.hpp" +#include "logbook/logbook.h" #include "ui_Configuration.h" #include "moc_Configuration.cpp" @@ -199,16 +200,18 @@ namespace QRegularExpression RTTY_roundup_exchange_re { R"( ( - AL|AK|AZ|AR|CA|CO|CT|DE|FL|GA # states - |HI|ID|IL|IN|IA|KS|KY|LA|ME|MD + AL|AZ|AR|CA|CO|CT|DE|FL|GA # 48 contiguous states + |ID|IL|IN|IA|KS|KY|LA|ME|MD |MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ |NM|NY|NC|ND|OH|OK|OR|PA|RI|SC |SD|TN|TX|UT|VT|VA|WA|WV|WI|WY |NB|NS|QC|ON|MB|SK|AB|BC|NWT|NF # VE provinces - |LB|NU|YT|PEI|DC + |LB|NU|YT|PEI + |DC # District of Columbia |DX # anyone else ) )", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption}; + QRegularExpression field_day_exchange_re { R"( ( @@ -216,7 +219,7 @@ namespace |[0-2]\d |3[0-2] ) - [A-F]\ # class and space + [A-F]\ * # class and optional space ( AB|AK|AL|AR|AZ|BC|CO|CT|DE|EB # ARRL/RAC section |EMA|ENY|EPA|EWA|GA|GTA|IA|ID @@ -395,6 +398,7 @@ public: , QNetworkAccessManager * network_manager , QDir const& temp_directory , QSettings * settings + , LogBook * logbook , QWidget * parent); ~impl (); @@ -480,11 +484,14 @@ private: Q_SLOT void handle_transceiver_update (TransceiverState const&, unsigned sequence_number); Q_SLOT void handle_transceiver_failure (QString const& reason); Q_SLOT void on_reset_highlighting_to_defaults_push_button_clicked (bool); + Q_SLOT void on_rescan_log_push_button_clicked (bool); Q_SLOT void on_LotW_CSV_fetch_push_button_clicked (bool); Q_SLOT void on_cbx2ToneSpacing_clicked(bool); Q_SLOT void on_cbx4ToneSpacing_clicked(bool); Q_SLOT void on_prompt_to_log_check_box_clicked(bool); Q_SLOT void on_cbAutoLog_clicked(bool); + Q_SLOT void on_Field_Day_Exchange_textEdited (QString const&); + Q_SLOT void on_RTTY_Exchange_textEdited (QString const&); // typenames used as arguments must match registered type names :( Q_SIGNAL void start_transceiver (unsigned seqeunce_number) const; @@ -502,6 +509,7 @@ private: QNetworkAccessManager * network_manager_; QSettings * settings_; + LogBook * logbook_; QDir doc_dir_; QDir data_dir_; @@ -638,8 +646,8 @@ private: // delegate to implementation class Configuration::Configuration (QNetworkAccessManager * network_manager, QDir const& temp_directory, - QSettings * settings, QWidget * parent) - : m_ {this, network_manager, temp_directory, settings, parent} + QSettings * settings, LogBook * logbook, QWidget * parent) + : m_ {this, network_manager, temp_directory, settings, logbook, parent} { } @@ -905,13 +913,15 @@ namespace } Configuration::impl::impl (Configuration * self, QNetworkAccessManager * network_manager - , QDir const& temp_directory, QSettings * settings, QWidget * parent) + , QDir const& temp_directory, QSettings * settings, LogBook * logbook + , QWidget * parent) : QDialog {parent} , self_ {self} , transceiver_thread_ {nullptr} , ui_ {new Ui::configuration_dialog} , network_manager_ {network_manager} , settings_ {settings} + , logbook_ {logbook} , doc_dir_ {doc_path ()} , data_dir_ {data_path ()} , temp_dir_ {temp_directory} @@ -1005,8 +1015,8 @@ Configuration::impl::impl (Configuration * self, QNetworkAccessManager * network ui_->callsign_line_edit->setValidator (new CallsignValidator {this}); ui_->grid_line_edit->setValidator (new MaidenheadLocatorValidator {this}); ui_->add_macro_line_edit->setValidator (new QRegularExpressionValidator {message_alphabet, this}); - ui_->Field_Day_Exchange->setValidator(new QRegularExpressionValidator {field_day_exchange_re}); - ui_->RTTY_Exchange->setValidator(new QRegularExpressionValidator {RTTY_roundup_exchange_re}); + ui_->Field_Day_Exchange->setValidator (new QRegularExpressionValidator {field_day_exchange_re, this}); + ui_->RTTY_Exchange->setValidator (new QRegularExpressionValidator {RTTY_roundup_exchange_re, this}); ui_->udp_server_port_spin_box->setMinimum (1); ui_->udp_server_port_spin_box->setMaximum (std::numeric_limits::max ()); @@ -1436,7 +1446,9 @@ void Configuration::impl::read_settings () stations_.station_list (settings_->value ("stations").value ()); - decode_highlighing_model_.items (settings_->value ("DecodeHighlighting", QVariant::fromValue (DecodeHighlightingModel::default_items ())).value ()); + auto highlight_items = settings_->value ("DecodeHighlighting", QVariant::fromValue (DecodeHighlightingModel::default_items ())).value (); + if (!highlight_items.size ()) highlight_items = DecodeHighlightingModel::default_items (); + decode_highlighing_model_.items (highlight_items); highlight_by_mode_ = settings_->value("HighlightByMode", false).toBool (); LotW_days_since_upload_ = settings_->value ("LotWDaysSinceLastUpload", 365).toInt (); lotw_users_.set_age_constraint (LotW_days_since_upload_); @@ -2126,6 +2138,11 @@ void Configuration::impl::on_reset_highlighting_to_defaults_push_button_clicked } } +void Configuration::impl::on_rescan_log_push_button_clicked (bool /*clicked*/) +{ + if (logbook_) logbook_->rescan (); +} + void Configuration::impl::on_LotW_CSV_fetch_push_button_clicked (bool /*checked*/) { lotw_users_.load (ui_->LotW_CSV_URL_line_edit->text (), true); @@ -2496,6 +2513,22 @@ void Configuration::impl::on_cbx4ToneSpacing_clicked(bool b) if(b) ui_->cbx2ToneSpacing->setChecked(false); } +void Configuration::impl::on_Field_Day_Exchange_textEdited (QString const& exchange) +{ + auto text = exchange.simplified ().toUpper (); + auto class_pos = text.indexOf (QRegularExpression {R"([A-H])"}); + if (class_pos >= 0 && text.size () >= class_pos + 2 && text.at (class_pos + 1) != QChar {' '}) + { + text.insert (class_pos + 1, QChar {' '}); + } + ui_->Field_Day_Exchange->setText (text); +} + +void Configuration::impl::on_RTTY_Exchange_textEdited (QString const& exchange) +{ + ui_->RTTY_Exchange->setText (exchange.toUpper ()); +} + bool Configuration::impl::have_rig () { if (!open_rig ()) diff --git a/Configuration.hpp b/Configuration.hpp index 1a6dcc681..3f76c1b95 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -24,6 +24,7 @@ class QStringListModel; class QHostAddress; class LotWUsers; class DecodeHighlightingModel; +class LogBook; // // Class Configuration @@ -72,7 +73,7 @@ public: Q_ENUM (Type2MsgGen) explicit Configuration (QNetworkAccessManager *, QDir const& temp_directory, QSettings * settings, - QWidget * parent = nullptr); + LogBook * logbook, QWidget * parent = nullptr); ~Configuration (); void select_tab (int); diff --git a/Configuration.ui b/Configuration.ui index 7a3ec96be..6b04fd353 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -16,9 +16,6 @@ - - Select tab to change configuration parameters. - 0 @@ -2197,7 +2194,7 @@ Right click for insert and delete options. true - <html><head/><body><p>Enable or disable using the check boxes and right-click an item to change the foreground color, background color, or reset the item to default values. Drag and drop the items to change their priority, higher in the list is higher in priority.</p></body></html> + <html><head/><body><p>Enable or disable using the check boxes and right-click an item to change or unset the foreground color, background color, or reset the item to default values. Drag and drop the items to change their priority, higher in the list is higher in priority.</p><p>Note that each foreground or background color may be either set or unset, unset means that it is not allocated for that item's type and lower priority items may apply.</p></body></html> QAbstractScrollArea::AdjustToContents @@ -2233,8 +2230,8 @@ Right click for insert and delete options. - - + + <html><head/><body><p>Check to indicate new DXCC entities, grid squares, and callsigns per mode.</p></body></html> @@ -2244,6 +2241,29 @@ Right click for insert and delete options. + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + <html><head/><body><p>Click to scan the wsjtx_log.adi ADIF file again for worked before information</p></body></html> + + + Rescan ADIF Log + + + @@ -2436,7 +2456,140 @@ Right click for insert and delete options. false - + + + + + <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html> + + + Hound + + + true + + + special_op_activity_button_group + + + + + + + + 0 + 0 + + + + <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html> + + + NA VHF Contest + + + special_op_activity_button_group + + + + + + + <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html> + + + Fox + + + false + + + special_op_activity_button_group + + + + + + + + 0 + 0 + + + + <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html> + + + EU VHF Contest + + + special_op_activity_button_group + + + + + + + + + <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> + + + ARRL RTTY Roundup + + + special_op_activity_button_group + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + RTTY RU Exch: + + + RTTY_Exchange + + + + + + + + 70 + 0 + + + + <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> + + + NJ + + + Qt::AlignCenter + + + + + + + @@ -2483,7 +2636,7 @@ Right click for insert and delete options. - Exch: + FD Exch: Field_Day_Exchange @@ -2513,152 +2666,6 @@ Right click for insert and delete options. - - - - - - <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> - - - ARRL RTTY Roundup - - - special_op_activity_button_group - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Exch: - - - RTTY_Exchange - - - - - - - - 70 - 0 - - - - <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> - - - NJ - - - Qt::AlignCenter - - - - - - - - - - - <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html> - - - Fox - - - false - - - special_op_activity_button_group - - - - - - - - 0 - 0 - - - - <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html> - - - EU VHF Contest - - - special_op_activity_button_group - - - - - - - - 0 - 0 - - - - <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html> - - - NA VHF Contest - - - special_op_activity_button_group - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html> - - - Hound - - - true - - - special_op_activity_button_group - - - @@ -2924,7 +2931,6 @@ Right click for insert and delete options. stations_table_view highlighting_list_view reset_highlighting_to_defaults_push_button - highlight_by_mode_check_box LotW_CSV_URL_line_edit LotW_CSV_fetch_push_button LotW_days_since_upload_spin_box @@ -3012,13 +3018,13 @@ Right click for insert and delete options. - - - - - - + + + + + + diff --git a/MessageClient.cpp b/MessageClient.cpp index 80ceb04e6..6ceca2dce 100644 --- a/MessageClient.cpp +++ b/MessageClient.cpp @@ -405,7 +405,7 @@ void MessageClient::status_update (Frequency f, QString const& mode, QString con , qint32 rx_df, qint32 tx_df, QString const& de_call , QString const& de_grid, QString const& dx_grid , bool watchdog_timeout, QString const& sub_mode - , bool fast_mode) + , bool fast_mode, quint8 special_op_mode) { if (m_->server_port_ && !m_->server_string_.isEmpty ()) { @@ -414,7 +414,7 @@ void MessageClient::status_update (Frequency f, QString const& mode, QString con out << f << mode.toUtf8 () << dx_call.toUtf8 () << report.toUtf8 () << tx_mode.toUtf8 () << tx_enabled << transmitting << decoding << rx_df << tx_df << de_call.toUtf8 () << de_grid.toUtf8 () << dx_grid.toUtf8 () << watchdog_timeout << sub_mode.toUtf8 () - << fast_mode; + << fast_mode << special_op_mode; m_->send_message (out, message); } } @@ -462,7 +462,8 @@ void MessageClient::qso_logged (QDateTime time_off, QString const& dx_call, QStr , QString const& report_received, QString const& tx_power , QString const& comments, QString const& name, QDateTime time_on , QString const& operator_call, QString const& my_call - , QString const& my_grid) + , QString const& my_grid, QString const& exchange_sent + , QString const& exchange_rcvd) { if (m_->server_port_ && !m_->server_string_.isEmpty ()) { @@ -470,7 +471,8 @@ void MessageClient::qso_logged (QDateTime time_off, QString const& dx_call, QStr NetworkMessage::Builder out {&message, NetworkMessage::QSOLogged, m_->id_, m_->schema_}; out << time_off << dx_call.toUtf8 () << dx_grid.toUtf8 () << dial_frequency << mode.toUtf8 () << report_sent.toUtf8 () << report_received.toUtf8 () << tx_power.toUtf8 () << comments.toUtf8 () - << name.toUtf8 () << time_on << operator_call.toUtf8 () << my_call.toUtf8 () << my_grid.toUtf8 (); + << name.toUtf8 () << time_on << operator_call.toUtf8 () << my_call.toUtf8 () << my_grid.toUtf8 () + << exchange_sent.toUtf8 () << exchange_rcvd.toUtf8 (); m_->send_message (out, message); } } diff --git a/MessageClient.hpp b/MessageClient.hpp index e1208f9c8..0deb1a49d 100644 --- a/MessageClient.hpp +++ b/MessageClient.hpp @@ -52,7 +52,7 @@ public: , QString const& tx_mode, bool tx_enabled, bool transmitting, bool decoding , qint32 rx_df, qint32 tx_df, QString const& de_call, QString const& de_grid , QString const& dx_grid, bool watchdog_timeout, QString const& sub_mode - , bool fast_mode); + , bool fast_mode, quint8 special_op_mode); Q_SLOT void decode (bool is_new, QTime time, qint32 snr, float delta_time, quint32 delta_frequency , QString const& mode, QString const& message, bool low_confidence , bool off_air); @@ -64,7 +64,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd); // ADIF_record argument should be valid ADIF excluding any end // of record marker diff --git a/MessageServer.cpp b/MessageServer.cpp index b5a719e74..609d24a9a 100644 --- a/MessageServer.cpp +++ b/MessageServer.cpp @@ -216,9 +216,10 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s bool watchdog_timeout {false}; QByteArray sub_mode; bool fast_mode {false}; + quint8 special_op_mode {0}; in >> f >> mode >> dx_call >> report >> tx_mode >> tx_enabled >> transmitting >> decoding >> rx_df >> tx_df >> de_call >> de_grid >> dx_grid >> watchdog_timeout >> sub_mode - >> fast_mode; + >> fast_mode >> special_op_mode; if (check_status (in) != Fail) { Q_EMIT self_->status_update (id, f, QString::fromUtf8 (mode), QString::fromUtf8 (dx_call) @@ -226,7 +227,8 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s , tx_enabled, transmitting, decoding, rx_df, tx_df , QString::fromUtf8 (de_call), QString::fromUtf8 (de_grid) , QString::fromUtf8 (dx_grid), watchdog_timeout - , QString::fromUtf8 (sub_mode), fast_mode); + , QString::fromUtf8 (sub_mode), fast_mode + , special_op_mode); } } break; @@ -294,8 +296,11 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s QByteArray operator_call; QByteArray my_call; QByteArray my_grid; + QByteArray exchange_sent; + QByteArray exchange_rcvd; in >> time_off >> dx_call >> dx_grid >> dial_frequency >> mode >> report_sent >> report_received - >> tx_power >> comments >> name >> time_on >> operator_call >> my_call >> my_grid; + >> tx_power >> comments >> name >> time_on >> operator_call >> my_call >> my_grid + >> exchange_sent >> exchange_rcvd; if (check_status (in) != Fail) { Q_EMIT self_->qso_logged (id, time_off, QString::fromUtf8 (dx_call), QString::fromUtf8 (dx_grid) @@ -303,7 +308,8 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s , QString::fromUtf8 (report_received), QString::fromUtf8 (tx_power) , QString::fromUtf8 (comments), QString::fromUtf8 (name), time_on , QString::fromUtf8 (operator_call), QString::fromUtf8 (my_call) - , QString::fromUtf8 (my_grid)); + , QString::fromUtf8 (my_grid), QString::fromUtf8 (exchange_sent) + , QString::fromUtf8 (exchange_rcvd)); } } break; diff --git a/MessageServer.hpp b/MessageServer.hpp index bb7501529..4a6022bfd 100644 --- a/MessageServer.hpp +++ b/MessageServer.hpp @@ -76,7 +76,8 @@ public: , QString const& report, QString const& tx_mode, bool tx_enabled , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df , QString const& de_call, QString const& de_grid, QString const& dx_grid - , bool watchdog_timeout, QString const& sub_mode, bool fast_mode); + , bool watchdog_timeout, QString const& sub_mode, bool fast_mode + , quint8 special_op_mode); Q_SIGNAL void client_closed (QString const& id); Q_SIGNAL void decode (bool is_new, QString const& id, QTime time, qint32 snr, float delta_time , quint32 delta_frequency, QString const& mode, QString const& message @@ -88,7 +89,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd); Q_SIGNAL void clear_decodes (QString const& id); Q_SIGNAL void logged_ADIF (QString const& id, QByteArray const& ADIF); diff --git a/NetworkMessage.hpp b/NetworkMessage.hpp index ffd0ff288..a4d9ba0d5 100644 --- a/NetworkMessage.hpp +++ b/NetworkMessage.hpp @@ -124,6 +124,7 @@ * Tx Watchdog bool * Sub-mode utf8 * Fast mode bool + * Special operation mode quint8 * * WSJT-X sends this status message when various internal state * changes to allow the server to track the relevant state of each @@ -142,10 +143,22 @@ * At the start and end of decoding, * When the Rx DF changes, * When the Tx DF changes, - * When the DE call or grid changes (currently when settings are exited), + * When settings are exited, * When the DX call or grid changes, * When the Tx watchdog is set or reset. * + * The Special operation mode is an enumeration that indicates the + * setting selected in the WSJT-X "Settings->Advanced->Special + * operating activity" panel. The values are as follows: + * + * 0 -> NONE + * 1 -> NA VHF + * 2 -> EU VHF + * 3 -> FIELD DAY + * 4 -> RTTY RU + * 5 -> FOX + * 6 -> HOUND + * * * Decode Out 2 quint32 * Id (unique key) utf8 @@ -240,6 +253,8 @@ * Operator call utf8 * My call utf8 * My grid utf8 + * Exchange sent utf8 + * Exchange received utf8 * * The QSO logged message is sent to the server(s) when the * WSJT-X user accepts the "Log QSO" dialog by clicking the "OK" diff --git a/Radio.cpp b/Radio.cpp index c6175634e..3940815f4 100644 --- a/Radio.cpp +++ b/Radio.cpp @@ -136,12 +136,12 @@ namespace Radio // the full call if no valid prefix (or prefix as a suffix) is specified QString effective_prefix (QString callsign) { - auto prefix = callsign.toUpper (); + auto prefix = callsign; auto slash_pos = callsign.indexOf ('/'); if (slash_pos >= 0) { auto right_size = callsign.size () - slash_pos - 1; - if (right_size >= slash_pos) // naive call is longer than + if (right_size >= slash_pos) // native call is longer than // prefix/suffix algorithm { prefix = callsign.left (slash_pos); @@ -157,6 +157,6 @@ namespace Radio } } } - return prefix; + return prefix.toUpper (); } } diff --git a/Release_Notes.txt b/Release_Notes.txt index 9e8f8041e..b318eb3cb 100644 --- a/Release_Notes.txt +++ b/Release_Notes.txt @@ -12,6 +12,64 @@ Copyright 2001 - 2018 by Joe Taylor, K1JT. + Release: WSJT-X 2.0 + December 10, 2018 + ----------------------- + +WSJT-X 2.0 is a major update that introduces new protocols for FT8 and +MSK144. The new protocols become the world-wide standards on December +10, 2018. + +WSJT-X 2.0 cannot communicate in these modes with other stations using +WSJT-X v1.9.1 or earlier. + +Please help by urging everyone to upgrade no later than January 1, 2019. + +New features since WSJT-X v1.9.1: + +1. Compound and nonstandard callsigns are automatically recognized and +handled using new message formats. + +2. The new FT8 protocol provides optimized message formats for North +American VHF contests, European VHF contests, ARRL Field Day, and ARRL +RTTY Roundup. Similarly, the new MSK144 protocol provides optimized +message formats for North American VHF and European VHF contests. +Full support is provided for "/R" and "/P" calls in the relevant +contests. + +3. The new protocols provide nearly equal (or better) sensitivity +compared to the old ones, and lower false decode rates. + +4. New logging features are provided for contesting and for "Fox" +(DXpedition) mode. Logging is optionally integrated with N1MM Logger+ +and WriteLog. + +5. Color highlighting of decoded messages provides worked-before +status for callsigns, grid locators, DXCC entities, continents, CQ +Zones, and ITU zones on a “by band” and “by mode” basis, and for +stations that have uploaded their logs to Logbook of the World (LoTW) +within a specified time interval. + +6. The WSPR decoder now achieves decodes down to S/N = -31 dB. For +the particular benefit of LF/MF users, an option "No own call decodes" +has been added. + +7. The UDP messages sent to companion programs have been expanded and +improved. + +Some details of changes since WSJT-X-rc5 include the following: + + - Initial load of ADIF log in background + - Correct the UTC displayed in Fox/Contest log + - Faster entry and correct scrolling for Fox/Contest log + - Add contest exchanges and contest type to UDP logged QSO message + - Fix a bug that suppressed decodes with negative DT. + - AK and HI are DXCCs, not states, for RTTY Roundup + - Fix improper truncation of some non-FT8 messages in ALL.TXT + - Various minor bug fixes and code cleanup + - Update the WSJT-X User Guide to v2.0 (more to come...) + - Update cty.dat + Release: WSJT-X 2.0-rc5 November 26, 2018 ----------------------- diff --git a/UDPExamples/BeaconsModel.cpp b/UDPExamples/BeaconsModel.cpp index 1302dc05e..8955ea26a 100644 --- a/UDPExamples/BeaconsModel.cpp +++ b/UDPExamples/BeaconsModel.cpp @@ -72,7 +72,7 @@ namespace } BeaconsModel::BeaconsModel (QObject * parent) - : QStandardItemModel {0, sizeof (headings) / sizeof (headings[0]), parent} + : QStandardItemModel {0, sizeof headings / sizeof headings[0], parent} { int column {0}; for (auto const& heading : headings) diff --git a/UDPExamples/ClientWidget.cpp b/UDPExamples/ClientWidget.cpp index 10361d55d..7423f6d81 100644 --- a/UDPExamples/ClientWidget.cpp +++ b/UDPExamples/ClientWidget.cpp @@ -244,15 +244,29 @@ void ClientWidget::update_status (QString const& id, Frequency f, QString const& , QString const& report, QString const& tx_mode, bool tx_enabled , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df , QString const& de_call, QString const& de_grid, QString const& dx_grid - , bool watchdog_timeout, QString const& sub_mode, bool fast_mode) + , bool watchdog_timeout, QString const& sub_mode, bool fast_mode + , quint8 special_op_mode) { if (id == id_) { fast_mode_ = fast_mode; decodes_proxy_model_.de_call (de_call); decodes_proxy_model_.rx_df (rx_df); - de_label_->setText (de_call.size () >= 0 ? QString {"DE: %1%2"}.arg (de_call) - .arg (de_grid.size () ? '(' + de_grid + ')' : QString {}) : QString {}); + QString special; + switch (special_op_mode) + { + case 1: special = "[NA VHF]"; break; + case 2: special = "[EU VHF]"; break; + case 3: special = "[FD]"; break; + case 4: special = "[RTTY RU]"; break; + case 5: special = "[Fox]"; break; + case 6: special = "[Hound]"; break; + default: break; + } + de_label_->setText (de_call.size () >= 0 ? QString {"DE: %1%2%3"}.arg (de_call) + .arg (de_grid.size () ? '(' + de_grid + ')' : QString {}) + .arg (special) + : QString {}); mode_label_->setText (QString {"Mode: %1%2%3%4"} .arg (mode) .arg (sub_mode) diff --git a/UDPExamples/ClientWidget.hpp b/UDPExamples/ClientWidget.hpp index 29059bfa5..0459ad036 100644 --- a/UDPExamples/ClientWidget.hpp +++ b/UDPExamples/ClientWidget.hpp @@ -32,7 +32,8 @@ public: , QString const& report, QString const& tx_mode, bool tx_enabled , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df , QString const& de_call, QString const& de_grid, QString const& dx_grid - , bool watchdog_timeout, QString const& sub_mode, bool fast_mode); + , bool watchdog_timeout, QString const& sub_mode, bool fast_mode + , quint8 special_op_mode); Q_SLOT void decode_added (bool is_new, QString const& client_id, QTime, qint32 snr , float delta_time, quint32 delta_frequency, QString const& mode , QString const& message, bool low_confidence, bool off_air); diff --git a/UDPExamples/DecodesModel.cpp b/UDPExamples/DecodesModel.cpp index 5847e49ff..88b071c11 100644 --- a/UDPExamples/DecodesModel.cpp +++ b/UDPExamples/DecodesModel.cpp @@ -75,7 +75,7 @@ namespace } DecodesModel::DecodesModel (QObject * parent) - : QStandardItemModel {0, sizeof (headings) / sizeof (headings[0]), parent} + : QStandardItemModel {0, sizeof headings / sizeof headings[0], parent} { int column {0}; for (auto const& heading : headings) diff --git a/UDPExamples/MessageAggregatorMainWindow.cpp b/UDPExamples/MessageAggregatorMainWindow.cpp index 1d1dce5d6..0c2c51c30 100644 --- a/UDPExamples/MessageAggregatorMainWindow.cpp +++ b/UDPExamples/MessageAggregatorMainWindow.cpp @@ -25,12 +25,14 @@ namespace QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Operator"), QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "My Call"), QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "My Grid"), + QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Exchange Sent"), + QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Exchange Rcvd"), QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Comments"), }; } MessageAggregatorMainWindow::MessageAggregatorMainWindow () - : log_ {new QStandardItemModel {0, 14, this}} + : log_ {new QStandardItemModel {0, sizeof headings / sizeof headings[0], this}} , decodes_model_ {new DecodesModel {this}} , beacons_model_ {new BeaconsModel {this}} , server_ {new MessageServer {this}} @@ -209,7 +211,8 @@ void MessageAggregatorMainWindow::log_qso (QString const& /*id*/, QDateTime time , QString const& report_sent, QString const& report_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid) + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd) { QList row; row << new QStandardItem {time_on.toString ("dd-MMM-yyyy hh:mm:ss")} @@ -225,6 +228,8 @@ void MessageAggregatorMainWindow::log_qso (QString const& /*id*/, QDateTime time << new QStandardItem {operator_call} << new QStandardItem {my_call} << new QStandardItem {my_grid} + << new QStandardItem {exchange_sent} + << new QStandardItem {exchange_rcvd} << new QStandardItem {comments}; log_->appendRow (row); log_table_view_->resizeColumnsToContents (); diff --git a/UDPExamples/MessageAggregatorMainWindow.hpp b/UDPExamples/MessageAggregatorMainWindow.hpp index b699bee93..29f762d3d 100644 --- a/UDPExamples/MessageAggregatorMainWindow.hpp +++ b/UDPExamples/MessageAggregatorMainWindow.hpp @@ -32,7 +32,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd); private: void add_client (QString const& id, QString const& version, QString const& revision); diff --git a/UDPExamples/UDPDaemon.cpp b/UDPExamples/UDPDaemon.cpp index b75a8adec..0ee202dc7 100644 --- a/UDPExamples/UDPDaemon.cpp +++ b/UDPExamples/UDPDaemon.cpp @@ -50,7 +50,8 @@ public: , QString const& /*report*/, QString const& /*tx_mode*/, bool /*tx_enabled*/ , bool /*transmitting*/, bool /*decoding*/, qint32 /*rx_df*/, qint32 /*tx_df*/ , QString const& /*de_call*/, QString const& /*de_grid*/, QString const& /*dx_grid*/ - , bool /* watchdog_timeout */, QString const& sub_mode, bool /*fast_mode*/) + , bool /* watchdog_timeout */, QString const& sub_mode, bool /*fast_mode*/ + , quint8 /*special_op_mode*/) { if (id == id_) { @@ -99,7 +100,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power , QString const& comments, QString const& name, QDateTime time_on - , QString const& operator_call, QString const& my_call, QString const& my_grid) + , QString const& operator_call, QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd) { if (client_id == id_) { @@ -107,7 +109,8 @@ public: << "freq:" << dial_frequency << "mode:" << mode << "rpt_sent:" << report_sent << "rpt_rcvd:" << report_received << "Tx_pwr:" << tx_power << "comments:" << comments << "name:" << name << "operator_call:" << operator_call << "my_call:" << my_call - << "my_grid:" << my_grid; + << "my_grid:" << my_grid << "exchange_sent:" << exchange_sent + << "exchange_rcvd:" << exchange_rcvd; std::cout << QByteArray {80, '-'}.data () << '\n'; std::cout << tr ("%1: Logged %2 grid: %3 power: %4 sent: %5 recd: %6 freq: %7 time_off: %8 op: %9 my_call: %10 my_grid: %11") .arg (id_).arg (dx_call).arg (dx_grid).arg (tx_power).arg (report_sent).arg (report_received) diff --git a/Versions.cmake b/Versions.cmake index 3ba5db895..03d068716 100644 --- a/Versions.cmake +++ b/Versions.cmake @@ -2,5 +2,5 @@ set (WSJTX_VERSION_MAJOR 2) set (WSJTX_VERSION_MINOR 0) set (WSJTX_VERSION_PATCH 0) -set (WSJTX_RC 5) # release candidate number, comment out or zero for development versions +set (WSJTX_RC 6) # release candidate number, comment out or zero for development versions set (WSJTX_VERSION_IS_RELEASE 0) # set to 1 for final release build diff --git a/cty.dat b/cty.dat index a03a2a907..62fe68833 100644 --- a/cty.dat +++ b/cty.dat @@ -119,10 +119,10 @@ West Malaysia: 28: 54: AS: 3.95: -102.23: -8.0: 9M2: East Malaysia: 28: 54: OC: 2.68: -113.32: -8.0: 9M6: 9M6,9M8,9W6,9W8,=9M1CSQ,=9M1CSS,=9M2/G3TMA/6,=9M2/PG5M/6,=9M2/R6AF/6,=9M2GCN/6,=9M2MDX/6, =9M4ARD/6,=9M4CBP,=9M4CCB,=9M4CHQ,=9M4CJN,=9M4CMY,=9M4CPB,=9M4CRB,=9M4CSR,=9M4CWS,=9M4GCW,=9M4JSE, - =9M4LHM,=9M4LHS,=9M4LTW,=9M4RSA,=9M4SAB,=9M4SEB,=9M4SHQ,=9M4SJE,=9M4SJO,=9M4SJQ,=9M4SJS,=9M4SJSD, - =9M4SJSL,=9M4SJST,=9M4SJSW,=9M4SJX,=9M4SMO,=9M4SMS,=9M4SMY,=9M4STA,=9M4SWK,=9M50IARU/6, - =9M50IARU/8,=9M50MQ,=9M50MS,=9M51GW,=9M51SB,=9M53QA,=9M57MS,=9M57MW,=9M58MS,=9M58MW,=9M59MS, - =9M59MW,=9M9/7M2VPR,=9M9/CCL,=9W2RCR/6,=9W2VVH/6; + =9M4LHM,=9M4LHS,=9M4LTW,=9M4RSA,=9M4SAB,=9M4SEB,=9M4SHQ,=9M4SJE,=9M4SJO,=9M4SJQ,=9M4SJS,=9M4SJSA, + =9M4SJSB,=9M4SJSD,=9M4SJSL,=9M4SJSP,=9M4SJST,=9M4SJSW,=9M4SJX,=9M4SMO,=9M4SMS,=9M4SMY,=9M4STA, + =9M4SWK,=9M50IARU/6,=9M50IARU/8,=9M50MQ,=9M50MS,=9M51GW,=9M51SB,=9M53QA,=9M57MS,=9M57MW,=9M58MS, + =9M58MW,=9M59MS,=9M59MW,=9M9/7M2VPR,=9M9/CCL,=9W2RCR/6,=9W2VVH/6; Nepal: 22: 42: AS: 27.70: -85.33: -5.75: 9N: 9N; Dem. Rep. of the Congo: 36: 52: AF: -3.12: -23.03: -1.0: 9Q: @@ -518,9 +518,9 @@ Antarctica: 13: 74: SA: -90.00: 0.00: 0.0: CE9: =VP8ADE[73],=VP8ADE/B[73],=VP8DLJ[73],=VP8DPJ[73], =VP8CPG[73], =AT10BP(38)[67],=R1AND/A(38)[67],=VU/R1AND(38)[67],=VU2JBK/AT10(38)[67], - =I0HCJ/KC4(30)[71],=I0QHM/IA0PS(30)[71],=I0QHM/KC4(30)[71],=IA0MZ(30)[71],=IA0PS(30)[71], - =II0AMZS(30)[71],=II0MZ(30)[71],=IK7JGQ/KC4(30)[71],=IR0PS(30)[71],=KC4/I0HCJ(30)[71], - =KC4/I0QHM(30)[71],=KC4/IK7JGQ(30)[71], + =I0HCJ/KC4(30)[71],=I0QHM/IA0PS(30)[71],=I0QHM/KC4(30)[71],=IA0/IZ1KHY(30)[71],=IA0MZ(30)[71], + =IA0PS(30)[71],=II0AMZS(30)[71],=II0MZ(30)[71],=IK7JGQ/KC4(30)[71],=IR0PS(30)[71], + =KC4/I0HCJ(30)[71],=KC4/I0QHM(30)[71],=KC4/IK7JGQ(30)[71], =8J1RL(39)[67],=8J60JARE(39)[67],=JG2MLI/ANT(39)[67],=JH1TOF/ANT(39)[67], =8J1RF(39)[67],=8J1RF/M(39)[67], 3Y[73], @@ -531,11 +531,11 @@ Antarctica: 13: 74: SA: -90.00: 0.00: 0.0: CE9: RI1AN(29)[69],=R1ANB(29)[69],=R1ANT(29)[69],=R7C/ANT(29)[69], =R1ANA(39)[69],=RI1ANA(39)[69], =DP1POL/P(38)[67],=KC4/N2TA(38)[67],=R1/AT10BP(38)[67],=R1AND(38)[67],=R1AND/AT10BP(38)[67], - =R1ANN(38)[67],=RI1AND(38)[67],=RI1ANL(38)[67],=RI1ANM(38)[67],=RI1ANW(38)[67], + =R1ANN(38)[67],=RI1AND(38)[67],=RI1ANL(38)[67],=RI1ANW(38)[67], =R1ANP(39)[69],=RI1ANC/A(39)[69],=RI1ANN(39)[69],=RI1ANP(39)[69],=RI1ANZ(39)[69],=RI63ANT(39)[69], =VU3BPZ/RI1(39)[69], =R1ANH(32)[72], - =RI1ANC(29)[70],=RI1ANC/P(29)[70], + =RI1ANC(29)[70],=RI1ANC/P(29)[70],=RI1ANM(29)[70], =SM/OH2FFP(38)[67], =EM1HO[73],=EM1KCC[73],=EM1KGG[73],=EM1KY[73],=EM1U[73],=EM1U/P[73],=EM1UA[73],=EM1UC[73], =KC4/VE0HSS(32),=VE0HSS/KC4(32), @@ -644,11 +644,11 @@ Eritrea: 37: 48: AF: 15.00: -39.00: -3.0: E3: Palestine: 20: 39: AS: 31.28: -34.27: -2.0: E4: E4; North Cook Islands: 32: 62: OC: -10.02: 161.08: 10.0: E5/n: - =E50W,=E51LYC,=E51M,=E51MAN,=E51MBX,=E51MKW,=E51MQT,=E51PDX,=E51PEN,=E51PT,=E51QMA,=E51QQQ, - =E51TUG,=E51UFF,=E51WWB,=ZK1/AC4LN/N,=ZK1HCC,=ZK1KDN,=ZK1MA,=ZK1NCF,=ZK1NCI,=ZK1NCP,=ZK1NDK, - =ZK1NJC,=ZK1QMA,=ZK1TTG,=ZK1TUG,=ZK1WL, - =E51AMF, - =E51WL[63]; + =E51LYC,=E51QMA,=E51TUG, + =E51AMF,=E51M,=E51MAN,=E51MBX,=E51MKW,=E51MQT,=E51PT,=E51QQQ,=E51UFF,=E51WWB,=ZK1HCC,=ZK1MA, + =ZK1NCF,=ZK1NCI,=ZK1TTG, + =E50W[63],=E51PDX[63],=E51PEN[63],=E51WL[63],=ZK1/AC4LN/N[63],=ZK1KDN[63],=ZK1NCP[63],=ZK1NDK[63], + =ZK1NJC[63],=ZK1QMA[63],=ZK1TUG[63],=ZK1WL[63]; South Cook Islands: 32: 63: OC: -21.90: 157.93: 10.0: E5/s: E5,=ZK1/AC4LN,=ZK1AKF,=ZK1AKX,=ZK1APM,=ZK1ASQ,=ZK1AXU,=ZK1BS,=ZK1CG,=ZK1EAA,=ZK1ETW,=ZK1JD/J, =ZK1KH,=ZK1NDS,=ZK1NFK,=ZK1SDE,=ZK1SSB,=ZK1USA,=ZK1VVV,=ZK1XXC; @@ -658,39 +658,40 @@ Bosnia-Herzegovina: 15: 28: EU: 44.32: -17.57: -1.0: E7: E7,=YU4WU; Spain: 14: 37: EU: 40.37: 4.88: -1.0: EA: AM,AN,AO,EA,EB,EC,ED,EE,EF,EG,EH,=AN92EXPO,=EF6,=EG90IARU, - =AM1TDH/LH,=EA1APV/LH,=EA1BEY/Y,=EA1EEY/L,=EA1EEY/LGT,=EA1EEY/LH,=EA1EK/ZAP,=EA1HLW/YL, - =EA1RCG/CPV,=EA1RCG/SEU,=EA1RCG/YOA,=EA1RCI/CA,=EA1RCI/IA,=EA1RCI/ICA,=EA1RCI/JBN,=EA1RCI/PAZ, - =EA1RCI/PCV,=EA1RCI/RSM,=EA1RCI/YOA,=EA1URL/CVL,=EA1URO/D,=EA5AER/P,=EA6QB/1,=EA8BFH/1,=EA8CZT/1, - =EA8FC/1,=EA8RV/P,=EA9CD/1,=EA9CI/1,=EA9CP/1,=EA9PD/1,=EB1DH/LH,=ED1IRM/LH,=EG1ILW/LH,=EG1LWC/LH, - =EG1LWI/LH,=EG1LWN/LH,=EG1TDH/LH,=EG90IARU/1, + =AM1TDH/LH,=EA1APV/LH,=EA1BEY/Y,=EA1EEY/L,=EA1EEY/LGT,=EA1EEY/LH,=EA1EK/ZAP,=EA1FGS/LH,=EA1HLW/YL, + =EA1RCG/CPV,=EA1RCG/SEU,=EA1RCG/YOA,=EA1RCI/CA,=EA1RCI/ESM,=EA1RCI/IA,=EA1RCI/ICA,=EA1RCI/JBN, + =EA1RCI/PAZ,=EA1RCI/PCV,=EA1RCI/RSM,=EA1RCI/YOA,=EA1URL/CVL,=EA1URO/D,=EA5AER/P,=EA6QB/1, + =EA8BFH/1,=EA8CZT/1,=EA8FC/1,=EA8RV/P,=EA9CD/1,=EA9CI/1,=EA9CP/1,=EA9PD/1,=EB1DH/LH,=ED1IRM/LH, + =EG1ILW/LH,=EG1LWC/LH,=EG1LWI/LH,=EG1LWN/LH,=EG1TDH/LH,=EG90IARU/1, =AM08ATU/H,=AM08CAZ/H,=AM08CYQ/H,=AM08EIE/Z,=AM08FAC/H,=AN08ADE/H,=AO08BQH/Z,=AO08BTM/Z, =AO08CIK/H,=AO08CVV/Z,=AO08CXK/H,=AO08CYL/H,=AO08DI/Z,=AO08EIE/Z,=AO08HV/Z,=AO08ICA/Z,=AO08ID/Z, =AO08KJ/Z,=AO08KV/Z,=AO08OK/H,=AO08PB/Z,=AO08RKO/H,=AO08VK/Z,=AO2016DSS/LH,=EA2/ON7RU/LH, - =EA2CRX/LH,=EA2SPS/LH,=EA2URI/O,=EA6SK/2,=EA9CP/2,=EG90IARU/2, - =EA3ESZ/Z,=EA3EVR/R,=EA3HSD/P,=EA3LD/D,=EA3RCV/PAZ,=EA8TL/3,=EA9CI/3,=EA9CP/3,=EG90IARU/3, + =EA2CRX/LH,=EA2EZ/P,=EA2SPS/LH,=EA2URI/O,=EA6SK/2,=EA9CP/2,=EG90IARU/2, + =EA3ESZ/Z,=EA3EVR/R,=EA3HSD/P,=EA3HZX/P,=EA3LD/D,=EA3RCV/PAZ,=EA8TL/3,=EA9CI/3,=EA9CP/3, + =EG90IARU/3, =EA4AAQ/O,=EA4RCH/CIE,=EA6AFU/4,=EA6RC/4,=EA8BFH/4,=EA8BY/4,=EA9CI/4,=EA9CP/4,=EG8AOP/4, =EG90IARU/4, - =EA5ADM/P,=EA5CC/P,=EA5EQ/N,=EA5FL/LH,=EA5GVT/AVW,=EA5HCC/P,=EA5IKT/P,=EA5KB/LH,=EA5ND/D, + =EA5ADM/P,=EA5CC/P,=EA5EQ/N,=EA5EZ/P,=EA5FL/LH,=EA5GVT/AVW,=EA5HCC/P,=EA5IKT/P,=EA5KB/LH,=EA5ND/D, =EA5RCK/CDI,=EA5RKD/PAZ,=EA5TOM/AVW,=EA5URE/IVA,=EA5URE/P,=EA5URM/C,=EA5URM/F,=EA5URM/G,=EA5URM/H, =EA5URM/I,=EA5URM/L,=EA5URR/PAZ,=EA5URV/CAC,=EA6AKN/5,=EA8BFH/5,=EA8CWF/5,=EA9BLJ/5,=EA9CI/5, =EA9CP/5,=EA9PD/5,=ED5MFP/C,=ED5MFP/G,=ED5MFP/H,=ED5MFP/I,=ED5MFP/K,=ED5MFP/Q,=ED5MFP/R,=ED5MFP/S, =ED5URD/LH,=EG90IARU/5,=EH5FL/LH, - =AO7WRD/MA,=EA5EZ/P,=EA6SK/7,=EA7CFU/U,=EA7FC/FCJ,=EA7HZ/F,=EA7OBH/LH,=EA7URA/GET,=EA7URA/PAZ, - =EA7URA/SG,=EA7URA/YOTA,=EA7URE/PAZ,=EA7URF/PAZ,=EA7URI/MDL,=EA7URJ/CPM,=EA7URL/FSV,=EA7URM/PAZ, - =EA7URP/LAI,=EA9CP/7,=EA9FN/7,=EA9HU,=EA9HU/7,=EA9JS/7,=EA9LZ/7,=EA9PD/7,=EA9QD/7,=EA9UL/7, - =EA9UV/7,=EB9PH/7,=EC7DZZ/LH,=EG90IARU/7; + =AO7WRD/MA,=EA6SK/7,=EA7CFU/U,=EA7FC/FCJ,=EA7HZ/F,=EA7OBH/LH,=EA7URA/GET,=EA7URA/PAZ,=EA7URA/SG, + =EA7URA/YOTA,=EA7URE/PAZ,=EA7URF/PAZ,=EA7URI/MDL,=EA7URJ/CPM,=EA7URL/FSV,=EA7URM/PAZ,=EA7URP/LAI, + =EA9CP/7,=EA9FN/7,=EA9HU,=EA9HU/7,=EA9JS/7,=EA9LZ/7,=EA9PD/7,=EA9QD/7,=EA9UL/7,=EA9UV/7,=EB9PH/7, + =EC7DZZ/LH,=EG90IARU/7; Balearic Islands: 14: 37: EU: 39.60: -2.95: -1.0: EA6: - AM6,AN6,AO6,EA6,EB6,EC6,ED6,EE6,EF6,EG6,EH6,=EA1QE/6,=EA1YO/6,=EA2SG/6,=EA2TW/6,=EA3BT/6, - =EA3CBH/6,=EA3ERT/6,=EA3HSD/6,=EA3HUX/6,=EA4LO/6,=EA5ADM/6,=EA5BB/6,=EA5BK/6,=EA5BTL/6,=EA5EOR/6, - =EA5ER/6,=EA5EZ/6,=EA5FL/P,=EA5HCC/6,=EA5IIG/6,=EA5IKT/6,=EA5RKB/6,=EA6/DJ7AO/LH,=EA6/G0SGB/LH, - =EA6HP/J,=EA6URI/PAZ,=EA6URL/IF,=EA7DUT/6,=EA9CI/6,=EA9CP/6,=EB1BRH/6,=EB2GKK/6,=EB3CW/6,=EC5AC/6, - =EC5BME/6,=EC5EA/P,=EC5EC/6,=EC6TV/N,=EC7AT/6,=ED4SHF/6,=ED5ON/6,=EH90IARU/6; + AM6,AN6,AO6,EA6,EB6,EC6,ED6,EE6,EF6,EG6,EH6,=EA1QE/6,=EA1YO/6,=EA2EZ/6,=EA2SG/6,=EA2TW/6,=EA3BT/6, + =EA3CBH/6,=EA3ERT/6,=EA3HSD/6,=EA3HUX/6,=EA3HZX/6,=EA4LO/6,=EA5ADM/6,=EA5BB/6,=EA5BK/6,=EA5BTL/6, + =EA5EOR/6,=EA5ER/6,=EA5EZ/6,=EA5FL/P,=EA5HCC/6,=EA5IIG/6,=EA5IKT/6,=EA5RKB/6,=EA6/DJ7AO/LH, + =EA6/G0SGB/LH,=EA6HP/J,=EA6URI/PAZ,=EA6URL/IF,=EA7DUT/6,=EA9CI/6,=EA9CP/6,=EB1BRH/6,=EB2GKK/6, + =EB3CW/6,=EC5AC/6,=EC5BME/6,=EC5EA/P,=EC5EC/6,=EC6TV/N,=EC7AT/6,=ED4SHF/6,=ED5ON/6,=EH90IARU/6; Canary Islands: 33: 36: AF: 28.32: 15.85: 0.0: EA8: AM8,AN8,AO8,EA8,EB8,EC8,ED8,EE8,EF8,EG8,EH8,=AN400L,=AN400U,=AO150ITU/8,=AO150U,=AO4AAA/8, - =EA1AP/8,=EA1EHW/8,=EA1YO/8,=EA3RKB/8,=EA4BQ/8,=EA4ESI/8,=EA4SV/8,=EA4WT/8,=EA4ZK/8,=EA5BK/8, - =EA5HCC/8,=EA5RKL/8,=EA7JR/8,=EA8/DJ5AA/LH,=EA8AKG/F,=EA8AKG/G,=EA8DO/LP,=EA8EE/L,=EA8TH/LP, - =EA8URE/YOTA,=EA8URL/LH,=EA8URL/P/SBI,=EA9CI/8,=EA9CP/8,=EB2EMH/8,=EC1KR/8,=EC8AFM/LH,=ED4R/8, - =ED5RKL/8,=ED8BTM/C,=ED8BTM/E,=ED8BTM/J,=ED8BTM/L,=ED8BTM/S,=ED8GSA/J,=ED8LIB/C,=ED8LIB/D, + =EA1AK/8,=EA1AP/8,=EA1EHW/8,=EA1YO/8,=EA3RKB/8,=EA4BQ/8,=EA4ESI/8,=EA4SV/8,=EA4WT/8,=EA4ZK/8, + =EA5BK/8,=EA5HCC/8,=EA5RKL/8,=EA7JR/8,=EA8/DJ5AA/LH,=EA8AKG/F,=EA8AKG/G,=EA8DO/LP,=EA8EE/L, + =EA8TH/LP,=EA8URE/YOTA,=EA8URL/LH,=EA8URL/P/SBI,=EA9CI/8,=EA9CP/8,=EB2EMH/8,=EC1KR/8,=EC8AFM/LH, + =ED4R/8,=ED5RKL/8,=ED8BTM/C,=ED8BTM/E,=ED8BTM/J,=ED8BTM/L,=ED8BTM/S,=ED8GSA/J,=ED8LIB/C,=ED8LIB/D, =ED8LIB/E,=ED8LIB/F,=ED8LIB/G,=ED8LIB/H,=ED8LIB/I,=ED8LIB/J,=ED8LIB/K,=ED8LIB/N,=ED8LIB/O, =ED8LIB/Q,=ED8LPA/L,=ED8MCC/LH,=ED8OTA/D,=ED8OTA/H,=ED8PDC/E,=ED8PDC/K,=ED8PDC/LP,=ED8PDC/O, =EF8LIB/N,=EG8LIB/C,=EG8LIB/D,=EG8LIB/E,=EG8LIB/F,=EG8LIB/G,=EG8LIB/H,=EG8LIB/I,=EG8LIB/L, @@ -734,7 +735,7 @@ France: 14: 27: EU: 46.00: -2.00: -1.0: F: =F6KBG/MSW,=F6KMB/LH,=F6KMB/P/LH,=F6KUM/LH,=TM0BSM/LH,=TM0PDC/LH,=TM0PDH/LH,=TM5AF/LH; Guadeloupe: 08: 11: NA: 16.13: 61.67: 4.0: FG: FG,=TO0MT,=TO10RR,=TO11A,=TO11A/P,=TO1T,=TO1USB,=TO22C,=TO2ANT,=TO2E,=TO2FG,=TO2FG/P,=TO2HI, - =TO2OOO,=TO2T,=TO3Z,=TO4D,=TO4R,=TO4T,=TO5BG,=TO5GI,=TO5ROM,=TO5S,=TO66R,=TO6A,=TO6D,=TO6T, + =TO2OOO,=TO2T,=TO3Z,=TO40R,=TO4D,=TO4R,=TO4T,=TO5BG,=TO5GI,=TO5ROM,=TO5S,=TO66R,=TO6A,=TO6D,=TO6T, =TO6T/P,=TO7ACR,=TO7AES,=TO7D,=TO7DSR,=TO7T,=TO8CW,=TO8RR,=TO8S,=TO8UFT,=TO9RRG,=TO9T; Mayotte: 39: 53: AF: -12.88: -45.15: -3.0: FH: FH,=TO0X,=TO2FH,=TO2TT,=TO4M,=TO5NED,=TO6OK,=TO7BC,=TO7RJ,=TO8MZ,=TX0P,=TX5M,=TX5NK,=TX7LX; @@ -746,13 +747,15 @@ New Caledonia: 32: 56: OC: -21.50: -165.50: -11.0: FK: Chesterfield Islands: 30: 56: OC: -19.87: -158.32: -11.0: FK/c: =FK8C/AA7JV,=FK8IK/C,=TX0AT,=TX0C,=TX0DX,=TX3A,=TX3X,=TX9; Martinique: 08: 11: NA: 14.70: 61.03: 4.0: FM: - FM,=TO0O,=TO1BT,=TO1C,=TO1J,=TO1N,=TO1YR,=TO2M,=TO3GA,=TO3JA,=TO3M,=TO3T,=TO3W,=TO40CDXC,=TO4A, - =TO4C,=TO4FM,=TO4GU,=TO4IPA,=TO4OC,=TO4YL,=TO5A,=TO5AA,=TO5J,=TO5K,=TO5PX,=TO5T,=TO5U,=TO5W,=TO5X, - =TO5Y,=TO6ABM,=TO6M,=TO7A,=TO7HAM,=TO7X,=TO8A,=TO8M,=TO8Z,=TO90IARU,=TO972A,=TO972M,=TO9A,=TO9R; + FM,=TO0O,=TO1BT,=TO1C,=TO1J,=TO1N,=TO1YR,=TO2M,=TO2MB,=TO3GA,=TO3JA,=TO3M,=TO3T,=TO3W,=TO40CDXC, + =TO4A,=TO4C,=TO4FM,=TO4GU,=TO4IPA,=TO4OC,=TO4YL,=TO5A,=TO5AA,=TO5J,=TO5K,=TO5PX,=TO5T,=TO5U,=TO5W, + =TO5X,=TO5Y,=TO6ABM,=TO6M,=TO7A,=TO7HAM,=TO7X,=TO8A,=TO8M,=TO8T,=TO8Z,=TO90IARU,=TO972A,=TO972M, + =TO9A,=TO9R; French Polynesia: 32: 63: OC: -17.65: 149.40: 10.0: FO: - FO,=FO0MIC/MM3,=TX2AH,=TX3T,=TX4FO,=TX4T,=TX5J,=TX5JF,=TX5TES,=TX6A,=TX6T,=TX7A,=TX7EME, - =TX6T/P, - =TX5EG,=TX5X; + FO,=FO0MIC/MM3,=TX0A,=TX0M,=TX5J, + =TX2AH,=TX6T/P, + =TX3T,=TX4FO,=TX4T,=TX5EG,=TX5JF,=TX5X,=TX6A,=TX6T,=TX7EME, + =TX5TES; Austral Islands: 32: 63: OC: -23.37: 149.48: 10.0: FO/a: =FO/AC4LN/A,=FO/DF6IC,=FO/DJ4OI,=FO/DL1AWI,=FO/DL1IAN,=FO/DL3APO,=FO/DL3GA,=FO/DL7FT,=FO/DL9AWI, =FO/F6CTL,=FO/F8CFU,=FO/G3BJ,=FO/HG9B,=FO/HG9B/P,=FO/IK2GNW,=FO/JA8BMK,=FO/JI1JKW,=FO/K7AR, @@ -762,8 +765,9 @@ Clipperton Island: 07: 10: NA: 10.28: 109.22: 8.0: FO/c: =FO0/F8UFT,=FO0AAA,=TX5C,=TX5K,=TX5P; Marquesas Islands: 31: 63: OC: -8.92: 140.07: 9.5: FO/m: =FO/AC4LN/M,=FO/DJ7RJ,=FO/DL5XU,=FO/F6BFH/P,=FO/F6COW,=FO/F6EPY,=FO/F6GNZ,=FO/HA9G,=FO/IZ2ZTQ, - =FO/JA0SC,=FO/JI1WTF,=FO/KA7OQQ,=FO/N7WLR,=FO/OH1RX,=FO/ON4AXU/M,=FO/SP9FIH,=FO/W6TLD,=FO0ELY, - =FO0POM,=FO0TOH,=FO5QS/M,=FO8RZ/P,=K7ST/FO,=TX0SIX,=TX4PG,=TX5A,=TX5SPM,=TX5VT,=TX7EU,=TX7G,=TX7M; + =FO/JA0SC,=FO/JI1WTF,=FO/KA7OQQ,=FO/N7WLR,=FO/OH1RX,=FO/ON4AXU,=FO/ON4AXU/M,=FO/SP9FIH,=FO/W6TLD, + =FO0ELY,=FO0POM,=FO0TOH,=FO5QS/M,=FO8RZ/P,=K7ST/FO,=TX0SIX,=TX4PG,=TX5A,=TX5SPM,=TX5VT,=TX7EU, + =TX7G,=TX7M; St. Pierre & Miquelon: 05: 09: NA: 46.77: 56.20: 3.0: FP: FP,=TO200SPM,=TO2U,=TO5FP; Reunion Island: 39: 53: AF: -21.12: -55.48: -4.0: FR: @@ -810,28 +814,29 @@ Northern Ireland: 14: 27: EU: 54.73: 6.68: 0.0: GI: =GB0CAS,=GB0CBS,=GB0COA,=GB0CSC,=GB0DDF,=GB0EBG,=GB0EG,=GB0FMF,=GB0FMH,=GB0GDI,=GB0GLS,=GB0GPF, =GB0KKM,=GB0LNR,=GB0LSP,=GB0LVA,=GB0MAH,=GB0MAR,=GB0MFD,=GB0PAT,=GB0PSM,=GB0REL,=GB0RSL,=GB0SBG, =GB0SPD,=GB0TCH,=GB0TGN,=GB0USR,=GB0VC,=GB0WOA,=GB100BOS,=GB100RNR,=GB106TBC,=GB150WCB,=GB16SW, - =GB1AFP,=GB1BPM,=GB1DDG,=GB1IMD,=GB1RM,=GB1ROC,=GB1SPD,=GB1SRI,=GB1UAS,=GB1WWC,=GB2AD,=GB2AD/P, - =GB2AS,=GB2BCW,=GB2BDS,=GB2BOA,=GB2CA,=GB2CRU,=GB2DCI,=GB2DMR,=GB2DPC,=GB2IL,=GB2LL,=GB2LOL, - =GB2MAC,=GB2MRI,=GB2PP,=GB2PSW,=GB2REL,=GB2SDD,=GB2SPD,=GB2SPR,=GB2STI,=GB2STP,=GB2SW,=GB2UAS, - =GB3NGI,=GB4CSC,=GB4CTL,=GB4ONI,=GB4PS,=GB4SOS,=GB4SPD,=GB4UAS,=GB50AAD,=GB50CSC,=GB5BIG,=GB5BL, - =GB5BL/LH,=GB5OMU,=GB5SPD,=GB6EPC,=GB6VCB,=GB8BKY,=GB8BRM,=GB8DS,=GB8EGT,=GB8GLM,=GB8ROC,=GB8SPD, - =GB90RSGB/82,=GB90SOM,=GB9RAF,=GB9SPD,=GN0LIX/LH,=GN4GTY/LH,=GO0AQD,=GO0BJH,=GO0DUP,=GO3KVD, - =GO3MMF,=GO3SG,=GO4DOH,=GO4GID,=GO4GUH,=GO4LKG,=GO4NKB,=GO4ONL,=GO4OYM,=GO4SRQ,=GO4SZW,=GO6MTL, - =GO7AXB,=GO7KMC,=GO8YYM,=GQ0AQD,=GQ0BJG,=GQ0NCA,=GQ0RQK,=GQ0TJV,=GQ0UVD,=GQ1CET,=GQ3KVD,=GQ3MMF, - =GQ3SG,=GQ3UZJ,=GQ3XRQ,=GQ4DOH,=GQ4GID,=GQ4GUH,=GQ4JTF,=GQ4LKG,=GQ4LXL,=GQ4NKB,=GQ4ONL,=GQ4OYM, - =GQ4SZW,=GQ6JPO,=GQ6MTL,=GQ7AXB,=GQ7JYK,=GQ7KMC,=GQ8RQI,=GQ8YYM,=GR0BJH,=GR0BRO,=GR0DVU,=GR0RQK, - =GR0RWO,=GR0UVD,=GR1CET,=GR3GTR,=GR3KDR,=GR3SG,=GR3WEM,=GR4AAM,=GR4DHW,=GR4DOH,=GR4FUE,=GR4FUM, - =GR4GID,=GR4GOS,=GR4GUH,=GR4KQU,=GR4LXL,=GR4NKB,=GR6JPO,=GR7AXB,=GR7KMC,=GR8RKC,=GR8RQI,=GR8YYM, - =GV1BZT,=GV3KVD,=GV3SG,=GV4FUE,=GV4GUH,=GV4JTF,=GV4LXL,=GV4SRQ,=GV4WVN,=GV7AXB,=GV7THH,=MI5AFK/2K, - =MN0NID/LH,=MO0ALS,=MO0BDZ,=MO0CBH,=MO0IOU,=MO0IRZ,=MO0JFC,=MO0JFC/P,=MO0JML,=MO0JST,=MO0KYE, - =MO0LPO,=MO0MOD,=MO0MOD/P,=MO0MSR,=MO0MVP,=MO0RRE,=MO0RUC,=MO0RYL,=MO0TGO,=MO0VAX,=MO0ZXZ,=MO3RLA, - =MO6AOX,=MO6NIR,=MO6TUM,=MO6WAG,=MO6WDB,=MO6YDR,=MQ0ALS,=MQ0BDZ,=MQ0BPB,=MQ0GGB,=MQ0IRZ,=MQ0JFC, - =MQ0JST,=MQ0KAM,=MQ0KYE,=MQ0MOD,=MQ0MSR,=MQ0MVP,=MQ0RMD,=MQ0RRE,=MQ0RUC,=MQ0RYL,=MQ0TGO,=MQ0VAX, - =MQ0ZXZ,=MQ3GHW,=MQ3RLA,=MQ3STV,=MQ5AFK,=MQ6AOX,=MQ6BJG,=MQ6GDN,=MQ6WAG,=MQ6WDB,=MQ6WGM,=MR0GDO, - =MR0GGB,=MR0JFC,=MR0KQU,=MR0LPO,=MR0MOD,=MR0MSR,=MR0MVP,=MR0RUC,=MR0SAI,=MR0SMK,=MR0TFK,=MR0TLG, - =MR0TMW,=MR0VAX,=MR0WWB,=MR1CCU,=MR3RLA,=MR3TFF,=MR3WHM,=MR5AMO,=MR6CCU,=MR6CWC,=MR6GDN,=MR6MME, - =MR6MRJ,=MR6OKS,=MR6OLA,=MR6PUX,=MR6WAG,=MR6XGZ,=MV0ALS,=MV0GGB,=MV0IOU,=MV0JFC,=MV0JLC,=MV0MOD, - =MV0MSR,=MV0MVP,=MV0TGO,=MV0VAX,=MV0WGM,=MV0ZAO,=MV1VOX,=MV6DTE,=MV6GTY,=MV6NIR,=MV6TLG; + =GB1918EKN,=GB1AFP,=GB1BPM,=GB1DDG,=GB1IMD,=GB1RM,=GB1ROC,=GB1SPD,=GB1SRI,=GB1UAS,=GB1WWC,=GB2AD, + =GB2AD/P,=GB2AS,=GB2BCW,=GB2BDS,=GB2BOA,=GB2CA,=GB2CRU,=GB2DCI,=GB2DMR,=GB2DPC,=GB2IL,=GB2LL, + =GB2LOL,=GB2MAC,=GB2MRI,=GB2PP,=GB2PSW,=GB2REL,=GB2SDD,=GB2SPD,=GB2SPR,=GB2STI,=GB2STP,=GB2SW, + =GB2UAS,=GB3NGI,=GB4CSC,=GB4CTL,=GB4ONI,=GB4PS,=GB4SOS,=GB4SPD,=GB4UAS,=GB50AAD,=GB50CSC,=GB5BIG, + =GB5BL,=GB5BL/LH,=GB5DPR,=GB5OMU,=GB5SPD,=GB6EPC,=GB6VCB,=GB8BKY,=GB8BRM,=GB8DS,=GB8EGT,=GB8GLM, + =GB8ROC,=GB8SPD,=GB90RSGB/82,=GB90SOM,=GB9RAF,=GB9SPD,=GN0LIX/LH,=GN4GTY/LH,=GO0AQD,=GO0BJH, + =GO0DUP,=GO3KVD,=GO3MMF,=GO3SG,=GO4DOH,=GO4GID,=GO4GUH,=GO4LKG,=GO4NKB,=GO4ONL,=GO4OYM,=GO4SRQ, + =GO4SZW,=GO6MTL,=GO7AXB,=GO7KMC,=GO8YYM,=GQ0AQD,=GQ0BJG,=GQ0NCA,=GQ0RQK,=GQ0TJV,=GQ0UVD,=GQ1CET, + =GQ3KVD,=GQ3MMF,=GQ3SG,=GQ3UZJ,=GQ3XRQ,=GQ4DOH,=GQ4GID,=GQ4GUH,=GQ4JTF,=GQ4LKG,=GQ4LXL,=GQ4NKB, + =GQ4ONL,=GQ4OYM,=GQ4SZW,=GQ6JPO,=GQ6MTL,=GQ7AXB,=GQ7JYK,=GQ7KMC,=GQ8RQI,=GQ8YYM,=GR0BJH,=GR0BRO, + =GR0DVU,=GR0RQK,=GR0RWO,=GR0UVD,=GR1CET,=GR3GTR,=GR3KDR,=GR3SG,=GR3WEM,=GR4AAM,=GR4DHW,=GR4DOH, + =GR4FUE,=GR4FUM,=GR4GID,=GR4GOS,=GR4GUH,=GR4KQU,=GR4LXL,=GR4NKB,=GR6JPO,=GR7AXB,=GR7KMC,=GR8RKC, + =GR8RQI,=GR8YYM,=GV1BZT,=GV3KVD,=GV3SG,=GV4FUE,=GV4GUH,=GV4JTF,=GV4LXL,=GV4SRQ,=GV4WVN,=GV7AXB, + =GV7THH,=MI5AFK/2K,=MN0NID/LH,=MO0ALS,=MO0BDZ,=MO0CBH,=MO0IOU,=MO0IRZ,=MO0JFC,=MO0JFC/P,=MO0JML, + =MO0JST,=MO0KYE,=MO0LPO,=MO0MOD,=MO0MOD/P,=MO0MSR,=MO0MVP,=MO0RRE,=MO0RUC,=MO0RYL,=MO0TGO,=MO0VAX, + =MO0ZXZ,=MO3RLA,=MO6AOX,=MO6NIR,=MO6TUM,=MO6WAG,=MO6WDB,=MO6YDR,=MQ0ALS,=MQ0BDZ,=MQ0BPB,=MQ0GGB, + =MQ0IRZ,=MQ0JFC,=MQ0JST,=MQ0KAM,=MQ0KYE,=MQ0MOD,=MQ0MSR,=MQ0MVP,=MQ0RMD,=MQ0RRE,=MQ0RUC,=MQ0RYL, + =MQ0TGO,=MQ0VAX,=MQ0ZXZ,=MQ3GHW,=MQ3RLA,=MQ3STV,=MQ5AFK,=MQ6AOX,=MQ6BJG,=MQ6GDN,=MQ6WAG,=MQ6WDB, + =MQ6WGM,=MR0GDO,=MR0GGB,=MR0JFC,=MR0KQU,=MR0LPO,=MR0MOD,=MR0MSR,=MR0MVP,=MR0RUC,=MR0SAI,=MR0SMK, + =MR0TFK,=MR0TLG,=MR0TMW,=MR0VAX,=MR0WWB,=MR1CCU,=MR3RLA,=MR3TFF,=MR3WHM,=MR5AMO,=MR6CCU,=MR6CWC, + =MR6GDN,=MR6MME,=MR6MRJ,=MR6OKS,=MR6OLA,=MR6PUX,=MR6WAG,=MR6XGZ,=MV0ALS,=MV0GGB,=MV0IOU,=MV0JFC, + =MV0JLC,=MV0MOD,=MV0MSR,=MV0MVP,=MV0TGO,=MV0VAX,=MV0WGM,=MV0ZAO,=MV1VOX,=MV6DTE,=MV6GTY,=MV6NIR, + =MV6TLG; Jersey: 14: 27: EU: 49.22: 2.18: 0.0: GJ: 2J,GH,GJ,MH,MJ,=2R0ODX,=GB0JSA,=GB2BYL,=GB2JSA,=GB50JSA,=GB5OJR,=GB8LMI,=GJ3DVC/L,=GJ6WRI/LH, =GJ8PVL/LH,=GO8PVL,=GQ8PVL,=GR6TMM,=MO0ASP,=MQ0ASP,=MR0ASP,=MR0RZD,=MV0ASP; @@ -862,65 +867,65 @@ Scotland: 14: 27: EU: 56.82: 4.18: 0.0: GM: =GB0PLS,=GB0POS,=GB0PPE,=GB0PSW,=GB0RGC,=GB0SAA,=GB0SBC,=GB0SCD,=GB0SFM,=GB0SHP,=GB0SI,=GB0SK, =GB0SKG,=GB0SKY,=GB0SRC,=GB0SSB,=GB0TH,=GB0THL,=GB0TNL,=GB0TTS,=GB0WRH,=GB100MAS,=GB100MUC, =GB100ZET,=GB10SP,=GB150NRL,=GB18FIFA,=GB1AJ,=GB1ASC,=GB1ASH,=GB1BD,=GB1BOL,=GB1CFL,=GB1DHL, - =GB1FRS,=GB1FS,=GB1FVS,=GB1FVT,=GB1GEO,=GB1KGG,=GB1KLD,=GB1LAY,=GB1LGG,=GB1LL,=GB1MAY,=GB1MSG, - =GB1NHL,=GB1OL,=GB1OL/LH,=GB1PC,=GB1RB,=GB1RHU,=GB1SLH,=GB1TAY,=GB1WLG,=GB250RB,=GB2AES,=GB2AGG, - =GB2AL,=GB2AST,=GB2ATC,=GB2AYR,=GB2BAJ,=GB2BHM,=GB2BHS,=GB2BMJ,=GB2BOL,=GB2CAS,=GB2CHC,=GB2CM, - =GB2CMA,=GB2CVL,=GB2DAS,=GB2DHS,=GB2DL,=GB2DRC,=GB2DT,=GB2DTM,=GB2ELH,=GB2ELH/LH,=GB2EPC,=GB2FBM, - =GB2FSM,=GB2FSW,=GB2GEO,=GB2GKR,=GB2GNL,=GB2GNL/LH,=GB2GTM,=GB2HLB,=GB2HMC,=GB2HRH,=GB2IGB, - =GB2IGS,=GB2IMG,=GB2IMM,=GB2INV,=GB2IOT,=GB2JCM,=GB2KDR,=GB2KGB,=GB2KW,=GB2LBN,=GB2LBN/LH,=GB2LCL, - =GB2LCP,=GB2LCT,=GB2LDG,=GB2LG,=GB2LGB,=GB2LHI,=GB2LK,=GB2LK/LH,=GB2LMG,=GB2LP,=GB2LS,=GB2LS/LH, - =GB2LSS,=GB2LT,=GB2LT/LH,=GB2LXX,=GB2M,=GB2MAS,=GB2MBB,=GB2MDG,=GB2MN,=GB2MOF,=GB2MSL,=GB2MUC, - =GB2MUL,=GB2NBC,=GB2NEF,=GB2NL,=GB2OL,=GB2OWM,=GB2PBF,=GB2PG,=GB2QM,=GB2RB,=GB2RDR,=GB2RRL, - =GB2RWW,=GB2SAA,=GB2SAM,=GB2SB,=GB2SBG,=GB2SHL/LH,=GB2SKG,=GB2SLH,=GB2SMM,=GB2SOH,=GB2SQN,=GB2SR, - =GB2SSB,=GB2SUM,=GB2SWF,=GB2TDS,=GB2THL,=GB2TNL,=GB2VCB,=GB2VEF,=GB2WBF,=GB2WG,=GB2WLS,=GB2YLS, - =GB2ZE,=GB3ANG,=GB3GKR,=GB3GM,=GB3LER,=GB3LER/B,=GB3ORK,=GB3ORK/B,=GB3SWF,=GB3WOI,=GB4AAS,=GB4AST, - =GB4BBR,=GB4BG,=GB4CGS,=GB4CMA,=GB4DAS,=GB4DHX,=GB4DTD,=GB4DUK,=GB4EPC,=GB4GD,=GB4GDS,=GB4GS, - =GB4IE,=GB4JCM,=GB4JPJ,=GB4JYS,=GB4LER,=GB4MSE,=GB4NFE,=GB4OL,=GB4PAS,=GB4SK,=GB4SKO,=GB4SLH, - =GB4SMM,=GB4SRO,=GB4SWF,=GB50FVS,=GB50GDS,=GB50JS,=GB5AG,=GB5AST,=GB5BBS,=GB5BOH,=GB5C,=GB5CCC, - =GB5CS,=GB5DHL,=GB5DX,=GB5EMF,=GB5FHC,=GB5FLM,=GB5JS,=GB5LTH,=GB5RO,=GB5RO/LH,=GB5RR,=GB5SI, - =GB5TAM,=GB5TI,=GB60CRB,=GB6BEN,=GB6TAA,=GB6WW,=GB75CC,=GB75GD,=GB80GD,=GB8AYR,=GB8CSL,=GB8FSG, - =GB8RU,=GB8RUM,=GB90RSGB/11,=GB90RSGB/12,=GB90RSGB/21,=GB90RSGB/22,=GB90RSGB/23,=GB999SPC, - =GG100AGG,=GG100GA,=GG100GCC,=GG100GGP,=GG100GGR,=GG100GLD,=GG100SBG,=GM/DL5SE/LH,=GM0AZC/2K, - =GM0DHZ/P,=GM0GFL/P,=GM0KTO/2K,=GM0MUN/2K,=GM0SGB/P,=GM0WUX/2K,=GM3JIJ/2K,=GM3OFT/P,=GM3TKV/LH, - =GM3TTC/P,=GM3TXF/P,=GM3USR/P,=GM3VLB/P,=GM4AFF/P,=GM4CHX/2K,=GM4CHX/P,=GM4WSB/M,=GM4WSB/P, - =GM4ZVD/P,=GM6WRW/P,=GO0AEG,=GO0AIR,=GO0BKC,=GO0DBW,=GO0DBW/M,=GO0DEQ,=GO0GMN,=GO0OGN,=GO0SYY, - =GO0TUB,=GO0VRP,=GO0WEZ,=GO1BAN,=GO1BKF,=GO1MQE,=GO1TBW,=GO2MP,=GO3HVK,=GO3JIJ,=GO3NIG,=GO3VTB, - =GO4BLO,=GO4CAU,=GO4CFS,=GO4CHX,=GO4CXM,=GO4DLG,=GO4EMX,=GO4FAM,=GO4FAU,=GO4JOJ,=GO4JPZ,=GO4JR, - =GO4MOX,=GO4MSL,=GO4PRB,=GO4UBJ,=GO4VTB,=GO4WZG,=GO4XQJ,=GO6JEP,=GO6JRX,=GO6KON,=GO6LYJ,=GO6VCV, - =GO7GAX,=GO7GDE,=GO7HUD,=GO7TUD,=GO7WEF,=GO8CBQ,=GO8MHU,=GO8SVB,=GO8TTD,=GQ0AEG,=GQ0AIR,=GQ0BKC, - =GQ0BWR,=GQ0DBW,=GQ0DEQ,=GQ0DUX,=GQ0FNE,=GQ0GMN,=GQ0HUO,=GQ0KWL,=GQ0MUN,=GQ0NTL,=GQ0OGN,=GQ0RNR, - =GQ0TKV/P,=GQ0VRP,=GQ0WEZ,=GQ0WNR,=GQ1BAN,=GQ1BKF,=GQ1MQE,=GQ1TBW,=GQ3JIJ,=GQ3JQJ,=GQ3NIG,=GQ3NTL, - =GQ3TKP,=GQ3TKP/P,=GQ3TKV,=GQ3TKV/P,=GQ3VTB,=GQ3WUX,=GQ3ZBE,=GQ4AGG,=GQ4BAE,=GQ4BLO,=GQ4CAU, - =GQ4CFS,=GQ4CHX,=GQ4CHX/P,=GQ4CXM,=GQ4DLG,=GQ4ELV,=GQ4EMX,=GQ4FAU,=GQ4JOJ,=GQ4JPZ,=GQ4JR,=GQ4MSL, - =GQ4OBG,=GQ4PRB,=GQ4UIB,=GQ4UPL,=GQ4VTB,=GQ4WZG,=GQ4XQJ,=GQ4YMM,=GQ6JEP,=GQ6JRX,=GQ6KON,=GQ6LYJ, - =GQ7GAX,=GQ7GDE,=GQ7HUD,=GQ7TUD,=GQ7UED,=GQ7WEF,=GQ8CBQ,=GQ8MHU,=GQ8PLR,=GQ8SVB,=GQ8TTD,=GR0AXY, - =GR0CDV,=GR0DBW,=GR0EKM,=GR0GMN,=GR0GRD,=GR0HPK,=GR0HPL,=GR0HUO,=GR0OGN,=GR0PNS,=GR0SYV,=GR0TTV, - =GR0TUB,=GR0UKZ,=GR0VRP,=GR0WED,=GR0WNR,=GR150NIB,=GR1BAN,=GR1MWK,=GR1TBW,=GR1ZIV,=GR3JFG,=GR3MZX, - =GR3NIG,=GR3OFT,=GR3PPE,=GR3PYU,=GR3VAL,=GR3VTB,=GR3WFJ,=GR3YXJ,=GR3ZDH,=GR4BDJ,=GR4BLO,=GR4CAU, - =GR4CCN,=GR4CFS,=GR4CMI,=GR4CXM,=GR4DLG,=GR4EMX,=GR4EOU,=GR4FQE,=GR4GIF,=GR4JOJ,=GR4NSZ,=GR4PRB, - =GR4SQM,=GR4VTB,=GR4XAW,=GR4XMD,=GR4XQJ,=GR4YMM,=GR6JEP,=GR6JNJ,=GR7AAJ,=GR7GAX,=GR7GDE,=GR7GMC, - =GR7HHB,=GR7HUD,=GR7LNO,=GR7NZI,=GR7TUD,=GR7USC,=GR7VSB,=GR8CBQ,=GR8KJO,=GR8KPH,=GR8MHU,=GR8OFQ, - =GR8SVB,=GS4WAB/P,=GV0DBW,=GV0GMN,=GV0GRD,=GV0LZE,=GV0OBX,=GV0OGN,=GV0SYV,=GV0VRP,=GV1BAN,=GV3EEW, - =GV3JIJ,=GV3NHQ,=GV3NIG,=GV3NKG,=GV3NNZ,=GV3PIP,=GV3ULP,=GV3VTB,=GV4BLO,=GV4EMX,=GV4HRJ,=GV4ILS, - =GV4JOJ,=GV4KLN,=GV4LVW,=GV4PRB,=GV4VTB,=GV4XQJ,=GV6KON,=GV7DHA,=GV7GDE,=GV7GMC,=GV8AVM,=GV8DPV, - =GV8LYS,=MB18FIFA,=MM/DH5JBR/P,=MM/DJ4OK/M,=MM/DJ8OK/M,=MM/DL5SE/LH,=MM/F5BLC/P,=MM/F5LMJ/P, - =MM/HB9IAB/P,=MM/KE5TF/P,=MM/N5ET/P,=MM/OK1FZM/P,=MM/W5ZE/P,=MM0BNN/LH,=MM0BQI/2K,=MM0BQN/2K, - =MM0BYE/2K,=MM0DFV/P,=MM0LON/M,=MM0SHF/P,=MM0YHB/P,=MM0ZOL/LH,=MM5PSL/P,=MM5YLO/P,=MO0BFF,=MO0CWJ, - =MO0CYR,=MO0DBC,=MO0DNX,=MO0FMF,=MO0GXQ,=MO0HZT,=MO0JST/P,=MO0KJG,=MO0KSS,=MO0NFC,=MO0SGQ,=MO0SJT, - =MO0TGB,=MO0TSG,=MO0WKC,=MO0XXW,=MO0ZBH,=MO1AWV,=MO1HMV,=MO3BCA,=MO3BRR,=MO3GPL,=MO3OQR,=MO3TUP, - =MO3UVL,=MO3YHA,=MO3YMU,=MO3ZRF,=MO5PSL,=MO6BJJ,=MO6CCS,=MO6CHM,=MO6CRQ,=MO6CRQ/M,=MO6DGZ,=MO6HUT, - =MO6KAU,=MO6KAU/M,=MO6KSJ,=MO6MCV,=MO6SRL,=MO6TEW,=MQ0BNN/P,=MQ0BQM,=MQ0BRG,=MQ0CIN,=MQ0CXA, - =MQ0CYR,=MQ0DNX,=MQ0DXD,=MQ0EQE,=MQ0FMF,=MQ0GXQ,=MQ0GYX,=MQ0GYX/P,=MQ0KJG,=MQ0KSS,=MQ0LEN,=MQ0NFC, - =MQ0NJC,=MQ0SJT,=MQ0TSG,=MQ0WKC,=MQ0XXW,=MQ0ZBH,=MQ1AWV,=MQ1HMV,=MQ1JWF,=MQ3BCA,=MQ3BRR,=MQ3ERZ, - =MQ3FET,=MQ3OVK,=MQ3SVK,=MQ3UIX,=MQ3UVL,=MQ3YHA,=MQ3YMU,=MQ3ZRF,=MQ5PSL,=MQ6AQM,=MQ6BJJ,=MQ6CCS, - =MQ6CHM,=MQ6CRQ,=MQ6DGZ,=MQ6HUT,=MQ6KAJ,=MQ6KAU,=MQ6KSJ,=MQ6KUA,=MQ6LMP,=MQ6MCV,=MR0BQN,=MR0CWB, - =MR0CXA,=MR0DHQ,=MR0DWF,=MR0DXD,=MR0DXH,=MR0EPC,=MR0EQE,=MR0FME,=MR0FMF,=MR0GCF,=MR0GGG,=MR0GGI, - =MR0GOR,=MR0HAI,=MR0HVU,=MR0OIL,=MR0POD,=MR0PSL,=MR0RDM,=MR0SGQ,=MR0SJT,=MR0TAI,=MR0TSG,=MR0TSS, - =MR0VTV,=MR0WEI,=MR0XAF,=MR0XXP,=MR0XXW,=MR1AWV,=MR1HMV,=MR1JWF,=MR1VTB,=MR3AWA,=MR3AWD,=MR3BRR, - =MR3PTS,=MR3UIX,=MR3UVL,=MR3WJZ,=MR3XGP,=MR3YHA,=MR3YPH,=MR3ZCS,=MR5PSL,=MR6AHB,=MR6ARN,=MR6ATU, - =MR6CHM,=MR6CTH,=MR6CTL,=MR6HFC,=MR6MCV,=MR6RLL,=MR6SSI,=MR6TMS,=MV0DXH,=MV0FME,=MV0FMF,=MV0GHM, - =MV0HAR,=MV0LGS,=MV0NFC,=MV0NJS,=MV0SGQ,=MV0SJT,=MV0XXW,=MV1VTB,=MV3BRR,=MV3CVB,=MV3YHA,=MV3YMU, - =MV5PSL,=MV6BJJ,=MV6KSJ,=MV6NRQ; + =GB1FB,=GB1FRS,=GB1FS,=GB1FVS,=GB1FVT,=GB1GEO,=GB1HRS,=GB1KGG,=GB1KLD,=GB1LAY,=GB1LGG,=GB1LL, + =GB1MAY,=GB1MSG,=GB1NHL,=GB1OL,=GB1OL/LH,=GB1PC,=GB1RB,=GB1RHU,=GB1SLH,=GB1TAY,=GB1WLG,=GB250RB, + =GB2AES,=GB2AGG,=GB2AL,=GB2AST,=GB2ATC,=GB2AYR,=GB2BAJ,=GB2BHM,=GB2BHS,=GB2BMJ,=GB2BOL,=GB2CAS, + =GB2CHC,=GB2CM,=GB2CMA,=GB2CVL,=GB2DAS,=GB2DHS,=GB2DL,=GB2DRC,=GB2DT,=GB2DTM,=GB2ELH,=GB2ELH/LH, + =GB2EPC,=GB2FBM,=GB2FSM,=GB2FSW,=GB2GEO,=GB2GKR,=GB2GNL,=GB2GNL/LH,=GB2GTM,=GB2HLB,=GB2HMC, + =GB2HRH,=GB2IGB,=GB2IGS,=GB2IMG,=GB2IMM,=GB2INV,=GB2IOT,=GB2JCM,=GB2KDR,=GB2KGB,=GB2KW,=GB2LBN, + =GB2LBN/LH,=GB2LCL,=GB2LCP,=GB2LCT,=GB2LDG,=GB2LG,=GB2LGB,=GB2LHI,=GB2LK,=GB2LK/LH,=GB2LMG,=GB2LP, + =GB2LS,=GB2LS/LH,=GB2LSS,=GB2LT,=GB2LT/LH,=GB2LXX,=GB2M,=GB2MAS,=GB2MBB,=GB2MDG,=GB2MN,=GB2MOF, + =GB2MSL,=GB2MUC,=GB2MUL,=GB2NBC,=GB2NEF,=GB2NL,=GB2OL,=GB2OWM,=GB2PBF,=GB2PG,=GB2QM,=GB2RB, + =GB2RDR,=GB2RRL,=GB2RWW,=GB2SAA,=GB2SAM,=GB2SAS,=GB2SB,=GB2SBG,=GB2SHL/LH,=GB2SKG,=GB2SLH,=GB2SMM, + =GB2SOH,=GB2SQN,=GB2SR,=GB2SSB,=GB2SUM,=GB2SWF,=GB2TDS,=GB2THL,=GB2TNL,=GB2VCB,=GB2VEF,=GB2WBF, + =GB2WG,=GB2WLS,=GB2YLS,=GB2ZE,=GB3ANG,=GB3GKR,=GB3GM,=GB3LER,=GB3LER/B,=GB3ORK,=GB3ORK/B,=GB3SWF, + =GB3WOI,=GB4AAS,=GB4AST,=GB4BBR,=GB4BG,=GB4CGS,=GB4CMA,=GB4DAS,=GB4DHX,=GB4DTD,=GB4DUK,=GB4EPC, + =GB4GD,=GB4GDS,=GB4GS,=GB4IE,=GB4JCM,=GB4JPJ,=GB4JYS,=GB4LER,=GB4MSE,=GB4NFE,=GB4OL,=GB4PAS, + =GB4SK,=GB4SKO,=GB4SLH,=GB4SMM,=GB4SRO,=GB4SWF,=GB50FVS,=GB50GDS,=GB50JS,=GB5AG,=GB5AST,=GB5BBS, + =GB5BOH,=GB5C,=GB5CCC,=GB5CS,=GB5DHL,=GB5DX,=GB5EMF,=GB5FHC,=GB5FLM,=GB5JS,=GB5LTH,=GB5RO, + =GB5RO/LH,=GB5RR,=GB5SI,=GB5TAM,=GB5TI,=GB60CRB,=GB6BEN,=GB6TAA,=GB6WW,=GB75CC,=GB75GD,=GB80GD, + =GB8AYR,=GB8CSL,=GB8FSG,=GB8RU,=GB8RUM,=GB90RSGB/11,=GB90RSGB/12,=GB90RSGB/21,=GB90RSGB/22, + =GB90RSGB/23,=GB999SPC,=GG100AGG,=GG100GA,=GG100GCC,=GG100GGP,=GG100GGR,=GG100GLD,=GG100SBG, + =GM/DL5SE/LH,=GM0AZC/2K,=GM0DHZ/P,=GM0GFL/P,=GM0KTO/2K,=GM0MUN/2K,=GM0SGB/P,=GM0WUX/2K,=GM3JIJ/2K, + =GM3OFT/P,=GM3TKV/LH,=GM3TTC/P,=GM3TXF/P,=GM3USR/P,=GM3VLB/P,=GM4AFF/P,=GM4CHX/2K,=GM4CHX/P, + =GM4WSB/M,=GM4WSB/P,=GM4ZVD/P,=GM6WRW/P,=GO0AEG,=GO0AIR,=GO0BKC,=GO0DBW,=GO0DBW/M,=GO0DEQ,=GO0GMN, + =GO0OGN,=GO0SYY,=GO0TUB,=GO0VRP,=GO0WEZ,=GO1BAN,=GO1BKF,=GO1MQE,=GO1TBW,=GO2MP,=GO3HVK,=GO3JIJ, + =GO3NIG,=GO3VTB,=GO4BLO,=GO4CAU,=GO4CFS,=GO4CHX,=GO4CXM,=GO4DLG,=GO4EMX,=GO4FAM,=GO4FAU,=GO4JOJ, + =GO4JPZ,=GO4JR,=GO4MOX,=GO4MSL,=GO4PRB,=GO4UBJ,=GO4VTB,=GO4WZG,=GO4XQJ,=GO6JEP,=GO6JRX,=GO6KON, + =GO6LYJ,=GO6VCV,=GO7GAX,=GO7GDE,=GO7HUD,=GO7TUD,=GO7WEF,=GO8CBQ,=GO8MHU,=GO8SVB,=GO8TTD,=GQ0AEG, + =GQ0AIR,=GQ0BKC,=GQ0BWR,=GQ0DBW,=GQ0DEQ,=GQ0DUX,=GQ0FNE,=GQ0GMN,=GQ0HUO,=GQ0KWL,=GQ0MUN,=GQ0NTL, + =GQ0OGN,=GQ0RNR,=GQ0TKV/P,=GQ0VRP,=GQ0WEZ,=GQ0WNR,=GQ1BAN,=GQ1BKF,=GQ1MQE,=GQ1TBW,=GQ3JIJ,=GQ3JQJ, + =GQ3NIG,=GQ3NTL,=GQ3TKP,=GQ3TKP/P,=GQ3TKV,=GQ3TKV/P,=GQ3VTB,=GQ3WUX,=GQ3ZBE,=GQ4AGG,=GQ4BAE, + =GQ4BLO,=GQ4CAU,=GQ4CFS,=GQ4CHX,=GQ4CHX/P,=GQ4CXM,=GQ4DLG,=GQ4ELV,=GQ4EMX,=GQ4FAU,=GQ4JOJ,=GQ4JPZ, + =GQ4JR,=GQ4MSL,=GQ4OBG,=GQ4PRB,=GQ4UIB,=GQ4UPL,=GQ4VTB,=GQ4WZG,=GQ4XQJ,=GQ4YMM,=GQ6JEP,=GQ6JRX, + =GQ6KON,=GQ6LYJ,=GQ7GAX,=GQ7GDE,=GQ7HUD,=GQ7TUD,=GQ7UED,=GQ7WEF,=GQ8CBQ,=GQ8MHU,=GQ8PLR,=GQ8SVB, + =GQ8TTD,=GR0AXY,=GR0CDV,=GR0DBW,=GR0EKM,=GR0GMN,=GR0GRD,=GR0HPK,=GR0HPL,=GR0HUO,=GR0OGN,=GR0PNS, + =GR0SYV,=GR0TTV,=GR0TUB,=GR0UKZ,=GR0VRP,=GR0WED,=GR0WNR,=GR150NIB,=GR1BAN,=GR1MWK,=GR1TBW,=GR1ZIV, + =GR3JFG,=GR3MZX,=GR3NIG,=GR3OFT,=GR3PPE,=GR3PYU,=GR3VAL,=GR3VTB,=GR3WFJ,=GR3YXJ,=GR3ZDH,=GR4BDJ, + =GR4BLO,=GR4CAU,=GR4CCN,=GR4CFS,=GR4CMI,=GR4CXM,=GR4DLG,=GR4EMX,=GR4EOU,=GR4FQE,=GR4GIF,=GR4JOJ, + =GR4NSZ,=GR4PRB,=GR4SQM,=GR4VTB,=GR4XAW,=GR4XMD,=GR4XQJ,=GR4YMM,=GR6JEP,=GR6JNJ,=GR7AAJ,=GR7GAX, + =GR7GDE,=GR7GMC,=GR7HHB,=GR7HUD,=GR7LNO,=GR7NZI,=GR7TUD,=GR7USC,=GR7VSB,=GR8CBQ,=GR8KJO,=GR8KPH, + =GR8MHU,=GR8OFQ,=GR8SVB,=GS4WAB/P,=GV0DBW,=GV0GMN,=GV0GRD,=GV0LZE,=GV0OBX,=GV0OGN,=GV0SYV,=GV0VRP, + =GV1BAN,=GV3EEW,=GV3JIJ,=GV3NHQ,=GV3NIG,=GV3NKG,=GV3NNZ,=GV3PIP,=GV3ULP,=GV3VTB,=GV4BLO,=GV4EMX, + =GV4HRJ,=GV4ILS,=GV4JOJ,=GV4KLN,=GV4LVW,=GV4PRB,=GV4VTB,=GV4XQJ,=GV6KON,=GV7DHA,=GV7GDE,=GV7GMC, + =GV8AVM,=GV8DPV,=GV8LYS,=MB18FIFA,=MM/DH5JBR/P,=MM/DJ4OK/M,=MM/DJ8OK/M,=MM/DL5SE/LH,=MM/F5BLC/P, + =MM/F5LMJ/P,=MM/HB9IAB/P,=MM/KE5TF/P,=MM/N5ET/P,=MM/OK1FZM/P,=MM/W5ZE/P,=MM0BNN/LH,=MM0BQI/2K, + =MM0BQN/2K,=MM0BYE/2K,=MM0DFV/P,=MM0LON/M,=MM0SHF/P,=MM0YHB/P,=MM0ZOL/LH,=MM5PSL/P,=MM5YLO/P, + =MO0BFF,=MO0CWJ,=MO0CYR,=MO0DBC,=MO0DNX,=MO0FMF,=MO0GXQ,=MO0HZT,=MO0JST/P,=MO0KJG,=MO0KSS,=MO0NFC, + =MO0SGQ,=MO0SJT,=MO0TGB,=MO0TSG,=MO0WKC,=MO0XXW,=MO0ZBH,=MO1AWV,=MO1HMV,=MO3BCA,=MO3BRR,=MO3GPL, + =MO3OQR,=MO3TUP,=MO3UVL,=MO3YHA,=MO3YMU,=MO3ZRF,=MO5PSL,=MO6BJJ,=MO6CCS,=MO6CHM,=MO6CRQ,=MO6CRQ/M, + =MO6DGZ,=MO6HUT,=MO6KAU,=MO6KAU/M,=MO6KSJ,=MO6MCV,=MO6SRL,=MO6TEW,=MQ0BNN/P,=MQ0BQM,=MQ0BRG, + =MQ0CIN,=MQ0CXA,=MQ0CYR,=MQ0DNX,=MQ0DXD,=MQ0EQE,=MQ0FMF,=MQ0GXQ,=MQ0GYX,=MQ0GYX/P,=MQ0KJG,=MQ0KSS, + =MQ0LEN,=MQ0NFC,=MQ0NJC,=MQ0SJT,=MQ0TSG,=MQ0WKC,=MQ0XXW,=MQ0ZBH,=MQ1AWV,=MQ1HMV,=MQ1JWF,=MQ3BCA, + =MQ3BRR,=MQ3ERZ,=MQ3FET,=MQ3OVK,=MQ3SVK,=MQ3UIX,=MQ3UVL,=MQ3YHA,=MQ3YMU,=MQ3ZRF,=MQ5PSL,=MQ6AQM, + =MQ6BJJ,=MQ6CCS,=MQ6CHM,=MQ6CRQ,=MQ6DGZ,=MQ6HUT,=MQ6KAJ,=MQ6KAU,=MQ6KSJ,=MQ6KUA,=MQ6LMP,=MQ6MCV, + =MR0BQN,=MR0CWB,=MR0CXA,=MR0DHQ,=MR0DWF,=MR0DXD,=MR0DXH,=MR0EPC,=MR0EQE,=MR0FME,=MR0FMF,=MR0GCF, + =MR0GGG,=MR0GGI,=MR0GOR,=MR0HAI,=MR0HVU,=MR0OIL,=MR0POD,=MR0PSL,=MR0RDM,=MR0SGQ,=MR0SJT,=MR0TAI, + =MR0TSG,=MR0TSS,=MR0VTV,=MR0WEI,=MR0XAF,=MR0XXP,=MR0XXW,=MR1AWV,=MR1HMV,=MR1JWF,=MR1VTB,=MR3AWA, + =MR3AWD,=MR3BRR,=MR3PTS,=MR3UIX,=MR3UVL,=MR3WJZ,=MR3XGP,=MR3YHA,=MR3YPH,=MR3ZCS,=MR5PSL,=MR6AHB, + =MR6ARN,=MR6ATU,=MR6CHM,=MR6CTH,=MR6CTL,=MR6HFC,=MR6MCV,=MR6RLL,=MR6SSI,=MR6TMS,=MV0DXH,=MV0FME, + =MV0FMF,=MV0GHM,=MV0HAR,=MV0LGS,=MV0NFC,=MV0NJS,=MV0SGQ,=MV0SJT,=MV0XXW,=MV1VTB,=MV3BRR,=MV3CVB, + =MV3YHA,=MV3YMU,=MV5PSL,=MV6BJJ,=MV6KSJ,=MV6NRQ; Guernsey: 14: 27: EU: 49.45: 2.58: 0.0: GU: 2U,GP,GU,MP,MU,=2O0FER,=2Q0ARE,=2Q0FER,=2U0ARE/2K,=GB0HAM,=GB0U,=GB2AFG,=GB2FG,=GB2GU,=GB2JTA, =GB4SGG,=GB50GSY,=GO8FBO,=GQ8FBO,=GU0DXX/2K,=GU4GG/2K,=MO0FAL,=MO0KWD,=MQ0FAL,=MR0FAL,=MU/OT9Z/LH; @@ -930,65 +935,65 @@ Wales: 14: 27: EU: 52.28: 3.73: 0.0: GW: =2Q0DAA/M,=2Q0IDT,=2Q0MKG,=2Q0OJA,=2Q0OTL,=2Q0RMR,=2Q0RWF,=2Q0SVW,=2Q0TRR,=2Q0UAA,=2Q0VAY,=2Q0WDS, =2R0BRR,=2R0CDY,=2R0CDZ,=2R0CSS,=2R0CVE,=2R0DRB,=2R0IDT,=2R0OJA,=2R0PHP,=2R0PJP,=2R0REX,=2R0RWF, =2R0TRR,=2R0TYG,=2R0XTP,=2R0YKK,=2R3SFC,=2V0CDY,=2V0CGM,=2V0CLJ,=2V0CVL,=2V0DAA,=2V0DUN,=2V0GME, - =2V0GNG,=2V0KED,=2V0WDS,=2V1EPO,=GB0AAW,=GB0AD,=GB0AVR,=GB0AWE,=GB0AWS,=GB0BHR,=GB0BP,=GB0BRE, - =GB0BTB,=GB0BVL,=GB0BYL,=GB0CCE,=GB0CEW,=GB0CFD,=GB0CGG,=GB0CLC,=GB0CQD,=GB0CSA,=GB0CSR,=GB0CVA, - =GB0DFD,=GB0DMT,=GB0DS,=GB0DVP,=GB0FHD,=GB0FHI,=GB0GDD,=GB0GIW,=GB0GLV,=GB0GMD,=GB0GRM,=GB0HEL, - =GB0HGC,=GB0HLT,=GB0HMM,=GB0HMT,=GB0KF,=GB0L,=GB0LBG,=GB0LM,=GB0LVF,=GB0MFH,=GB0MIW,=GB0ML, - =GB0MPA,=GB0MUU,=GB0MWL,=GB0NAW,=GB0NEW,=GB0NG,=GB0NLC,=GB0PBR,=GB0PEM,=GB0PGG,=GB0PLB,=GB0PLL, - =GB0PSG,=GB0RME,=GB0ROC,=GB0RPO,=GB0RS,=GB0RSC,=GB0RSF,=GB0RWM,=GB0SDD,=GB0SGC,=GB0SH,=GB0SH/LH, - =GB0SOA,=GB0SPE,=GB0SPS,=GB0TD,=GB0TPR,=GB0TS,=GB0TTT,=GB0VCA,=GB0VK,=GB0WHH,=GB0WHR,=GB0WIW, - =GB0WUL,=GB0YG,=GB100AB,=GB100BP,=GB100CSW,=GB100GGC,=GB100GGM,=GB100HD,=GB100LB,=GB100LSG, - =GB100MCV,=GB100TMD,=GB10SOTA,=GB1AD,=GB1ATC,=GB1BAF,=GB1BGS,=GB1BPL,=GB1BSW,=GB1BW,=GB1CCC, - =GB1CDS,=GB1CPG,=GB1DS,=GB1FHS,=GB1HAS,=GB1HTW,=GB1JC,=GB1LSG,=GB1LW,=GB1OOC,=GB1PCA,=GB1PCS, - =GB1PD,=GB1PGW,=GB1PJ,=GB1PLL,=GB1SEA,=GB1SL,=GB1SPN,=GB1SSL,=GB1TDS,=GB1WAA,=GB1WIW,=GB1WSM, - =GB2000SET,=GB2003SET,=GB200HNT,=GB250TMB,=GB250TT,=GB2ADU,=GB2ANG,=GB2BEF,=GB2BGG,=GB2BOM, - =GB2BOW,=GB2BPM,=GB2BYF,=GB2CC,=GB2CI,=GB2COB,=GB2CR,=GB2CRS,=GB2DWR,=GB2EI,=GB2FC,=GB2FLB, - =GB2GGM,=GB2GLS,=GB2GOL,=GB2GSG,=GB2GVA,=GB2HDG,=GB2IMD,=GB2LBR,=GB2LM,=GB2LNP,=GB2LSA,=GB2LSA/LH, - =GB2LSH,=GB2MD,=GB2MGY,=GB2MIL,=GB2MMC,=GB2MOP,=GB2NF,=GB2NPH,=GB2NPL,=GB2OOA,=GB2PRC,=GB2RFS, - =GB2RTB,=GB2SAC,=GB2SCD,=GB2SCP,=GB2SFM,=GB2SIP,=GB2SLA,=GB2TD,=GB2TD/LH,=GB2TTA,=GB2VK,=GB2WAA, - =GB2WHO,=GB2WNA,=GB2WSF,=GB2WT,=GB3HLS,=GB3LMW,=GB4ADU,=GB4AFS,=GB4AOS,=GB4BB,=GB4BOJ,=GB4BPL, - =GB4BPL/LH,=GB4BPL/P,=GB4BPR,=GB4BRS/P,=GB4BSG,=GB4CI,=GB4CTC,=GB4EUL,=GB4FAA,=GB4GM,=GB4GSS, - =GB4HFH,=GB4HI,=GB4HLB,=GB4HMD,=GB4HMM,=GB4MBC,=GB4MD,=GB4MDH,=GB4MDI,=GB4MJS,=GB4MPI,=GB4MUU, - =GB4NDG,=GB4NPL,=GB4NTB,=GB4ON,=GB4OST,=GB4PAT,=GB4PCS,=GB4PD,=GB4POW,=GB4RC,=GB4RME,=GB4RSL, - =GB4SDD,=GB4SLC,=GB4SSP,=GB4SUB,=GB4TMS,=GB4UKG,=GB4VJD,=GB4WT,=GB4WWI,=GB4XT,=GB50ABS,=GB50EVS, - =GB50RSC,=GB50SGP,=GB5AC,=GB5FI,=GB5GEO,=GB5IMD,=GB5MD,=GB5ONG,=GB5PSJ,=GB5SIP,=GB5WT,=GB60DITP, - =GB60ER,=GB60PW,=GB60SPS,=GB60VLY,=GB65BTF,=GB6AC,=GB6BLB,=GB6CRI,=GB6GGM,=GB6OQA,=GB6ORA,=GB6PLB, - =GB6RNLI,=GB6SPD,=GB6TS,=GB6TSG,=GB6WT,=GB6WWT,=GB70BTF,=GB750CC,=GB75ATC,=GB75BB,=GB8CCC,=GB8HI, - =GB8MD,=GB8MG,=GB8OAE,=GB8OQE,=GB8RAF,=GB8WOW,=GB8WT,=GB90RSGB/62,=GB90RSGB/72,=GC4BRS/LH, - =GG100ACD,=GG100ANG,=GG100CPG,=GG100RGG,=GG100SG,=GO0DIV,=GO0EZQ,=GO0EZY,=GO0JEQ,=GO0MNP, - =GO0MNP/P,=GO0NPL,=GO0PLB,=GO0PNI,=GO0PUP,=GO0VKW,=GO0VML,=GO0VSW,=GO1DPL,=GO1IOT,=GO1JFV,=GO1MVL, - =GO1PKM,=GO3PLB,=GO3UOF,=GO3UOF/M,=GO3XJQ,=GO4BKG,=GO4BLE,=GO4CQZ,=GO4DTQ,=GO4GTI,=GO4JKR,=GO4JUN, - =GO4JUW,=GO4MVA,=GO4NOO,=GO4OKT,=GO4SUE,=GO4SUE/P,=GO4TNZ,=GO4WXM,=GO6IMS,=GO6NKG,=GO6UKO,=GO7DWR, - =GO7SBO,=GO7VJK,=GO7VQD,=GO8BQK,=GO8IQC,=GO8JOY,=GO8OKR,=GQ0ANA,=GQ0DIV,=GQ0JEQ,=GQ0JRF,=GQ0MNO, - =GQ0MNP,=GQ0NPL,=GQ0PUP,=GQ0RYT,=GQ0SLM,=GQ0TQM,=GQ0VKW,=GQ0VML,=GQ0VSW,=GQ0WVL,=GQ1FKY,=GQ1FOA/P, - =GQ1IOT,=GQ1JFV,=GQ1MVL,=GQ1NRS,=GQ1WRV,=GQ1ZKN,=GQ3IRK,=GQ3PLB,=GQ3SB,=GQ3UOF,=GQ3VEN,=GQ3VKL, - =GQ3WSU,=GQ3XJA,=GQ3XJQ,=GQ4BKG,=GQ4BLE,=GQ4CQZ,=GQ4EZW,=GQ4GSH,=GQ4GTI,=GQ4IIL,=GQ4JKR,=GQ4JUN, - =GQ4JUW,=GQ4LZP,=GQ4MVA,=GQ4NOO,=GQ4OKT,=GQ4SUE,=GQ4VNS,=GQ4VZJ,=GQ4WXM,=GQ4WXM/P,=GQ6IMS,=GQ6ITJ, - =GQ6NKG,=GQ6UKO,=GQ7BQK,=GQ7DWR,=GQ7FBV,=GQ7SBO,=GQ7UNJ,=GQ7UNV,=GQ7VJK,=GQ7VQD,=GQ8BQK,=GQ8IQC, - =GQ8JOY,=GQ8OKR,=GR0ANA,=GR0DIV,=GR0DSP,=GR0HUS,=GR0JEQ,=GR0MYY,=GR0NPL,=GR0PSV,=GR0RYT,=GR0SYN, - =GR0TKX,=GR0VKW,=GR0WGK,=GR1FJI,=GR1HNG,=GR1LFX,=GR1LHV,=GR1MCD,=GR1SGG,=GR1WVY,=GR1YQM,=GR3SB, - =GR3SFC,=GR3TKH,=GR3UOF,=GR3XJQ,=GR4BKG,=GR4BLE,=GR4CQZ,=GR4GNY,=GR4GTI,=GR4HZA,=GR4JUN,=GR4JUW, - =GR4OGO,=GR4SUE,=GR4VSS/P,=GR4XXJ,=GR4ZOM,=GR5PH,=GR6NKG,=GR6SIX,=GR6STK,=GR6UKO,=GR6ZDH,=GR7AAV, - =GR7HOC,=GR7NAU,=GR7TKZ,=GR7UNV,=GR7VQD,=GR8BQK,=GR8IQC,=GR8OGI,=GR8TRO,=GV0ANA,=GV0DCK,=GV0DIV, - =GV0EME,=GV0FRE,=GV0MNP,=GV0NPL,=GV1FKY,=GV1IOT,=GV1JFV,=GV1NBW,=GV1YQM,=GV3ATZ,=GV3TJE/P,=GV3UOF, - =GV3WEZ,=GV3XJQ,=GV4BKG,=GV4BRS,=GV4CQZ,=GV4JKR,=GV4JQP,=GV4NQJ,=GV4PUC,=GV6BRC,=GV6JPC,=GV6NKG, - =GV7UNV,=GV7VJK,=GV8IQC,=GW0AWT/2K,=GW0GEI/2K,=GW0GIH/2K,=GW0MNO/2K,=GW0VSW/2K,=GW3JXN/2K, - =GW3KJN/2K,=GW4IIL/2K,=GW4VHP/2K,=M2000Y/97A,=MO0AQZ,=MO0ATI,=MO0COE,=MO0CVT,=MO0EQL,=MO0EZQ, - =MO0GXE,=MO0HCX,=MO0IBZ,=MO0IML,=MO0KLW,=MO0LDJ,=MO0LLK,=MO0LUK,=MO0LZZ,=MO0MAU,=MO0MUM,=MO0MWZ, - =MO0OWW,=MO0SGD,=MO0SGR,=MO0TBB,=MO0TMI,=MO0TTU,=MO0UPH,=MO0VVO,=MO1CFA,=MO1CFN,=MO3DAO,=MO3DQB, - =MO3GKI,=MO3OJA,=MO3PUU,=MO3RNI,=MO3UEZ,=MO3WPH,=MO3YVO,=MO3ZCO,=MO6DVP,=MO6GWK,=MO6GWR,=MO6GWR/P, - =MO6MAU,=MO6PAM,=MO6PLC,=MO6PUT,=MO6SEF,=MO6TBD,=MO6TBP,=MO6WLB,=MQ0AQZ,=MQ0ATI,=MQ0AWW,=MQ0CDO, - =MQ0CNA,=MQ0CVT,=MQ0DHF,=MQ0EQL,=MQ0GXE,=MQ0GYV,=MQ0HCX,=MQ0IBZ,=MQ0IML,=MQ0LDJ,=MQ0LLK,=MQ0LUK, - =MQ0LZZ,=MQ0MAU,=MQ0MUM,=MQ0MWA,=MQ0MWZ,=MQ0OWW,=MQ0PAD,=MQ0RHD,=MQ0SGD,=MQ0SGR,=MQ0TBB,=MQ0TMI, - =MQ0TTU,=MQ0UPH,=MQ0UPH/P,=MQ0VVO,=MQ0XMC/P,=MQ1CFA,=MQ1CFN,=MQ1EYO/P,=MQ1LCR,=MQ3DAO,=MQ3EPA, - =MQ3GKI,=MQ3JAT,=MQ3NDB,=MQ3OJA,=MQ3USK,=MQ3WPH,=MQ3ZCB/P,=MQ5AND,=MQ5EPA,=MQ5VZW,=MQ6DVP,=MQ6KLL, - =MQ6MAU,=MQ6PAM,=MQ6PLC,=MQ6RHD,=MQ6SEF,=MQ6TBD,=MQ6TBP,=MR0AQZ,=MR0BXJ,=MR0CVT,=MR0GUK,=MR0GXE, - =MR0IDX,=MR0JGE,=MR0LAO,=MR0LDJ,=MR0MAU,=MR0RLD,=MR0TTR,=MR0TTU,=MR0YAD,=MR0ZAP,=MR1CFN,=MR1EAA, - =MR1LCR,=MR1MAJ/P,=MR1MDH,=MR3AVB,=MR3AVC,=MR3CBF,=MR3NYR,=MR3OBL,=MR3SET/P,=MR3UFN,=MR3XZP, - =MR3YKL,=MR3YLO,=MR3YVO,=MR3ZCB/P,=MR5HOC,=MR6ADZ,=MR6KDA,=MR6VHF,=MR6YDP,=MV0AEL,=MV0BLM,=MV0EDX, - =MV0GWT,=MV0GXE,=MV0HGY/P,=MV0IML,=MV0LLK,=MV0PJJ,=MV0PJJ/P,=MV0RRD,=MV0SGD,=MV0SGR,=MV0TBB, - =MV0TDQ,=MV0UAA,=MV0USK,=MV0VRQ,=MV0WYN,=MV1CFA,=MV1CFN,=MV1EYP/P,=MV3RNI,=MV6CQN,=MV6GWR, - =MV6GWR/P,=MV6URC,=MV6ZOL,=MW0CND/2K,=MW0DHF/LH,=MW5AAM/2K,=MW5GOL/LH; + =2V0GNG,=2V0KED,=2V0WDS,=2V1EPO,=GB0AAW,=GB0AD,=GB0AWE,=GB0AWS,=GB0BHR,=GB0BP,=GB0BRE,=GB0BTB, + =GB0BVL,=GB0BYL,=GB0CCE,=GB0CEW,=GB0CFD,=GB0CGG,=GB0CLC,=GB0CQD,=GB0CSA,=GB0CSR,=GB0CVA,=GB0DFD, + =GB0DMT,=GB0DS,=GB0DVP,=GB0FHD,=GB0FHI,=GB0GDD,=GB0GIW,=GB0GLV,=GB0GMD,=GB0GRM,=GB0HEL,=GB0HGC, + =GB0HLT,=GB0HMM,=GB0HMT,=GB0KF,=GB0L,=GB0LBG,=GB0LM,=GB0LVF,=GB0MFH,=GB0MIW,=GB0ML,=GB0MPA, + =GB0MUU,=GB0MWL,=GB0NAW,=GB0NEW,=GB0NG,=GB0NLC,=GB0PBR,=GB0PEM,=GB0PGG,=GB0PLB,=GB0PLL,=GB0PSG, + =GB0RME,=GB0ROC,=GB0RPO,=GB0RS,=GB0RSC,=GB0RSF,=GB0RWM,=GB0SDD,=GB0SGC,=GB0SH,=GB0SH/LH,=GB0SOA, + =GB0SPE,=GB0SPS,=GB0TD,=GB0TPR,=GB0TS,=GB0TTT,=GB0VCA,=GB0VK,=GB0WHH,=GB0WHR,=GB0WIW,=GB0WUL, + =GB0YG,=GB100AB,=GB100BP,=GB100CSW,=GB100GGC,=GB100GGM,=GB100HD,=GB100LB,=GB100LSG,=GB100MCV, + =GB100TMD,=GB10SOTA,=GB1AD,=GB1ATC,=GB1BAF,=GB1BGS,=GB1BPL,=GB1BSW,=GB1BW,=GB1CCC,=GB1CDS,=GB1CPG, + =GB1DS,=GB1FHS,=GB1HAS,=GB1HTW,=GB1JC,=GB1LSG,=GB1LW,=GB1OOC,=GB1PCA,=GB1PCS,=GB1PD,=GB1PGW, + =GB1PJ,=GB1PLL,=GB1SEA,=GB1SL,=GB1SPN,=GB1SSL,=GB1TDS,=GB1WAA,=GB1WIW,=GB1WSM,=GB2000SET, + =GB2003SET,=GB200HNT,=GB250TMB,=GB250TT,=GB2ADU,=GB2BEF,=GB2BGG,=GB2BOM,=GB2BOW,=GB2BPM,=GB2BYF, + =GB2CC,=GB2CI,=GB2COB,=GB2CR,=GB2CRS,=GB2DWR,=GB2EI,=GB2FC,=GB2FLB,=GB2GGM,=GB2GLS,=GB2GOL, + =GB2GSG,=GB2GVA,=GB2HDG,=GB2IMD,=GB2LBR,=GB2LM,=GB2LNP,=GB2LSA,=GB2LSA/LH,=GB2LSH,=GB2MD,=GB2MGY, + =GB2MIL,=GB2MMC,=GB2MOP,=GB2NF,=GB2NPH,=GB2NPL,=GB2OOA,=GB2PRC,=GB2RFS,=GB2RTB,=GB2SAC,=GB2SCD, + =GB2SCP,=GB2SFM,=GB2SIP,=GB2SLA,=GB2TD,=GB2TD/LH,=GB2TTA,=GB2VK,=GB2WAA,=GB2WHO,=GB2WNA,=GB2WSF, + =GB2WT,=GB3HLS,=GB3LMW,=GB4ADU,=GB4AFS,=GB4AOS,=GB4BB,=GB4BOJ,=GB4BPL,=GB4BPL/LH,=GB4BPL/P, + =GB4BPR,=GB4BRS/P,=GB4BSG,=GB4CI,=GB4CTC,=GB4EUL,=GB4FAA,=GB4GM,=GB4GSS,=GB4HFH,=GB4HI,=GB4HLB, + =GB4HMD,=GB4HMM,=GB4MBC,=GB4MD,=GB4MDH,=GB4MDI,=GB4MJS,=GB4MPI,=GB4MUU,=GB4NDG,=GB4NPL,=GB4NTB, + =GB4ON,=GB4OST,=GB4PAT,=GB4PCS,=GB4PD,=GB4POW,=GB4RC,=GB4RME,=GB4RSL,=GB4SDD,=GB4SLC,=GB4SSP, + =GB4SUB,=GB4TMS,=GB4UKG,=GB4VJD,=GB4WT,=GB4WWI,=GB4XT,=GB50ABS,=GB50EVS,=GB50RSC,=GB50SGP,=GB5AC, + =GB5FI,=GB5GEO,=GB5IMD,=GB5MD,=GB5ONG,=GB5PSJ,=GB5SIP,=GB5WT,=GB60DITP,=GB60ER,=GB60PW,=GB60SPS, + =GB60VLY,=GB65BTF,=GB6AC,=GB6BLB,=GB6CRI,=GB6GGM,=GB6OQA,=GB6ORA,=GB6PLB,=GB6RNLI,=GB6SPD,=GB6TS, + =GB6TSG,=GB6WT,=GB6WWT,=GB70BTF,=GB750CC,=GB75ATC,=GB75BB,=GB8CCC,=GB8HI,=GB8MD,=GB8MG,=GB8OAE, + =GB8OQE,=GB8RAF,=GB8WOW,=GB8WT,=GB90RSGB/62,=GB90RSGB/72,=GC4BRS/LH,=GG100ACD,=GG100ANG,=GG100CPG, + =GG100RGG,=GG100SG,=GO0DIV,=GO0EZQ,=GO0EZY,=GO0JEQ,=GO0MNP,=GO0MNP/P,=GO0NPL,=GO0PLB,=GO0PNI, + =GO0PUP,=GO0VKW,=GO0VML,=GO0VSW,=GO1DPL,=GO1IOT,=GO1JFV,=GO1MVL,=GO1PKM,=GO3PLB,=GO3UOF,=GO3UOF/M, + =GO3XJQ,=GO4BKG,=GO4BLE,=GO4CQZ,=GO4DTQ,=GO4GTI,=GO4JKR,=GO4JUN,=GO4JUW,=GO4MVA,=GO4NOO,=GO4OKT, + =GO4SUE,=GO4SUE/P,=GO4TNZ,=GO4WXM,=GO6IMS,=GO6NKG,=GO6UKO,=GO7DWR,=GO7SBO,=GO7VJK,=GO7VQD,=GO8BQK, + =GO8IQC,=GO8JOY,=GO8OKR,=GQ0ANA,=GQ0DIV,=GQ0JEQ,=GQ0JRF,=GQ0MNO,=GQ0MNP,=GQ0NPL,=GQ0PUP,=GQ0RYT, + =GQ0SLM,=GQ0TQM,=GQ0VKW,=GQ0VML,=GQ0VSW,=GQ0WVL,=GQ1FKY,=GQ1FOA/P,=GQ1IOT,=GQ1JFV,=GQ1MVL,=GQ1NRS, + =GQ1WRV,=GQ1ZKN,=GQ3IRK,=GQ3PLB,=GQ3SB,=GQ3UOF,=GQ3VEN,=GQ3VKL,=GQ3WSU,=GQ3XJA,=GQ3XJQ,=GQ4BKG, + =GQ4BLE,=GQ4CQZ,=GQ4EZW,=GQ4GSH,=GQ4GTI,=GQ4IIL,=GQ4JKR,=GQ4JUN,=GQ4JUW,=GQ4LZP,=GQ4MVA,=GQ4NOO, + =GQ4OKT,=GQ4SUE,=GQ4VNS,=GQ4VZJ,=GQ4WXM,=GQ4WXM/P,=GQ6IMS,=GQ6ITJ,=GQ6NKG,=GQ6UKO,=GQ7BQK,=GQ7DWR, + =GQ7FBV,=GQ7SBO,=GQ7UNJ,=GQ7UNV,=GQ7VJK,=GQ7VQD,=GQ8BQK,=GQ8IQC,=GQ8JOY,=GQ8OKR,=GR0ANA,=GR0DIV, + =GR0DSP,=GR0HUS,=GR0JEQ,=GR0MYY,=GR0NPL,=GR0PSV,=GR0RYT,=GR0SYN,=GR0TKX,=GR0VKW,=GR0WGK,=GR1FJI, + =GR1HNG,=GR1LFX,=GR1LHV,=GR1MCD,=GR1SGG,=GR1WVY,=GR1YQM,=GR3SB,=GR3SFC,=GR3TKH,=GR3UOF,=GR3XJQ, + =GR4BKG,=GR4BLE,=GR4CQZ,=GR4GNY,=GR4GTI,=GR4HZA,=GR4JUN,=GR4JUW,=GR4OGO,=GR4SUE,=GR4VSS/P,=GR4XXJ, + =GR4ZOM,=GR5PH,=GR6NKG,=GR6SIX,=GR6STK,=GR6UKO,=GR6ZDH,=GR7AAV,=GR7HOC,=GR7NAU,=GR7TKZ,=GR7UNV, + =GR7VQD,=GR8BQK,=GR8IQC,=GR8OGI,=GR8TRO,=GV0ANA,=GV0DCK,=GV0DIV,=GV0EME,=GV0FRE,=GV0MNP,=GV0NPL, + =GV1FKY,=GV1IOT,=GV1JFV,=GV1NBW,=GV1YQM,=GV3ATZ,=GV3TJE/P,=GV3UOF,=GV3WEZ,=GV3XJQ,=GV4BKG,=GV4BRS, + =GV4CQZ,=GV4JKR,=GV4JQP,=GV4NQJ,=GV4PUC,=GV6BRC,=GV6JPC,=GV6NKG,=GV7UNV,=GV7VJK,=GV8IQC, + =GW0AWT/2K,=GW0GEI/2K,=GW0GIH/2K,=GW0MNO/2K,=GW0VSW/2K,=GW3JXN/2K,=GW3KJN/2K,=GW4IIL/2K, + =GW4VHP/2K,=M2000Y/97A,=MO0AQZ,=MO0ATI,=MO0COE,=MO0CVT,=MO0EQL,=MO0EZQ,=MO0GXE,=MO0HCX,=MO0IBZ, + =MO0IML,=MO0KLW,=MO0LDJ,=MO0LLK,=MO0LUK,=MO0LZZ,=MO0MAU,=MO0MUM,=MO0MWZ,=MO0OWW,=MO0SGD,=MO0SGR, + =MO0TBB,=MO0TMI,=MO0TTU,=MO0UPH,=MO0VVO,=MO1CFA,=MO1CFN,=MO3DAO,=MO3DQB,=MO3GKI,=MO3OJA,=MO3PUU, + =MO3RNI,=MO3UEZ,=MO3WPH,=MO3YVO,=MO3ZCO,=MO6DVP,=MO6GWK,=MO6GWR,=MO6GWR/P,=MO6MAU,=MO6PAM,=MO6PLC, + =MO6PUT,=MO6SEF,=MO6TBD,=MO6TBP,=MO6WLB,=MQ0AQZ,=MQ0ATI,=MQ0AWW,=MQ0CDO,=MQ0CNA,=MQ0CVT,=MQ0DHF, + =MQ0EQL,=MQ0GXE,=MQ0GYV,=MQ0HCX,=MQ0IBZ,=MQ0IML,=MQ0LDJ,=MQ0LLK,=MQ0LUK,=MQ0LZZ,=MQ0MAU,=MQ0MUM, + =MQ0MWA,=MQ0MWZ,=MQ0OWW,=MQ0PAD,=MQ0RHD,=MQ0SGD,=MQ0SGR,=MQ0TBB,=MQ0TMI,=MQ0TTU,=MQ0UPH,=MQ0UPH/P, + =MQ0VVO,=MQ0XMC/P,=MQ1CFA,=MQ1CFN,=MQ1EYO/P,=MQ1LCR,=MQ3DAO,=MQ3EPA,=MQ3GKI,=MQ3JAT,=MQ3NDB, + =MQ3OJA,=MQ3USK,=MQ3WPH,=MQ3ZCB/P,=MQ5AND,=MQ5EPA,=MQ5VZW,=MQ6DVP,=MQ6KLL,=MQ6MAU,=MQ6PAM,=MQ6PLC, + =MQ6RHD,=MQ6SEF,=MQ6TBD,=MQ6TBP,=MR0AQZ,=MR0BXJ,=MR0CVT,=MR0GUK,=MR0GXE,=MR0IDX,=MR0JGE,=MR0LAO, + =MR0LDJ,=MR0MAU,=MR0RLD,=MR0TTR,=MR0TTU,=MR0YAD,=MR0ZAP,=MR1CFN,=MR1EAA,=MR1LCR,=MR1MAJ/P,=MR1MDH, + =MR3AVB,=MR3AVC,=MR3CBF,=MR3NYR,=MR3OBL,=MR3SET/P,=MR3UFN,=MR3XZP,=MR3YKL,=MR3YLO,=MR3YVO, + =MR3ZCB/P,=MR5HOC,=MR6ADZ,=MR6KDA,=MR6VHF,=MR6YDP,=MV0AEL,=MV0BLM,=MV0EDX,=MV0GWT,=MV0GXE, + =MV0HGY/P,=MV0IML,=MV0LLK,=MV0PJJ,=MV0PJJ/P,=MV0RRD,=MV0SGD,=MV0SGR,=MV0TBB,=MV0TDQ,=MV0UAA, + =MV0USK,=MV0VRQ,=MV0WYN,=MV1CFA,=MV1CFN,=MV1EYP/P,=MV3RNI,=MV6CQN,=MV6GWR,=MV6GWR/P,=MV6URC, + =MV6ZOL,=MW0CND/2K,=MW0DHF/LH,=MW5AAM/2K,=MW5GOL/LH; Solomon Islands: 28: 51: OC: -9.00: -160.00: -11.0: H4: H4,=H40/H44RK; Temotu Province: 32: 51: OC: -10.72: -165.80: -11.0: H40: @@ -1044,14 +1049,15 @@ Italy: 15: 28: EU: 42.82: -12.58: -1.0: I: =IQ2MI/J,=IW2NUY/N,=IZ2MYA/EXPO, =I3GJJ/J,=I3TXQ/N,=IK3TZB/N,=IQ3DD/MCC,=IQ3FL/J,=IQ3TS/LH,=IW3BSQ/LH,=IZ3DBA/N,=IZ3GHP/N, =IZ3QCH/N,=IZ3SZQ/N, - =I4CQO/N,=II4GOR/LH,=IQ4FA/J,=IQ4FJ/J,=IQ4RN/LGT,=IQ4RN/LH,=IW4EGX/LH,=IZ4AIH/J, - =I5OYY/N,=IK5IWU/N,=IK5TSZ/N,=IP5P/LH,=IQ5AA/J,=IQ5AE/J,=IQ5LI/J,=IQ5LV/J,=IW5DAX/J,=IZ5AHB/N, + =I4CQO/N,=II4GOR/LH,=IQ4FA/J,=IQ4FJ/J,=IQ4RN/LGT,=IQ4RN/LH,=IT9RGY/4,=IW4EGX/LH,=IZ4AIH/J, + =I5OYY/N,=IK5IWU/N,=IK5TSZ/N,=IP5P/LH,=IQ5AA/J,=IQ5AE/J,=IQ5LI/J,=IQ5LV/J,=IU5JHK/J,=IW5DAX/J, + =IZ5AHB/N, =I6DHY/CASA,=I6FDJ/LH,=I6FDJ/N,=I6HWD/CA,=I6HWD/LH,=I6KIU/6/LH,=IK6XOU/LH,=IK6YXM/N,=IQ6FU/LH, =IQ6PS/LH,=IQ6SB/LGH,=IQ6SB/LGT,=IQ6SB/LH,=IQ6VP/J,=IZ6ASI/LH,=IZ6ASI/N,=IZ6CDI/O,=IZ6RWD/O, =IZ6TGS/LH,=IZ6TGS/N, - =4U13FEB,=4U1GSC,=4U20B,=4U24OCT,=4U29MAY,=I7PXV/LH,=I7PXV/P/LH,=I7XUW/MI/224,=II7IAOI/N,=II7PT/C, - =II7PT/D,=II7PT/E,=II7PT/F,=II7PT/G,=II7PT/H,=II7PT/L,=IK7JWX/LH,=IQ7ML/J,=IQ7ML/LH,=IU7SCT/J, - =IZ2DPX/7/LH,=IZ7DKA/YL,=IZ7KDX/LH,=IZ7LDC/LH, + =4U13FEB,=4U1GSC,=4U20B,=4U24OCT,=4U29MAY,=4U73B,=I7PXV/LH,=I7PXV/P/LH,=I7XUW/MI/224,=II7IAOI/N, + =II7PT/C,=II7PT/D,=II7PT/E,=II7PT/F,=II7PT/G,=II7PT/H,=II7PT/L,=IK7JWX/LH,=IQ7ML/J,=IQ7ML/LH, + =IQ7QK/LH,=IU7SCT/J,=IZ2DPX/7/LH,=IZ7DKA/YL,=IZ7KDX/LH,=IZ7LDC/LH, =IK2RLS/8/LH,=IK8TEO/N,=IQ8OM/N,=IQ8PC/BWL,=IQ8XS/CEU,=IW8FFG/J,=IZ8AJQ/LGT,=IZ8AJQ/LH, =IZ8DBJ/LGT,=IZ8DBJ/LH,=IZ8FMU/KR,=IZ8IZK/YL,=IZ8JPV/N,=IZ8QNX/N, =IA5/IW3ILP/L, @@ -1068,9 +1074,9 @@ Sardinia: 15: 28: EU: 40.15: -9.27: -1.0: IS: =IQ0US,=IQ0UT,=IQ0XP,=IR0EO,=IR0FOC,=IR0IDP,=IR0IDP/1,=IR0IDP/2,=IR0IDP/3,=IR0LVC,=IR0MDC, =IS0/4Z5KJ/LH,=IS0ICE/N,=IS0IGV/N,=IS0PGF/N,=IS0SDX/N,=IW0HRI,=IY0GA; Sicily: 15: 28: EU: 37.50: -14.00: -1.0: *IT9: - IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IY9,=IT9CHU/J,=IT9CKA/CA,=IT9CLY/JZK,=IT9DSA/CA, - =IT9DTU/N,=IT9GDS/WLK,=IT9HBS/LH,=IT9JZK/WLK,=IT9KKE/JZK,=IT9MRM/N,=IT9MRZ/LH,=IT9NCO/LH, - =IT9NCO/N,=IT9OTF/JZK,=IT9RRU/LH,=IT9RYH/J,=IT9RYH/N,=IT9ZSB/LH,=IW0HBY/9; + IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IY9,=IQ1QQ/9,=IT9CHU/J,=IT9CKA/CA,=IT9CLY/JZK, + =IT9DSA/CA,=IT9DTU/N,=IT9GDS/WLK,=IT9HBS/LH,=IT9JZK/WLK,=IT9KKE/JZK,=IT9MRM/N,=IT9MRZ/LH, + =IT9NCO/LH,=IT9NCO/N,=IT9OTF/JZK,=IT9RRU/LH,=IT9RYH/J,=IT9RYH/N,=IT9ZSB/LH,=IW0HBY/9; Djibouti: 37: 48: AF: 11.75: -42.35: -3.0: J2: J2; Grenada: 08: 11: NA: 12.13: 61.68: 4.0: J3: @@ -1085,9 +1091,10 @@ St. Vincent: 08: 11: NA: 13.23: 61.20: 4.0: J8: J8; Japan: 25: 45: AS: 36.40: -138.38: -9.0: JA: 7J,7K,7L,7M,7N,8J,8K,8L,8M,8N,JA,JE,JF,JG,JH,JI,JJ,JK,JL,JM,JN,JO,JP,JQ,JR,JS,=7N2DAB/LH, - =JD1BHH/6,=JO1ZYB/L, + =JO1ZYB/L, =7N4RHO/BM,=JE1LET/AE3RM,=JE1LET/VK3SS,=JE1XUZ/YOTA,=JH1NBN/DF2OO,=JH1NBN/DL1BD, - =JQ2UXA/YL; + =JQ2UXA/YL, + =JD1BHH/6; Minami Torishima: 27: 90: OC: 24.28: -153.97: -10.0: JD/m: =8J1ZIU/JD1,=8N1AQ/JD1,=JA6GXK/JD1,=JD1/8J1ZIU,=JD1/8N1AQ,=JD1/JA6GXK,=JD1/JD1BIC,=JD1/JD1YAB, =JD1/JE6XPF,=JD1/JF3CTR,=JD1/JF7MTO,=JD1/JF8HIQ,=JD1/JG1RHN,=JD1/JG8NQJ,=JD1/JH1EFP,=JD1/JI2AMA, @@ -1097,7 +1104,7 @@ Minami Torishima: 27: 90: OC: 24.28: -153.97: -10.0: JD/m: Ogasawara: 27: 45: AS: 27.05: -142.20: -9.0: JD/o: JD1,=8N1OGA; Mongolia: 23: 32: AS: 46.77: -102.17: -7.0: JT: - JT,JU,JV,=VERSION, + JT,JU,JV, JT2[33],JU2[33],JV2[33], JT3[33],JU3[33],JV3[33]; Svalbard: 40: 18: EU: 78.00: -16.00: -1.0: JW: @@ -1126,69 +1133,71 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KH2OP/0(4)[7],=KH2SL(4)[7],=KH6DM(4)[7],=KH6GN(4)[7],=KH6HNL(4)[7],=KH6HTV/0(4)[7],=KH6JEM(4)[7], =KH6JFH(4)[7],=KH6NM(4)[7],=KH6NR(4)[7],=KH6RON(4)[7],=KH6SB(4)[7],=KH6TL(4)[7],=KH6UC(4)[7], =KH6VHF(4)[7],=KH6VO(4)[7],=KH7AL/M(4)[7],=KH7AL/P(4)[7],=KH7BU(4)[7],=KH7GF(4)[7],=KH7HA(4)[7], - =KH7HY(4)[7],=KH7QT(4)[7],=KH8CW(4)[7],=KL0DW(4)[7],=KL0EQ(4)[7],=KL0FOX(4)[7],=KL0GP(4)[7], - =KL0GQ(4)[7],=KL0MW(4)[7],=KL0UP(4)[7],=KL0WIZ(4)[7],=KL1HT(4)[7],=KL1IF(4)[7],=KL1IF/M(4)[7], - =KL1J(4)[7],=KL1LD(4)[7],=KL1PV(4)[7],=KL1TU(4)[7],=KL1V/M(4)[7],=KL1VN(4)[7],=KL2A/0(4)[7], - =KL2FU(4)[7],=KL2GR(4)[7],=KL2QO(4)[7],=KL2SX(4)[7],=KL3LY(4)[7],=KL3MA(4)[7],=KL3MB(4)[7], - =KL3MC(4)[7],=KL3QS(4)[7],=KL3SM(4)[7],=KL3VN(4)[7],=KL4JN(4)[7],=KL7DE(4)[7],=KL7DTJ(4)[7], - =KL7ED(4)[7],=KL7EP(4)[7],=KL7EP/0(4)[7],=KL7GKY/0(4)[7],=KL7GLK(4)[7],=KL7GLK/0(4)[7], - =KL7GLK/B(4)[7],=KL7IEI(4)[7],=KL7IXI(4)[7],=KL7JGJ(4)[7],=KL7JIE(4)[7],=KL7JIM(4)[7], - =KL7JR/0(4)[7],=KL7MH(4)[7],=KL7MV(4)[7],=KL7NW(4)[7],=KL7PE/M(4)[7],=KL7QW(4)[7],=KL7QW/0(4)[7], - =KL7RH(4)[7],=KL7RZ(4)[7],=KL7SB/0(4)[7],=KL7SFD(4)[7],=KL7UV(4)[7],=KL7XH(4)[7],=KL7YL(4)[7], - =KL7YY/0(4)[7],=KL7ZD(4)[7],=KL7ZT(4)[7],=KP4ATV(4)[7],=KP4MLF(4)[7],=KP4XZ(4)[7],=NH2LH(4)[7], - =NH6CF(4)[7],=NH6WF(4)[7],=NH7CY(4)[7],=NH7FI(4)[7],=NH7XM(4)[7],=NH7ZH(4)[7],=NL7AS(4)[7], - =NL7BU(4)[7],=NL7CQ(4)[7],=NL7FF(4)[7],=NL7FU(4)[7],=NL7XT(4)[7],=NL7XU(4)[7],=NP4AI(4)[7], - =NP4AI/0(4)[7],=VE4AGT/M(4)[7],=VE4XC/M(4)[7],=WH2S(4)[7],=WH6AKZ(4)[7],=WH6ANH(4)[7], - =WH6BLT(4)[7],=WH6BUL(4)[7],=WH6BXD(4)[7],=WH6CTU(4)[7],=WH6CUE(4)[7],=WH6CYM(4)[7],=WH6CZI(4)[7], - =WH6CZU(4)[7],=WH6DCJ(4)[7],=WH6EAE(4)[7],=WH6ENX(4)[7],=WH6LR(4)[7],=WH6MS(4)[7],=WH6QS(4)[7], - =WH7DA(4)[7],=WH7IR(4)[7],=WH7MZ(4)[7],=WH7PV(4)[7],=WH9AAH(4)[7],=WL0JF(4)[7],=WL1ON(4)[7], - =WL7AEC(4)[7],=WL7AJA(4)[7],=WL7ANY(4)[7],=WL7ATK(4)[7],=WL7BT(4)[7],=WL7CEG(4)[7],=WL7CLI(4)[7], - =WL7CPW(4)[7],=WL7CQF(4)[7],=WL7CRT(4)[7],=WL7CY(4)[7],=WL7JB(4)[7],=WL7LZ(4)[7],=WL7RV(4)[7], - =WL7YM(4)[7],=WP2B/0(4)[7],=WP3QH(4)[7],=WP3Y(4)[7],=WP4BTQ(4)[7],=WP4GQR(4)[7],=WP4HRK(4)[7], - =WP4LC(4)[7],=WP4NPV(4)[7], - =AH2V(5)[8],=AH2W(5)[8],=AH6BV(5)[8],=AL0A(5)[8],=AL1O(5)[8],=AL4V(5)[8],=AL7EL(5)[8], - =AL7LV(5)[8],=AL7QS(5)[8],=AL8E(5)[8],=KH2EH(5)[8],=KH6GR(5)[8],=KH6HZ(5)[8],=KH6IKI(5)[8], - =KH6JUK(5)[8],=KH6RF(5)[8],=KH6RF/1(5)[8],=KH6RF/M(5)[8],=KH7CD(5)[8],=KH7CD/1(5)[8],=KH8AC(5)[8], - =KH8AC/1(5)[8],=KL1OC(5)[8],=KL1T(5)[8],=KL1WD(5)[8],=KL2A/1(5)[8],=KL2DM(5)[8],=KL2IC(5)[8], - =KL2KL(5)[8],=KL7CE(5)[8],=KL7CE/1(5)[8],=KL7IXX(5)[8],=KL7JHM(5)[8],=KL7JJN(5)[8],=KL7JR/1(5)[8], - =KL7JT(5)[8],=KL7LK(5)[8],=KL7USI/1(5)[8],=KL8DX(5)[8],=KP4ANG(5)[8],=KP4BLS(5)[8],=KP4BPR(5)[8], - =KP4DGF(5)[8],=KP4EC/1(5)[8],=KP4G(5)[8],=KP4GVT(5)[8],=KP4MR(5)[8],=KP4NPL(5)[8],=KP4NW(5)[8], - =KP4R(5)[8],=KP4RCD(5)[8],=NH0H(5)[8],=NH6IH(5)[8],=NH6XW(5)[8],=NH6ZB(5)[8],=NL7FJ(5)[8], - =NL7MO(5)[8],=NL7NJ(5)[8],=NL7OI(5)[8],=NL7OT(5)[8],=NL7RL(5)[8],=NL9H(5)[8],=NP2FZ(5)[8], - =NP2FZ/1(5)[8],=NP2GG(5)[8],=NP2PN(5)[8],=NP3IV(5)[8],=NP3LN(5)[8],=NP4AO(5)[8],=NP4AZ(5)[8], - =NP4ER(5)[8],=VE1BES/M(5)[8],=VE3CMB/M(5)[8],=VE4CCN/M(5)[8],=WH0EWX(5)[8],=WH2B(5)[8], - =WH6CT(5)[8],=WH6DSN(5)[8],=WH6EI(5)[8],=WH6FBH(5)[8],=WH7TP(5)[8],=WL1B(5)[8],=WL7B(5)[8], - =WL7CC(5)[8],=WL7CUP(5)[8],=WL7CVD(5)[8],=WL7WO(5)[8],=WL7WO/1(5)[8],=WL7Z/1(5)[8],=WP2MG(5)[8], - =WP3NN(5)[8],=WP3NZ(5)[8],=WP3WV(5)[8],=WP4AKE(5)[8],=WP4AZJ(5)[8],=WP4BC(5)[8],=WP4BF(5)[8], - =WP4CJH(5)[8],=WP4JF(5)[8],=WP4KQ(5)[8],=WP4MKJ(5)[8],=WP4MMV(5)[8],=WP4MOC(5)[8],=WP4NKW(5)[8], - =WP4NUV(5)[8],=WP4NYY(5)[8],=WP4OIG(5)[8],=WP4OJK(5)[8], - =AH0BR(5)[8],=AH2AL(5)[8],=AH2O(5)[8],=AH6K(5)[8],=AL0Y(5)[8],=AL2O(5)[8],=AL7RG(5)[8], - =KH2CW(5)[8],=KH2P(5)[8],=KH2R(5)[8],=KH4AG(5)[8],=KH6ALN(5)[8],=KH6HO(5)[8],=KH7GA(5)[8], - =KH7JO(5)[8],=KH7JO/2(5)[8],=KH7MX(5)[8],=KH7NE(5)[8],=KH8ZK(5)[8],=KL0WV(5)[8],=KL1A/2(5)[8], - =KL2A/2(5)[8],=KL2NP(5)[8],=KL3DY(5)[8],=KL3ET(5)[8],=KL3ZC(5)[8],=KL4T(5)[8],=KL7DL(5)[8], - =KL7GB(5)[8],=KL7JCQ(5)[8],=KL7NL/2(5)[8],=KL7TJZ(5)[8],=KL7USI/2(5)[8],=KL7WA(5)[8],=KP2NP(5)[8], - =KP3AK(5)[8],=KP3LM(5)[8],=KP3S(5)[8],=KP3Y(5)[8],=KP4AK(5)[8],=KP4C(5)[8],=KP4CML(5)[8], - =KP4HR(5)[8],=KP4I(5)[8],=KP4JDR(5)[8],=NH2DC(5)[8],=NL7CC(5)[8],=NP2AQ(5)[8],=NP2GI(5)[8], - =NP3D(5)[8],=NP3E(5)[8],=NP3EU(5)[8],=NP3KH(5)[8],=NP3KP(5)[8],=NP4IR(5)[8],=NP4IT(5)[8], - =NP4JQ(5)[8],=WH0W(5)[8],=WH2C(5)[8],=WH6DLD(5)[8],=WH6DNT(5)[8],=WH6UO(5)[8],=WL2NAS(5)[8], - =WL7OG(5)[8],=WP2AAO(5)[8],=WP3MD(5)[8],=WP3VU(5)[8],=WP3WZ(5)[8],=WP4AR(5)[8],=WP4BMU(5)[8], - =WP4BNI(5)[8],=WP4BZ(5)[8],=WP4CB(5)[8],=WP4DME(5)[8],=WP4DWH(5)[8],=WP4EHY(5)[8],=WP4EYW(5)[8], - =WP4HLY(5)[8],=WP4HXS(5)[8],=WP4LYI(5)[8],=WP4MQN(5)[8],=WP4MRB(5)[8],=WP4MYM(5)[8],=WP4MZO(5)[8], - =WP4NBS(5)[8],=WP4OPY(5)[8],=WP4PZB(5)[8],=WP4R(5)[8],=XL3TUV/M(5)[8],=XM3CMB/M(5)[8], + =KH7HY(4)[7],=KH7QI(4)[7],=KH7QJ(4)[7],=KH7QT(4)[7],=KH8CW(4)[7],=KL0DW(4)[7],=KL0EQ(4)[7], + =KL0FOX(4)[7],=KL0GP(4)[7],=KL0GQ(4)[7],=KL0MW(4)[7],=KL0UP(4)[7],=KL0WIZ(4)[7],=KL1HT(4)[7], + =KL1IF(4)[7],=KL1IF/M(4)[7],=KL1J(4)[7],=KL1LD(4)[7],=KL1PV(4)[7],=KL1TU(4)[7],=KL1V/M(4)[7], + =KL1VN(4)[7],=KL2A/0(4)[7],=KL2FU(4)[7],=KL2GR(4)[7],=KL2QO(4)[7],=KL2SX(4)[7],=KL3LY(4)[7], + =KL3MA(4)[7],=KL3MB(4)[7],=KL3MC(4)[7],=KL3QS(4)[7],=KL3SM(4)[7],=KL3VN(4)[7],=KL4IY(4)[7], + =KL4JN(4)[7],=KL7DE(4)[7],=KL7DTJ(4)[7],=KL7ED(4)[7],=KL7EP(4)[7],=KL7EP/0(4)[7],=KL7GKY/0(4)[7], + =KL7GLK(4)[7],=KL7GLK/0(4)[7],=KL7GLK/B(4)[7],=KL7IEI(4)[7],=KL7IXI(4)[7],=KL7JGJ(4)[7], + =KL7JIE(4)[7],=KL7JIM(4)[7],=KL7JR/0(4)[7],=KL7MH(4)[7],=KL7MV(4)[7],=KL7NW(4)[7],=KL7PE/M(4)[7], + =KL7QW(4)[7],=KL7QW/0(4)[7],=KL7RH(4)[7],=KL7RZ(4)[7],=KL7SB/0(4)[7],=KL7SFD(4)[7],=KL7UV(4)[7], + =KL7XH(4)[7],=KL7YL(4)[7],=KL7YY/0(4)[7],=KL7ZD(4)[7],=KL7ZT(4)[7],=KP4ATV(4)[7],=KP4MLF(4)[7], + =KP4XZ(4)[7],=NH2LH(4)[7],=NH6CF(4)[7],=NH6WF(4)[7],=NH7CY(4)[7],=NH7FI(4)[7],=NH7XM(4)[7], + =NH7ZH(4)[7],=NL7AS(4)[7],=NL7BU(4)[7],=NL7CQ(4)[7],=NL7FF(4)[7],=NL7FU(4)[7],=NL7XT(4)[7], + =NL7XU(4)[7],=NP4AI(4)[7],=NP4AI/0(4)[7],=VE4AGT/M(4)[7],=VE4XC/M(4)[7],=WH2S(4)[7],=WH6AKZ(4)[7], + =WH6ANH(4)[7],=WH6BLT(4)[7],=WH6BUL(4)[7],=WH6BXD(4)[7],=WH6CTU(4)[7],=WH6CUE(4)[7],=WH6CYM(4)[7], + =WH6CZI(4)[7],=WH6CZU(4)[7],=WH6DCJ(4)[7],=WH6DUV(4)[7],=WH6EAE(4)[7],=WH6ENX(4)[7],=WH6LR(4)[7], + =WH6MS(4)[7],=WH6QS(4)[7],=WH7DA(4)[7],=WH7IR(4)[7],=WH7MZ(4)[7],=WH7PV(4)[7],=WH9AAH(4)[7], + =WL0JF(4)[7],=WL1ON(4)[7],=WL7AEC(4)[7],=WL7AJA(4)[7],=WL7ANY(4)[7],=WL7ATK(4)[7],=WL7BT(4)[7], + =WL7CEG(4)[7],=WL7CLI(4)[7],=WL7CPW(4)[7],=WL7CQF(4)[7],=WL7CRT(4)[7],=WL7CY(4)[7],=WL7JB(4)[7], + =WL7LZ(4)[7],=WL7LZ/M(4)[7],=WL7RV(4)[7],=WL7YM(4)[7],=WP2B/0(4)[7],=WP3QH(4)[7],=WP3Y(4)[7], + =WP4BTQ(4)[7],=WP4GQR(4)[7],=WP4HRK(4)[7],=WP4LC(4)[7],=WP4NPV(4)[7], + =AH2V(5)[8],=AH2W(5)[8],=AH6BV(5)[8],=AL0A(5)[8],=AL1O(5)[8],=AL4V(5)[8],=AL6I(5)[8],=AL6L(5)[8], + =AL6M(5)[8],=AL7EL(5)[8],=AL7LV(5)[8],=AL7QS(5)[8],=AL8E(5)[8],=KH2EH(5)[8],=KH6GR(5)[8], + =KH6HZ(5)[8],=KH6IKI(5)[8],=KH6JUK(5)[8],=KH6RF(5)[8],=KH6RF/1(5)[8],=KH6RF/M(5)[8],=KH7CD(5)[8], + =KH7CD/1(5)[8],=KH8AC(5)[8],=KH8AC/1(5)[8],=KL1OC(5)[8],=KL1T(5)[8],=KL1WD(5)[8],=KL2A/1(5)[8], + =KL2DM(5)[8],=KL2GA(5)[8],=KL2IC(5)[8],=KL2KL(5)[8],=KL7CE(5)[8],=KL7CE/1(5)[8],=KL7IXX(5)[8], + =KL7JHM(5)[8],=KL7JJN(5)[8],=KL7JR/1(5)[8],=KL7JT(5)[8],=KL7LK(5)[8],=KL7USI/1(5)[8],=KL8DX(5)[8], + =KP4ANG(5)[8],=KP4BLS(5)[8],=KP4BPR(5)[8],=KP4DGF(5)[8],=KP4EC/1(5)[8],=KP4G(5)[8],=KP4GVT(5)[8], + =KP4MR(5)[8],=KP4NPL(5)[8],=KP4NW(5)[8],=KP4R(5)[8],=KP4RCD(5)[8],=NH0H(5)[8],=NH6IH(5)[8], + =NH6XW(5)[8],=NH6ZB(5)[8],=NL7FJ(5)[8],=NL7MO(5)[8],=NL7NJ(5)[8],=NL7OI(5)[8],=NL7OT(5)[8], + =NL9H(5)[8],=NP2FZ(5)[8],=NP2FZ/1(5)[8],=NP2GG(5)[8],=NP2PN(5)[8],=NP3IV(5)[8],=NP3LN(5)[8], + =NP4AO(5)[8],=NP4AZ(5)[8],=NP4ER(5)[8],=VE1BES/M(5)[8],=VE3CMB/M(5)[8],=VE4CCN/M(5)[8], + =WH0EWX(5)[8],=WH2B(5)[8],=WH6CT(5)[8],=WH6DSN(5)[8],=WH6EI(5)[8],=WH6FBH(5)[8],=WH7TP(5)[8], + =WL1B(5)[8],=WL7B(5)[8],=WL7CC(5)[8],=WL7CUP(5)[8],=WL7CVD(5)[8],=WL7WO(5)[8],=WL7WO/1(5)[8], + =WL7Z/1(5)[8],=WP2MG(5)[8],=WP3NN(5)[8],=WP3NZ(5)[8],=WP3WV(5)[8],=WP4AKE(5)[8],=WP4AZJ(5)[8], + =WP4BC(5)[8],=WP4BF(5)[8],=WP4CJH(5)[8],=WP4JF(5)[8],=WP4KQ(5)[8],=WP4MKJ(5)[8],=WP4MMV(5)[8], + =WP4MOC(5)[8],=WP4NKW(5)[8],=WP4NUV(5)[8],=WP4NYY(5)[8],=WP4OIG(5)[8],=WP4OJK(5)[8], + =AH0BR(5)[8],=AH2AL(5)[8],=AH2O(5)[8],=AH6K(5)[8],=AL0Q(5)[8],=AL0Y(5)[8],=AL2O(5)[8], + =AL7RG(5)[8],=KH2CW(5)[8],=KH2P(5)[8],=KH2R(5)[8],=KH4AG(5)[8],=KH6ALN(5)[8],=KH6HO(5)[8], + =KH7GA(5)[8],=KH7JO(5)[8],=KH7JO/2(5)[8],=KH7MX(5)[8],=KH7NE(5)[8],=KH8ZK(5)[8],=KL0WV(5)[8], + =KL1A/2(5)[8],=KL2A/2(5)[8],=KL2NP(5)[8],=KL3DY(5)[8],=KL3ET(5)[8],=KL3ZC(5)[8],=KL4T(5)[8], + =KL7DL(5)[8],=KL7GB(5)[8],=KL7JCQ(5)[8],=KL7NL/2(5)[8],=KL7TJZ(5)[8],=KL7USI/2(5)[8],=KL7WA(5)[8], + =KL9ER(5)[8],=KP2NP(5)[8],=KP3AK(5)[8],=KP3LM(5)[8],=KP3S(5)[8],=KP3Y(5)[8],=KP4AK(5)[8], + =KP4C(5)[8],=KP4CML(5)[8],=KP4HR(5)[8],=KP4I(5)[8],=KP4JDR(5)[8],=NH2DC(5)[8],=NL7CC(5)[8], + =NP2AQ(5)[8],=NP2GI(5)[8],=NP3D(5)[8],=NP3E(5)[8],=NP3EU(5)[8],=NP3I(5)[8],=NP3KH(5)[8], + =NP3KP(5)[8],=NP4IR(5)[8],=NP4IT(5)[8],=NP4JQ(5)[8],=WH0W(5)[8],=WH2C(5)[8],=WH6DLD(5)[8], + =WH6DNT(5)[8],=WH6UO(5)[8],=WL2NAS(5)[8],=WL7OG(5)[8],=WP2AAO(5)[8],=WP3MD(5)[8],=WP3VU(5)[8], + =WP3WZ(5)[8],=WP4AR(5)[8],=WP4BMU(5)[8],=WP4BNI(5)[8],=WP4BZ(5)[8],=WP4CB(5)[8],=WP4DME(5)[8], + =WP4DWH(5)[8],=WP4EHY(5)[8],=WP4EYW(5)[8],=WP4HLY(5)[8],=WP4HXS(5)[8],=WP4LYI(5)[8],=WP4MQN(5)[8], + =WP4MRB(5)[8],=WP4MUJ(5)[8],=WP4MYM(5)[8],=WP4MZO(5)[8],=WP4NBS(5)[8],=WP4OCO(5)[8],=WP4OPY(5)[8], + =WP4PZB(5)[8],=WP4R(5)[8],=XL3TUV/M(5)[8],=XM3CMB/M(5)[8], =4U1WB(5)[8],=AH6AX(5)[8],=AH6FF/3(5)[8],=AH6R(5)[8],=AH6Z(5)[8],=AH7J(5)[8],=AH8P(5)[8], - =AL1B(5)[8],=AL1B/M(5)[8],=AL7AB(5)[8],=AL7NN(5)[8],=AL7NN/3(5)[8],=KH2JX(5)[8],=KH6CUJ(5)[8], - =KH6ILR/3(5)[8],=KH6JGA(5)[8],=KH6LDO(5)[8],=KH8CN(5)[8],=KL1KM(5)[8],=KL2A(5)[8],=KL2A/3(5)[8], - =KL2BV(5)[8],=KL2XF(5)[8],=KL3JC(5)[8],=KL7FD(5)[8],=KL7GLK/3(5)[8],=KL7HR/3(5)[8],=KL7JO(5)[8], - =KL7OF/3(5)[8],=KL7OQ(5)[8],=KL9A/3(5)[8],=KP3M(5)[8],=KP4CAM(5)[8],=KP4GB/3(5)[8],=KP4IP(5)[8], - =KP4JB(5)[8],=KP4N(5)[8],=KP4N/3(5)[8],=KP4PRI(5)[8],=KP4UV(5)[8],=KP4WR(5)[8],=KP4XO(5)[8], - =NH2CW(5)[8],=NH6BD(5)[8],=NH6BK(5)[8],=NH7C(5)[8],=NH7CC(5)[8],=NH7YK(5)[8],=NL7CK(5)[8], - =NL7PJ(5)[8],=NL7V/3(5)[8],=NL7XM(5)[8],=NL7XM/B(5)[8],=NP2EP(5)[8],=NP2G(5)[8],=NP2NC(5)[8], - =NP3ES(5)[8],=NP3IP(5)[8],=NP4RH(5)[8],=NP4YZ(5)[8],=WH6ADS(5)[8],=WH6AWO(5)[8],=WH6AZN(5)[8], - =WH6CE(5)[8],=WH6CTO(5)[8],=WH6DOA(5)[8],=WH6ECO(5)[8],=WH6EEL(5)[8],=WH6EEN(5)[8],=WH6IO(5)[8], - =WH6OB(5)[8],=WH7USA(5)[8],=WL7AF(5)[8],=WP2XX(5)[8],=WP3BX(5)[8],=WP3CC(5)[8],=WP3EC(5)[8], - =WP3FK(5)[8],=WP4DA(5)[8],=WP4DCK(5)[8],=WP4EDM(5)[8],=WP4GJL(5)[8],=WP4HJF(5)[8],=WP4HSZ(5)[8], - =WP4KDN(5)[8],=WP4KKX(5)[8],=WP4LEM(5)[8],=WP4LNP(5)[8],=WP4MNV(5)[8],=WP4MSX(5)[8],=WP4MYN(5)[8], - =WP4OSQ(5)[8],=WP4PQN(5)[8], + =AL1B(5)[8],=AL1B/M(5)[8],=AL7AB(5)[8],=AL7NN(5)[8],=AL7NN/3(5)[8],=KH2GM(5)[8],=KH2JX(5)[8], + =KH2SX(5)[8],=KH6CUJ(5)[8],=KH6ILR/3(5)[8],=KH6JGA(5)[8],=KH6LDO(5)[8],=KH8CN(5)[8],=KL1KM(5)[8], + =KL2A(5)[8],=KL2A/3(5)[8],=KL2BV(5)[8],=KL2XF(5)[8],=KL3JC(5)[8],=KL7FD(5)[8],=KL7GLK/3(5)[8], + =KL7HR/3(5)[8],=KL7JO(5)[8],=KL7OF/3(5)[8],=KL7OQ(5)[8],=KL9A/3(5)[8],=KP3M(5)[8],=KP4CAM(5)[8], + =KP4FCF(5)[8],=KP4GB/3(5)[8],=KP4IP(5)[8],=KP4JB(5)[8],=KP4N(5)[8],=KP4N/3(5)[8],=KP4PRI(5)[8], + =KP4UV(5)[8],=KP4WR(5)[8],=KP4XO(5)[8],=NH2CW(5)[8],=NH6BD(5)[8],=NH6BK(5)[8],=NH7C(5)[8], + =NH7CC(5)[8],=NH7YK(5)[8],=NL7CK(5)[8],=NL7PJ(5)[8],=NL7V/3(5)[8],=NL7XM(5)[8],=NL7XM/B(5)[8], + =NP2EP(5)[8],=NP2G(5)[8],=NP2NC(5)[8],=NP3ES(5)[8],=NP3IP(5)[8],=NP4RH(5)[8],=NP4YZ(5)[8], + =WH6ADS(5)[8],=WH6AWO(5)[8],=WH6AZN(5)[8],=WH6CE(5)[8],=WH6CTO(5)[8],=WH6DOA(5)[8],=WH6ECO(5)[8], + =WH6EEL(5)[8],=WH6EEN(5)[8],=WH6IO(5)[8],=WH6OB(5)[8],=WH7USA(5)[8],=WL7AF(5)[8],=WP2XX(5)[8], + =WP3BX(5)[8],=WP3CC(5)[8],=WP3EC(5)[8],=WP3FK(5)[8],=WP4DA(5)[8],=WP4DCK(5)[8],=WP4EDM(5)[8], + =WP4GJL(5)[8],=WP4HSZ(5)[8],=WP4KDN(5)[8],=WP4KKX(5)[8],=WP4LEM(5)[8],=WP4LNP(5)[8],=WP4MNV(5)[8], + =WP4MSX(5)[8],=WP4MYN(5)[8],=WP4OSQ(5)[8],=WP4PPH(5)[8],=WP4PQN(5)[8],=WP4PUR(5)[8],=WP4PYL(5)[8], + =WP4PYM(5)[8],=WP4PYN(5)[8],=WP4PYT(5)[8],=WP4PYU(5)[8],=WP4PYV(5)[8],=WP4PYZ(5)[8],=WP4PZA(5)[8], =AH0BV(5)[8],=AH0BZ(5)[8],=AH2AJ(5)[8],=AH2AM(5)[8],=AH2AP(5)[8],=AH2DF(5)[8],=AH2EB(5)[8], =AH2X(5)[8],=AH3B(5)[8],=AH6AL(5)[8],=AH6AT(5)[8],=AH6AU(5)[8],=AH6BJ(5)[8],=AH6EZ/4(5)[8], =AH6FX(5)[8],=AH6FX/4(5)[8],=AH6IC(5)[8],=AH6IJ(5)[8],=AH6IW(5)[8],=AH6JN/4(5)[8],=AH6JN/M(5)[8], @@ -1207,72 +1216,73 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KH6TY(5)[8],=KH6TY/R(5)[8],=KH6UN(5)[8],=KH6XH(5)[8],=KH7DM(5)[8],=KH7DY(5)[8],=KH7GZ(5)[8], =KH7HJ/4(5)[8],=KH7OC(5)[8],=KH7OV(5)[8],=KH7WK(5)[8],=KH7XS/4(5)[8],=KH7XT(5)[8],=KH7ZC(5)[8], =KH8BB(5)[8],=KH8DO(5)[8],=KL0AG(5)[8],=KL0IP(5)[8],=KL0KC(5)[8],=KL0KE/4(5)[8],=KL0L(5)[8], - =KL0MG(5)[8],=KL0MP(5)[8],=KL0S(5)[8],=KL0SS(5)[8],=KL0TY(5)[8],=KL0WF(5)[8],=KL1KP(5)[8], - =KL1NK(5)[8],=KL1NS(5)[8],=KL1OK(5)[8],=KL1PA(5)[8],=KL1SS(5)[8],=KL2AK(5)[8],=KL2CX(5)[8], - =KL2EY(5)[8],=KL2GG(5)[8],=KL2GP(5)[8],=KL2HV(5)[8],=KL2MQ(5)[8],=KL2UQ(5)[8],=KL2XI(5)[8], - =KL3EV(5)[8],=KL3HG(5)[8],=KL3IA(5)[8],=KL3KB(5)[8],=KL3KG(5)[8],=KL3NR(5)[8],=KL3WM(5)[8], - =KL3X(5)[8],=KL3XB(5)[8],=KL4CO(5)[8],=KL4DD(5)[8],=KL4H(5)[8],=KL4J(5)[8],=KL5X(5)[8], - =KL5YJ(5)[8],=KL7A(5)[8],=KL7DA(5)[8],=KL7FO(5)[8],=KL7GLL(5)[8],=KL7H(5)[8],=KL7HIM(5)[8], - =KL7HNY(5)[8],=KL7HOT(5)[8],=KL7HQW(5)[8],=KL7HX(5)[8],=KL7IEK(5)[8],=KL7IKZ(5)[8],=KL7IV(5)[8], - =KL7IVY(5)[8],=KL7IWF(5)[8],=KL7JR(5)[8],=KL7LS(5)[8],=KL7MJ(5)[8],=KL7NCO(5)[8],=KL7NL(5)[8], - =KL7NL/4(5)[8],=KL7NT(5)[8],=KL7P/4(5)[8],=KL7QH(5)[8],=KL7QU(5)[8],=KL7SR(5)[8],=KL7USI/4(5)[8], - =KL7XA(5)[8],=KL9A/1(5)[8],=KP2AF(5)[8],=KP2AV(5)[8],=KP2AV/4(5)[8],=KP2CH(5)[8],=KP2CR(5)[8], - =KP2L(5)[8],=KP2L/4(5)[8],=KP2N(5)[8],=KP2R(5)[8],=KP2U(5)[8],=KP2US(5)[8],=KP2V(5)[8], - =KP3AMG(5)[8],=KP3BL(5)[8],=KP3BP(5)[8],=KP3J(5)[8],=KP3SK(5)[8],=KP3U(5)[8],=KP4AD(5)[8], - =KP4AOD(5)[8],=KP4AOD/4(5)[8],=KP4BEC(5)[8],=KP4BM(5)[8],=KP4BOB(5)[8],=KP4CBP(5)[8], + =KL0MG(5)[8],=KL0MP(5)[8],=KL0S(5)[8],=KL0SS(5)[8],=KL0TY(5)[8],=KL0VU(5)[8],=KL0WF(5)[8], + =KL1KP(5)[8],=KL1NK(5)[8],=KL1NS(5)[8],=KL1OK(5)[8],=KL1PA(5)[8],=KL1SS(5)[8],=KL2AK(5)[8], + =KL2CX(5)[8],=KL2EY(5)[8],=KL2GG(5)[8],=KL2GP(5)[8],=KL2HV(5)[8],=KL2MQ(5)[8],=KL2UQ(5)[8], + =KL2XI(5)[8],=KL3EV(5)[8],=KL3HG(5)[8],=KL3IA(5)[8],=KL3KB(5)[8],=KL3KG(5)[8],=KL3NR(5)[8], + =KL3WM(5)[8],=KL3X(5)[8],=KL3XB(5)[8],=KL4CO(5)[8],=KL4DD(5)[8],=KL4H(5)[8],=KL4J(5)[8], + =KL5X(5)[8],=KL5YJ(5)[8],=KL7A(5)[8],=KL7DA(5)[8],=KL7FO(5)[8],=KL7GLL(5)[8],=KL7H(5)[8], + =KL7HIM(5)[8],=KL7HNY(5)[8],=KL7HOT(5)[8],=KL7HQW(5)[8],=KL7HX(5)[8],=KL7IEK(5)[8],=KL7IKZ(5)[8], + =KL7IV(5)[8],=KL7IVY(5)[8],=KL7IWF(5)[8],=KL7JR(5)[8],=KL7LS(5)[8],=KL7MJ(5)[8],=KL7NCO(5)[8], + =KL7NL(5)[8],=KL7NL/4(5)[8],=KL7NT(5)[8],=KL7P/4(5)[8],=KL7QH(5)[8],=KL7QU(5)[8],=KL7SR(5)[8], + =KL7USI/4(5)[8],=KL7XA(5)[8],=KL9A/1(5)[8],=KP2AF(5)[8],=KP2AV(5)[8],=KP2AV/4(5)[8],=KP2CH(5)[8], + =KP2CR(5)[8],=KP2L(5)[8],=KP2L/4(5)[8],=KP2N(5)[8],=KP2R(5)[8],=KP2U(5)[8],=KP2US(5)[8], + =KP2V(5)[8],=KP3AMG(5)[8],=KP3BL(5)[8],=KP3BP(5)[8],=KP3J(5)[8],=KP3SK(5)[8],=KP3U(5)[8], + =KP4AD(5)[8],=KP4AOD(5)[8],=KP4AOD/4(5)[8],=KP4BEC(5)[8],=KP4BM(5)[8],=KP4BOB(5)[8],=KP4CBP(5)[8], =KP4CEL(5)[8],=KP4CH(5)[8],=KP4CPP(5)[8],=KP4CSJ(5)[8],=KP4CSZ(5)[8],=KP4CW(5)[8],=KP4CZ(5)[8], - =KP4DAC(5)[8],=KP4DDS(5)[8],=KP4DQS(5)[8],=KP4EIA(5)[8],=KP4EMY(5)[8],=KP4ENK(5)[8],=KP4EOR(5)[8], - =KP4EOR/4(5)[8],=KP4ERT(5)[8],=KP4ESC(5)[8],=KP4FBS(5)[8],=KP4FGI(5)[8],=KP4FIR(5)[8], - =KP4FJE(5)[8],=KP4FLP(5)[8],=KP4FOF(5)[8],=KP4HE(5)[8],=KP4HF(5)[8],=KP4HN(5)[8],=KP4II(5)[8], - =KP4IRI(5)[8],=KP4IT(5)[8],=KP4JC(5)[8],=KP4JWR(5)[8],=KP4KA(5)[8],=KP4KD(5)[8],=KP4KD/4(5)[8], - =KP4LEU(5)[8],=KP4LF(5)[8],=KP4LUV(5)[8],=KP4LX(5)[8],=KP4MA(5)[8],=KP4MPR(5)[8],=KP4MSP(5)[8], - =KP4OO(5)[8],=KP4PC(5)[8],=KP4PF(5)[8],=KP4PMD(5)[8],=KP4Q(5)[8],=KP4QT(5)[8],=KP4QT/4(5)[8], - =KP4REY(5)[8],=KP4RGT(5)[8],=KP4RRC(5)[8],=KP4RT(5)[8],=KP4RZ(5)[8],=KP4SU(5)[8],=KP4TL(5)[8], - =KP4TR(5)[8],=KP4UFO(5)[8],=KP4USA(5)[8],=KP4WK(5)[8],=KP4WW(5)[8],=KP4WY(5)[8],=KP4XP(5)[8], - =KP4Y(5)[8],=KP4YLV(5)[8],=KP4ZV(5)[8],=KP4ZX(5)[8],=NH2A(5)[8],=NH2BQ(5)[8],=NH2DB(5)[8], - =NH2F(5)[8],=NH6AU(5)[8],=NH6BD/4(5)[8],=NH6E(5)[8],=NH6GE(5)[8],=NH6GR(5)[8],=NH6HX(5)[8], - =NH6HX/4(5)[8],=NH6JX(5)[8],=NH6KI(5)[8],=NH6QR(5)[8],=NH6SR(5)[8],=NH6T(5)[8],=NH6TL(5)[8], - =NH7AA(5)[8],=NH7AQ(5)[8],=NH7AR(5)[8],=NH7FG(5)[8],=NH7T/4(5)[8],=NH7UN(5)[8],=NH7XN(5)[8], - =NL5L(5)[8],=NL7AJ(5)[8],=NL7AU(5)[8],=NL7AU/4(5)[8],=NL7BV(5)[8],=NL7KX(5)[8],=NL7LO(5)[8], - =NL7LR(5)[8],=NL7LY(5)[8],=NL7MD(5)[8],=NL7MR(5)[8],=NL7OB(5)[8],=NL7OS(5)[8],=NL7P(5)[8], - =NL7PV(5)[8],=NL7U(5)[8],=NL7VV(5)[8],=NL7VX(5)[8],=NL7VX/4(5)[8],=NL7VX/M(5)[8],=NL7YZ(5)[8], - =NP2B(5)[8],=NP2B/4(5)[8],=NP2BB(5)[8],=NP2BW(5)[8],=NP2C(5)[8],=NP2CB(5)[8],=NP2D(5)[8], - =NP2DJ(5)[8],=NP2EI(5)[8],=NP2FT(5)[8],=NP2GN(5)[8],=NP2GW(5)[8],=NP2HQ(5)[8],=NP2HS(5)[8], - =NP2HW(5)[8],=NP2IE(5)[8],=NP2IF(5)[8],=NP2IJ(5)[8],=NP2IS(5)[8],=NP2IW(5)[8],=NP2IX(5)[8], - =NP2JA(5)[8],=NP2JS(5)[8],=NP2LC(5)[8],=NP2MM(5)[8],=NP2MN(5)[8],=NP2MP(5)[8],=NP2MR(5)[8], - =NP2MR/4(5)[8],=NP2O(5)[8],=NP2OL(5)[8],=NP2OO(5)[8],=NP2PA(5)[8],=NP2R(5)[8],=NP2T(5)[8], - =NP2W(5)[8],=NP3BL(5)[8],=NP3CC(5)[8],=NP3CI(5)[8],=NP3CM(5)[8],=NP3CT(5)[8],=NP3DI(5)[8], - =NP3FR(5)[8],=NP3G(5)[8],=NP3HD(5)[8],=NP3HG(5)[8],=NP3HN(5)[8],=NP3HP(5)[8],=NP3HU(5)[8], - =NP3IL(5)[8],=NP3IU(5)[8],=NP3K(5)[8],=NP3KM(5)[8],=NP3MM(5)[8],=NP3MX(5)[8],=NP3NC(5)[8], - =NP3OW(5)[8],=NP3QT(5)[8],=NP3R(5)[8],=NP3ST(5)[8],=NP3TM(5)[8],=NP3VJ(5)[8],=NP4AS(5)[8], - =NP4AV(5)[8],=NP4CC(5)[8],=NP4CK(5)[8],=NP4CV(5)[8],=NP4DM(5)[8],=NP4GH(5)[8],=NP4GW(5)[8], - =NP4J(5)[8],=NP4JU(5)[8],=NP4KV(5)[8],=NP4ND(5)[8],=NP4RJ(5)[8],=NP4SY(5)[8],=NP4WT(5)[8], - =NP4XB(5)[8],=WH2AAT(5)[8],=WH2ABJ(5)[8],=WH2G(5)[8],=WH6A(5)[8],=WH6ACF(5)[8],=WH6AJS(5)[8], - =WH6AQ(5)[8],=WH6AVU(5)[8],=WH6AX(5)[8],=WH6BRQ(5)[8],=WH6CMT(5)[8],=WH6CNC(5)[8],=WH6CTC(5)[8], - =WH6CXA(5)[8],=WH6CXT(5)[8],=WH6DBX(5)[8],=WH6DMJ(5)[8],=WH6DNF(5)[8],=WH6DOL(5)[8],=WH6DUJ(5)[8], - =WH6DUV(5)[8],=WH6DXT(5)[8],=WH6EFI(5)[8],=WH6EIK(5)[8],=WH6EKW(5)[8],=WH6ELG(5)[8],=WH6ELM(5)[8], - =WH6ETE(5)[8],=WH6ETH(5)[8],=WH6FCP(5)[8],=WH6HA(5)[8],=WH6IF(5)[8],=WH6IZ(5)[8],=WH6J(5)[8], - =WH6L(5)[8],=WH6LE(5)[8],=WH6LE/4(5)[8],=WH6LE/M(5)[8],=WH6LE/P(5)[8],=WH6NE(5)[8],=WH6WX(5)[8], - =WH6YH(5)[8],=WH6YH/4(5)[8],=WH6YM(5)[8],=WH6ZF(5)[8],=WH7GD(5)[8],=WH7HX(5)[8],=WH7NI(5)[8], - =WH7XK(5)[8],=WH7XU(5)[8],=WH7YL(5)[8],=WH7YV(5)[8],=WH9AAF(5)[8],=WL7AUL(5)[8],=WL7AX(5)[8], - =WL7BAL(5)[8],=WL7CHA(5)[8],=WL7CIB(5)[8],=WL7CKJ(5)[8],=WL7COL(5)[8],=WL7CQT(5)[8],=WL7CUY(5)[8], - =WL7E/4(5)[8],=WL7GV(5)[8],=WL7SR(5)[8],=WL7UN(5)[8],=WL7WN(5)[8],=WL7YX(5)[8],=WP2AGD(5)[8], - =WP2AGO(5)[8],=WP2AHC(5)[8],=WP2AIG(5)[8],=WP2BB(5)[8],=WP2C(5)[8],=WP2L(5)[8],=WP2MA(5)[8], - =WP2P(5)[8],=WP3AY(5)[8],=WP3JQ(5)[8],=WP3JU(5)[8],=WP3K(5)[8],=WP3LE(5)[8],=WP3MB(5)[8], - =WP3ME(5)[8],=WP3NIS(5)[8],=WP3O(5)[8],=WP3TQ(5)[8],=WP3ZA(5)[8],=WP3ZP(5)[8],=WP4AIE(5)[8], - =WP4AIL(5)[8],=WP4AIZ(5)[8],=WP4ALH(5)[8],=WP4AQK(5)[8],=WP4B(5)[8],=WP4BFP(5)[8],=WP4BGM(5)[8], - =WP4BIN(5)[8],=WP4BJS(5)[8],=WP4BK(5)[8],=WP4BQV(5)[8],=WP4BXS(5)[8],=WP4CKW(5)[8],=WP4CLS(5)[8], - =WP4CMH(5)[8],=WP4DC(5)[8],=WP4DCB(5)[8],=WP4DNE(5)[8],=WP4DPX(5)[8],=WP4ENX(5)[8],=WP4EXH(5)[8], - =WP4FEI(5)[8],=WP4FRK(5)[8],=WP4FS(5)[8],=WP4GAK(5)[8],=WP4GFH(5)[8],=WP4GX(5)[8],=WP4GYA(5)[8], - =WP4HFZ(5)[8],=WP4HNN(5)[8],=WP4HOX(5)[8],=WP4IF(5)[8],=WP4IJ(5)[8],=WP4JKO(5)[8],=WP4JQJ(5)[8], - =WP4JSR(5)[8],=WP4JT(5)[8],=WP4KCJ(5)[8],=WP4KDH(5)[8],=WP4KFP(5)[8],=WP4KGI(5)[8],=WP4KI(5)[8], - =WP4KJV(5)[8],=WP4KSK(5)[8],=WP4KTD(5)[8],=WP4LAN(5)[8],=WP4LBK(5)[8],=WP4LDG(5)[8],=WP4LDL(5)[8], - =WP4LDP(5)[8],=WP4LHA(5)[8],=WP4MAE(5)[8],=WP4MD(5)[8],=WP4MO(5)[8],=WP4MQF(5)[8],=WP4MWE(5)[8], + =KP4DAC(5)[8],=KP4DDS(5)[8],=KP4DPQ(5)[8],=KP4DQS(5)[8],=KP4EIA(5)[8],=KP4EMY(5)[8],=KP4ENK(5)[8], + =KP4EOR(5)[8],=KP4EOR/4(5)[8],=KP4ERT(5)[8],=KP4ESC(5)[8],=KP4FBS(5)[8],=KP4FGI(5)[8], + =KP4FIR(5)[8],=KP4FJE(5)[8],=KP4FLP(5)[8],=KP4FOF(5)[8],=KP4HE(5)[8],=KP4HF(5)[8],=KP4HN(5)[8], + =KP4II(5)[8],=KP4IRI(5)[8],=KP4IT(5)[8],=KP4JC(5)[8],=KP4JWR(5)[8],=KP4KA(5)[8],=KP4KD(5)[8], + =KP4KD/4(5)[8],=KP4LEU(5)[8],=KP4LF(5)[8],=KP4LUV(5)[8],=KP4LX(5)[8],=KP4MA(5)[8],=KP4MPR(5)[8], + =KP4MSP(5)[8],=KP4NI(5)[8],=KP4OO(5)[8],=KP4PC(5)[8],=KP4PF(5)[8],=KP4PMD(5)[8],=KP4Q(5)[8], + =KP4QT(5)[8],=KP4QT/4(5)[8],=KP4REY(5)[8],=KP4RGT(5)[8],=KP4ROP(5)[8],=KP4RRC(5)[8],=KP4RT(5)[8], + =KP4RZ(5)[8],=KP4SU(5)[8],=KP4TL(5)[8],=KP4TR(5)[8],=KP4UFO(5)[8],=KP4USA(5)[8],=KP4WK(5)[8], + =KP4WW(5)[8],=KP4WY(5)[8],=KP4XP(5)[8],=KP4Y(5)[8],=KP4YLV(5)[8],=KP4ZV(5)[8],=KP4ZX(5)[8], + =NH2A(5)[8],=NH2BQ(5)[8],=NH2DB(5)[8],=NH2F(5)[8],=NH6AU(5)[8],=NH6BD/4(5)[8],=NH6E(5)[8], + =NH6GE(5)[8],=NH6GR(5)[8],=NH6HX(5)[8],=NH6HX/4(5)[8],=NH6JX(5)[8],=NH6KI(5)[8],=NH6QR(5)[8], + =NH6SR(5)[8],=NH6T(5)[8],=NH6TL(5)[8],=NH7AA(5)[8],=NH7AQ(5)[8],=NH7AR(5)[8],=NH7FG(5)[8], + =NH7OI(5)[8],=NH7T/4(5)[8],=NH7UN(5)[8],=NH7XN(5)[8],=NL5L(5)[8],=NL7AJ(5)[8],=NL7AU(5)[8], + =NL7AU/4(5)[8],=NL7BV(5)[8],=NL7KX(5)[8],=NL7LO(5)[8],=NL7LR(5)[8],=NL7LY(5)[8],=NL7MD(5)[8], + =NL7MR(5)[8],=NL7OB(5)[8],=NL7OS(5)[8],=NL7P(5)[8],=NL7PV(5)[8],=NL7U(5)[8],=NL7VV(5)[8], + =NL7VX(5)[8],=NL7VX/4(5)[8],=NL7VX/M(5)[8],=NL7YZ(5)[8],=NP2B(5)[8],=NP2B/4(5)[8],=NP2BB(5)[8], + =NP2BW(5)[8],=NP2C(5)[8],=NP2CB(5)[8],=NP2D(5)[8],=NP2DJ(5)[8],=NP2EI(5)[8],=NP2FT(5)[8], + =NP2GN(5)[8],=NP2GW(5)[8],=NP2HQ(5)[8],=NP2HS(5)[8],=NP2HW(5)[8],=NP2IE(5)[8],=NP2IF(5)[8], + =NP2IJ(5)[8],=NP2IS(5)[8],=NP2IW(5)[8],=NP2IX(5)[8],=NP2JA(5)[8],=NP2JS(5)[8],=NP2LC(5)[8], + =NP2MM(5)[8],=NP2MN(5)[8],=NP2MP(5)[8],=NP2MR(5)[8],=NP2MR/4(5)[8],=NP2O(5)[8],=NP2OL(5)[8], + =NP2OO(5)[8],=NP2PA(5)[8],=NP2R(5)[8],=NP2T(5)[8],=NP2W(5)[8],=NP3AX(5)[8],=NP3BL(5)[8], + =NP3CC(5)[8],=NP3CI(5)[8],=NP3CM(5)[8],=NP3CT(5)[8],=NP3FR(5)[8],=NP3G(5)[8],=NP3HD(5)[8], + =NP3HG(5)[8],=NP3HN(5)[8],=NP3HP(5)[8],=NP3HU(5)[8],=NP3IL(5)[8],=NP3IU(5)[8],=NP3K(5)[8], + =NP3KM(5)[8],=NP3MM(5)[8],=NP3MX(5)[8],=NP3NC(5)[8],=NP3OW(5)[8],=NP3QT(5)[8],=NP3R(5)[8], + =NP3ST(5)[8],=NP3TM(5)[8],=NP3VJ(5)[8],=NP4AS(5)[8],=NP4AV(5)[8],=NP4CC(5)[8],=NP4CK(5)[8], + =NP4CV(5)[8],=NP4DM(5)[8],=NP4EM(5)[8],=NP4GH(5)[8],=NP4GW(5)[8],=NP4J(5)[8],=NP4JU(5)[8], + =NP4KV(5)[8],=NP4ND(5)[8],=NP4PF(5)[8],=NP4RJ(5)[8],=NP4SY(5)[8],=NP4WT(5)[8],=NP4XB(5)[8], + =WH2AAT(5)[8],=WH2ABJ(5)[8],=WH2G(5)[8],=WH6A(5)[8],=WH6ACF(5)[8],=WH6AJS(5)[8],=WH6AQ(5)[8], + =WH6AVU(5)[8],=WH6AX(5)[8],=WH6BRQ(5)[8],=WH6CMT(5)[8],=WH6CNC(5)[8],=WH6CTC(5)[8],=WH6CXA(5)[8], + =WH6CXT(5)[8],=WH6DBX(5)[8],=WH6DMJ(5)[8],=WH6DNF(5)[8],=WH6DOL(5)[8],=WH6DUJ(5)[8],=WH6DXT(5)[8], + =WH6EFI(5)[8],=WH6EIK(5)[8],=WH6EKW(5)[8],=WH6ELG(5)[8],=WH6ELM(5)[8],=WH6ETE(5)[8],=WH6FCP(5)[8], + =WH6HA(5)[8],=WH6IF(5)[8],=WH6IZ(5)[8],=WH6J(5)[8],=WH6L(5)[8],=WH6LE(5)[8],=WH6LE/4(5)[8], + =WH6LE/M(5)[8],=WH6LE/P(5)[8],=WH6NE(5)[8],=WH6WX(5)[8],=WH6YH(5)[8],=WH6YH/4(5)[8],=WH6YM(5)[8], + =WH6ZF(5)[8],=WH7GD(5)[8],=WH7HX(5)[8],=WH7NI(5)[8],=WH7XK(5)[8],=WH7XU(5)[8],=WH7YL(5)[8], + =WH7YV(5)[8],=WH7ZM(5)[8],=WH9AAF(5)[8],=WL7AUL(5)[8],=WL7AX(5)[8],=WL7BAL(5)[8],=WL7CHA(5)[8], + =WL7CIB(5)[8],=WL7CKJ(5)[8],=WL7COL(5)[8],=WL7CQT(5)[8],=WL7CUY(5)[8],=WL7E/4(5)[8],=WL7GV(5)[8], + =WL7SR(5)[8],=WL7UN(5)[8],=WL7WN(5)[8],=WL7YX(5)[8],=WP2AGD(5)[8],=WP2AGO(5)[8],=WP2AHC(5)[8], + =WP2AIG(5)[8],=WP2BB(5)[8],=WP2C(5)[8],=WP2L(5)[8],=WP2MA(5)[8],=WP2P(5)[8],=WP3AY(5)[8], + =WP3JQ(5)[8],=WP3JU(5)[8],=WP3K(5)[8],=WP3LE(5)[8],=WP3MB(5)[8],=WP3ME(5)[8],=WP3NIS(5)[8], + =WP3O(5)[8],=WP3TQ(5)[8],=WP3ZA(5)[8],=WP3ZP(5)[8],=WP4AIE(5)[8],=WP4AIL(5)[8],=WP4AIZ(5)[8], + =WP4ALH(5)[8],=WP4AQK(5)[8],=WP4B(5)[8],=WP4BFP(5)[8],=WP4BGM(5)[8],=WP4BIN(5)[8],=WP4BJS(5)[8], + =WP4BK(5)[8],=WP4BQV(5)[8],=WP4BXS(5)[8],=WP4CKW(5)[8],=WP4CLS(5)[8],=WP4CMH(5)[8],=WP4DC(5)[8], + =WP4DCB(5)[8],=WP4DFK(5)[8],=WP4DNE(5)[8],=WP4DPX(5)[8],=WP4ENX(5)[8],=WP4EXH(5)[8],=WP4FEI(5)[8], + =WP4FRK(5)[8],=WP4FS(5)[8],=WP4GAK(5)[8],=WP4GFH(5)[8],=WP4GX(5)[8],=WP4GYA(5)[8],=WP4HFZ(5)[8], + =WP4HNN(5)[8],=WP4HOX(5)[8],=WP4IF(5)[8],=WP4IJ(5)[8],=WP4JKO(5)[8],=WP4JQJ(5)[8],=WP4JSR(5)[8], + =WP4JT(5)[8],=WP4KCJ(5)[8],=WP4KDH(5)[8],=WP4KFP(5)[8],=WP4KGI(5)[8],=WP4KI(5)[8],=WP4KJV(5)[8], + =WP4KSK(5)[8],=WP4KTD(5)[8],=WP4LAN(5)[8],=WP4LBK(5)[8],=WP4LDG(5)[8],=WP4LDL(5)[8],=WP4LDP(5)[8], + =WP4LHA(5)[8],=WP4MAE(5)[8],=WP4MD(5)[8],=WP4MO(5)[8],=WP4MQF(5)[8],=WP4MWE(5)[8],=WP4MXE(5)[8], =WP4MYG(5)[8],=WP4MYK(5)[8],=WP4NAI(5)[8],=WP4NAQ(5)[8],=WP4NBF(5)[8],=WP4NBG(5)[8],=WP4NFU(5)[8], =WP4NKU(5)[8],=WP4NLQ(5)[8],=WP4NQA(5)[8],=WP4NVL(5)[8],=WP4NWW(5)[8],=WP4O/4(5)[8],=WP4O/M(5)[8], - =WP4ODR(5)[8],=WP4OFA(5)[8],=WP4OLM(5)[8],=WP4OMG(5)[8],=WP4OMV(5)[8],=WP4ONR(5)[8],=WP4OPD(5)[8], - =WP4OPF(5)[8],=WP4OPG(5)[8],=WP4OTP(5)[8],=WP4PR(5)[8],=WP4PWV(5)[8],=WP4SW(5)[8],=WP4TD(5)[8], - =WP4TX(5)[8],=WP4UM(5)[8], + =WP4ODR(5)[8],=WP4OFA(5)[8],=WP4OLM(5)[8],=WP4OMG(5)[8],=WP4OMV(5)[8],=WP4ONR(5)[8],=WP4OOI(5)[8], + =WP4OPD(5)[8],=WP4OPF(5)[8],=WP4OPG(5)[8],=WP4OTP(5)[8],=WP4P(5)[8],=WP4PR(5)[8],=WP4PUV(5)[8], + =WP4PWV(5)[8],=WP4PXG(5)[8],=WP4QHU(5)[8],=WP4SW(5)[8],=WP4TD(5)[8],=WP4TX(5)[8],=WP4UM(5)[8], AA5(4)[7],AB5(4)[7],AC5(4)[7],AD5(4)[7],AE5(4)[7],AF5(4)[7],AG5(4)[7],AI5(4)[7],AJ5(4)[7], AK5(4)[7],K5(4)[7],KA5(4)[7],KB5(4)[7],KC5(4)[7],KD5(4)[7],KE5(4)[7],KF5(4)[7],KG5(4)[7], KI5(4)[7],KJ5(4)[7],KK5(4)[7],KM5(4)[7],KN5(4)[7],KO5(4)[7],KQ5(4)[7],KR5(4)[7],KS5(4)[7], @@ -1282,25 +1292,26 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: NW5(4)[7],NX5(4)[7],NY5(4)[7],NZ5(4)[7],W5(4)[7],WA5(4)[7],WB5(4)[7],WC5(4)[7],WD5(4)[7], WE5(4)[7],WF5(4)[7],WG5(4)[7],WI5(4)[7],WJ5(4)[7],WK5(4)[7],WM5(4)[7],WN5(4)[7],WO5(4)[7], WQ5(4)[7],WR5(4)[7],WS5(4)[7],WT5(4)[7],WU5(4)[7],WV5(4)[7],WW5(4)[7],WX5(4)[7],WY5(4)[7], - WZ5(4)[7],=AH2AQ(4)[7],=AH2AQ/5(4)[7],=AH2EH(4)[7],=AH2H(4)[7],=AH2T(4)[7],=AH6FV(4)[7], - =AH6HT(4)[7],=AH6OU(4)[7],=AH6RB(4)[7],=AH6TD(4)[7],=AH6UD(4)[7],=AH8O(4)[7],=AH9B(4)[7], - =AL2K(4)[7],=AL2S(4)[7],=AL4F(4)[7],=AL5J(4)[7],=AL7C(4)[7],=AL7CJ(4)[7],=AL7CQ(4)[7], - =AL7DF(4)[7],=AL7DR(4)[7],=AL7GY(4)[7],=AL7HH(4)[7],=AL7HU(4)[7],=AL7II/5(4)[7],=AL7IM(4)[7], - =AL7J(4)[7],=AL7JP(4)[7],=AL7L/5(4)[7],=AL7PB(4)[7],=AL7RD(4)[7],=AL7RI(4)[7],=KH0BZ(4)[7], - =KH0CE(4)[7],=KH0CU(4)[7],=KH0DW(4)[7],=KH2AI(4)[7],=KH2BH(4)[7],=KH2BI(4)[7],=KH2DF(4)[7], - =KH2DF/5(4)[7],=KH2TB(4)[7],=KH2XD(4)[7],=KH2XO(4)[7],=KH2YO(4)[7],=KH6ABA(4)[7],=KH6DAN(4)[7], - =KH6GGC(4)[7],=KH6HPQ(4)[7],=KH6II(4)[7],=KH6ITY/M(4)[7],=KH6JIQ(4)[7],=KH6JTM(4)[7], - =KH6KG/5(4)[7],=KH6LX(4)[7],=KH6MB/5(4)[7],=KH6SP/5(4)[7],=KH6SZ(4)[7],=KH6UW(4)[7],=KH7CF(4)[7], - =KH7FB(4)[7],=KH7IC(4)[7],=KH7JE(4)[7],=KH8CG(4)[7],=KH9AE(4)[7],=KL0EX(4)[7],=KL0HU(4)[7], - =KL0PG(4)[7],=KL1DA(4)[7],=KL1DJ(4)[7],=KL1TS(4)[7],=KL1UR(4)[7],=KL1WG(4)[7],=KL1WO(4)[7], - =KL1XK(4)[7],=KL1Y(4)[7],=KL1ZW(4)[7],=KL2AX(4)[7],=KL2AX/5(4)[7],=KL2CD(4)[7],=KL2HC(4)[7], - =KL2HN(4)[7],=KL2MI(4)[7],=KL2NN(4)[7],=KL2RA(4)[7],=KL2RB(4)[7],=KL2TV(4)[7],=KL2VA(4)[7], - =KL3DB(4)[7],=KL3HK(4)[7],=KL3HZ(4)[7],=KL3JL(4)[7],=KL3KH(4)[7],=KL3KI(4)[7],=KL3TB(4)[7], - =KL4JQ(4)[7],=KL5L(4)[7],=KL5Z(4)[7],=KL7AH(4)[7],=KL7AU(4)[7],=KL7AX(4)[7],=KL7BCD(4)[7], - =KL7BL(4)[7],=KL7BX(4)[7],=KL7BZ/5(4)[7],=KL7BZL(4)[7],=KL7CD(4)[7],=KL7DB(4)[7],=KL7EBE(4)[7], - =KL7EMH(4)[7],=KL7EMH/M(4)[7],=KL7EQQ(4)[7],=KL7F(4)[7],=KL7FB(4)[7],=KL7FHX(4)[7],=KL7FLY(4)[7], - =KL7FQR(4)[7],=KL7GNW(4)[7],=KL7HH(4)[7],=KL7IDM(4)[7],=KL7IK(4)[7],=KL7ITF(4)[7],=KL7IWU(4)[7], - =KL7IZW(4)[7],=KL7JAR(4)[7],=KL7JEX(4)[7],=KL7JIU(4)[7],=KL7JR/5(4)[7],=KL7JW(4)[7],=KL7LJ(4)[7], + WZ5(4)[7],=AH2AQ(4)[7],=AH2AQ/5(4)[7],=AH2EH(4)[7],=AH2H(4)[7],=AH2T(4)[7],=AH6AF(4)[7], + =AH6DZ(4)[7],=AH6FV(4)[7],=AH6HT(4)[7],=AH6OU(4)[7],=AH6RB(4)[7],=AH6TD(4)[7],=AH6UD(4)[7], + =AH8O(4)[7],=AH9B(4)[7],=AL2K(4)[7],=AL2S(4)[7],=AL4F(4)[7],=AL5J(4)[7],=AL7C(4)[7],=AL7CJ(4)[7], + =AL7CQ(4)[7],=AL7DF(4)[7],=AL7DR(4)[7],=AL7GY(4)[7],=AL7HH(4)[7],=AL7HU(4)[7],=AL7II/5(4)[7], + =AL7IM(4)[7],=AL7J(4)[7],=AL7JP(4)[7],=AL7L/5(4)[7],=AL7PB(4)[7],=AL7RD(4)[7],=AL7RI(4)[7], + =KH0BZ(4)[7],=KH0CE(4)[7],=KH0CU(4)[7],=KH0DW(4)[7],=KH2AI(4)[7],=KH2BH(4)[7],=KH2BI(4)[7], + =KH2DF(4)[7],=KH2DF/5(4)[7],=KH2TB(4)[7],=KH2XD(4)[7],=KH2XO(4)[7],=KH2YO(4)[7],=KH6ABA(4)[7], + =KH6DAN(4)[7],=KH6GGC(4)[7],=KH6HPQ(4)[7],=KH6II(4)[7],=KH6ITY/M(4)[7],=KH6JIQ(4)[7], + =KH6JTM(4)[7],=KH6JVL(4)[7],=KH6KG/5(4)[7],=KH6LX(4)[7],=KH6MB/5(4)[7],=KH6SP/5(4)[7], + =KH6SZ(4)[7],=KH6UW(4)[7],=KH7CF(4)[7],=KH7FB(4)[7],=KH7IC(4)[7],=KH7JE(4)[7],=KH7QL(4)[7], + =KH7QO(4)[7],=KH8CG(4)[7],=KH9AE(4)[7],=KL0EX(4)[7],=KL0HU(4)[7],=KL0PG(4)[7],=KL1DA(4)[7], + =KL1DJ(4)[7],=KL1TS(4)[7],=KL1UR(4)[7],=KL1WG(4)[7],=KL1WO(4)[7],=KL1XK(4)[7],=KL1Y(4)[7], + =KL1ZW(4)[7],=KL2AX(4)[7],=KL2AX/5(4)[7],=KL2CD(4)[7],=KL2HC(4)[7],=KL2HN(4)[7],=KL2MI(4)[7], + =KL2NN(4)[7],=KL2RA(4)[7],=KL2RB(4)[7],=KL2TV(4)[7],=KL2VA(4)[7],=KL3DB(4)[7],=KL3HK(4)[7], + =KL3HZ(4)[7],=KL3JL(4)[7],=KL3KH(4)[7],=KL3KI(4)[7],=KL3TB(4)[7],=KL4JQ(4)[7],=KL5L(4)[7], + =KL5Z(4)[7],=KL7AH(4)[7],=KL7AU(4)[7],=KL7AX(4)[7],=KL7BCD(4)[7],=KL7BL(4)[7],=KL7BX(4)[7], + =KL7BZ/5(4)[7],=KL7BZL(4)[7],=KL7CD(4)[7],=KL7DB(4)[7],=KL7EBE(4)[7],=KL7EMH(4)[7], + =KL7EMH/M(4)[7],=KL7EQQ(4)[7],=KL7F(4)[7],=KL7FB(4)[7],=KL7FHX(4)[7],=KL7FLY(4)[7],=KL7FQR(4)[7], + =KL7GNW(4)[7],=KL7HH(4)[7],=KL7IDM(4)[7],=KL7IK(4)[7],=KL7ITF(4)[7],=KL7IWU(4)[7],=KL7IZW(4)[7], + =KL7JAR(4)[7],=KL7JEX(4)[7],=KL7JIU(4)[7],=KL7JR/5(4)[7],=KL7JW(4)[7],=KL7LJ(4)[7],=KL7LY(4)[7], =KL7MA(4)[7],=KL7ME(4)[7],=KL7ML(4)[7],=KL7NE(4)[7],=KL7NI(4)[7],=KL7OI(4)[7],=KL7PZ(4)[7], =KL7QC(4)[7],=KL7SG(4)[7],=KL7TN/5(4)[7],=KL7UHF(4)[7],=KL7USI/5(4)[7],=KL7XP(4)[7],=KL7XS(4)[7], =KL7YY/5(4)[7],=KP2AZ(4)[7],=KP4CV(4)[7],=KP4DJT(4)[7],=KP4FF(4)[7],=KP4FFW(4)[7],=KP4GMC(4)[7], @@ -1310,19 +1321,18 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =NH7VA(4)[7],=NL5J(4)[7],=NL7AX(4)[7],=NL7C(4)[7],=NL7CO(4)[7],=NL7CO/5(4)[7],=NL7CO/M(4)[7], =NL7HB(4)[7],=NL7IE(4)[7],=NL7JH(4)[7],=NL7JI(4)[7],=NL7KB(4)[7],=NL7NP(4)[7],=NL7PD(4)[7], =NL7RQ(4)[7],=NL7RQ/5(4)[7],=NL7TO(4)[7],=NL7ZL(4)[7],=NP2EE(4)[7],=NP2PR(4)[7],=NP2RA(4)[7], - =NP3AX(4)[7],=NP3BA(4)[7],=NP3CV(4)[7],=NP3NT(4)[7],=NP3PG(4)[7],=NP3RG(4)[7],=NP3SU(4)[7], - =NP3TY(4)[7],=NP4EA(4)[7],=NP4NQ(4)[7],=NP4NQ/5(4)[7],=NP4RW(4)[7],=NP4RZ(4)[7],=WH2ACT(4)[7], - =WH6ARN(4)[7],=WH6BYP(4)[7],=WH6CDU(4)[7],=WH6CUL(4)[7],=WH6DZU(4)[7],=WH6ECJ(4)[7],=WH6EMW(4)[7], - =WH6EOF(4)[7],=WH6ERS(4)[7],=WH6EUA(4)[7],=WH6EXQ(4)[7],=WH6FAD(4)[7],=WH6FGM(4)[7], - =WH6FZ/5(4)[7],=WH6L/5(4)[7],=WH6ZR(4)[7],=WH7DC(4)[7],=WH7DW(4)[7],=WH7OK(4)[7],=WH7R(4)[7], - =WH7YQ(4)[7],=WH7YR(4)[7],=WL3WX(4)[7],=WL5H(4)[7],=WL7AIU(4)[7],=WL7AWC(4)[7],=WL7BBV(4)[7], - =WL7BKF(4)[7],=WL7BPY(4)[7],=WL7CA(4)[7],=WL7CJA(4)[7],=WL7CJC(4)[7],=WL7CQE(4)[7],=WL7CTP(4)[7], - =WL7CTQ(4)[7],=WL7D(4)[7],=WL7FT(4)[7],=WL7FT/5(4)[7],=WL7K/5(4)[7],=WL7ME(4)[7],=WL7MQ/5(4)[7], - =WL7OP(4)[7],=WL7OU(4)[7],=WL7SG(4)[7],=WL7W(4)[7],=WL7XI(4)[7],=WL7XR(4)[7],=WP2AHG(4)[7], - =WP2WP(4)[7],=WP3AL(4)[7],=WP4A(4)[7],=WP4APJ(4)[7],=WP4BAB(4)[7],=WP4BAT(4)[7],=WP4CJY(4)[7], - =WP4EVA(4)[7],=WP4EVL(4)[7],=WP4KSP(4)[7],=WP4KTF(4)[7],=WP4KUW(4)[7],=WP4LKA(4)[7],=WP4MJP(4)[7], - =WP4MWS(4)[7],=WP4MYI(4)[7],=WP4MZR(4)[7],=WP4NAK(4)[7],=WP4NEP(4)[7],=WP4NQL(4)[7],=WP4OUE(4)[7], - =WP4RON(4)[7], + =NP3BA(4)[7],=NP3CV(4)[7],=NP3NT(4)[7],=NP3PG(4)[7],=NP3RG(4)[7],=NP3SU(4)[7],=NP3TY(4)[7], + =NP4EA(4)[7],=NP4NQ(4)[7],=NP4NQ/5(4)[7],=NP4RW(4)[7],=NP4RZ(4)[7],=WH2ACT(4)[7],=WH6ARN(4)[7], + =WH6BYP(4)[7],=WH6CDU(4)[7],=WH6CUL(4)[7],=WH6DZU(4)[7],=WH6ECJ(4)[7],=WH6EMW(4)[7],=WH6EOF(4)[7], + =WH6ERS(4)[7],=WH6EUA(4)[7],=WH6EXQ(4)[7],=WH6FAD(4)[7],=WH6FGM(4)[7],=WH6FZ/5(4)[7], + =WH6L/5(4)[7],=WH6ZR(4)[7],=WH7DC(4)[7],=WH7DW(4)[7],=WH7OK(4)[7],=WH7R(4)[7],=WH7YQ(4)[7], + =WH7YR(4)[7],=WL3WX(4)[7],=WL5H(4)[7],=WL7AIU(4)[7],=WL7AWC(4)[7],=WL7BBV(4)[7],=WL7BKF(4)[7], + =WL7BPY(4)[7],=WL7CA(4)[7],=WL7CJA(4)[7],=WL7CJC(4)[7],=WL7CQE(4)[7],=WL7CTP(4)[7],=WL7CTQ(4)[7], + =WL7D(4)[7],=WL7FT(4)[7],=WL7FT/5(4)[7],=WL7K/5(4)[7],=WL7ME(4)[7],=WL7MQ/5(4)[7],=WL7OP(4)[7], + =WL7OU(4)[7],=WL7SG(4)[7],=WL7W(4)[7],=WL7XI(4)[7],=WL7XR(4)[7],=WP2AHG(4)[7],=WP2WP(4)[7], + =WP3AL(4)[7],=WP4A(4)[7],=WP4APJ(4)[7],=WP4BAB(4)[7],=WP4BAT(4)[7],=WP4CJY(4)[7],=WP4EVA(4)[7], + =WP4EVL(4)[7],=WP4KSP(4)[7],=WP4KTF(4)[7],=WP4KUW(4)[7],=WP4LKA(4)[7],=WP4MJP(4)[7],=WP4MWS(4)[7], + =WP4MYI(4)[7],=WP4MZR(4)[7],=WP4NAK(4)[7],=WP4NEP(4)[7],=WP4NQL(4)[7],=WP4OUE(4)[7],=WP4RON(4)[7], AA6(3)[6],AB6(3)[6],AC6(3)[6],AD6(3)[6],AE6(3)[6],AF6(3)[6],AG6(3)[6],AI6(3)[6],AJ6(3)[6], AK6(3)[6],K6(3)[6],KA6(3)[6],KB6(3)[6],KC6(3)[6],KD6(3)[6],KE6(3)[6],KF6(3)[6],KG6(3)[6], KI6(3)[6],KJ6(3)[6],KK6(3)[6],KM6(3)[6],KN6(3)[6],KO6(3)[6],KQ6(3)[6],KR6(3)[6],KS6(3)[6], @@ -1349,34 +1359,35 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KH6JJN/P(3)[6],=KH6JN(3)[6],=KH6JRB(3)[6],=KH6JRC(3)[6],=KH6JS(3)[6],=KH6JUZ(3)[6],=KH6JVS(3)[6], =KH6JWG(3)[6],=KH6KT(3)[6],=KH6LO(3)[6],=KH6MV(3)[6],=KH6N(3)[6],=KH6NG(3)[6],=KH6PGA(3)[6], =KH6PM(3)[6],=KH6PW(3)[6],=KH6SC(3)[6],=KH6TO(3)[6],=KH6UQ(3)[6],=KH6USA(3)[6],=KH6VC(3)[6], - =KH6VC/6(3)[6],=KH6WL(3)[6],=KH6WZ(3)[6],=KH7CD/6(3)[6],=KH7CS(3)[6],=KH7EM(3)[6],=KH7FC(3)[6], - =KH7I(3)[6],=KH7IZ(3)[6],=KH7JR(3)[6],=KH7NS(3)[6],=KH7RB(3)[6],=KH7TJ(3)[6],=KH7TJ/6(3)[6], - =KH7Y(3)[6],=KH7Y/6(3)[6],=KH8A(3)[6],=KH8AF(3)[6],=KH8FL(3)[6],=KL0AA(3)[6],=KL0AF(3)[6], - =KL0AL(3)[6],=KL0HZ(3)[6],=KL0IF(3)[6],=KL1WE/6(3)[6],=KL2CQ(3)[6],=KL3JY/6(3)[6],=KL3YH(3)[6], - =KL4GW(3)[6],=KL4NZ(3)[6],=KL4QW(3)[6],=KL7AK(3)[6],=KL7CE/6(3)[6],=KL7CM(3)[6],=KL7CN(3)[6], - =KL7CW/6(3)[6],=KL7CX(3)[6],=KL7DJ(3)[6],=KL7EAE(3)[6],=KL7EAL(3)[6],=KL7HQR(3)[6],=KL7HSY(3)[6], - =KL7ID(3)[6],=KL7IDY/6(3)[6],=KL7ISN(3)[6],=KL7JBE(3)[6],=KL7KNP(3)[6],=KL7KX(3)[6],=KL7MF(3)[6], - =KL7MF/6(3)[6],=KL7MF/M(3)[6],=KL7OO(3)[6],=KL7RT(3)[6],=KL7SL(3)[6],=KL7SY(3)[6],=KL7VU(3)[6], - =KP2BK(3)[6],=KP3BN(3)[6],=KP3YL(3)[6],=KP4BR(3)[6],=KP4DSO(3)[6],=KP4DX/6(3)[6],=KP4ENM(3)[6], - =KP4ERR(3)[6],=KP4MD(3)[6],=KP4UB(3)[6],=NH0C(3)[6],=NH0X(3)[6],=NH2AR(3)[6],=NH2BD(3)[6], - =NH2BV(3)[6],=NH2CM(3)[6],=NH2FT(3)[6],=NH2FX(3)[6],=NH2R(3)[6],=NH2S(3)[6],=NH6AC(3)[6], - =NH6AE(3)[6],=NH6FV(3)[6],=NH6FX(3)[6],=NH6NG(3)[6],=NH6RG(3)[6],=NH6WR(3)[6],=NH7AG(3)[6], - =NH7EM(3)[6],=NH7FW(3)[6],=NH7G(3)[6],=NH7IG(3)[6],=NH7IH(3)[6],=NH7PM(3)[6],=NH7QV(3)[6], - =NH7RT(3)[6],=NH7ST(3)[6],=NH7SU(3)[6],=NH7WE(3)[6],=NH7WG(3)[6],=NH7ZE(3)[6],=NL7GE(3)[6], - =NL7IB(3)[6],=NL7OP(3)[6],=NL7YB(3)[6],=NP2KY(3)[6],=NP4AI/6(3)[6],=NP4IW(3)[6],=NP4IW/6(3)[6], - =NP4MV(3)[6],=NP4XE(3)[6],=WH0AAZ(3)[6],=WH0M(3)[6],=WH2ALN(3)[6],=WH6AAJ(3)[6],=WH6AFM(3)[6], - =WH6ANA(3)[6],=WH6ASW/M(3)[6],=WH6BYT(3)[6],=WH6CIL(3)[6],=WH6CK(3)[6],=WH6CO(3)[6],=WH6CPO(3)[6], - =WH6CPT(3)[6],=WH6CRE(3)[6],=WH6CSG(3)[6],=WH6CUF(3)[6],=WH6CUU(3)[6],=WH6CUX(3)[6],=WH6CVJ(3)[6], - =WH6CWS(3)[6],=WH6CZF(3)[6],=WH6CZH(3)[6],=WH6DHN(3)[6],=WH6DSK(3)[6],=WH6DVM(3)[6],=WH6DVN(3)[6], - =WH6DVX(3)[6],=WH6DYA(3)[6],=WH6DZV(3)[6],=WH6DZY(3)[6],=WH6EAR(3)[6],=WH6EEZ(3)[6],=WH6EHY(3)[6], - =WH6EKB(3)[6],=WH6ENG(3)[6],=WH6EUH(3)[6],=WH6EZW(3)[6],=WH6JO(3)[6],=WH6LZ(3)[6],=WH6OI(3)[6], - =WH6PX(3)[6],=WH6QA(3)[6],=WH6RF(3)[6],=WH6TD(3)[6],=WH6TK(3)[6],=WH6USA(3)[6],=WH6VM(3)[6], - =WH6VN(3)[6],=WH6XI(3)[6],=WH6XX(3)[6],=WH6YJ(3)[6],=WH7DG(3)[6],=WH7DH(3)[6],=WH7HQ(3)[6], - =WH7IN(3)[6],=WH7IV(3)[6],=WH7IZ(3)[6],=WH7LP(3)[6],=WH7OO(3)[6],=WH7PM(3)[6],=WH7QC(3)[6], - =WH7RU(3)[6],=WH7TT(3)[6],=WH7VM(3)[6],=WH7XR(3)[6],=WL3AF(3)[6],=WL3DZ(3)[6],=WL7ACO(3)[6], + =KH6VC/6(3)[6],=KH6VZ(3)[6],=KH6WL(3)[6],=KH6WZ(3)[6],=KH7CD/6(3)[6],=KH7CS(3)[6],=KH7EM(3)[6], + =KH7FC(3)[6],=KH7I(3)[6],=KH7IZ(3)[6],=KH7JR(3)[6],=KH7NS(3)[6],=KH7RB(3)[6],=KH7TJ(3)[6], + =KH7TJ/6(3)[6],=KH7XX/6(3)[6],=KH7Y(3)[6],=KH7Y/6(3)[6],=KH8A(3)[6],=KH8AF(3)[6],=KH8FL(3)[6], + =KL0AA(3)[6],=KL0AF(3)[6],=KL0AL(3)[6],=KL0HZ(3)[6],=KL0IF(3)[6],=KL1WE/6(3)[6],=KL2CQ(3)[6], + =KL3JY/6(3)[6],=KL3YH(3)[6],=KL4GW(3)[6],=KL4LV(3)[6],=KL4NZ(3)[6],=KL4QW(3)[6],=KL7AK(3)[6], + =KL7CE/6(3)[6],=KL7CM(3)[6],=KL7CN(3)[6],=KL7CW/6(3)[6],=KL7CX(3)[6],=KL7DJ(3)[6],=KL7EAE(3)[6], + =KL7EAL(3)[6],=KL7HQR(3)[6],=KL7HSY(3)[6],=KL7ID(3)[6],=KL7IDY/6(3)[6],=KL7ISN(3)[6], + =KL7JBE(3)[6],=KL7KNP(3)[6],=KL7KX(3)[6],=KL7MF(3)[6],=KL7MF/6(3)[6],=KL7MF/M(3)[6],=KL7OO(3)[6], + =KL7RT(3)[6],=KL7SL(3)[6],=KL7SY(3)[6],=KL7VU(3)[6],=KP2BK(3)[6],=KP3BN(3)[6],=KP3YL(3)[6], + =KP4BR(3)[6],=KP4DSO(3)[6],=KP4DX/6(3)[6],=KP4ENM(3)[6],=KP4ERR(3)[6],=KP4FBT(3)[6],=KP4MD(3)[6], + =KP4UB(3)[6],=NH0C(3)[6],=NH0X(3)[6],=NH2AR(3)[6],=NH2BD(3)[6],=NH2BV(3)[6],=NH2CM(3)[6], + =NH2FT(3)[6],=NH2FX(3)[6],=NH2R(3)[6],=NH2S(3)[6],=NH6AC(3)[6],=NH6AE(3)[6],=NH6FV(3)[6], + =NH6FX(3)[6],=NH6NG(3)[6],=NH6RG(3)[6],=NH6WR(3)[6],=NH7AG(3)[6],=NH7EM(3)[6],=NH7FW(3)[6], + =NH7G(3)[6],=NH7IG(3)[6],=NH7IH(3)[6],=NH7PM(3)[6],=NH7QV(3)[6],=NH7RT(3)[6],=NH7ST(3)[6], + =NH7SU(3)[6],=NH7WE(3)[6],=NH7WG(3)[6],=NH7ZE(3)[6],=NL7GE(3)[6],=NL7IB(3)[6],=NL7OP(3)[6], + =NL7YB(3)[6],=NP2KY(3)[6],=NP4AI/6(3)[6],=NP4IW(3)[6],=NP4IW/6(3)[6],=NP4MV(3)[6],=NP4XE(3)[6], + =WH0AAZ(3)[6],=WH0M(3)[6],=WH2ABS(3)[6],=WH2ALN(3)[6],=WH6AAJ(3)[6],=WH6AFM(3)[6],=WH6ANA(3)[6], + =WH6ASW/M(3)[6],=WH6BYT(3)[6],=WH6CIL(3)[6],=WH6CK(3)[6],=WH6CO(3)[6],=WH6CPO(3)[6],=WH6CPT(3)[6], + =WH6CRE(3)[6],=WH6CSG(3)[6],=WH6CUF(3)[6],=WH6CUU(3)[6],=WH6CUX(3)[6],=WH6CVJ(3)[6],=WH6CWS(3)[6], + =WH6CZF(3)[6],=WH6CZH(3)[6],=WH6DHN(3)[6],=WH6DSK(3)[6],=WH6DVM(3)[6],=WH6DVN(3)[6],=WH6DVX(3)[6], + =WH6DYA(3)[6],=WH6DZV(3)[6],=WH6DZY(3)[6],=WH6EAR(3)[6],=WH6EEZ(3)[6],=WH6EHY(3)[6],=WH6EKB(3)[6], + =WH6ENG(3)[6],=WH6EUH(3)[6],=WH6EZW(3)[6],=WH6JO(3)[6],=WH6LZ(3)[6],=WH6OI(3)[6],=WH6PX(3)[6], + =WH6QA(3)[6],=WH6RF(3)[6],=WH6TD(3)[6],=WH6TK(3)[6],=WH6USA(3)[6],=WH6VM(3)[6],=WH6VN(3)[6], + =WH6XI(3)[6],=WH6XX(3)[6],=WH6YJ(3)[6],=WH7DG(3)[6],=WH7DH(3)[6],=WH7HQ(3)[6],=WH7IN(3)[6], + =WH7IV(3)[6],=WH7IZ(3)[6],=WH7LP(3)[6],=WH7OO(3)[6],=WH7PM(3)[6],=WH7QC(3)[6],=WH7RU(3)[6], + =WH7TT(3)[6],=WH7VM(3)[6],=WH7XR(3)[6],=WL3AF(3)[6],=WL3DZ(3)[6],=WL4JC(3)[6],=WL7ACO(3)[6], =WL7BA(3)[6],=WL7BGF(3)[6],=WL7CPL(3)[6],=WL7CSD(3)[6],=WL7DN/6(3)[6],=WL7EA(3)[6],=WL7EKK(3)[6], - =WL7RA(3)[6],=WL7SE(3)[6],=WL7TG(3)[6],=WL7WL(3)[6],=WL7YQ(3)[6],=WP2N(3)[6],=WP4CUJ(3)[6], - =WP4CW(3)[6],=WP4KSU(3)[6],=WP4MVE(3)[6], + =WL7RA(3)[6],=WL7SE(3)[6],=WL7TG(3)[6],=WL7WL(3)[6],=WL7YQ(3)[6],=WL7YQ/6(3)[6],=WP2N(3)[6], + =WP4CUJ(3)[6],=WP4CW(3)[6],=WP4KSU(3)[6],=WP4MVE(3)[6], AA7(3)[6],AB7(3)[6],AC7(3)[6],AD7(3)[6],AE7(3)[6],AF7(3)[6],AG7(3)[6],AI7(3)[6],AJ7(3)[6], AK7(3)[6],K7(3)[6],KA7(3)[6],KB7(3)[6],KC7(3)[6],KD7(3)[6],KE7(3)[6],KF7(3)[6],KG7(3)[6], KI7(3)[6],KJ7(3)[6],KK7(3)[6],KM7(3)[6],KN7(3)[6],KO7(3)[6],KQ7(3)[6],KR7(3)[6],KS7(3)[6], @@ -1388,35 +1399,36 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: WQ7(3)[6],WR7(3)[6],WS7(3)[6],WT7(3)[6],WU7(3)[6],WV7(3)[6],WW7(3)[6],WX7(3)[6],WY7(3)[6], WZ7(3)[6],=AH0AB(3)[6],=AH0CN(3)[6],=AH0W(3)[6],=AH0W/7(3)[6],=AH2A(3)[6],=AH2AK(3)[6], =AH2DP(3)[6],=AH2DS(3)[6],=AH2S(3)[6],=AH6B/7(3)[6],=AH6D(3)[6],=AH6ET(3)[6],=AH6EZ(3)[6], - =AH6FC/7(3)[6],=AH6GA(3)[6],=AH6HS(3)[6],=AH6HX(3)[6],=AH6I(3)[6],=AH6IP(3)[6],=AH6LE(3)[6], - =AH6LE/7(3)[6],=AH6NJ(3)[6],=AH6NR(3)[6],=AH6OD(3)[6],=AH6PJ(3)[6],=AH6QW(3)[6],=AH6RI/7(3)[6], - =AH6SV(3)[6],=AH6VM(3)[6],=AH6Y(3)[6],=AH7MP(3)[6],=AH8AC(3)[6],=AH8DX(3)[6],=AH8K(3)[6], - =AH9A(3)[6],=AH9AC(3)[6],=AH9C(3)[6],=AL0AA(3)[6],=AL0F(3)[6],=AL0FT(3)[6],=AL0H(3)[6], - =AL0X(3)[6],=AL1N(3)[6],=AL1P(3)[6],=AL1VE(3)[6],=AL1VE/R(3)[6],=AL2B(3)[6],=AL2N(3)[6], - =AL4Q/7(3)[6],=AL5B(3)[6],=AL5W(3)[6],=AL7A(3)[6],=AL7AA(3)[6],=AL7AN(3)[6],=AL7AW(3)[6], - =AL7BN(3)[6],=AL7BQ(3)[6],=AL7CC(3)[6],=AL7CG(3)[6],=AL7CM/7(3)[6],=AL7CR(3)[6],=AL7CS(3)[6], - =AL7D(3)[6],=AL7D/7(3)[6],=AL7D/P(3)[6],=AL7D/R(3)[6],=AL7DD(3)[6],=AL7DU(3)[6],=AL7EI(3)[6], - =AL7FA(3)[6],=AL7FB(3)[6],=AL7HS(3)[6],=AL7HY(3)[6],=AL7IG(3)[6],=AL7IT(3)[6],=AL7JF(3)[6], - =AL7JJ(3)[6],=AL7JS(3)[6],=AL7JW(3)[6],=AL7JY(3)[6],=AL7KE(3)[6],=AL7KF(3)[6],=AL7KK(3)[6], - =AL7KL(3)[6],=AL7KV(3)[6],=AL7L/7(3)[6],=AL7MH(3)[6],=AL7MQ(3)[6],=AL7ND(3)[6],=AL7NK(3)[6], - =AL7NZ(3)[6],=AL7OK(3)[6],=AL7OW(3)[6],=AL7PR(3)[6],=AL7PV(3)[6],=AL7QL(3)[6],=AL7R(3)[6], - =AL7R/7(3)[6],=AL7RF(3)[6],=AL7RF/7(3)[6],=AL7RM(3)[6],=AL7RS(3)[6],=AL7W(3)[6],=G4KHG/M(3)[6], - =KH0AS(3)[6],=KH0H(3)[6],=KH0K(3)[6],=KH0SH(3)[6],=KH0TL(3)[6],=KH0X(3)[6],=KH2CH(3)[6], - =KH2G(3)[6],=KH2GG(3)[6],=KH2JA(3)[6],=KH2QH(3)[6],=KH2RK(3)[6],=KH2SK(3)[6],=KH2SR(3)[6], - =KH2TJ/7(3)[6],=KH2TJ/P(3)[6],=KH2XP(3)[6],=KH2YL(3)[6],=KH3AD(3)[6],=KH6AB(3)[6],=KH6AHQ(3)[6], - =KH6BXZ(3)[6],=KH6CN(3)[6],=KH6CN/7(3)[6],=KH6COY(3)[6],=KH6CQG(3)[6],=KH6CQH(3)[6], - =KH6CQH/7(3)[6],=KH6DB(3)[6],=KH6DE(3)[6],=KH6DOT(3)[6],=KH6DUT(3)[6],=KH6EE(3)[6],=KH6EE/7(3)[6], - =KH6GB(3)[6],=KH6GDN(3)[6],=KH6HU(3)[6],=KH6HWK(3)[6],=KH6IA(3)[6],=KH6ICQ(3)[6],=KH6IKC(3)[6], - =KH6IMN(3)[6],=KH6IQX(3)[6],=KH6ITY(3)[6],=KH6JFL(3)[6],=KH6JIM/7(3)[6],=KH6JJS(3)[6], - =KH6JPJ(3)[6],=KH6JPO(3)[6],=KH6JRW(3)[6],=KH6JT(3)[6],=KH6JUQ(3)[6],=KH6KS(3)[6],=KH6KW(3)[6], - =KH6LEM(3)[6],=KH6ME(3)[6],=KH6MF(3)[6],=KH6NA(3)[6],=KH6NO/7(3)[6],=KH6NO/M(3)[6],=KH6NU(3)[6], - =KH6OV(3)[6],=KH6PG(3)[6],=KH6PR(3)[6],=KH6QAI(3)[6],=KH6QAI/7(3)[6],=KH6QAJ(3)[6],=KH6RW(3)[6], - =KH6RY(3)[6],=KH6SAT(3)[6],=KH6SS(3)[6],=KH6TG(3)[6],=KH6TX(3)[6],=KH6VM(3)[6],=KH6VT(3)[6], - =KH6WX(3)[6],=KH6XG(3)[6],=KH6XS(3)[6],=KH6XT(3)[6],=KH6YL(3)[6],=KH7AL(3)[6],=KH7CB(3)[6], - =KH7CM(3)[6],=KH7CZ(3)[6],=KH7FJ(3)[6],=KH7HH(3)[6],=KH7HWK(3)[6],=KH7IP(3)[6],=KH7ME(3)[6], - =KH7MR(3)[6],=KH7NP(3)[6],=KH7R(3)[6],=KH7SQ(3)[6],=KH7SR(3)[6],=KH7WW(3)[6],=KH7WW/7(3)[6], - =KH7YD(3)[6],=KH7YD/7(3)[6],=KH8AH(3)[6],=KH8AZ(3)[6],=KH8BG(3)[6],=KH8D(3)[6],=KH8E(3)[6], - =KH8K(3)[6],=KH9AA(3)[6],=KL0AI(3)[6],=KL0AN(3)[6],=KL0AP(3)[6],=KL0CM(3)[6],=KL0CW(3)[6], + =AH6FC/7(3)[6],=AH6GA(3)[6],=AH6HK(3)[6],=AH6HS(3)[6],=AH6HX(3)[6],=AH6I(3)[6],=AH6IP(3)[6], + =AH6LE(3)[6],=AH6LE/7(3)[6],=AH6NJ(3)[6],=AH6NR(3)[6],=AH6OD(3)[6],=AH6PJ(3)[6],=AH6QW(3)[6], + =AH6RI/7(3)[6],=AH6SV(3)[6],=AH6VM(3)[6],=AH6Y(3)[6],=AH7MP(3)[6],=AH8AC(3)[6],=AH8DX(3)[6], + =AH8K(3)[6],=AH9A(3)[6],=AH9AC(3)[6],=AH9C(3)[6],=AL0AA(3)[6],=AL0F(3)[6],=AL0FT(3)[6], + =AL0H(3)[6],=AL0X(3)[6],=AL1N(3)[6],=AL1P(3)[6],=AL1VE(3)[6],=AL1VE/R(3)[6],=AL2B(3)[6], + =AL2N(3)[6],=AL3L(3)[6],=AL4Q/7(3)[6],=AL5B(3)[6],=AL5W(3)[6],=AL7A(3)[6],=AL7AA(3)[6], + =AL7AN(3)[6],=AL7AW(3)[6],=AL7BN(3)[6],=AL7BQ(3)[6],=AL7CC(3)[6],=AL7CG(3)[6],=AL7CM/7(3)[6], + =AL7CR(3)[6],=AL7CS(3)[6],=AL7D(3)[6],=AL7D/7(3)[6],=AL7D/P(3)[6],=AL7D/R(3)[6],=AL7DD(3)[6], + =AL7DU(3)[6],=AL7EI(3)[6],=AL7FA(3)[6],=AL7FB(3)[6],=AL7HS(3)[6],=AL7HY(3)[6],=AL7IG(3)[6], + =AL7IT(3)[6],=AL7JF(3)[6],=AL7JJ(3)[6],=AL7JS(3)[6],=AL7JW(3)[6],=AL7JY(3)[6],=AL7KE(3)[6], + =AL7KF(3)[6],=AL7KG(3)[6],=AL7KK(3)[6],=AL7KL(3)[6],=AL7KV(3)[6],=AL7L/7(3)[6],=AL7MH(3)[6], + =AL7MQ(3)[6],=AL7ND(3)[6],=AL7NK(3)[6],=AL7NZ(3)[6],=AL7OK(3)[6],=AL7OW(3)[6],=AL7PR(3)[6], + =AL7PV(3)[6],=AL7QL(3)[6],=AL7R(3)[6],=AL7R/7(3)[6],=AL7RF(3)[6],=AL7RF/7(3)[6],=AL7RM(3)[6], + =AL7RR(3)[6],=AL7RS(3)[6],=AL7W(3)[6],=G4KHG/M(3)[6],=KH0AS(3)[6],=KH0H(3)[6],=KH0K(3)[6], + =KH0SH(3)[6],=KH0TL(3)[6],=KH0X(3)[6],=KH2CH(3)[6],=KH2G(3)[6],=KH2GG(3)[6],=KH2JA(3)[6], + =KH2QH(3)[6],=KH2RK(3)[6],=KH2SK(3)[6],=KH2SR(3)[6],=KH2TJ/7(3)[6],=KH2TJ/P(3)[6],=KH2XP(3)[6], + =KH2YL(3)[6],=KH3AD(3)[6],=KH6AB(3)[6],=KH6AHQ(3)[6],=KH6BXZ(3)[6],=KH6CN(3)[6],=KH6CN/7(3)[6], + =KH6COY(3)[6],=KH6CQG(3)[6],=KH6CQH(3)[6],=KH6CQH/7(3)[6],=KH6DB(3)[6],=KH6DE(3)[6],=KH6DOT(3)[6], + =KH6DUT(3)[6],=KH6EE(3)[6],=KH6EE/7(3)[6],=KH6GB(3)[6],=KH6GDN(3)[6],=KH6HU(3)[6],=KH6HWK(3)[6], + =KH6IA(3)[6],=KH6ICQ(3)[6],=KH6IKC(3)[6],=KH6IMN(3)[6],=KH6IQX(3)[6],=KH6ITY(3)[6],=KH6JFL(3)[6], + =KH6JIM/7(3)[6],=KH6JJS(3)[6],=KH6JPJ(3)[6],=KH6JPO(3)[6],=KH6JRW(3)[6],=KH6JT(3)[6], + =KH6JUQ(3)[6],=KH6KS(3)[6],=KH6KW(3)[6],=KH6LEM(3)[6],=KH6ME(3)[6],=KH6MF(3)[6],=KH6NA(3)[6], + =KH6NO/7(3)[6],=KH6NO/M(3)[6],=KH6NU(3)[6],=KH6OV(3)[6],=KH6PG(3)[6],=KH6PR(3)[6],=KH6QAI(3)[6], + =KH6QAI/7(3)[6],=KH6QAJ(3)[6],=KH6RW(3)[6],=KH6RY(3)[6],=KH6SAT(3)[6],=KH6SS(3)[6],=KH6TG(3)[6], + =KH6TX(3)[6],=KH6VM(3)[6],=KH6VM/7(3)[6],=KH6VT(3)[6],=KH6WX(3)[6],=KH6XG(3)[6],=KH6XS(3)[6], + =KH6XT(3)[6],=KH6YL(3)[6],=KH7AL(3)[6],=KH7CB(3)[6],=KH7CM(3)[6],=KH7CZ(3)[6],=KH7FJ(3)[6], + =KH7HH(3)[6],=KH7HWK(3)[6],=KH7IP(3)[6],=KH7LE(3)[6],=KH7ME(3)[6],=KH7MR(3)[6],=KH7NP(3)[6], + =KH7R(3)[6],=KH7SQ(3)[6],=KH7SR(3)[6],=KH7WW(3)[6],=KH7WW/7(3)[6],=KH7YD(3)[6],=KH7YD/7(3)[6], + =KH8AB(3)[6],=KH8AH(3)[6],=KH8AZ(3)[6],=KH8BG(3)[6],=KH8D(3)[6],=KH8E(3)[6],=KH8K(3)[6], + =KH9AA(3)[6],=KL0AI(3)[6],=KL0AN(3)[6],=KL0AP(3)[6],=KL0CA(3)[6],=KL0CM(3)[6],=KL0CW(3)[6], =KL0DF(3)[6],=KL0DG(3)[6],=KL0DR(3)[6],=KL0DT(3)[6],=KL0IR(3)[6],=KL0IS(3)[6],=KL0IW(3)[6], =KL0IX(3)[6],=KL0MO(3)[6],=KL0NM(3)[6],=KL0PP(3)[6],=KL0QD(3)[6],=KL0RA(3)[6],=KL0SZ(3)[6], =KL0TR(3)[6],=KL0TU(3)[6],=KL1AA(3)[6],=KL1AE(3)[6],=KL1DO(3)[6],=KL1DW(3)[6],=KL1ED(3)[6], @@ -1425,59 +1437,59 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KL1XI(3)[6],=KL1YO(3)[6],=KL1YY/7(3)[6],=KL1ZG(3)[6],=KL1ZP(3)[6],=KL1ZR(3)[6],=KL2A/7(3)[6], =KL2BG(3)[6],=KL2BO(3)[6],=KL2BW(3)[6],=KL2BY(3)[6],=KL2BZ(3)[6],=KL2FD(3)[6],=KL2FL(3)[6], =KL2JY(3)[6],=KL2K(3)[6],=KL2KY(3)[6],=KL2LA(3)[6],=KL2LN(3)[6],=KL2LT(3)[6],=KL2MP(3)[6], - =KL2NJ(3)[6],=KL2NW(3)[6],=KL2OH(3)[6],=KL2OJ(3)[6],=KL2P(3)[6],=KL2PS(3)[6],=KL2QE(3)[6], - =KL2VK(3)[6],=KL2YH(3)[6],=KL3EZ(3)[6],=KL3FE(3)[6],=KL3IC(3)[6],=KL3IO(3)[6],=KL3IW(3)[6], - =KL3MZ(3)[6],=KL3NE(3)[6],=KL3NO(3)[6],=KL3OQ(3)[6],=KL3PD(3)[6],=KL3TW(3)[6],=KL3VJ(3)[6], - =KL3XS(3)[6],=KL4BS(3)[6],=KL4YFD(3)[6],=KL7AB(3)[6],=KL7AD(3)[6],=KL7AW(3)[6],=KL7BD(3)[6], + =KL2NJ(3)[6],=KL2NW(3)[6],=KL2OH(3)[6],=KL2OJ(3)[6],=KL2P(3)[6],=KL2QE(3)[6],=KL2VK(3)[6], + =KL2YH(3)[6],=KL3EZ(3)[6],=KL3FE(3)[6],=KL3IC(3)[6],=KL3IO(3)[6],=KL3IW(3)[6],=KL3MZ(3)[6], + =KL3NE(3)[6],=KL3NO(3)[6],=KL3OQ(3)[6],=KL3PD(3)[6],=KL3TW(3)[6],=KL3VJ(3)[6],=KL3XS(3)[6], + =KL4BS(3)[6],=KL4RKH(3)[6],=KL4YFD(3)[6],=KL7AB(3)[6],=KL7AD(3)[6],=KL7AW(3)[6],=KL7BD(3)[6], =KL7BDC(3)[6],=KL7BH(3)[6],=KL7BR(3)[6],=KL7BS(3)[6],=KL7BT(3)[6],=KL7BUR(3)[6],=KL7BXP(3)[6], =KL7C(3)[6],=KL7CPO(3)[6],=KL7CT(3)[6],=KL7DC(3)[6],=KL7DF(3)[6],=KL7DI(3)[6],=KL7DK(3)[6], - =KL7DLG(3)[6],=KL7DYS(3)[6],=KL7EFL(3)[6],=KL7EH(3)[6],=KL7EIN(3)[6],=KL7EU(3)[6],=KL7FDQ(3)[6], - =KL7FDQ/7(3)[6],=KL7FOZ(3)[6],=KL7FS(3)[6],=KL7GA(3)[6],=KL7GCS(3)[6],=KL7GKY(3)[6],=KL7GRF(3)[6], - =KL7GT(3)[6],=KL7HB(3)[6],=KL7HBV(3)[6],=KL7HFI/7(3)[6],=KL7HFV(3)[6],=KL7HI(3)[6],=KL7HJR(3)[6], - =KL7HLF(3)[6],=KL7HM(3)[6],=KL7HMK(3)[6],=KL7HQL(3)[6],=KL7HSR(3)[6],=KL7IAL(3)[6],=KL7IBT(3)[6], - =KL7IDY(3)[6],=KL7IGB(3)[6],=KL7IHK(3)[6],=KL7IIK(3)[6],=KL7IKV(3)[6],=KL7IL(3)[6],=KL7IME(3)[6], - =KL7IPV(3)[6],=KL7ISE(3)[6],=KL7IUX(3)[6],=KL7IWC/7(3)[6],=KL7IZC(3)[6],=KL7JBB(3)[6], - =KL7JDQ(3)[6],=KL7JES(3)[6],=KL7JIJ(3)[6],=KL7JJE(3)[6],=KL7JKV(3)[6],=KL7KA(3)[6],=KL7KG/7(3)[6], - =KL7LG(3)[6],=KL7LX(3)[6],=KL7LZ(3)[6],=KL7M(3)[6],=KL7MY(3)[6],=KL7MZ(3)[6],=KL7NA(3)[6], - =KL7NP(3)[6],=KL7NP/7(3)[6],=KL7OA(3)[6],=KL7OF(3)[6],=KL7OL(3)[6],=KL7OR(3)[6],=KL7OR/7(3)[6], - =KL7OS(3)[6],=KL7OY(3)[6],=KL7PO(3)[6],=KL7QA(3)[6],=KL7QK(3)[6],=KL7QK/140(3)[6],=KL7QK/7(3)[6], - =KL7QR(3)[6],=KL7QR/7(3)[6],=KL7R(3)[6],=KL7RC(3)[6],=KL7RK(3)[6],=KL7RM(3)[6],=KL7RS(3)[6], - =KL7S(3)[6],=KL7SK(3)[6],=KL7SP(3)[6],=KL7T(3)[6],=KL7TU(3)[6],=KL7UP(3)[6],=KL7UT(3)[6], - =KL7VK(3)[6],=KL7VL(3)[6],=KL7VN(3)[6],=KL7VQ(3)[6],=KL7W(3)[6],=KL7WM(3)[6],=KL7WN(3)[6], - =KL7WP(3)[6],=KL7WP/7(3)[6],=KL7WT(3)[6],=KL7YJ(3)[6],=KL7YQ(3)[6],=KL7YY/M(3)[6],=KL7ZH(3)[6], - =KL7ZW(3)[6],=KL8RV(3)[6],=KL8SU(3)[6],=KP2BX(3)[6],=KP2CB(3)[6],=KP2CT(3)[6],=KP2X(3)[6], + =KL7DLG(3)[6],=KL7EFL(3)[6],=KL7EH(3)[6],=KL7EIN(3)[6],=KL7EU(3)[6],=KL7FDQ(3)[6],=KL7FDQ/7(3)[6], + =KL7FOZ(3)[6],=KL7FS(3)[6],=KL7GA(3)[6],=KL7GCS(3)[6],=KL7GKY(3)[6],=KL7GRF(3)[6],=KL7GT(3)[6], + =KL7HB(3)[6],=KL7HBV(3)[6],=KL7HFI/7(3)[6],=KL7HFV(3)[6],=KL7HI(3)[6],=KL7HJR(3)[6],=KL7HLF(3)[6], + =KL7HM(3)[6],=KL7HMK(3)[6],=KL7HQL(3)[6],=KL7HSR(3)[6],=KL7IAL(3)[6],=KL7IBT(3)[6],=KL7IDY(3)[6], + =KL7IGB(3)[6],=KL7IHK(3)[6],=KL7IIK(3)[6],=KL7IKV(3)[6],=KL7IL(3)[6],=KL7IME(3)[6],=KL7IPV(3)[6], + =KL7ISE(3)[6],=KL7IUX(3)[6],=KL7IWC/7(3)[6],=KL7IZC(3)[6],=KL7JBB(3)[6],=KL7JDQ(3)[6], + =KL7JES(3)[6],=KL7JIJ(3)[6],=KL7JJE(3)[6],=KL7JKV(3)[6],=KL7KA(3)[6],=KL7KG/7(3)[6],=KL7LG(3)[6], + =KL7LX(3)[6],=KL7LZ(3)[6],=KL7M(3)[6],=KL7MY(3)[6],=KL7MZ(3)[6],=KL7NA(3)[6],=KL7NP(3)[6], + =KL7NP/7(3)[6],=KL7OA(3)[6],=KL7OF(3)[6],=KL7OL(3)[6],=KL7OR(3)[6],=KL7OR/7(3)[6],=KL7OS(3)[6], + =KL7OY(3)[6],=KL7PO(3)[6],=KL7QA(3)[6],=KL7QK(3)[6],=KL7QK/140(3)[6],=KL7QK/7(3)[6],=KL7QR(3)[6], + =KL7QR/7(3)[6],=KL7R(3)[6],=KL7RC(3)[6],=KL7RK(3)[6],=KL7RM(3)[6],=KL7RS(3)[6],=KL7S(3)[6], + =KL7SK(3)[6],=KL7SP(3)[6],=KL7T(3)[6],=KL7TU(3)[6],=KL7UP(3)[6],=KL7UT(3)[6],=KL7VK(3)[6], + =KL7VL(3)[6],=KL7VN(3)[6],=KL7VQ(3)[6],=KL7W(3)[6],=KL7WM(3)[6],=KL7WN(3)[6],=KL7WP(3)[6], + =KL7WP/7(3)[6],=KL7WT(3)[6],=KL7YJ(3)[6],=KL7YQ(3)[6],=KL7YY/M(3)[6],=KL7ZH(3)[6],=KL7ZW(3)[6], + =KL8RV(3)[6],=KL8SU(3)[6],=KL9PC(3)[6],=KP2BX(3)[6],=KP2CB(3)[6],=KP2CT(3)[6],=KP2X(3)[6], =KP2Y(3)[6],=KP4BBN(3)[6],=KP4EFZ(3)[6],=KP4ND(3)[6],=KP4UZ(3)[6],=KP4X(3)[6],=NH0F(3)[6], =NH2DM(3)[6],=NH2JE(3)[6],=NH2KR(3)[6],=NH6B(3)[6],=NH6BF(3)[6],=NH6CI(3)[6],=NH6DQ(3)[6], =NH6DX(3)[6],=NH6FF(3)[6],=NH6GZ(3)[6],=NH6HE(3)[6],=NH6HZ(3)[6],=NH6LM(3)[6],=NH6NS(3)[6], =NH6U(3)[6],=NH6Z(3)[6],=NH6ZA(3)[6],=NH6ZE(3)[6],=NH7FZ(3)[6],=NH7L(3)[6],=NH7M(3)[6], =NH7MY(3)[6],=NH7N(3)[6],=NH7ND(3)[6],=NH7NJ/7(3)[6],=NH7OC(3)[6],=NH7PL(3)[6],=NH7RS(3)[6], =NH7S(3)[6],=NH7SH(3)[6],=NH7TG(3)[6],=NH7VZ(3)[6],=NH7W(3)[6],=NH7WT(3)[6],=NH7WU(3)[6], - =NH7YE(3)[6],=NH7YI(3)[6],=NL7AH(3)[6],=NL7AR(3)[6],=NL7AZ(3)[6],=NL7D(3)[6],=NL7D/7(3)[6], - =NL7DH(3)[6],=NL7DY(3)[6],=NL7EO(3)[6],=NL7FQ(3)[6],=NL7FX(3)[6],=NL7GM(3)[6],=NL7GO(3)[6], - =NL7GW(3)[6],=NL7HH(3)[6],=NL7HK(3)[6],=NL7HQ(3)[6],=NL7HU(3)[6],=NL7IN(3)[6],=NL7JJ(3)[6], - =NL7JN(3)[6],=NL7KV(3)[6],=NL7MS(3)[6],=NL7MT(3)[6],=NL7NL(3)[6],=NL7OF(3)[6],=NL7QI(3)[6], - =NL7TK(3)[6],=NL7UE(3)[6],=NL7US(3)[6],=NL7WD(3)[6],=NL7WJ(3)[6],=NL7XX(3)[6],=NL7ZM(3)[6], - =NL7ZN(3)[6],=NL7ZP(3)[6],=NP2CT(3)[6],=NP2X/7(3)[6],=NP3PH(3)[6],=NP4AI/M(3)[6],=NP4ES(3)[6], - =NP4FP(3)[6],=NP4I(3)[6],=NP4JV(3)[6],=VA2GLB/P(3)[6],=WH0AAM(3)[6],=WH0J(3)[6],=WH2ACV(3)[6], - =WH2AJF(3)[6],=WH2M(3)[6],=WH6ARU(3)[6],=WH6ASB(3)[6],=WH6B(3)[6],=WH6BDR(3)[6],=WH6BLM(3)[6], - =WH6BPU(3)[6],=WH6CF(3)[6],=WH6CMS(3)[6],=WH6CN(3)[6],=WH6CUS(3)[6],=WH6CWD(3)[6],=WH6CXB(3)[6], - =WH6CXE(3)[6],=WH6CXN(3)[6],=WH6CYB(3)[6],=WH6CZ(3)[6],=WH6DAY(3)[6],=WH6DJO(3)[6],=WH6DKC(3)[6], - =WH6DLQ(3)[6],=WH6DMP(3)[6],=WH6DQ(3)[6],=WH6DST(3)[6],=WH6EEC(3)[6],=WH6EEG(3)[6],=WH6EHW(3)[6], - =WH6EJV(3)[6],=WH6EQB(3)[6],=WH6ESS(3)[6],=WH6ETO(3)[6],=WH6EWE(3)[6],=WH6FCT(3)[6],=WH6FEU(3)[6], - =WH6FL(3)[6],=WH6FOJ(3)[6],=WH6OL(3)[6],=WH6OY(3)[6],=WH6QV(3)[6],=WH6SD(3)[6],=WH6SR(3)[6], - =WH6TI(3)[6],=WH6U(3)[6],=WH6XV(3)[6],=WH6YT(3)[6],=WH6ZV(3)[6],=WH7A(3)[6],=WH7CY(3)[6], - =WH7DB(3)[6],=WH7DE(3)[6],=WH7G(3)[6],=WH7GC(3)[6],=WH7GY(3)[6],=WH7HU(3)[6],=WH7LB(3)[6], - =WH7NS(3)[6],=WH7P(3)[6],=WH7RG(3)[6],=WH7TC(3)[6],=WH7UP(3)[6],=WH7WP(3)[6],=WH7WT(3)[6], - =WH7XP(3)[6],=WH7ZM(3)[6],=WL7AAW(3)[6],=WL7AL(3)[6],=WL7AP(3)[6],=WL7AZG(3)[6],=WL7AZL(3)[6], - =WL7BHR(3)[6],=WL7BLM(3)[6],=WL7BM(3)[6],=WL7BNQ(3)[6],=WL7BON(3)[6],=WL7BOO(3)[6],=WL7BSW(3)[6], - =WL7BVN(3)[6],=WL7CAZ(3)[6],=WL7CBF(3)[6],=WL7CES(3)[6],=WL7COQ(3)[6],=WL7CPE(3)[6],=WL7CPI(3)[6], - =WL7CRJ(3)[6],=WL7CSL(3)[6],=WL7CTB(3)[6],=WL7CTC(3)[6],=WL7CTE(3)[6],=WL7DD(3)[6],=WL7FA(3)[6], - =WL7FU(3)[6],=WL7H(3)[6],=WL7HE(3)[6],=WL7HK(3)[6],=WL7HL(3)[6],=WL7IQ(3)[6],=WL7IS(3)[6], - =WL7JM(3)[6],=WL7K(3)[6],=WL7K/7(3)[6],=WL7K/M(3)[6],=WL7LB(3)[6],=WL7LK(3)[6],=WL7OA(3)[6], - =WL7P(3)[6],=WL7PJ(3)[6],=WL7QC(3)[6],=WL7QX(3)[6],=WL7RV/140(3)[6],=WL7SD(3)[6],=WL7SO(3)[6], - =WL7SV(3)[6],=WL7T(3)[6],=WL7WB(3)[6],=WL7WF(3)[6],=WL7WG(3)[6],=WL7WU(3)[6],=WL7XE(3)[6], - =WL7XJ(3)[6],=WL7XN(3)[6],=WL7XW(3)[6],=WL7Z(3)[6],=WL7ZM(3)[6],=WP4BZG(3)[6],=WP4DYP(3)[6], - =WP4NBP(3)[6], + =NH7YE(3)[6],=NH7YI(3)[6],=NL7AH(3)[6],=NL7AR(3)[6],=NL7AZ(3)[6],=NL7CH(3)[6],=NL7D(3)[6], + =NL7D/7(3)[6],=NL7DH(3)[6],=NL7DY(3)[6],=NL7EO(3)[6],=NL7FQ(3)[6],=NL7FX(3)[6],=NL7GM(3)[6], + =NL7GO(3)[6],=NL7GW(3)[6],=NL7HH(3)[6],=NL7HK(3)[6],=NL7HQ(3)[6],=NL7HU(3)[6],=NL7IN(3)[6], + =NL7JJ(3)[6],=NL7JN(3)[6],=NL7KV(3)[6],=NL7LI(3)[6],=NL7MS(3)[6],=NL7MT(3)[6],=NL7NL(3)[6], + =NL7OF(3)[6],=NL7PN(3)[6],=NL7QI(3)[6],=NL7RL(3)[6],=NL7TK(3)[6],=NL7UE(3)[6],=NL7US(3)[6], + =NL7WD(3)[6],=NL7WJ(3)[6],=NL7XX(3)[6],=NL7ZM(3)[6],=NL7ZN(3)[6],=NL7ZP(3)[6],=NP2CT(3)[6], + =NP2X/7(3)[6],=NP3PH(3)[6],=NP4AI/M(3)[6],=NP4ES(3)[6],=NP4FP(3)[6],=NP4I(3)[6],=NP4JV(3)[6], + =VA2GLB/P(3)[6],=WH0AAM(3)[6],=WH0J(3)[6],=WH2ACV(3)[6],=WH2AJF(3)[6],=WH2M(3)[6],=WH6ARU(3)[6], + =WH6ASB(3)[6],=WH6B(3)[6],=WH6BDR(3)[6],=WH6BLM(3)[6],=WH6BPU(3)[6],=WH6CF(3)[6],=WH6CMS(3)[6], + =WH6CN(3)[6],=WH6CUS(3)[6],=WH6CWD(3)[6],=WH6CXB(3)[6],=WH6CXE(3)[6],=WH6CXN(3)[6],=WH6CYB(3)[6], + =WH6CZ(3)[6],=WH6DAY(3)[6],=WH6DJO(3)[6],=WH6DKC(3)[6],=WH6DLQ(3)[6],=WH6DMP(3)[6],=WH6DQ(3)[6], + =WH6DST(3)[6],=WH6EEC(3)[6],=WH6EEG(3)[6],=WH6EHW(3)[6],=WH6EJV(3)[6],=WH6EQB(3)[6],=WH6ESS(3)[6], + =WH6ETO(3)[6],=WH6EWE(3)[6],=WH6FCT(3)[6],=WH6FEU(3)[6],=WH6FL(3)[6],=WH6FOJ(3)[6],=WH6OL(3)[6], + =WH6OY(3)[6],=WH6QV(3)[6],=WH6SD(3)[6],=WH6SR(3)[6],=WH6TI(3)[6],=WH6U(3)[6],=WH6XV(3)[6], + =WH6YT(3)[6],=WH6ZV(3)[6],=WH7A(3)[6],=WH7CY(3)[6],=WH7DB(3)[6],=WH7DE(3)[6],=WH7G(3)[6], + =WH7GC(3)[6],=WH7GY(3)[6],=WH7HU(3)[6],=WH7LB(3)[6],=WH7NS(3)[6],=WH7P(3)[6],=WH7RG(3)[6], + =WH7TC(3)[6],=WH7UP(3)[6],=WH7WP(3)[6],=WH7WT(3)[6],=WH7XP(3)[6],=WL7AAW(3)[6],=WL7AL(3)[6], + =WL7AP(3)[6],=WL7AZG(3)[6],=WL7AZL(3)[6],=WL7BHR(3)[6],=WL7BLM(3)[6],=WL7BM(3)[6],=WL7BNQ(3)[6], + =WL7BON(3)[6],=WL7BOO(3)[6],=WL7BSW(3)[6],=WL7BVN(3)[6],=WL7CAZ(3)[6],=WL7CBF(3)[6],=WL7CES(3)[6], + =WL7COQ(3)[6],=WL7CPE(3)[6],=WL7CPI(3)[6],=WL7CRJ(3)[6],=WL7CSL(3)[6],=WL7CTB(3)[6],=WL7CTC(3)[6], + =WL7CTE(3)[6],=WL7DD(3)[6],=WL7FA(3)[6],=WL7FU(3)[6],=WL7H(3)[6],=WL7HE(3)[6],=WL7HK(3)[6], + =WL7HL(3)[6],=WL7IQ(3)[6],=WL7IS(3)[6],=WL7JM(3)[6],=WL7K(3)[6],=WL7K/7(3)[6],=WL7K/M(3)[6], + =WL7LB(3)[6],=WL7LK(3)[6],=WL7OA(3)[6],=WL7P(3)[6],=WL7PJ(3)[6],=WL7QC(3)[6],=WL7QX(3)[6], + =WL7RV/140(3)[6],=WL7SD(3)[6],=WL7SO(3)[6],=WL7SV(3)[6],=WL7T(3)[6],=WL7VK(3)[6],=WL7WB(3)[6], + =WL7WF(3)[6],=WL7WG(3)[6],=WL7WU(3)[6],=WL7XE(3)[6],=WL7XJ(3)[6],=WL7XN(3)[6],=WL7XW(3)[6], + =WL7Z(3)[6],=WL7ZM(3)[6],=WP4BZG(3)[6],=WP4DYP(3)[6],=WP4NBP(3)[6], AA8(4)[8],AB8(4)[8],AC8(4)[8],AD8(4)[8],AE8(4)[8],AF8(4)[8],AG8(4)[8],AI8(4)[8],AJ8(4)[8], AK8(4)[8],K8(4)[8],KA8(4)[8],KB8(4)[8],KC8(4)[8],KD8(4)[8],KE8(4)[8],KF8(4)[8],KG8(4)[8], KI8(4)[8],KJ8(4)[8],KK8(4)[8],KM8(4)[8],KN8(4)[8],KO8(4)[8],KQ8(4)[8],KR8(4)[8],KS8(4)[8], @@ -1490,14 +1502,14 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: WZ8(4)[8],=AH2AR(4)[8],=AH2AV(4)[8],=AH2JD(4)[8],=AH6AO(4)[8],=AH6MQ(4)[8],=AL4E(4)[8], =AL7AH(4)[8],=AL7BA/8(4)[8],=AL7GI(4)[8],=AL7GI/8(4)[8],=AL7J/8(4)[8],=AL7OP(4)[8],=KH2AP(4)[8], =KH6BZF/8(4)[8],=KH6DHK(4)[8],=KH6IK(4)[8],=KH6ILT(4)[8],=KH6SM(4)[8],=KH7DK(4)[8],=KH7SP(4)[8], - =KL0DN(4)[8],=KL0NR(4)[8],=KL0PD(4)[8],=KL0PE(4)[8],=KL2NI(4)[8],=KL3HQ(4)[8],=KL5A(4)[8], - =KL7DS(4)[8],=KL7FHI(4)[8],=KL7FHK(4)[8],=KL7GF(4)[8],=KL7IKR(4)[8],=KL7OG(4)[8],=KL7RF(4)[8], - =KL7RF/8(4)[8],=KL7SW(4)[8],=KL8X(4)[8],=KL9A/8(4)[8],=KP2RF(4)[8],=KP4AKB(4)[8],=KP4AMZ(4)[8], - =KP4AQI(4)[8],=KP4E(4)[8],=KP4JMP(4)[8],=KP4MAS(4)[8],=KP4VZ(4)[8],=KP4ZD(4)[8],=NH6CN(4)[8], - =NL7CF(4)[8],=NL7FK(4)[8],=NP2AK(4)[8],=NP2F(4)[8],=VE3ACW/M(4)[8],=WH2U(4)[8],=WH6CYR(4)[8], - =WH6E(4)[8],=WH6E/8(4)[8],=WH6EBA(4)[8],=WH6EJD(4)[8],=WH6TB(4)[8],=WL7AM(4)[8],=WL7BKR(4)[8], - =WL7CMV(4)[8],=WL7OS(4)[8],=WL7OT(4)[8],=WP3KU(4)[8],=WP3S(4)[8],=WP4NAE(4)[8],=WP4NYQ(4)[8], - =WP4PLR(4)[8], + =KL0DN(4)[8],=KL0NR(4)[8],=KL0PD(4)[8],=KL0PE(4)[8],=KL2NI(4)[8],=KL2PS(4)[8],=KL2YU(4)[8], + =KL3HQ(4)[8],=KL5A(4)[8],=KL7DS(4)[8],=KL7FHI(4)[8],=KL7FHK(4)[8],=KL7GF(4)[8],=KL7IKR(4)[8], + =KL7OG(4)[8],=KL7RF(4)[8],=KL7RF/8(4)[8],=KL7SW(4)[8],=KL8X(4)[8],=KL9A/8(4)[8],=KP2RF(4)[8], + =KP4AKB(4)[8],=KP4AMZ(4)[8],=KP4AQI(4)[8],=KP4E(4)[8],=KP4JMP(4)[8],=KP4MAS(4)[8],=KP4VZ(4)[8], + =KP4ZD(4)[8],=NH6CN(4)[8],=NL7CF(4)[8],=NL7FK(4)[8],=NP2AK(4)[8],=NP2F(4)[8],=NP3NA(4)[8], + =VE3ACW/M(4)[8],=WH2U(4)[8],=WH6CYR(4)[8],=WH6E(4)[8],=WH6E/8(4)[8],=WH6EBA(4)[8],=WH6EJD(4)[8], + =WH6TB(4)[8],=WL7AM(4)[8],=WL7BKR(4)[8],=WL7CMV(4)[8],=WL7OS(4)[8],=WL7OT(4)[8],=WP3KU(4)[8], + =WP3S(4)[8],=WP4HJF(4)[8],=WP4NAE(4)[8],=WP4NYQ(4)[8],=WP4PLR(4)[8], AA9(4)[8],AB9(4)[8],AC9(4)[8],AD9(4)[8],AE9(4)[8],AF9(4)[8],AG9(4)[8],AI9(4)[8],AJ9(4)[8], AK9(4)[8],K9(4)[8],KA9(4)[8],KB9(4)[8],KC9(4)[8],KD9(4)[8],KE9(4)[8],KF9(4)[8],KG9(4)[8], KI9(4)[8],KJ9(4)[8],KK9(4)[8],KM9(4)[8],KN9(4)[8],KO9(4)[8],KQ9(4)[8],KR9(4)[8],KS9(4)[8], @@ -1511,49 +1523,50 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =AL7AK/9(4)[8],=AL7BT(4)[8],=AL7CV(4)[8],=AL7DS(4)[8],=AL7II/9(4)[8],=AL7OL(4)[8],=KH0BE(4)[8], =KH6JNY(4)[8],=KH6KI(4)[8],=KH6UX(4)[8],=KH7DR(4)[8],=KH7EI(4)[8],=KL0LB(4)[8],=KL0NY(4)[8], =KL1NO(4)[8],=KL1QN(4)[8],=KL2A/9(4)[8],=KL2KP(4)[8],=KL2NQ(4)[8],=KL2YD(4)[8],=KL2ZL(4)[8], - =KL4CX(4)[8],=KL7AL(4)[8],=KL7AL/9(4)[8],=KL7IBV(4)[8],=KL7IPS(4)[8],=KL7IVK(4)[8],=KL7JAB(4)[8], - =KL7MU(4)[8],=KP3JOS(4)[8],=KP3VA/M(4)[8],=KP4CI(4)[8],=KP4GE(4)[8],=KP4SL(4)[8],=KP4WG(4)[8], - =NH2W(4)[8],=NH2W/9(4)[8],=NH6R(4)[8],=NH7TK(4)[8],=NL7CM(4)[8],=NL7KD(4)[8],=NL7NK(4)[8], - =NL7QC(4)[8],=NL7QC/9(4)[8],=NL7RC(4)[8],=NL7YI(4)[8],=NP2AV(4)[8],=NP2GM(4)[8],=NP2L/9(4)[8], - =NP2MU(4)[8],=NP3QC(4)[8],=NP4JS(4)[8],=WH0AI(4)[8],=WH2T(4)[8],=WH6FBA(4)[8],=WH6SB(4)[8], - =WL7AHP(4)[8],=WL7AIT(4)[8],=WL7CTA(4)[8],=WL7FJ(4)[8],=WL7JAN(4)[8],=WL7NP(4)[8],=WL7UU(4)[8], - =WP2B(4)[8],=WP4JSP(4)[8],=WP4KGF(4)[8],=WP4LKY(4)[8],=WP4LSQ(4)[8],=WP4MQX(4)[8],=WP4MSD(4)[8], - =WP4MTN(4)[8],=WP4MVQ(4)[8],=WP4MYL(4)[8],=WP4OCZ(4)[8], + =KL4CX(4)[8],=KL7AL(4)[8],=KL7AL/9(4)[8],=KL7BGR(4)[8],=KL7IBV(4)[8],=KL7IPS(4)[8],=KL7IVK(4)[8], + =KL7JAB(4)[8],=KL7MU(4)[8],=KP3JOS(4)[8],=KP3VA/M(4)[8],=KP4CI(4)[8],=KP4GE(4)[8],=KP4SL(4)[8], + =KP4WG(4)[8],=NH2W(4)[8],=NH2W/9(4)[8],=NH6R(4)[8],=NH7TK(4)[8],=NL7CM(4)[8],=NL7KD(4)[8], + =NL7NK(4)[8],=NL7QC(4)[8],=NL7QC/9(4)[8],=NL7RC(4)[8],=NL7YI(4)[8],=NP2AV(4)[8],=NP2GM(4)[8], + =NP2L/9(4)[8],=NP2MU(4)[8],=NP3QC(4)[8],=NP4JS(4)[8],=WH0AI(4)[8],=WH2T(4)[8],=WH6FBA(4)[8], + =WH6SB(4)[8],=WL7AHP(4)[8],=WL7AIT(4)[8],=WL7CTA(4)[8],=WL7FJ(4)[8],=WL7JAN(4)[8],=WL7NP(4)[8], + =WL7UU(4)[8],=WP2B(4)[8],=WP4JSP(4)[8],=WP4KGF(4)[8],=WP4LKY(4)[8],=WP4LSQ(4)[8],=WP4MQX(4)[8], + =WP4MSD(4)[8],=WP4MTN(4)[8],=WP4MVQ(4)[8],=WP4MYL(4)[8],=WP4OCZ(4)[8], =AH2BG(4)[8],=AH6ES(4)[8],=AH6FF(4)[8],=AH6HR(4)[8],=AH6HR/4(4)[8],=AH6KB(4)[8],=AL0P(4)[8], - =AL2C(4)[8],=AL2F(4)[8],=AL4B(4)[8],=AL7CX(4)[8],=AL7EU(4)[8],=AL7MR(4)[8],=AL7QO(4)[8], - =KH2AR(4)[8],=KH2AR/4(4)[8],=KH2DN(4)[8],=KH4AF(4)[8],=KH6EO(4)[8],=KH6JQW(4)[8],=KH6OE(4)[8], - =KH6SKY(4)[8],=KH6SKY/4(4)[8],=KH7JM(4)[8],=KH7UB(4)[8],=KL0AH(4)[8],=KL0BX(4)[8],=KL0CP(4)[8], - =KL0ET(4)[8],=KL0ET/M(4)[8],=KL0EY(4)[8],=KL0FF(4)[8],=KL0GI(4)[8],=KL0LN(4)[8],=KL0PM(4)[8], - =KL0VH(4)[8],=KL1DN(4)[8],=KL1IG(4)[8],=KL1LV(4)[8],=KL1SE(4)[8],=KL1SE/4(4)[8],=KL1ZA(4)[8], - =KL2GB(4)[8],=KL2HK(4)[8],=KL2LK(4)[8],=KL2LU(4)[8],=KL2MU(4)[8],=KL2UC(4)[8],=KL3AA(4)[8], - =KL3PG(4)[8],=KL4KA(4)[8],=KL7DT/4(4)[8],=KL7FO/P(4)[8],=KL7GN/M(4)[8],=KL7IUQ(4)[8], - =KL7JKC(4)[8],=KL7LT(4)[8],=KL7WW(4)[8],=KL7YN(4)[8],=KL7YT(4)[8],=KL9MEK(4)[8],=KP3RC(4)[8], - =KP4TOM(4)[8],=NH2E(4)[8],=NH6T/4(4)[8],=NH7FK(4)[8],=NH7FL(4)[8],=NH7H(4)[8],=NL7OE(4)[8], - =NL7YU(4)[8],=NP4AC(4)[8],=NP4AC/4(4)[8],=WH6AUL(4)[8],=WH6BPL(4)[8],=WH6BPL/4(4)[8],=WH6DM(4)[8], - =WH6EOG(4)[8],=WH6FEJ(4)[8],=WL4B(4)[8],=WL7BHI(4)[8],=WL7BHJ(4)[8],=WL7CQH(4)[8],=WL7CQK(4)[8], - =WL7IP(4)[8],=WL7PC(4)[8],=WL7SF(4)[8],=WL7TD(4)[8],=WL7XZ(4)[8],=WP4CNA(4)[8], + =AL2C(4)[8],=AL2F(4)[8],=AL4B(4)[8],=AL7CX(4)[8],=AL7EU(4)[8],=AL7KN(4)[8],=AL7MR(4)[8], + =AL7QO(4)[8],=KH0UN(4)[8],=KH2AR(4)[8],=KH2AR/4(4)[8],=KH2DN(4)[8],=KH4AF(4)[8],=KH6EO(4)[8], + =KH6JQW(4)[8],=KH6OE(4)[8],=KH6RD(4)[8],=KH6SKY(4)[8],=KH6SKY/4(4)[8],=KH7JM(4)[8],=KH7UB(4)[8], + =KL0AH(4)[8],=KL0BX(4)[8],=KL0CP(4)[8],=KL0ET(4)[8],=KL0ET/M(4)[8],=KL0EY(4)[8],=KL0FF(4)[8], + =KL0GI(4)[8],=KL0LN(4)[8],=KL0PM(4)[8],=KL0VH(4)[8],=KL1DN(4)[8],=KL1IG(4)[8],=KL1LV(4)[8], + =KL1SE(4)[8],=KL1SE/4(4)[8],=KL1ZA(4)[8],=KL2GB(4)[8],=KL2HK(4)[8],=KL2LK(4)[8],=KL2LU(4)[8], + =KL2MU(4)[8],=KL2UC(4)[8],=KL3AA(4)[8],=KL3PG(4)[8],=KL4KA(4)[8],=KL7DT/4(4)[8],=KL7FO/P(4)[8], + =KL7GN/M(4)[8],=KL7IUQ(4)[8],=KL7JKC(4)[8],=KL7LT(4)[8],=KL7WW(4)[8],=KL7YN(4)[8],=KL7YT(4)[8], + =KL9MEK(4)[8],=KP3RC(4)[8],=KP4TOM(4)[8],=NH2E(4)[8],=NH6T/4(4)[8],=NH7FK(4)[8],=NH7FL(4)[8], + =NH7H(4)[8],=NL7OE(4)[8],=NL7YU(4)[8],=NP4AC(4)[8],=NP4AC/4(4)[8],=WH6AUL(4)[8],=WH6BPL(4)[8], + =WH6BPL/4(4)[8],=WH6DM(4)[8],=WH6EOG(4)[8],=WH6FEJ(4)[8],=WH6LAK(4)[8],=WL4B(4)[8],=WL7BHI(4)[8], + =WL7BHJ(4)[8],=WL7CQH(4)[8],=WL7CQK(4)[8],=WL7IP(4)[8],=WL7PC(4)[8],=WL7SF(4)[8],=WL7TD(4)[8], + =WL7XZ(4)[8],=WP4CNA(4)[8], =AL7AU(4)[7],=AL7NI(4)[7],=AL7RT(4)[7],=AL7RT/7(4)[7],=KH2BR/7(4)[7],=KH6JVF(4)[7],=KH6OZ(4)[7], =KH7SS(4)[7],=KL0NT(4)[7],=KL0NV(4)[7],=KL0RN(4)[7],=KL1HE(4)[7],=KL1MW(4)[7],=KL1TV(4)[7], =KL2NZ(4)[7],=KL7AR(4)[7],=KL7HF(4)[7],=KL7JGS(4)[7],=KL7JGS/M(4)[7],=KL7JM(4)[7],=KL7LH(4)[7], =KL7MVX(4)[7],=KL7YY/7(4)[7],=KL9A(4)[7],=KL9A/7(4)[7],=NH0E(4)[7],=NH6HW(4)[7],=WH6COM(4)[7], - =WH6ETU(4)[7],=WL7A(4)[7],=WL7DP(4)[7],=WL7HP/7(4)[7],=WL7I(4)[7], - =AL7LU(5)[8],=WL7HC(5)[8],=WP4GR(5)[8]; + =WH6ETU(4)[7],=WH6EVP(4)[7],=WL7A(4)[7],=WL7DP(4)[7],=WL7HP/7(4)[7],=WL7I(4)[7], + =AL7LU(5)[8],=KL7JFR(5)[8],=WL7HC(5)[8],=WP4GR(5)[8]; Guantanamo Bay: 08: 11: NA: 20.00: 75.00: 5.0: KG4: KG4,=KG44WW,=KG4AC,=KG4AW,=KG4BP,=KG4DY,=KG4EM,=KG4EU,=KG4HF,=KG4HH,=KG4LA,=KG4LB,=KG4SS,=KG4WH, =KG4WV,=KG4XP,=KG4ZK,=W1AW/KG4; Mariana Islands: 27: 64: OC: 15.18: -145.72: -10.0: KH0: AH0,KH0,NH0,WH0,=AB2QH,=AB9HF,=AB9OQ,=AD5KT,=AD6YP,=AE6OG,=AF4IN,=AF4KH,=AF6EO,=AH2U,=AJ6K,=AK1JA, =KB5UAB,=KB9LQG,=KC5SPG,=KC7SDC,=KC9GQX,=KD7GJX,=KG6GQ,=KG6SB,=KG7DCN,=KH0EN/KT,=KH2GV,=KH2O, - =KH2VL,=KL7QOL,=KW2X,=N2AIR,=N3QD,=N6EAX,=N7NVX,=N8CS,=NA1M,=NH2B,=NH2FG,=W1FPU,=W3FM,=W3STX, - =W7KFS,=WA6AC,=WE1J,=WH6ZW,=WO2G; + =KH2VL,=KL7QOL,=KW2X,=N2AIR,=N3QD,=N6EAX,=N7NVX,=N8CS,=NA1M,=NH2B,=NH2FG,=NU2A,=W1FPU,=W3FM,=W3NL, + =W3STX,=W7KFS,=WA6AC,=WE1J,=WH6ZW,=WO2G; Baker & Howland Islands: 31: 61: OC: 0.00: 176.00: 12.0: KH1: AH1,KH1,NH1,WH1; Guam: 27: 64: OC: 13.37: -144.70: -10.0: KH2: AH2,KH2,NH2,WH2,=AB2AB,=AC0FG,=AE6QZ,=AH0AX,=AH0F,=AH0S,=AI6ID,=K1IWD,=K5GUA,=K5GUM,=KA0RU, - =KA6BEG,=KB7OVT,=KB7PQU,=KC2OOX,=KD7IRV,=KE4YSP,=KE6ATM,=KE7GMC,=KE7IPG,=KF4UFC,=KF5ULC,=KG6AGT, - =KG6ARL,=KG6DX,=KG6FJG,=KG6JDX,=KG6JKR,=KG6JKT,=KG6TEZ,=KG6TWZ,=KH0C,=KH0DX,=KH0ES,=KH0TF,=KH6KK, - =KI4KKH,=KI4KKI,=KI7SSW,=KJ6KCJ,=KK7AV,=KM4NVB,=N2MI,=NH0A,=NH0B,=NH7TL,=NH7WC,=NP3EZ,=W5LFA, - =W6KV,=W7GVC,=W9MRE,=WA3KNB,=WB7AXZ,=WD6DGS,=WH0AC; + =KA6BEG,=KB7OVT,=KB7PQU,=KC2OOX,=KD7IRV,=KE4YSP,=KE6ATM,=KE7GMC,=KE7IPG,=KF4UFC,=KF5ULC,=KF7BMU, + =KG4BKW,=KG6AGT,=KG6ARL,=KG6DX,=KG6FJG,=KG6JDX,=KG6JKR,=KG6JKT,=KG6TEZ,=KG6TWZ,=KH0C,=KH0DX, + =KH0ES,=KH0TF,=KH6KK,=KI4KKH,=KI4KKI,=KI7SSW,=KJ6KCJ,=KK7AV,=KM4NVB,=N2MI,=NH0A,=NH0B,=NH7TL, + =NH7WC,=NP3EZ,=W5LFA,=W6KV,=W7GVC,=W9MRE,=WA3KNB,=WB7AXZ,=WD6DGS,=WH0AC; Johnston Island: 31: 61: OC: 16.72: 169.53: 10.0: KH3: AH3,KH3,NH3,WH3,=KJ6BZ; Midway Island: 31: 61: OC: 28.20: 177.37: 11.0: KH4: @@ -1561,44 +1574,44 @@ Midway Island: 31: 61: OC: 28.20: 177.37: 11.0: KH4: Palmyra & Jarvis Islands: 31: 61: OC: 5.87: 162.07: 11.0: KH5: AH5,KH5,NH5,WH5; Hawaii: 31: 61: OC: 21.12: 157.48: 10.0: KH6: - AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=AB0JM,=AB3WS,=AB6AP,=AB8VQ,=AC4PJ,=AC4TJ,=AC7LR,=AC7N,=AE5AB, - =AE5LR,=AG4FH,=AH0A,=AH0AG,=AH2CN,=AJ0M,=AJ8HT,=AK0P,=AL3U,=AL7RQ,=K0BAD,=K0LAS,=K0LIH,=K0LUC, - =K0OUS,=K1ENT,=K1HZM,=K1OWL,=K1RJ,=K1VAN,=K2FFT,=K2GT,=K3NW,=K3QHP,=K3UNS,=K4EVR,=K4FRZ,=K4RAC, - =K4UAI,=K4UHL,=K4XS,=K4XSS,=K4XV,=K5HQM,=K5ZAI,=K5ZYO,=K6AMA,=K6APP,=K6ATF,=K6CEE,=K6DCH,=K6GUY, - =K6HI,=K6JAE,=K6MIO,=K6NLF,=K6RSB,=K7ASH,=K7FAR,=K7FR,=K7NRJ,=K7QAS,=K8EUT,=K9AGI,=K9FD,=K9UBS, - =KA0FOR,=KA0VHP,=KA1ICJ,=KA1YJ,=KA2WXU,=KA3HIZ,=KA3TUA,=KA4INK,=KA6QOD,=KA7APU,=KA7RKW,=KA8EBL, - =KA8KND,=KA9DMP,=KB0DJR,=KB0PXK,=KB0ZKZ,=KB1EUJ,=KB1GC,=KB1PCX,=KB2MRY,=KB3IOC,=KB3OXU,=KB3PJS, - =KB3SEV,=KB4NGN,=KB5NNY,=KB5OWT,=KB6CNU,=KB6EGA,=KB6PKF,=KB7AKH,=KB7DDX,=KB7EA,=KB7G,=KB7JB, - =KB7MEU,=KB7QKJ,=KB7UQH,=KB7UVR,=KB7VUR,=KB7WUP,=KB8SKX,=KC0WQU,=KC0YIH,=KC0ZER,=KC1DBY,=KC2GSU, - =KC2HL,=KC2MIU,=KC2PGW,=KC2SRW,=KC2YL,=KC2ZSG,=KC2ZSH,=KC2ZSI,=KC3GZT,=KC4HHS,=KC5GAX,=KC6HOX, - =KC6QQI,=KC6RYQ,=KC6SHT,=KC6SWR,=KC6YIO,=KC7ASJ,=KC7AXX,=KC7DUT,=KC7EJC,=KC7HNC,=KC7IFU,=KC7KAT, + AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=AA7LE,=AA8JA,=AB0JM,=AB3WS,=AB6AP,=AB8VQ,=AC4PJ,=AC4TJ,=AC7LR, + =AC7N,=AE5AB,=AE5LR,=AG4FH,=AH0A,=AH0AG,=AH2CN,=AJ0M,=AJ8HT,=AK0P,=AK2J,=AL3U,=AL7RQ,=K0BAD, + =K0LAS,=K0LIH,=K0LUC,=K0OUS,=K1ENT,=K1HZM,=K1OWL,=K1RJ,=K1VAN,=K2FFT,=K2GT,=K3NW,=K3QHP,=K3UNS, + =K4EVR,=K4RAC,=K4UAI,=K4UHL,=K4XS,=K4XSS,=K4XV,=K5HQM,=K5ZAI,=K5ZYO,=K6AMA,=K6APP,=K6ATF,=K6CEE, + =K6DCH,=K6GUY,=K6HI,=K6JAE,=K6MIO,=K6NLF,=K6RSB,=K7ASH,=K7FAR,=K7FR,=K7NRJ,=K7QAS,=K8EUT,=K9AGI, + =K9FD,=K9UBS,=KA0FOR,=KA0VHP,=KA1ICJ,=KA1YJ,=KA2WXU,=KA3HIZ,=KA3TUA,=KA4INK,=KA6QOD,=KA7APU, + =KA7RKW,=KA8EBL,=KA8KND,=KA9DMP,=KB0DJR,=KB0PXK,=KB0ZKZ,=KB1EUJ,=KB1GC,=KB1PCX,=KB2MRY,=KB3IOC, + =KB3OXU,=KB3PJS,=KB3SEV,=KB4NGN,=KB5NNY,=KB5OWT,=KB6CNU,=KB6EGA,=KB6PKF,=KB7AKH,=KB7DDX,=KB7EA, + =KB7G,=KB7JB,=KB7MEU,=KB7QKJ,=KB7UQH,=KB7UVR,=KB7WUP,=KB8SKX,=KC0WQU,=KC0YIH,=KC0ZER,=KC1DBY, + =KC2GSU,=KC2HL,=KC2MIU,=KC2PGW,=KC2SRW,=KC2YL,=KC2ZSG,=KC2ZSH,=KC2ZSI,=KC3GZT,=KC4HHS,=KC5GAX, + =KC6HOX,=KC6QQI,=KC6RYQ,=KC6SHT,=KC6SWR,=KC6YIO,=KC7ASJ,=KC7AXX,=KC7DUT,=KC7EJC,=KC7HNC,=KC7KAT, =KC7KAW,=KC7KBA,=KC7KHW,=KC7KJT,=KC7LFM,=KC7NZ,=KC7PLG,=KC7USA,=KC7VHF,=KC7VWU,=KC7YXO,=KC8EFI, =KC8EJ,=KC9AUA,=KC9EQS,=KC9KEX,=KC9NJG,=KC9SBG,=KD0QLQ,=KD0QLR,=KD0RPD,=KD0WVZ,=KD0ZSP,=KD3FZ, =KD4GW,=KD4ML,=KD4QWO,=KD5ACN,=KD5BSK,=KD5HDA,=KD5HX,=KD5TBQ,=KD6CVU,=KD6CWF,=KD6EPD,=KD6IPX, =KD6LRA,=KD6VTU,=KD7HTG,=KD7LMP,=KD7SME,=KD7SMV,=KD7TZ,=KD7UV,=KD7UZG,=KD7WJM,=KD8GVO,=KE0TU, - =KE2CX,=KE4RNU,=KE4UXQ,=KE4ZXQ,=KE5CGA,=KE5FJM,=KE5UZN,=KE6AXN,=KE6AXP,=KE6AYZ,=KE6CQE,=KE6EDJ, - =KE6EVT,=KE6JXO,=KE6RAW,=KE6TFR,=KE6TIS,=KE6TKQ,=KE7FJA,=KE7FSK,=KE7HEW,=KE7IZS,=KE7JTX,=KE7KRQ, - =KE7MW,=KE7PEQ,=KE7PIZ,=KE7RCT,=KE7UAJ,=KE7UV,=KE7UW,=KF4DWA,=KF4FQR,=KF4IBW,=KF4JLZ,=KF4OOB, - =KF4URD,=KF4VHS,=KF5AHW,=KF5LBQ,=KF5MXM,=KF5MXP,=KF6BS,=KF6FDG,=KF6IVV,=KF6LWN,=KF6LYU,=KF6MQT, - =KF6OSA,=KF6PJ,=KF6PQE,=KF6QZD,=KF6RLP,=KF6YZR,=KF6ZAL,=KF7GNP,=KF7IJL,=KF7LRS,=KF7OJR,=KF7TUU, - =KF7VUK,=KG0XR,=KG4HZF,=KG4SGC,=KG4SGV,=KG6DV,=KG6EFD,=KG6HRX,=KG6IGY,=KG6JJP,=KG6LFX,=KG6MZJ, - =KG6NNF,=KG6NQI,=KG6OOB,=KG6RJI,=KG6SDD,=KG6TFI,=KG6WZD,=KG7AYU,=KG7CJI,=KG7CVR,=KG7EUP,=KH0WJ, - =KH2MD,=KH2TD,=KH2TE,=KH2YI,=KH3AE,=KH3AE/M,=KH3AF,=KI4CAU,=KI4HCZ,=KI4NOH,=KI4YAF,=KI6CRL, - =KI6DVJ,=KI6EFY,=KI6FTE,=KI6HBZ,=KI6JEC,=KI6LPT,=KI6NOC,=KI6QDQ,=KI6QQJ,=KI6SNP,=KI6VYB,=KI6WOJ, - =KI6ZRV,=KI7EZG,=KI7FJW,=KI7FJX,=KI7FUT,=KI7OS,=KI7QZQ,=KJ4BHO,=KJ4EYV,=KJ4KND,=KJ4WOI,=KJ6GYD, - =KJ6LAW,=KJ6LAX,=KJ6LBI,=KJ6NZH,=KJ6QQT,=KJ6RGW,=KJ6SKC,=KJ6TJZ,=KK4EEC,=KK6BRW,=KK6EJ,=KK6GM, - =KK6OMX,=KK6PGA,=KK6QAI,=KK6VJN,=KK6ZQ,=KK6ZZE,=KK7WR,=KL1TP,=KL3FN,=KL7PN,=KL7UB,=KM6BOQ,=KM6RM, - =KN6BE,=KN6ZU,=KO6KW,=KO6QT,=KQ6CD,=KU4OY,=KW4JC,=N0CAN,=N0DQD,=N0PJV,=N0RMC,=N0ZSJ,=N1CFD,=N1CNQ, - =N1IDP,=N1SHV,=N1TEE,=N1TLE,=N1YLH,=N2AL,=N2KJU,=N2KLQ,=N3DJT,=N3FUR,=N3HQW,=N3RWD,=N3VDM,=N3ZFY, - =N4ERA,=N4ZIW,=N5IWF,=N5JKJ,=N6AI,=N6CGA,=N6DXW,=N6GOZ,=N6IKX,=N6KB,=N6NCT,=N6PJQ,=N6QBK,=N6ZAB, - =N7AMY,=N7BLC,=N7KZB,=N7NYY,=N7ODC,=N7TOF,=N7TSV,=N7WBX,=N7ZHK,=N9CRQ,=N9GFL,=N9SBL,=NB6R,=NE7SO, - =NH2CC,=NH2CD,=NH2CF,=NH2CQ,=NH2CR,=NH2IB,=NH2IF,=NH2II,=NH2IJ,=NH2IO,=NH2JO,=NH2KF,=NH2KH,=NH2YL, - =NH2Z,=NL7UW,=NM2B,=NO0H,=NT0DA,=NT4AA,=NZ2F,=W0UNX,=W1BMB,=W2UNS,=W3ZRT,=W4YQS,=W5FJG,=W6AUS, - =W6CAG,=W6CWJ,=W6KEV,=W6KIT,=W6KPI,=W6MQB,=W6MRJ,=W6NBK,=W6ROM,=W6SHH,=W6UNX,=W7EHP,=W7NVQ,=W7NX, - =W7RCR,=W7UEA,=W8AYD,=W8JAY,=W8WH,=W9IS,=WA0FUR,=WA0NHD,=WA2AUI,=WA3ZEM,=WA6ECX,=WA6JDA,=WA6JJQ, - =WA6QDQ,=WA6UVF,=WA7ESE,=WA7TFE,=WA7ZK,=WB0TZQ,=WB2AHM,=WB2SQW,=WB4JTT,=WB4MNF,=WB5ZDH,=WB5ZOV, - =WB6CVJ,=WB6PJT,=WB6SAA,=WB8NCD,=WB9SMM,=WC6B,=WD0FTF,=WD0LFN,=WD6EZL,=WD6GHJ,=WD8LIB,=WD8OBO, - =WH2Y,=WH7K,=WJ8A,=WU0H,=WV0Z,=WV6K,=WX7G; + =KE2CX,=KE4DYE,=KE4RNU,=KE4UXQ,=KE4ZXQ,=KE5CGA,=KE5FJM,=KE5UZN,=KE6AXN,=KE6AXP,=KE6AYZ,=KE6CQE, + =KE6EDJ,=KE6EVT,=KE6JXO,=KE6RAW,=KE6TFR,=KE6TIS,=KE6TKQ,=KE7FJA,=KE7FSK,=KE7HEW,=KE7IZS,=KE7JTX, + =KE7KRQ,=KE7MW,=KE7PEQ,=KE7PIZ,=KE7RCT,=KE7UAJ,=KE7UV,=KE7UW,=KF4DWA,=KF4FQR,=KF4IBW,=KF4JLZ, + =KF4OOB,=KF4URD,=KF4VHS,=KF5AHW,=KF5LBQ,=KF5MXM,=KF5MXP,=KF6BS,=KF6FDG,=KF6IVV,=KF6LWN,=KF6LYU, + =KF6MQT,=KF6OSA,=KF6PJ,=KF6PQE,=KF6QZD,=KF6RLP,=KF6YZR,=KF6ZAL,=KF7GNP,=KF7IJL,=KF7LRS,=KF7OJR, + =KF7TUU,=KF7VUK,=KG0XR,=KG4HZF,=KG4SGC,=KG4SGV,=KG6DV,=KG6EFD,=KG6HRX,=KG6IGY,=KG6JJP,=KG6LFX, + =KG6MZJ,=KG6NNF,=KG6NQI,=KG6OOB,=KG6RJI,=KG6SDD,=KG6TFI,=KG6WZD,=KG7AYU,=KG7CJI,=KG7CVR,=KG7EUP, + =KH0AI,=KH0WJ,=KH2MD,=KH2TD,=KH2TE,=KH2YI,=KH3AE,=KH3AE/M,=KH3AF,=KI4CAU,=KI4HCZ,=KI4NOH,=KI4YAF, + =KI6CRL,=KI6DVJ,=KI6EFY,=KI6FTE,=KI6HBZ,=KI6JEC,=KI6LPT,=KI6NOC,=KI6QDQ,=KI6QQJ,=KI6SNP,=KI6VYB, + =KI6WOJ,=KI6ZRV,=KI7EZG,=KI7FJW,=KI7FJX,=KI7FUT,=KI7OS,=KI7QZQ,=KJ4BHO,=KJ4EYV,=KJ4KND,=KJ4WOI, + =KJ6GYD,=KJ6LAW,=KJ6LAX,=KJ6LBI,=KJ6NZH,=KJ6QQT,=KJ6RGW,=KJ6SKC,=KJ6TJZ,=KK4EEC,=KK6BRW,=KK6EJ, + =KK6GM,=KK6OMX,=KK6PGA,=KK6QAI,=KK6VJN,=KK6ZQ,=KK6ZZE,=KK7WR,=KL1TP,=KL3FN,=KL7PN,=KL7UB,=KM6BOQ, + =KM6IK,=KM6RM,=KN6BE,=KN6ZU,=KN8AQR,=KO6KW,=KO6QT,=KQ6CD,=KU4OY,=KW4JC,=KY1I,=N0CAN,=N0DQD,=N0PJV, + =N0RMC,=N0ZSJ,=N1CFD,=N1CNQ,=N1IDP,=N1SHV,=N1TEE,=N1TLE,=N1VOP,=N1YLH,=N2AL,=N2KJU,=N2KLQ,=N3DJT, + =N3FUR,=N3GWR,=N3HQW,=N3RWD,=N3VDM,=N3ZFY,=N4ERA,=N4ZIW,=N5IWF,=N5JKJ,=N6AI,=N6CGA,=N6DXW,=N6GOZ, + =N6IKX,=N6KB,=N6NCT,=N6PJQ,=N6QBK,=N6ZAB,=N7AMY,=N7BLC,=N7KZB,=N7NYY,=N7ODC,=N7TSV,=N7WBX,=N9CRQ, + =N9GFL,=N9SBL,=NB6R,=NE7SO,=NG1T,=NH2CC,=NH2CD,=NH2CF,=NH2CQ,=NH2CR,=NH2IB,=NH2IF,=NH2II,=NH2IJ, + =NH2IO,=NH2JO,=NH2KF,=NH2KH,=NH2YL,=NH2Z,=NI1J,=NL7UW,=NM2B,=NO0H,=NT0DA,=NT4AA,=NZ2F,=W0UNX, + =W1BMB,=W2UNS,=W3ZRT,=W4YQS,=W5FJG,=W6AUS,=W6CAG,=W6CWJ,=W6KEV,=W6KIT,=W6KPI,=W6MQB,=W6MRJ,=W6NBK, + =W6ROM,=W6SHH,=W6UNX,=W7EHP,=W7NVQ,=W7NX,=W7RCR,=W7UEA,=W8AYD,=W8JAY,=W8WH,=W9IS,=WA0FUR,=WA0NHD, + =WA2AUI,=WA3ZEM,=WA6ECX,=WA6JDA,=WA6JJQ,=WA6QDQ,=WA6UVF,=WA7ESE,=WA7TFE,=WA7ZK,=WB0RUA,=WB0TZQ, + =WB2AHM,=WB2SQW,=WB4JTT,=WB4MNF,=WB5ZDH,=WB5ZOV,=WB6CVJ,=WB6PJT,=WB6SAA,=WB8NCD,=WB9SMM,=WC6B, + =WD0FTF,=WD0LFN,=WD6EZL,=WD6GHJ,=WD8LIB,=WD8OBO,=WH2Y,=WH7K,=WJ8A,=WU0H,=WV0Z,=WV6K,=WX7G; Kure Island: 31: 61: OC: 29.00: 178.00: 10.0: KH7K: AH7K,KH7K,NH7K,WH7K; American Samoa: 32: 62: OC: -14.32: 170.78: 11.0: KH8: @@ -1612,43 +1625,44 @@ Alaska: 01: 01: NA: 61.40: 148.87: 8.0: KL: =AD0FQ,=AD0ZL,=AD3BJ,=AD6GC,=AD7MF,=AD7VV,=AE1DJ,=AE4QH,=AE5CP,=AE5EX,=AE5FN,=AE5IR,=AE7ES,=AE7KS, =AE7SB,=AF7FV,=AG5LN,=AG5OF,=AH0AH,=AH0H,=AJ4ZI,=AK4P,=K0AZZ,=K0BHC,=K0DJM,=K1BZD,=K1MAT,=K2ICW, =K2NPS,=K3JMI,=K4ETC,=K4RND,=K4WPK,=K5DOW,=K5HL,=K5RD,=K5RSO,=K5RZW,=K5TDN,=K6ANE,=K6GKW,=K7EJM, - =K7GRW,=K7LOP,=K7MVX,=K7OCL,=K7RDR,=K7UNX,=K7ZOA,=K8IEL,=K8OUA,=K9ETM,=K9WUV,=KA0SIM,=KA0YPV, - =KA2TJZ,=KA2ZSD,=KA6UGT,=KA7ETQ,=KA7HOX,=KA7JOR,=KA7TMU,=KA7TOM,=KA7UKN,=KA7VCR,=KA7YEY,=KA9GYQ, - =KB0APK,=KB0LOW,=KB0TSU,=KB0UGE,=KB0UVK,=KB1CRT,=KB1FCX,=KB1KLH,=KB1PHP,=KB1QCD,=KB1QCE,=KB1SYV, - =KB1WQL,=KB2JWV,=KB2ZME,=KB3CYB,=KB3JFK,=KB3NCR,=KB5DNT,=KB5HEV,=KB5UWU,=KB6DKJ,=KB7AMA,=KB7BNG, - =KB7DEL,=KB7FXJ,=KB7IBI,=KB7JA,=KB7LJZ,=KB7LON,=KB7PHT,=KB7QLB,=KB7RXZ,=KB7SIQ,=KB7UBH,=KB7VFZ, - =KB7YEC,=KB7ZVZ,=KB8QKR,=KB8SBG,=KB8TEW,=KB8VYJ,=KB9MWG,=KB9NSV,=KB9RWE,=KB9RWJ,=KC0ATI,=KC0CWG, - =KC0CYR,=KC0EF,=KC0GHH,=KC0NSV,=KC0OKQ,=KC0PSZ,=KC0TK,=KC0TZL,=KC0UYK,=KC0VDN,=KC0WSG,=KC1DL, - =KC2BYX,=KC2GVS,=KC2HRV,=KC2KMU,=KC2OJP,=KC2PCV,=KC3DBK,=KC4MXQ,=KC4MXR,=KC5BNN,=KC5CHO,=KC5DJA, - =KC5KIG,=KC5LKF,=KC5LKG,=KC5QPJ,=KC5THY,=KC5YIB,=KC6RJW,=KC7BUL,=KC7COW,=KC7ENM,=KC7GSO,=KC7HJM, - =KC7HPF,=KC7IKE,=KC7IKF,=KC7INC,=KC7MIJ,=KC7MPY,=KC7MRO,=KC7OQZ,=KC7PLJ,=KC7PLQ,=KC7RCP,=KC7TYT, - =KC7UZY,=KC7WOA,=KC7YZR,=KC8BKP,=KC8GKK,=KC8NMN,=KC8NOY,=KC8WWS,=KC8YIV,=KC9CMY,=KC9HIK,=KC9VLD, - =KD0CLU,=KD0CZC,=KD0DHU,=KD0FJG,=KD0NSG,=KD0VAK,=KD0VAL,=KD0VGF,=KD0ZOD,=KD2CTE,=KD2GKT,=KD4EYW, - =KD4MEY,=KD4QJL,=KD5DWV,=KD5GAL,=KD5QPD,=KD5RVD,=KD5WCF,=KD5WEV,=KD6DLB,=KD6RVY,=KD6YKS,=KD7APU, - =KD7AWK,=KD7BBX,=KD7BGP,=KD7DUQ,=KD7FGL,=KD7FUL,=KD7GFG,=KD7HXF,=KD7KRK,=KD7MGO,=KD7QAR,=KD7SIX, - =KD7TWB,=KD7UAG,=KD7VOI,=KD7VXE,=KD7ZTJ,=KD8BVD,=KD8DDY,=KD8GEL,=KD8GMS,=KD8JOU,=KD8LNA,=KD8WMX, - =KD9TK,=KE0DYM,=KE0KKI,=KE4DGR,=KE4MQD,=KE4YEI,=KE4YLG,=KE5CVD,=KE5CVT,=KE5DQV,=KE5FOC,=KE5GEB, - =KE5HHR,=KE5JHS,=KE5JTB,=KE5NLG,=KE5QDI,=KE5QDJ,=KE5QDK,=KE5VPO,=KE5ZRK,=KE5ZUM,=KE6DLM,=KE6DUJ, - =KE6DXH,=KE6IPM,=KE6SYD,=KE6TCE,=KE6VUB,=KE7DFO,=KE7ELL,=KE7EOP,=KE7EPZ,=KE7FNC,=KE7FXM,=KE7GOE, - =KE7HMJ,=KE7KAT,=KE7KYU,=KE7TRX,=KE8RO,=KF4JET,=KF4PLR,=KF4TBD,=KF4YFD,=KF5FJQ,=KF5HFB,=KF5HJC, - =KF5NDT,=KF5NHR,=KF5STO,=KF5YYK,=KF6AWG,=KF6AXS,=KF6BMF,=KF6BOV,=KF6EJR,=KF6GNM,=KF6ILC,=KF6IOT, - =KF6LGK,=KF6MFK,=KF6QOJ,=KF6RPC,=KF6SHS,=KF6TGR,=KF6UWT,=KF7LEX,=KF7LUA,=KF7PCJ,=KF7PFT,=KF7PSS, - =KF7PUQ,=KF7UFY,=KF7VBO,=KF8ZB,=KG2IA,=KG4NBL/P,=KG4TJS,=KG4WNZ,=KG5EQN,=KG5GDF,=KG5GTD,=KG5JQC, - =KG5MIB,=KG6DTI,=KG6RJE,=KG6TAL,=KG7CUR,=KG7DVI,=KG7GJL,=KG7OQC,=KG7SEQ,=KG7TGE,=KH0NF,=KH0NG, - =KH0RF,=KH2YN,=KH7BW,=KH7DA,=KI4COG,=KI4ERC,=KI4GAG,=KI4GCF,=KI4GDI,=KI4NGY,=KI4NVI,=KI4SET, - =KI4SOM,=KI6BGR,=KI6DES,=KI6HGW,=KI7COR,=KI7PZ,=KI8JT,=KJ4HEW,=KJ4IAQ,=KJ4PSV,=KJ4WDI,=KJ4ZWI, - =KJ6KRG,=KJ6ZSX,=KJ7IR,=KK4AMV,=KK4CLS,=KK4LRE,=KK4QXE,=KK4RYG,=KK4WWH,=KK4WWI,=KK6IUY,=KK6PGV, - =KK7I,=KK7IV,=KK7STL,=KL7D/M,=KL7NC/IMD,=KM4AGL,=KM4KWS,=KM4KX,=KM4NIC,=KM4OE,=KM4PJH,=KM4TJI, - =KN8IVE,=KR4WV,=KV3X,=KW1W,=KY7J,=KZ6HJC,=N0GDT,=N0GDU,=N0GLI,=N0HJT,=N0HZF,=N0LHN,=N0SN,=N0SUB, - =N0WXJ,=N0XKY,=N0XS,=N0ZKV,=N1HUT,=N1KDQ,=N1KTI,=N1NJS,=N1QFE,=N1TX,=N2CXH,=N2SHO,=N2TJY,=N2YZW, - =N3QEH,=N4AVX,=N4CM,=N4HCJ,=N4HZU,=N4NAV,=N5CSO,=N5UKX,=N5WPR,=N6BSC,=N6CVV,=N6CZU,=N6JM,=N7BUO, - =N7FCT,=N7HER,=N7HQK,=N7IA,=N7JUX,=N7MGT,=N7MTG,=N7PHB,=N7QAN,=N7TBU,=N7UTV,=N7UWT,=N7XNM,=N7YKY, - =N7YQS,=N7ZYS,=N8DDY,=N8EX,=N8KCJ,=N9AIG,=N9FB,=N9YD,=NA7WM,=NC4OI,=NE7EK,=NE9V,=NH2GZ,=NH7UO, - =NJ7H,=NN4NN,=NP4FU,=NW4G,=NW7F,=W0FJN,=W0RWS,=W0UZJ,=W1LYD,=W1RSC,=W1ZKA,=W2DLS,=W2KRZ,=W3JPN, - =W4AUL,=W4BMR,=W4LS,=W4RSB,=W5JKT,=W6DDP,=W6GTE,=W6ROW,=W7DDG,=W7EIK,=W7JMR,=W7NUT,=W7PWA,=W7RAZ, - =W7ROS,=W7WEZ,=W7ZWT,=W8MDD,=W8PVZ,=W8TCX,=W9ITU,=W9JMC,=WA0JS,=WA1FVJ,=WA2BGL,=WA2BIW,=WA6GFS, - =WA7B,=WA7PXH,=WA7USX,=WA7YXF,=WB0CMZ,=WB1GZL,=WB1ILS,=WB6COP,=WB7QWM,=WB7TYK,=WB9JZL,=WD6CET, - =WH6CYY,=WH6DPL,=WH6DX,=WH7AK,=WJ8M,=WP4IYI,=WT5T,=WX1NCC; + =K7GRW,=K7LOP,=K7MVX,=K7OCL,=K7RDR,=K7UNX,=K7ZOA,=K8IEL,=K8OUA,=K9DUG,=K9ETM,=K9WUV,=KA0SIM, + =KA0YPV,=KA1NCN,=KA2TJZ,=KA2ZSD,=KA6UGT,=KA7ETQ,=KA7HOX,=KA7JOR,=KA7TMU,=KA7TOM,=KA7UKN,=KA7VCR, + =KA7YEY,=KA9GYQ,=KB0APK,=KB0LOW,=KB0TSU,=KB0UGE,=KB0UVK,=KB1CRT,=KB1FCX,=KB1KLH,=KB1PHP,=KB1QCD, + =KB1QCE,=KB1SYV,=KB1WQL,=KB2JWV,=KB2ZME,=KB3CYB,=KB3JFK,=KB3NCR,=KB4DX,=KB5DNT,=KB5HEV,=KB5UWU, + =KB6DKJ,=KB7AMA,=KB7BNG,=KB7DEL,=KB7FXJ,=KB7IBI,=KB7JA,=KB7LJZ,=KB7LON,=KB7PHT,=KB7QLB,=KB7RXZ, + =KB7SIQ,=KB7UBH,=KB7VFZ,=KB7YEC,=KB7ZVZ,=KB8QKR,=KB8SBG,=KB8TEW,=KB8VYJ,=KB9MWG,=KB9RWE,=KB9RWJ, + =KB9YGR,=KC0ATI,=KC0CWG,=KC0CYR,=KC0EF,=KC0GHH,=KC0NSV,=KC0OKQ,=KC0PSZ,=KC0TK,=KC0TZL,=KC0UYK, + =KC0VDN,=KC0WSG,=KC0YSW,=KC1DL,=KC2BYX,=KC2GVS,=KC2HRV,=KC2KMU,=KC2OJP,=KC2PCV,=KC3DBK,=KC4MXQ, + =KC4MXR,=KC5BNN,=KC5CHO,=KC5DJA,=KC5KIG,=KC5LKF,=KC5LKG,=KC5QPJ,=KC5THY,=KC5YIB,=KC6RJW,=KC7BUL, + =KC7COW,=KC7ENM,=KC7GSO,=KC7HJM,=KC7HPF,=KC7IKE,=KC7IKF,=KC7INC,=KC7MIJ,=KC7MPY,=KC7MRO,=KC7OQZ, + =KC7PLJ,=KC7PLQ,=KC7RCP,=KC7TYT,=KC7UZY,=KC7WOA,=KC7YZR,=KC8BKP,=KC8GKK,=KC8NMN,=KC8NOY,=KC8WWS, + =KC8YIV,=KC9CMY,=KC9HIK,=KC9VLD,=KD0CLU,=KD0CZC,=KD0DHU,=KD0FJG,=KD0JJB,=KD0NSG,=KD0VAK,=KD0VAL, + =KD0VGF,=KD0ZOD,=KD2CTE,=KD2GKT,=KD4EYW,=KD4MEY,=KD4QJL,=KD5DWV,=KD5GAL,=KD5QPD,=KD5RVD,=KD5WCF, + =KD5WEV,=KD6DLB,=KD6RVY,=KD6YKS,=KD7APU,=KD7AWK,=KD7BBX,=KD7BGP,=KD7DIG,=KD7DUQ,=KD7FGL,=KD7FUL, + =KD7GFG,=KD7HXF,=KD7KRK,=KD7MGO,=KD7QAR,=KD7SIX,=KD7TWB,=KD7UAG,=KD7VOI,=KD7VXE,=KD7ZTJ,=KD8BVD, + =KD8DDY,=KD8GEL,=KD8GMS,=KD8JOU,=KD8LNA,=KD8WMX,=KD9TK,=KE0DYM,=KE0KKI,=KE4DGR,=KE4MQD,=KE4YEI, + =KE4YLG,=KE5CVD,=KE5CVT,=KE5DQV,=KE5FOC,=KE5GEB,=KE5HHR,=KE5JHS,=KE5JTB,=KE5NLG,=KE5QDI,=KE5QDJ, + =KE5QDK,=KE5VPO,=KE5ZRK,=KE5ZUM,=KE6DLM,=KE6DUJ,=KE6DXH,=KE6IPM,=KE6SYD,=KE6TCE,=KE6VUB,=KE7DFO, + =KE7ELL,=KE7EOP,=KE7EPZ,=KE7FNC,=KE7FXM,=KE7GOE,=KE7HMJ,=KE7KAT,=KE7KYU,=KE7TRX,=KE8RO,=KF4JET, + =KF4PLR,=KF4TBD,=KF4YFD,=KF5FJQ,=KF5HFB,=KF5HJC,=KF5NDT,=KF5NHR,=KF5STO,=KF5YYK,=KF6AWG,=KF6AXS, + =KF6BMF,=KF6BOV,=KF6EJR,=KF6GNM,=KF6ILC,=KF6IOT,=KF6LGK,=KF6MFK,=KF6QOJ,=KF6RMG,=KF6RPC,=KF6SHS, + =KF6TGR,=KF6UWT,=KF7LEX,=KF7LUA,=KF7PCJ,=KF7PFT,=KF7PSS,=KF7PUQ,=KF7UFY,=KF7VBO,=KF8ZB,=KG2IA, + =KG4NBL/P,=KG4TJS,=KG4WNZ,=KG5EQN,=KG5GDF,=KG5GTD,=KG5JQC,=KG5MIB,=KG6DTI,=KG6MBC,=KG6RJE,=KG6TAL, + =KG7CUR,=KG7DVI,=KG7GJL,=KG7JVJ,=KG7OQC,=KG7SEQ,=KG7TGE,=KH0NF,=KH0NG,=KH0RF,=KH2YN,=KH7BW,=KH7DA, + =KI4COG,=KI4ERC,=KI4GAG,=KI4GCF,=KI4GDI,=KI4NGY,=KI4NVI,=KI4SET,=KI4SOM,=KI6BGR,=KI6DES,=KI6HGW, + =KI7COR,=KI7PZ,=KI8JT,=KJ4HEW,=KJ4IAQ,=KJ4PSV,=KJ4WDI,=KJ4ZWI,=KJ6KRG,=KJ6ZSX,=KJ7IR,=KK4AMV, + =KK4CLS,=KK4LRE,=KK4QXE,=KK4RYG,=KK4WWH,=KK4WWI,=KK6IUY,=KK6PGV,=KK7I,=KK7IV,=KK7STL,=KL7D/M, + =KL7NC/IMD,=KM4AGL,=KM4KWS,=KM4KX,=KM4NIC,=KM4OE,=KM4PJH,=KM4TJI,=KN8IVE,=KR4WV,=KV3X,=KW1W,=KY7J, + =KZ6HJC,=N0GDT,=N0GDU,=N0GLI,=N0HJT,=N0HZF,=N0LHN,=N0SN,=N0SUB,=N0WXJ,=N0XKY,=N0XS,=N0ZKV,=N1HUT, + =N1KDQ,=N1KTI,=N1NDA,=N1NJS,=N1QFE,=N1TX,=N2CXH,=N2SHO,=N2TJY,=N2YZW,=N3QEH,=N4AVX,=N4CM,=N4HCJ, + =N4HZU,=N4NAV,=N5CSO,=N5UKX,=N5WPR,=N6BSC,=N6CVV,=N6CZU,=N6JM,=N7BUO,=N7FCT,=N7HER,=N7HQK,=N7IA, + =N7JUX,=N7MGT,=N7MTG,=N7PHB,=N7QAN,=N7TBU,=N7UTV,=N7UWT,=N7XNM,=N7YKY,=N7YQS,=N7ZYS,=N8DDY,=N8EX, + =N8KCJ,=N8SUG,=N9AIG,=N9FB,=N9YD,=NA7WM,=NC4OI,=NE7EK,=NE9V,=NH2GZ,=NH7UO,=NJ7H,=NN4NN,=NP4FU, + =NW4G,=NW7F,=W0FJN,=W0RWS,=W0UZJ,=W1LYD,=W1RSC,=W1ZKA,=W2DLS,=W2KRZ,=W3JPN,=W4AUL,=W4BMR,=W4LS, + =W4RSB,=W5JKT,=W6DDP,=W6GTE,=W6ROW,=W7DDG,=W7EIK,=W7JMR,=W7NUT,=W7PWA,=W7RAZ,=W7ROS,=W7WEZ,=W7ZWT, + =W8MDD,=W8PVZ,=W8TCX,=W9ITU,=W9JMC,=WA0JS,=WA1FVJ,=WA2BGL,=WA2BIW,=WA6GFS,=WA7B,=WA7PXH,=WA7USX, + =WA7YXF,=WB0CMZ,=WB1GZL,=WB1ILS,=WB6COP,=WB7QWM,=WB7TYK,=WB9JZL,=WD6CET,=WH6CYY,=WH6DPL,=WH6DX, + =WH7AK,=WJ8M,=WP4IYI,=WT5T,=WX1NCC; Navassa Island: 08: 11: NA: 18.40: 75.00: 5.0: KP1: KP1,NP1,WP1; US Virgin Islands: 08: 11: NA: 17.73: 64.80: 4.0: KP2: @@ -1659,19 +1673,20 @@ US Virgin Islands: 08: 11: NA: 17.73: 64.80: 4.0: KP2: =WB2KQW,=WB4WFU,=WD8AHQ,=WI7C; Puerto Rico: 08: 11: NA: 18.18: 66.55: 4.0: KP4: KP3,KP4,NP3,NP4,WP3,WP4,=AA2ZN,=AB2DR,=AF4OU,=AF5IZ,=AG4CD,=AI4EZ,=K1NDN,=K4C/LH,=K4PFH,=K5YJR, - =K6BOT,=K9JOS,=KA2GNG,=KA2MBR,=KA2YGB,=KA7URH,=KA9UTY,=KB0AQB,=KB1IJU,=KB1KDP,=KB1RUQ,=KB1TUA, - =KB1UEK,=KB1UZV,=KB1ZKF,=KB2ALR,=KB2CIE,=KB2MMX,=KB2NMT,=KB2NYN,=KB2OIF,=KB2OMN,=KB2OPM,=KB2RYP, - =KB2TID,=KB2VHY,=KB2WKT,=KB2YKJ,=KB3BPK,=KB3BTN,=KB3LUV,=KB3SBO,=KB8ZVP,=KB9OWX,=KB9RZD,=KB9YVE, - =KB9YVF,=KC1CRV,=KC1CUF,=KC1DRV,=KC1IHB,=KC1IHO,=KC1JLY,=KC2BZZ,=KC2CTM,=KC2JNE,=KC2LET,=KC2TE, - =KC2UXP,=KC3GEO,=KC5DKT,=KC8IRI,=KD2KPC,=KD2VQ,=KD4TVS,=KD5DVV,=KD5PKH,=KD9GIZ,=KE0AYJ,=KE0GFK, - =KE0SH,=KE1MA,=KE4GGD,=KE4GYA,=KE4SKH,=KE4THL,=KE4WUE,=KE5LNG,=KF4KPO,=KF4ZDB,=KF6OGJ,=KG4IRC, - =KG4IVO,=KG4VCC,=KG5AFY,=KH2RU,=KH4AA,=KI4LRJ,=KI4WOA,=KI4WOB,=KJ4LOZ,=KJ4UPN,=KJ6OV,=KK4AOZ, - =KK4DCX,=KK4EBE,=KK4PHB,=KM4VDZ,=KM4WGI,=KM4YBN,=KM4YSR,=KM4ZJW,=KM6CTO,=KN4AWH,=KN4GNO,=KN4IBD, - =KN4IDV,=KN4IGP,=KN4ILO,=KN4INP,=KN4JCC,=KN4KPX,=KN4KPY,=KN4MNT,=KN4NLZ,=KN4ODN,=KP2H,=KP2Z, - =KP3CW/SKP,=KP3RE/LGT,=KP3RE/LH,=KP3RE/LT,=KP4ES/L,=KP4ES/LGT,=KP4ES/LH,=KP4FD/IARU,=KP4FRD/LH, - =KP4MD/P,=KP4VP/LH,=N1CN,=N1HRV,=N1JFL,=N1QVU,=N1SCD,=N1SZM,=N1VCW,=N1YAY,=N1ZJC,=N2KKN,=N2KUE, - =N2PGO,=N3JAM,=N3VIJ,=N3YUB,=N3ZII,=N4JZD,=N4LER,=N6RHF,=NB0G,=NP3M/LH,=NP4VO/LH,=W1AW/PR,=W3YW, - =W6WAW,=W9JS,=WA2RVA,=WB2HMY,=WB5YOF,=WB7ADC,=WB7VVV,=WD4LOL,=WP4L/TP,=WR8Z; + =K6BOT,=K9JOS,=KA2GNG,=KA2MBR,=KA2YGB,=KA7URH,=KA9UTY,=KB0AQB,=KB0TEP,=KB1IJU,=KB1KDP,=KB1RUQ, + =KB1TUA,=KB1UEK,=KB1UZV,=KB1ZKF,=KB2ALR,=KB2CIE,=KB2MMX,=KB2NMT,=KB2NYN,=KB2OIF,=KB2OMN,=KB2OPM, + =KB2RYP,=KB2TID,=KB2VHY,=KB2WKT,=KB2YKJ,=KB3BPK,=KB3BTN,=KB3LUV,=KB3SBO,=KB8ZVP,=KB9OWX,=KB9RZD, + =KB9YVE,=KB9YVF,=KC1CRV,=KC1CUF,=KC1DRV,=KC1IHB,=KC1IHO,=KC1JLY,=KC2BZZ,=KC2CTM,=KC2ERU,=KC2JNE, + =KC2LET,=KC2TE,=KC2UXP,=KC3GEO,=KC5DKT,=KC8IRI,=KD2KPC,=KD2VQ,=KD4TVS,=KD5DVV,=KD5PKH,=KD9GIZ, + =KE0AYJ,=KE0GFK,=KE0SH,=KE1MA,=KE4GGD,=KE4GYA,=KE4SKH,=KE4THL,=KE4WUE,=KE5LNG,=KF4KPO,=KF4ZDB, + =KF6OGJ,=KG4IRC,=KG4IVO,=KG4VCC,=KG5AFY,=KH2RU,=KH4AA,=KI4LRJ,=KI4WOA,=KI4WOB,=KJ4LOZ,=KJ4UPN, + =KJ6OV,=KK4AOZ,=KK4DCX,=KK4EBE,=KK4PHB,=KM4VDZ,=KM4WGI,=KM4YBN,=KM4YSR,=KM4ZJW,=KM6CTO,=KN4AWH, + =KN4GNO,=KN4IBD,=KN4IDV,=KN4IGP,=KN4ILO,=KN4INP,=KN4JCC,=KN4KPX,=KN4KPY,=KN4MNT,=KN4NLZ,=KN4ODN, + =KP2H,=KP2Z,=KP3CW/SKP,=KP3RE/LGT,=KP3RE/LH,=KP3RE/LT,=KP4ES/L,=KP4ES/LGT,=KP4ES/LH,=KP4FD/IARU, + =KP4FRD/LH,=KP4MD/P,=KP4VP/LH,=N1CN,=N1HRV,=N1JFL,=N1QVU,=N1SCD,=N1SZM,=N1VCW,=N1YAY,=N1ZJC, + =N2KKN,=N2KUE,=N2PGO,=N3JAM,=N3VIJ,=N3YUB,=N3ZII,=N4JZD,=N4LER,=N6NVD,=N6RHF,=NB0G,=NP3M/LH, + =NP4VO/LH,=W1AW/PR,=W3YW,=W6WAW,=W9JS,=WA2RVA,=WB2HMY,=WB5YOF,=WB7ADC,=WB7VVV,=WD4LOL,=WP4L/TP, + =WR8Z; Desecheo Island: 08: 11: NA: 18.08: 67.88: 4.0: KP5: KP5,NP5,WP5; Norway: 14: 18: EU: 61.00: -9.00: -1.0: LA: @@ -1692,97 +1707,102 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: =LU1AAS/D,=LU1ACX/D,=LU1AEE/D,=LU1AET/D,=LU1AIM/D,=LU1ALF/D,=LU1AM/D,=LU1APR/D,=LU1ARG/D, =LU1ASP/D,=LU1BCE/D,=LU1CHD/D,=LU1CL/D,=LU1COA/D,=LU1DAR/D,=LU1DAS/D,=LU1DBI/D,=LU1DCB/D, =LU1DDK/D,=LU1DDO/D,=LU1DHO/D,=LU1DK/D,=LU1DKD/D,=LU1DLB/D,=LU1DMA/E,=LU1DNQ/D,=LU1DP/D,=LU1DQ/D, - =LU1DSO/D,=LU1DU/D,=LU1DVE/D,=LU1DYP/D,=LU1DZ/D,=LU1DZ/E,=LU1DZR/D,=LU1EEE/D,=LU1EEZ/D,=LU1EFF/D, - =LU1EJ/LH,=LU1EJ/YL,=LU1ELP/D,=LU1EPC/D,=LU1EPF/D,=LU1EQ/D,=LU1EQU/D,=LU1ERA/D,=LU1EST/D, - =LU1EUU/D,=LU1EXU/D,=LU1EY/D,=LU1HBD/D,=LU1HLH/D,=LU1KCQ/D,=LU1UAG/D,=LU1VOF/D,=LU1XWC/E,=LU1XZ/D, - =LU1YY/D,=LU2AAS/D,=LU2AEZ/D,=LU2AFE/D,=LU2AGQ/D,=LU2AHB/D,=LU2ALE/D,=LU2AMM/D,=LU2AVG/D, - =LU2AVW/D,=LU2BN/D,=LU2BOE/D,=LU2BPM/D,=LU2CDE/D,=LU2CDO/D,=LU2CHP/D,=LU2CM/D,=LU2DAR/D,=LU2DB/D, - =LU2DHM/D,=LU2DJC/D,=LU2DJL/D,=LU2DKN/D,=LU2DPW/D,=LU2DRT/D,=LU2DT/D,=LU2DT/D/LH,=LU2DT/LGT, - =LU2DT/LH,=LU2DVF/D,=LU2ED/D,=LU2EDC/D,=LU2EE/D,=LU2EE/E,=LU2EGA/D,=LU2EGI/D,=LU2EGP/D,=LU2EHA/D, - =LU2EIT/D,=LU2EJL/D,=LU2EK/D,=LU2ELT/D,=LU2EMQ/D,=LU2ENG/D,=LU2ERC/D,=LU2FNH/D,=LU2HOD/D, - =LU2JFC/D,=LU2VDV/D,=LU2YF/D,=LU3AAL/D,=LU3ADC/D,=LU3AJL/D,=LU3AOI/D,=LU3ARE/D,=LU3ARM/D, - =LU3AYE/D,=LU3CA/D,=LU3CM/D,=LU3CRA/D,=LU3CT/D,=LU3DAT/D,=LU3DAT/E,=LU3DC/D,=LU3DFD/D,=LU3DH/D, - =LU3DJI/D,=LU3DK/D,=LU3DLF/D,=LU3DMZ/D,=LU3DO/D,=LU3DOC/D,=LU3DP/D,=LU3DPH/D,=LU3DQJ/D,=LU3DR/D, - =LU3DRP/D,=LU3DXG/D,=LU3DXI/D,=LU3DY/D,=LU3DYN/D,=LU3DZO/D,=LU3EBS/D,=LU3ED/D,=LU3EDU/D,=LU3EJ/L, - =LU3EJD/D,=LU3ELR/D,=LU3EMB/D,=LU3EOU/D,=LU3EP/D,=LU3ERU/D,=LU3ES/D,=LU3ESY/D,=LU3EZA/D,=LU3HKA/D, - =LU4AA/D,=LU4AAO/D,=LU4AAO/E,=LU4AJC/D,=LU4BAN/D,=LU4BR/D,=LU4CMF/D,=LU4DBL/D,=LU4DBP/D,=LU4DBT/D, + =LU1DS/D,=LU1DSO/D,=LU1DU/D,=LU1DVE/D,=LU1DYP/D,=LU1DZ/D,=LU1DZ/E,=LU1DZR/D,=LU1EEE/D,=LU1EEZ/D, + =LU1EFF/D,=LU1EJ/LH,=LU1EJ/YL,=LU1ELP/D,=LU1EPC/D,=LU1EPF/D,=LU1EQ/D,=LU1EQU/D,=LU1ERA/D, + =LU1EST/D,=LU1EUU/D,=LU1EXU/D,=LU1EY/D,=LU1HBD/D,=LU1HLH/D,=LU1KCQ/D,=LU1UAG/D,=LU1VDF/D, + =LU1VOF/D,=LU1XWC/E,=LU1XZ/D,=LU1YY/D,=LU2AAS/D,=LU2AEZ/D,=LU2AFE/D,=LU2AGQ/D,=LU2AHB/D,=LU2ALE/D, + =LU2AMM/D,=LU2AVG/D,=LU2AVW/D,=LU2BN/D,=LU2BOE/D,=LU2BPM/D,=LU2CDE/D,=LU2CDO/D,=LU2CHP/D,=LU2CM/D, + =LU2DAR/D,=LU2DB/D,=LU2DG/D,=LU2DHM/D,=LU2DJC/D,=LU2DJL/D,=LU2DKN/D,=LU2DPW/D,=LU2DRT/D,=LU2DT/D, + =LU2DT/D/LH,=LU2DT/LGT,=LU2DT/LH,=LU2DVF/D,=LU2ED/D,=LU2EDC/D,=LU2EE/D,=LU2EE/E,=LU2EGA/D, + =LU2EGI/D,=LU2EGP/D,=LU2EHA/D,=LU2EIT/D,=LU2EJL/D,=LU2EK/D,=LU2ELT/D,=LU2EMQ/D,=LU2ENG/D, + =LU2ENH/D,=LU2ERC/D,=LU2FGD/D,=LU2FNH/D,=LU2HOD/D,=LU2JFC/D,=LU2VDV/D,=LU2YF/D,=LU3AAL/D, + =LU3ADC/D,=LU3AJL/D,=LU3AOI/D,=LU3ARE/D,=LU3ARM/D,=LU3AYE/D,=LU3CA/D,=LU3CM/D,=LU3CRA/D,=LU3CT/D, + =LU3DAT/D,=LU3DAT/E,=LU3DC/D,=LU3DEY/D,=LU3DFD/D,=LU3DH/D,=LU3DHF/D,=LU3DJI/D,=LU3DK/D,=LU3DLF/D, + =LU3DMZ/D,=LU3DO/D,=LU3DOC/D,=LU3DP/D,=LU3DPH/D,=LU3DQJ/D,=LU3DR/D,=LU3DRP/D,=LU3DXG/D,=LU3DXI/D, + =LU3DY/D,=LU3DYN/D,=LU3DZO/D,=LU3EBS/D,=LU3ED/D,=LU3EDU/D,=LU3EJ/L,=LU3EJD/D,=LU3ELR/D,=LU3EMB/D, + =LU3EOU/D,=LU3EP/D,=LU3ERU/D,=LU3ES/D,=LU3ESY/D,=LU3EZA/D,=LU3FCI/D,=LU3HKA/D,=LU4AA/D,=LU4AAO/D, + =LU4AAO/E,=LU4ACA/D,=LU4AJC/D,=LU4BAN/D,=LU4BR/D,=LU4CMF/D,=LU4DBL/D,=LU4DBP/D,=LU4DBT/D, =LU4DBV/D,=LU4DCE/D,=LU4DCY/D,=LU4DGC/D,=LU4DHA/D,=LU4DHC/D,=LU4DHE/D,=LU4DIS/D,=LU4DK/D, - =LU4DLL/D,=LU4DLN/D,=LU4DMI/D,=LU4DPB/D,=LU4DQ/D,=LU4DRC/D,=LU4DRH/D,=LU4DRH/E,=LU4DVD/D, - =LU4EAE/D,=LU4EET/D,=LU4EGP/D,=LU4EHP/D,=LU4EJ/D,=LU4EL/D,=LU4ELE/D,=LU4EOU/D,=LU4ERS/D,=LU4ESP/D, - =LU4ETD/D,=LU4ETN/D,=LU4EV/D,=LU4HSA/D,=LU4HTD/D,=LU4MA/D,=LU4UWZ/D,=LU4UZW/D,=LU4VEN/D,=LU4WAP/D, - =LU5AHN/D,=LU5ALS/D,=LU5AM/D,=LU5ANL/D,=LU5AQV/D,=LU5ARS/D,=LU5ASA/D,=LU5AVD/D,=LU5BDS/D,=LU5BE/D, - =LU5BTL/D,=LU5CBA/D,=LU5CRE/D,=LU5DA/D,=LU5DA/E,=LU5DAS/D,=LU5DCO/D,=LU5DDH/D,=LU5DEM/D,=LU5DF/D, - =LU5DFR/D,=LU5DGG/D,=LU5DHE/D,=LU5DIT/D,=LU5DJE/D,=LU5DKE/D,=LU5DLH/D,=LU5DLT/D,=LU5DLZ/D, - =LU5DMI/D,=LU5DMP/D,=LU5DMR/D,=LU5DQ/D,=LU5DRV/D,=LU5DSM/D,=LU5DT/D,=LU5DTB/D,=LU5DTF/D,=LU5DUC/D, - =LU5DVB/D,=LU5DWS/D,=LU5DYT/D,=LU5EAO/D,=LU5EC/D,=LU5ED/D,=LU5EDS/D,=LU5EH/D,=LU5EHC/D,=LU5EJL/D, - =LU5EM/D,=LU5EW/D,=LU5FZ/D,=LU5FZ/E,=LU5JAH/D,=LU5JIB/D,=LU5OD/D,=LU5VAS/D,=LU5VAT/D,=LU5XP/D, - =LU6AER/D,=LU6CN/D,=LU6DAX/D,=LU6DBL/D,=LU6DC/D,=LU6DDC/D,=LU6DG/D,=LU6DIE/D,=LU6DIO/D,=LU6DKT/D, - =LU6DL/D,=LU6DM/D,=LU6DRD/D,=LU6DRD/E,=LU6DRN/D,=LU6DRR/D,=LU6DSA/D,=LU6DTB/D,=LU6EC/D,=LU6EDC/D, - =LU6EE/D,=LU6EEG/D,=LU6EGO/D,=LU6EI/D,=LU6EJJ/D,=LU6EKL/D,=LU6ELP/D,=LU6EMM/D,=LU6ENA/D,=LU6EPE/D, - =LU6EPR/D,=LU6EPR/E,=LU6EU/D,=LU6EVD/D,=LU6EWR/D,=LU6EXD/D,=LU6HBB/D,=LU6JJ/D,=LU6UAL/D,=LU6UO/D, - =LU6UVI/D,=LU6XQ/D,=LU7AA/D,=LU7AC/D,=LU7ADC/D,=LU7ADN/D,=LU7ART/D,=LU7AVW/D,=LU7BSN/D,=LU7BTO/D, - =LU7BTO/E,=LU7CAW/D,=LU7CP/D,=LU7DAC/D,=LU7DAF/D,=LU7DAR/D,=LU7DBA/D,=LU7DBL/D,=LU7DCE/D, - =LU7DDC/D,=LU7DDO/D,=LU7DHG/D,=LU7DJH/D,=LU7DLN/D,=LU7DNM/D,=LU7DOT/D,=LU7DP/D,=LU7DR/D,=LU7DS/D, - =LU7DSC/D,=LU7DSS/D,=LU7DSU/D,=LU7DSY/D,=LU7DZL/D,=LU7DZL/E,=LU7DZV/D,=LU7ECZ/D,=LU7EGY/D, - =LU7EHL/D,=LU7EIA/D,=LU7EJC/D,=LU7ELY/D,=LU7EMA/D,=LU7ENP/D,=LU7EO/D,=LU7EPC/D,=LU7ETR/D, - =LU7HBL/D,=LU7HW/D,=LU7HZ/D,=LU7VCH/D,=LU8ABR/D,=LU8ACH/D,=LU8ADX/D,=LU8AE/D,=LU8ARI/D,=LU8ATM/D, - =LU8DAF/D,=LU8DCF/D,=LU8DCH/D,=LU8DCK/D,=LU8DCM/D,=LU8DIP/D,=LU8DIW/D,=LU8DJR/D,=LU8DLD/D, - =LU8DLT/D,=LU8DMD/D,=LU8DQ/D,=LU8DR/D,=LU8DRA/D,=LU8DRH/D,=LU8DRQ/D,=LU8DSJ/D,=LU8DTF/D,=LU8DUJ/D, - =LU8DVQ/D,=LU8DW/D,=LU8DWR/D,=LU8DX/D,=LU8DY/D,=LU8DZE/D,=LU8DZH/D,=LU8EAG/D,=LU8EAJ/D,=LU8EBJ/D, - =LU8EBJ/E,=LU8EBK/D,=LU8EBK/E,=LU8ECF/D,=LU8ECF/E,=LU8EEM/D,=LU8EFF/D,=LU8EGC/D,=LU8EGS/D, - =LU8EHQ/D,=LU8EHQ/E,=LU8EHS/D,=LU8EHV/D,=LU8EKC/D,=LU8EMC/D,=LU8ERH/D,=LU8ETC/D,=LU8EU/D, - =LU8EXJ/D,=LU8EXN/D,=LU8FAU/D,=LU8VCC/D,=LU8VER/D,=LU9ACJ/D,=LU9AEA/D,=LU9AOS/D,=LU9AUC/D, - =LU9BSA/D,=LU9CGN/D,=LU9CLH/D,=LU9DA/D,=LU9DAD/D,=LU9DB/D,=LU9DE/D,=LU9DEQ/D,=LU9DF/D,=LU9DGE/D, - =LU9DKO/D,=LU9DMG/D,=LU9DO/D,=LU9DPD/D,=LU9DPI/D,=LU9DPZ/E,=LU9DSD/D,=LU9DVO/D,=LU9EAG/D,=LU9EI/D, - =LU9EJM/D,=LU9EJS/E,=LU9EJZ/D,=LU9ENH/D,=LU9ESD/D,=LU9ESD/E,=LU9ESD/LH,=LU9EV/D,=LU9EV/E, - =LU9EV/LH,=LU9EY/D,=LU9EYE/D,=LU9EZX/D,=LU9HDR/D,=LU9HJV/D,=LU9HVR/D,=LU9USD/D,=LU9WM/D,=LV7E/D, - =LW1DAL/D,=LW1DDX/D,=LW1DE/D,=LW1DEN/D,=LW1DEW/D,=LW1DOG/D,=LW1DQQ/D,=LW1DVB/D,=LW1DXH/D, - =LW1DXP/D,=LW1ECE/D,=LW1ECO/D,=LW1ELI/D,=LW1EQI/D,=LW1EQZ/D,=LW1EVO/D,=LW1EXU/D,=LW2DAW/D, - =LW2DET/D,=LW2DJM/D,=LW2DNC/D,=LW2DOM/D,=LW2DSM/D,=LW2DX/E,=LW2DYA/D,=LW2ECK/D,=LW2ECM/D, - =LW2EFS/D,=LW2EHD/D,=LW2ENB/D,=LW2EQS/D,=LW2EUA/D,=LW3DAB/D,=LW3DBM/D,=LW3DC/D,=LW3DED/D, - =LW3DER/D,=LW3DFP/D,=LW3DG/D,=LW3DGC/D,=LW3DJC/D,=LW3DKC/D,=LW3DKC/E,=LW3DKO/D,=LW3DKO/E,=LW3DN/D, - =LW3DRW/D,=LW3DSR/D,=LW3DTD/D,=LW3EIH/D,=LW3EMP/D,=LW4DAF/D,=LW4DBM/D,=LW4DCV/D,=LW4DOR/D, + =LU4DLJ/D,=LU4DLL/D,=LU4DLN/D,=LU4DMI/D,=LU4DPB/D,=LU4DQ/D,=LU4DRC/D,=LU4DRH/D,=LU4DRH/E, + =LU4DVD/D,=LU4EAE/D,=LU4EET/D,=LU4EGP/D,=LU4EHP/D,=LU4EJ/D,=LU4EL/D,=LU4ELE/D,=LU4EOU/D,=LU4ERS/D, + =LU4ESP/D,=LU4ETD/D,=LU4ETN/D,=LU4EV/D,=LU4HSA/D,=LU4HTD/D,=LU4MA/D,=LU4UWZ/D,=LU4UZW/D,=LU4VEN/D, + =LU4VSD/D,=LU4WAP/D,=LU5AHN/D,=LU5ALS/D,=LU5AM/D,=LU5ANL/D,=LU5AQV/D,=LU5ARS/D,=LU5ASA/D, + =LU5AVD/D,=LU5BDS/D,=LU5BE/D,=LU5BTL/D,=LU5CBA/D,=LU5CRE/D,=LU5DA/D,=LU5DA/E,=LU5DAS/D,=LU5DCO/D, + =LU5DDH/D,=LU5DEM/D,=LU5DF/D,=LU5DFR/D,=LU5DFT/D,=LU5DGG/D,=LU5DGR/D,=LU5DHE/D,=LU5DIT/D, + =LU5DJE/D,=LU5DKE/D,=LU5DLH/D,=LU5DLT/D,=LU5DLZ/D,=LU5DMI/D,=LU5DMP/D,=LU5DMR/D,=LU5DQ/D, + =LU5DRV/D,=LU5DSH/D,=LU5DSM/D,=LU5DT/D,=LU5DTB/D,=LU5DTF/D,=LU5DUC/D,=LU5DVB/D,=LU5DWS/D, + =LU5DYT/D,=LU5EAO/D,=LU5EC/D,=LU5ED/D,=LU5EDS/D,=LU5EFG/D,=LU5EH/D,=LU5EHC/D,=LU5EJL/D,=LU5EM/D, + =LU5EP/D,=LU5EW/D,=LU5FZ/D,=LU5FZ/E,=LU5JAH/D,=LU5JIB/D,=LU5OD/D,=LU5VAS/D,=LU5VAT/D,=LU5XP/D, + =LU6AER/D,=LU6CN/D,=LU6DAX/D,=LU6DBL/D,=LU6DC/D,=LU6DCT/D,=LU6DDC/D,=LU6DG/D,=LU6DIE/D,=LU6DIO/D, + =LU6DKT/D,=LU6DL/D,=LU6DM/D,=LU6DRD/D,=LU6DRD/E,=LU6DRN/D,=LU6DRR/D,=LU6DSA/D,=LU6DTB/D,=LU6EAG/D, + =LU6EC/D,=LU6EDC/D,=LU6EE/D,=LU6EEG/D,=LU6EGO/D,=LU6EI/D,=LU6EJJ/D,=LU6EKL/D,=LU6ELP/D,=LU6EMM/D, + =LU6ENA/D,=LU6EPE/D,=LU6EPR/D,=LU6EPR/E,=LU6EQV/D,=LU6EU/D,=LU6EVD/D,=LU6EWR/D,=LU6EXD/D, + =LU6HBB/D,=LU6JJ/D,=LU6UAL/D,=LU6UO/D,=LU6UVI/D,=LU6XQ/D,=LU7AA/D,=LU7AC/D,=LU7ADC/D,=LU7ADN/D, + =LU7ART/D,=LU7AVW/D,=LU7BSN/D,=LU7BTO/D,=LU7BTO/E,=LU7CAW/D,=LU7CP/D,=LU7DAC/D,=LU7DAF/D, + =LU7DAR/D,=LU7DBA/D,=LU7DBL/D,=LU7DCE/D,=LU7DD/D,=LU7DDC/D,=LU7DDO/D,=LU7DHG/D,=LU7DJH/D, + =LU7DLN/D,=LU7DNM/D,=LU7DOT/D,=LU7DP/D,=LU7DR/D,=LU7DS/D,=LU7DSC/D,=LU7DSS/D,=LU7DSU/D,=LU7DSY/D, + =LU7DTC/D,=LU7DZL/D,=LU7DZL/E,=LU7DZV/D,=LU7ECZ/D,=LU7EGY/D,=LU7EHL/D,=LU7EIA/D,=LU7EJC/D, + =LU7ELY/D,=LU7EMA/D,=LU7EMM/D,=LU7ENP/D,=LU7EO/D,=LU7EON/D,=LU7EPC/D,=LU7ETR/D,=LU7HBL/D,=LU7HW/D, + =LU7HZ/D,=LU7VCH/D,=LU8ABR/D,=LU8ACH/D,=LU8ADX/D,=LU8AE/D,=LU8ARI/D,=LU8ATM/D,=LU8DAF/D,=LU8DCF/D, + =LU8DCH/D,=LU8DCK/D,=LU8DCM/D,=LU8DIP/D,=LU8DIW/D,=LU8DJR/D,=LU8DLD/D,=LU8DLT/D,=LU8DMD/D, + =LU8DQ/D,=LU8DR/D,=LU8DRA/D,=LU8DRH/D,=LU8DRQ/D,=LU8DSJ/D,=LU8DTF/D,=LU8DUJ/D,=LU8DVQ/D,=LU8DW/D, + =LU8DWR/D,=LU8DX/D,=LU8DY/D,=LU8DZE/D,=LU8DZH/D,=LU8EAG/D,=LU8EAJ/D,=LU8EBJ/D,=LU8EBJ/E,=LU8EBK/D, + =LU8EBK/E,=LU8EC/D,=LU8ECF/D,=LU8ECF/E,=LU8EEM/D,=LU8EFF/D,=LU8EGC/D,=LU8EGS/D,=LU8EHQ/D, + =LU8EHQ/E,=LU8EHS/D,=LU8EHV/D,=LU8EKC/D,=LU8EMC/D,=LU8ERH/D,=LU8ETC/D,=LU8EU/D,=LU8EXJ/D, + =LU8EXN/D,=LU8FAU/D,=LU8VCC/D,=LU8VER/D,=LU9ACJ/D,=LU9AEA/D,=LU9AOS/D,=LU9AUC/D,=LU9BRC/D, + =LU9BSA/D,=LU9CGN/D,=LU9CLH/D,=LU9DA/D,=LU9DAA/D,=LU9DAD/D,=LU9DB/D,=LU9DE/D,=LU9DEQ/D,=LU9DF/D, + =LU9DGE/D,=LU9DKO/D,=LU9DMG/D,=LU9DO/D,=LU9DPD/D,=LU9DPI/D,=LU9DPZ/E,=LU9DSD/D,=LU9DVO/D, + =LU9EAG/D,=LU9EI/D,=LU9EIM/D,=LU9EJM/D,=LU9EJS/E,=LU9EJZ/D,=LU9ENH/D,=LU9EOE/D,=LU9ERA/D, + =LU9ESD/D,=LU9ESD/E,=LU9ESD/LH,=LU9EV/D,=LU9EV/E,=LU9EV/LH,=LU9EY/D,=LU9EYE/D,=LU9EZX/D,=LU9HDR/D, + =LU9HJV/D,=LU9HVR/D,=LU9USD/D,=LU9WM/D,=LV7E/D,=LW1DAL/D,=LW1DDX/D,=LW1DE/D,=LW1DEN/D,=LW1DEW/D, + =LW1DJ/D,=LW1DOG/D,=LW1DQQ/D,=LW1DVB/D,=LW1DXH/D,=LW1DXP/D,=LW1DYN/D,=LW1DYP/D,=LW1ECE/D, + =LW1ECO/D,=LW1ELI/D,=LW1EQI/D,=LW1EQZ/D,=LW1EVO/D,=LW1EXU/D,=LW2DAW/D,=LW2DET/D,=LW2DJM/D, + =LW2DNC/D,=LW2DOM/D,=LW2DSM/D,=LW2DX/E,=LW2DYA/D,=LW2ECK/D,=LW2ECM/D,=LW2EFS/D,=LW2EHD/D, + =LW2ENB/D,=LW2EQS/D,=LW2EUA/D,=LW3DAB/D,=LW3DBM/D,=LW3DC/D,=LW3DED/D,=LW3DER/D,=LW3DFP/D,=LW3DG/D, + =LW3DGC/D,=LW3DJC/D,=LW3DKC/D,=LW3DKC/E,=LW3DKO/D,=LW3DKO/E,=LW3DN/D,=LW3DRW/D,=LW3DSR/D, + =LW3DTD/D,=LW3EIH/D,=LW3EMP/D,=LW4DAF/D,=LW4DBE/D,=LW4DBM/D,=LW4DCV/D,=LW4DKI/D,=LW4DOR/D, =LW4DRH/D,=LW4DRH/E,=LW4DRV/D,=LW4DTM/D,=LW4DTR/D,=LW4DWV/D,=LW4DXH/D,=LW4ECV/D,=LW4EIN/D, =LW4EM/D,=LW4EM/E,=LW4EM/LH,=LW4ERO/D,=LW4ESY/D,=LW4ETG/D,=LW4EZT/D,=LW4HCL/D,=LW5DAD/D,=LW5DD/D, - =LW5DFR/D,=LW5DIE/D,=LW5DLY/D,=LW5DNN/D,=LW5DOG/D,=LW5DR/D,=LW5DR/LH,=LW5DUS/D,=LW5DWX/D,=LW5EE/D, - =LW5EO/D,=LW5EOL/D,=LW6DLS/D,=LW6DTM/D,=LW6DW/D,=LW6EAK/D,=LW6EEA/D,=LW6EFR/D,=LW6EGE/D,=LW6EHD/D, - =LW6EXM/D,=LW7DAF/D,=LW7DAG/D,=LW7DAJ/D,=LW7DAR/D,=LW7DFD/D,=LW7DGT/D,=LW7DJ/D,=LW7DKB/D, - =LW7DLY/D,=LW7DNS/E,=LW7DPJ/D,=LW7DVC/D,=LW7DWX/D,=LW7ECZ/D,=LW7EDH/D,=LW7EJV/D,=LW7ELR/D, - =LW7EOJ/D,=LW7HA/D,=LW8DAL/D,=LW8DCM/D,=LW8DIP/D,=LW8DMC/D,=LW8DMK/D,=LW8DPZ/E,=LW8EAG/D, - =LW8ECQ/D,=LW8EFR/D,=LW8EJ/D,=LW8ELR/D,=LW8EU/D,=LW8EVB/D,=LW8EXF/D,=LW9DAD/D,=LW9DAE/D,=LW9DIH/D, - =LW9DMM/D,=LW9DRD/D,=LW9DRT/D,=LW9DSP/D,=LW9DTP/D,=LW9DTQ/D,=LW9DTR/D,=LW9DX/D,=LW9EAG/D, - =LW9ECR/D,=LW9EGQ/D,=LW9EUU/D,=LW9EVA/D,=LW9EVA/E,=LW9EVE/D,=LW9EZV/D,=LW9EZW/D,=LW9EZX/D, - =LW9EZY/D, - =LS4AA/F,=LU1FFF/F,=LU1FHE/F,=LU1FMC/F,=LU1FSE/F,=LU1FVG/F,=LU2FDA/F,=LU2FGD/F,=LU2FLB/F, + =LW5DFR/D,=LW5DHG/D,=LW5DIE/D,=LW5DLY/D,=LW5DNN/D,=LW5DOG/D,=LW5DQ/D,=LW5DR/D,=LW5DR/LH,=LW5DTQ/D, + =LW5DUS/D,=LW5DWX/D,=LW5EE/D,=LW5EO/D,=LW5EOL/D,=LW6DLS/D,=LW6DTM/D,=LW6DW/D,=LW6DYZ/D,=LW6EAK/D, + =LW6EEA/D,=LW6EFR/D,=LW6EGE/D,=LW6EHD/D,=LW6EXM/D,=LW7DAF/D,=LW7DAG/D,=LW7DAJ/D,=LW7DAR/D, + =LW7DFD/D,=LW7DGT/D,=LW7DJ/D,=LW7DKB/D,=LW7DLY/D,=LW7DNS/E,=LW7DPJ/D,=LW7DVC/D,=LW7DWX/D, + =LW7ECZ/D,=LW7EDH/D,=LW7EJV/D,=LW7ELR/D,=LW7EOJ/D,=LW7HA/D,=LW8DAL/D,=LW8DCM/D,=LW8DIP/D, + =LW8DMC/D,=LW8DMK/D,=LW8DPZ/E,=LW8DYT/D,=LW8EAG/D,=LW8ECQ/D,=LW8EFR/D,=LW8EJ/D,=LW8ELR/D,=LW8EU/D, + =LW8EVB/D,=LW8EXF/D,=LW9DAD/D,=LW9DAE/D,=LW9DIH/D,=LW9DMM/D,=LW9DRD/D,=LW9DRT/D,=LW9DSP/D, + =LW9DTP/D,=LW9DTQ/D,=LW9DTR/D,=LW9DX/D,=LW9EAG/D,=LW9ECR/D,=LW9EGQ/D,=LW9ENF/D,=LW9ESY/D, + =LW9EUE/D,=LW9EUU/D,=LW9EVA/D,=LW9EVA/E,=LW9EVE/D,=LW9EZV/D,=LW9EZW/D,=LW9EZX/D,=LW9EZY/D, + =LS4AA/F,=LT2F/F,=LU1FFF/F,=LU1FHE/F,=LU1FMC/F,=LU1FSE/F,=LU1FVG/F,=LU2FDA/F,=LU2FGD/F,=LU2FLB/F, =LU2FNA/F,=LU2FP/F,=LU3FCI/F,=LU3FLG/F,=LU3FV/F,=LU3FVH/F,=LU4AA/F,=LU4ETN/F,=LU4FKS/F,=LU4FM/F, =LU4FNO/F,=LU4FNP/F,=LU4FOO/F,=LU4HOD/F,=LU5ASA/F,=LU5FB/F,=LU5FBM/F,=LU5FES/F,=LU5FHD/F,=LU5FJ/F, =LU5FJO/F,=LU5FYX/F,=LU5FZ/F,=LU6FE/F,=LU6FHO/F,=LU6FLZ/F,=LU7FAS/F,=LU7FCU/F,=LU7FFF/F,=LU7FIA/F, =LU7FJ/F,=LU7FJF/F,=LU7FM/F,=LU7FOE/F,=LU7FRE/F,=LU7FYX/F,=LU7HBL/F,=LU8FAB/F,=LU8FC/F,=LU8FGB/F, =LU8FMA/F,=LU8SAN/F,=LU9EI/F,=LU9ESD/F,=LU9FQR/F,=LU9RBI/F, =LU1ACG/GP,=LU1GQQ/GP,=LU3AAL/GR,=LU4FM/G,=LU4FM/GP,=LU4GF/GA,=LU4GO/GA,=LU5BE/GR,=LU5FZ/GA, - =LU8EFF/GR,=LU9GRE/GP, + =LU8EFF/GR,=LU9GOX/GA,=LU9GOY/GA,=LU9GRE/GP, =LS4AA/H,=LU1EZ/H,=LU1HBD/H,=LU1HCG/H,=LU1HCP/H,=LU1HH/H,=LU1HK/H,=LU1HLH/H,=LU1HPW/H,=LU1HYW/H, - =LU1XZ/H,=LU2DVI/H,=LU2HAE/H,=LU2HC/H,=LU2HEA/H,=LU2HEQ/H,=LU2HJ/H,=LU2HNV/H,=LU2MAA/H,=LU3AJL/H, - =LU3FCR/H,=LU3FN/H,=LU3HAT/H,=LU3HAZ/H,=LU3HE/H,=LU3HKA/H,=LU3HL/H,=LU3HPW/H,=LU3HU/H,=LU3HZK/H, - =LU4AA/H,=LU4ETN/H,=LU4FM/H,=LU4HK/H,=LU4HSA/H,=LU4HSA/LGH,=LU4HTD/H,=LU4MA/H,=LU5DGG/H,=LU5DX/H, - =LU5DZ/H,=LU5HA/H,=LU5HAZ/H,=LU5HCB/H,=LU5HCW/H,=LU5HFW/H,=LU5HGR/H,=LU5HIO/H,=LU5HR/H,=LU5HTA/H, - =LU5WTE/H,=LU6FE/H,=LU6HAS/H,=LU6HBB/H,=LU6HCA/H,=LU6HGH/H,=LU6HQH/H,=LU6HTR/H,=LU6XQ/H,=LU7DZ/H, - =LU7FBG/H,=LU7HA/H,=LU7HBC/H,=LU7HBL/H,=LU7HBV/H,=LU7HCS/H,=LU7HEO/H,=LU7HOM/H,=LU7HOS/H, - =LU7HSG/H,=LU7HW/H,=LU7HWB/H,=LU7HZ/H,=LU8FF/H,=LU8HAR/H,=LU8HBX/H,=LU8HOR/H,=LU9BSA/H,=LU9DPD/H, - =LU9ERA/H,=LU9HCF/H,=LU9HJV/H,=LU9HVR/H,=LW1HBD/H,=LW1HCM/H,=LW1HDI/H,=LW2EIY/H,=LW3HBS/H, - =LW3HOH/H,=LW4HCL/H,=LW4HTA/H,=LW4HTD/H,=LW6ENV/H,=LW6HAM/H,=LW7EIY/H,=LW7HA/H,=LW9HCF/H, - =LU1IAL/I,=LU1IBM/I,=LU1IG/I,=LU2IP/I,=LU5IAL/I,=LU5IAO/I,=LU5ILA/I,=LU7IEI/I,=LU7IPI/I,=LU7ITR/I, - =LU7IUE/I,=LU8IEZ/I,=LU9IBJ/I, + =LU1XZ/H,=LU2DVI/H,=LU2HAE/H,=LU2HC/H,=LU2HCG/H,=LU2HEA/H,=LU2HEQ/H,=LU2HJ/H,=LU2HNV/H,=LU2MAA/H, + =LU3AJL/H,=LU3FCR/H,=LU3FN/H,=LU3HAT/H,=LU3HAZ/H,=LU3HE/H,=LU3HKA/H,=LU3HL/H,=LU3HPW/H,=LU3HU/H, + =LU3HZK/H,=LU4AA/H,=LU4ETN/H,=LU4FM/H,=LU4HAP/H,=LU4HK/H,=LU4HOQ/H,=LU4HSA/H,=LU4HSA/LGH, + =LU4HTD/H,=LU4MA/H,=LU5DGG/H,=LU5DX/H,=LU5DZ/H,=LU5HA/H,=LU5HAZ/H,=LU5HCB/H,=LU5HCW/H,=LU5HFW/H, + =LU5HGR/H,=LU5HIO/H,=LU5HR/H,=LU5HTA/H,=LU5WTE/H,=LU5YUS/H,=LU6FE/H,=LU6HAS/H,=LU6HBB/H,=LU6HCA/H, + =LU6HGH/H,=LU6HQH/H,=LU6HTR/H,=LU6XQ/H,=LU7DZ/H,=LU7FBG/H,=LU7FTF/H,=LU7HA/H,=LU7HBC/H,=LU7HBL/H, + =LU7HBV/H,=LU7HCS/H,=LU7HEO/H,=LU7HOM/H,=LU7HOS/H,=LU7HSG/H,=LU7HW/H,=LU7HWB/H,=LU7HZ/H,=LU8FF/H, + =LU8HAR/H,=LU8HBX/H,=LU8HJ/H,=LU8HOR/H,=LU9BSA/H,=LU9DPD/H,=LU9ERA/H,=LU9HCF/H,=LU9HJV/H, + =LU9HVR/H,=LW1HBD/H,=LW1HCM/H,=LW1HDI/H,=LW2EIY/H,=LW3HBS/H,=LW3HOH/H,=LW4HCL/H,=LW4HTA/H, + =LW4HTD/H,=LW6ENV/H,=LW6HAM/H,=LW7EIY/H,=LW7HA/H,=LW9HCF/H, + =LU1IAL/I,=LU1IBM/I,=LU1IG/I,=LU1II/I,=LU2IP/I,=LU5IAL/I,=LU5IAO/I,=LU5ILA/I,=LU7IEI/I,=LU7IPI/I, + =LU7ITR/I,=LU7IUE/I,=LU8IEZ/I,=LU9IBJ/I, =LU1JAO/J,=LU1JAR/J,=LU1JCE/J,=LU1JCO/J,=LU1JEF/J,=LU1JEO/J,=LU1JES/J,=LU1JHF/J,=LU1JHP/J, =LU1JKN/J,=LU1JMA/J,=LU1JMV/J,=LU1JN/J,=LU1JP/J,=LU1JPC/J,=LU2DJB/J,=LU2FQ/J,=LU2JCI/J,=LU2JLC/J, =LU2JNV/J,=LU2JPE/J,=LU2JS/J,=LU3DYN/J,=LU3JFB/J,=LU3JVO/J,=LU4AA/J,=LU4FM/J,=LU4JEA/J,=LU4JHF/J, - =LU4JJ/J,=LU4JLX/J,=LU4JMO/J,=LU5JAH/J,=LU5JB/J,=LU5JCL/J,=LU5JLA/J,=LU5JLX/J,=LU5JNC/J,=LU5JOL/J, - =LU5JU/J,=LU5JZZ/J,=LU6JAF/J,=LU6JRA/J,=LU7DAC/J,=LU7JI/J,=LU7JLB/J,=LU7JMS/J,=LU7JR/J,=LU7JRM/J, - =LU8JOP/J,=LU9JLV/J,=LU9JMG/J,=LU9JPR/J,=LU9YB/J,=LW2DRJ/J,=LW3EMP/J, + =LU4JJ/J,=LU4JLX/J,=LU4JMO/J,=LU5JAH/J,=LU5JB/J,=LU5JCL/J,=LU5JI/J,=LU5JJF/J,=LU5JKI/J,=LU5JLA/J, + =LU5JLX/J,=LU5JNC/J,=LU5JOL/J,=LU5JU/J,=LU5JZZ/J,=LU6JAF/J,=LU6JRA/J,=LU7DAC/J,=LU7JI/J,=LU7JLB/J, + =LU7JMS/J,=LU7JR/J,=LU7JRM/J,=LU8JOP/J,=LU9JLV/J,=LU9JMG/J,=LU9JPR/J,=LU9YB/J,=LW2DRJ/J,=LW3EMP/J, =LU1KWC/K,=LU2KLC/K,=LU4KC/K,=LU5OM/K,=LU6KAQ/K,=LU7KHB/K,=LU7KT/K,=LU8KE/K,=LW1EVO/K,=LW3DFP/K, =LU1AAS/L,=LU1DZ/L,=LU1LAA/L,=LU1LT/L,=LU1LTL/L,=LU2LDB/L,=LU3AYE/L,=LU4AGC/L,=LU4EFC/L,=LU4LAD/L, - =LU4LBU/L,=LU4LMA/L,=LU5ILA/L,=LU5LAE/L,=LU5LBV/L,=LU8IEZ/L,=LU8LFV/L,=LU9LEW/L,=LU9LZY/L, - =LU9LZZ/L,=LU9XPA/L,=LW3EMP/L,=LW8DTO/L, + =LU4LBU/L,=LU4LMA/L,=LU5ILA/L,=LU5LAE/L,=LU5LBV/L,=LU6JRA/L,=LU8IEZ/L,=LU8LFV/L,=LU9JX/L, + =LU9LEW/L,=LU9LZY/L,=LU9LZZ/L,=LU9XPA/L,=LW3EMP/L,=LW8DTO/L, =LU3PCJ/MA,=LW4DBE/MA, =LU2DSV/N,=LU3AAL/N,=LU5BE/N,=LU8EFF/N,=LW5DR/N, =LU1HZY/O,=LU1XS/O,=LU2HON/O,=LU3HL/O,=LU4AA/O,=LU5BOJ/O,=LU5OD/O,=LU6FEC/O,=LU6HWT/O,=LU8OAH/O, @@ -1790,8 +1810,8 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: =LU5QAJ/Q,=LU5QR/Q,=LU6HBB/Q,=LU6QAN/Q,=LU6QB/Q,=LU6QER/Q,=LU6QI/Q,=LU6UO/Q,=LU7CG/Q,=LU7DJH/Q, =LU7FCL/Q,=LU7QBE/Q,=LU7QN/Q,=LU8DCH/Q,=LU8QRD/Q,=LU8WFT/Q,=LU9QAW/Q,=LU9QRV/Q,=LW2DX/Q, =LU/DH4PB/S,=LU1DZ/S,=LU1SF/S,=LU6UO/S,=LW2DX/S, - =LU1UM/U,=LU1UP/U,=LU3DAB/U,=LU3UU/U,=LU4UWZ/U,=LU5UBI/YL,=LU5UEA/U,=LU5UFM/U,=LU6UBM/U,=LU6UO/U, - =LU7AA/U,=LU8UU/U,=LU9MHH/U, + =LU1UG/U,=LU1UM/U,=LU1UP/U,=LU3DAB/U,=LU3UU/U,=LU4UWZ/U,=LU5UBI/YL,=LU5UEA/U,=LU5UFM/U,=LU6UBM/U, + =LU6UO/U,=LU7AA/U,=LU7VB/U,=LU8UU/U,=LU9MHH/U, AY0V[16],AY1V[16],AY2V[16],AY3V[16],AY4V[16],AY5V[16],AY6V[16],AY7V[16],AY8V[16],AY9V[16], AZ0V[16],AZ1V[16],AZ2V[16],AZ3V[16],AZ4V[16],AZ5V[16],AZ6V[16],AZ7V[16],AZ8V[16],AZ9V[16], L20V[16],L21V[16],L22V[16],L23V[16],L24V[16],L25V[16],L26V[16],L27V[16],L28V[16],L29V[16], @@ -1812,19 +1832,19 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: LV0V[16],LV1V[16],LV2V[16],LV3V[16],LV4V[16],LV5V[16],LV6V[16],LV7V[16],LV8V[16],LV9V[16], LW0V[16],LW1V[16],LW2V[16],LW3V[16],LW4V[16],LW5V[16],LW6V[16],LW7V[16],LW8V[16],LW9V[16], =L30EY/V[16],=LU1EDX/V[16],=LU1QR/V[16],=LU1VBC/V[16],=LU1VCK/V[16],=LU1VDF/V[16],=LU1VEG/V[16], - =LU1VFP/V[16],=LU1VOF/LH[16],=LU1VOF/V[16],=LU1VPH/V[16],=LU1WJV/V[16],=LU1WJY/V[16],=LU1YY/V[16], - =LU2DB/V[16],=LU2VA/V[16],=LU2VCD/V[16],=LU2VCR/V[16],=LU2VCS/V[16],=LU2VDV/V[16],=LU2VJU/V[16], - =LU3AIY/V[16],=LU3DC/V[16],=LU3DR/V[16],=LU3ES/V[16],=LU3VAL/V[16],=LU3VE/V[16],=LU3VHE/V[16], - =LU3VMB/V[16],=LU3VSM/V[16],=LU3XQN/V[16],=LU4AA/V[16],=LU4DBP/V[16],=LU4DBT/V[16],=LU4DDL/V[16], - =LU4EHP/V[16],=LU4EJS/V[16],=LU4VAU/V[16],=LU4VBW/V[16],=LU4VDG/V[16],=LU4VEN/V[16],=LU4VMB/V[16], - =LU4VMG/V[16],=LU4VV/V[16],=LU4WSM/W[16],=LU5AJX/V[16],=LU5BDS/V[16],=LU5DEM/V[16],=LU5DIT/V[16], - =LU5DRV/V[16],=LU5FYX/V[16],=LU5VAI/V[16],=LU5VAS/V[16],=LU5VAT/V[16],=LU5VFL/V[16],=LU5VIE/V[16], - =LU5VLB/V[16],=LU5YF/V[16],=LU6DAI/V[16],=LU6DBL/V[16],=LU6DKT/V[16],=LU6DO/V[16],=LU6VA/V[16], - =LU6VAC/V[16],=LU6VDT/V[16],=LU6VEO/V[16],=LU6VFL/V[16],=LU6VM/V[16],=LU6VR/V[16],=LU7DSY/V[16], - =LU7DW/V[16],=LU7EGH/V[16],=LU7EHL/V[16],=LU7VBT/V[16],=LU7VFG/V[16],=LU7YZ/V[16],=LU8BV/V[16], - =LU8DWR/V[16],=LU8EB/M/V[16],=LU8EHQ/V[16],=LU8VCC/V[16],=LU8VER/V[16],=LU9AEA/V[16],=LU9DR/V[16], - =LU9ESD/V[16],=LU9EY/V[16],=LU9VEA/V[16],=LUVES/V[16],=LW1ECO/V[16],=LW2DVM/V[16],=LW5EE/V[16], - =LW6EQQ/V[16],=LW9EAG/V[16], + =LU1VFP/V[16],=LU1VOF/LH[16],=LU1VOF/V[16],=LU1VPH/V[16],=LU1VZ/V[16],=LU1WJV/V[16],=LU1WJY/V[16], + =LU1YY/V[16],=LU2DB/V[16],=LU2VA/V[16],=LU2VCD/V[16],=LU2VCR/V[16],=LU2VCS/V[16],=LU2VDV/V[16], + =LU2VJU/V[16],=LU3AIY/V[16],=LU3DC/V[16],=LU3DR/V[16],=LU3ES/V[16],=LU3VAL/V[16],=LU3VE/V[16], + =LU3VHE/V[16],=LU3VMB/V[16],=LU3VSE/V[16],=LU3VSM/V[16],=LU3XQN/V[16],=LU4AA/V[16],=LU4DBP/V[16], + =LU4DBT/V[16],=LU4DDL/V[16],=LU4EHP/V[16],=LU4EJS/V[16],=LU4VAU/V[16],=LU4VBW/V[16],=LU4VDG/V[16], + =LU4VEN/V[16],=LU4VMB/V[16],=LU4VMG/V[16],=LU4VV/V[16],=LU4WSM/W[16],=LU5AJX/V[16],=LU5BDS/V[16], + =LU5DEM/V[16],=LU5DIT/V[16],=LU5DRV/V[16],=LU5FYX/V[16],=LU5VAI/V[16],=LU5VAS/V[16],=LU5VAT/V[16], + =LU5VFL/V[16],=LU5VIE/V[16],=LU5VLB/V[16],=LU5YBR/V[16],=LU5YF/V[16],=LU6DAI/V[16],=LU6DBL/V[16], + =LU6DKT/V[16],=LU6DO/V[16],=LU6VA/V[16],=LU6VAC/V[16],=LU6VDT/V[16],=LU6VEO/V[16],=LU6VFL/V[16], + =LU6VM/V[16],=LU6VR/V[16],=LU7DSY/V[16],=LU7DW/V[16],=LU7EGH/V[16],=LU7EHL/V[16],=LU7VBT/V[16], + =LU7VFG/V[16],=LU7YZ/V[16],=LU8BV/V[16],=LU8DWR/V[16],=LU8EB/M/V[16],=LU8EHQ/V[16],=LU8VCC/V[16], + =LU8VER/V[16],=LU9AEA/V[16],=LU9DR/V[16],=LU9ESD/V[16],=LU9EY/V[16],=LU9VEA/V[16],=LUVES/V[16], + =LW1ECO/V[16],=LW2DVM/V[16],=LW2DYA/V[16],=LW5EE/V[16],=LW6EQQ/V[16],=LW9EAG/V[16], AY0W[16],AY1W[16],AY2W[16],AY3W[16],AY4W[16],AY5W[16],AY6W[16],AY7W[16],AY8W[16],AY9W[16], AZ0W[16],AZ1W[16],AZ2W[16],AZ3W[16],AZ4W[16],AZ5W[16],AZ6W[16],AZ7W[16],AZ8W[16],AZ9W[16], L20W[16],L21W[16],L22W[16],L23W[16],L24W[16],L25W[16],L26W[16],L27W[16],L28W[16],L29W[16], @@ -1879,14 +1899,13 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: =LU1DNC/X[16],=LU1DZ/X[16],=LU1XA/XA[16],=LU1XAW/X[16],=LU1XB/X[16],=LU1XB/XA[16],=LU1XBR/XA[16], =LU1XP/XP[16],=LU1XPD/XP[16],=LU1XY/X[16],=LU1YY/XA[16],=LU1ZA/XA[16],=LU2CRM/XA[16], =LU2CRM/XB[16],=LU2WA/XA[16],=LU2XBI/XA[16],=LU2XBI/XB[16],=LU2XWL/XP[16],=LU2XX/X[16], - =LU2XX/XA[16],=LU2XX/XP[16],=LU3DVN/X[16],=LU3DVN/XP[16],=LU3XAP/XA[16],=LU3XEI/X[16], - =LU3XEI/XA[16],=LU3XEM/X[16],=LU3XUC/XP[16],=LU3XUJ/XP[16],=LU3XYL/XP[16],=LU4DBT/XA[16], - =LU4XEG/XA[16],=LU4XPE/XP[16],=LU5BE/XA[16],=LU5BE/XC[16],=LU5DF/X[16],=LU5EMB/X[16], - =LU5HJC/X[16],=LU5HJC/XP[16],=LU5HJK/XP[16],=LU5XC/X[16],=LU5XP/X[16],=LU5XWA/XP[16], - =LU6EE/XA[16],=LU6XAH/X[16],=LU7DSY/XA[16],=LU7EUI/XP[16],=LU7XDY/X[16],=LU7XDY/XA[16], - =LU7XSC/XP[16],=LU8DLD/XA[16],=LU8DRA/XA[16],=LU8EOT/X[16],=LU8XBS/XA[16],=LU8XC/X[16], - =LU8XUU/XP[16],=LU8XW/X[16],=LU8XW/XP[16],=LU9DPD/XA[16],=LU9HUP/X[16],=LW3DKO/XA[16], - =LW3ET/XP[16], + =LU2XX/XA[16],=LU2XX/XP[16],=LU3DVN/X[16],=LU3DVN/XP[16],=LU3XEI/X[16],=LU3XEI/XA[16], + =LU3XEM/X[16],=LU3XUC/XP[16],=LU3XUJ/XP[16],=LU3XYL/XP[16],=LU4DBT/XA[16],=LU4XFN/XA[16], + =LU4XPE/XP[16],=LU5BE/XA[16],=LU5BE/XC[16],=LU5DF/X[16],=LU5EMB/X[16],=LU5HJC/X[16], + =LU5HJC/XP[16],=LU5HJK/XP[16],=LU5XC/X[16],=LU5XP/X[16],=LU5XWA/XP[16],=LU6EE/XA[16], + =LU6XAH/X[16],=LU7DSY/XA[16],=LU7EUI/XP[16],=LU7XDY/X[16],=LU7XDY/XA[16],=LU7XSC/XP[16], + =LU8DLD/XA[16],=LU8DRA/XA[16],=LU8EOT/X[16],=LU8XC/X[16],=LU8XUU/XP[16],=LU8XW/X[16], + =LU8XW/XP[16],=LU9DPD/XA[16],=LU9HUP/X[16],=LW3DKO/XA[16],=LW3ET/XP[16], AY0Y[16],AY1Y[16],AY2Y[16],AY3Y[16],AY4Y[16],AY5Y[16],AY6Y[16],AY7Y[16],AY8Y[16],AY9Y[16], AZ0Y[16],AZ1Y[16],AZ2Y[16],AZ3Y[16],AZ4Y[16],AZ5Y[16],AZ6Y[16],AZ7Y[16],AZ8Y[16],AZ9Y[16], L20Y[16],L21Y[16],L22Y[16],L23Y[16],L24Y[16],L25Y[16],L26Y[16],L27Y[16],L28Y[16],L29Y[16], @@ -1906,14 +1925,15 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: LU0Y[16],LU1Y[16],LU2Y[16],LU3Y[16],LU4Y[16],LU5Y[16],LU6Y[16],LU7Y[16],LU8Y[16],LU9Y[16], LV0Y[16],LV1Y[16],LV2Y[16],LV3Y[16],LV4Y[16],LV5Y[16],LV6Y[16],LV7Y[16],LV8Y[16],LV9Y[16], LW0Y[16],LW1Y[16],LW2Y[16],LW3Y[16],LW4Y[16],LW5Y[16],LW6Y[16],LW7Y[16],LW8Y[16],LW9Y[16], - =LU1DZ/Y[16],=LU1YDC/Y[16],=LU1YY/Y[16],=LU2VA/Y[16],=LU2VDQ/Y[16],=LU3YEP/Y[16],=LU4AA/Y[16], - =LU4DRC/Y[16],=LU4YAB/Y[16],=LU4YAD/Y[16],=LU4YAL/Y[16],=LU5HLR/Y[16],=LU5YF/Y[16],=LU6VEO/Y[16], - =LU6VM/Y[16],=LU6YAB/Y[16],=LU6YBK/Y[16],=LU6YSG/Y[16],=LU7YCL/Y[16],=LU7YG/Y[16],=LU7YP/Y[16], - =LU8DQ/Y[16],=LU8DRA/Y[16],=LU8EOT/Y[16],=LU8IEZ/Y[16],=LU8YD/Y[16],=LU8YE/Y[16],=LU8YMP/Y[16], - =LU8YSF/Y[16],=LU9BSA/Y[16],=LU9ESD/Y[16],=LW1EXU/Y[16],=LW2DX/Y[16],=LW7DLY/Y[16],=LW7DQQ/Y[16], - =LW9DCF/Y[16]; + =LU1DZ/Y[16],=LU1YDC/Y[16],=LU1YY/Y[16],=LU2VA/Y[16],=LU2VDQ/Y[16],=LU2XAN/Y[16],=LU2YMG/Y[16], + =LU3XAP/XA[16],=LU3YEP/Y[16],=LU4AA/Y[16],=LU4DRC/Y[16],=LU4XAP/XA[16],=LU4XEG/XA[16], + =LU4YAB/Y[16],=LU4YAD/Y[16],=LU4YAL/Y[16],=LU5HLR/Y[16],=LU5YF/Y[16],=LU6VEO/Y[16],=LU6VM/Y[16], + =LU6YAB/Y[16],=LU6YBK/Y[16],=LU6YSG/Y[16],=LU7XBX/XA[16],=LU7YCL/Y[16],=LU7YG/Y[16],=LU7YP/Y[16], + =LU8DQ/Y[16],=LU8DRA/Y[16],=LU8EOT/Y[16],=LU8IEZ/Y[16],=LU8XBC/XA[16],=LU8XBS/XA[16], + =LU8YAH/Y[16],=LU8YD/Y[16],=LU8YE/Y[16],=LU8YMP/Y[16],=LU8YSF/Y[16],=LU9BSA/Y[16],=LU9ESD/Y[16], + =LU9XCC/XA[16],=LW1EXU/Y[16],=LW2DX/Y[16],=LW7DLY/Y[16],=LW7DQQ/Y[16],=LW9DCF/Y[16]; Luxembourg: 14: 27: EU: 50.00: -6.00: -1.0: LX: - LX; + LX,=LX9S/J; Lithuania: 15: 29: EU: 55.45: -23.63: -2.0: LY: LY,=LY/4X4FC/LH,=LY/4Z5KJ/LH,=LY1CM/A/LH,=LY1CM/LH,=LY1CM/P/LGT,=LY1CM/P/LH,=LY1DF/LH,=LY1DR/LGT, =LY1DS/LH,=LY1FW/LH,=LY2BIG/LH,=LY2DX/LGT,=LY2DX/LH,=LY2FN/LGT,=LY2FN/LH,=LY2UF/LGT,=LY2UF/LH, @@ -1963,7 +1983,7 @@ Finland: 15: 18: EU: 63.78: -27.08: -2.0: OH: =OH8AAU/LH,=OH8FCK/S,=OH8FCK/SA,=OH8KN/S,=OH8KN/SA,=OI8VK/S, =OH9AR/S,=OH9TM/S,=OH9TO/S; Aland Islands: 15: 18: EU: 60.13: -20.37: -2.0: OH0: - OF0,OG0,OH0,OI0,=OF100FI/0,=OG2K/0,=OG3M/0,=OH1LWZ/0,=OH2FTJ/0,=OH6ZZ/0,=OH8K/0; + OF0,OG0,OH0,OI0,=OF100FI/0,=OG2K/0,=OG2M/0,=OG3M/0,=OH1LWZ/0,=OH2FTJ/0,=OH6ZZ/0,=OH8K/0; Market Reef: 15: 18: EU: 60.00: -19.00: -2.0: OJ0: OJ0; Czech Republic: 15: 28: EU: 50.00: -16.00: -1.0: OK: @@ -1985,11 +2005,11 @@ Denmark: 14: 18: EU: 56.00: -10.00: -1.0: OZ: 5P,5Q,OU,OV,OZ,=5P0MF/LH,=5P2X/LH,=5P5CW/LH,=OU7LH/LH,=OZ/DG1EHM/LH,=OZ/DG2RON/LH,=OZ/DJ5AA/LH, =OZ/DJ7AO/LGT,=OZ/DJ7AO/LH,=OZ/DL1BWU/LH,=OZ/DL3JJ/LH,=OZ/DL4AM/LH,=OZ/DL4ZZ/LH,=OZ/DL5SE/LH, =OZ/DL7RSM/LH,=OZ/DR4X/LH,=OZ/ON6JUN/LH,=OZ/PH7Y/LH,=OZ0MF/LH,=OZ0Q/LH,=OZ0Y/LS,=OZ13LH/LH, - =OZ1CF/LH,=OZ1IIL/LH,=OZ1KAH/LH,=OZ1SDB/LH,=OZ1SKA/LH,=OZ2F/LH,=OZ2FG/LH,=OZ2GBW/LGT,=OZ2GBW/LH, - =OZ2NYB/LGT,=OZ2NYB/LH,=OZ2ZB/LH,=OZ3EDR/LH,=OZ3EVA/LH,=OZ3FYN/LH,=OZ3TL/JOTA,=OZ4EL/LH, - =OZ50RN/LH,=OZ5ESB/LH,=OZ7AEI/LH,=OZ7DAL/LH,=OZ7DAL/LS,=OZ7EA/YL,=OZ7HAM/LH,=OZ7LH/LH,=OZ7RJ/LGT, - =OZ7RJ/LH,=OZ7SP/JOTA,=OZ7TOM/LH,=OZ8KV/LH,=OZ8SMA/LGT,=OZ8SMA/LH,=OZ9HBO/JOTA,=OZ9HBO/LH, - =OZ9WSR/J; + =OZ1CF/LH,=OZ1IIL/LH,=OZ1KAH/LH,=OZ1KR/J,=OZ1SDB/LH,=OZ1SKA/LH,=OZ2F/LH,=OZ2FG/LH,=OZ2GBW/LGT, + =OZ2GBW/LH,=OZ2NYB/LGT,=OZ2NYB/LH,=OZ2ZB/LH,=OZ3EDR/LH,=OZ3EVA/LH,=OZ3FYN/LH,=OZ3TL/JOTA, + =OZ4EL/LH,=OZ50RN/LH,=OZ5ESB/LH,=OZ7AEI/LH,=OZ7DAL/LH,=OZ7DAL/LS,=OZ7EA/YL,=OZ7HAM/LH,=OZ7LH/LH, + =OZ7RJ/LGT,=OZ7RJ/LH,=OZ7SP/JOTA,=OZ7TOM/LH,=OZ8KV/LH,=OZ8SMA/LGT,=OZ8SMA/LH,=OZ9HBO/JOTA, + =OZ9HBO/LH,=OZ9WSR/J; Papua New Guinea: 28: 51: OC: -9.50: -147.12: -10.0: P2: P2; Aruba: 09: 11: SA: 12.53: 69.98: 4.0: P4: @@ -2005,17 +2025,17 @@ Netherlands: 14: 27: EU: 52.28: -5.47: -1.0: PA: =PA3GQS/J,=PA3GWN/J,=PA3HFJ/J,=PA3WSK/JOTA,=PA40LAB/J,=PA4RVS/MILL,=PA4WK/J,=PA5CA/LH,=PA65DUIN/J, =PA65URK/LH,=PA6ADZ/MILL,=PA6ARC/LH,=PA6FUN/LGT,=PA6FUN/LH,=PA6FUN/LS,=PA6HOOP/MILL,=PA6HYG/J, =PA6JAM/J,=PA6KMS/MILL,=PA6LH/LH,=PA6LL/LH,=PA6LST/LH,=PA6LST/LS,=PA6MZD/MILL,=PA6RCG/J,=PA6SB/L, - =PA6SB/LH,=PA6SCH/LH,=PA6SJB/J,=PA6SJS/J,=PA6STAR/MILL,=PA6URK/LH,=PA6VEN/LH,=PA6VLD/LH, + =PA6SB/LH,=PA6SCH/LH,=PA6SHB/J,=PA6SJB/J,=PA6SJS/J,=PA6STAR/MILL,=PA6URK/LH,=PA6VEN/LH,=PA6VLD/LH, =PA6WAD/LGT,=PA70HYG/JOTA,=PA75SM/J,=PA7AL/LH,=PA7HPH/J,=PA7JWC/J,=PA99HYG/JOTA,=PA9M/LH,=PB6F/LH, =PB6KW/LH,=PB88XYL/YL,=PB9ZR/J,=PC2D/LH,=PD0ARI/MILL,=PD0FSB/LH,=PD1JL/MILL,=PD1JSH/J,=PD2C/LH, =PD2GCM/LH,=PD5CW/LH,=PD5MVH/P/LH,=PD7DX/J,=PE18KA/J,=PE1NCS/LGT,=PE1NCS/LH,=PE1NZJ/J,=PE1OPM/LH, - =PE1OXI/J,=PE1RBG/J,=PE1RBR/J,=PE2MC/J,=PF100ROVER/J,=PF18NAWAKA/J,=PF4R/LH,=PG150N/LH,=PG6HK/LH, - =PG6N/LH,=PH4RTM/MILL,=PH4RTM/WHE,=PH50GFB/J,=PH6BB/J,=PH6WAL/LH,=PH75S/J,=PH9GFB/J,=PI4ADH/LGT, - =PI4ADH/LH,=PI4ADH/LS,=PI4ALK/LH,=PI4AZL/J,=PI4BG/J,=PI4BOZ/LH,=PI4CQ/J,=PI4DHG/DM,=PI4DHG/MILL, - =PI4ET/MILL,=PI4ETL/MILL,=PI4F/LH,=PI4LDN/L,=PI4LDN/LH,=PI4RCK/LGT,=PI4RCK/LH,=PI4RIS/J,=PI4S/J, - =PI4SRN/LH,=PI4SRN/MILL,=PI4VNW/LGT,=PI4VNW/LH,=PI4VPO/LH,=PI4VPO/LT,=PI4WAL/LGT,=PI4WAL/LH, - =PI4WBR/LH,=PI4WFL/MILL,=PI4YLC/LH,=PI4ZHE/LH,=PI4ZHE/LS,=PI4ZHE/MILL,=PI4ZVL/FD,=PI4ZVL/LGT, - =PI4ZVL/LH,=PI9NHL/LH,=PI9SRS/LH,=PI9TP/J; + =PE1OXI/J,=PE1RBG/J,=PE1RBR/J,=PE2MC/J,=PE2MGA/J,=PF100ROVER/J,=PF18NAWAKA/J,=PF4R/LH,=PG150N/LH, + =PG6HK/LH,=PG6N/LH,=PH4RTM/MILL,=PH4RTM/WHE,=PH50GFB/J,=PH6BB/J,=PH6WAL/LH,=PH75S/J,=PH9GFB/J, + =PI4ADH/LGT,=PI4ADH/LH,=PI4ADH/LS,=PI4ALK/LH,=PI4AZL/J,=PI4BG/J,=PI4BOZ/LH,=PI4CQ/J,=PI4DHG/DM, + =PI4DHG/MILL,=PI4ET/MILL,=PI4ETL/MILL,=PI4F/LH,=PI4LDN/L,=PI4LDN/LH,=PI4RCK/LGT,=PI4RCK/LH, + =PI4RIS/J,=PI4S/J,=PI4SHV/J,=PI4SRN/LH,=PI4SRN/MILL,=PI4VNW/LGT,=PI4VNW/LH,=PI4VPO/LH,=PI4VPO/LT, + =PI4WAL/LGT,=PI4WAL/LH,=PI4WBR/LH,=PI4WFL/MILL,=PI4YLC/LH,=PI4ZHE/LH,=PI4ZHE/LS,=PI4ZHE/MILL, + =PI4ZVL/FD,=PI4ZVL/LGT,=PI4ZVL/LH,=PI9NHL/LH,=PI9SRS/LH,=PI9TP/J; Curacao: 09: 11: SA: 12.17: 69.00: 4.0: PJ2: PJ2; Bonaire: 09: 11: SA: 12.20: 68.25: 4.0: PJ4: @@ -2095,8 +2115,8 @@ Poland: 15: 28: EU: 52.28: -18.67: -1.0: SP: 3Z,HF,SN,SO,SP,SQ,SR,=3Z50KPN/FF,=SP0PGC/FF,=SP1NY/MM(34), =3Z1EE/LH,=SN1D/LH,=SO1WE/LH,=SO1ZV/LH,=SP1/DM3VA/LH,=SP1KBK/LH,=SP1KNM/LH,=SP1RWK/LH,=SP1ZZ/1/LH, =SP1ZZ/LH,=SP3VT/1/LH,=SQ1KSL/YL, - =SN2NP/LH,=SP2AYC/LH,=SP2BNJ/LH,=SP2FAP/FF,=SP2HHC/LH,=SP2KDS/LH,=SP2KJF/FF,=SP2MHC/LH,=SP2PHA/LH, - =SP2PMW/LH,=SP2PZH/LH,=SP2QCR/LH,=SP2WGZ/LH,=SP5PB/2/LH,=SQ2PHG/LH,=SQ2PHI/LH, + =SN2NP/LH,=SP2AYC/LH,=SP2BNJ/LH,=SP2FAP/FF,=SP2HHC/LH,=SP2KAC/LH,=SP2KDS/LH,=SP2KJF/FF,=SP2MHC/LH, + =SP2PHA/LH,=SP2PMW/LH,=SP2PZH/LH,=SP2QCR/LH,=SP2WGZ/LH,=SP5PB/2/LH,=SQ2PHG/LH,=SQ2PHI/LH, =SQ3PMM/FF, =SP4KDX/FF,=SQ4G/FF, =HF25NHV/FF,=HF80BUJ/FF,=SP5EZJ/LH,=SP5G/FF,=SP5KAB/LH,=SP5VYI/FF,=SP5X/FF,=SQ5AWR/FF,=SQ5Q/FF, @@ -2110,7 +2130,7 @@ Greece: 20: 28: EU: 39.78: -21.78: -2.0: SV: J4,SV,SW,SX,SY,SZ,=J42004/DH1NA,=J42004/DH1PS,=J42004/HA3NU,=J42004/N3JWJ,=J42004/OE5ER,=SV54FF, =SX90IARU, =SV1/LY1DF/LGT,=SV1EOS/JOTA,=SV1EQU/J,=SV5FRI/1,=SV5FRQ/1,=SV9AWF/1,=SV9CUF/1,=SV9DRU/1,=SV9TJ/1, - =SV2CLJ/J,=SV2JAO/J,=SV2KBB/J,=SX100TSL/J,=SY2AEI/J,=SY2WT/LH,=SZ2TSL/J, + =SV2CLJ/J,=SV2JAO/J,=SV2KBB/J,=SV2RNY/J,=SX100TSL/J,=SY2AEI/J,=SY2WT/LH,=SZ2TSL/J, =SV9ION/3, =SV9OFL/4, =SV9DJO/7,=SZ7KAM/LH, @@ -2156,10 +2176,10 @@ Asiatic Turkey: 20: 39: AS: 39.18: -35.65: -2.0: TA: =TA9J/LH; European Turkey: 20: 39: EU: 41.02: -28.97: -2.0: *TA1: TA1,TB1,TC1,YM1,=TA2AKG/1,=TA2LZ/1,=TA2ZF/1,=TA3CQ/1,=TA3HM/1,=TA5CT/1,=TA6CQ/1,=TC100A,=TC100GLB, - =TC100GP,=TC100GS,=TC100KT,=TC100VKZL,=TC101GLB,=TC101GP,=TC101GS,=TC101KT,=TC18MART, + =TC100GP,=TC100GS,=TC100KT,=TC100VKZL,=TC101GLB,=TC101GP,=TC101GS,=TC101KT,=TC18MART,=TC2ISAF/1, =TC50TRAC/17G,=TC50TRAC/34I,=TC9SAM/1; Iceland: 40: 17: EU: 64.80: 18.73: 0.0: TF: - TF,=TF1IRA/LGT,=TF1IRA/LH,=TF1IRA/LT,=TF8IRA/LH,=TF8RX/LGT,=TF8RX/LH; + TF,=TF1IRA/LGT,=TF1IRA/LH,=TF1IRA/LT,=TF8IRA/LH,=TF8RX/LGT,=TF8RX/LH,=VERSION; Guatemala: 07: 11: NA: 15.50: 90.30: 6.0: TG: TD,TG; Costa Rica: 07: 11: NA: 10.00: 84.00: 6.0: TI: @@ -2185,16 +2205,16 @@ Benin: 35: 46: AF: 9.87: -2.25: -1.0: TY: Mali: 35: 46: AF: 18.00: 2.58: 0.0: TZ: TZ; European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: - R,U,=R0CAF/1,=R0CM/4,=R25EMW(17)[19],=R7AB/M,=R7AB/P,=R80PSP,=R80UPOL,=R8CT/4/P,=R8FF/3/M, - =R90DOSAAF,=R9AV/6,=R9FAZ/6/M,=R9FCH/6,=R9JI/1,=R9KC/6/M,=R9WR/1,=RA0AM/6,=RA0BM/6,=RA0ZZ/3, + R,U,=R0CAF/1,=R25EMW(17)[19],=R7AB/M,=R7AB/P,=R80PSP,=R80UPOL,=R8CT/4/P,=R8FF/3/M,=R90DOSAAF, + =R9AV/6,=R9FAZ/6/M,=R9FCH/6,=R9JI/1,=R9KC/6/M,=R9OM/6,=R9WR/1,=R9XAU/6,=RA0AM/6,=RA0BM/6,=RA0ZZ/3, =RA2FDX/3,=RA3CQ/9/M(17)[20],=RA80SP,=RA9JR/3,=RA9JX/3,=RA9P/4,=RA9RT/3,=RA9YA/6,=RC80SP,=RG0F/5, =RG50P(17),=RG50P/9(17)[30],=RJ80SP,=RK80X(17)[19],=RK8O/4,=RL9AA/6,=RM80SP,=RM8A/4/M,=RM94AE, =RN9M/4,=RN9OI/3,=RO80RO,=RP61XX(17)[19],=RP62X(17)[19],=RP63X(17)[19],=RP63XO(17)[19], =RP64X(17)[19],=RP65FPP(17)[30],=RP8X(17)[30],=RQ80SP,=RU0ZW/6,=RU2FB/3,=RU2FB/3/P, - =RU4SS/9(17)[30],=RU4WA/9(17)[30],=RV9LM/3,=RW0IM/1,=RW0QE/6,=RW2F/6,=RW9FF/3,=RW9JZ/6,=RW9W/3, - =RX9TC/1,=RX9UL/1,=RZ9AWN/6,=UA0AK/3,=UA0FQ/6,=UA0KBG/3,=UA0KBG/6,=UA0KCX/3/P,=UA0KT/4,=UA0QNE/3, - =UA0QNU/3,=UA0QQJ/3,=UA0UV/6,=UA0XAK/3,=UA0XAK/6,=UA0ZL/6,=UA9CCO/6,=UA9CTT/3,=UA9CTT/6, - =UA9FFS/1/MM,=UE23DKA,=UE23DSA,=UE6MAC/9(17),=UE95AE,=UE95E,=UE95ME,=UE99PS, + =RU4SS/9(17)[30],=RU4WA/9(17)[30],=RV9LM/3,=RW0IM/1,=RW0QE/6,=RW2F/6,=RW9FF/3,=RW9W/3,=RX9TC/1, + =RX9UL/1,=RZ9AWN/6,=UA0AK/3,=UA0FQ/6,=UA0KBG/3,=UA0KBG/6,=UA0KCX/3/P,=UA0KT/4,=UA0QNE/3,=UA0QNU/3, + =UA0QQJ/3,=UA0UV/6,=UA0XAK/3,=UA0XAK/6,=UA0ZL/6,=UA9CCO/6,=UA9CTT/3,=UA9CTT/6,=UA9FFS/1/MM, + =UE23DKA,=UE23DSA,=UE6MAC/9(17),=UE95AE,=UE95E,=UE95ME,=UE99PS, =R900BL,=R9J/1,=RA2FN/1,=RA9KU/1,=RA9KU/1/M,=RA9MC/1,=RA9SGI/1,=RK9XWV/1,=RL1O,=RM80DZ,=RN85AM, =RN85KN,=RT9T/1,=RU2FB/1,=RU9YT/1,=RU9YT/1/P,=RV1CC/M,=RW1AI/ANT,=RW8W/1,=RW9QA/1,=RX3AMI/1/LH, =UA1ADQ/ANT,=UA1BJ/ANT,=UA1JJ/ANT,=UA2FFX/1,=UA9B/1,=UA9KG/1,=UA9KGH/1,=UA9KK/1,=UA9UDX/1, @@ -2233,7 +2253,7 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: =R85QMR,=R85WDW,=R8B,=R8FF/3,=R90DNF,=R99FSB,=RA0BY/3,=RA80KEDR,=RA9KV/3,=RA9SB/3,=RA9XY/3, =RK3DSW/ANT,=RK3DWA/3/N,=RN9MD/3,=RT80KEDR,=RU0LM/3,=RU2FA/3,=RU3HD/ANT,=RV0AO/3,=RV9LM/3/P, =RW0IM/3,=RW3DU/N,=RW9UEW/3,=RX9SN/3,=RZ9SZ/3,=RZ9W/3,=UA0JAD/3,=UA0KCL/3,=UA0ZAZ/3,=UA9AJ/3/M, - =UA9DD/3,=UA9HSI/3,=UA9ONJ/3,=UA9XGD/3,=UA9XMC/3,=UB5O/M,=UE25FO,=UE95GA,=UE96WS, + =UA9DD/3,=UA9HSI/3,=UA9ONJ/3,=UA9XGD/3,=UA9XMC/3,=UE25FO,=UE95GA,=UE96WS, =R80ORL,=UA0QGM/3,=UE80O,=UE80OL, =R0CAF/3,=R3GO/FF,=RN3GL/FF,=RN3GW/FF,=RT5G/P/FF,=RW0IW/3,=UA3GM/ANT,=UE90FL, =RA9KT/3,=RZ9SZ/3/M,=UA0FHC/3,=UF2F/3/M, @@ -2242,13 +2262,13 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: =RK3MXT/FF,=RV9AZ/3,=UA0AD/3, =R870T,=RT90PK,=RU0ZW/3,=RW0UM/3,=RW9JV/3, =RA0CCV/3,=RA0QA/3,=RC9YA/3/P,=RM8X/3,=RV9LC/3,=UA0QJE/3,=UA0QQO/3,=UA9CGL/3,=UA9JLY/3,=UA9XLE/3, - =UB0AJJ/3,=UC0LAF/3,=UE25AFG,=UE25R,=UE27AFG,=UE28AFG,=UE96SN, + =UB0AJJ/3,=UB5O/M,=UC0LAF/3,=UE25AFG,=UE25R,=UE27AFG,=UE28AFG,=UE96SN, =R80RTL,=R90IARU,=R9CZ/3,=RU80TO,=RZ9HK/3/P, =R920RZ,=R95DOD,=RA0QQ/3,=UA0KBA/3,=UE80S,=UE85NKN,=UE85WDW, - =R3TT/FF,=R8FF/P,=R8TA/4/P,=R8TR/3,=R90NOR,=R9KW/3,=R9KW/4,=R9PA/4,=RA9AP/3,=RA9CKQ/4,=RA9KW/3, + =R3TT/FF,=R8FF/M,=R8TA/4/P,=R8TR/3,=R90NOR,=R9KW/3,=R9KW/4,=R9PA/4,=RA9AP/3,=RA9CKQ/4,=RA9KW/3, =RA9KW/3/M,=RA9ST/3/P,=RG9A/3/P,=RM9T/4/P,=RN0CT/4,=RT9S/3,=RT9S/3/P,=RT9S/4,=RU9LA/4,=RV9FQ/3, - =RV9FQ/3/M,=RV9WB/4,=RV9WLE/3/P,=RV9WZ/3,=RW9KW/3,=RW9WA/3,=UA0ADX/3,=UA0DM/4,=UA0S/4,=UA0SC/4, - =UA3FQ/4,=UA9APA/3/P,=UA9CTT/4,=UA9PM/4,=UA9SSR/3,=UE200TARS,=UE25TF,=UE9FDA/3,=UE9FDA/3/M, + =RV9FQ/3/M,=RV9WB/4,=RV9WLE/3/P,=RV9WZ/3,=RW9KW/3,=RW9WA/3,=RX9SN/P,=UA0ADX/3,=UA0DM/4,=UA0S/4, + =UA0SC/4,=UA9APA/3/P,=UA9CTT/4,=UA9PM/4,=UA9SSR/3,=UE200TARS,=UE25TF,=UE9FDA/3,=UE9FDA/3/M, =UE9WDA/3,=UI8W/3/P, =R5VAJ/N,=R850G,=R850PN,=RT9T/3,=RU0BW/3,=RU9MU/3,=RV80KEDR,=RX9TL/3, =R110A/P,=R80PVB, @@ -2273,31 +2293,31 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: =R4HDR[29],=R4HL[29],=R4IC[29],=R4ID[29],=R4II[29],=R4IK[29],=R4IM[29],=R4IN[29],=R4IO[29], =R4IT[29],=R9DA/4[30],=RA4HL[29],=RA9FAA/4/M[30],=RA9SC/4[30],=RA9SC/4/P[30],=RC18SA[30], =RC20HZ[30],=RC4HT[29],=RC4I[29],=RC9YA/4/M[30],=RJ4I[29],=RK4HM[29],=RM4I[29],=RN4HFJ[29], - =RN4HIF[29],=RP72AG[30],=RP72I[30],=RP72MF[30],=RP72WO[30],=RP73DD[30],=RP73I[30],=RP73PM[30], - =RT9K/4[30],=RU4HD[29],=RU4HP[29],=RU4I[29],=RU9CK/4/M[30],=RV9JD/4/M[30],=RW4HM[29],=RW4HTK[29], - =RW4HW[29],=RW4HZ[29],=RW9SW/4[30],=RW9TP/4[30],=RW9WJ/4[30],=RW9WJ/4/P[30],=RZ4HWF/LH[30], - =RZ4HZW/FF[30],=RZ9WU/4/M[30],=UA0KAO/4[30],=UA0QJA/4[30],=UA4H[29],=UA4HBM[29],=UA4HGL[29], - =UA4HIP[29],=UA4HIP/M[30],=UA4HRZ[29],=UA4HY[29],=UA9JGX/4[30],=UA9LAO/4[30],=UA9SQG/4/P[30], - =UA9SY/4[30],=UC4I[29],=UI4I[29], + =RN4HIF[29],=RN9S/M[30],=RP72AG[30],=RP72I[30],=RP72MF[30],=RP72WO[30],=RP73DD[30],=RP73I[30], + =RP73PM[30],=RT9K/4[30],=RU4HD[29],=RU4HP[29],=RU4I[29],=RU9CK/4/M[30],=RV9JD/4/M[30],=RW4HM[29], + =RW4HTK[29],=RW4HW[29],=RW4HZ[29],=RW9SW/4[30],=RW9TP/4[30],=RW9WJ/4[30],=RW9WJ/4/P[30], + =RW9WJ/P[30],=RZ4HWF/LH[30],=RZ4HZW/FF[30],=RZ9WU/4/M[30],=UA0KAO/4[30],=UA0QJA/4[30],=UA4H[29], + =UA4HBM[29],=UA4HGL[29],=UA4HIP[29],=UA4HIP/M[30],=UA4HRZ[29],=UA4HY[29],=UA9JGX/4[30], + =UA9LAO/4[30],=UA9SQG/4/P[30],=UA9SY/4[30],=UC4I[29],=UI4I[29], =R01DTV/4,=R9XC/4,=RA9XAF/4,=UA4HIP/4,=UA9JFE/4, - =R8XF/4,=RA9FR/4/P,=RA9XSM/4,=RD9CX/4,=RD9CX/4/P,=RU0LM/4,=RW9XC/4/M,=UA4NE/M,=UA4NF[30], + =R8XF/4,=RA9FR/4/P,=RA9XSM/4,=RD9CX/4,=RD9CX/4/P,=RU0LM/4,=RW9XC/4/M,=UA4NE/M,=UA4NF[30],=UA4NF/M, =UA9APA/4/P,=UA9FIT/4,=UA9XI/4,=UE9FDA/4,=UE9FDA/4/M,=UE9GDA/4, =R95PW,=R9WI/4/P,=RA9CKM/4/M,=RA9FR/4/M,=RJ4P[30],=RK4P[30],=RK4PK[30],=RM4P[30],=RM4R[30], - =RN9WWW/4,=RN9WWW/4/M,=RT05RO,=RV9FQ/4/M,=RV9WKI/4/M,=RV9WKI/4/P,=RV9WMZ/4/M,=RV9WZ/4,=RW9TP/4/P, - =RW9WA/4,=RW9WA/4/M,=RZ9WM/4,=UA2FM/4,=UA3AKO/4,=UA4PN[30],=UA4RF[30],=UA4RW[30],=UA9AJ/4/M, - =UA9JFN/4/M,=UA9JNQ/4,=UA9SG/4,=UE96MP,=UE9WDA/4,=UE9WDA/4/M, + =RM8W/4/M,=RN9WWW/4,=RN9WWW/4/M,=RT05RO,=RV9FQ/4/M,=RV9WKI/4/M,=RV9WKI/4/P,=RV9WMZ/4/M,=RV9WZ/4, + =RW9TP/4/P,=RW9WA/4,=RW9WA/4/M,=RZ9WM/4,=UA2FM/4,=UA3AKO/4,=UA4PN[30],=UA4RF[30],=UA4RW[30], + =UA9AJ/4/M,=UA9JFN/4/M,=UA9JNQ/4,=UA9SG/4,=UE96MP,=UE9WDA/4,=UE9WDA/4/M, =R8UT/4/P,=RX9WN/4, =RQ0C/4,=RZ5D/4,=UA9XX/4,=UE9WFF/4, R4W[30],RA4W[30],RC4W[30],RD4W[30],RE4W[30],RF4W[30],RG4W[30],RJ4W[30],RK4W[30],RL4W[30],RM4W[30], RN4W[30],RO4W[30],RQ4W[30],RT4W[30],RU4W[30],RV4W[30],RW4W[30],RX4W[30],RY4W[30],RZ4W[30],U4W[30], - UA4W[30],UB4W[30],UC4W[30],UD4W[30],UE4W[30],UF4W[30],UG4W[30],UH4W[30],UI4W[30],=R9GM/4[30], - =R9UT/4[30],=RA9FDR/4/P[30],=RA9KV/4/M[30],=RA9WU/4[30],=RA9WU/4/M[30],=RA9WU/4/P[30],=RP72IZ[30], - =RP73IZ[30],=RW9FWB/4[30],=RW9FWR/4[30],=RW9FWR/4/M[30],=RX9FW/4[30],=UA9UAX/4/M[30], + UA4W[30],UB4W[30],UC4W[30],UD4W[30],UE4W[30],UF4W[30],UG4W[30],UH4W[30],UI4W[30],=R0CM/4[30], + =R9GM/4[30],=R9UT/4[30],=RA9FDR/4/P[30],=RA9KV/4/M[30],=RA9WU/4[30],=RA9WU/4/M[30],=RA9WU/4/P[30], + =RP72IZ[30],=RP73IZ[30],=RW9FWB/4[30],=RW9FWR/4[30],=RW9FWR/4/M[30],=RX9FW/4[30],=UA9UAX/4/M[30], =RT9T/4,=RV9MD/4,=UA4PCM/M,=UE04YCS,=UE85AGN, =R01DTV,=R01DTV/7,=R0IT/6,=R80TV,=R8XW/6,=R9JO/6,=R9KD/6,=R9WGM/6/M,=RA0APW/6,=RA0FW/6,=RA0LIF/6, =RA0LLW/6,=RA0QR/6,=RA9ODR/6,=RA9ODR/6/M,=RA9SAS/6,=RA9UWD/6,=RA9WW/6,=RD9CX/6,=RD9CX/6/P, =RK6AH/LH,=RK9JA/6,=RN0CF/6,=RN0JT/6,=RQ0C/6,=RT9K/6,=RT9K/6/P,=RT9K/6/QRP,=RU2FB/6,=RU9MX/6, - =RU9QRP/6/M,=RU9QRP/6/P,=RV9FQ/6,=RW0LIF/6,=RW0LIF/6/LH,=RW6AWW/LH,=RW9WA/6,=RX6AA/ANT, + =RU9QRP/6/M,=RU9QRP/6/P,=RV9FQ/6,=RW0LIF/6,=RW0LIF/6/LH,=RW6AWW/LH,=RW9JZ/6,=RW9WA/6,=RX6AA/ANT, =RX6AAP/ANT,=RX9TX/6,=RZ9HG/6,=RZ9HT/6,=RZ9UF/6,=RZ9UZV/6,=UA0AGE/6,=UA0IT/6,=UA0JL/6,=UA0LQQ/6/P, =UA0SEP/6,=UA2FT/6,=UA6ADC/N,=UA9COO/6,=UA9JON/6,=UA9JPX/6,=UA9KB/6,=UA9KJ/6,=UA9KW/6,=UA9MQR/6, =UA9UAX/6,=UA9VR/6,=UA9XC/6,=UA9XCI/6,=UE9WDA/6,=UE9WFF/6, @@ -2335,13 +2355,13 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: UG8F(17)[30],UG8G(17)[30],UG9F(17)[30],UG9G(17)[30],UH8F(17)[30],UH8G(17)[30],UH9F(17)[30], UH9G(17)[30],UI8F(17)[30],UI8G(17)[30],UI9F(17)[30],UI9G(17)[30],=R120RP(17)[30],=R155PM(17)[30], =R18PER(17)[30],=R2011UFO(17)[30],=R2011UFO/M(17)[30],=R2011UFO/P(17)[30],=R2014WOG(17)[30], - =R20PRM(17)[30],=R2AG/9(17)[30],=R34CZF(17)[30],=R8CZ/4(17)[30],=R8CZ/4/M(17)[30],=R95FR(17)[30], - =R9CZ/4(17)[30],=R9CZ/4/M(17)[30],=R9KC/4/M(17)[30],=R9KC/8/M(17)[30],=RA27FM(17)[30], - =RA9XAI/4(17)[30],=RC20FM(17)[30],=RD4M/9(17)[30],=RG50P/M(17)[30],=RP70PK(17)[30], - =RP9FKU(17)[30],=RP9FTK(17)[30],=RU27FQ(17)[30],=RU27FW(17)[30],=RU4W/9(17)[30],=RV22PM(17)[30], - =RX9TX/9(17)[30],=RZ16FM(17)[30],=RZ9WM/9(17)[30],=UA1ZQO/9(17)[30],=UA4NF/4/M(17)[30], - =UA4NF/M(17)[30],=UA4WA/9(17)[30],=UA9CGL/4/M(17)[30],=UA9CUA/4/M(17)[30],=UA9UAX/4(17)[30], - =UE16SA(17)[30],=UE55PM(17)[30], + =R20PRM(17)[30],=R2AG/9(17)[30],=R34CZF(17)[30],=R6DAB/9(17)[30],=R8CZ/4(17)[30], + =R8CZ/4/M(17)[30],=R8CZ/M(17)[30],=R95FR(17)[30],=R9CZ/4(17)[30],=R9CZ/4/M(17)[30], + =R9KC/4/M(17)[30],=R9KC/8/M(17)[30],=RA27FM(17)[30],=RA9XAI/4(17)[30],=RC20FM(17)[30], + =RD4M/9(17)[30],=RG50P/M(17)[30],=RP70PK(17)[30],=RP9FKU(17)[30],=RP9FTK(17)[30],=RU27FQ(17)[30], + =RU27FW(17)[30],=RU4W/9(17)[30],=RV22PM(17)[30],=RX9TX/9(17)[30],=RZ16FM(17)[30],=RZ9WM/9(17)[30], + =UA1ZQO/9(17)[30],=UA4NF/4/M(17)[30],=UA4WA/9(17)[30],=UA9CGL/4/M(17)[30],=UA9CUA/4/M(17)[30], + =UA9UAX/4(17)[30],=UE16SA(17)[30],=UE55PM(17)[30], =RW3TN/9(17)[30],=UE10SK(17)[30], R8X(17)[20],R9X(17)[20],RA8X(17)[20],RA9X(17)[20],RC8X(17)[20],RC9X(17)[20],RD8X(17)[20], RD9X(17)[20],RE8X(17)[20],RE9X(17)[20],RF8X(17)[20],RF9X(17)[20],RG8X(17)[20],RG9X(17)[20], @@ -2354,17 +2374,18 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: UF8X(17)[20],UF9X(17)[20],UG8X(17)[20],UG9X(17)[20],UH8X(17)[20],UH9X(17)[20],UI8X(17)[20], UI9X(17)[20],=R100AP(17)[20],=R120RK(17)[20],=R16NOR(17)[20],=R18ISL(17)[20],=R2014I(17)[20], =R20SZO(17)[20],=R35MWC(17)[20],=R3RRC/9(17)[20],=R5QA/1(17)[20],=R5QQ/1(17)[20], - =R6DGL/9/M(17)[20],=R70SRC(17)[20],=R7BA/9(17)[20],=R7BA/9/M(17)[20],=R8MB/1(17)[20], - =R8MB/1/P(17)[20],=R9/UR7IMG(17)[20],=R95KOMI(17)[20],=R9KD/9(17)[20],=R9XAK/1/P(17)[20], - =RA/DK5JI(17)[20],=RA/UR5MKH(17)[20],=RA22KO(17)[20],=RA22XA(17)[20],=RA22XF(17)[20], - =RA22XU(17)[20],=RA3AMG/9/M(17)[20],=RA3OM/9(17)[20],=RA4NH/9(17)[20],=RA4NV/9(17)[20], - =RA6ACI/9(17)[20],=RD4CBQ/9(17)[20],=RK1OWZ/9(17)[20],=RK1OWZ/9/M(17)[20],=RK6K/9(17)[20], - =RK90DR(17)[20],=RN22OG(17)[20],=RN22OV(17)[20],=RN4ACZ/9(17)[20],=RO25KO(17)[20],=RP67KR(17)[20], - =RP68KR(17)[20],=RP70KW(17)[20],=RP71KW(17)[20],=RP72X(17)[20],=RP73X(17)[20],=RT73LF(17)[20], - =RV3UI/9(17)[20],=RW1QN/9(17)[20],=RW1QN/9/M(17)[20],=RW1QN/9/P(17)[20],=RW4NJ/9/M(17)[20], - =RY110RAEM(17)[20],=UA1OOX/9(17)[20],=UA1QV/9(17)[20],=UA4WP/9/M(17)[20],=UA6LTO/9(17)[20], - =UB1OAD/1/P(17)[20],=UB1OAD/9/P(17)[20],=UB5O/1/M(17)[20],=UE16ST(17)[20],=UE1RDA/9(17)[20], - =UE85DRK(17)[20],=UE90K(17)[20]; + =R6DGL/9/M(17)[20],=R70SRC(17)[20],=R7BA/1(17)[20],=R7BA/9(17)[20],=R7BA/9/M(17)[20], + =R8FF/P(17)[20],=R8MB/1(17)[20],=R8MB/1/P(17)[20],=R9/UR7IMG(17)[20],=R95KOMI(17)[20], + =R9KD/9(17)[20],=R9XAK/1/P(17)[20],=RA/DK5JI(17)[20],=RA/UR5MKH(17)[20],=RA22KO(17)[20], + =RA22XA(17)[20],=RA22XF(17)[20],=RA22XU(17)[20],=RA3AMG/9/M(17)[20],=RA3OM/9(17)[20], + =RA4NH/9(17)[20],=RA4NV/9(17)[20],=RA6ACI/9(17)[20],=RD4CBQ/9(17)[20],=RK1OWZ/9(17)[20], + =RK1OWZ/9/M(17)[20],=RK6K/9(17)[20],=RK90DR(17)[20],=RN22OG(17)[20],=RN22OV(17)[20], + =RN4ACZ/9(17)[20],=RO25KO(17)[20],=RP67KR(17)[20],=RP68KR(17)[20],=RP70KW(17)[20],=RP71KW(17)[20], + =RP72X(17)[20],=RP73X(17)[20],=RT73LF(17)[20],=RV3UI/9(17)[20],=RW1QN/9(17)[20], + =RW1QN/9/M(17)[20],=RW1QN/9/P(17)[20],=RW4NJ/9/M(17)[20],=RY110RAEM(17)[20],=UA1OOX/9(17)[20], + =UA1QV/9(17)[20],=UA3FQ/4(17)[20],=UA4WP/9/M(17)[20],=UA6LTO/9(17)[20],=UB1OAD/1/P(17)[20], + =UB1OAD/9/P(17)[20],=UB5O/1/M(17)[20],=UE16ST(17)[20],=UE1RDA/9(17)[20],=UE85DRK(17)[20], + =UE90K(17)[20]; Kaliningrad: 15: 29: EU: 54.72: -20.52: -3.0: UA2: R2F,R2K,RA2,RC2F,RC2K,RD2F,RD2K,RE2F,RE2K,RF2F,RF2K,RG2F,RG2K,RJ2F,RJ2K,RK2F,RK2K,RL2F,RL2K,RM2F, RM2K,RN2F,RN2K,RO2F,RO2K,RQ2F,RQ2K,RT2F,RT2K,RU2F,RU2K,RV2F,RV2K,RW2F,RW2K,RX2F,RX2K,RY2F,RY2K, @@ -2390,15 +2411,15 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RA4AAJ/9(18),=RD17CW(19),=RD1AL/0(40)[75],=RD3ARX/0/P(19),=RI18POL(40)[75],=RJ17WG,=RL19WF, =RM17NY,=RM19WF(18),=RN17CW,=RO19WF(19),=RQ17CW(18),=RQ17WG,=RQ4D/9(18),=RT4C/8,=RU17NY(18), =RV3PZ/9,=RW1AI/0(19),=RW55YG,=RX17WG(19),=RX55YG(18),=RX80SP(18),=RY1AAB/0/M(19),=RY80SP(19), - =RZ17NY(19),=UA0ZDA/MM(29),=UA0ZDY/9(18),=UA3DND/8,=UE18M,=UE18U(18),=UE18Z(19), + =RZ17NY(19),=UA0ZDA/MM(29),=UA3DND/8,=UE18M,=UE18U(18),=UE18Z(19), =R100RG,=R120RG,=R2014Y,=R2015TL,=R20UFO,=R22SKE,=R280A,=R280B,=R3HD/9,=R3RRC/8,=R55TV,=R6RA/9, =R70PW,=R70PW/P,=R9SRR,=RA1AIP/9/P,=RA1AR/9,=RA1QR/9,=RA3WJ/9,=RA3XBN/9,=RA3ZM/8,=RA4FSC/9, =RA4HGN/9,=RA9SC/9,=RA9WJV/8/P,=RC20AB,=RC20AC,=RD3BN/9,=RD4CAQ/9,=RG110RAEM,=RJ17CW,=RK9SZZ/9, - =RL9AA/P,=RN4WA/9,=RN9O/8,=RP67TG,=RP68MZ,=RP70AZ,=RP70PM,=RP70TG,=RP71AZ,=RP71TG,=RP72AZ,=RP72MS, - =RP72TG,=RP73AZ,=RP73TG,=RP73U,=RQ4D/8,=RT60RT,=RT73AB,=RU22AZ,=RV1AQ/9,=RV1CC/8,=RV1CC/9, - =RV3BA/9,=RV9WB/9/M,=RV9WMZ/9/P,=RX3RC/9,=RX9WN/9/M,=RZ0OO/9,=RZ6DR/9/M,=RZ9OO/9/M,=UA0MF/9, - =UA3AKO/8,=UA4RC/9,=UA6A/9,=UA6CW/9,=UA6YGY/8,=UA6YGY/9,=UA8WAA/9,=UA8WAA/9/P,=UA9CGL/9/M, - =UA9SG/9,=UA9TO/9/M,=UA9WMN/9/P,=UB5O/8,=UE45AWT,=UE70AAA,=UE9WDA/9, + =RL5G/8,=RL9AA/P,=RN4WA/9,=RN9O/8,=RP67TG,=RP68MZ,=RP70AZ,=RP70PM,=RP70TG,=RP71AZ,=RP71TG,=RP72AZ, + =RP72MS,=RP72TG,=RP73AZ,=RP73TG,=RP73U,=RQ4D/8,=RT60RT,=RT73AB,=RU22AZ,=RV1AQ/9,=RV1CC/8,=RV1CC/9, + =RV3BA/9,=RV9WB/9/M,=RV9WMZ/9/P,=RV9WMZ/P,=RX3RC/9,=RX9WN/9/M,=RZ0OO/9,=RZ6DR/9/M,=RZ9OO/9/M, + =UA0MF/9,=UA3AKO/8,=UA4RC/9,=UA6A/9,=UA6CW/9,=UA6YGY/8,=UA6YGY/9,=UA8WAA/9,=UA8WAA/9/P,=UA8WAA/M, + =UA9CGL/9/M,=UA9SG/9,=UA9TO/9/M,=UA9WMN/9/P,=UB5O/8,=UE45AWT,=UE70AAA,=UE9WDA/9, =R01DTV/8,=R14CWC/8,=R14CWC/9,=R150DMP,=R155AP,=R15CWC/8,=R15CWC/8/QRP,=R16SVK,=R170GS/8,=R2015BP, =R2015R,=R2016DR,=R20EKB,=R22SKJ,=R27EKB,=R30ZF,=R35CZF,=R375I,=R44YETI/8,=R4WAB/9/P,=R55EPC, =R55EPC/P,=R6UAE/9,=R70NIK,=R7LZ/8,=R8FF/8,=R9GM/8,=R9GM/8/M,=RA/DL6XK,=RA/US5ETV,=RA0BA/8, @@ -2445,7 +2466,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RP69GS[20],=RP69SF[20],=RP70GS[20],=RP70LF[20],=RP70SF[20],=RP70SU[20],=RP70YF[20],=RP71GS[20], =RP71LF[20],=RP71SF[20],=RP72DS[20],=RP72GS[20],=RP72SF[20],=RP72YF[20],=RP73GS[20],=RP73SF[20], =RQ0C/8[20],=RU6YD/9[20],=RV6YM/9[20],=RW4HOH/9[20],=RW4LX/9[20],=RW6AHV/9[20],=RW9WX/9[20], - =RX3BP/9[20],=RX3BP/9/MM[20],=RZ9WF/8[20],=RZ9WF/9[20],=UA3ZAF/9[20],=UA6WIO/9[20],=UA9JFN/M[20], + =RX3BP/9[20],=RX3BP/9/MM[20],=RZ5D/8[20],=RZ9WF/8[20],=RZ9WF/9[20],=UA3ZAF/9[20],=UA6WIO/9[20], + =UA9JFN/M[20], R8K[20],R9K[20],RA8K[20],RA9K[20],RC8K[20],RC9K[20],RD8K[20],RD9K[20],RE8K[20],RE9K[20],RF8K[20], RF9K[20],RG8K[20],RG9K[20],RI9K[20],RJ8K[20],RJ9K[20],RK8K[20],RK9K[20],RL8K[20],RL9K[20], RM8K[20],RM9K[20],RN8K[20],RN9K[20],RO8K[20],RO9K[20],RQ8K[20],RQ9K[20],RT8K[20],RT9K[20], @@ -2454,10 +2476,10 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: UD9K[20],UE8K[20],UE9K[20],UF8K[20],UF9K[20],UG8K[20],UG9K[20],UH8K[20],UH9K[20],UI8K[20], UI9K[20],=R120RU[20],=R16LEV[20],=R1DA/8/M[20],=R1DA/9/M[20],=R1ZY/8[20],=R1ZY/9[20], =R20RRC/8[20],=R3CA/8[20],=R3CG/8[20],=R8XW/8[20],=R9XC/9[20],=R9XT/9[20],=RA/EW1RR[20], - =RA/EW2R[20],=RA4RU/9[20],=RA4RU/9/P[20],=RC8X/9[20],=RC9XM/8[20],=RI9K[20],=RK6CT/9[20], - =RN0CF/9[20],=RN3OF/9[20],=RU6UR/9[20],=RV1CC/8/M[20],=RV6ARQ/9[20],=RV6LFE/9[20],=RW0BB/9[20], - =RW0BB/9/LH[20],=RW0BG/9[20],=RW4AA/9[20],=RW4HIF/9[20],=RW4HIH/9[20],=RW6BA/9[20],=RW9XU/9[20], - =RX6CP/8[20],=RX6LMA/9[20],=RX9SN/8[20],=RZ5D/8[20],=UA0KY/9[20],=UA0QMU/0[20],=UA0QQO/9/P[20], + =RA/EW2R[20],=RA3III/8[20],=RA4RU/9[20],=RA4RU/9/P[20],=RC8X/9[20],=RC9XM/8[20],=RI9K[20], + =RK6CT/9[20],=RN0CF/9[20],=RN3OF/9[20],=RU6UR/9[20],=RV1CC/8/M[20],=RV6ARQ/9[20],=RV6LFE/9[20], + =RW0BB/9[20],=RW0BB/9/LH[20],=RW0BG/9[20],=RW4AA/9[20],=RW4HIF/9[20],=RW4HIH/9[20],=RW6BA/9[20], + =RW9XU/9[20],=RX6CP/8[20],=RX6LMA/9[20],=RX9SN/8[20],=UA0KY/9[20],=UA0QMU/0[20],=UA0QQO/9/P[20], =UA1FBP/9[20],=UA1PBA/9[20],=UA1PBP/9[20],=UA3DFM/8[20],=UA3DFM/9[20],=UA3MGA/9[20],=UA6BTN/9[20], =UA9SUV/8[20], =R11QRP/8,=R11QRP/8/P,=R120RL,=R18POR,=R2015EP,=R2015LY,=R2015LY/8,=R22BIA,=R30STM,=R430LT, @@ -2469,8 +2491,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =R16CAN,=R1716K,=R1716M,=R1716O,=R1716S,=R9MJ/M,=RA22MX,=RA4CQ/9/M,=RA9MR/0,=RA9MX/P,=RC20MX, =RK6YYA/9,=RN0SZ/9,=RN9N/9,=RP65MOH,=RP67MC,=RP67MD,=RP68MC,=RP68MD,=RP69MC,=RP69MD,=RP70GK, =RP70MC,=RP70MD,=RP70OB,=RP70OF,=RP70OS,=RP71GK,=RP71MJ,=RP71OB,=RP72GK,=RP72MJ,=RP72OB,=RP72ZW, - =RP73GK,=RP73OB,=RP8M,=RT22MC,=RT22MD,=RV0SR/9,=RW22MW,=RY22MC,=UA1ZGD/9,=UA3AKO/9,=UE55OM, - =UE70KRM/9,=UE70KRM/9/M,=UE9OFF/9, + =RP73GK,=RP73OB,=RP8M,=RT22MC,=RT22MD,=RV0SR/9,=RW22MW,=RY22MC,=UA1ZGD/9,=UA3AKO/9,=UA9UAX/M, + =UE55OM,=UE70KRM/9,=UE70KRM/9/M,=UE9OFF/9, R8O(18)[31],R8P(18)[31],R9O(18)[31],R9P(18)[31],RA8O(18)[31],RA8P(18)[31],RA9O(18)[31], RA9P(18)[31],RC8O(18)[31],RC8P(18)[31],RC9O(18)[31],RC9P(18)[31],RD8O(18)[31],RD8P(18)[31], RD9O(18)[31],RD9P(18)[31],RE8O(18)[31],RE8P(18)[31],RE9O(18)[31],RE9P(18)[31],RF8O(18)[31], @@ -2500,7 +2522,7 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RP9OMP(18)[31],=RP9OW(18)[31],=RQ16CW(18)[31],=RR9O(18)[31],=RS9O(18)[31],=RU0ZM/9(18)[31], =RU27OZ(18)[31],=RU6LA/9(18)[31],=RV0CJ/9(18)[31],=RW1AC/9(18)[31],=RW9MD/9/M(18)[31], =RZ9MXM/9(18)[31],=UA0KDR/9(18)[31],=UA0ZAY/9(18)[31],=UA6WFO/9(18)[31],=UA9MA/9(18)[31], - =UA9MA/9/M(18)[31],=UA9MRA/9(18)[31],=UB5O/9(18)[31],=UE80NSO(18)[31], + =UA9MA/9/M(18)[31],=UA9MRA/9(18)[31],=UE80NSO(18)[31], =R110RP,=R120RDP,=R120RZ,=R120TM,=R150RP,=R155RP,=R18URU,=RA22QF,=RC20QA,=RC20QC,=RC20QF,=RM20CC, =RM9RZ/A,=RM9RZ/P,=RP65R,=RP67KE,=RP67R,=RP68KE,=RP68R,=RP69KE,=RP69R,=RP70KE,=RP70R,=RP71R, =RP72KE,=RP72R,=RT73CW,=RT73JH,=RV3MN/9,=RW22QA,=RW22QA/8,=RW22QC,=RW22QC/8,=RW4NW/9,=RY22RZ, @@ -2522,11 +2544,11 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RA9CS/P(16),=RC20OB(16),=RC20TT(16),=RN3DHB/9(16),=RN3DHB/9/P(16),=RN3GW/8(16),=RN3GW/8/QRP(16), =RN3GW/9(16),=RN3GW/9/QRP(16),=RN3QOP/9(16),=RN9S(16),=RN9SM/P(16),=RN9WWW/9(16),=RO9S(16), =RP65TT(16),=RP68GR(16),=RP69NB(16),=RP71TK(16),=RP9SBO(16),=RP9SBR(16),=RP9SNK(16),=RT22TK(16), - =RT73OA(16),=RT8T(16),=RT9S(16),=RT9T(16),=RU22TU(16),=RV1CC/4/M(16),=RV9WGF/4/M(16), + =RT73OA(16),=RT8T(16),=RT9S(16),=RT9T(16),=RU22TU(16),=RU9SO/M(16),=RV1CC/4/M(16),=RV9WGF/4/M(16), =RV9WMZ/9/M(16),=RW4PJZ/9(16),=RW4PJZ/9/M(16),=RW4PP/9(16),=RW9WA/9(16),=RW9WA/9/M(16), =RY4W/9(16),=RZ4HZW/9/M(16),=UA0AGA/9/P(16),=UA0KBA/9(16),=UA3WB/9(16),=UA4LCQ/9(16), - =UA9SIV/9(16),=UB9JBN/9/M(16),=UE1RFF/9(16),=UE25ST(16),=UE55OB(16),=UE60TDP(16),=UE60TDP/P(16), - =UE9WDA/9/M(16), + =UA9SIV/9(16),=UB5O/4(16),=UB9JBN/9/M(16),=UE1RFF/9(16),=UE25ST(16),=UE55OB(16),=UE60TDP(16), + =UE60TDP/P(16),=UE9WDA/9/M(16), R8U(18)[31],R8V(18)[31],R9U(18)[31],R9V(18)[31],RA8U(18)[31],RA8V(18)[31],RA9U(18)[31], RA9V(18)[31],RC8U(18)[31],RC8V(18)[31],RC9U(18)[31],RC9V(18)[31],RD8U(18)[31],RD8V(18)[31], RD9U(18)[31],RD9V(18)[31],RE8U(18)[31],RE8V(18)[31],RE9U(18)[31],RE9V(18)[31],RF8U(18)[31], @@ -2561,19 +2583,19 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =R3XX/9(16),=R44WFF(16),=R7378TM(16),=R8JAJ/4(16),=R8JAJ/9(16),=R8JAJ/M(16),=R90WGM(16), =R90WJV(16),=R90WOB(16),=R90WXK(16),=R9LY/4(16),=RA0R/4(16),=RA1ZPC/9(16),=RA3AUU/9(16), =RA4POX/9(16),=RA9KDX/8/M(16),=RF9W(16),=RG5A/8(16),=RK3PWJ/9(16),=RK6YYA/9/M(16),=RK9KWI/9(16), - =RK9KWI/9/P(16),=RL3DX/9(16),=RL5G/8(16),=RM90WF(16),=RM9RZ/9/P(16),=RN9WWW/9/M(16),=RN9WWW/P(16), - =RO17CW(16),=RP67GI(16),=RP67MG(16),=RP67NG(16),=RP67RK(16),=RP67SW(16),=RP67UF(16),=RP68GM(16), - =RP68NK(16),=RP68UF(16),=RP69GI(16),=RP69PW(16),=RP69UF(16),=RP70GI(16),=RP70GM(16),=RP70LS(16), - =RP70NK(16),=RP70UF(16),=RP70ZO(16),=RP71GI(16),=RP71GM(16),=RP71UF(16),=RP72AR(16),=RP72GI(16), - =RP72GM(16),=RP72UF(16),=RP72WU(16),=RP73AR(16),=RP73GI(16),=RP73UF(16),=RP73WU(16),=RT22WF(16), - =RT2F/4(16),=RT2F/4/M(16),=RT2F/9/M(16),=RT73EA(16),=RT73EL(16),=RT8A/4(16),=RT9W(16),=RT9W/P(16), + =RK9KWI/9/P(16),=RL3DX/9(16),=RM90WF(16),=RM9RZ/9/P(16),=RN9WWW/9/M(16),=RN9WWW/P(16),=RO17CW(16), + =RP67GI(16),=RP67MG(16),=RP67NG(16),=RP67RK(16),=RP67SW(16),=RP67UF(16),=RP68GM(16),=RP68NK(16), + =RP68UF(16),=RP69GI(16),=RP69PW(16),=RP69UF(16),=RP70GI(16),=RP70GM(16),=RP70LS(16),=RP70NK(16), + =RP70UF(16),=RP70ZO(16),=RP71GI(16),=RP71GM(16),=RP71UF(16),=RP72AR(16),=RP72GI(16),=RP72GM(16), + =RP72UF(16),=RP72WU(16),=RP73AR(16),=RP73GI(16),=RP73UF(16),=RP73WU(16),=RT22WF(16),=RT2F/4(16), + =RT2F/4/M(16),=RT2F/9/M(16),=RT73EA(16),=RT73EL(16),=RT8A/4(16),=RT9W(16),=RT9W/P(16), =RU110RAEM(16),=RU20WC(16),=RU22WZ(16),=RU27WB(16),=RU27WF(16),=RU27WN(16),=RU27WO(16), =RU3HD/9/P(16),=RU90WZ(16),=RU9KC/4/M(16),=RU9SO/4(16),=RU9SO/4/P(16),=RV22WB(16),=RV2FZ/9(16), =RV90WB(16),=RV9CHB/4(16),=RW3SN/9(16),=RW3XX/9(16),=RW4WA/9/P(16),=RW90WC(16),=RW9FWR/9/M(16), =RW9JZ/4(16),=RW9JZ/9(16),=RX22WN(16),=RZ16WF(16),=RZ90W(16),=RZ90WU(16),=UA0AZA/9(16), =UA1AAE/9(16),=UA1ZPC/9(16),=UA4LU/9/P(16),=UA4PIE/9(16),=UA4PIE/9/M(16),=UA4PIE/9/P(16), =UA4PJM/9(16),=UA4PJM/9/M(16),=UA4PJM/9/P(16),=UA4PXR/9/M(16),=UA9KAA/4(16),=UA9KAA/9(16), - =UB5O/4(16),=UE10RFF/4(16),=UE90W(16), + =UE10RFF/4(16),=UE90W(16), R8Y(18)[31],R9Y(18)[31],RA8Y(18)[31],RA9Y(18)[31],RC8Y(18)[31],RC9Y(18)[31],RD8Y(18)[31], RD9Y(18)[31],RE8Y(18)[31],RE9Y(18)[31],RF8Y(18)[31],RF9Y(18)[31],RG8Y(18)[31],RG9Y(18)[31], RJ8Y(18)[31],RJ9Y(18)[31],RK8Y(18)[31],RK9Y(18)[31],RL8Y(18)[31],RL9Y(18)[31],RM8Y(18)[31], @@ -2587,8 +2609,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RA/IK5MIC/M(18)[31],=RA0CCJ/9(18)[31],=RA50VT(18)[31],=RK1B/9(18)[31],=RP68BP(18)[31], =RP68TZ(18)[31],=RP70AF(18)[31],=RP70BP(18)[31],=RP70GA(18)[31],=RP71BP(18)[31],=RP72BP(18)[31], =RP73BP(18)[31],=RP9Y(18)[31],=RP9YAF(18)[31],=RP9YTZ(18)[31],=RT73GM(18)[31],=RW22WG(18)[31], - =RX6AY/9(18)[31],=UA0LLW/9(18)[31],=UA9MA/M(18)[31],=UA9UAX/9/P(18)[31],=UE0ZOO/9(18)[31], - =UE44R/9(18)[31],=UE80AL(18)[31], + =RX6AY/9(18)[31],=UA0LLW/9(18)[31],=UA0ZDY/9(18)[31],=UA9MA/M(18)[31],=UA9UAX/9/P(18)[31], + =UE0ZOO/9(18)[31],=UE44R/9(18)[31],=UE80AL(18)[31], R8Z(18)[31],R9Z(18)[31],RA8Z(18)[31],RA9Z(18)[31],RC8Z(18)[31],RC9Z(18)[31],RD8Z(18)[31], RD9Z(18)[31],RE8Z(18)[31],RE9Z(18)[31],RF8Z(18)[31],RF9Z(18)[31],RG8Z(18)[31],RG9Z(18)[31], RJ8Z(18)[31],RJ9Z(18)[31],RK8Z(18)[31],RK9Z(18)[31],RL8Z(18)[31],RL9Z(18)[31],RM8Z(18)[31], @@ -2617,21 +2639,21 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =R44YETI/9(18)[32],=R50CQM(18)[32],=R7LZ/9(18)[32],=RA/UR5HVR(18)[32],=RA0/UR5HVR(18)[32], =RA1AMW/0(18)[32],=RA3AUU/0(18)[32],=RA3BB/0(18)[32],=RA3DA/0(18)[32],=RA3DA/9(18)[32], =RA4CQ/0(18)[32],=RA4CSX/0(18)[32],=RA4RU/0(18)[32],=RA9UT/0(18)[32],=RAEM(18)[32], - =RD110RAEM(18)[32],=RI0BV/0(18)[32],=RK3DZJ/9(18)[32],=RK56GC(18)[32],=RK80KEDR(18)[32], - =RL5G/9(18)[32],=RM0A(18)[32],=RM2D/9(18)[32],=RM9RZ/0(18)[32],=RN0A(18)[32],=RN110RAEM(18)[32], - =RN110RAEM/P(18)[32],=RP70KV(18)[32],=RP70RS(18)[32],=RP73KT(18)[32],=RT22SA(18)[32], - =RT9K/9(18)[32],=RU3FF/0(18)[32],=RU4CO/0(18)[32],=RV3DHC/0(18)[32],=RV3DHC/0/P(18)[32], - =RV9WP/9(18)[32],=RW3XN/0(18)[32],=RW3YC/0(18)[32],=RW3YC/9(18)[32],=RY1AAB/9(18)[32], - =RY1AAB/9/M(18)[32],=RZ3DSA/0(18)[32],=RZ3DZS/0(18)[32],=RZ9ON/9(18)[32],=UA0ACG/0(18)[32], - =UA0FCB/0(18)[32],=UA0FCB/0/P(18)[32],=UA0WG/0(18)[32],=UA0WW/0(18)[32],=UA0WY/0(18)[32], - =UA3ADN/0(18)[32],=UA4LU/0(18)[32],=UA4PT/0(18)[32],=UA6BTN/0(18)[32],=UA9UAX/9(18)[32], - =UA9WDK/0(18)[32],=UB1AJQ/0(18)[32],=UE1WFF/0(18)[32], + =RD110RAEM(18)[32],=RI0BV/0(18)[32],=RK3DZJ/9(18)[32],=RK56GC(18)[32],=RK6BBM/9(18)[32], + =RK80KEDR(18)[32],=RL5G/9(18)[32],=RM0A(18)[32],=RM2D/9(18)[32],=RM9RZ/0(18)[32],=RN0A(18)[32], + =RN110RAEM(18)[32],=RN110RAEM/P(18)[32],=RP70KV(18)[32],=RP70RS(18)[32],=RP73KT(18)[32], + =RT22SA(18)[32],=RT9K/9(18)[32],=RU3FF/0(18)[32],=RU4CO/0(18)[32],=RV3DHC/0(18)[32], + =RV3DHC/0/P(18)[32],=RV9WP/9(18)[32],=RW3XN/0(18)[32],=RW3YC/0(18)[32],=RW3YC/9(18)[32], + =RY1AAB/9(18)[32],=RY1AAB/9/M(18)[32],=RZ3DSA/0(18)[32],=RZ3DZS/0(18)[32],=RZ9ON/9(18)[32], + =UA0ACG/0(18)[32],=UA0FCB/0(18)[32],=UA0FCB/0/P(18)[32],=UA0WG/0(18)[32],=UA0WW/0(18)[32], + =UA0WW/M(18)[32],=UA0WY/0(18)[32],=UA3ADN/0(18)[32],=UA4LU/0(18)[32],=UA4PT/0(18)[32], + =UA6BTN/0(18)[32],=UA9UAX/9(18)[32],=UA9WDK/0(18)[32],=UB1AJQ/0(18)[32],=UE1WFF/0(18)[32], =R0/UR8LV(18)[22],=R100D(18)[22],=R100DI(18)[22],=R3CA/9(18)[22],=RA3XR/0(18)[22], =RA9LI/0(18)[22],=RI0B(18)[22],=RI0BDI(18)[22],=RS0B(18)[22],=RS0B/P(18)[22],=RV3EFH/0(18)[22], - =RW3GW/0(18)[22],=RX6LMQ/0(18)[22],=RZ9DX/0(18)[22],=RZ9DX/0/A(18)[22],=RZ9DX/0/P(18)[22], - =RZ9DX/9(18)[22],=RZ9DX/9/P(18)[22],=RZ9OO/0(18)[22],=UA1ADQ/0(18)[22],=UA3HY/0(18)[22], - =UA3YH/0(18)[22],=UA4RX/0(18)[22],=UA9FL/0(18)[22],=UE0BFF(18)[22],=UE44POL(18)[22], - =UE44POL/P(18)[22],=UE73D(18)[22],=UE73DI(18)[22], + =RW1AI/9(18)[22],=RW3GW/0(18)[22],=RX6LMQ/0(18)[22],=RZ9DX/0(18)[22],=RZ9DX/0/A(18)[22], + =RZ9DX/0/P(18)[22],=RZ9DX/9(18)[22],=RZ9DX/9/P(18)[22],=RZ9OO/0(18)[22],=UA1ADQ/0(18)[22], + =UA3HY/0(18)[22],=UA3YH/0(18)[22],=UA4RX/0(18)[22],=UA9FL/0(18)[22],=UE0BFF(18)[22], + =UE44POL(18)[22],=UE44POL/P(18)[22],=UE73D(18)[22],=UE73DI(18)[22], R0C(19)[34],RA0C(19)[34],RC0C(19)[34],RD0C(19)[34],RE0C(19)[34],RF0C(19)[34],RG0C(19)[34], RI0C(19)[34],RJ0C(19)[34],RK0C(19)[34],RL0C(19)[34],RM0C(19)[34],RN0C(19)[34],RO0C(19)[34], RQ0C(19)[34],RT0C(19)[34],RU0C(19)[34],RV0C(19)[34],RW0C(19)[34],RX0C(19)[34],RY0C(19)[34], @@ -2692,33 +2714,33 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: UF0N(19)[34],UG0L(19)[34],UG0M(19)[34],UG0N(19)[34],UH0L(19)[34],UH0M(19)[34],UH0N(19)[34], UI0L(19)[34],UI0M(19)[34],UI0N(19)[34],=R0HQ(19)[34],=R150L(19)[34],=R17CWH(19)[34], =R20RRC/0(19)[34],=R3BY/0(19)[34],=R3HD/0(19)[34],=R66IOTA(19)[34],=R70LWA(19)[34], - =R8CW/0(19)[34],=R8XW/0(19)[34],=R9XT/0(19)[34],=RD3BN/0(19)[34],=RL5G/0/P(19)[34],=RM0M(19)[34], - =RM5M/0(19)[34],=RN1NS/0(19)[34],=RP0L(19)[34],=RP0LPK(19)[34],=RP60P(19)[34],=RP66V(19)[34], - =RP67SD(19)[34],=RP67V(19)[34],=RP68SD(19)[34],=RP68V(19)[34],=RP69SD(19)[34],=RP69V(19)[34], - =RP70DG(19)[34],=RP70SD(19)[34],=RP70V(19)[34],=RP71DG(19)[34],=RP71SD(19)[34],=RP71V(19)[34], - =RP72DG(19)[34],=RP72SD(19)[34],=RP72V(19)[34],=RP73DG(19)[34],=RP73SD(19)[34],=RP73V(19)[34], - =RU3BY/0(19)[34],=RU5D/0(19)[34],=RV1AW/0(19)[34],=RV3DSA/0(19)[34],=RW22GO(19)[34], - =RW3LG/0(19)[34],=RX15RX(19)[34],=UA0SDX/0(19)[34],=UA0SIK/0(19)[34],=UA3AHA/0(19)[34], - =UA4SBZ/0(19)[34],=UA6MF/0(19)[34],=UA7R/0(19)[34],=UB0LAP/P(19)[34],=UC0LAF/P(19)[34], - =UE1RFF/0(19)[34],=UE70MA(19)[34],=UE75L(19)[34], + =R8CW/0(19)[34],=R8XW/0(19)[34],=R9XT/0(19)[34],=RC/N6TCZ(19)[34],=RD3BN/0(19)[34], + =RL5G/0/P(19)[34],=RM0M(19)[34],=RM5M/0(19)[34],=RN1NS/0(19)[34],=RP0L(19)[34],=RP0LPK(19)[34], + =RP60P(19)[34],=RP66V(19)[34],=RP67SD(19)[34],=RP67V(19)[34],=RP68SD(19)[34],=RP68V(19)[34], + =RP69SD(19)[34],=RP69V(19)[34],=RP70DG(19)[34],=RP70SD(19)[34],=RP70V(19)[34],=RP71DG(19)[34], + =RP71SD(19)[34],=RP71V(19)[34],=RP72DG(19)[34],=RP72SD(19)[34],=RP72V(19)[34],=RP73DG(19)[34], + =RP73SD(19)[34],=RP73V(19)[34],=RU3BY/0(19)[34],=RU5D/0(19)[34],=RV1AW/0(19)[34], + =RV3DSA/0(19)[34],=RW22GO(19)[34],=RW3LG/0(19)[34],=RX15RX(19)[34],=UA0SDX/0(19)[34], + =UA0SIK/0(19)[34],=UA3AHA/0(19)[34],=UA4SBZ/0(19)[34],=UA6MF/0(19)[34],=UA7R/0(19)[34], + =UB0LAP/P(19)[34],=UC0LAF/P(19)[34],=UE1RFF/0(19)[34],=UE70MA(19)[34],=UE75L(19)[34], R0O(18)[32],RA0O(18)[32],RC0O(18)[32],RD0O(18)[32],RE0O(18)[32],RF0O(18)[32],RG0O(18)[32], RJ0O(18)[32],RK0O(18)[32],RL0O(18)[32],RM0O(18)[32],RN0O(18)[32],RO0O(18)[32],RQ0O(18)[32], RT0O(18)[32],RU0O(18)[32],RV0O(18)[32],RW0O(18)[32],RX0O(18)[32],RY0O(18)[32],RZ0O(18)[32], U0O(18)[32],UA0O(18)[32],UB0O(18)[32],UC0O(18)[32],UD0O(18)[32],UE0O(18)[32],UF0O(18)[32], UG0O(18)[32],UH0O(18)[32],UI0O(18)[32],=R100FNR(18)[32],=RA0CGI/0(18)[32],=RA9FTM/0(18)[32], =RA9JJ/0(18)[32],=RK3RB/0(18)[32],=RK4HM/0(18)[32],=RU0UA/0(18)[32],=RV3ACA/0(18)[32], - =RW4CG/0(18)[32],=RW4CG/0/P(18)[32],=UA0WW/M(18)[32], + =RW4CG/0(18)[32],=RW4CG/0/P(18)[32], R0Q(19)[23],RA0Q(19)[23],RC0Q(19)[23],RD0Q(19)[23],RE0Q(19)[23],RF0Q(19)[23],RG0Q(19)[23], RI0Q(19)[23],RJ0Q(19)[23],RK0Q(19)[23],RL0Q(19)[23],RM0Q(19)[23],RN0Q(19)[23],RO0Q(19)[23], RQ0Q(19)[23],RT0Q(19)[23],RU0Q(19)[23],RV0Q(19)[23],RW0Q(19)[23],RX0Q(19)[23],RY0Q(19)[23], RZ0Q(19)[23],U0Q(19)[23],UA0Q(19)[23],UB0Q(19)[23],UC0Q(19)[23],UD0Q(19)[23],UE0Q(19)[23], UF0Q(19)[23],UG0Q(19)[23],UH0Q(19)[23],UI0Q(19)[23],=R1ZBH/0(19)[23],=R2DG/0(19)[23], =R3CA/0(19)[23],=R3CA/0/M(19)[23],=R3RRC/0(19)[23],=R4AK/0(19)[23],=R70ASIA(19)[23], - =R73EPC/P(19)[23],=R9OOO/0(19)[23],=RA/UT5IA(19)[23],=RA0STT/0/M(19)[23],=RA6UAH/0(19)[23], - =RA9DA/0(19)[23],=RD3QA/0(19)[23],=RF3A/0(19)[23],=RK6YYA/0/P(19)[23],=RN6LFF/0(19)[23], - =RP0Q(19)[23],=RP70AY(19)[23],=RP71AS(19)[23],=RT0Q(19)[23],=RW110RAEM(19)[23],=RW22WR(19)[23], - =RZ3BY/0(19)[23],=UA0SVD/0(19)[23],=UA1PBA/0(19)[23],=UA9CTT/0(19)[23],=UA9KW/0(19)[23], - =UB5O/0(19)[23],=UE60QA(19)[23],=UE6MAC/0(19)[23], + =R73EPC/P(19)[23],=R9OOO/0(19)[23],=RA/UT5IA(19)[23],=RA0STT/0/M(19)[23],=RA6AEW/0(19)[23], + =RA6UAH/0(19)[23],=RA9DA/0(19)[23],=RD3QA/0(19)[23],=RF3A/0(19)[23],=RK6YYA/0/P(19)[23], + =RN6LFF/0(19)[23],=RP0Q(19)[23],=RP70AY(19)[23],=RP71AS(19)[23],=RT0Q(19)[23],=RW110RAEM(19)[23], + =RW22WR(19)[23],=RZ3BY/0(19)[23],=UA0SVD/0(19)[23],=UA1PBA/0(19)[23],=UA9CTT/0(19)[23], + =UA9KW/0(19)[23],=UB5O/0(19)[23],=UE60QA(19)[23],=UE6MAC/0(19)[23], R0R(18)[32],R0S(18)[32],R0T(18)[32],RA0R(18)[32],RA0S(18)[32],RA0T(18)[32],RC0R(18)[32], RC0S(18)[32],RC0T(18)[32],RD0R(18)[32],RD0S(18)[32],RD0T(18)[32],RE0R(18)[32],RE0S(18)[32], RE0T(18)[32],RF0R(18)[32],RF0S(18)[32],RF0T(18)[32],RG0R(18)[32],RG0S(18)[32],RG0T(18)[32], @@ -2750,8 +2772,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: U0W(18)[31],UA0W(18)[31],UB0W(18)[31],UC0W(18)[31],UD0W(18)[31],UE0W(18)[31],UF0W(18)[31], UG0W(18)[31],UH0W(18)[31],UI0W(18)[31],=R01DTV/9(18)[31],=R10RTRS/0(18)[31],=RA0AM/0(18)[31], =RP0W(18)[31],=RP0W/P(18)[31],=RP0WWS(18)[31],=RP70SL(18)[31],=RP72SL(18)[31],=RV0AE/0/FF(18)[31], - =RZ0AM/0(18)[31],=RZ22WW(18)[31],=UA0FCB/P(18)[31],=UA9UAX/0/M(18)[31],=UE0ARD/0(18)[31], - =UE10RFF/9(18)[31],=UE1RFF/0/P(18)[31],=UE9FDA/0(18)[31],=UE9FDA/0/M(18)[31], + =RZ0AM/0(18)[31],=RZ22WW(18)[31],=UA0FCB/P(18)[31],=UA9UAX/0/M(18)[31],=UB5O/9(18)[31], + =UE0ARD/0(18)[31],=UE10RFF/9(18)[31],=UE1RFF/0/P(18)[31],=UE9FDA/0(18)[31],=UE9FDA/0/M(18)[31], =R23RRC(19)[25],=UA6HMC/0(19)[25], R0Y(23)[32],RA0Y(23)[32],RC0Y(23)[32],RD0Y(23)[32],RE0Y(23)[32],RF0Y(23)[32],RG0Y(23)[32], RJ0Y(23)[32],RK0Y(23)[32],RL0Y(23)[32],RM0Y(23)[32],RN0Y(23)[32],RO0Y(23)[32],RQ0Y(23)[32], @@ -2785,11 +2807,10 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: UC0V(18)[32],UD0U(18)[32],UD0V(18)[32],UE0U(18)[32],UE0V(18)[32],UF0U(18)[32],UF0V(18)[32], UG0U(18)[32],UG0V(18)[32],UH0U(18)[32],UH0V(18)[32],UI0U(18)[32],UI0V(18)[32],=R120RQ(18)[32], =R16FRA(18)[32],=R20RCK(18)[32],=R20RCK/0(18)[32],=R25ARCK(18)[32],=R70BP/0(18)[32], - =R7AB/9(18)[32],=R9PS/0(18)[32],=RA/UR5WT(18)[32],=RA77VV(18)[32],=RB110RAEM(18)[32], - =RK0AXC/0(18)[32],=RK0AXC/0/M(18)[32],=RK6YYA/0(18)[32],=RK6YYA/0/M(18)[32],=RN4CU/0(18)[32], - =RN4CU/0/P(18)[32],=RN9A/0(18)[32],=RP0UWZ(18)[32],=RP0UZF(18)[32],=RW0UM/0(18)[32], - =UA3AKO/0/M(18)[32],=UE15UWC(18)[32],=UE23DZO(18)[32],=UE70UVV(18)[32],=UE70UWW(18)[32], - =UE75VV(18)[32]; + =R7AB/9(18)[32],=RA/UR5WT(18)[32],=RA77VV(18)[32],=RB110RAEM(18)[32],=RK0AXC/0(18)[32], + =RK0AXC/0/M(18)[32],=RK6YYA/0(18)[32],=RK6YYA/0/M(18)[32],=RN4CU/0(18)[32],=RN4CU/0/P(18)[32], + =RN9A/0(18)[32],=RP0UWZ(18)[32],=RP0UZF(18)[32],=RW0UM/0(18)[32],=UA3AKO/0/M(18)[32], + =UE15UWC(18)[32],=UE23DZO(18)[32],=UE70UVV(18)[32],=UE70UWW(18)[32],=UE75VV(18)[32]; Uzbekistan: 17: 30: AS: 41.40: -63.97: -5.0: UK: UJ,UK,UL,UM,=U8AG,=U8AH,=U8AI,=UK/DF3DS/Z; Kazakhstan: 17: 30: AS: 48.17: -65.18: -5.0: UN: @@ -2846,7 +2867,7 @@ Marshall Islands: 31: 65: OC: 9.08: -167.33: -12.0: V7: Brunei Darussalam: 28: 54: OC: 4.50: -114.60: -8.0: V8: V8; Canada: 05: 09: NA: 44.35: 78.75: 5.0: VE: - CF,CG,CJ,CK,VA,VB,VC,VE,VG,VX,VY9,XL,XM,=VE2EM/M,=VER20180909, + CF,CG,CJ,CK,VA,VB,VC,VE,VG,VX,VY9,XL,XM,=VE2EM/M,=VER20181120, =CF7AAW/1,=CK7IG/1,=VA3QSL/1,=VE1REC/LH,=VE1REC/M/LH,=VE3RSA/1,=VE7IG/1, CF2[4],CG2[4],CJ2[4],CK2[4],VA2[4],VB2[4],VC2[4],VE2[4],VG2[4],VX2[4],XL2[4],XM2[4],=4Y1CAO[4], =CY2ZT/2[4],=VA3ELE/2[4],=VA3MPM/2[4],=VA7AQ/P[4],=VE2/G3ZAY/P[4],=VE2/M0BLF/P[4],=VE2FK[9], @@ -2907,14 +2928,14 @@ Australia: 30: 59: OC: -23.70: -132.33: -10.0: VK: =VK2RAS/6(29)[58],=VK3DP/6(29)[58],=VK3DXI/6(29)[58],=VK3FPF/6(29)[58],=VK3FPIL/6(29)[58], =VK3JBL/6(29)[58],=VK3KG/6(29)[58],=VK3MCD/6(29)[58],=VK3NUT/6(29)[58],=VK3OHM/6(29)[58], =VK3YQS/6(29)[58],=VK4IXU/6(29)[58],=VK4JWG/6(29)[58],=VK4NAI/6(29)[58],=VK4NH/6(29)[58], - =VK4VXX/6(29)[58],=VK4VXX/8(29)[58],=VK5CC/6(29)[58],=VK5CE/6(29)[58],=VK5CE/9(29)[58], + =VK4VXX(29)[58],=VK4VXX/6(29)[58],=VK5CC/6(29)[58],=VK5CE/6(29)[58],=VK5CE/9(29)[58], =VK5MAV/6(29)[58],=VK5NHG/6(29)[58],=VK5PAS/6(29)[58],=VK6BV/AF(29)[58],=VK9AR(29)[58], =VK9AR/6(29)[58],=VK9ZLH/6(29)[58], =VK6JON/7,=VK6KSJ/7,=VK6ZN/7,=VK7NWT/LH,=VK8XX/7, AX8(29)[55],VH8(29)[55],VI8(29)[55],VJ8(29)[55],VK8(29)[55],VL8(29)[55],VM8(29)[55],VN8(29)[55], VZ8(29)[55],=VI5RAS/8(29)[55],=VK1AHS/8(29)[55],=VK1FOC/8(29)[55],=VK2CBD/8(29)[55], =VK2CR/8(29)[55],=VK2GR/8(29)[55],=VK2ZK/8(29)[55],=VK3BYD/8(29)[55],=VK3DHI/8(29)[55], - =VK3QB/8(29)[55],=VK4FOC/8(29)[55],=VK4HDG/8(29)[55],=VK4VXX/P(29)[55],=VK4WWI/8(29)[55], + =VK3QB/8(29)[55],=VK4FOC/8(29)[55],=VK4HDG/8(29)[55],=VK4VXX/8(29)[55],=VK4WWI/8(29)[55], =VK5CE/8(29)[55],=VK5HSX/8(29)[55],=VK5MAV/8(29)[55],=VK5UK/8(29)[55],=VK8HLF/J(29)[55]; Heard Island: 39: 68: AF: -53.08: -73.50: -5.0: VK0H: =VK0/K2ARB,=VK0EK,=VK0LD; @@ -2938,8 +2959,8 @@ Willis Island: 30: 55: OC: -16.22: -150.02: -10.0: VK9W: AX9W,AX9Z,VH9W,VH9Z,VI9W,VI9Z,VJ9W,VJ9Z,VK9FW,VK9W,VK9Z,VL9W,VL9Z,VM9W,VM9Z,VN9W,VN9Z,VZ9W,VZ9Z, =VK9DWX; Christmas Island: 29: 54: OC: -10.48: -105.63: -7.0: VK9X: - AX9X,VH9X,VI9X,VJ9X,VK9FX,VK9KX,VK9X,VL9X,VM9X,VN9X,VZ9X,=VK3FY/9,=VK3HEX/9,=VK9AA,=VK9AN,=VK9EX, - =VK9JD,=VK9VKL; + AX9X,VH9X,VI9X,VJ9X,VK9FX,VK9KX,VK9X,VL9X,VM9X,VN9X,VZ9X,=VI9PEACE,=VK3FY/9,=VK3HEX/9,=VK9AA, + =VK9AN,=VK9EX,=VK9JD,=VK9VKL; Anguilla: 08: 11: NA: 18.23: 63.00: 4.0: VP2E: VP2E; Montserrat: 08: 11: NA: 16.75: 62.18: 4.0: VP2M: diff --git a/doc/common/links.adoc b/doc/common/links.adoc index 754b93570..b81743fc4 100644 --- a/doc/common/links.adoc +++ b/doc/common/links.adoc @@ -12,14 +12,14 @@ Example: [displayed text] PSK Reporter Perform searches from the doc root directory: doc -Search: grep -rl --exclude-dir="*\.svn" {pskreporter} . - grep -rl --exclude-dir="*\.svn" PSK Reporter . - grep -rl --exclude-dir="*\.svn" {devsvn} . - grep -rl --exclude-dir="*\.svn" {kvasd} . - grep -rl --exclude-dir="*\.svn" {ntpsetup} . +Search: grep -rl --exclude-dir="*\.git" {pskreporter} . + grep -rl --exclude-dir="*\.git" PSK Reporter . + grep -rl --exclude-dir="*\.git" {devrepo} . + grep -rl --exclude-dir="*\.git" {kvasd} . + grep -rl --exclude-dir="*\.git" {ntpsetup} . -Include links.adoc: grep -rl --exclude-dir="*\.svn" pskreporter . -Exclude links.adoc: grep -rl --exclude-dir="*\.svn" {pskreporter} . +Include links.adoc: grep -rl --exclude-dir="*\.git" pskreporter . +Exclude links.adoc: grep -rl --exclude-dir="*\.git" {pskreporter} . Note(s): a). Don't forget a space then "." at the end. @@ -54,8 +54,8 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :raspbian: http://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_armhf.deb[wsjtx_{VERSION}_armhf.deb] :debian: http://www.debian.org/[Debian] :dev_guide: http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjt-dev-guide.html[Dev-Guide] -:devsvn1: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN] -:devsvn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[SourceForge] +:devsvn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN] +:devrepo: https://sourceforge.net/p/wsjt/wsjtx/ci/master/tree/[SourceForge] :dimension4: http://www.thinkman.com/dimension4/[Thinking Man Software] :download: http://physics.princeton.edu/pulsar/K1JT/wsjtx.html[Download Page] :dxatlas: http://www.dxatlas.com/[Afreet Software, Inc.] @@ -67,7 +67,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :fmt_group: https://groups.yahoo.com/neo/groups/FMT-nuts/info[FMT Group] :fmt_k5cm: http://www.k5cm.com/[FMT Event Info] :fmt_wspr: http://www.physics.princeton.edu/pulsar/K1JT/FMT_User.pdf[Accurate Frequency Measurements with your WSPR Setup] -:ft8_tips: http://www.physics.princeton.edu/pulsar/K1JT/FT8_Operating_Tips.pdf[here] +:ft8_tips: http://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf[FT8 Operating Guide] :ft8_DXped: http://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode] :gnu_gpl: http://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License] :homepage: http://physics.princeton.edu/pulsar/K1JT/[WSJT Home Page] @@ -79,7 +79,9 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :log4om: http://www.log4om.com[Log4OM] :lunarEchoes: http://physics.princeton.edu/pulsar/K1JT/LunarEchoes_QEX.pdf[QEX] :msk144: http://physics.princeton.edu/pulsar/k1jt/MSK144_Protocol_QEX.pdf[QEX] +:msvcpp_redist: https://www.microsoft.com/en-ph/download/details.aspx?id=40784[Microsoft VC++ 2013 Redistributable] :msys_url: http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/[MSYS Download] +:n1mm_logger: https://n1mm.hamdocs.com/tiki-index.php[N1MM Logger+] :ntpsetup: http://www.satsignal.eu/ntp/setup.html[Network Time Protocol Setup] :osx_instructions: http://physics.princeton.edu/pulsar/K1JT/OSX_Readme[Mac OS X Install Instructions] :ppa: http://en.wikipedia.org/wiki/Personal_Package_Archive[PPA] @@ -88,6 +90,9 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :sourceforge: https://sourceforge.net/user/registration[SourceForge] :sourceforge-jtsdk: https://sourceforge.net/projects/jtsdk[SourceForge JTSDK] :ubuntu_sdk: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa[Ubuntu SDK Notice] +:win_openssl_packages: https://slproweb.com/products/Win32OpenSSL.html[Windows OpenSSL Packages] +:win32_openssl: https://slproweb.com/download/Win32OpenSSL_Light-1_0_2q.exe[Win32 OpenSSL Lite Package] +:writelog: https://writelog.com/[Writelog] :wsjt_yahoo_group: https://groups.yahoo.com/neo/groups/wsjtgroup/info[WSJT Group] :wsjtx: http://physics.princeton.edu/pulsar/K1JT/wsjtx.html[WSJT-X] :wspr0_guide: http://www.physics.princeton.edu/pulsar/K1JT/WSPR0_Instructions.TXT[WSPR0 Guide] @@ -111,9 +116,9 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :svn: http://subversion.apache.org/packages.html#windows[Subversion] :win32: http://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-win32.exe[wsjtx-{VERSION}-win32.exe] :wsjt-devel: https://lists.sourceforge.net/lists/listinfo/wsjt-devel[here] -:wsjt_svn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[WSJT Source Repository] +:wsjt_repo: https://sourceforge.net/p/wsjt/wsjt_orig/ci/master/tree/[WSJT Source Repository] :wspr_code: http://physics.princeton.edu/pulsar/K1JT/WSPRcode.exe[WSPRcode.exe] -:wspr_svn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/branches/wspr/[WSPR Source Repository] +:wspr_svn: https://sourceforge.net/p/wsjt/wspr/ci/master/tree/[WSPR Source Repository] // MAIL-TO links :alex_efros: mailto:powerman@powerman.name[Alex Efros] diff --git a/doc/user_guide/en/controls-functions-center.adoc b/doc/user_guide/en/controls-functions-center.adoc index a7701b705..a640809d6 100644 --- a/doc/user_guide/en/controls-functions-center.adoc +++ b/doc/user_guide/en/controls-functions-center.adoc @@ -36,6 +36,8 @@ inserted automatically. Typical reports for the various modes fall in the range –30 to +20 dB. Remember that JT65 reports saturate at an upper limit of -1 dB. ++ + TIP: Consider reducing power if your QSO partner reports your signal above -5 dB in one of the _WSJT-X_ slow modes. These are supposed to be weak signal modes! diff --git a/doc/user_guide/en/controls-functions-left.adoc b/doc/user_guide/en/controls-functions-left.adoc index 338346dae..4dcb20bc3 100644 --- a/doc/user_guide/en/controls-functions-left.adoc +++ b/doc/user_guide/en/controls-functions-left.adoc @@ -28,6 +28,8 @@ if the rig is detected to be in *Split* mode. The circle becomes red if you have requested CAT control but communication with the radio has been lost. ++ + TIP: Many Icom rigs cannot be queried for split status, current VFO or split transmit frequency. When using _WSJT-X_ with such radios you should not change the current VFO, split status or dial frequency diff --git a/doc/user_guide/en/controls-functions-main-window.adoc b/doc/user_guide/en/controls-functions-main-window.adoc index c15f68123..472adb9a7 100644 --- a/doc/user_guide/en/controls-functions-main-window.adoc +++ b/doc/user_guide/en/controls-functions-main-window.adoc @@ -36,6 +36,8 @@ the original frequency. * *Erase* clears the right-hand decoded text window. Double-clicking *Erase* clears both text windows. ++ + TIP: Right-clicking on either text window brings up a context menu with several options (including *Erase*) which operate on that window alone. diff --git a/doc/user_guide/en/controls-functions-messages.adoc b/doc/user_guide/en/controls-functions-messages.adoc index c712feada..6a130d70c 100644 --- a/doc/user_guide/en/controls-functions-messages.adoc +++ b/doc/user_guide/en/controls-functions-messages.adoc @@ -56,6 +56,8 @@ spaces) in the *Free Msg* box. pre-stored macro. Pressing *Enter* on a modified message here automatically adds that message to the table of stored macros. ++ + TIP: During a transmission the actual message being sent always appears in the first box of the status bar (bottom left of the main screen). diff --git a/doc/user_guide/en/controls-functions-status-bar.adoc b/doc/user_guide/en/controls-functions-status-bar.adoc index 064a6b927..a38ff54fd 100644 --- a/doc/user_guide/en/controls-functions-status-bar.adoc +++ b/doc/user_guide/en/controls-functions-status-bar.adoc @@ -21,3 +21,5 @@ the elapsed fraction of a Tx or Rx sequence. Finally, if the Watchdog lower right-hand corner displays the number of minutes remaining before timeout. +TIP: Temporary status messages may occasionally be displayed here for +a few seconds when background processing completes. \ No newline at end of file diff --git a/doc/user_guide/en/cooperating-programs.adoc b/doc/user_guide/en/cooperating-programs.adoc index e0c2acf91..99e49e1e3 100644 --- a/doc/user_guide/en/cooperating-programs.adoc +++ b/doc/user_guide/en/cooperating-programs.adoc @@ -36,4 +36,12 @@ current band, as well as other options. * {jtbridge}, by SM0THU, is available for OS X. It works together with logging applications Aether, MacLoggerDX, RUMlog or RUMlogNG. It checks QSO and QSL status of the call and DXCC entity, as well as many -other features. \ No newline at end of file +other features. + +* {n1mm_logger} is a free full feature contest logging application. It + is only available for Windows. _WSJT-X_ can send logged QSO + information to it via a network connection. + +* {writelog} is a non-free full feature contest logging + application. It is only available for Windows. _WSJT-X_ can send + logged QSO information to it via a network connection. \ No newline at end of file diff --git a/doc/user_guide/en/decoder_notes.adoc b/doc/user_guide/en/decoder_notes.adoc index 6ef2dd7e2..cdae09a01 100644 --- a/doc/user_guide/en/decoder_notes.adoc +++ b/doc/user_guide/en/decoder_notes.adoc @@ -8,9 +8,9 @@ false decodes. For example: when you decide to answer a CQ, you already know your own callsign and that of your potential QSO partner. The software -therefore "`knows`" what to expect for 57 of the 72 message bits (28 -bits for each of two callsigns, 1 bit for message type) in the next -received message. The decoder's task can thus be reduced to +therefore "`knows`" what might be expected for at least 57 message +bits (28 for each of two callsigns, 1 or more for message type) in the +next received message. The decoder's task can thus be reduced to determining the remaining 15 bits of the message and ensuring that the resulting solution is reliable. diff --git a/doc/user_guide/en/faq.adoc b/doc/user_guide/en/faq.adoc index fa3852a92..9240f3436 100644 --- a/doc/user_guide/en/faq.adoc +++ b/doc/user_guide/en/faq.adoc @@ -47,7 +47,27 @@ location for each instance of _WSJT-X_. wsjtx --rig-name=TS2000 wsjtx --rig-name=FT847 -Rig control through _OmniRig_ seems to fail when I click *Test CAT*. What can I do about it?:: +I am getting a "Network Error - SSL/TLS support not installed" message. What should I do?:: + +You need to install suitable _OpenSSL_ libraries - see <>. + +I occasionally get Rig Control Errors if I adjust my Icom rig's VFO. What's wrong?:: + +By default most Icom transceivers have *CI-V Tranceive Mode" enabled, +this will cause unsolicited CAT traffic from the rig that disrupts CAT +control by a PC. Disable this option in the rig's menu. + +I want to control my transceiver with another application as well as _WSJT-X_, is that possible?:: + +This only possible to do reliably via some kind of rig control server, +that server must be able to accept both _WSJT-X_ and the other +application(s) as clients. Using a dumb serial port splitter like the +VSPE tool is not supported, it may work but it is not reliable due to +unmanaged CAT control collisions. Applications like the _Hamlib Rig +Control Server (rigctld)_, _{omnirig}_, and _{dxlsuite} Commander_ are +potentially suitable and _WSJT-X_ can act as a client to them all. + +Rig control through _OmniRig_ seems to fail when I click *Test CAT*. What can I do about it?:: _Omni-Rig_ apparently has a bug that appears when you click *Test CAT*. Forget using *Test CAT* and just click *OK*. _Omni-Rig_ then diff --git a/doc/user_guide/en/images/LoTW_TLS_error.png b/doc/user_guide/en/images/LoTW_TLS_error.png new file mode 100644 index 000000000..015711dfd Binary files /dev/null and b/doc/user_guide/en/images/LoTW_TLS_error.png differ diff --git a/doc/user_guide/en/images/colors.png b/doc/user_guide/en/images/colors.png index 7e8e9adcc..8845ada9c 100644 Binary files a/doc/user_guide/en/images/colors.png and b/doc/user_guide/en/images/colors.png differ diff --git a/doc/user_guide/en/images/file-menu.png b/doc/user_guide/en/images/file-menu.png index e7a765fa7..4adcedc3b 100644 Binary files a/doc/user_guide/en/images/file-menu.png and b/doc/user_guide/en/images/file-menu.png differ diff --git a/doc/user_guide/en/images/help-menu.png b/doc/user_guide/en/images/help-menu.png index 91ef1b870..e4d9ab325 100644 Binary files a/doc/user_guide/en/images/help-menu.png and b/doc/user_guide/en/images/help-menu.png differ diff --git a/doc/user_guide/en/images/keyboard-shortcuts.png b/doc/user_guide/en/images/keyboard-shortcuts.png index 65ea3a96a..9249e2e08 100644 Binary files a/doc/user_guide/en/images/keyboard-shortcuts.png and b/doc/user_guide/en/images/keyboard-shortcuts.png differ diff --git a/doc/user_guide/en/images/log-qso.png b/doc/user_guide/en/images/log-qso.png index 867251bc7..4f85dc7df 100644 Binary files a/doc/user_guide/en/images/log-qso.png and b/doc/user_guide/en/images/log-qso.png differ diff --git a/doc/user_guide/en/images/misc-controls-center.png b/doc/user_guide/en/images/misc-controls-center.png index 773501a19..f2fdf64b9 100644 Binary files a/doc/user_guide/en/images/misc-controls-center.png and b/doc/user_guide/en/images/misc-controls-center.png differ diff --git a/doc/user_guide/en/images/reporting.png b/doc/user_guide/en/images/reporting.png index 2ac100df6..896b973a0 100644 Binary files a/doc/user_guide/en/images/reporting.png and b/doc/user_guide/en/images/reporting.png differ diff --git a/doc/user_guide/en/images/settings-advanced.png b/doc/user_guide/en/images/settings-advanced.png index 5a42a3cfe..2406d82e4 100644 Binary files a/doc/user_guide/en/images/settings-advanced.png and b/doc/user_guide/en/images/settings-advanced.png differ diff --git a/doc/user_guide/en/images/view-menu.png b/doc/user_guide/en/images/view-menu.png index 3387a5784..cb329215a 100644 Binary files a/doc/user_guide/en/images/view-menu.png and b/doc/user_guide/en/images/view-menu.png differ diff --git a/doc/user_guide/en/install-from-source.adoc b/doc/user_guide/en/install-from-source.adoc index 466528f20..f106aa59b 100644 --- a/doc/user_guide/en/install-from-source.adoc +++ b/doc/user_guide/en/install-from-source.adoc @@ -1,10 +1,10 @@ // Status=review Source code for _WSJT-X_ is available from a public repository at -{devsvn}. To compile the program you will need to install at least the +{devrepo}. To compile the program you will need to install at least the following packages: -- Subversion 1.8 or later +- Git - Qt 5.2 or later - g++ 4.8 or later - gfortran 4.8 or later @@ -14,13 +14,15 @@ following packages: Source code for _WSJT-X_ v{VERSION} can be downloaded with the command: ===== -svn co svn://svn.code.sf.net/p/wsjt/wsjt/tags/wsjtx-{VERSION} +git clone git://git.code.sf.net/p/wsjt/wsjtx +cd wsjtx +git checkout wsjtx-{VERSION} ===== and for the current development branch, ===== -svn co svn://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx +git clone git://git.code.sf.net/p/wsjt/wsjtx ===== If you are interested in contributing to the development and diff --git a/doc/user_guide/en/install-linux.adoc b/doc/user_guide/en/install-linux.adoc index bf7dd442f..999d52fe8 100644 --- a/doc/user_guide/en/install-linux.adoc +++ b/doc/user_guide/en/install-linux.adoc @@ -2,6 +2,16 @@ Debian, Ubuntu, and other Debian-based systems including Raspbian: +NOTE: The project team release binary installer packages for Linux +when a new _WSJT-X_ release is announced, note that these are built to +target one contemporary version of a Linux distribution. Although +these may work on newer Linux versions or even different +distributions, it is unlikely that they will work on older +versions. Check the notes provided with the release for details of the +targeted Linux distributions and versions. If the binary package is +not compatible with your Linux distribution or version you must build +the application from sources. + * 32-bit: {debian32} - To install: + @@ -33,9 +43,9 @@ sudo dpkg -P wsjtx You may also need to execute the following command in a terminal: [example] -sudo apt install libqt5multimedia5-plugins libqt5serialport5 libfftw3-single3 +sudo apt install libqt5multimedia5-plugins libqt5serialport5 libqt5sql5-sqlite libfftw3-single3 -Fedora, Red Hat, and other rpm-based systems: +Fedora, CentOS, Red Hat, and other rpm-based systems: * 32-bit: {fedora32} - To install: diff --git a/doc/user_guide/en/install-mac.adoc b/doc/user_guide/en/install-mac.adoc index 566f5fd89..636777b55 100644 --- a/doc/user_guide/en/install-mac.adoc +++ b/doc/user_guide/en/install-mac.adoc @@ -6,7 +6,7 @@ installation notes. If you have already installed a previous version, you can retain it by changing its name in the *Applications* folder (say, from _WSJT-X_ to -_WSJT-X_1.8_). You can then proceed to the installation phase. +_WSJT-X_1.9_). You can then proceed to the installation phase. Take note also of the following: diff --git a/doc/user_guide/en/install-windows.adoc b/doc/user_guide/en/install-windows.adoc index ba50f10ff..e3f75858c 100644 --- a/doc/user_guide/en/install-windows.adoc +++ b/doc/user_guide/en/install-windows.adoc @@ -3,32 +3,70 @@ Download and execute the package file {win32}, following these instructions: -- Install _WSJT-X_ into its own directory, for example `C:\WSJTX` or -`C:\WSJT\WSJTX`, rather than the conventional location -`C:\Program Files\WSJTX`. +* Install _WSJT-X_ into its own directory, for example `C:\WSJTX` or ` + C:\WSJT\WSJTX`, rather than the conventional location `C:\Program + Files (x86)\WSJTX`. -- All program files relating to _WSJT-X_ will be stored in the chosen -installation directory and its subdirectories. +* All program files relating to _WSJT-X_ will be stored in the chosen + installation directory and its subdirectories. + +* Logs and other writeable files will normally be found in the + directory + -- Logs and other writeable files will normally be found in the -directory + `C:\Users\\AppData\Local\WSJT-X`. TIP: Your computer may be configured so that this directory is -"`invisible`". It's there, however, and accessible. An alternative -(shortcut) directory name is `%LOCALAPPDATA%\WSJT-X\`. + "`invisible`". It's there, however, and accessible. An + alternative (shortcut) directory name is + `"%LocalAppData%\WSJT-X\"`. -- The built-in Windows facility for time synchronization is usually -not adequate. We recommend the program _Meinberg NTP_ (see {ntpsetup} -for downloading and installation instructions) or _Dimension 4_ from -{dimension4}. +* The built-in Windows facility for time synchronization is usually + not adequate. We recommend the program _Meinberg NTP_ (see + {ntpsetup} for downloading and installation instructions) or + _Dimension 4_ from {dimension4}. Recent versions of Windows 10 are + now shipped with a more capable Internet time synchronization + service that is suitable if configured appropriately. -- _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz. -To ensure that this will be so when running under recent versions of -Windows, open the system's *Sound* control panel and select in turn the -*Recording* and *Playback* tabs. Click on *Properties*, then -*Advanced*, and select *16 bit, 48000 Hz (DVD Quality)*. +[[OPENSSL]] -- You can uninstall _WSJT-X_ by clicking its *Uninstall* link in the -Windows *Start* menu, or by using *Uninstall a Program* on the -Windows Control Panel. +* image:LoTW_TLS_error.png[_WSJT-X_ LoTW download TLS error, role="right"] + From this version onward _WSJT-X_ requires the _OpenSSL_ libraries + to be installed. Suitable libraries may already be installed on your + system, if they are not you will see this error shortly after + startup. To fix this you need to install the _OpenSSL_ libraries. + +** You can download a suitable _OpenSSL_ package for from + {win_openssl_packages}, you need the latest *Win32 v1.0.2 Lite* + version (Note it is the Win32 package even if you are using a + 64-bit Windows operating system) which at the time of writing was + {win32_openssl}. + +** Install the package and accept the default options, including the + option to copy the _OpenSSL_ DLLs to the Windows system directory + (this is important). + + +NOTE: If you still get the same network error after installing the + _OpenSSL_ libraries then you also need to install the + {msvcpp_redist} component. From the download page select + `vcredist_x86.exe` and run it to install. + +TIP: If you cannot install the _OpenSSL_ libraries or do not have an + Internet connection on the computer used to run + _WSJT-X_ {VERSION_MAJOR}.{VERSION_MINOR}, you can download + the _LoTW_ file manually. Go to + https://lotw.arrl.org/lotw-user-activity.csv in a web browser, + download the file, then move it to the _WSJT-X_ log files + directory. This directory can be opened by selecting + *File | Open log directory*. + +* _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz. + To ensure that this will be so when running under recent versions of + Windows, open the system's *Sound* control panel and select in turn + the *Recording* and *Playback* tabs. Click on *Properties*, then + *Advanced*, and select *16 bit, 48000 Hz (DVD Quality)*. Switch of + all audio enhancement features for these devices. + +* You can uninstall _WSJT-X_ by clicking its *Uninstall* link in the + Windows *Start* menu, or by using *Uninstall a Program* on the + Windows Control Panel Programs and Features option or in Settings + Apps on Windows 10. diff --git a/doc/user_guide/en/introduction.adoc b/doc/user_guide/en/introduction.adoc index 4149a48d0..b48738190 100644 --- a/doc/user_guide/en/introduction.adoc +++ b/doc/user_guide/en/introduction.adoc @@ -7,29 +7,30 @@ K1**JT**,`" while the suffix "`-X`" indicates that _WSJT-X_ started as an extended and experimental branch of the program _WSJT_. -_WSJT-X_ Version 1.9 offers nine different protocols or modes: *FT8*, -*JT4*, *JT9*, *JT65*, *QRA64*, *ISCAT*, *MSK144*, *WSPR*, and *Echo*. -The first five are designed for making reliable QSOs under extreme -weak-signal conditions. They use nearly identical message structure -and source encoding. JT65 and QRA64 were designed for EME -("`moonbounce`") on the VHF/UHF bands and have also proven very -effective for worldwide QRP communication on the HF bands. QRA64 has -a number of advantages over JT65, including better performance on the -very weakest signals. We imagine that over time it may replace JT65 -for EME use. JT9 was originally designed for the LF, MF, and lower HF -bands. Its submode JT9A is 2 dB more sensitive than JT65 while using -less than 10% of the bandwidth. JT4 offers a wide variety of tone -spacings and has proven highly effective for EME on microwave bands up -to 24 GHz. These four "`slow`" modes use one-minute timed sequences -of alternating transmission and reception, so a minimal QSO takes four -to six minutes — two or three transmissions by each station, one -sending in odd UTC minutes and the other even. FT8 is operationally -similar but four times faster (15-second T/R sequences) and less -sensitive by a few dB. On the HF bands, world-wide QSOs are possible -with any of these modes using power levels of a few watts (or even -milliwatts) and compromise antennas. On VHF bands and higher, QSOs -are possible (by EME and other propagation types) at signal levels 10 -to 15 dB below those required for CW. +_WSJT-X_ Version {VERSION_MAJOR}.{VERSION_MINOR} offers nine different +protocols or modes: *FT8*, *JT4*, *JT9*, *JT65*, *QRA64*, *ISCAT*, +*MSK144*, *WSPR*, and *Echo*. The first five are designed for making +reliable QSOs under extreme weak-signal conditions. They use nearly +identical message structure and source encoding. JT65 and QRA64 were +designed for EME ("`moonbounce`") on the VHF/UHF bands and have also +proven very effective for worldwide QRP communication on the HF bands. +QRA64 has a number of advantages over JT65, including better +performance on the very weakest signals. We imagine that over time it +may replace JT65 for EME use. JT9 was originally designed for the LF, +MF, and lower HF bands. Its submode JT9A is 2 dB more sensitive than +JT65 while using less than 10% of the bandwidth. JT4 offers a wide +variety of tone spacings and has proven highly effective for EME on +microwave bands up to 24 GHz. These four "`slow`" modes use +one-minute timed sequences of alternating transmission and reception, +so a minimal QSO takes four to six minutes — two or three +transmissions by each station, one sending in odd UTC minutes and the +other even. FT8 is operationally similar but four times faster +(15-second T/R sequences) and less sensitive by a few dB. On the HF +bands, world-wide QSOs are possible with any of these modes using +power levels of a few watts (or even milliwatts) and compromise +antennas. On VHF bands and higher, QSOs are possible (by EME and +other propagation types) at signal levels 10 to 15 dB below those +required for CW. *ISCAT*, *MSK144*, and optionally submodes *JT9E-H* are "`fast`" protocols designed to take advantage of brief signal enhancements from @@ -47,7 +48,7 @@ format with hashed callsigns. potential propagation paths using low-power transmissions. WSPR messages normally carry the transmitting station’s callsign, grid locator, and transmitter power in dBm, and they can be decoded at -signal-to-noise ratios as low as -28 dB in a 2500 Hz bandwidth. WSPR +signal-to-noise ratios as low as -31 dB in a 2500 Hz bandwidth. WSPR users with internet access can automatically upload reception reports to a central database called {wsprnet} that provides a mapping facility, archival storage, and many other features. diff --git a/doc/user_guide/en/logging.adoc b/doc/user_guide/en/logging.adoc index ae657d23a..4eaec86e9 100644 --- a/doc/user_guide/en/logging.adoc +++ b/doc/user_guide/en/logging.adoc @@ -18,17 +18,8 @@ this option is checked _WSJT-X_ appends some additional information to all CQ messages displayed in the _Band Activity_ window. The name of the DXCC entity is shown, abbreviated if necessary. Your "`worked before`" status for this callsign (according to log file -`wsjtx_log.adi`) is flagged with a single character and a change of -background color, as follows: - -[horizontal] -!:: Default color bright purple: New DXCC entity -~:: Light pink: You have already worked this DXCC entity but not -this station - :: Green: You have previously worked the calling station - -In this respect the program does not distinguish between modes, but it -does differentiate between bands. +`wsjtx_log.adi`) is indicated by highlighting colors, if that option +has been selected. _WSJT-X_ includes a built-in `cty.dat` file containing DXCC prefix information. Updated files can be downloaded from the {cty_dat} web @@ -45,3 +36,5 @@ before status* off and then on again will cause _WSJT-X_ to re-read the log file. Very large log files may cause _WSJT-X_ to slow down when searching for calls. +Additional features are provided for *Contest* and *Fox* logging. +(more to come, here ...) diff --git a/doc/user_guide/en/make-qso.adoc b/doc/user_guide/en/make-qso.adoc index 565c7f7c2..986583e7f 100644 --- a/doc/user_guide/en/make-qso.adoc +++ b/doc/user_guide/en/make-qso.adoc @@ -19,7 +19,10 @@ one callsign) followed by the transmitting station’s grid locator, a signal report, R plus a signal report, or the final acknowledgements RRR or 73. These messages are compressed and encoded in a highly efficient and reliable way. In uncompressed form (as displayed -on-screen) they may contain as many as 22 characters. +on-screen) they may contain as many as 22 characters. Some operators +prefer ro send RR73 rather than RRR. This is workable because RR73 is +encoded as a valid grid locator, one unlikely ever to be occupied by +an amateur station. *Signal reports* are specified as signal-to-noise ratio (S/N) in dB, using a standard reference noise bandwidth of 2500 Hz. Thus, in the @@ -76,36 +79,92 @@ NOTE: When *Auto-Seq* is enabled the program de-activates *Enable Tx* at the end of each QSO. It is not intended that _WSJT-X_ should make fully automated QSOs. -=== VHF Contest Mode +=== Contest Messages -A special *NA VHF Contest* mode can be activated for FT8 and MSK144. -To use it you must activate *File | Settings | General | Enable -VHF/UHF/Microwave features* and then check the box *NA VHF Contest* on -the main window. This mode is configured especially for contests in -which four-character grid locators are the required exchange. When -*NA VHF Contest* mode is active, the standard QSO sequence looks like -this: +The new FT8 and MSK144 protocols support special messages optimized +for *NA VHF* and *EU VHF* contests. FT8 also supports messages for +*ARRL Field Day* and the *ARRL RTTY Roundup*. The decoders recognize +and decode these messages at any time. Configure the program to +automatically generate the required message types by selecting a +supported operating activity on the *Settings | Advanced* tab. Model +QSOs then proceed as follows, for each event type: + +*NA VHF Contest* CQ K1ABC FN42 - K1ABC W9XYZ EN37 + K1ABC W9XYZ EN37 W9XYZ K1ABC R FN42 - K1ABC W9XYZ RRR + K1ABC W9XYZ RRR W9XYZ K1ABC 73 -In contest circumstances K1ABC might choose to call CQ again rather -than sending 73 for his third transmission. +Either callsign (or both) may have /R appended. You can use RR73 in +place of RRR, and the final 73 is optional. -IMPORTANT: Do not use VHF Contest Mode on an HF band or in conditions -where worldwide propagation is available. See -<> for further details. + +*EU VHF Contest* + + CQ TEST G4ABC IO91 + G4ABC PA9XYZ JO22 + PA9XYZ 570123 IO91NP + G4ABC R 580071 JO22DB + PA9XYZ G4ABC RR73 + +Either callsign (or both) may have /P appended. + +*ARRL Field Day* + + CQ FD K1ABC FN42 + K1ABC W9XYZ 6A WI + W9XYZ K1ABC R 2B EMA + K1ABC W9XYZ RR73 + +*ARRL RTTY Roundup* + + CQ RU K1ABC FN42 + K1ABC W9XYZ 579 WI + W9XYZ K1ABC R 589 MA + K1ABC W9XYZ RR73 [[COMP-CALL]] === Compound Callsigns -Compound callsigns such as xx/K1ABC or K1ABC/x are handled in -one of two possible ways: +*FT8 and MSK144* -.Messages containing Type 1 compound callsigns +Compound callsigns like xx/K1ABC or K1ABC/x and nonstandard callsigns +like YW18FIFA are supported for normal QSOs but not for the special +contest-style messages. Model QSOs look something like this: + + CQ PJ4/K1ABC + W9XYZ + W9XYZ +03 + W9XYZ R-08 + PJ4/K1ABC RRR + PJ4/K1ABC 73 + +The compound or nonstandard callsigns are automatically recognized and +handled using special message formats. One such callsign and one +standard callsign may appear in most messages, provided that one of +them is enclosed in < > angle brackets. If the message includes a +grid locator or numerical signal report, the brackets must enclose the +compound or nonstandard callsign; otherwise the brackets may be around +either call. + +Angle brackets imply that the enclosed callsign is not transmitted in +full, but rather as a hash code using a smaller number of bits. +Receiving stations will display the full nonstandard callsign if it +has been received in full in the recent past. Otherwise it will be +displayed as < . . . >. These restrictions are honored automatically +by the algorithm that generates default messages for minimal QSOs. +Except for the special cases involving /P or /R used in VHF +contesting, _WSJT-X {VERSION_MAJOR}.{VERSION_MINOR}_ offers no support +for two nonstandard callsigns to work each other. + +*JT4, JT9, JT65, and QRA64* + +In the 72-bit modes, compound callsigns are handled in one of two +possible ways: + +.Type 1 compound callsigns A list of about 350 of the most common prefixes and suffixes can be displayed from the *Help* menu. A single compound callsign involving @@ -139,7 +198,7 @@ Notice that the full compound callsign is sent and received in the first two transmissions. After that, the operators omit the add-on prefix or suffix and use the standard structured messages. -.Type 2 Compound-Callsign Messages +.Type 2 Compound callsigns Prefixes and suffixes _not_ found in the displayable short list are handled by using *Type 2* compound callsigns. In this case the diff --git a/doc/user_guide/en/measurement_tools.adoc b/doc/user_guide/en/measurement_tools.adoc index 57c113709..00c5e2d34 100644 --- a/doc/user_guide/en/measurement_tools.adoc +++ b/doc/user_guide/en/measurement_tools.adoc @@ -20,6 +20,8 @@ tab, delete any default frequencies for *FreqCal* mode that are not relevant for your location. You may want to replace some of them with reliably known frequencies receivable at your location. ++ + TIP: We find major-city AM broadcast stations generally serve well as frequency calibrators at the low frequency end of the spectrum. In North America we also use the standard time-and-frequency broadcasts diff --git a/doc/user_guide/en/new_features.adoc b/doc/user_guide/en/new_features.adoc index c947ad827..a90b52182 100644 --- a/doc/user_guide/en/new_features.adoc +++ b/doc/user_guide/en/new_features.adoc @@ -1,33 +1,41 @@ -=== New in Version 1.9 +=== New in Version {VERSION} For quick reference, here's a short list of features and capabilities -added to _WSJT-X_ since Version 1.8.0: +added to _WSJT-X_ since Version 1.9.1: -- New *FT8 DXpedition Mode* to facilitate high QSO rates in pileup -situations +- New FT8 and MSK144 protocols with 77-bit payloads permit these enhancements: -- Decoding improvements for JT65 mode, including _a priori_ (AP) -decoding when VHF/UHF/Microwave features are enabled +* Optimized contest messages for NA VHF, EU VHF, Field Day, RTTY Roundup -- Optional Auto-Sequencing in JT4, JT9, and JT65 when VHF/UHF/Microwave features are enabled +* Full support for "/R" and "/P" calls in relevant contests -- Better suppression of low-confidence false decodes generated by AP -decoding in FT8 mode +* New logging features for contesting -- Improved decoding performance for WSPR mode, especially effective at LF and MF +* Integration with {n1mm_logger} and {writelog} for contesting -- Minor adjustments to auto-sequencing behavior +* Improved support for compound and nonstandard callsigns -- More flexible Doppler control features for EME +* Nearly equal (or better) sensitivity compared to old protocols -- Improved waterfall sensitivity for very weak signals +* Lower false decode rates -- Automatic real-time forwarding of logged information to _N1MM Logger+_ +- Improved color highlighting of received messages + +- Improved WSPR sensitivity - Expanded and improved UDP messages sent to companion programs - Bug fixes and other minor tweaks to user interface +IMPORTANT: Note that for FT8 and MSK144 there is no backward +compatibility with WSJT-X 1.9.1 and earlier. Everyone using these +modes should upgrade to WSJT-X 2.0 by January 1, 2019. + +IMPORTANT: _WSJT-X_ Version 2.0 drops support for Apple Mac OS X 10.9 +(Mavericks). It is possible to build from source for this operating +system version but the DMG installer package requires 10.10 or later. + + === Documentation Conventions In this manual the following icons call attention to particular types @@ -45,12 +53,12 @@ consequences. === How You Can Contribute _WSJT-X_ is part of an open-source project released under the -{gnu_gpl} (GPL). If you have programming or documentation skills or +{gnu_gpl} (GPLv3). If you have programming or documentation skills or would like to contribute to the project in other ways, please make your interests known to the development team. The project's -source-code repository can be found at {devsvn}, and most -communication among the developers takes place on the email reflector -{devmail}. Bug reports and suggestions for new features, improvements -to the _WSJT-X_ User Guide, etc., may also be sent to the -{wsjt_yahoo_group} email reflector. You must join the relevant group -before posting to either email list. +source-code repository can be found at {devrepo}, and communication +among the developers takes place on the email reflector {devmail}. +Bug reports and suggestions for new features, improvements to the +_WSJT-X_ User Guide, etc., may also be sent to the {wsjt_yahoo_group} +email reflector. You must join the relevant group before posting to +either email list. diff --git a/doc/user_guide/en/protocols.adoc b/doc/user_guide/en/protocols.adoc index 456880d6e..f50096097 100644 --- a/doc/user_guide/en/protocols.adoc +++ b/doc/user_guide/en/protocols.adoc @@ -2,18 +2,20 @@ === Overview All QSO modes except ISCAT use structured messages that compress -user-readable information into fixed-length packets of 72 bits. Each -message consists of two 28-bit fields normally used for callsigns and -a 15-bit field for a grid locator, report, acknowledgment, or 73. An -additional bit flags a message containing arbitrary alphanumeric text, -up to 13 characters. Special cases allow other information such as -add-on callsign prefixes (e.g., ZA/K1ABC) or suffixes (e.g., K1ABC/P) -to be encoded. The basic aim is to compress the most common messages -used for minimally valid QSOs into a fixed 72-bit length. The -information payload in FT8 includes 3 additional bits (75 bits total). -One of the added bits is used to flag special messages used by the -DXpedition station in FT8 DXpedition Mode. Uses for the remaining two -bits are yet to be defined. +user-readable information into fixed-length packets. JT4, JT9, JT65, +and QRA64 use 72-bit payloads. Standard messages consist of two +28-bit fields normally used for callsigns and a 15-bit field for a +grid locator, report, acknowledgment, or 73. An additional bit flags +a message containing arbitrary free text, up to 13 characters. +Special cases allow other information such as add-on callsign prefixes +(e.g., ZA/K1ABC) or suffixes (e.g., K1ABC/P) to be encoded. The basic +aim is to compress the most common messages used for minimally valid +QSOs into a fixed 72-bit length. + +The information payload for FT8 and MSK144 contains 77 bits. The 5 +additional bits are used to flag special message types used for FT8 +DXpedition Mode, contesting, nonstandard callsigns, and a few other +special types. A standard amateur callsign consists of a one- or two-character prefix, at least one of which must be a letter, followed by a digit @@ -42,22 +44,16 @@ additional information is sent in place of the grid locator or by encoding additional information into some of the 6 million available slots mentioned above. -As a convenience for sending directed CQ messages, the compression -algorithm supports messages starting with `CQ AA` through `CQ ZZ`. -These message fragments are encoded internally as if they were the -callsigns `E9AA` through `E9ZZ`. Upon reception they are converted -back to the form `CQ AA` through `CQ ZZ`, for display to the user. +As a convenience for sending directed CQ messages, the 72-bit +compression algorithm supports messages starting with `CQ AA` through +`CQ ZZ`. These message fragments are encoded internally as if they +were the callsigns `E9AA` through `E9ZZ`. Upon reception they are +converted back to the form `CQ AA` through `CQ ZZ`, for display to the +user. -The FT8 and MSK144 modes support a special feature allowing convenient -transmission and acknowledgment of four-character grid locators, the -required exchanges in most North American VHF contests. With this -Contest Mode enabled, _WSJT-X_ supports messages of the form `W9XYZ -K1ABC R FN42` by converting the grid locator to that of its -diametrically opposite point on Earth. The receiving program -recognizes a locator implying a distance greater than 10,000 km, does -the reverse transformation, and inserts the implied "`R`". Obviously, -this mode should not be used on the HF bands or under other -circumstances where world-wide propagation is possible. +The new FT8 and MSK144 protocols use a different lossless compression +algorithm with features to generate and recognize the special messages +used for contesting and the like. (More to come, here ...) To be useful on channels with low signal-to-noise ratio, this kind of lossless message compression requires use of a strong forward error @@ -75,9 +71,9 @@ _WSJT-X_ modes have continuous phase and constant envelope. ==== FT8 Forward error correction (FEC) in FT8 uses a low-density parity check -(LDPC) code with 75 information bits, a 12-bit cyclic redundancy check -(CRC), and 87 parity bits making a 174-bit codeword. It is thus -called an LDPC (174,87) code. Synchronization uses 7×7 Costas arrays +(LDPC) code with 77 information bits, a 14-bit cyclic redundancy check +(CRC), and 83 parity bits making a 174-bit codeword. It is thus +called an LDPC (174,91) code. Synchronization uses 7×7 Costas arrays at the beginning, middle, and end of each transmission. Modulation is 8-tone frequency-shift keying (8-FSK) at 12000/1920 = 6.25 baud. Each transmitted symbol carries three bits, so the total number of channel @@ -231,7 +227,7 @@ which the probability of decoding is 50% or higher. |=============================================================================== |Mode |FEC Type |(n,k) | Q|Modulation type|Keying rate (Baud)|Bandwidth (Hz) |Sync Energy|Tx Duration (s)|S/N Threshold (dB) -|FT8 |LDPC, r=1/2|(174,87)| 8| 8-FSK| 6.25 | 50.0 | 0.27| 12.6 | -21 +|FT8 |LDPC, r=1/2|(174,91)| 8| 8-FSK| 6.25 | 50.0 | 0.27| 12.6 | -21 |JT4A |K=32, r=1/2|(206,72)| 2| 4-FSK| 4.375| 17.5 | 0.50| 47.1 | -23 |JT9A |K=32, r=1/2|(206,72)| 8| 9-FSK| 1.736| 15.6 | 0.19| 49.0 | -27 |JT65A |Reed Solomon|(63,12) |64|65-FSK| 2.692| 177.6 | 0.50| 46.8 | -25 @@ -329,13 +325,13 @@ For details see Table 4, below. ==== MSK144 -Standard MSK144 messages are structured in the same way as those in -the slow modes, with 72 bits of user information. Forward error -correction is implemented by first augmenting the 72 message bits with -an 8-bit cyclic redundancy check (CRC) calculated from the message -bits. The CRC is used to detect and eliminate most false decodes at -the receiver. The resulting 80-bit augmented message is mapped to a -128-bit codeword using a (128,80) binary low-density-parity-check +Standard MSK144 messages are structured in the same way as in FT8, +with 77 bits of user information. Forward error correction is +implemented by first augmenting the 77 message bits with a 13-bit +cyclic redundancy check (CRC) calculated from the message bits. The +CRC is used to detect and eliminate most false decodes at the +receiver. The resulting 90-bit augmented message is mapped to a +128-bit codeword using a (128,90) binary low-density-parity-check (LDPC) code designed by K9AN specifically for this purpose. Two 8-bit synchronizing sequences are added to make a message frame 144 bits long. Modulation is Offset Quadrature Phase-Shift Keying (OQPSK) at @@ -379,6 +375,6 @@ and your QSO partner ± 200 Hz. |JT9F |K=32, r=1/2|(206,72)| 8| 9-FSK| 50.0 | 450 | 0.19| 1.700 |JT9G |K=32, r=1/2|(206,72)| 8| 9-FSK|100.0 | 900 | 0.19| 0.850 |JT9H |K=32, r=1/2|(206,72)| 8| 9-FSK|200.0 | 1800 | 0.19| 0.425 -|MSK144 |LDPC |(128,80)| 2| OQPSK| 2000 | 2400 | 0.11| 0.072 +|MSK144 |LDPC |(128,90)| 2| OQPSK| 2000 | 2400 | 0.11| 0.072 |MSK144 Sh|LDPC |(32,16) | 2| OQPSK| 2000 | 2400 | 0.20| 0.020 |===================================================================== diff --git a/doc/user_guide/en/settings-advanced.adoc b/doc/user_guide/en/settings-advanced.adoc index e939977ca..94b1c5f71 100644 --- a/doc/user_guide/en/settings-advanced.adoc +++ b/doc/user_guide/en/settings-advanced.adoc @@ -27,6 +27,8 @@ receiver's effective noise bandwidth. a larger delay between execution of a command to enable PTT and onset of Tx audio. ++ + IMPORTANT: For the health of your T/R relays and external preamplifier, we strongly recommend using a hardware sequencer and testing to make sure that sequencing is correct. @@ -36,9 +38,16 @@ with twice or four times the normal tone spacing. This feature is intended for use with specialized LF/MF transmitters that divide generated frequencies by 2 or 4 as part of the transmission process. -_FT8 DXpedition Mode_ +_Special Operating Activity: Generation of FT8 and MSk144 messages_ + +- Check this box and select the type of activity to enable +auto-generation of special message formats for contesting and +DXpeditions. For *ARRL Field Day*, enter your operating Class and +ARRL/RAC section; for *ARRL RTTY Roundup*, enter your state or province. +Use “DX” for section or state if you are not in the US or Canada. In +the RTTY Roundup, Stations in Alaska and Hawaii should enter “DX”. - Check *Fox* if you are a DXpedition station operating in FT8 DXpedition Mode. Check *Hound* if you wish to make QSOs with such a -Fox. Be sure to read the operating instructions for {ft8_DXped}. +Fox. Be sure to read the operating instructions for {ft8_DXped}. diff --git a/doc/user_guide/en/settings-audio.adoc b/doc/user_guide/en/settings-audio.adoc index 478416836..921602ef9 100644 --- a/doc/user_guide/en/settings-audio.adoc +++ b/doc/user_guide/en/settings-audio.adoc @@ -4,18 +4,21 @@ image::settings-audio.png[align="center",alt="_WSJT-X_ Audio Configuration Scree Select the *Audio* tab to configure your sound system. -- _Soundcard_: Select the audio devices to be used for *Input* and +* _Soundcard_: Select the audio devices to be used for *Input* and *Output*. Usually the *Mono* settings will suffice, but in special cases you can choose *Left*, *Right*, or *Both* stereo channels. -- Be sure that your audio device is configured to sample at 48000 Hz, +** Be sure that your audio device is configured to sample at 48000 Hz, 16 bits. ++ IMPORTANT: If you select the audio output device that is also your computer's default audio device, be sure to turn off all system sounds to prevent inadvertently transmitting them over the air. ++ + NOTE: Windows Vista and later may configure audio devices using the Texas Instruments PCM2900 series CODEC for microphone input rather line input. (This chip is used in many radios with built-in USB @@ -23,18 +26,20 @@ CODECs, as well as various other audio interfaces.) If you are using such a device, be sure to set the mic level in the Recording Device Properties to 0 dB. -- _Save Directory_: _WSJT-X_ can save its received audio sequences as ++ + +* _Save Directory_: _WSJT-X_ can save its received audio sequences as `.wav` files. A default directory for these files is provided; you can select another location if desired. -- _AzEl Directory_: A file named `azel.dat` will appear in the +* _AzEl Directory_: A file named `azel.dat` will appear in the specified directory. The file contains information usable by another program for automatic tracking of the Sun or Moon, as well as calculated Doppler shift for the specified EME path. The file is updated once per second whenever the <> window is displayed. -- _Remember power settings by band_: Checking either of these will +* _Remember power settings by band_: Checking either of these will cause _WSJT-X_ to remember the *Pwr* slider setting for that operation on a band-by-band basis. For example, when *Tune* is checked here and you click the *Tune* button on the main window, the power slider will diff --git a/doc/user_guide/en/settings-colors.adoc b/doc/user_guide/en/settings-colors.adoc index 6fc95eabb..a33230f9a 100644 --- a/doc/user_guide/en/settings-colors.adoc +++ b/doc/user_guide/en/settings-colors.adoc @@ -1,5 +1,47 @@ image::colors.png[align="center",alt="Colors Screen"] -_WSJT-X_ uses colors to highlight decoded messages containing -information of particular interest. Click on one of the buttons to -select your preferred colors for any message category. +.Decode Highlighting + +* _WSJT-X_ uses colors to highlight decoded CQ messages of particular + interest. Check the box *Show DXCC, grid, and worked-before status* + on the *Settings | General* tab, and any boxes of interest to you on + the *Colors* tab. You can drag any line up or down to raise or + lower its logical priority. Right-click any line to set a new + foreground or background color. Foreground and background colors + are applied separately, and careful choices of foreground, + background, and priority can provide two indications of + worked-before status. + +* Press the *Reset Highlighting* button to reset all of the color + settings to default values. + +* Check *Highlight by Mode* if you wish worked before status to be per + <>. + +* Worked before status is calculated from your _WSJT-X_ ADIF + <> file, you may replace ADIF log file with one + exported from your station logging application, *Rescan ADIF Log* + rebuilds the _WSJT-X_ worked before indexes using the current ADIF + log file. + ++ + +TIP: The _WSJT-X_ ADIF file records must contain the "CALL" field. + The "BAND", and "MODE", and "GRIDSQUARE" fields are optional + depending on your DXing objectives. DXCC entity, continent, CQ, + and ITU Zone data for call prefixes and certain well known + overrides are derived from the cty.dat database which is bundled + with _WSJT-X_ (See <> for details). + +.Logbook of The World User Validation + +Stations who are known to have uploaded their logs to the ARRL LoTW +QSL matching service can be highlighted. The data used to determine +this is available on line. + +* *Fetch Now* will download a fresh dataset from the *Users CSV file + URL*. The LoTW team normally update this data weekly. + +* Adjust *Age of of last upload less than* to set the period within + which a station must have uploaded their log to LoTW to trigger + highlighting. diff --git a/doc/user_guide/en/settings-frequencies.adoc b/doc/user_guide/en/settings-frequencies.adoc index bebf6a313..5cdf26dbd 100644 --- a/doc/user_guide/en/settings-frequencies.adoc +++ b/doc/user_guide/en/settings-frequencies.adoc @@ -4,9 +4,9 @@ image::settings-frequencies.png[align="center",alt="Frequency Screen"] _Working Frequencies_: By default the *Working Frequencies* table -contains a list of frequencies conventionally used for modes JT4, JT9, -JT65, MSK144, WSPR, and Echo. Conventions may change with time or -by user preference; you can modify the frequency table as desired. +contains a list of frequencies conventionally used for modes FT8, JT4, +JT9, JT65, MSK144, WSPR, and Echo. Conventions may change with time +or by user preference; you can modify the frequency table as desired. - To change an existing entry, double-click to edit it, type a desired frequency in MHz or select from the drop down list of options, then diff --git a/doc/user_guide/en/settings-general.adoc b/doc/user_guide/en/settings-general.adoc index 0a259dd70..2825c0c80 100644 --- a/doc/user_guide/en/settings-general.adoc +++ b/doc/user_guide/en/settings-general.adoc @@ -17,6 +17,6 @@ NOTE: If you are using a callsign with an add-on prefix or suffix, or wish to work a station using such a call, be sure to read the section <>. -NOTE: Enabling VHF/UHF/Microwave features necessarily disables the -wideband multi-decode capability of JT65. In most circumstances you -should turn this feature off when operating at HF. +NOTE: Checking *Enable VHF/UHF/Microwave features* necessarily +disables the wideband multi-decode capability of JT65. In most +circumstances you should turn this feature off when operating at HF. diff --git a/doc/user_guide/en/settings-radio.adoc b/doc/user_guide/en/settings-radio.adoc index 13f64267a..0f0ff27fe 100644 --- a/doc/user_guide/en/settings-radio.adoc +++ b/doc/user_guide/en/settings-radio.adoc @@ -6,66 +6,91 @@ _WSJT-X_ offers CAT (Computer Aided Transceiver) control of relevant features of most modern transceivers. To configure the program for your radio, select the *Radio* tab. -- Select your radio type from the drop-down list labeled *Rig*, or -*None* if you do not wish to use CAT control. +* Select your radio type from the drop-down list labeled *Rig*, or + *None* if you do not wish to use CAT control. -- Alternatively, if you have configured your station for control by -*DX Lab Suite Commander*, *Ham Radio Deluxe*, *Hamlib NET rigctl*, or -*Omni-Rig*, you may select one of those program names from the *Rig* -list. In these cases the entry field immediately under _CAT Control_ -will be relabeled as *Network Server*. Leave this field blank to -access the default instance of your control program, running on the -same computer. If the control program runs on a different computer -and/or port, specify it here. Hover the mouse pointer over the entry -field to see the required formatting details. +** Alternatively, if you have configured your station for control by + *DX Lab Suite Commander*, *Flrig*, *Ham Radio Deluxe*, *Hamlib NET + rigctl*, or *Omni-Rig*, you may select one of those program names + from the *Rig* list. In these cases the entry field immediately + under _CAT Control_ will be relabeled as *Network Server*. Leave + this field blank to access the default instance of your control + program, running on the same computer. If the control program runs + on a different computer and/or port, specify it here. Hover the + mouse pointer over the entry field to see the required formatting + details. -- Select *Omni-Rig Rig 1* or *Omni-Rig Rig 2* to connect to an -_Omni-Rig_ server running on the same computer. Note that _Omni-Rig_ -is available only under Windows. +** Select *Omni-Rig Rig 1* or *Omni-Rig Rig 2* to connect to an + _Omni-Rig_ server installed on the same computer. _Omni-Rig_ will + be started automatically by _WSJT-X_. -- Set *Poll Interval* to the desired interval for _WSJT-X_ to query -your radio. For most radios a small number (say, 1 – 3 s) is -suitable. ++ -- _CAT Control_: To have _WSJT-X_ control the radio directly rather -than though another program, make the following settings: +NOTE: _Omni-Rig_ is available only under Windows. -* Select the *Serial Port* used to communicate with your radio. +* Set *Poll Interval* to the desired interval for _WSJT-X_ to query + your radio. For most radios a small number (say, 1 – 3 s) is + suitable. -* _Serial Port Parameters_: Set values for *Baud Rate*, *Data Bits*, -*Stop Bits*, and *Handshake* method. Consult your radio's user guide -for the proper parameter values. +* _CAT Control_: To have _WSJT-X_ control the radio directly rather + than though another program, make the following settings: -* _Force Control Lines_: A few station setups require the CAT serial -port’s *RTS* and/or *DTR* control lines to be forced high or -low. Check these boxes only if you are sure they are needed (for -example, to power the radio serial interface). +** Select the *Serial Port* or *Network Server* including the service + port number used to communicate with your radio. -- _PTT Method_: select *VOX*, *CAT*, *DTR*, or *RTS* as the desired -method for T/R switching. If your choice is *DTR* or *RTS*, select -the desired serial port (which may be the same one as used for -CAT control). ++ -- _Transmit Audio Source_: some radios permit you to choose the -connector that will accept Tx audio. If this choice is enabled, -select *Rear/Data* or *Front/Mic*. +NOTE: A special value of *USB* is available for custom USB devices + like those used by some SDR kits. This is not the same a virtual + serial port provided by USB connected transcivers and CAT + interfaces, for those use the COM or serial port name that + refers to them. -- _Mode_: _WSJT-X_ uses upper sideband mode for both transmitting and -receiving. Select *USB*, or choose *Data/Pkt* if your radio offers -such an option and uses it to enable the rear-panel audio line input. -Some radios also offer wider and/or flatter passbands when set to -*Data/Pkt* mode. Select *None* if you do not want _WSJT-X_ to change -the radio's Mode setting. +** _Serial Port Parameters_: Set values for *Baud Rate*, *Data Bits*, + *Stop Bits*, and *Handshake* method. Consult your radio's user + *guide for the proper parameter values. -- _Split Operation_: Significant advantages result from using *Split* -mode (separate VFOs for Rx and Tx) if your radio supports it. If it -does not, _WSJT-X_ can emulate such behavior. Either method will -result in a cleaner transmitted signal, by keeping the Tx audio always -in the range 1500 to 2000 Hz so that audio harmonics cannot pass -through the Tx sideband filter. Select *Rig* to use the radio's Split -mode, or *Fake It* to have _WSJT-X_ adjust the VFO frequency as -needed, when T/R switching occurs. Choose *None* if you do not -wish to use split operation. ++ + +NOTE: CAT interfaces that require handshaking will be non-responsive + until the correct *Handshake* setting is applied. + +** _Force Control Lines_: A few station setups require the CAT serial + port’s *RTS* and/or *DTR* control lines to be forced high or + low. Check these boxes *only* if you are sure they are needed (for + example, to power the radio serial interface). + +* _PTT Method_: select *VOX*, *CAT*, *DTR*, or *RTS* as the desired + method for T/R switching. If your choice is *DTR* or *RTS*, select + the desired serial port (which may be the same one as used for CAT + control). + ++ + +NOTE: When using a proxy application for rig control, *CAT* is usually + the correct option for _PTT Method_ assuming the proxy + application is capable of keying your transceiver idependently. + +* _Transmit Audio Source_: some radios permit you to choose the + connector that will accept Tx audio. If this choice is enabled, + select *Rear/Data* or *Front/Mic*. + +* _Mode_: _WSJT-X_ uses upper sideband mode for both transmitting and + receiving. Select *USB*, or choose *Data/Pkt* if your radio offers + such an option and uses it to enable the rear-panel audio line + input. Some radios also offer wider and/or flatter passbands when + set to *Data/Pkt* mode. Select *None* if you do not want _WSJT-X_ + to change the radio's Mode setting. + +* _Split Operation_: Significant advantages result from using *Split* + mode (separate VFOs for Rx and Tx) if your radio supports it. If it + does not, _WSJT-X_ can emulate such behavior. Either method will + result in a cleaner transmitted signal, by keeping the Tx audio + always in the range 1500 to 2000 Hz so that audio harmonics cannot + pass through the Tx sideband filter. Select *Rig* to use the + radio's Split mode, or *Fake It* to have _WSJT-X_ adjust the VFO + frequency as needed, when T/R switching occurs. Choose *None* if + you do not wish to use split operation. When all required settings have been made, click *Test CAT* to test communication between _WSJT-X_ and your radio. The button should turn diff --git a/doc/user_guide/en/transceiver-setup.adoc b/doc/user_guide/en/transceiver-setup.adoc index 060414c41..b281c4b9b 100644 --- a/doc/user_guide/en/transceiver-setup.adoc +++ b/doc/user_guide/en/transceiver-setup.adoc @@ -2,53 +2,63 @@ .Receiver Noise Level - If it is not already highlighted in green, click the *Monitor* -button to start normal receive operation. + button to start normal receive operation. - Be sure your transceiver is set to *USB* (or *USB Data*) mode. - Use the receiver gain controls and/or the computer's audio mixer -controls to set the background noise level (scale at lower left of -main window) to around 30 dB when no signals are present. It is -usually best to turn AGC off or reduce the RF gain control to minimize -AGC action. + controls to set the background noise level (scale at lower left of + main window) to around 30 dB when no signals are present. It is + usually best to turn AGC off or reduce the RF gain control to + minimize AGC action. + ++ + +TIP: The PC audio mixer normally has two sliders, one for each + application attached which should be set to maximum (0dB FS) as + it cannot help with distortion from overly high or low input + levels from your receiver and another *Master* level which is + analogue attenuator on the sound card before the Analogue to + Digital Converter (ADC). The *Master* level can be used to adjust + the signal level received by _WSJT-X_. .Bandwidth and Frequency Setting - If your transceiver offers more than one bandwidth setting in USB -mode, it may be advantageous to choose the widest one possible, up to -about 5 kHz. This choice has the desirable effect of allowing the -*Wide Graph* (waterfall and 2D spectrum) to display the conventional -JT65 and JT9 sub-bands simultaneously on most HF bands. Further -details are provided in the <>. A -wider displayed bandwidth may also be helpful at VHF and above, where -FT8, JT4, JT65, and QRA64 signals may be found over much wider ranges -of frequencies. + mode, it may be advantageous to choose the widest one possible, up + to about 5 kHz. This choice has the desirable effect of allowing + the *Wide Graph* (waterfall and 2D spectrum) to display the + conventional JT65 and JT9 sub-bands simultaneously on most HF bands. + Further details are provided in the <>. A wider displayed bandwidth may also be helpful at VHF + and above, where FT8, JT4, JT65, and QRA64 signals may be found over + much wider ranges of frequencies. - If you have only a standard SSB filter you won’t be able to display -more than about 2.7 kHz bandwidth. Depending on the exact dial -frequency setting, on HF bands you can display the full sub-band -generally used for one mode. + more than about 2.7 kHz bandwidth. Depending on the exact dial + frequency setting, on HF bands you can display the full sub-band + generally used for one mode. - Of course, you might prefer to concentrate on one mode at a time, -setting your dial frequency to (say) 14.074 for FT8, 14.076 for JT65, -or 14.078 for JT9. Present conventions have the nominal JT9 dial -frequency 2 kHz higher than the JT65 dial frequency on most bands, and -the FT8 frequency 2 kHz lower. + setting your dial frequency to (say) 14.074 for FT8, 14.076 for + JT65, or 14.078 for JT9. Present conventions have the nominal JT9 + dial frequency 2 kHz higher than the JT65 dial frequency on most + bands, and the FT8 frequency 2 kHz lower. .Transmitter Audio Level -* Click the *Tune* button on the main screen to switch the -radio into transmit mode and generate a steady audio tone. +* Click the *Tune* button on the main screen to switch the radio into + transmit mode and generate a steady audio tone. * Listen to the generated audio tone using your radio’s *Monitor* -facility. The transmitted tone should be perfectly smooth, with no -clicks or glitches. Make sure that this is true even when you -simultaneously use the computer to do other tasks such as email, web -browsing, etc. + facility. The transmitted tone should be perfectly smooth, with no + clicks or glitches. Make sure that this is true even when you + simultaneously use the computer to do other tasks such as email, web + browsing, etc.. * Adjust the *Pwr* slider (at right edge of main window) downward from -its maximum until the RF output from your transmitter falls slightly. -This is generally a good level for audio drive. + its maximum until the RF output from your transmitter falls + slightly. This is generally a good level for audio drive. * Toggle the *Tune* button once more or click *Halt Tx* to stop your -test transmission. + test transmission. diff --git a/doc/user_guide/en/tutorial-example1.adoc b/doc/user_guide/en/tutorial-example1.adoc index 8ad5d73bb..ff7ad4d55 100644 --- a/doc/user_guide/en/tutorial-example1.adoc +++ b/doc/user_guide/en/tutorial-example1.adoc @@ -64,6 +64,8 @@ so that a transmission will start automatically at the proper time. *Shift* key to move only the Tx frequency or the *Ctrl* key to move both Rx and Tx frequencies. ++ + NOTE: You can prevent your Tx frequency from being changed by checking the box *Hold Tx Freq*. diff --git a/doc/user_guide/en/tutorial-example2.adoc b/doc/user_guide/en/tutorial-example2.adoc index e7aa3aeee..b51227c74 100644 --- a/doc/user_guide/en/tutorial-example2.adoc +++ b/doc/user_guide/en/tutorial-example2.adoc @@ -50,6 +50,8 @@ image::decodes.png[align="center"] earlier, in <>. _WSJT-X_ automatically determines the mode of each JT9 or JT65 message. ++ + TIP: When you double-click on a signal in the waterfall it will be properly decoded even if on the "`wrong`" side of the *JT65 nnnn JT9* marker. The Tx mode automatically switches to that of the decoded diff --git a/doc/user_guide/en/tutorial-example3.adoc b/doc/user_guide/en/tutorial-example3.adoc index 3f2ee03f6..6e4e98c56 100644 --- a/doc/user_guide/en/tutorial-example3.adoc +++ b/doc/user_guide/en/tutorial-example3.adoc @@ -43,16 +43,17 @@ frequency to that of the selected message and leaving Tx frequency unchanged. To change both Rx and Tx frequencies, hold *Ctrl* down when double-clicking. -NOTE: To avoid QRM from competing callers, it is frequently desirable +TIP: To avoid QRM from competing callers, it is frequently desirable to answer a CQ on a different frequency from that of the CQing station. The same is true when you tail-end another QSO. Choose a Tx -frequency that appears to be not in use. +frequency that appears to be not in use. You might want to check the +box *Hold Tx Freq*. -NOTE: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy +TIP: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy way to move your Tx frequency down or up in 60 Hz steps. -NOTE: Further helpful tips on FT8 operating procedures are available -{ft8_tips}. Thanks to ZL2IFB! +TIP: An online {ft8_tips} by ZL2IFB offers many helpful tips on +operating procedures. .FT8 DXpedition Mode: diff --git a/doc/user_guide/en/tutorial-main-window.adoc b/doc/user_guide/en/tutorial-main-window.adoc index 09a17b196..c585b1f6a 100644 --- a/doc/user_guide/en/tutorial-main-window.adoc +++ b/doc/user_guide/en/tutorial-main-window.adoc @@ -6,6 +6,8 @@ - Set the audio frequencies to *Tx 1224 Hz* and *Rx 1224 Hz*. ++ + TIP: Sliders and spinner controls respond to *Arrow* key presses and *Page Up/Down* key presses, with the *Page* keys moving the controls in larger steps. You can also type numbers directly into diff --git a/doc/user_guide/en/vhf-features.adoc b/doc/user_guide/en/vhf-features.adoc index d0a4cd731..1838529ce 100644 --- a/doc/user_guide/en/vhf-features.adoc +++ b/doc/user_guide/en/vhf-features.adoc @@ -1,5 +1,6 @@ -_WSJT-X_ v1.9 suppports a number of features designed for use -on the VHF and higher bands. These features include: +_WSJT-X_ v{VERSION_MAJOR}.{VERSION_MINOR} suppports a number of +features designed for use on the VHF and higher bands. These features +include: - *FT8*, a mode designed for making fast QSOs with weak, fading signals @@ -276,6 +277,8 @@ this number is well below 100% you may increase the decoding depth from *Fast* to *Normal* or *Deep*, and increase *F Tol* from 100 to 200 Hz. ++ + NOTE: Most modern multi-core computers can easily handle the optimum parameters *Deep* and *F Tol 200*. Older and slower machines may not be able to keep up at these settings; at the *Fast* and *Normal* @@ -303,6 +306,7 @@ enclosed in <> angle brackets, as in the following model QSO RRR 73 ++ NOTE: There is little or no advantage to using MSK144 *Sh* messages at 50 or 70 MHz. At these frequencies, most pings are long diff --git a/doc/user_guide/en/wsjtx-main.adoc b/doc/user_guide/en/wsjtx-main.adoc index 71f0e3c4a..6b190e0a2 100644 --- a/doc/user_guide/en/wsjtx-main.adoc +++ b/doc/user_guide/en/wsjtx-main.adoc @@ -1,5 +1,5 @@ // This is a comment line, anything with // is ignored at process time. -= _WSJT-X_ User Guide += _WSJT-X {VERSION_MAJOR}.{VERSION_MINOR}_ User Guide Joseph H Taylor, Jr, K1JT :revnumber: {VERSION} // For web-pages, adding :badges: is ok, but is a security issue for @@ -113,9 +113,12 @@ include::transceiver-setup.adoc[] This section introduces the basic user controls and program behavior of _WSJT-X_, with particular emphasis on the JT9, JT65, and FT8 modes. We suggest that new users should go through the full HF-oriented -tutorial, preferably while at your radio. Subsequent sections cover -additional details on <>, <> -and <>. +tutorial, preferably while at your radio. Note that as of late 2018, +digital usage on the HF bands has mostly moved from JT65 and JT9 to FT8. So +you may wish to pay particular attention to *FT8*, in Section 6.6. + +Subsequent sections cover additional details on <>, <> and <>. [[TUT_MAIN]] === Main Window Settings diff --git a/doc/user_guide/en/wspr.adoc b/doc/user_guide/en/wspr.adoc index 960235988..d54a97544 100644 --- a/doc/user_guide/en/wspr.adoc +++ b/doc/user_guide/en/wspr.adoc @@ -11,6 +11,8 @@ desired size. - Select an active WSPR frequency (for example, 10.1387 or 14.0956 MHz). ++ + IMPORTANT: If you will transmit in the 60 m band, be sure to choose a frequency that conforms with your local regulations. diff --git a/item_delegates/CallsignDelegate.cpp b/item_delegates/CallsignDelegate.cpp index 017389458..d3b9864c1 100644 --- a/item_delegates/CallsignDelegate.cpp +++ b/item_delegates/CallsignDelegate.cpp @@ -28,3 +28,4 @@ void CallsignDelegate::setModelData (QWidget * editor, QAbstractItemModel * mode { model->setData (index, static_cast (editor)->text (), Qt::EditRole); } + diff --git a/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp b/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp index 5b7f76eb8..a666ed323 100644 --- a/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp +++ b/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp @@ -1,8 +1,10 @@ #ifndef DATE_TIME_AS_SECS_SINCE_EPOCH_DELEGATE_HPP_ #define DATE_TIME_AS_SECS_SINCE_EPOCH_DELEGATE_HPP_ +#include #include #include +#include #include #include #include @@ -33,12 +35,17 @@ public: QString displayText (QVariant const& value, QLocale const& locale) const override { - return locale.toString (to_date_time (value), QLocale::ShortFormat); + return locale.toString (to_date_time (value), locale.dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); } QWidget * createEditor (QWidget * parent, QStyleOptionViewItem const& /*option*/, QModelIndex const& /*index*/) const override { - return new QDateTimeEdit {parent}; + std::unique_ptr editor {new QDateTimeEdit {parent}}; + editor->setDisplayFormat (parent->locale ().dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); + editor->setTimeSpec (Qt::UTC); // needed because it ignores time + // spec of the QDateTime that it is + // set from + return editor.release (); } void setEditorData (QWidget * editor, QModelIndex const& index) const override diff --git a/lib/crc.f90 b/lib/crc.f90 index a36e364f9..f0cd17e32 100644 --- a/lib/crc.f90 +++ b/lib/crc.f90 @@ -34,22 +34,6 @@ module crc integer (c_int), value :: length end function crc13_check - function crc12 (data, length) bind (C, name="crc12") - use, intrinsic :: iso_c_binding, only: c_short, c_ptr, c_int - implicit none - integer (c_short) :: crc12 - type (c_ptr), value :: data - integer (c_int), value :: length - end function crc12 - - function crc12_check (data, length) bind (C, name="crc12_check") - use, intrinsic :: iso_c_binding, only: c_bool, c_ptr, c_int - implicit none - logical (c_bool) :: crc12_check - type (c_ptr), value :: data - integer (c_int), value :: length - end function crc12_check - function crc10 (data, length) bind (C, name="crc10") use, intrinsic :: iso_c_binding, only: c_short, c_ptr, c_int implicit none diff --git a/lib/crc12.cpp b/lib/crc12.cpp deleted file mode 100644 index 44e50fe71..000000000 --- a/lib/crc12.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -extern "C" -{ - short crc12 (unsigned char const * data, int length); - bool crc12_check (unsigned char const * data, int length); -} - -#define POLY 0xc06 - -#ifdef BOOST_NO_CXX11_CONSTEXPR -#define TRUNCATED_POLYNOMIAL POLY -#else -namespace -{ - unsigned long constexpr TRUNCATED_POLYNOMIAL = POLY; -} -#endif - -// assumes CRC is last 16 bits of the data and is set to zero -// caller should assign the returned CRC into the message in big endian byte order -short crc12 (unsigned char const * data, int length) -{ - return boost::augmented_crc<12, TRUNCATED_POLYNOMIAL> (data, length); -} - -bool crc12_check (unsigned char const * data, int length) -{ - return !boost::augmented_crc<12, TRUNCATED_POLYNOMIAL> (data, length); -} diff --git a/lib/decoder.f90 b/lib/decoder.f90 index e1fb40436..730c59d12 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -470,8 +470,8 @@ contains real, intent(in) :: dt real, intent(in) :: freq character(len=37), intent(in) :: decoded - character c1*12,c2*12,g2*4,w*4,ctmp*12 - integer i0,i1,i2,i3,i4,i5,i6,n30,nwrap + character c1*12,c2*12,g2*4,w*4 + integer i0,i1,i2,i3,i4,i5,n30,nwrap integer, intent(in) :: nap real, intent(in) :: qual character*2 annot diff --git a/lib/fmtmsg.f90 b/lib/fmtmsg.f90 index 2ceb81554..81789e2a9 100644 --- a/lib/fmtmsg.f90 +++ b/lib/fmtmsg.f90 @@ -1,16 +1,16 @@ subroutine fmtmsg(msg,iz) - character*22 msg + character*(*) msg ! Convert all letters to upper case - iz=22 - do i=1,22 + iz=len(msg) + do i=1,iz if(msg(i:i).ge.'a' .and. msg(i:i).le.'z') & msg(i:i)= char(ichar(msg(i:i))+ichar('A')-ichar('a')) if(msg(i:i).ne.' ') iz=i enddo - do iter=1,5 !Collapse multiple blanks into one + do iter=1,37 !Collapse multiple blanks into one ib2=index(msg(1:iz),' ') if(ib2.lt.1) go to 100 msg=msg(1:ib2)//msg(ib2+2:) diff --git a/lib/ft8/bpdecode174.f90 b/lib/ft8/bpdecode174.f90 deleted file mode 100644 index 9442cc4a1..000000000 --- a/lib/ft8/bpdecode174.f90 +++ /dev/null @@ -1,401 +0,0 @@ -subroutine bpdecode174(llr,apmask,maxiterations,decoded,cw,nharderror,iter) -! -! A log-domain belief propagation decoder for the (174,87) code. -! -integer, parameter:: N=174, K=87, M=N-K -integer*1 codeword(N),cw(N),apmask(N) -integer colorder(N) -integer*1 decoded(K) -integer Nm(7,M) ! 5, 6, or 7 bits per check -integer Mn(3,N) ! 3 checks per bit -integer synd(M) -real tov(3,N) -real toc(7,M) -real tanhtoc(7,M) -real zn(N) -real llr(N) -real Tmn -integer nrw(M) - -data colorder/ & - 0, 1, 2, 3, 30, 4, 5, 6, 7, 8, 9, 10, 11, 32, 12, 40, 13, 14, 15, 16,& - 17, 18, 37, 45, 29, 19, 20, 21, 41, 22, 42, 31, 33, 34, 44, 35, 47, 51, 50, 43,& - 36, 52, 63, 46, 25, 55, 27, 24, 23, 53, 39, 49, 59, 38, 48, 61, 60, 57, 28, 62,& - 56, 58, 65, 66, 26, 70, 64, 69, 68, 67, 74, 71, 54, 76, 72, 75, 78, 77, 80, 79,& - 73, 83, 84, 81, 82, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,& - 100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,& - 120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,& - 140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,& - 160,161,162,163,164,165,166,167,168,169,170,171,172,173/ - -data Mn/ & - 1, 25, 69, & - 2, 5, 73, & - 3, 32, 68, & - 4, 51, 61, & - 6, 63, 70, & - 7, 33, 79, & - 8, 50, 86, & - 9, 37, 43, & - 10, 41, 65, & - 11, 14, 64, & - 12, 75, 77, & - 13, 23, 81, & - 15, 16, 82, & - 17, 56, 66, & - 18, 53, 60, & - 19, 31, 52, & - 20, 67, 84, & - 21, 29, 72, & - 22, 24, 44, & - 26, 35, 76, & - 27, 36, 38, & - 28, 40, 42, & - 30, 54, 55, & - 34, 49, 87, & - 39, 57, 58, & - 45, 74, 83, & - 46, 62, 80, & - 47, 48, 85, & - 59, 71, 78, & - 1, 50, 53, & - 2, 47, 84, & - 3, 25, 79, & - 4, 6, 14, & - 5, 7, 80, & - 8, 34, 55, & - 9, 36, 69, & - 10, 43, 83, & - 11, 23, 74, & - 12, 17, 44, & - 13, 57, 76, & - 15, 27, 56, & - 16, 28, 29, & - 18, 19, 59, & - 20, 40, 63, & - 21, 35, 52, & - 22, 54, 64, & - 24, 62, 78, & - 26, 32, 77, & - 30, 72, 85, & - 31, 65, 87, & - 33, 39, 51, & - 37, 48, 75, & - 38, 70, 71, & - 41, 42, 68, & - 45, 67, 86, & - 46, 81, 82, & - 49, 66, 73, & - 58, 60, 66, & - 61, 65, 85, & - 1, 14, 21, & - 2, 13, 59, & - 3, 67, 82, & - 4, 32, 73, & - 5, 36, 54, & - 6, 43, 46, & - 7, 28, 75, & - 8, 33, 71, & - 9, 49, 76, & - 10, 58, 64, & - 11, 48, 68, & - 12, 19, 45, & - 15, 50, 61, & - 16, 22, 26, & - 17, 72, 80, & - 18, 40, 55, & - 20, 35, 51, & - 23, 25, 34, & - 24, 63, 87, & - 27, 39, 74, & - 29, 78, 83, & - 30, 70, 77, & - 31, 69, 84, & - 22, 37, 86, & - 38, 41, 81, & - 42, 44, 57, & - 47, 53, 62, & - 52, 56, 79, & - 60, 75, 81, & - 1, 39, 77, & - 2, 16, 41, & - 3, 31, 54, & - 4, 36, 78, & - 5, 45, 65, & - 6, 57, 85, & - 7, 14, 49, & - 8, 21, 46, & - 9, 15, 72, & - 10, 20, 62, & - 11, 17, 71, & - 12, 34, 47, & - 13, 68, 86, & - 18, 23, 43, & - 19, 64, 73, & - 24, 48, 79, & - 25, 70, 83, & - 26, 80, 87, & - 27, 32, 40, & - 28, 56, 69, & - 29, 63, 66, & - 30, 42, 50, & - 33, 37, 82, & - 35, 60, 74, & - 38, 55, 84, & - 44, 52, 61, & - 51, 53, 72, & - 58, 59, 67, & - 47, 56, 76, & - 1, 19, 37, & - 2, 61, 75, & - 3, 8, 66, & - 4, 60, 84, & - 5, 34, 39, & - 6, 26, 53, & - 7, 32, 57, & - 9, 52, 67, & - 10, 12, 15, & - 11, 51, 69, & - 13, 14, 65, & - 16, 31, 43, & - 17, 20, 36, & - 18, 80, 86, & - 21, 48, 59, & - 22, 40, 46, & - 23, 33, 62, & - 24, 30, 74, & - 25, 42, 64, & - 27, 49, 85, & - 28, 38, 73, & - 29, 44, 81, & - 35, 68, 70, & - 41, 63, 76, & - 45, 49, 71, & - 50, 58, 87, & - 48, 54, 83, & - 13, 55, 79, & - 77, 78, 82, & - 1, 2, 24, & - 3, 6, 75, & - 4, 56, 87, & - 5, 44, 53, & - 7, 50, 83, & - 8, 10, 28, & - 9, 55, 62, & - 11, 29, 67, & - 12, 33, 40, & - 14, 16, 20, & - 15, 35, 73, & - 17, 31, 39, & - 18, 36, 57, & - 19, 46, 76, & - 21, 42, 84, & - 22, 34, 59, & - 23, 26, 61, & - 25, 60, 65, & - 27, 64, 80, & - 30, 37, 66, & - 32, 45, 72, & - 38, 51, 86, & - 41, 77, 79, & - 43, 56, 68, & - 47, 74, 82, & - 40, 52, 78, & - 54, 61, 71, & - 46, 58, 69/ - -data Nm/ & - 1, 30, 60, 89, 118, 147, 0, & - 2, 31, 61, 90, 119, 147, 0, & - 3, 32, 62, 91, 120, 148, 0, & - 4, 33, 63, 92, 121, 149, 0, & - 2, 34, 64, 93, 122, 150, 0, & - 5, 33, 65, 94, 123, 148, 0, & - 6, 34, 66, 95, 124, 151, 0, & - 7, 35, 67, 96, 120, 152, 0, & - 8, 36, 68, 97, 125, 153, 0, & - 9, 37, 69, 98, 126, 152, 0, & - 10, 38, 70, 99, 127, 154, 0, & - 11, 39, 71, 100, 126, 155, 0, & - 12, 40, 61, 101, 128, 145, 0, & - 10, 33, 60, 95, 128, 156, 0, & - 13, 41, 72, 97, 126, 157, 0, & - 13, 42, 73, 90, 129, 156, 0, & - 14, 39, 74, 99, 130, 158, 0, & - 15, 43, 75, 102, 131, 159, 0, & - 16, 43, 71, 103, 118, 160, 0, & - 17, 44, 76, 98, 130, 156, 0, & - 18, 45, 60, 96, 132, 161, 0, & - 19, 46, 73, 83, 133, 162, 0, & - 12, 38, 77, 102, 134, 163, 0, & - 19, 47, 78, 104, 135, 147, 0, & - 1, 32, 77, 105, 136, 164, 0, & - 20, 48, 73, 106, 123, 163, 0, & - 21, 41, 79, 107, 137, 165, 0, & - 22, 42, 66, 108, 138, 152, 0, & - 18, 42, 80, 109, 139, 154, 0, & - 23, 49, 81, 110, 135, 166, 0, & - 16, 50, 82, 91, 129, 158, 0, & - 3, 48, 63, 107, 124, 167, 0, & - 6, 51, 67, 111, 134, 155, 0, & - 24, 35, 77, 100, 122, 162, 0, & - 20, 45, 76, 112, 140, 157, 0, & - 21, 36, 64, 92, 130, 159, 0, & - 8, 52, 83, 111, 118, 166, 0, & - 21, 53, 84, 113, 138, 168, 0, & - 25, 51, 79, 89, 122, 158, 0, & - 22, 44, 75, 107, 133, 155, 172, & - 9, 54, 84, 90, 141, 169, 0, & - 22, 54, 85, 110, 136, 161, 0, & - 8, 37, 65, 102, 129, 170, 0, & - 19, 39, 85, 114, 139, 150, 0, & - 26, 55, 71, 93, 142, 167, 0, & - 27, 56, 65, 96, 133, 160, 174, & - 28, 31, 86, 100, 117, 171, 0, & - 28, 52, 70, 104, 132, 144, 0, & - 24, 57, 68, 95, 137, 142, 0, & - 7, 30, 72, 110, 143, 151, 0, & - 4, 51, 76, 115, 127, 168, 0, & - 16, 45, 87, 114, 125, 172, 0, & - 15, 30, 86, 115, 123, 150, 0, & - 23, 46, 64, 91, 144, 173, 0, & - 23, 35, 75, 113, 145, 153, 0, & - 14, 41, 87, 108, 117, 149, 170, & - 25, 40, 85, 94, 124, 159, 0, & - 25, 58, 69, 116, 143, 174, 0, & - 29, 43, 61, 116, 132, 162, 0, & - 15, 58, 88, 112, 121, 164, 0, & - 4, 59, 72, 114, 119, 163, 173, & - 27, 47, 86, 98, 134, 153, 0, & - 5, 44, 78, 109, 141, 0, 0, & - 10, 46, 69, 103, 136, 165, 0, & - 9, 50, 59, 93, 128, 164, 0, & - 14, 57, 58, 109, 120, 166, 0, & - 17, 55, 62, 116, 125, 154, 0, & - 3, 54, 70, 101, 140, 170, 0, & - 1, 36, 82, 108, 127, 174, 0, & - 5, 53, 81, 105, 140, 0, 0, & - 29, 53, 67, 99, 142, 173, 0, & - 18, 49, 74, 97, 115, 167, 0, & - 2, 57, 63, 103, 138, 157, 0, & - 26, 38, 79, 112, 135, 171, 0, & - 11, 52, 66, 88, 119, 148, 0, & - 20, 40, 68, 117, 141, 160, 0, & - 11, 48, 81, 89, 146, 169, 0, & - 29, 47, 80, 92, 146, 172, 0, & - 6, 32, 87, 104, 145, 169, 0, & - 27, 34, 74, 106, 131, 165, 0, & - 12, 56, 84, 88, 139, 0, 0, & - 13, 56, 62, 111, 146, 171, 0, & - 26, 37, 80, 105, 144, 151, 0, & - 17, 31, 82, 113, 121, 161, 0, & - 28, 49, 59, 94, 137, 0, 0, & - 7, 55, 83, 101, 131, 168, 0, & - 24, 50, 78, 106, 143, 149, 0/ - -data nrw/ & - 6,6,6,6,6,6,6,6,6,6, & - 6,6,6,6,6,6,6,6,6,6, & - 6,6,6,6,6,6,6,6,6,6, & - 6,6,6,6,6,6,6,6,6,7, & - 6,6,6,6,6,7,6,6,6,6, & - 6,6,6,6,6,7,6,6,6,6, & - 7,6,5,6,6,6,6,6,6,5, & - 6,6,6,6,6,6,6,6,6,6, & - 5,6,6,6,5,6,6/ - -ncw=3 - -decoded=0 -toc=0 -tov=0 -tanhtoc=0 -! initialize messages to checks -do j=1,M - do i=1,nrw(j) - toc(i,j)=llr((Nm(i,j))) - enddo -enddo - -ncnt=0 - -do iter=0,maxiterations - -! Update bit log likelihood ratios (tov=0 in iteration 0). - do i=1,N - if( apmask(i) .ne. 1 ) then - zn(i)=llr(i)+sum(tov(1:ncw,i)) - else - zn(i)=llr(i) - endif - enddo - -! Check to see if we have a codeword (check before we do any iteration). - cw=0 - where( zn .gt. 0. ) cw=1 - ncheck=0 - do i=1,M - synd(i)=sum(cw(Nm(1:nrw(i),i))) - if( mod(synd(i),2) .ne. 0 ) ncheck=ncheck+1 -! if( mod(synd(i),2) .ne. 0 ) write(*,*) 'check ',i,' unsatisfied' - enddo -! write(*,*) 'number of unsatisfied parity checks ',ncheck - if( ncheck .eq. 0 ) then ! we have a codeword - reorder the columns and return it - codeword=cw(colorder+1) - decoded=codeword(M+1:N) - nerr=0 - do i=1,N - if( (2*cw(i)-1)*llr(i) .lt. 0.0 ) nerr=nerr+1 - enddo - nharderror=nerr - return - endif - - if( iter.gt.0 ) then ! this code block implements an early stopping criterion -! if( iter.gt.10000 ) then ! this code block implements an early stopping criterion - nd=ncheck-nclast - if( nd .lt. 0 ) then ! # of unsatisfied parity checks decreased - ncnt=0 ! reset counter - else - ncnt=ncnt+1 - endif -! write(*,*) iter,ncheck,nd,ncnt - if( ncnt .ge. 5 .and. iter .ge. 10 .and. ncheck .gt. 15) then - nharderror=-1 - return - endif - endif - nclast=ncheck - -! Send messages from bits to check nodes - do j=1,M - do i=1,nrw(j) - ibj=Nm(i,j) - toc(i,j)=zn(ibj) - do kk=1,ncw ! subtract off what the bit had received from the check - if( Mn(kk,ibj) .eq. j ) then - toc(i,j)=toc(i,j)-tov(kk,ibj) - endif - enddo - enddo - enddo - -! send messages from check nodes to variable nodes - do i=1,M - tanhtoc(1:7,i)=tanh(-toc(1:7,i)/2) - enddo - - do j=1,N - do i=1,ncw - ichk=Mn(i,j) ! Mn(:,j) are the checks that include bit j - Tmn=product(tanhtoc(1:nrw(ichk),ichk),mask=Nm(1:nrw(ichk),ichk).ne.j) - call platanh(-Tmn,y) -! y=atanh(-Tmn) - tov(i,j)=2*y - enddo - enddo - -enddo -nharderror=-1 -return -end subroutine bpdecode174 diff --git a/lib/ft8/chkcrc12a.f90 b/lib/ft8/chkcrc12a.f90 deleted file mode 100644 index fc4291907..000000000 --- a/lib/ft8/chkcrc12a.f90 +++ /dev/null @@ -1,24 +0,0 @@ -subroutine chkcrc12a(decoded,nbadcrc) - - use crc - integer*1 decoded(87) - integer*1, target:: i1Dec8BitBytes(11) - character*87 cbits - -! Write decoded bits into cbits: 75-bit message plus 12-bit CRC - write(cbits,1000) decoded -1000 format(87i1) - read(cbits,1001) i1Dec8BitBytes -1001 format(11b8) - read(cbits,1002) ncrc12 !Received CRC12 -1002 format(75x,b12) - - i1Dec8BitBytes(10)=iand(i1Dec8BitBytes(10),128+64+32) - i1Dec8BitBytes(11)=0 - icrc12=crc12(c_loc(i1Dec8BitBytes),11) !CRC12 computed from 75 msg bits - - nbadcrc=1 - if(ncrc12.eq.icrc12) nbadcrc=0 - - return -end subroutine chkcrc12a diff --git a/lib/ft8/foxgen.f90 b/lib/ft8/foxgen.f90 index 806b20648..7492a6f70 100644 --- a/lib/ft8/foxgen.f90 +++ b/lib/ft8/foxgen.f90 @@ -20,7 +20,6 @@ subroutine foxgen() character*37 msg,msgsent integer itone(79) integer*1 msgbits(77),msgbits2 - integer*1, target:: i1Msg8BitBytes(11) integer*1, target:: mycall real x(NFFT) real*8 dt,twopi,f0,fstep,dfreq,phi,dphi diff --git a/lib/ft8/ft8_params.f90 b/lib/ft8/ft8_params.f90 index 858e61e96..bd228bdef 100644 --- a/lib/ft8/ft8_params.f90 +++ b/lib/ft8/ft8_params.f90 @@ -1,5 +1,5 @@ -! LDPC (174,87) code -parameter (KK=87) !Information bits (75 + CRC12) +! LDPC (174,91) code +parameter (KK=91) !Information bits (77 + CRC14) parameter (ND=58) !Data symbols parameter (NS=21) !Sync symbols (3 @ Costas 7x7) parameter (NN=NS+ND) !Total channel symbols (79) diff --git a/lib/ft8/ft8apset.f90 b/lib/ft8/ft8apset.f90 index 178c61161..15eddd057 100644 --- a/lib/ft8/ft8apset.f90 +++ b/lib/ft8/ft8apset.f90 @@ -4,7 +4,6 @@ subroutine ft8apset(mycall12,hiscall12,apsym) character*37 msg character*12 mycall12,hiscall12,hiscall integer apsym(58) - integer*1 msgbits(77) logical nohiscall if(len(trim(mycall12)).eq.0) then @@ -30,10 +29,10 @@ subroutine ft8apset(mycall12,hiscall12,apsym) apsym(1)=99 apsym(30)=99 return - endif read(c77,'(58i1)',err=1) apsym(1:58) + apsym=2*apsym-1 if(nohiscall) apsym(30)=99 return diff --git a/lib/ft8/ft8b.f90 b/lib/ft8/ft8b.f90 index 68d148c65..5db48341a 100644 --- a/lib/ft8/ft8b.f90 +++ b/lib/ft8/ft8b.f90 @@ -7,30 +7,25 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & use packjt77 include 'ft8_params.f90' parameter(NP2=2812) - character*37 msg37,msgsent37 + character*37 msg37 character*12 mycall12,hiscall12,hiscall12_0 character*77 c77 - character*6 mycall6,hiscall6,c1,c2 character*13 c13 - character*87 cbits real a(5) real s8(0:7,NN) real s2(0:511),s2l(0:511) real bmeta(174),bmetb(174),bmetc(174) - real bmetal(174),bmetbl(174),bmetcl(174) real llra(174),llrb(174),llrc(174),llrd(174) !Soft symbols - real llral(174),llrbl(174),llrcl(174) !Soft symbols real dd0(15*12000) integer*1 message77(77),apmask(174),cw(174) integer apsym(58) - integer mcq(29),mcqru(29),mcqfd(29),mcqtest(29),mcqhund(29) + integer mcq(29),mcqru(29),mcqfd(29),mcqtest(29) integer mrrr(19),m73(19),mrr73(19) integer itone(NN) integer icos7(0:6),ip(1) integer nappasses(0:5) !Number of decoding passes to use for each QSO state integer naptypes(0:5,4) ! (nQSOProgress, decoding pass) maximum of 4 passes for now integer ncontest,ncontest0 - integer*1, target:: i1hiscall(12) logical one(0:511,0:8) integer graymap(0:7) complex cd0(0:3199) @@ -43,7 +38,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & data mcqru/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,1,1,0,0/ data mcqfd/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0/ data mcqtest/0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,1,1,1,1,1,1,0,0,1,0/ - data mcqhund/0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,0,0/ data mrrr/0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1/ data m73/0,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1/ data mrr73/0,1,1,1,1,1,1,0,0,1,1,1,0,1,0,1,0,0,1/ @@ -57,7 +51,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & mcqfd=2*mcqfd-1 mcqru=2*mcqru-1 mcqtest=2*mcqtest-1 - mcqhund=2*mcqhund-1 mrrr=2*mrrr-1 m73=2*m73-1 mrr73=2*mrr73-1 @@ -205,37 +198,26 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & do ib=0,ibmax bm=maxval(s2(0:nt-1),one(0:nt-1,ibmax-ib)) - & maxval(s2(0:nt-1),.not.one(0:nt-1,ibmax-ib)) -! bml=maxval(s2l(0:nt-1),one(0:nt-1,ibmax-ib)) - & -! maxval(s2l(0:nt-1),.not.one(0:nt-1,ibmax-ib)) if(i32+ib .gt.174) cycle if(nsym.eq.1) then bmeta(i32+ib)=bm -! bmetal(i32+ib)=bml elseif(nsym.eq.2) then bmetb(i32+ib)=bm -! bmetbl(i32+ib)=bml elseif(nsym.eq.3) then bmetc(i32+ib)=bm -! bmetcl(i32+ib)=bml endif enddo enddo enddo enddo call normalizebmet(bmeta,174) -! call normalizebmet(bmetal,174) call normalizebmet(bmetb,174) -! call normalizebmet(bmetbl,174) call normalizebmet(bmetc,174) -! call normalizebmet(bmetcl,174) scalefac=2.83 llra=scalefac*bmeta -! llral=scalefac*bmetal llrb=scalefac*bmetb -! llrbl=scalefac*bmetbl llrc=scalefac*bmetc -! llrcl=scalefac*bmetcl apmag=maxval(abs(llra))*1.01 @@ -290,7 +272,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & if(ncontest.eq.6.and.f1.gt.950.0) cycle ! Hounds use AP only for signals below 950 Hz if(iaptype.ge.2 .and. apsym(1).gt.1) cycle ! No, or nonstandard, mycall if(iaptype.ge.3 .and. apsym(30).gt.1) cycle ! No, or nonstandard, dxcall - apsym=2*apsym-1 ! Change from [0,1] to antipodal if(iaptype.eq.1) then ! CQ or CQ RU or CQ TEST or CQ FD apmask=0 @@ -300,7 +281,7 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & if(ncontest.eq.2) llrd(1:29)=apmag*mcqtest(1:29) if(ncontest.eq.3) llrd(1:29)=apmag*mcqfd(1:29) if(ncontest.eq.4) llrd(1:29)=apmag*mcqru(1:29) - if(ncontest.eq.6) llrd(1:29)=apmag*mcqhund(1:29) + if(ncontest.eq.6) llrd(1:29)=apmag*mcq(1:29) apmask(75:77)=1 llrd(75:76)=apmag*(-1) llrd(77)=apmag*(+1) diff --git a/lib/ft8/ft8code.f90 b/lib/ft8/ft8code.f90 index c20aaaa38..cbafd34be 100644 --- a/lib/ft8/ft8code.f90 +++ b/lib/ft8/ft8code.f90 @@ -8,14 +8,11 @@ program ft8code include 'ft8_testmsg.f90' parameter (NWAVE=NN*NSPS) - character*77 c77 character*37 msg,msgsent character*9 comment - character bad*1,msgtype*16 - character*91 cbits + character bad*1,msgtype*18 integer itone(NN) integer*1 msgbits(77) - logical unpk77_success ! Get command-line argument(s) nargs=iargc() @@ -69,10 +66,10 @@ program ft8code if(msg.ne.msgsent) bad="*" if(n3.ge.0) then write(*,1020) imsg,msg,msgsent,bad,i3,n3,msgtype,comment -1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a16,1x,a9) +1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a18,1x,a9) else write(*,1022) imsg,msg,msgsent,bad,i3,msgtype,comment -1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a16,1x,a9) +1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a18,1x,a9) endif enddo diff --git a/lib/ft8/ft8sim.f90 b/lib/ft8/ft8sim.f90 index a1de4061f..bbec600d4 100644 --- a/lib/ft8/ft8sim.f90 +++ b/lib/ft8/ft8sim.f90 @@ -9,7 +9,7 @@ program ft8sim parameter (NWAVE=NN*NSPS) type(hdr) h !Header for .wav file character arg*12,fname*17 - character msg37*37,msgsent37*37,msg40*40 + character msg37*37,msgsent37*37 character c77*77 complex c0(0:NMAX-1) complex c(0:NMAX-1) @@ -108,7 +108,6 @@ program ft8sim ib=k wave=real(c) peak=maxval(abs(wave(ia:ib))) - rms=sqrt(dot_product(wave(ia:ib),wave(ia:ib))/NWAVE) nslots=1 if(width.gt.0.0) call filt8(f0,nslots,width,wave) @@ -119,10 +118,16 @@ program ft8sim enddo endif - fac=32767.0 - rms=100.0 - if(snrdb.ge.90.0) iwave(1:NMAX)=nint(fac*wave) - if(snrdb.lt.90.0) iwave(1:NMAX)=nint(rms*wave) + gain=100.0 + if(snrdb.lt.90.0) then + wave=gain*wave + else + datpk=maxval(abs(wave)) + fac=32766.9/datpk + wave=fac*wave + endif + if(any(abs(wave).gt.32767.0)) print*,"Warning - data will be clipped." + iwave=nint(wave) h=default_header(12000,NMAX) write(fname,1102) ifile diff --git a/lib/ft8/genft8.f90 b/lib/ft8/genft8.f90 index 3c6a5cee7..bf3116b88 100644 --- a/lib/ft8/genft8.f90 +++ b/lib/ft8/genft8.f90 @@ -19,8 +19,11 @@ subroutine genft8(msg,i3,n3,msgsent,msgbits,itone) call pack77(msg,i3,n3,c77) call unpack77(c77,msgsent,unpk77_success) read(c77,'(77i1)',err=1) msgbits - go to 2 -1 write(81,*) msg,c77 ; flush(81) + if(unpk77_success) go to 2 +1 msgbits=0 + itone=0 + msgsent='*** bad message *** ' + go to 900 entry get_tones_from_77bits(msgbits,itone) @@ -39,5 +42,5 @@ entry get_tones_from_77bits(msgbits,itone) itone(k)=graymap(indx) enddo - return +900 return end subroutine genft8 diff --git a/lib/ft8/osd174.f90 b/lib/ft8/osd174.f90 deleted file mode 100644 index 45d7faa4b..000000000 --- a/lib/ft8/osd174.f90 +++ /dev/null @@ -1,365 +0,0 @@ -subroutine osd174(llr,apmask,ndeep,decoded,cw,nhardmin,dmin) -! -! An ordered-statistics decoder for the (174,87) code. -! -include "ldpc_174_87_params.f90" - -integer*1 apmask(N),apmaskr(N) -integer*1 gen(K,N) -integer*1 genmrb(K,N),g2(N,K) -integer*1 temp(K),m0(K),me(K),mi(K),misub(K),e2sub(N-K),e2(N-K),ui(N-K) -integer*1 r2pat(N-K) -integer indices(N),nxor(N) -integer*1 cw(N),ce(N),c0(N),hdec(N) -integer*1 decoded(K) -integer indx(N) -real llr(N),rx(N),absrx(N) -logical first,reset -data first/.true./ -save first,gen - -if( first ) then ! fill the generator matrix - gen=0 - do i=1,M - do j=1,22 - read(g(i)(j:j),"(Z1)") istr - do jj=1, 4 - irow=(j-1)*4+jj - if( btest(istr,4-jj) ) gen(irow,i)=1 - enddo - enddo - enddo - do irow=1,K - gen(irow,M+irow)=1 - enddo -first=.false. -endif - -! Re-order received vector to place systematic msg bits at the end. -rx=llr(colorder+1) -apmaskr=apmask(colorder+1) - -! Hard decisions on the received word. -hdec=0 -where(rx .ge. 0) hdec=1 - -! Use magnitude of received symbols as a measure of reliability. -absrx=abs(rx) -call indexx(absrx,N,indx) - -! Re-order the columns of the generator matrix in order of decreasing reliability. -do i=1,N - genmrb(1:K,i)=gen(1:K,indx(N+1-i)) - indices(i)=indx(N+1-i) -enddo - -! Do gaussian elimination to create a generator matrix with the most reliable -! received bits in positions 1:K in order of decreasing reliability (more or less). -do id=1,K ! diagonal element indices - do icol=id,K+20 ! The 20 is ad hoc - beware - iflag=0 - if( genmrb(id,icol) .eq. 1 ) then - iflag=1 - if( icol .ne. id ) then ! reorder column - temp(1:K)=genmrb(1:K,id) - genmrb(1:K,id)=genmrb(1:K,icol) - genmrb(1:K,icol)=temp(1:K) - itmp=indices(id) - indices(id)=indices(icol) - indices(icol)=itmp - endif - do ii=1,K - if( ii .ne. id .and. genmrb(ii,id) .eq. 1 ) then - genmrb(ii,1:N)=ieor(genmrb(ii,1:N),genmrb(id,1:N)) - endif - enddo - exit - endif - enddo -enddo - -g2=transpose(genmrb) - -! The hard decisions for the K MRB bits define the order 0 message, m0. -! Encode m0 using the modified generator matrix to find the "order 0" codeword. -! Flip various combinations of bits in m0 and re-encode to generate a list of -! codewords. Return the member of the list that has the smallest Euclidean -! distance to the received word. - -hdec=hdec(indices) ! hard decisions from received symbols -m0=hdec(1:K) ! zero'th order message -absrx=absrx(indices) -rx=rx(indices) -apmaskr=apmaskr(indices) - -call mrbencode(m0,c0,g2,N,K) -nxor=ieor(c0,hdec) -nhardmin=sum(nxor) -dmin=sum(nxor*absrx) - -cw=c0 -ntotal=0 -nrejected=0 - -if(ndeep.eq.0) goto 998 ! norder=0 -if(ndeep.gt.5) ndeep=5 -if( ndeep.eq. 1) then - nord=1 - npre1=0 - npre2=0 - nt=40 - ntheta=12 -elseif(ndeep.eq.2) then - nord=1 - npre1=1 - npre2=0 - nt=40 - ntheta=12 -elseif(ndeep.eq.3) then - nord=1 - npre1=1 - npre2=1 - nt=40 - ntheta=12 - ntau=14 -elseif(ndeep.eq.4) then - nord=2 - npre1=1 - npre2=0 - nt=40 - ntheta=12 - ntau=19 -elseif(ndeep.eq.5) then - nord=2 - npre1=1 - npre2=1 - nt=40 - ntheta=12 - ntau=19 -endif - -do iorder=1,nord - misub(1:K-iorder)=0 - misub(K-iorder+1:K)=1 - iflag=K-iorder+1 - do while(iflag .ge.0) - if(iorder.eq.nord .and. npre1.eq.0) then - iend=iflag - else - iend=1 - endif - do n1=iflag,iend,-1 - mi=misub - mi(n1)=1 - if(any(iand(apmaskr(1:K),mi).eq.1)) cycle - ntotal=ntotal+1 - me=ieor(m0,mi) - if(n1.eq.iflag) then - call mrbencode(me,ce,g2,N,K) - e2sub=ieor(ce(K+1:N),hdec(K+1:N)) - e2=e2sub - nd1Kpt=sum(e2sub(1:nt))+1 - d1=sum(ieor(me(1:K),hdec(1:K))*absrx(1:K)) - else - e2=ieor(e2sub,g2(K+1:N,n1)) - nd1Kpt=sum(e2(1:nt))+2 - endif - if(nd1Kpt .le. ntheta) then - call mrbencode(me,ce,g2,N,K) - nxor=ieor(ce,hdec) - if(n1.eq.iflag) then - dd=d1+sum(e2sub*absrx(K+1:N)) - else - dd=d1+ieor(ce(n1),hdec(n1))*absrx(n1)+sum(e2*absrx(K+1:N)) - endif - if( dd .lt. dmin ) then - dmin=dd - cw=ce - nhardmin=sum(nxor) - nd1Kptbest=nd1Kpt - endif - else - nrejected=nrejected+1 - endif - enddo -! Get the next test error pattern, iflag will go negative -! when the last pattern with weight iorder has been generated. - call nextpat(misub,k,iorder,iflag) - enddo -enddo - -if(npre2.eq.1) then - reset=.true. - ntotal=0 - do i1=K,1,-1 - do i2=i1-1,1,-1 - ntotal=ntotal+1 - mi(1:ntau)=ieor(g2(K+1:K+ntau,i1),g2(K+1:K+ntau,i2)) - call boxit(reset,mi(1:ntau),ntau,ntotal,i1,i2) - enddo - enddo - - ncount2=0 - ntotal2=0 - reset=.true. -! Now run through again and do the second pre-processing rule - misub(1:K-nord)=0 - misub(K-nord+1:K)=1 - iflag=K-nord+1 - do while(iflag .ge.0) - me=ieor(m0,misub) - call mrbencode(me,ce,g2,N,K) - e2sub=ieor(ce(K+1:N),hdec(K+1:N)) - do i2=0,ntau - ntotal2=ntotal2+1 - ui=0 - if(i2.gt.0) ui(i2)=1 - r2pat=ieor(e2sub,ui) -778 continue - call fetchit(reset,r2pat(1:ntau),ntau,in1,in2) - if(in1.gt.0.and.in2.gt.0) then - ncount2=ncount2+1 - mi=misub - mi(in1)=1 - mi(in2)=1 - if(sum(mi).lt.nord+npre1+npre2.or.any(iand(apmaskr(1:K),mi).eq.1)) cycle - me=ieor(m0,mi) - call mrbencode(me,ce,g2,N,K) - nxor=ieor(ce,hdec) - dd=sum(nxor*absrx) - if( dd .lt. dmin ) then - dmin=dd - cw=ce - nhardmin=sum(nxor) - endif - goto 778 - endif - enddo - call nextpat(misub,K,nord,iflag) - enddo -endif - -998 continue -! Re-order the codeword to place message bits at the end. -cw(indices)=cw -hdec(indices)=hdec -decoded=cw(M+1:N) -cw(colorder+1)=cw ! put the codeword back into received-word order -return -end subroutine osd174 - -subroutine mrbencode(me,codeword,g2,N,K) -integer*1 me(K),codeword(N),g2(N,K) -! fast encoding for low-weight test patterns - codeword=0 - do i=1,K - if( me(i) .eq. 1 ) then - codeword=ieor(codeword,g2(1:N,i)) - endif - enddo -return -end subroutine mrbencode - -subroutine nextpat(mi,k,iorder,iflag) - integer*1 mi(k),ms(k) -! generate the next test error pattern - ind=-1 - do i=1,k-1 - if( mi(i).eq.0 .and. mi(i+1).eq.1) ind=i - enddo - if( ind .lt. 0 ) then ! no more patterns of this order - iflag=ind - return - endif - ms=0 - ms(1:ind-1)=mi(1:ind-1) - ms(ind)=1 - ms(ind+1)=0 - if( ind+1 .lt. k ) then - nz=iorder-sum(ms) - ms(k-nz+1:k)=1 - endif - mi=ms - do i=1,k ! iflag will point to the lowest-index 1 in mi - if(mi(i).eq.1) then - iflag=i - exit - endif - enddo - return -end subroutine nextpat - -subroutine boxit(reset,e2,ntau,npindex,i1,i2) - integer*1 e2(1:ntau) - integer indexes(4000,2),fp(0:525000),np(4000) - logical reset - common/boxes/indexes,fp,np - - if(reset) then - patterns=-1 - fp=-1 - np=-1 - sc=-1 - indexes=-1 - reset=.false. - endif - - indexes(npindex,1)=i1 - indexes(npindex,2)=i2 - ipat=0 - do i=1,ntau - if(e2(i).eq.1) then - ipat=ipat+ishft(1,ntau-i) - endif - enddo - - ip=fp(ipat) ! see what's currently stored in fp(ipat) - if(ip.eq.-1) then - fp(ipat)=npindex - else - do while (np(ip).ne.-1) - ip=np(ip) - enddo - np(ip)=npindex - endif - return -end subroutine boxit - -subroutine fetchit(reset,e2,ntau,i1,i2) - integer indexes(4000,2),fp(0:525000),np(4000) - integer lastpat - integer*1 e2(ntau) - logical reset - common/boxes/indexes,fp,np - save lastpat,inext - - if(reset) then - lastpat=-1 - reset=.false. - endif - - ipat=0 - do i=1,ntau - if(e2(i).eq.1) then - ipat=ipat+ishft(1,ntau-i) - endif - enddo - index=fp(ipat) - - if(lastpat.ne.ipat .and. index.gt.0) then ! return first set of indices - i1=indexes(index,1) - i2=indexes(index,2) - inext=np(index) - elseif(lastpat.eq.ipat .and. inext.gt.0) then - i1=indexes(inext,1) - i2=indexes(inext,2) - inext=np(inext) - else - i1=-1 - i2=-1 - inext=-1 - endif - lastpat=ipat - return -end subroutine fetchit - diff --git a/lib/ft8/sync8.f90 b/lib/ft8/sync8.f90 index f68e0a9c8..3924f1bad 100644 --- a/lib/ft8/sync8.f90 +++ b/lib/ft8/sync8.f90 @@ -44,7 +44,6 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,maxcand,s,candidate, & nssy=NSPS/NSTEP ! # steps per symbol nfos=NFFT1/NSPS ! # frequency bin oversampling factor jstrt=0.5/tstep - candidate0=0. k=0 @@ -133,7 +132,8 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,maxcand,s,candidate, & j=indx(i) ! if( candidate0(3,j) .ge. syncmin .and. candidate0(2,j).ge.-1.5 ) then if( candidate0(3,j) .ge. syncmin ) then - candidate(1:3,k)=abs(candidate0(1:3,j)) + candidate(2:3,k)=candidate0(2:3,j) + candidate(1,k)=abs(candidate0(1,j)) k=k+1 endif enddo diff --git a/lib/ft8_decode.f90 b/lib/ft8_decode.f90 index 511252c42..e29fa921d 100644 --- a/lib/ft8_decode.f90 +++ b/lib/ft8_decode.f90 @@ -52,7 +52,7 @@ contains character*12 mycall12,hiscall12,mycall12_0 character*6 hisgrid6 integer*2 iwave(15*12000) - integer apsym1(KK),apsym2(58) + integer apsym2(58) character datetime*13,msg37*37 ! character message*22 character*37 allmessages(100) diff --git a/lib/jt65sim.f90 b/lib/jt65sim.f90 index 4d237e553..6f7030cf4 100644 --- a/lib/jt65sim.f90 +++ b/lib/jt65sim.f90 @@ -21,12 +21,13 @@ program jt65sim character msg*22,fname*11,csubmode*1,c,optarg*500,numbuf*32 ! character call1*5,call2*5 logical :: display_help=.false.,seed_prngs=.true. - type (option) :: long_options(12) = [ & + type (option) :: long_options(13) = [ & option ('help',.false.,'h','Display this help message',''), & option ('sub-mode',.true.,'m','sub mode, default MODE=A','MODE'), & option ('num-sigs',.true.,'n','number of signals per file, default SIGNALS=10','SIGNALS'), & option ('f0',.true.,'F','base frequency offset, default F0=1500.0','F0'), & option ('doppler-spread',.true.,'d','Doppler spread, default SPREAD=0.0','SPREAD'), & + option ('drift per min',.true.,'D','Frequency drift (Hz/min), default DRIFT=0.0','DRIFT'), & option ('time-offset',.true.,'t','Time delta, default SECONDS=0.0','SECONDS'), & option ('num-files',.true.,'f','Number of files to generate, default FILES=1','FILES'), & option ('no-prng-seed',.false.,'p','Do not seed PRNGs (use for reproducible tests)',''), & @@ -50,6 +51,7 @@ program jt65sim nsigs=10 bf0=1500. fspread=0. + drift=0. xdt=0. snrdb=0. nfiles=1 @@ -58,7 +60,7 @@ program jt65sim msg="K1ABC W9XYZ EN37" do - call getopt('hm:n:F:d:t:f:ps:SG:M:',long_options,c,optarg,narglen,nstat,noffset,nremain,.true.) + call getopt('hm:n:F:d:D:t:f:ps:SG:M:',long_options,c,optarg,narglen,nstat,noffset,nremain,.true.) if( nstat .ne. 0 ) then exit end if @@ -76,6 +78,8 @@ program jt65sim read (optarg(:narglen), *,err=10) bf0 case ('d') read (optarg(:narglen), *,err=10) fspread + case ('D') + read (optarg(:narglen), *,err=10) drift case ('t') read (optarg(:narglen), *) numbuf if (numbuf(1:1) == '\') then !'\' @@ -105,7 +109,6 @@ program jt65sim end if case ('M') read (optarg(:narglen), '(A)',err=10) msg - write(*,*) msg end select cycle 10 display_help=.true. @@ -190,6 +193,21 @@ program jt65sim endif enddo + if(len(trim(msg)).eq.2.or.len(trim(msg)).eq.3) then + nshorthand=0 + if(msg(1:2).eq.'RO') nshorthand=2 + if(msg(1:3).eq.'RRR') nshorthand=3 + if(msg(1:2).eq.'73') nshorthand=4 + if(nshorthand.gt.0) then + ntoggle=0 + do i=1,nsym,2 + itone(i)=ntoggle*10*nshorthand + if(i+1.le.126) itone(i+1)=ntoggle*10*nshorthand + ntoggle=mod(ntoggle+1,2) + enddo + endif + endif + bandwidth_ratio=2500.0/(fsample/2.0) sig=sqrt(2*bandwidth_ratio)*10.0**(0.05*xsnr) if(xsnr.gt.90.0) sig=1.0 @@ -203,11 +221,8 @@ program jt65sim do i=1,npts !Add this signal into cdat() isym=floor(i/sps)+1 if(isym.gt.nsym) exit - if(isym.ne.isym0) then - freq=f0 + itone(isym)*baud*mode65 - dphi=twopi*freq*dt - isym0=isym - endif + freq=f0 + (drift/60.0)*(i-npts/2)*dt + itone(isym)*baud*mode65 + dphi=twopi*freq*dt phi=phi + dphi if(phi.gt.twopi) phi=phi-twopi xphi=phi @@ -282,9 +297,9 @@ program jt65sim endif - dat=aimag(cdat) + xnoise !Add the generated noise + dat(1:npts)=aimag(cdat(1:npts)) + xnoise(1:npts) !Add the generated noise if(snrdb.lt.90.0) then - dat=rms*dat(1:npts) + dat(1:npts)=rms*dat(1:npts) else datpk=maxval(abs(dat(1:npts))) fac=32766.9/datpk diff --git a/lib/msk144code.f90 b/lib/msk144code.f90 index 6c8963d01..81a185159 100644 --- a/lib/msk144code.f90 +++ b/lib/msk144code.f90 @@ -5,7 +5,7 @@ program msk144code use packjt77 character*77 c77 - character msg*37,msgsent*37,decoded,bad*1,msgtype*16 + character msg*37,msgsent*37,decoded,bad*1,msgtype*18 integer*4 i4tone(144) include 'msk144_testmsg.f90' @@ -61,13 +61,13 @@ program msk144code if(msg.ne.msgsent) bad="*" if(i3.eq.0.and.n3.ge.0) then write(*,1020) imsg,msg,msgsent,bad,i3,n3,msgtype -1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a16) +1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a18) elseif(i3.ge.1) then write(*,1022) imsg,msg,msgsent,bad,i3,msgtype -1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a16) +1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a18) elseif(i3.lt.0) then write(*,1024) imsg,msg,msgsent,bad,msgtype -1024 format(i2,'.',1x,a37,1x,a37,1x,a1,6x,a16) +1024 format(i2,'.',1x,a37,1x,a37,1x,a1,6x,a18) endif enddo diff --git a/lib/msk144decodeframe.f90 b/lib/msk144decodeframe.f90 index de039aadc..19da84937 100644 --- a/lib/msk144decodeframe.f90 +++ b/lib/msk144decodeframe.f90 @@ -100,7 +100,7 @@ subroutine msk144decodeframe(c,softbits,msgreceived,nsuccess) if( nharderror .ge. 0 .and. nharderror .lt. 18 ) then nsuccess=1 write(c77,'(77i1)') decoded77 - read(c77(72:77),'(2b3)'),n3,i3 + read(c77(72:77),'(2b3)') n3,i3 if( (i3.eq.0.and.(n3.eq.1 .or. n3.eq.3 .or. n3.eq.4 .or. n3.gt.5)) .or. i3.eq.3 .or. i3.gt.4 ) then nsuccess=0 else diff --git a/lib/msk144sim.f90 b/lib/msk144sim.f90 index 7b2a8a00b..3472d8827 100644 --- a/lib/msk144sim.f90 +++ b/lib/msk144sim.f90 @@ -5,7 +5,6 @@ program msk144sim real pings(0:NMAX-1) real waveform(0:NMAX-1) character arg*8,msg*37,msgsent*37,fname*40 - character*77 c77 real wave(0:NMAX-1) !Simulated received waveform real*8 twopi,freq,phi,dphi0,dphi1,dphi type(hdr) h !Header for .wav file diff --git a/lib/sync4.f90 b/lib/sync4.f90 index e3a6a24de..9bfe6c60b 100644 --- a/lib/sync4.f90 +++ b/lib/sync4.f90 @@ -29,7 +29,7 @@ subroutine sync4(dat,jz,ntol,nfqso,mode,mode4,minwidth,dtx,dfx,snrx, & df=0.5*11025.0/nfft ftop=nfqso + 7*mode4*df if(ftop.gt.11025.0/4.0) then - print*,'*** Rx Freq is set too high for this submode ***' + print*,'*** Rx Freq is set too high for this sybmode ***' go to 900 endif @@ -139,11 +139,8 @@ subroutine sync4(dat,jz,ntol,nfqso,mode,mode4,minwidth,dtx,dfx,snrx, & ns=ns+1 endif enddo - rms=0.1 - snrx=-26.0 - if(ns.gt.0) rms=sqrt(sq/ns) - if(ccfred(ipk1a).gt.0.0) snrx=10.0*log10(ccfred(ipk1a)/rms) - 41.2 - if(snrx.gt.50.0) snrx=50.0 + rms=sqrt(sq/ns) + snrx=10.0*log10(ccfred(ipk1a)/rms) - 41.2 900 return end subroutine sync4 diff --git a/logbook/AD1CCty.cpp b/logbook/AD1CCty.cpp index 42bacdd1c..58ed375f6 100644 --- a/logbook/AD1CCty.cpp +++ b/logbook/AD1CCty.cpp @@ -159,8 +159,9 @@ public: { } - Record fixup (QString const& call, prefix const& p) const + Record fixup (QString call, prefix const& p) const { + call = call.toUpper (); using entity_by_id = entities_type::index::type; entity_by_id::iterator e; // iterator into entity set diff --git a/logbook/WorkedBefore.cpp b/logbook/WorkedBefore.cpp index 41723e003..160e1fa8e 100644 --- a/logbook/WorkedBefore.cpp +++ b/logbook/WorkedBefore.cpp @@ -1,22 +1,29 @@ #include "WorkedBefore.hpp" #include +#include #include #include #include #include #include +#include +#include +#include #include #include #include #include #include +#include #include #include -#include + #include "qt_helpers.hpp" #include "pimpl_impl.hpp" +#include "moc_WorkedBefore.cpp" + using namespace boost::multi_index; // hash function for QString members in hashed indexes @@ -214,6 +221,20 @@ namespace { auto const logFileName = "wsjtx_log.adi"; + // Expception class suitable for using with QtConcurrent across + // thread boundaries + class LoaderException final + : public QException + { + public: + LoaderException (std::exception const& e) : error_ {e.what ()} {} + QString error () const {return error_;} + void raise () const override {throw *this;} + LoaderException * clone () const override {return new LoaderException {*this};} + private: + QString error_; + }; + QString extractField (QString const& record, QString const& fieldName) { int fieldNameIndex = record.indexOf ('<' + fieldName + ':', 0, Qt::CaseInsensitive); @@ -228,8 +249,12 @@ namespace if (dataTypeIndex > closingBracketIndex) dataTypeIndex = -1; // second : was found but it was beyond the closing > } + else + { + throw LoaderException (std::runtime_error {"Invalid ADIF field " + fieldName.toStdString () + ": " + record.toStdString ()}); + } - if ((closingBracketIndex > fieldNameIndex) && (fieldLengthIndex > fieldNameIndex) && (fieldLengthIndex< closingBracketIndex)) + if (closingBracketIndex > fieldNameIndex && fieldLengthIndex > fieldNameIndex && fieldLengthIndex < closingBracketIndex) { int fieldLengthCharCount = closingBracketIndex - fieldLengthIndex -1; if (dataTypeIndex >= 0) @@ -241,8 +266,93 @@ namespace return record.mid(closingBracketIndex+1,fieldLength); } } + else + { + throw LoaderException (std::runtime_error {"Malformed ADIF field " + fieldName.toStdString () + ": " + record.toStdString ()}); + } } - return ""; + return QString {}; + } + + worked_before_database_type loader (QString const& path, AD1CCty const * prefixes) + { + worked_before_database_type worked; + QFile inputFile {path}; + if (inputFile.exists ()) + { + if (inputFile.open (QFile::ReadOnly)) + { + QTextStream in {&inputFile}; + QString buffer; + bool pre_read {false}; + int end_position {-1}; + + // skip optional header record + do + { + buffer += in.readLine () + '\n'; + if (buffer.startsWith (QChar {'<'})) // denotes no header + { + pre_read = true; + } + else + { + end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); + } + } + while (!in.atEnd () && !pre_read && end_position < 0); + if (!pre_read) // found header + { + if (end_position < 0) + { + throw LoaderException (std::runtime_error {"Invalid ADIF header"}); + } + buffer.remove (0, end_position + 5); + } + while (!in.atEnd ()) + { + end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); + do + { + if (!in.atEnd () && end_position < 0) + { + buffer += in.readLine () + '\n'; + } + } + while ((end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive)) < 0 && !in.atEnd ()); + if (end_position < 0) + { + throw LoaderException (std::runtime_error {"Invalid ADIF record starting at: " + buffer.left (40).toStdString ()}); + } + auto record = buffer.left (end_position + 5).trimmed (); + auto next_record = buffer.indexOf (QChar {'<'}, end_position + 5); + buffer.remove (0, next_record >=0 ? next_record : buffer.size ()); + record = record.mid (record.indexOf (QChar {'<'})); + auto call = extractField (record, "CALL"); + if (call.size ()) + { + auto const& entity = prefixes->lookup (call); + worked.emplace (call.toUpper () + , extractField (record, "GRIDSQUARE").left (4).toUpper () // not interested in 6-digit grids + , extractField (record, "BAND").toUpper () + , extractField (record, "MODE").toUpper () + , entity.entity_name + , entity.continent + , entity.CQ_zone + , entity.ITU_zone); + } + else + { + throw LoaderException (std::runtime_error {"Invalid ADIF record with no CALL: " + record.toStdString ()}); + } + } + } + else + { + throw LoaderException (std::runtime_error {"Error opening ADIF log file for read: " + inputFile.errorString ().toStdString ()}); + } + } + return worked; } } @@ -254,70 +364,41 @@ public: { } + void reload () + { + async_loader_ = QtConcurrent::run (loader, path_, &prefixes_); + loader_watcher_.setFuture (async_loader_); + } + QString path_; AD1CCty prefixes_; + QFutureWatcher loader_watcher_; + QFuture async_loader_; worked_before_database_type worked_; }; WorkedBefore::WorkedBefore () { - QFile inputFile {m_->path_}; - if (inputFile.open (QFile::ReadOnly)) - { - QTextStream in {&inputFile}; - QString buffer; - bool pre_read {false}; - int end_position {-1}; + connect (&m_->loader_watcher_, &QFutureWatcher::finished, [this] () { + QString error; + size_t n {0}; + try + { + m_->worked_ = m_->loader_watcher_.result (); + n = m_->worked_.size (); + } + catch (LoaderException const& e) + { + error = e.error (); + } + Q_EMIT finished_loading (n, error); + }); + reload (); +} - // skip optional header record - do - { - buffer += in.readLine () + '\n'; - if (buffer.startsWith (QChar {'<'})) // denotes no header - { - pre_read = true; - } - else - { - end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); - } - } - while (!in.atEnd () && !pre_read && end_position < 0); - if (!pre_read) // found header - { - buffer.remove (0, end_position + 5); - } - while (buffer.size () || !in.atEnd ()) - { - do - { - end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); - if (!in.atEnd () && end_position < 0) - { - buffer += in.readLine () + '\n'; - } - } - while (!in.atEnd () && end_position < 0); - int record_length {end_position >= 0 ? end_position + 5 : -1}; - auto record = buffer.left (record_length).trimmed (); - auto next_record = buffer.indexOf (QChar {'<'}, record_length); - buffer.remove (0, next_record >=0 ? next_record : buffer.size ()); - record = record.mid (record.indexOf (QChar {'<'})); - auto call = extractField (record, "CALL"); - if (call.size ()) - { - auto const& entity = m_->prefixes_.lookup (call); - m_->worked_.emplace (call - , extractField (record, "GRIDSQUARE").left (4) // not interested in 6-digit grids - , extractField (record, "BAND") - , extractField (record, "MODE") - , entity.entity_name - , entity.continent - , entity.CQ_zone - , entity.ITU_zone); - } - } - } +void WorkedBefore::reload () +{ + m_->reload (); } WorkedBefore::~WorkedBefore () @@ -357,8 +438,8 @@ bool WorkedBefore::add (QString const& call } out << ADIF_record << " " << endl; } - m_->worked_.emplace (call, grid, band, mode, entity.entity_name - , entity.continent, entity.CQ_zone, entity.ITU_zone); + m_->worked_.emplace (call.toUpper (), grid.left (4).toUpper (), band.toUpper (), mode.toUpper () + , entity.entity_name, entity.continent, entity.CQ_zone, entity.ITU_zone); } return true; } @@ -372,7 +453,7 @@ bool WorkedBefore::country_worked (QString const& country, QString const& mode, return country.size () && m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (country, mode, band)); + != m_->worked_.get ().find (std::make_tuple (country, mode.toUpper (), band.toUpper ())); } else { @@ -380,7 +461,7 @@ bool WorkedBefore::country_worked (QString const& country, QString const& mode, return country.size () && m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (country, mode)); + != m_->worked_.get ().find (std::make_tuple (country, mode.toUpper ())); } } else @@ -390,7 +471,7 @@ bool WorkedBefore::country_worked (QString const& country, QString const& mode, return country.size () && m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (country, band)); + != m_->worked_.get ().find (std::make_tuple (country, band.toUpper ())); } else { @@ -410,13 +491,13 @@ bool WorkedBefore::grid_worked (QString const& grid, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (grid, mode, band)); + != m_->worked_.get ().find (std::make_tuple (grid.left (4).toUpper (), mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (grid, mode)); + != m_->worked_.get ().find (std::make_tuple (grid.left (4).toUpper (), mode.toUpper ())); } } else @@ -424,13 +505,13 @@ bool WorkedBefore::grid_worked (QString const& grid, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (grid, band)); + != m_->worked_.get ().find (std::make_tuple (grid.left (4).toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (grid); + != m_->worked_.get ().find (grid.left (4).toUpper ()); } } } @@ -442,13 +523,13 @@ bool WorkedBefore::call_worked (QString const& call, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call, mode, band)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper (), mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call, mode)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper (), mode.toUpper ())); } } else @@ -456,13 +537,13 @@ bool WorkedBefore::call_worked (QString const& call, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call, band)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper ())); } } } @@ -474,13 +555,13 @@ bool WorkedBefore::continent_worked (Continent continent, QString const& mode, Q if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (continent, mode, band)); + != m_->worked_.get ().find (std::make_tuple (continent, mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (continent, mode)); + != m_->worked_.get ().find (std::make_tuple (continent, mode.toUpper ())); } } else @@ -488,7 +569,7 @@ bool WorkedBefore::continent_worked (Continent continent, QString const& mode, Q if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (continent, band)); + != m_->worked_.get ().find (std::make_tuple (continent, band.toUpper ())); } else { @@ -506,13 +587,13 @@ bool WorkedBefore::CQ_zone_worked (int CQ_zone, QString const& mode, QString con if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode, band)); + != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode)); + != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode.toUpper ())); } } else @@ -520,7 +601,7 @@ bool WorkedBefore::CQ_zone_worked (int CQ_zone, QString const& mode, QString con if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (CQ_zone, band)); + != m_->worked_.get ().find (std::make_tuple (CQ_zone, band.toUpper ())); } else { @@ -538,13 +619,13 @@ bool WorkedBefore::ITU_zone_worked (int ITU_zone, QString const& mode, QString c if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode, band)); + != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode)); + != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode.toUpper ())); } } else @@ -552,7 +633,7 @@ bool WorkedBefore::ITU_zone_worked (int ITU_zone, QString const& mode, QString c if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (ITU_zone, band)); + != m_->worked_.get ().find (std::make_tuple (ITU_zone, band.toUpper ())); } else { diff --git a/logbook/WorkedBefore.hpp b/logbook/WorkedBefore.hpp index cd3304897..90a31813a 100644 --- a/logbook/WorkedBefore.hpp +++ b/logbook/WorkedBefore.hpp @@ -1,7 +1,7 @@ #ifndef WORKWED_BEFORE_HPP_ #define WORKWED_BEFORE_HPP_ -#include +#include #include "AD1CCty.hpp" #include "pimpl_h.hpp" @@ -10,21 +10,25 @@ class QString; class QByteArray; class WorkedBefore final - : private boost::noncopyable + : public QObject { + Q_OBJECT + public: using Continent = AD1CCty::Continent; explicit WorkedBefore (); ~WorkedBefore (); + Q_SLOT void reload (); + Q_SLOT bool add (QString const& call + , QString const& grid + , QString const& band + , QString const& mode + , QByteArray const& ADIF_record); + QString const& path () const; AD1CCty const& countries () const; - bool add (QString const& call - , QString const& grid - , QString const& band - , QString const& mode - , QByteArray const& ADIF_record); bool country_worked (QString const& call, QString const& mode, QString const& band) const; bool grid_worked (QString const& grid, QString const& mode, QString const& band) const; bool call_worked (QString const& call, QString const& mode, QString const& band) const; @@ -32,6 +36,8 @@ public: bool CQ_zone_worked (int CQ_zone, QString const& mode, QString const& band) const; bool ITU_zone_worked (int ITU_zone, QString const& mode, QString const& band) const; + Q_SIGNAL void finished_loading (int worked_before_record_count, QString const& error) const; + private: class impl; pimpl m_; diff --git a/logbook/logbook.cpp b/logbook/logbook.cpp index f7dfc83b3..b84b65c1a 100644 --- a/logbook/logbook.cpp +++ b/logbook/logbook.cpp @@ -1,13 +1,15 @@ #include "logbook.h" #include -#include #include "Configuration.hpp" #include "AD1CCty.hpp" +#include "moc_logbook.cpp" + LogBook::LogBook (Configuration const * configuration) : config_ {configuration} { + connect (&worked_before_, &WorkedBefore::finished_loading, this, &LogBook::finished_loading); } void LogBook::match (QString const& call, QString const& mode, QString const& grid, @@ -52,6 +54,11 @@ bool LogBook::add (QString const& call return worked_before_.add (call, grid, band, mode, ADIF_record); } +void LogBook::rescan () +{ + worked_before_.reload (); +} + QByteArray LogBook::QSOToADIF (QString const& hisCall, QString const& hisGrid, QString const& mode, QString const& rptSent, QString const& rptRcvd, QDateTime const& dateTimeOn, QDateTime const& dateTimeOff, QString const& band, QString const& comments, diff --git a/logbook/logbook.h b/logbook/logbook.h index 7ebe3f51e..1850aa01f 100644 --- a/logbook/logbook.h +++ b/logbook/logbook.h @@ -1,12 +1,12 @@ +// -*- Mode: C++ -*- /* * From an ADIF file and cty.dat, get a call's DXCC entity and its worked before status - * VK3ACF July 2013 */ #ifndef LOG_BOOK_H_ #define LOG_BOOK_H_ -#include +#include #include #include "WorkedBefore.hpp" @@ -16,9 +16,11 @@ class QByteArray; class QDateTime; class LogBook final - : private boost::noncopyable + : public QObject { - public: + Q_OBJECT + +public: LogBook (Configuration const *); QString const& path () const {return worked_before_.path ();} bool add (QString const& call @@ -27,6 +29,7 @@ class LogBook final , QString const& mode , QByteArray const& ADIF_record); AD1CCty const& countries () const {return worked_before_.countries ();} + void rescan (); void match (QString const& call, QString const& mode, QString const& grid, AD1CCty::Record const&, bool& callB4, bool& countryB4, bool &gridB4, bool &continentB4, bool& CQZoneB4, bool& ITUZoneB4, @@ -38,7 +41,9 @@ class LogBook final QString const& m_myGrid, QString const& m_txPower, QString const& operator_call, QString const& xSent, QString const& xRcvd); - private: + Q_SIGNAL void finished_loading (int worked_before_record_count, QString const& error) const; + +private: Configuration const * config_; WorkedBefore worked_before_; }; diff --git a/main.cpp b/main.cpp index 601ae6a7e..fd510bffb 100644 --- a/main.cpp +++ b/main.cpp @@ -6,6 +6,8 @@ #include #include +#include +#include #include #include #include @@ -21,6 +23,7 @@ #include #include #include +#include #include #include "revision_utils.hpp" @@ -288,6 +291,12 @@ int main(int argc, char *argv[]) throw std::runtime_error {("Database Error: " + db.lastError ().text ()).toStdString ()}; } + // better performance traded for a risk of d/b corruption + // on system crash or application crash + // db.exec ("PRAGMA synchronous=OFF"); // system crash risk + // db.exec ("PRAGMA journal_mode=MEMORY"); // application crash risk + db.exec ("PRAGMA locking_mode=EXCLUSIVE"); + int result; do { diff --git a/models/CabrilloLog.cpp b/models/CabrilloLog.cpp index 965d6f957..aaedd3bd1 100644 --- a/models/CabrilloLog.cpp +++ b/models/CabrilloLog.cpp @@ -10,7 +10,6 @@ #include #include #include -#include #include "Configuration.hpp" #include "Bands.hpp" #include "qt_db_helpers.hpp" @@ -52,7 +51,7 @@ CabrilloLog::impl::impl (Configuration const * configuration) SQL_error_check (export_query_, &QSqlQuery::prepare, "SELECT frequency, \"when\", exchange_sent, call, exchange_rcvd FROM cabrillo_log ORDER BY \"when\""); - setEditStrategy (QSqlTableModel::OnRowChange); + setEditStrategy (QSqlTableModel::OnFieldChange); setTable ("cabrillo_log"); setHeaderData (fieldIndex ("frequency"), Qt::Horizontal, tr ("Freq(kHz)")); setHeaderData (fieldIndex ("when"), Qt::Horizontal, tr ("Date & Time(UTC)")); @@ -60,6 +59,12 @@ CabrilloLog::impl::impl (Configuration const * configuration) setHeaderData (fieldIndex ("exchange_sent"), Qt::Horizontal, tr ("Sent")); setHeaderData (fieldIndex ("exchange_rcvd"), Qt::Horizontal, tr ("Rcvd")); setHeaderData (fieldIndex ("band"), Qt::Horizontal, tr ("Band")); + + // This descending order by time is important, it makes the view + // place the latest row at the top, without this the model/view + // interactions are both sluggish and unhelpful. + setSort (fieldIndex ("when"), Qt::DescendingOrder); + SQL_error_check (*this, &QSqlTableModel::select); } @@ -110,11 +115,15 @@ bool CabrilloLog::add_QSO (Frequency frequency, QDateTime const& when, QString c set_value_maybe_null (record, "exchange_sent", exchange_sent); set_value_maybe_null (record, "exchange_rcvd", exchange_received); set_value_maybe_null (record, "band", m_->configuration_->bands ()->find (frequency)); - auto ok = m_->insertRecord (-1, record); - if (ok) + if (m_->isDirty ()) { - m_->select (); // to refresh views + m_->revert (); // discard any uncommitted changes } + m_->setEditStrategy (QSqlTableModel::OnManualSubmit); + ConditionalTransaction transaction {*m_}; + auto ok = m_->insertRecord (-1, record); + transaction.submit (); + m_->setEditStrategy (QSqlTableModel::OnFieldChange); return ok; } @@ -136,7 +145,7 @@ void CabrilloLog::reset () SQL_error_check (*m_, &QSqlTableModel::removeRows, 0, m_->rowCount (), QModelIndex {}); transaction.submit (); m_->select (); // to refresh views - m_->setEditStrategy (QSqlTableModel::OnRowChange); + m_->setEditStrategy (QSqlTableModel::OnFieldChange); } } diff --git a/models/DecodeHighlightingModel.cpp b/models/DecodeHighlightingModel.cpp index 4f1ec3fbb..6425a1a5c 100644 --- a/models/DecodeHighlightingModel.cpp +++ b/models/DecodeHighlightingModel.cpp @@ -4,7 +4,8 @@ #include #include #include -#include +#include + #include #include #include #include @@ -160,7 +161,10 @@ QVariant DecodeHighlightingModel::data (const QModelIndex& index, int role) cons result = item.enabled_ ? Qt::Checked : Qt::Unchecked; break; case Qt::DisplayRole: - result = highlight_name (item.type_); + return QString {"%1 [f/g:%2, b/g:%3]"} + .arg (highlight_name (item.type_)) + .arg (item.foreground_.style () != Qt::NoBrush ? QString {"#%1"}.arg (item.foreground_.color ().rgb () & 0xffffff, 6, 16, QChar {'0'}) : QString {"unset"}) + .arg (item.background_.style () != Qt::NoBrush ? QString {"#%1"}.arg (item.background_.color ().rgb () & 0xffffff, 6, 16, QChar {'0'}) : QString {"unset"}); break; case Qt::ForegroundRole: if (Qt::NoBrush != item.foreground_.style ()) diff --git a/models/FoxLog.cpp b/models/FoxLog.cpp index 1503e5662..1f985f620 100644 --- a/models/FoxLog.cpp +++ b/models/FoxLog.cpp @@ -43,7 +43,7 @@ FoxLog::impl::impl () SQL_error_check (dupe_query_, &QSqlQuery::prepare, "SELECT COUNT(*) FROM fox_log WHERE call = :call AND band = :band"); - setEditStrategy (QSqlTableModel::OnRowChange); + setEditStrategy (QSqlTableModel::OnFieldChange); setTable ("fox_log"); setHeaderData (fieldIndex ("when"), Qt::Horizontal, tr ("Date & Time(UTC)")); setHeaderData (fieldIndex ("call"), Qt::Horizontal, tr ("Call")); @@ -51,6 +51,12 @@ FoxLog::impl::impl () setHeaderData (fieldIndex ("report_sent"), Qt::Horizontal, tr ("Sent")); setHeaderData (fieldIndex ("report_rcvd"), Qt::Horizontal, tr ("Rcvd")); setHeaderData (fieldIndex ("band"), Qt::Horizontal, tr ("Band")); + + // This descending order by time is important, it makes the view + // place the latest row at the top, without this the model/view + // interactions are both sluggish and unhelpful. + setSort (fieldIndex ("when"), Qt::DescendingOrder); + SQL_error_check (*this, &QSqlTableModel::select); } @@ -100,11 +106,18 @@ bool FoxLog::add_QSO (QDateTime const& when, QString const& call, QString const& set_value_maybe_null (record, "report_sent", report_sent); set_value_maybe_null (record, "report_rcvd", report_received); set_value_maybe_null (record, "band", band); + if (m_->isDirty ()) + { + m_->revert (); // discard any uncommitted changes + } + m_->setEditStrategy (QSqlTableModel::OnManualSubmit); + ConditionalTransaction transaction {*m_}; auto ok = m_->insertRecord (-1, record); if (ok) { - m_->select (); // to refresh views + ok = transaction.submit (false); } + m_->setEditStrategy (QSqlTableModel::OnFieldChange); return ok; } @@ -126,6 +139,6 @@ void FoxLog::reset () SQL_error_check (*m_, &QSqlTableModel::removeRows, 0, m_->rowCount (), QModelIndex {}); transaction.submit (); m_->select (); // to refresh views - m_->setEditStrategy (QSqlTableModel::OnRowChange); + m_->setEditStrategy (QSqlTableModel::OnFieldChange); } } diff --git a/widgets/AbstractLogWindow.cpp b/widgets/AbstractLogWindow.cpp index e796cdc3e..efa1e60f1 100644 --- a/widgets/AbstractLogWindow.cpp +++ b/widgets/AbstractLogWindow.cpp @@ -84,10 +84,23 @@ AbstractLogWindow::AbstractLogWindow (QString const& settings_key, QSettings * s : QWidget {parent} , m_ {this, settings_key, settings, configuration} { - // ensure view scrolls to latest new row - connect (&m_->model_, &QAbstractItemModel::rowsInserted, [this] (QModelIndex const& /*parent*/, int /*first*/, int /*last*/) { - if (m_->log_view_) m_->log_view_->scrollToBottom (); - }); + // this attempt to scroll to the last new record doesn't work, some + // sort of issue with model indexes and optimized DB fetches. For + // now sorting by the same column and direction as the underlying DB + // select and that DB select being in descending order so new rows + // at the end appear at view row 0 gets the job done + + // // ensure view scrolls to latest new row + // connect (&m_->model_, &QAbstractItemModel::rowsInserted, this, [this] (QModelIndex const& parent, int first, int last) { + // // note col 0 is hidden so use col 1 + // // queued connection required otherwise row may not be available + // // in time + // auto index = m_->model_.index (last, 1, parent); + // if (m_->log_view_) + // { + // m_->log_view_->scrollTo (index); + // } + // }, Qt::QueuedConnection); } AbstractLogWindow::~AbstractLogWindow () @@ -102,23 +115,27 @@ void AbstractLogWindow::set_log_view (QTableView * log_view) SettingsGroup g {m_->settings_, m_->settings_key_}; restoreGeometry (m_->settings_->value ("window/geometry").toByteArray ()); m_->log_view_ = log_view; - m_->log_view_->setContextMenuPolicy (Qt::ActionsContextMenu); - m_->log_view_->setAlternatingRowColors (true); - m_->log_view_->setSelectionBehavior (QAbstractItemView::SelectRows); - m_->log_view_->setSelectionMode (QAbstractItemView::ExtendedSelection); - m_->model_.setSourceModel (m_->log_view_->model ()); - m_->log_view_->setModel (&m_->model_); - m_->log_view_->setColumnHidden (0, true); + set_log_view_font (m_->configuration_->decoded_text_font ()); + log_view->setSortingEnabled (true); + log_view->setContextMenuPolicy (Qt::ActionsContextMenu); + log_view->setAlternatingRowColors (true); + log_view->setSelectionBehavior (QAbstractItemView::SelectRows); + log_view->setSelectionMode (QAbstractItemView::ExtendedSelection); + log_view->setVerticalScrollMode (QAbstractItemView::ScrollPerPixel); + m_->model_.setSourceModel (log_view->model ()); + log_view->setModel (&m_->model_); + log_view->setColumnHidden (0, true); auto horizontal_header = log_view->horizontalHeader (); + horizontal_header->setResizeContentsPrecision (0); // visible region only horizontal_header->setSectionResizeMode (QHeaderView::ResizeToContents); horizontal_header->setSectionsMovable (true); - m_->log_view_->verticalHeader ()->setSectionResizeMode (QHeaderView::ResizeToContents); - set_log_view_font (m_->configuration_->decoded_text_font ()); - m_->log_view_->scrollToBottom (); + auto vertical_header = log_view->horizontalHeader (); + vertical_header->setResizeContentsPrecision (0); // visible region only + vertical_header->setSectionResizeMode (QHeaderView::ResizeToContents); // actions - auto delete_action = new QAction {tr ("&Delete ..."), m_->log_view_}; - m_->log_view_->insertAction (nullptr, delete_action); + auto delete_action = new QAction {tr ("&Delete ..."), log_view}; + log_view->insertAction (nullptr, delete_action); connect (delete_action, &QAction::triggered, [this] (bool /*checked*/) { m_->delete_QSOs (); }); @@ -126,8 +143,8 @@ void AbstractLogWindow::set_log_view (QTableView * log_view) void AbstractLogWindow::set_log_view_font (QFont const& font) { - // m_->log_view_->setFont (font); - // m_->log_view_->horizontalHeader ()->setFont (font); - // m_->log_view_->verticalHeader ()->setFont (font); + m_->log_view_->setFont (font); + m_->log_view_->horizontalHeader ()->setFont (font); + m_->log_view_->verticalHeader ()->setFont (font); m_->model_.set_font (font); } diff --git a/widgets/CabrilloLogWindow.cpp b/widgets/CabrilloLogWindow.cpp index 20f39e4e6..44a52cc6b 100644 --- a/widgets/CabrilloLogWindow.cpp +++ b/widgets/CabrilloLogWindow.cpp @@ -66,8 +66,9 @@ CabrilloLogWindow::CabrilloLogWindow (QSettings * settings, Configuration const set_log_view (m_->ui_.log_table_view); m_->ui_.log_table_view->setItemDelegateForColumn (2, new DateTimeAsSecsSinceEpochDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (3, new CallsignDelegate {this}); - m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), m_->log_model_, 0, 6, this}); - m_->ui_.log_table_view->horizontalHeader ()->moveSection (6, 1); // band to first column + m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), 0, this}); + auto h_header = m_->ui_.log_table_view->horizontalHeader (); + h_header->moveSection (6, 1); // band to first column } CabrilloLogWindow::~CabrilloLogWindow () diff --git a/widgets/DecodeHighlightingListView.cpp b/widgets/DecodeHighlightingListView.cpp index 31115d1f7..cc5ea5d2e 100644 --- a/widgets/DecodeHighlightingListView.cpp +++ b/widgets/DecodeHighlightingListView.cpp @@ -6,31 +6,12 @@ #include "models/DecodeHighlightingModel.hpp" #include "MessageBox.hpp" -#include "pimpl_impl.hpp" - -class DecodeHighlightingListView::impl final -{ -public: - impl () - : fg_colour_action_ {tr ("&Foreground color ..."), nullptr} - , bg_colour_action_ {tr ("&Background color ..."), nullptr} - , defaults_action_ {tr ("&Reset this item to defaults"), nullptr} - { - } - - DecodeHighlightingListView * self_; - QAction fg_colour_action_; - QAction bg_colour_action_; - QAction defaults_action_; -}; - DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) : QListView {parent} { - addAction (&m_->fg_colour_action_); - addAction (&m_->bg_colour_action_); - addAction (&m_->defaults_action_); - connect (&m_->fg_colour_action_, &QAction::triggered, [this] (bool /*checked*/) { + auto * fg_colour_action = new QAction {tr ("&Foreground color ..."), this}; + addAction (fg_colour_action); + connect (fg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { auto const& index = currentIndex (); auto colour = QColorDialog::getColor (model ()->data (index, Qt::ForegroundRole).value ().color () , this @@ -38,10 +19,19 @@ DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) .arg (model ()->data (index).toString ())); if (colour.isValid ()) { - model ()->setData (index, colour, Qt::ForegroundRole); + model ()->setData (index, QBrush {colour}, Qt::ForegroundRole); } }); - connect (&m_->bg_colour_action_, &QAction::triggered, [this] (bool /*checked*/) { + + auto * unset_fg_colour_action = new QAction {tr ("&Unset foreground color"), this}; + addAction (unset_fg_colour_action); + connect (unset_fg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { + model ()->setData (currentIndex (), QBrush {}, Qt::ForegroundRole); + }); + + auto * bg_colour_action = new QAction {tr ("&Background color ..."), this}; + addAction (bg_colour_action); + connect (bg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { auto const& index = currentIndex (); auto colour = QColorDialog::getColor (model ()->data (index, Qt::BackgroundRole).value ().color () , this @@ -49,10 +39,19 @@ DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) .arg (model ()->data (index).toString ())); if (colour.isValid ()) { - model ()->setData (index, colour, Qt::BackgroundRole); + model ()->setData (index, QBrush {colour}, Qt::BackgroundRole); } }); - connect (&m_->defaults_action_, &QAction::triggered, [this] (bool /*checked*/) { + + auto * unset_bg_colour_action = new QAction {tr ("U&nset background color"), this}; + addAction (unset_bg_colour_action); + connect (unset_bg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { + model ()->setData (currentIndex (), QBrush {}, Qt::BackgroundRole); + }); + + auto * defaults_action = new QAction {tr ("&Reset this item to defaults"), this}; + addAction (defaults_action); + connect (defaults_action, &QAction::triggered, [this] (bool /*checked*/) { auto const& index = currentIndex (); model ()->setData (index, model ()->data (index, DecodeHighlightingModel::EnabledDefaultRole).toBool () ? Qt::Checked : Qt::Unchecked, Qt::CheckStateRole); model ()->setData (index, model ()->data (index, DecodeHighlightingModel::ForegroundDefaultRole), Qt::ForegroundRole); @@ -60,10 +59,6 @@ DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) }); } -DecodeHighlightingListView::~DecodeHighlightingListView () -{ -} - QSize DecodeHighlightingListView::sizeHint () const { auto item_height = sizeHintForRow (0); diff --git a/widgets/DecodeHighlightingListView.hpp b/widgets/DecodeHighlightingListView.hpp index 731ecbb54..86aa86f4f 100644 --- a/widgets/DecodeHighlightingListView.hpp +++ b/widgets/DecodeHighlightingListView.hpp @@ -3,8 +3,6 @@ #include -#include "pimpl_h.hpp" - class QWidget; // Class Decode Highlighting List View @@ -20,13 +18,9 @@ class DecodeHighlightingListView final { public: explicit DecodeHighlightingListView (QWidget * parent = nullptr); - ~DecodeHighlightingListView (); private: QSize sizeHint () const override; - - class impl; - pimpl m_; }; #endif diff --git a/widgets/FoxLogWindow.cpp b/widgets/FoxLogWindow.cpp index 0f96529aa..4b8fbc253 100644 --- a/widgets/FoxLogWindow.cpp +++ b/widgets/FoxLogWindow.cpp @@ -43,7 +43,7 @@ FoxLogWindow::FoxLogWindow (QSettings * settings, Configuration const * configur m_->ui_.log_table_view->setItemDelegateForColumn (1, new DateTimeAsSecsSinceEpochDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (2, new CallsignDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (3, new MaidenheadLocatorDelegate {this}); - m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), m_->log_model_, 0, 6, this}); + m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), 0, this}); m_->ui_.log_table_view->horizontalHeader ()->moveSection (6, 1); // move band to first column m_->ui_.rate_label->setNum (0); m_->ui_.queued_label->setNum (0); diff --git a/widgets/displaytext.cpp b/widgets/displaytext.cpp index 7a00346cb..73df8af63 100644 --- a/widgets/displaytext.cpp +++ b/widgets/displaytext.cpp @@ -121,6 +121,7 @@ void DisplayText::appendText(QString const& text, QColor bg, QColor fg , QString const& call1, QString const& call2) { // qDebug () << "DisplayText::appendText: text:" << text << "Nbsp pos:" << text.indexOf (QChar::Nbsp); + auto cursor = textCursor (); cursor.movePosition (QTextCursor::End); auto block_format = cursor.blockFormat (); @@ -136,16 +137,6 @@ void DisplayText::appendText(QString const& text, QColor bg, QColor fg { format.setForeground (fg); } - if (call2.size () && m_config && m_config->lotw_users ().user (call2)) - { - QColor bg; - QColor fg; - highlight_types types {Highlight::LotW}; - set_colours (m_config, &bg, &fg, types); - if (bg.isValid ()) block_format.setBackground (bg); - if (fg.isValid ()) format.setForeground (fg); - } - if (cursor.position ()) { cursor.insertBlock (block_format, format); @@ -212,13 +203,12 @@ void DisplayText::appendText(QString const& text, QColor bg, QColor fg document ()->setMaximumBlockCount (document ()->maximumBlockCount ()); } -QString DisplayText::appendWorkedB4 (QString message, QString const& callsign, QString const& grid, +QString DisplayText::appendWorkedB4 (QString message, QString call, QString const& grid, QColor * bg, QColor * fg, LogBook const& logBook, QString const& currentBand, QString const& currentMode) { // allow for seconds int padding {message.indexOf (" ") > 4 ? 2 : 0}; - QString call = callsign; QString countryName; bool callB4; bool callB4onBand; @@ -292,6 +282,10 @@ QString DisplayText::appendWorkedB4 (QString message, QString const& callsign, Q if(!ITUZoneB4onBand) { types.push_back (Highlight::ITUZoneBand); } + if (m_config && m_config->lotw_users ().user (call)) + { + types.push_back (Highlight::LotW); + } types.push_back (Highlight::CQ); auto top_highlight = set_colours (m_config, bg, fg, types); @@ -367,21 +361,22 @@ void DisplayText::displayDecodedText(DecodedText const& decodedText, QString con || decodedText.string ().contains (" QRZ ")) { CQcall = true; - highlight_types types {Highlight::CQ}; - set_colours (m_config, &bg, &fg, types); } - if(bCQonly and !CQcall) return; - if (myCall != "" and (decodedText.indexOf (" " + myCall + " ") >= 0 - or decodedText.indexOf (" " + myCall + "/") >= 0 - or decodedText.indexOf ("<" + myCall + "/") >= 0 - or decodedText.indexOf ("/" + myCall + " ") >= 0 - or decodedText.indexOf ("/" + myCall + ">") >= 0 - or decodedText.indexOf ("<" + myCall + " ") >= 0 - or decodedText.indexOf ("<" + myCall + ">") >= 0 - or decodedText.indexOf (" " + myCall + ">") >= 0)) { - highlight_types types {Highlight::MyCall}; - set_colours (m_config, &bg, &fg, types); - } + else + { + if (bCQonly) return; + if (myCall != "" && (decodedText.indexOf (" " + myCall + " ") >= 0 + or decodedText.indexOf (" " + myCall + "/") >= 0 + or decodedText.indexOf ("<" + myCall + "/") >= 0 + or decodedText.indexOf ("/" + myCall + " ") >= 0 + or decodedText.indexOf ("/" + myCall + ">") >= 0 + or decodedText.indexOf ("<" + myCall + " ") >= 0 + or decodedText.indexOf ("<" + myCall + ">") >= 0 + or decodedText.indexOf (" " + myCall + ">") >= 0)) { + highlight_types types {Highlight::MyCall}; + set_colours (m_config, &bg, &fg, types); + } + } auto message = decodedText.string(); QString dxCall; QString dxGrid; @@ -389,17 +384,25 @@ void DisplayText::displayDecodedText(DecodedText const& decodedText, QString con QRegularExpression grid_regexp {"\\A(?![Rr]{2}73)[A-Ra-r]{2}[0-9]{2}([A-Xa-x]{2}){0,1}\\z"}; if(!dxGrid.contains(grid_regexp)) dxGrid=""; message = message.left (message.indexOf (QChar::Nbsp)); // strip appended info - if (displayDXCCEntity && CQcall) + if (CQcall) { - // if enabled add the DXCC entity and B4 status to the end of the - // preformated text line t1 - auto currentMode = mode; - if ("JT9+JT65" == mode) + if (displayDXCCEntity) { - currentMode = decodedText.isJT65 () ? "JT65" : "JT9"; + // if enabled add the DXCC entity and B4 status to the end of the + // preformated text line t1 + auto currentMode = mode; + if ("JT9+JT65" == mode) + { + currentMode = decodedText.isJT65 () ? "JT65" : "JT9"; + } + message = appendWorkedB4 (message, decodedText.CQersCall(), dxGrid, &bg, &fg + , logBook, currentBand, currentMode); + } + else + { + highlight_types types {Highlight::CQ, Highlight::LotW}; + set_colours (m_config, &bg, &fg, types); } - message = appendWorkedB4 (message, decodedText.CQersCall(), dxGrid, &bg, &fg - , logBook, currentBand, currentMode); } appendText (message.trimmed (), bg, fg, decodedText.call (), dxCall); } diff --git a/widgets/displaytext.h b/widgets/displaytext.h index 2ccd8fe4c..1f20ac157 100644 --- a/widgets/displaytext.h +++ b/widgets/displaytext.h @@ -44,7 +44,7 @@ protected: private: Configuration const * m_config; bool m_bPrincipalPrefix; - QString appendWorkedB4(QString message, QString const& callsign + QString appendWorkedB4(QString message, QString callsign , QString const& grid, QColor * bg, QColor * fg , LogBook const& logBook, QString const& currentBand , QString const& currentMode); diff --git a/widgets/echoplot.cpp b/widgets/echoplot.cpp index 961173b06..0a93e889e 100644 --- a/widgets/echoplot.cpp +++ b/widgets/echoplot.cpp @@ -1,6 +1,8 @@ #include "echoplot.h" #include "commons.h" #include +#include +#include #include #include "moc_echoplot.cpp" diff --git a/widgets/echoplot.h b/widgets/echoplot.h index 23976b02e..a7492b974 100644 --- a/widgets/echoplot.h +++ b/widgets/echoplot.h @@ -4,17 +4,20 @@ // For more details see the accompanying file LICENSE_WHEATLEY.TXT /////////////////////////////////////////////////////////////////////////// -#ifndef EPLOTTER_H -#define EPLOTTER_H +#ifndef EPLOTTER_H_ +#define EPLOTTER_H_ -#include #include +#include #include -#include +#include #define VERT_DIVS 7 //specify grid screen divisions #define HORZ_DIVS 20 +class QPaintEvent; +class QResizeEvent; + class EPlotter : public QFrame { Q_OBJECT diff --git a/widgets/fastgraph.cpp b/widgets/fastgraph.cpp index 2c86d5dcb..e599138f2 100644 --- a/widgets/fastgraph.cpp +++ b/widgets/fastgraph.cpp @@ -3,6 +3,7 @@ #include "commons.h" #include #include +#include #include "fastplot.h" #include "SettingsGroup.hpp" diff --git a/widgets/fastgraph.h b/widgets/fastgraph.h index 1832d84c4..7ed32671f 100644 --- a/widgets/fastgraph.h +++ b/widgets/fastgraph.h @@ -1,5 +1,5 @@ -#ifndef FASTGRAPH_H -#define FASTGRAPH_H +#ifndef FASTGRAPH_H_ +#define FASTGRAPH_H_ #include #include @@ -9,6 +9,8 @@ namespace Ui { } class QSettings; +class QCloseEvent; +class QKeyEvent; class FastGraph : public QDialog { diff --git a/widgets/fastplot.cpp b/widgets/fastplot.cpp index cd186c2c8..1437834d8 100644 --- a/widgets/fastplot.cpp +++ b/widgets/fastplot.cpp @@ -1,6 +1,10 @@ #include "fastplot.h" #include "commons.h" #include +#include +#include +#include +#include #include #include "moc_fastplot.cpp" diff --git a/widgets/fastplot.h b/widgets/fastplot.h index 57a4ea904..b13913388 100644 --- a/widgets/fastplot.h +++ b/widgets/fastplot.h @@ -4,13 +4,16 @@ // For more details see the accompanying file LICENSE_WHEATLEY.TXT /////////////////////////////////////////////////////////////////////////// -#ifndef FPLOTTER_H -#define FPLOTTER_H +#ifndef FPLOTTER_H_ +#define FPLOTTER_H_ -#include #include -#include -#include +#include +#include +#include +#include + +class QMouseEvent; class FPlotter : public QFrame { diff --git a/widgets/logqso.cpp b/widgets/logqso.cpp index b6412cb59..da8d00819 100644 --- a/widgets/logqso.cpp +++ b/widgets/logqso.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include "logbook/logbook.h" #include "MessageBox.hpp" @@ -70,7 +69,7 @@ void LogQSO::initLogQSO(QString const& hisCall, QString const& hisGrid, QString if (ui->cbTxPower->isChecked ()) ui->txPower->setText(m_txPower); if (ui->cbComments->isChecked ()) ui->comments->setText(m_comments); if (m_config->report_in_comments()) { - QString t=mode; + auto t=mode; if(rptSent!="") t+=" Sent: " + rptSent; if(rptRcvd!="") t+=" Rcvd: " + rptRcvd; ui->comments->setText(t); @@ -108,30 +107,28 @@ void LogQSO::initLogQSO(QString const& hisCall, QString const& hisGrid, QString void LogQSO::accept() { - QString hisCall,hisGrid,mode,rptSent,rptRcvd,dateOn,dateOff,timeOn,timeOff,band,operator_call; - QString comments,name; - - hisCall=ui->call->text(); - hisGrid=ui->grid->text(); - mode=ui->mode->text(); - rptSent=ui->sent->text(); - rptRcvd=ui->rcvd->text(); - m_dateTimeOn = ui->start_date_time->dateTime (); - m_dateTimeOff = ui->end_date_time->dateTime (); - band=ui->band->text(); - name=ui->name->text(); - m_txPower=ui->txPower->text(); - comments=ui->comments->text(); - m_comments=comments; - QString strDialFreq(QString::number(m_dialFreq / 1.e6,'f',6)); - operator_call = ui->loggedOperator->text(); + auto hisCall = ui->call->text (); + auto hisGrid = ui->grid->text (); + auto mode = ui->mode->text (); + auto rptSent = ui->sent->text (); + auto rptRcvd = ui->rcvd->text (); + auto m_dateTimeOn = ui->start_date_time->dateTime (); + auto m_dateTimeOff = ui->end_date_time->dateTime (); + auto band = ui->band->text (); + auto name = ui->name->text (); + auto m_txPower = ui->txPower->text (); + auto m_comments = ui->comments->text (); + auto strDialFreq = QString::number (m_dialFreq / 1.e6,'f',6); + auto operator_call = ui->loggedOperator->text (); + auto xsent = ui->exchSent->text (); + auto xrcvd = ui->exchRcvd->text (); // validate using SpOp = Configuration::SpecialOperatingActivity; auto special_op = m_config->special_op_id (); if (SpOp::NONE < special_op && special_op < SpOp::FOX) { - if (ui->exchSent->text ().isEmpty () || ui->exchRcvd->text ().isEmpty ()) + if (xsent.isEmpty () || xrcvd.isEmpty ()) { show (); MessageBox::warning_message (this, tr ("Invalid QSO Data"), @@ -139,8 +136,7 @@ void LogQSO::accept() return; // without accepting } - if (!m_cabrilloLog->add_QSO (m_dialFreq, QDateTime::currentDateTimeUtc (), hisCall, - ui->exchSent->text (), ui->exchRcvd->text ())) + if (!m_cabrilloLog->add_QSO (m_dialFreq, m_dateTimeOff, hisCall, xsent, xrcvd)) { show (); MessageBox::warning_message (this, tr ("Invalid QSO Data"), @@ -162,7 +158,7 @@ void LogQSO::accept() m_dateTimeOff.time().toString("hh:mm:ss,") + hisCall + "," + hisGrid + "," + strDialFreq + "," + mode + "," + rptSent + "," + rptRcvd + "," + m_txPower + - "," + comments + "," + name; + "," + m_comments + "," + name; QTextStream out(&f); out << logEntry << endl; f.close(); @@ -177,12 +173,14 @@ void LogQSO::accept() , rptSent , rptRcvd , m_txPower - , comments + , m_comments , name , m_dateTimeOn , operator_call , m_myCall , m_myGrid + , xsent + , xrcvd , LogBook::QSOToADIF (hisCall , hisGrid , mode @@ -191,15 +189,15 @@ void LogQSO::accept() , m_dateTimeOn , m_dateTimeOff , band - , comments + , m_comments , name , strDialFreq , m_myCall , m_myGrid , m_txPower , operator_call - , ui->exchSent->text () - , ui->exchRcvd->text ())); + , xsent + , xrcvd)); QDialog::accept(); } diff --git a/widgets/logqso.h b/widgets/logqso.h index b0e703a93..3363d2eac 100644 --- a/widgets/logqso.h +++ b/widgets/logqso.h @@ -1,6 +1,6 @@ // -*- Mode: C++ -*- -#ifndef LogQSO_H -#define LogQSO_H +#ifndef LogQSO_H_ +#define LogQSO_H_ #include @@ -40,7 +40,9 @@ signals: , QString const& rpt_sent, QString const& rpt_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime const& QSO_date_on, QString const& operator_call - , QString const& my_call, QString const& my_grid, QByteArray const& ADIF); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd + , QByteArray const& ADIF); protected: void hideEvent (QHideEvent *); diff --git a/widgets/logqso.ui b/widgets/logqso.ui index 75ca35db3..a03a3028a 100644 --- a/widgets/logqso.ui +++ b/widgets/logqso.ui @@ -81,6 +81,9 @@ dd/MM/yyyy HH:mm:ss + + Qt::UTC + @@ -113,6 +116,9 @@ dd/MM/yyyy HH:mm:ss + + Qt::UTC + diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 175dff49d..6848bb3fa 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1,12 +1,21 @@ //---------------------------------------------------------- MainWindow #include "mainwindow.h" #include +#include +#include #include #include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -188,7 +197,7 @@ namespace int ms_minute_error () { - auto const& now = QDateTime::currentDateTime (); + auto const& now = QDateTime::currentDateTimeUtc (); auto const& time = now.time (); auto second = time.second (); return now.msecsTo (now.addSecs (second > 30 ? 60 - second : -second)) - time.msec (); @@ -210,7 +219,8 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, m_configurations_button {0}, m_settings {multi_settings->settings ()}, ui(new Ui::MainWindow), - m_config {&m_network_manager, temp_directory, m_settings, this}, + m_logBook {&m_config}, + m_config {&m_network_manager, temp_directory, m_settings, &m_logBook, this}, m_WSPR_band_hopping {m_settings, &m_config, this}, m_WSPR_tx_next {false}, m_rigErrorMessageBox {MessageBox::Critical, tr ("Rig Control Error") @@ -361,7 +371,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, }, m_sfx {"P", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A"}, mem_jt9 {shdmem}, - m_logBook {&m_config}, m_msAudioOutputBuffered (0u), m_framesAudioInputBuffered (RX_SAMPLE_RATE / 10), m_downSampleFactor (downSampleFactor), @@ -463,6 +472,18 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, connect (m_logDlg.data (), &LogQSO::acceptQSO, this, &MainWindow::acceptQSO); connect (this, &MainWindow::finished, m_logDlg.data (), &LogQSO::close); + // hook up the log book + connect (&m_logBook, &LogBook::finished_loading, [this] (int record_count, QString const& error) { + if (error.size ()) + { + MessageBox::warning_message (this, tr ("Error Scanning ADIF Log"), error); + } + else + { + showStatusMessage (tr ("Scanned ADIF log, %1 worked before records created").arg (record_count)); + } + }); + // Network message handlers connect (m_messageClient, &MessageClient::reply, this, &MainWindow::replyToCQ); connect (m_messageClient, &MessageClient::replay, this, &MainWindow::replayDecodes); @@ -939,23 +960,22 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, void MainWindow::not_GA_warning_message () { - QDateTime now=QDateTime::currentDateTime(); - QDateTime timeout=QDateTime(QDate(2018,12,31)); + MessageBox::critical_message (this, - "This version of WSJT-X is a beta-level Release Candidate.\n\n" - "In FT8 and MSK144 modes it uses ONLY the new 77-bit\n" - "message formats. It will not decode 75-bit or 72-bit\n" - "messages.\n\n" - "On December 10, 2018, 77-bit messages will become the\n" - "standard. Everyone should upgrade to WSJT-X 2.0 by\n" - "January 1, 2019.\n\n" - "On-the-air use carries an obligation to report problems\n" - "to the WSJT Development group and to upgrade to a GA\n" - "(General Availability) release when it becomes available.\n\n" - "This version cannot be used after December 31, 2018.\n\n"); + "

" + "IMPORTANT: New protocols for the FT8 and MSK144 modes " + "became the world‑wide standards on December 10, 2018." + , "

" + "WSJT‑X 2.0 cannot communicate in these modes with other " + "stations using WSJT‑X v1.9.1 or earlier." + "

" + "Please help by urging everyone to upgrade to WSJT‑X 2.0 " + "no later than January 1, 2019."); - if(now.daysTo(timeout) < 0) Q_EMIT finished(); +// QDateTime now=QDateTime::currentDateTime(); +// QDateTime timeout=QDateTime(QDate(2018,12,31)); +// if(now.daysTo(timeout) < 0) Q_EMIT finished(); } void MainWindow::initialize_fonts () @@ -1496,7 +1516,7 @@ QString MainWindow::save_wave_file (QString const& name, short const * data, int BWFFile::InfoDictionary list_info { {{{'I','S','R','C'}}, source.toLocal8Bit ()}, {{{'I','S','F','T'}}, program_title (revision ()).simplified ().toLocal8Bit ()}, - {{{'I','C','R','D'}}, QDateTime::currentDateTime () + {{{'I','C','R','D'}}, QDateTime::currentDateTimeUtc () .toString ("yyyy-MM-ddTHH:mm:ss.zzzZ").toLocal8Bit ()}, {{{'I','C','M','T'}}, comment.toLocal8Bit ()}, }; @@ -1645,7 +1665,9 @@ void MainWindow::showSoundOutError(const QString& errorMsg) } void MainWindow::showStatusMessage(const QString& statusMsg) -{statusBar()->showMessage(statusMsg);} +{ + statusBar()->showMessage(statusMsg, 5000); +} void MainWindow::on_actionSettings_triggered() //Setup Dialog { @@ -2106,8 +2128,8 @@ void MainWindow::createStatusBar() //createStatusBar band_hopping_label.setMinimumSize (QSize {90, 18}); band_hopping_label.setFrameStyle (QFrame::Panel | QFrame::Sunken); - statusBar()->addPermanentWidget(&progressBar, 1); - progressBar.setMinimumSize (QSize {100, 18}); + statusBar()->addPermanentWidget(&progressBar); + progressBar.setMinimumSize (QSize {150, 18}); progressBar.setFormat ("%v/%m"); statusBar ()->addPermanentWidget (&watchdog_label); @@ -2698,7 +2720,7 @@ void MainWindow::msgAvgDecode2() void MainWindow::decode() //decode() { - QDateTime now = QDateTime::currentDateTime(); + QDateTime now = QDateTime::currentDateTimeUtc (); if( m_dateTimeLastTX.isValid () ) { qint64 isecs_since_tx = m_dateTimeLastTX.secsTo(now); dec_data.params.lapcqonly= (isecs_since_tx > 600); @@ -2943,18 +2965,22 @@ void MainWindow::decodeDone () void MainWindow::readFromStdout() //readFromStdout { while(proc_jt9.canReadLine()) { - QByteArray t=proc_jt9.readLine(); + auto line_read = proc_jt9.readLine (); + if (auto p = std::strpbrk (line_read.constData (), "\n\r")) + { + // truncate before line ending chars + line_read = line_read.left (p - line_read.constData ()); + } if(m_mode!="FT8") { - //Pad 22-char msg to 37 chars - t=t.left(43) + " " + t.mid(43,-1); - t=t.trimmed(); + //Pad 22-char msg to at least 37 chars + line_read = line_read.left(43) + " " + line_read.mid(43); } // qint64 ms=QDateTime::currentMSecsSinceEpoch() - m_msec0; bool bAvgMsg=false; int navg=0; - if(t.indexOf("") >= 0) { + if(line_read.indexOf("") >= 0) { if(m_mode=="QRA64") m_wideGraph->drawRed(0,0); - m_bDecoded = t.mid(20).trimmed().toInt() > 0; + m_bDecoded = line_read.mid(20).trimmed().toInt() > 0; int mswait=3*1000*m_TRperiod/4; if(!m_diskData) killFileTimer.start(mswait); //Kill in 3/4 period decodeDone (); @@ -2966,16 +2992,16 @@ void MainWindow::readFromStdout() //readFromStdout return; } else { if(m_mode=="JT4" or m_mode=="JT65" or m_mode=="QRA64" or m_mode=="FT8") { - int n=t.indexOf("f"); - if(n<0) n=t.indexOf("d"); + int n=line_read.indexOf("f"); + if(n<0) n=line_read.indexOf("d"); if(n>0) { - QString tt=t.mid(n+1,1); + QString tt=line_read.mid(n+1,1); navg=tt.toInt(); if(navg==0) { char c = tt.data()->toLatin1(); if(int(c)>=65 and int(c)<=90) navg=int(c)-54; } - if(navg>1 or t.indexOf("f*")>0) bAvgMsg=true; + if(navg>1 or line_read.indexOf("f*")>0) bAvgMsg=true; } } @@ -2988,8 +3014,7 @@ void MainWindow::readFromStdout() //readFromStdout << m_mode << endl; m_RxLog=0; } - int n=t.length(); - out << t.mid(0,n-2) << endl; + out << line_read.trimmed () << endl; f.close(); } else { MessageBox::warning_message (this, tr ("File Open Error") @@ -3005,10 +3030,8 @@ void MainWindow::readFromStdout() //readFromStdout m_blankLine = false; } - DecodedText decodedtext0 {QString::fromUtf8(t.constData()) - .remove(QRegularExpression {"\r|\n"})}; - DecodedText decodedtext {QString::fromUtf8(t.constData()) - .remove(QRegularExpression {"\r|\n"}).remove("TU; ")}; + DecodedText decodedtext0 {QString::fromUtf8(line_read.constData())}; + DecodedText decodedtext {QString::fromUtf8(line_read.constData()).remove("TU; ")}; if(m_mode=="FT8" and SpecOp::FOX == m_config.special_op_id() and (decodedtext.string().contains("R+") or decodedtext.string().contains("R-"))) { @@ -3091,7 +3114,7 @@ void MainWindow::readFromStdout() //readFromStdout if(w.at(0)==m_config.my_callsign() or w.at(0)==Radio::base_callsign(m_config.my_callsign())) { //### Check for ui->dxCallEntry->text()==foxCall before logging! ### ui->stopTxButton->click (); - on_logQSOButton_clicked(); + logQSOTimer.start(0); } if((w.at(2)==m_config.my_callsign() or w.at(2)==Radio::base_callsign(m_config.my_callsign())) and ui->tx3->text().length()>0) { @@ -3109,7 +3132,7 @@ void MainWindow::readFromStdout() //readFromStdout ui->tx3->text().length()>0) { if(w.at(2)=="RR73") { ui->stopTxButton->click (); - on_logQSOButton_clicked(); + logQSOTimer.start(0); } else { if(w.at(1)==Radio::base_callsign(ui->dxCallEntry->text()) and (w.at(2).mid(0,1)=="+" or w.at(2).mid(0,1)=="-")) { @@ -3252,7 +3275,7 @@ void MainWindow::pskPost (DecodedText const& decodedtext) if(grid.contains (grid_regexp)) { // qDebug() << "To PSKreporter:" << deCall << grid << frequency << msgmode << snr; psk_Reporter->addRemoteStation(deCall,grid,QString::number(frequency),msgmode, - QString::number(snr),QString::number(QDateTime::currentDateTime().toTime_t())); + QString::number(snr),QString::number(QDateTime::currentDateTimeUtc ().toTime_t())); } } @@ -3385,7 +3408,7 @@ void MainWindow::guiUpdate() if(m_tune) m_bTxTime=true; //"Tune" takes precedence if(m_transmitting or m_auto or m_tune) { - m_dateTimeLastTX = QDateTime::currentDateTime (); + m_dateTimeLastTX = QDateTime::currentDateTimeUtc (); // Check for "txboth" (testing purposes only) QFile f(m_appDir + "/txboth"); @@ -4444,7 +4467,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie m_nextCall=""; //### Temporary: disable use of "TU;" message if(SpecOp::RTTY == m_config.special_op_id() and m_nextCall!="") { // We're in RTTY contest and have "nextCall" queued up: send a "TU; ..." message - on_logQSOButton_clicked(); + logQSOTimer.start(0); ui->tx3->setText(ui->tx3->text().remove("TU; ")); useNextCall(); QString t="TU; " + ui->tx3->text(); @@ -4453,7 +4476,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie } else { // if(SpecOp::RTTY == m_config.special_op_id()) { if(false) { - on_logQSOButton_clicked(); + logQSOTimer.start(0); m_ntx=6; ui->txrb6->setChecked(true); } else { @@ -4548,17 +4571,17 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie } } else { // nothing for us - if(message_words.size () > 3 // enough fields for a normal message - && SpecOp::RTTY == m_config.special_op_id() - && (message_words.at(1).contains(m_baseCall) || "DE" == message_words.at(1)) - && (!message_words.at(2).contains(qso_partner_base_call) and !bEU_VHF_w2)) { -// Queue up the next QSO partner - m_nextCall=message_words.at(2); - m_nextGrid=message_words.at(3); - m_nextRpt=message.report(); - ui->labNextCall->setText("Next: " + m_nextCall); - ui->labNextCall->setStyleSheet("QLabel {background-color: #66ff66}"); - } +// if(message_words.size () > 3 // enough fields for a normal message +// && SpecOp::RTTY == m_config.special_op_id() +// && (message_words.at(1).contains(m_baseCall) || "DE" == message_words.at(1)) +// && (!message_words.at(2).contains(qso_partner_base_call) and !bEU_VHF_w2)) { +//// Queue up the next QSO partner +// m_nextCall=message_words.at(2); +// m_nextGrid=message_words.at(3); +// m_nextRpt=message.report(); +// ui->labNextCall->setText("Next: " + m_nextCall); +// ui->labNextCall->setStyleSheet("QLabel {background-color: #66ff66}"); +// } return; } } @@ -4763,29 +4786,17 @@ void MainWindow::abortQSO() ui->txrb6->setChecked(true); } -bool MainWindow::stdCall(QString w) +bool MainWindow::stdCall(QString const& w) { - int n=w.trimmed().length(); -//Treat /P and /R as special cases: strip them off for this test. - if(w.mid(n-2,2)=="/P") w=w.left(n-2); - if(w.mid(n-2,2)=="/R") w=w.left(n-2); - n=w.trimmed().length(); - if(n>6) return false; //Callsigns longer than 6 chars are nonstandard - w=w.toUpper(); - int i1=99; // index of first letter - int i2=-1; // index of last digit - for(int i=0; i="A" and c<="Z")) i1=i; - if(c>="0" and c<="9") i2=i; - } - if(i1!=0 and i1!=1) return false; //One of the firat two characters must be a letter - if(i2>2) return false; //No digits allowed after the 3rd character - for(int i=i2+1; i"Z") return false; //Anything after final digit must be a letter - } - return true; + static QRegularExpression standard_call_re { + R"( + ^\s* # optional leading spaces + ( [A-Z]{0,2} | [A-Z][0-9] | [0-9][A-Z] ) # part 1 + ( [0-9][A-Z]{0,3} ) # part 2 + (/R | /P)? # optional suffix + \s*$ # optional trailing spaces + )", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption}; + return standard_call_re.match (w).hasMatch (); } void MainWindow::genStdMsgs(QString rpt, bool unconditional) @@ -4902,9 +4913,12 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional) t=t0 + "R" + rpt; msgtype(t, ui->tx3); } - if(m_mode=="MSK144" and m_bShMsgs and SpecOp::NONE==m_config.special_op_id()) { - t=t0 + "R" + rpt; - msgtype(t, ui->tx3); + + if(m_mode=="MSK144" and m_bShMsgs) { + if(m_config.special_op_id()==SpecOp::NONE) { + t=t0 + "R" + rpt; + msgtype(t, ui->tx3); + } m_send_RR73=false; } @@ -5359,7 +5373,9 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call, , QString const& rpt_sent, QString const& rpt_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime const& QSO_date_on, QString const& operator_call - , QString const& my_call, QString const& my_grid, QByteArray const& ADIF) + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd + , QByteArray const& ADIF) { QString date = QSO_date_on.toString("yyyyMMdd"); if (!m_logBook.add (m_hisCall, grid, m_config.bands()->find(m_freqNominal), m_modeTx, ADIF)) @@ -5369,7 +5385,8 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call, } m_messageClient->qso_logged (QSO_date_off, call, grid, dial_freq, mode, rpt_sent, rpt_received - , tx_power, comments, name, QSO_date_on, operator_call, my_call, my_grid); + , tx_power, comments, name, QSO_date_on, operator_call, my_call, my_grid + , exchange_sent, exchange_rcvd); m_messageClient->logged_ADIF (ADIF); // Log to N1MM Logger @@ -5621,7 +5638,7 @@ void MainWindow::on_actionJT9_triggered() m_bFastMode=m_bFast9; WSPR_config(false); switch_mode (Modes::JT9); - if(m_modeTx!="JT9") on_pbTxMode_clicked(); + m_modeTx="JT9"; m_nsps=6912; m_FFTSize = m_nsps / 2; Q_EMIT FFTSize (m_FFTSize); @@ -5716,6 +5733,7 @@ void MainWindow::on_actionJT65_triggered() } on_actionJT9_triggered(); m_mode="JT65"; + m_modeTx="JT65"; bool bVHF=m_config.enable_VHF_features(); WSPR_config(false); switch_mode (Modes::JT65); @@ -7663,7 +7681,8 @@ void MainWindow::statusUpdate () const ui->RxFreqSpinBox->value (), ui->TxFreqSpinBox->value (), m_config.my_callsign (), m_config.my_grid (), m_hisGrid, m_tx_watchdog, - submode != QChar::Null ? QString {submode} : QString {}, m_bFastMode); + submode != QChar::Null ? QString {submode} : QString {}, m_bFastMode, + static_cast (m_config.special_op_id ())); } void MainWindow::childEvent (QChildEvent * e) @@ -8211,7 +8230,7 @@ list2Done: { writeFoxQSO (QString {" Log: %1 %2 %3 %4 %5"}.arg (m_hisCall).arg (m_hisGrid) .arg (m_rptSent).arg (m_rptRcvd).arg (m_lastBand)); - on_logQSOButton_clicked(); + logQSOTimer.start(0); m_foxRateQueue.enqueue (now); //Add present time in seconds //to Rate queue. } diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 4cab787b5..cfae42029 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -1,12 +1,12 @@ // -*- Mode: C++ -*- #ifndef MAINWINDOW_H #define MAINWINDOW_H -#ifdef QT5 -#include -#else -#include -#endif + +#include +#include #include +#include +#include #include #include #include @@ -58,6 +58,8 @@ namespace Ui { class MainWindow; } +class QSharedMemory; +class QSplashScreen; class QSettings; class QLineEdit; class QFont; @@ -102,6 +104,8 @@ public: QWidget *parent = nullptr); ~MainWindow(); + int decoderBusy () const {return m_decoderBusy;} + public slots: void showSoundInError(const QString& errorMsg); void showSoundOutError(const QString& errorMsg); @@ -230,7 +234,9 @@ private slots: , QString const& rpt_sent, QString const& rpt_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime const& QSO_date_on, QString const& operator_call - , QString const& my_call, QString const& my_grid, QByteArray const& ADIF); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd + , QByteArray const& ADIF); void on_bandComboBox_currentIndexChanged (int index); void on_bandComboBox_activated (int index); void on_readFreq_clicked(); @@ -303,7 +309,7 @@ private slots: void not_GA_warning_message (); void checkMSK144ContestType(); int setTxMsg(int n); - bool stdCall(QString w); + bool stdCall(QString const& w); private: Q_SIGNAL void initializeAudioOutputStream (QAudioDeviceInfo, @@ -347,6 +353,7 @@ private: QSettings * m_settings; QScopedPointer ui; + LogBook m_logBook; // must be before Configuration construction Configuration m_config; WSPRBandHopping m_WSPR_band_hopping; bool m_WSPR_tx_next; @@ -626,7 +633,6 @@ private: QDateTime m_dateTimeLastTX; QSharedMemory *mem_jt9; - LogBook m_logBook; QString m_QSOText; unsigned m_msAudioOutputBuffered; unsigned m_framesAudioInputBuffered; diff --git a/widgets/plotter.cpp b/widgets/plotter.cpp index cf3166127..761dae08d 100644 --- a/widgets/plotter.cpp +++ b/widgets/plotter.cpp @@ -1,5 +1,11 @@ #include "plotter.h" #include +#include +#include +#include +#include +#include +#include #include #include "commons.h" #include "moc_plotter.cpp" diff --git a/widgets/plotter.h b/widgets/plotter.h index 20d1739ac..e243c1777 100644 --- a/widgets/plotter.h +++ b/widgets/plotter.h @@ -5,18 +5,14 @@ // For more details see the accompanying file LICENSE_WHEATLEY.TXT /////////////////////////////////////////////////////////////////////////// -#ifndef PLOTTER_H -#define PLOTTER_H +#ifndef PLOTTER_H_ +#define PLOTTER_H_ -#ifdef QT5 -#include -#else -#include -#endif #include +#include #include #include -#include +#include #define VERT_DIVS 7 //specify grid screen divisions #define HORZ_DIVS 20 diff --git a/widgets/widegraph.cpp b/widgets/widegraph.cpp index 350eae9b0..b4601ba4c 100644 --- a/widgets/widegraph.cpp +++ b/widgets/widegraph.cpp @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "ui_widegraph.h" #include "commons.h" #include "Configuration.hpp" diff --git a/widgets/widegraph.h b/widgets/widegraph.h index f5e57f8dc..a809a6c8c 100644 --- a/widgets/widegraph.h +++ b/widgets/widegraph.h @@ -1,6 +1,6 @@ // -*- Mode: C++ -*- -#ifndef WIDEGRAPH_H -#define WIDEGRAPH_H +#ifndef WIDEGRAPH_H_ +#define WIDEGRAPH_H_ #include #include diff --git a/widgets/widgets.pri b/widgets/widgets.pri index e70c5cb9e..24ddd5a3c 100644 --- a/widgets/widgets.pri +++ b/widgets/widgets.pri @@ -19,7 +19,7 @@ HEADERS += \ widgets/echoplot.h widgets/echograph.h widgets/fastgraph.h \ widgets/fastplot.h widgets/MessageBox.hpp widgets/colorhighlighting.h \ widgets/ExportCabrillo.h widgets/AbstractLogWindow.hpp \ - widgets/FoxLogWindow.cpp widgets/CabrilloLogWindow.cpp + widgets/FoxLogWindow.hpp widgets/CabrilloLogWindow.hpp FORMS += \ widgets/mainwindow.ui widgets/about.ui \