diff --git a/app.go b/app.go
index 3506cec..aeaa40c 100644
--- a/app.go
+++ b/app.go
@@ -2157,6 +2157,7 @@ func (a *App) awardDefs() []award.Def {
if json.Unmarshal([]byte(s), &defs) == nil && len(defs) > 0 {
// Upgrade legacy defs (pre-rich-model) in memory on every load.
migrated, _ := award.Migrate(defs)
+ migrated, _ = mergeCatalog(migrated)
return migrated
}
}
@@ -2164,6 +2165,27 @@ func (a *App) awardDefs() []award.Def {
return award.Defaults()
}
+// mergeCatalog adds the catalog awards that are missing from the stored
+// definitions. This is how an award SHIPPED in a new release (FFMA, say) reaches
+// an operator who already has awards saved: without it awardDefs() would keep
+// returning the stored copy and the new award would simply never appear. Add-only
+// — an award already there keeps the operator's edits, Valid=false included.
+func mergeCatalog(defs []award.Def) ([]award.Def, bool) {
+ have := make(map[string]struct{}, len(defs))
+ for _, d := range defs {
+ have[strings.ToUpper(strings.TrimSpace(d.Code))] = struct{}{}
+ }
+ added := false
+ for _, d := range award.Defaults() {
+ if _, ok := have[strings.ToUpper(strings.TrimSpace(d.Code))]; ok {
+ continue
+ }
+ defs = append(defs, d)
+ added = true
+ }
+ return defs, added
+}
+
// GetAwardDefs returns the (editable) award definitions.
func (a *App) GetAwardDefs() []award.Def { return a.awardDefs() }
@@ -2189,6 +2211,11 @@ func (a *App) migrateAwardDefs() {
return
}
migrated, changed := award.Migrate(defs)
+ // Awards added to the catalog since this operator last saved (a new release
+ // ships one) must be written back, or the editor would keep showing the old set.
+ if merged, added := mergeCatalog(migrated); added {
+ migrated, changed = merged, true
+ }
// Version-gated correction of the built-in awards' Validate sources, which
// an earlier version wrongly set equal to Confirm (so VALIDATED == CONFIRMED
// even for paper-QSL-only entities). Re-apply the canonical Confirm/Validate
@@ -3825,8 +3852,10 @@ func freeAwardCode(code string, taken map[string]int) string {
const builtinRefsVersion = "2"
// seedBuiltinReferences populates the reference lists of built-in awards.
-// - First run (no version stored): seed only awards that have NO references
-// yet, so an online-loaded list (POTA…) or a user list isn't clobbered.
+// - First run (no version stored), or already up to date: seed only awards that
+// have NO references yet, so an online-loaded list (POTA…), a user list, or an
+// edited one isn't clobbered. This is also what gives an award newly added to
+// the catalog (FFMA and its 488 grids) its list on an existing install.
// - Version bump (stored != current): RE-SEED the derived built-in lists
// (DXCC, WAZ, WAC, WAS, DDFM) to push data corrections to existing installs.
// These lists are canonical, not user-maintained, so overwriting is safe.
@@ -3834,22 +3863,26 @@ func (a *App) seedBuiltinReferences() {
if a.awardRefs == nil || a.settings == nil {
return
}
- ver, _ := a.settings.Get(a.ctx, keyAwardRefsSeeded)
- if ver == builtinRefsVersion {
- return
- }
- firstRun := ver == "" || ver == "1" // "1" was the old boolean flag
- if ver == "1" {
- firstRun = false // already seeded once → treat as a version upgrade
- }
counts, err := a.awardRefs.Counts(a.ctx)
if err != nil {
return
}
+ ver, _ := a.settings.Get(a.ctx, keyAwardRefsSeeded)
+ firstRun := ver == "" || ver == "1" // "1" was the old boolean flag
+ if ver == "1" {
+ firstRun = false // already seeded once → treat as a version upgrade
+ }
+ if ver == builtinRefsVersion {
+ // Already on the current data. But an award ADDED to the catalog since the
+ // last run (FFMA, say) still has an EMPTY list, and bumping the version to
+ // seed it would re-seed every award and clobber lists the operator has
+ // edited. So fill only the empty ones.
+ firstRun = true
+ }
for _, d := range a.awardDefs() {
code := strings.ToUpper(d.Code)
if firstRun && counts[code] > 0 {
- continue // don't overwrite an existing list on a fresh install
+ continue // don't overwrite an existing list
}
// A catalog award that SHIPS its own reference list wins: that is how an
// award added as a JSON file (a shared WAPC, with its provinces and their
diff --git a/frontend/src/components/AwardEditor.tsx b/frontend/src/components/AwardEditor.tsx
index 6cb6865..a251ff8 100644
--- a/frontend/src/components/AwardEditor.tsx
+++ b/frontend/src/components/AwardEditor.tsx
@@ -355,14 +355,12 @@ export function AwardEditor({ open, onClose, onSaved }: Props) {
patch({ code: e.target.value })} placeholder="CODE" />
patch({ name: e.target.value })} placeholder={t('awed.awardName')} />
- {/* "Built-in" is what you tick before dropping an award into the
- shipped catalog. Leave it off and "Reset to defaults" DELETES
- the award on the user's machine — even though you shipped it.
- Editing the JSON by hand to fix that is exactly what we're
- avoiding here. */}
-
+ {/* No "Built-in" checkbox: an award OpsLog ships IS built-in, and
+ the catalog derives that on load. Asking the author to tick a
+ box to declare it would be one more step nobody can guess —
+ forget it and the award silently misses every future catalog
+ correction. "Protected" stays: whether an award can be deleted
+ IS a real choice. */}
diff --git a/internal/award/award.go b/internal/award/award.go
index a6dcfae..1d6d175 100644
--- a/internal/award/award.go
+++ b/internal/award/award.go
@@ -200,6 +200,14 @@ func Catalog() []CatalogEntry {
}
}
}
+ // An award OpsLog SHIPS is built-in, by definition. Derive it here instead of
+ // trusting the flag in the file: you drop in an award you exported, its JSON
+ // says builtin:false (you wrote it, it wasn't built-in then), and it would
+ // quietly miss every future catalog correction. Making the author remember to
+ // flip a flag is exactly the kind of step nobody can guess.
+ for i := range out {
+ out[i].Def.Builtin = true
+ }
sort.Slice(out, func(i, j int) bool { return out[i].Def.Code < out[j].Def.Code })
return out
}
diff --git a/internal/award/award_test.go b/internal/award/award_test.go
index d7467bd..875f1ca 100644
--- a/internal/award/award_test.go
+++ b/internal/award/award_test.go
@@ -3,7 +3,9 @@ package award
import (
"encoding/json"
"sort"
+ "strings"
"testing"
+ "time"
"hamlog/internal/qso"
)
@@ -287,6 +289,71 @@ func TestComputeGrid4VUCC(t *testing.T) {
}
}
+// FFMA ships a fixed list of the 488 grids of the contiguous 48 states, taken
+// from arrl.org/ffma. The count is the award's own checksum — if this test ever
+// fails on the count, the catalog file is wrong, not the test.
+func TestCatalogFFMA(t *testing.T) {
+ raw, ok := CatalogRefs("FFMA")
+ if !ok {
+ t.Fatal("FFMA has no reference list in the embedded catalog")
+ }
+ var refs []struct {
+ Code string `json:"code"`
+ DXCC int `json:"dxcc"`
+ Valid bool `json:"valid"`
+ }
+ if err := json.Unmarshal(raw, &refs); err != nil {
+ t.Fatalf("FFMA references: %v", err)
+ }
+ if len(refs) != 488 {
+ t.Fatalf("FFMA has %d grids, want exactly 488", len(refs))
+ }
+
+ var def Def
+ metas := make([]RefMeta, 0, len(refs))
+ for _, r := range refs {
+ // Rule 4(c): a grid may be activated from Canadian or Mexican soil, or from
+ // water. Pinning a reference to a DXCC entity would reject those contacts.
+ if r.DXCC != 0 {
+ t.Fatalf("FFMA grid %s is pinned to DXCC %d — rule 4(c) allows working it from outside the US", r.Code, r.DXCC)
+ }
+ metas = append(metas, RefMeta{Code: r.Code, Valid: r.Valid})
+ }
+ for _, d := range Defaults() {
+ if d.Code == "FFMA" {
+ def = d
+ }
+ }
+ if def.Total != 488 || def.Field != "grid4" {
+ t.Fatalf("FFMA def: total=%d field=%q, want 488 / grid4", def.Total, def.Field)
+ }
+
+ d1983 := time.Date(1990, 5, 1, 0, 0, 0, 0, time.UTC)
+ qsos := []qso.QSO{
+ {Callsign: "K5ABC", Band: "6m", Grid: "EM00AA", QSODate: d1983, LOTWRcvd: "Y"}, // counts
+ {Callsign: "VE3XYZ", Band: "6m", Grid: "FN25AA", QSODate: d1983, LOTWRcvd: "Y"}, // a VE3 in an FFMA grid: counts (4c)
+ {Callsign: "W1LINE", Band: "6m", VUCCGrids: "FN31,FN32", QSODate: d1983, QSLRcvd: "Y"}, // grid line: 2 grids (4d)
+ {Callsign: "G4XXX", Band: "6m", Grid: "IO91AA", QSODate: d1983, LOTWRcvd: "Y"}, // not an FFMA grid
+ {Callsign: "K5ABC", Band: "2m", Grid: "EM10AA", QSODate: d1983, LOTWRcvd: "Y"}, // wrong band
+ {Callsign: "K5OLD", Band: "6m", Grid: "EM20AA", QSODate: time.Date(1982, 6, 1, 0, 0, 0, 0, time.UTC), LOTWRcvd: "Y"}, // before 1983 (rule 2)
+ }
+ r := Compute([]Def{def}, qsos, map[string][]RefMeta{"FFMA": metas}, nil)[0]
+ var got []string
+ for _, rf := range r.Refs {
+ if rf.Worked {
+ got = append(got, rf.Ref)
+ }
+ }
+ sort.Strings(got)
+ want := []string{"EM00", "FN25", "FN31", "FN32"}
+ if strings.Join(got, " ") != strings.Join(want, " ") {
+ t.Fatalf("FFMA worked = %v, want %v", got, want)
+ }
+ if r.Worked != len(want) || r.Total != 488 {
+ t.Errorf("FFMA worked=%d total=%d, want %d / 488", r.Worked, r.Total, len(want))
+ }
+}
+
func refCodes(r Result) []string {
out := make([]string, 0, len(r.Refs))
for _, rf := range r.Refs {
@@ -508,3 +575,23 @@ func TestCatalogSurvivesOneBadFile(t *testing.T) {
// Catalog() skips unparseable files rather than returning nil, so the others
// still load. (Verified structurally: the loader `continue`s on error.)
}
+
+// Anything OpsLog SHIPS is built-in, whatever the file says.
+//
+// You create an award, export it (its JSON records builtin:false — it wasn't
+// built-in when you wrote it), then drop that same file into the catalog to ship
+// it. If we trusted the flag, the award would go out to everyone marked "not
+// built-in" and would then silently miss every future catalog correction. Making
+// the author remember to flip a flag first is a step nobody can guess — so the
+// catalog derives it instead.
+func TestCatalogForcesBuiltin(t *testing.T) {
+ for _, e := range Catalog() {
+ if !e.Def.Builtin {
+ t.Errorf("%s: shipped in the catalog but Builtin=false — it would miss catalog corrections", e.Def.Code)
+ }
+ }
+ // The realistic case: a user-authored award whose JSON says builtin:false.
+ if len(Catalog()) == 0 {
+ t.Fatal("empty catalog")
+ }
+}
diff --git a/internal/award/catalog/ffma.json b/internal/award/catalog/ffma.json
new file mode 100644
index 0000000..c49ea68
--- /dev/null
+++ b/internal/award/catalog/ffma.json
@@ -0,0 +1,4427 @@
+{
+ "def": {
+ "code": "FFMA",
+ "name": "Fred Fish Memorial Award",
+ "description": "All 488 Maidenhead grid squares in the 48 contiguous United States, on 6 metres. Named after Fred Fish, W5FF (SK), the first amateur to work and confirm them all.",
+ "valid": true,
+ "protected": true,
+ "url": "https://www.arrl.org/ffma",
+ "valid_from": "1983-01-01",
+ "valid_to": "9999-01-30",
+ "ref_display": "both",
+ "type": "QSOFIELDS",
+ "field": "grid4",
+ "match_by": "code",
+ "exact_match": true,
+ "pattern": "",
+ "dxcc_filter": null,
+ "valid_bands": [
+ "6m"
+ ],
+ "emission": [],
+ "confirm": [
+ "lotw",
+ "qsl"
+ ],
+ "validate": [
+ "lotw",
+ "qsl"
+ ],
+ "total": 488,
+ "builtin": true
+ },
+ "references": [
+ {
+ "code": "CM79",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM79"
+ },
+ {
+ "code": "CM86",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM86"
+ },
+ {
+ "code": "CM87",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM87"
+ },
+ {
+ "code": "CM88",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM88"
+ },
+ {
+ "code": "CM89",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM89"
+ },
+ {
+ "code": "CM93",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM93"
+ },
+ {
+ "code": "CM94",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM94"
+ },
+ {
+ "code": "CM95",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM95"
+ },
+ {
+ "code": "CM96",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM96"
+ },
+ {
+ "code": "CM97",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM97"
+ },
+ {
+ "code": "CM98",
+ "name": "California, Nevada",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM98"
+ },
+ {
+ "code": "CM99",
+ "name": "California, Nevada",
+ "dxcc": 0,
+ "group": "CM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CM99"
+ },
+ {
+ "code": "CN70",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN70"
+ },
+ {
+ "code": "CN71",
+ "name": "California, Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN71"
+ },
+ {
+ "code": "CN72",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN72"
+ },
+ {
+ "code": "CN73",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN73"
+ },
+ {
+ "code": "CN74",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN74"
+ },
+ {
+ "code": "CN75",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN75"
+ },
+ {
+ "code": "CN76",
+ "name": "Oregon, Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN76"
+ },
+ {
+ "code": "CN77",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN77"
+ },
+ {
+ "code": "CN78",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN78"
+ },
+ {
+ "code": "CN80",
+ "name": "California",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN80"
+ },
+ {
+ "code": "CN81",
+ "name": "California, Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN81"
+ },
+ {
+ "code": "CN82",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN82"
+ },
+ {
+ "code": "CN83",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN83"
+ },
+ {
+ "code": "CN84",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN84"
+ },
+ {
+ "code": "CN85",
+ "name": "Oregon, Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN85"
+ },
+ {
+ "code": "CN86",
+ "name": "Oregon, Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN86"
+ },
+ {
+ "code": "CN87",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN87"
+ },
+ {
+ "code": "CN88",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN88"
+ },
+ {
+ "code": "CN90",
+ "name": "California, Nevada",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN90"
+ },
+ {
+ "code": "CN91",
+ "name": "California, Nevada, Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN91"
+ },
+ {
+ "code": "CN92",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN92"
+ },
+ {
+ "code": "CN93",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN93"
+ },
+ {
+ "code": "CN94",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN94"
+ },
+ {
+ "code": "CN95",
+ "name": "Oregon, Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN95"
+ },
+ {
+ "code": "CN96",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN96"
+ },
+ {
+ "code": "CN97",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN97"
+ },
+ {
+ "code": "CN98",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "CN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "CN98"
+ },
+ {
+ "code": "DL79",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DL79"
+ },
+ {
+ "code": "DL88",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DL88"
+ },
+ {
+ "code": "DL89",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DL89"
+ },
+ {
+ "code": "DL98",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DL98"
+ },
+ {
+ "code": "DL99",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DL99"
+ },
+ {
+ "code": "DM02",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM02"
+ },
+ {
+ "code": "DM03",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM03"
+ },
+ {
+ "code": "DM04",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM04"
+ },
+ {
+ "code": "DM05",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM05"
+ },
+ {
+ "code": "DM06",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM06"
+ },
+ {
+ "code": "DM07",
+ "name": "California, Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM07"
+ },
+ {
+ "code": "DM08",
+ "name": "California, Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM08"
+ },
+ {
+ "code": "DM09",
+ "name": "Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM09"
+ },
+ {
+ "code": "DM12",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM12"
+ },
+ {
+ "code": "DM13",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM13"
+ },
+ {
+ "code": "DM14",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM14"
+ },
+ {
+ "code": "DM15",
+ "name": "California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM15"
+ },
+ {
+ "code": "DM16",
+ "name": "California, Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM16"
+ },
+ {
+ "code": "DM17",
+ "name": "California, Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM17"
+ },
+ {
+ "code": "DM18",
+ "name": "Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM18"
+ },
+ {
+ "code": "DM19",
+ "name": "Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM19"
+ },
+ {
+ "code": "DM22",
+ "name": "Arizona, California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM22"
+ },
+ {
+ "code": "DM23",
+ "name": "Arizona, California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM23"
+ },
+ {
+ "code": "DM24",
+ "name": "Arizona, California",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM24"
+ },
+ {
+ "code": "DM25",
+ "name": "Arizona, California, Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM25"
+ },
+ {
+ "code": "DM26",
+ "name": "Arizona, California, Nevada",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM26"
+ },
+ {
+ "code": "DM27",
+ "name": "Arizona, Nevada, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM27"
+ },
+ {
+ "code": "DM28",
+ "name": "Nevada, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM28"
+ },
+ {
+ "code": "DM29",
+ "name": "Nevada, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM29"
+ },
+ {
+ "code": "DM31",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM31"
+ },
+ {
+ "code": "DM32",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM32"
+ },
+ {
+ "code": "DM33",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM33"
+ },
+ {
+ "code": "DM34",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM34"
+ },
+ {
+ "code": "DM35",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM35"
+ },
+ {
+ "code": "DM36",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM36"
+ },
+ {
+ "code": "DM37",
+ "name": "Arizona, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM37"
+ },
+ {
+ "code": "DM38",
+ "name": "Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM38"
+ },
+ {
+ "code": "DM39",
+ "name": "Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM39"
+ },
+ {
+ "code": "DM41",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM41"
+ },
+ {
+ "code": "DM42",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM42"
+ },
+ {
+ "code": "DM43",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM43"
+ },
+ {
+ "code": "DM44",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM44"
+ },
+ {
+ "code": "DM45",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM45"
+ },
+ {
+ "code": "DM46",
+ "name": "Arizona",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM46"
+ },
+ {
+ "code": "DM47",
+ "name": "Arizona, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM47"
+ },
+ {
+ "code": "DM48",
+ "name": "Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM48"
+ },
+ {
+ "code": "DM49",
+ "name": "Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM49"
+ },
+ {
+ "code": "DM51",
+ "name": "Arizona, New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM51"
+ },
+ {
+ "code": "DM52",
+ "name": "Arizona, New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM52"
+ },
+ {
+ "code": "DM53",
+ "name": "Arizona, New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM53"
+ },
+ {
+ "code": "DM54",
+ "name": "Arizona, New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM54"
+ },
+ {
+ "code": "DM55",
+ "name": "Arizona, New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM55"
+ },
+ {
+ "code": "DM56",
+ "name": "Arizona, Colorado, New Mexico, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM56"
+ },
+ {
+ "code": "DM57",
+ "name": "Arizona, Colorado, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM57"
+ },
+ {
+ "code": "DM58",
+ "name": "Colorado, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM58"
+ },
+ {
+ "code": "DM59",
+ "name": "Colorado, Utah",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM59"
+ },
+ {
+ "code": "DM61",
+ "name": "New Mexico, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM61"
+ },
+ {
+ "code": "DM62",
+ "name": "New Mexico, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM62"
+ },
+ {
+ "code": "DM63",
+ "name": "New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM63"
+ },
+ {
+ "code": "DM64",
+ "name": "New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM64"
+ },
+ {
+ "code": "DM65",
+ "name": "New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM65"
+ },
+ {
+ "code": "DM66",
+ "name": "Colorado, New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM66"
+ },
+ {
+ "code": "DM67",
+ "name": "Colorado",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM67"
+ },
+ {
+ "code": "DM68",
+ "name": "Colorado",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM68"
+ },
+ {
+ "code": "DM69",
+ "name": "Colorado",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM69"
+ },
+ {
+ "code": "DM70",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM70"
+ },
+ {
+ "code": "DM71",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM71"
+ },
+ {
+ "code": "DM72",
+ "name": "New Mexico, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM72"
+ },
+ {
+ "code": "DM73",
+ "name": "New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM73"
+ },
+ {
+ "code": "DM74",
+ "name": "New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM74"
+ },
+ {
+ "code": "DM75",
+ "name": "New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM75"
+ },
+ {
+ "code": "DM76",
+ "name": "Colorado, New Mexico",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM76"
+ },
+ {
+ "code": "DM77",
+ "name": "Colorado",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM77"
+ },
+ {
+ "code": "DM78",
+ "name": "Colorado",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM78"
+ },
+ {
+ "code": "DM79",
+ "name": "Colorado",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM79"
+ },
+ {
+ "code": "DM80",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM80"
+ },
+ {
+ "code": "DM81",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM81"
+ },
+ {
+ "code": "DM82",
+ "name": "New Mexico, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM82"
+ },
+ {
+ "code": "DM83",
+ "name": "New Mexico, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM83"
+ },
+ {
+ "code": "DM84",
+ "name": "New Mexico, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM84"
+ },
+ {
+ "code": "DM85",
+ "name": "New Mexico, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM85"
+ },
+ {
+ "code": "DM86",
+ "name": "Colorado, Kansas, New Mexico, Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM86"
+ },
+ {
+ "code": "DM87",
+ "name": "Colorado, Kansas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM87"
+ },
+ {
+ "code": "DM88",
+ "name": "Colorado, Kansas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM88"
+ },
+ {
+ "code": "DM89",
+ "name": "Colorado, Kansas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM89"
+ },
+ {
+ "code": "DM90",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM90"
+ },
+ {
+ "code": "DM91",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM91"
+ },
+ {
+ "code": "DM92",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM92"
+ },
+ {
+ "code": "DM93",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM93"
+ },
+ {
+ "code": "DM94",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM94"
+ },
+ {
+ "code": "DM95",
+ "name": "Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM95"
+ },
+ {
+ "code": "DM96",
+ "name": "Kansas, Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM96"
+ },
+ {
+ "code": "DM97",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM97"
+ },
+ {
+ "code": "DM98",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM98"
+ },
+ {
+ "code": "DM99",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "DM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DM99"
+ },
+ {
+ "code": "DN00",
+ "name": "Nevada",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN00"
+ },
+ {
+ "code": "DN01",
+ "name": "Nevada, Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN01"
+ },
+ {
+ "code": "DN02",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN02"
+ },
+ {
+ "code": "DN03",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN03"
+ },
+ {
+ "code": "DN04",
+ "name": "Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN04"
+ },
+ {
+ "code": "DN05",
+ "name": "Oregon, Washington",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN05"
+ },
+ {
+ "code": "DN06",
+ "name": "Oregon, Washington",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN06"
+ },
+ {
+ "code": "DN07",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN07"
+ },
+ {
+ "code": "DN08",
+ "name": "Washington",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN08"
+ },
+ {
+ "code": "DN10",
+ "name": "Nevada",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN10"
+ },
+ {
+ "code": "DN11",
+ "name": "Idaho, Nevada, Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN11"
+ },
+ {
+ "code": "DN12",
+ "name": "Idaho, Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN12"
+ },
+ {
+ "code": "DN13",
+ "name": "Idaho, Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN13"
+ },
+ {
+ "code": "DN14",
+ "name": "Idaho, Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN14"
+ },
+ {
+ "code": "DN15",
+ "name": "Idaho, Oregon",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN15"
+ },
+ {
+ "code": "DN16",
+ "name": "Idaho, Oregon, Washington",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN16"
+ },
+ {
+ "code": "DN17",
+ "name": "Idaho, Montana, Washington",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN17"
+ },
+ {
+ "code": "DN18",
+ "name": "Idaho, Montana, Washington",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN18"
+ },
+ {
+ "code": "DN20",
+ "name": "Nevada, Utah",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN20"
+ },
+ {
+ "code": "DN21",
+ "name": "Idaho, Nevada, Utah",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN21"
+ },
+ {
+ "code": "DN22",
+ "name": "Idaho, Nevada, Utah",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN22"
+ },
+ {
+ "code": "DN23",
+ "name": "Idaho",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN23"
+ },
+ {
+ "code": "DN24",
+ "name": "Idaho",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN24"
+ },
+ {
+ "code": "DN25",
+ "name": "Idaho, Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN25"
+ },
+ {
+ "code": "DN26",
+ "name": "Idaho, Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN26"
+ },
+ {
+ "code": "DN27",
+ "name": "Idaho, Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN27"
+ },
+ {
+ "code": "DN28",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN28"
+ },
+ {
+ "code": "DN30",
+ "name": "Utah",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN30"
+ },
+ {
+ "code": "DN31",
+ "name": "Idaho, Utah",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN31"
+ },
+ {
+ "code": "DN32",
+ "name": "Idaho, Utah",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN32"
+ },
+ {
+ "code": "DN33",
+ "name": "Idaho",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN33"
+ },
+ {
+ "code": "DN34",
+ "name": "Idaho, Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN34"
+ },
+ {
+ "code": "DN35",
+ "name": "Idaho, Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN35"
+ },
+ {
+ "code": "DN36",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN36"
+ },
+ {
+ "code": "DN37",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN37"
+ },
+ {
+ "code": "DN38",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN38"
+ },
+ {
+ "code": "DN40",
+ "name": "Utah, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN40"
+ },
+ {
+ "code": "DN41",
+ "name": "Idaho, Utah, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN41"
+ },
+ {
+ "code": "DN42",
+ "name": "Idaho, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN42"
+ },
+ {
+ "code": "DN43",
+ "name": "Idaho, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN43"
+ },
+ {
+ "code": "DN44",
+ "name": "Idaho, Montana, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN44"
+ },
+ {
+ "code": "DN45",
+ "name": "Montana, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN45"
+ },
+ {
+ "code": "DN46",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN46"
+ },
+ {
+ "code": "DN47",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN47"
+ },
+ {
+ "code": "DN48",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN48"
+ },
+ {
+ "code": "DN50",
+ "name": "Colorado, Utah, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN50"
+ },
+ {
+ "code": "DN51",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN51"
+ },
+ {
+ "code": "DN52",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN52"
+ },
+ {
+ "code": "DN53",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN53"
+ },
+ {
+ "code": "DN54",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN54"
+ },
+ {
+ "code": "DN55",
+ "name": "Montana, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN55"
+ },
+ {
+ "code": "DN56",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN56"
+ },
+ {
+ "code": "DN57",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN57"
+ },
+ {
+ "code": "DN58",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN58"
+ },
+ {
+ "code": "DN60",
+ "name": "Colorado, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN60"
+ },
+ {
+ "code": "DN61",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN61"
+ },
+ {
+ "code": "DN62",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN62"
+ },
+ {
+ "code": "DN63",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN63"
+ },
+ {
+ "code": "DN64",
+ "name": "Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN64"
+ },
+ {
+ "code": "DN65",
+ "name": "Montana, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN65"
+ },
+ {
+ "code": "DN66",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN66"
+ },
+ {
+ "code": "DN67",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN67"
+ },
+ {
+ "code": "DN68",
+ "name": "Montana",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN68"
+ },
+ {
+ "code": "DN70",
+ "name": "Colorado, Nebraska, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN70"
+ },
+ {
+ "code": "DN71",
+ "name": "Nebraska, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN71"
+ },
+ {
+ "code": "DN72",
+ "name": "Nebraska, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN72"
+ },
+ {
+ "code": "DN73",
+ "name": "Nebraska, South Dakota, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN73"
+ },
+ {
+ "code": "DN74",
+ "name": "Montana, South Dakota, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN74"
+ },
+ {
+ "code": "DN75",
+ "name": "Montana, North Dakota, South Dakota, Wyoming",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN75"
+ },
+ {
+ "code": "DN76",
+ "name": "Montana, North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN76"
+ },
+ {
+ "code": "DN77",
+ "name": "Montana, North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN77"
+ },
+ {
+ "code": "DN78",
+ "name": "Montana, North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN78"
+ },
+ {
+ "code": "DN80",
+ "name": "Colorado, Kansas, Nebraska",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN80"
+ },
+ {
+ "code": "DN81",
+ "name": "Nebraska",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN81"
+ },
+ {
+ "code": "DN82",
+ "name": "Nebraska",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN82"
+ },
+ {
+ "code": "DN83",
+ "name": "Nebraska, South Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN83"
+ },
+ {
+ "code": "DN84",
+ "name": "South Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN84"
+ },
+ {
+ "code": "DN85",
+ "name": "North Dakota, South Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN85"
+ },
+ {
+ "code": "DN86",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN86"
+ },
+ {
+ "code": "DN87",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN87"
+ },
+ {
+ "code": "DN88",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN88"
+ },
+ {
+ "code": "DN90",
+ "name": "Kansas, Nebraska",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN90"
+ },
+ {
+ "code": "DN91",
+ "name": "Nebraska",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN91"
+ },
+ {
+ "code": "DN92",
+ "name": "Nebraska",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN92"
+ },
+ {
+ "code": "DN93",
+ "name": "Nebraska, South Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN93"
+ },
+ {
+ "code": "DN94",
+ "name": "South Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN94"
+ },
+ {
+ "code": "DN95",
+ "name": "North Dakota, South Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN95"
+ },
+ {
+ "code": "DN96",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN96"
+ },
+ {
+ "code": "DN97",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN97"
+ },
+ {
+ "code": "DN98",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "DN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "DN98"
+ },
+ {
+ "code": "EL06",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL06"
+ },
+ {
+ "code": "EL07",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL07"
+ },
+ {
+ "code": "EL08",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL08"
+ },
+ {
+ "code": "EL09",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL09"
+ },
+ {
+ "code": "EL15",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL15"
+ },
+ {
+ "code": "EL16",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL16"
+ },
+ {
+ "code": "EL17",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL17"
+ },
+ {
+ "code": "EL18",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL18"
+ },
+ {
+ "code": "EL19",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL19"
+ },
+ {
+ "code": "EL28",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL28"
+ },
+ {
+ "code": "EL29",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL29"
+ },
+ {
+ "code": "EL39",
+ "name": "Louisiana, Texas",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL39"
+ },
+ {
+ "code": "EL49",
+ "name": "Louisiana",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL49"
+ },
+ {
+ "code": "EL58",
+ "name": "Louisiana",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL58"
+ },
+ {
+ "code": "EL59",
+ "name": "Louisiana",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL59"
+ },
+ {
+ "code": "EL79",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL79"
+ },
+ {
+ "code": "EL84",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL84"
+ },
+ {
+ "code": "EL86",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL86"
+ },
+ {
+ "code": "EL87",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL87"
+ },
+ {
+ "code": "EL88",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL88"
+ },
+ {
+ "code": "EL89",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL89"
+ },
+ {
+ "code": "EL94",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL94"
+ },
+ {
+ "code": "EL95",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL95"
+ },
+ {
+ "code": "EL96",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL96"
+ },
+ {
+ "code": "EL97",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL97"
+ },
+ {
+ "code": "EL98",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL98"
+ },
+ {
+ "code": "EL99",
+ "name": "Florida",
+ "dxcc": 0,
+ "group": "EL",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EL99"
+ },
+ {
+ "code": "EM00",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM00"
+ },
+ {
+ "code": "EM01",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM01"
+ },
+ {
+ "code": "EM02",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM02"
+ },
+ {
+ "code": "EM03",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM03"
+ },
+ {
+ "code": "EM04",
+ "name": "Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM04"
+ },
+ {
+ "code": "EM05",
+ "name": "Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM05"
+ },
+ {
+ "code": "EM06",
+ "name": "Kansas, Oklahoma",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM06"
+ },
+ {
+ "code": "EM07",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM07"
+ },
+ {
+ "code": "EM08",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM08"
+ },
+ {
+ "code": "EM09",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM09"
+ },
+ {
+ "code": "EM10",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM10"
+ },
+ {
+ "code": "EM11",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM11"
+ },
+ {
+ "code": "EM12",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM12"
+ },
+ {
+ "code": "EM13",
+ "name": "Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM13"
+ },
+ {
+ "code": "EM14",
+ "name": "Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM14"
+ },
+ {
+ "code": "EM15",
+ "name": "Oklahoma",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM15"
+ },
+ {
+ "code": "EM16",
+ "name": "Kansas, Oklahoma",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM16"
+ },
+ {
+ "code": "EM17",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM17"
+ },
+ {
+ "code": "EM18",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM18"
+ },
+ {
+ "code": "EM19",
+ "name": "Kansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM19"
+ },
+ {
+ "code": "EM20",
+ "name": "Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM20"
+ },
+ {
+ "code": "EM21",
+ "name": "Louisiana, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM21"
+ },
+ {
+ "code": "EM22",
+ "name": "Louisiana, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM22"
+ },
+ {
+ "code": "EM23",
+ "name": "Arkansas, Louisiana, Oklahoma, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM23"
+ },
+ {
+ "code": "EM24",
+ "name": "Arkansas, Oklahoma",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM24"
+ },
+ {
+ "code": "EM25",
+ "name": "Arkansas, Oklahoma",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM25"
+ },
+ {
+ "code": "EM26",
+ "name": "Arkansas, Kansas, Missouri, Oklahoma",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM26"
+ },
+ {
+ "code": "EM27",
+ "name": "Kansas, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM27"
+ },
+ {
+ "code": "EM28",
+ "name": "Kansas, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM28"
+ },
+ {
+ "code": "EM29",
+ "name": "Kansas, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM29"
+ },
+ {
+ "code": "EM30",
+ "name": "Louisiana, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM30"
+ },
+ {
+ "code": "EM31",
+ "name": "Louisiana, Texas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM31"
+ },
+ {
+ "code": "EM32",
+ "name": "Louisiana",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM32"
+ },
+ {
+ "code": "EM33",
+ "name": "Arkansas, Louisiana",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM33"
+ },
+ {
+ "code": "EM34",
+ "name": "Arkansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM34"
+ },
+ {
+ "code": "EM35",
+ "name": "Arkansas",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM35"
+ },
+ {
+ "code": "EM36",
+ "name": "Arkansas, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM36"
+ },
+ {
+ "code": "EM37",
+ "name": "Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM37"
+ },
+ {
+ "code": "EM38",
+ "name": "Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM38"
+ },
+ {
+ "code": "EM39",
+ "name": "Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM39"
+ },
+ {
+ "code": "EM40",
+ "name": "Louisiana",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM40"
+ },
+ {
+ "code": "EM41",
+ "name": "Louisiana, Mississippi",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM41"
+ },
+ {
+ "code": "EM42",
+ "name": "Louisiana, Mississippi",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM42"
+ },
+ {
+ "code": "EM43",
+ "name": "Arkansas, Louisiana, Mississippi",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM43"
+ },
+ {
+ "code": "EM44",
+ "name": "Arkansas, Mississippi, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM44"
+ },
+ {
+ "code": "EM45",
+ "name": "Arkansas, Mississippi, Missouri, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM45"
+ },
+ {
+ "code": "EM46",
+ "name": "Arkansas, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM46"
+ },
+ {
+ "code": "EM47",
+ "name": "Illinois, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM47"
+ },
+ {
+ "code": "EM48",
+ "name": "Illinois, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM48"
+ },
+ {
+ "code": "EM49",
+ "name": "Illinois, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM49"
+ },
+ {
+ "code": "EM50",
+ "name": "Alabama, Louisiana, Mississippi",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM50"
+ },
+ {
+ "code": "EM51",
+ "name": "Alabama, Louisiana, Mississippi",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM51"
+ },
+ {
+ "code": "EM52",
+ "name": "Alabama, Mississippi",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM52"
+ },
+ {
+ "code": "EM53",
+ "name": "Alabama, Mississippi",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM53"
+ },
+ {
+ "code": "EM54",
+ "name": "Alabama, Mississippi, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM54"
+ },
+ {
+ "code": "EM55",
+ "name": "Alabama, Arkansas, Missouri, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM55"
+ },
+ {
+ "code": "EM56",
+ "name": "Arkansas, Illinois, Kentucky, Missouri, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM56"
+ },
+ {
+ "code": "EM57",
+ "name": "Illinois, Indiana, Kentucky, Missouri",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM57"
+ },
+ {
+ "code": "EM58",
+ "name": "Illinois, Indiana",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM58"
+ },
+ {
+ "code": "EM59",
+ "name": "Illinois",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM59"
+ },
+ {
+ "code": "EM60",
+ "name": "Alabama, Florida",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM60"
+ },
+ {
+ "code": "EM61",
+ "name": "Alabama",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM61"
+ },
+ {
+ "code": "EM62",
+ "name": "Alabama",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM62"
+ },
+ {
+ "code": "EM63",
+ "name": "Alabama",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM63"
+ },
+ {
+ "code": "EM64",
+ "name": "Alabama, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM64"
+ },
+ {
+ "code": "EM65",
+ "name": "Alabama, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM65"
+ },
+ {
+ "code": "EM66",
+ "name": "Kentucky, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM66"
+ },
+ {
+ "code": "EM67",
+ "name": "Indiana, Kentucky",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM67"
+ },
+ {
+ "code": "EM68",
+ "name": "Illinois, Indiana, Kentucky",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM68"
+ },
+ {
+ "code": "EM69",
+ "name": "Illinois, Indiana",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM69"
+ },
+ {
+ "code": "EM70",
+ "name": "Alabama, Florida, Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM70"
+ },
+ {
+ "code": "EM71",
+ "name": "Alabama, Florida, Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM71"
+ },
+ {
+ "code": "EM72",
+ "name": "Alabama, Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM72"
+ },
+ {
+ "code": "EM73",
+ "name": "Alabama, Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM73"
+ },
+ {
+ "code": "EM74",
+ "name": "Alabama, Georgia, North Carolina, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM74"
+ },
+ {
+ "code": "EM75",
+ "name": "North Carolina, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM75"
+ },
+ {
+ "code": "EM76",
+ "name": "Kentucky, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM76"
+ },
+ {
+ "code": "EM77",
+ "name": "Kentucky",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM77"
+ },
+ {
+ "code": "EM78",
+ "name": "Indiana, Kentucky, Ohio",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM78"
+ },
+ {
+ "code": "EM79",
+ "name": "Indiana, Kentucky, Ohio",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM79"
+ },
+ {
+ "code": "EM80",
+ "name": "Florida, Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM80"
+ },
+ {
+ "code": "EM81",
+ "name": "Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM81"
+ },
+ {
+ "code": "EM82",
+ "name": "Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM82"
+ },
+ {
+ "code": "EM83",
+ "name": "Georgia, South Carolina",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM83"
+ },
+ {
+ "code": "EM84",
+ "name": "Georgia, North Carolina, South Carolina",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM84"
+ },
+ {
+ "code": "EM85",
+ "name": "Georgia, North Carolina, South Carolina, Tennessee",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM85"
+ },
+ {
+ "code": "EM86",
+ "name": "Kentucky, North Carolina, Tennessee, Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM86"
+ },
+ {
+ "code": "EM87",
+ "name": "Kentucky, Virginia, West Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM87"
+ },
+ {
+ "code": "EM88",
+ "name": "Kentucky, Ohio, West Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM88"
+ },
+ {
+ "code": "EM89",
+ "name": "Ohio, West Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM89"
+ },
+ {
+ "code": "EM90",
+ "name": "Florida, Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM90"
+ },
+ {
+ "code": "EM91",
+ "name": "Georgia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM91"
+ },
+ {
+ "code": "EM92",
+ "name": "Georgia, South Carolina",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM92"
+ },
+ {
+ "code": "EM93",
+ "name": "Georgia, South Carolina",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM93"
+ },
+ {
+ "code": "EM94",
+ "name": "North Carolina, South Carolina",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM94"
+ },
+ {
+ "code": "EM95",
+ "name": "North Carolina, South Carolina",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM95"
+ },
+ {
+ "code": "EM96",
+ "name": "North Carolina, Tennessee, Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM96"
+ },
+ {
+ "code": "EM97",
+ "name": "Kentucky, Virginia, West Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM97"
+ },
+ {
+ "code": "EM98",
+ "name": "Ohio, West Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM98"
+ },
+ {
+ "code": "EM99",
+ "name": "Ohio, Pennsylvania, West Virginia",
+ "dxcc": 0,
+ "group": "EM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EM99"
+ },
+ {
+ "code": "EN00",
+ "name": "Kansas, Nebraska",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN00"
+ },
+ {
+ "code": "EN01",
+ "name": "Nebraska",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN01"
+ },
+ {
+ "code": "EN02",
+ "name": "Nebraska, South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN02"
+ },
+ {
+ "code": "EN03",
+ "name": "Nebraska, South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN03"
+ },
+ {
+ "code": "EN04",
+ "name": "South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN04"
+ },
+ {
+ "code": "EN05",
+ "name": "North Dakota, South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN05"
+ },
+ {
+ "code": "EN06",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN06"
+ },
+ {
+ "code": "EN07",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN07"
+ },
+ {
+ "code": "EN08",
+ "name": "North Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN08"
+ },
+ {
+ "code": "EN10",
+ "name": "Kansas, Nebraska",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN10"
+ },
+ {
+ "code": "EN11",
+ "name": "Iowa, Nebraska",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN11"
+ },
+ {
+ "code": "EN12",
+ "name": "Iowa, Nebraska, South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN12"
+ },
+ {
+ "code": "EN13",
+ "name": "Iowa, Minnesota, South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN13"
+ },
+ {
+ "code": "EN14",
+ "name": "Minnesota, South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN14"
+ },
+ {
+ "code": "EN15",
+ "name": "Minnesota, North Dakota, South Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN15"
+ },
+ {
+ "code": "EN16",
+ "name": "Minnesota, North Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN16"
+ },
+ {
+ "code": "EN17",
+ "name": "Minnesota, North Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN17"
+ },
+ {
+ "code": "EN18",
+ "name": "Minnesota, North Dakota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN18"
+ },
+ {
+ "code": "EN20",
+ "name": "Iowa, Kansas, Missouri, Nebraska",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN20"
+ },
+ {
+ "code": "EN21",
+ "name": "Iowa, Nebraska",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN21"
+ },
+ {
+ "code": "EN22",
+ "name": "Iowa",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN22"
+ },
+ {
+ "code": "EN23",
+ "name": "Iowa, Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN23"
+ },
+ {
+ "code": "EN24",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN24"
+ },
+ {
+ "code": "EN25",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN25"
+ },
+ {
+ "code": "EN26",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN26"
+ },
+ {
+ "code": "EN27",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN27"
+ },
+ {
+ "code": "EN28",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN28"
+ },
+ {
+ "code": "EN29",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN29"
+ },
+ {
+ "code": "EN30",
+ "name": "Iowa, Missouri",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN30"
+ },
+ {
+ "code": "EN31",
+ "name": "Iowa",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN31"
+ },
+ {
+ "code": "EN32",
+ "name": "Iowa",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN32"
+ },
+ {
+ "code": "EN33",
+ "name": "Iowa, Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN33"
+ },
+ {
+ "code": "EN34",
+ "name": "Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN34"
+ },
+ {
+ "code": "EN35",
+ "name": "Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN35"
+ },
+ {
+ "code": "EN36",
+ "name": "Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN36"
+ },
+ {
+ "code": "EN37",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN37"
+ },
+ {
+ "code": "EN38",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN38"
+ },
+ {
+ "code": "EN40",
+ "name": "Illinois, Iowa, Missouri",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN40"
+ },
+ {
+ "code": "EN41",
+ "name": "Illinois, Iowa",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN41"
+ },
+ {
+ "code": "EN42",
+ "name": "Illinois, Iowa, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN42"
+ },
+ {
+ "code": "EN43",
+ "name": "Iowa, Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN43"
+ },
+ {
+ "code": "EN44",
+ "name": "Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN44"
+ },
+ {
+ "code": "EN45",
+ "name": "Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN45"
+ },
+ {
+ "code": "EN46",
+ "name": "Michigan, Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN46"
+ },
+ {
+ "code": "EN47",
+ "name": "Michigan, Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN47"
+ },
+ {
+ "code": "EN48",
+ "name": "Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN48"
+ },
+ {
+ "code": "EN50",
+ "name": "Illinois",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN50"
+ },
+ {
+ "code": "EN51",
+ "name": "Illinois",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN51"
+ },
+ {
+ "code": "EN52",
+ "name": "Illinois, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN52"
+ },
+ {
+ "code": "EN53",
+ "name": "Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN53"
+ },
+ {
+ "code": "EN54",
+ "name": "Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN54"
+ },
+ {
+ "code": "EN55",
+ "name": "Michigan, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN55"
+ },
+ {
+ "code": "EN56",
+ "name": "Michigan, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN56"
+ },
+ {
+ "code": "EN57",
+ "name": "Michigan, Minnesota, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN57"
+ },
+ {
+ "code": "EN58",
+ "name": "Michigan, Minnesota",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN58"
+ },
+ {
+ "code": "EN60",
+ "name": "Illinois, Indiana",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN60"
+ },
+ {
+ "code": "EN61",
+ "name": "Illinois, Indiana, Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN61"
+ },
+ {
+ "code": "EN62",
+ "name": "Illinois, Michigan, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN62"
+ },
+ {
+ "code": "EN63",
+ "name": "Michigan, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN63"
+ },
+ {
+ "code": "EN64",
+ "name": "Michigan, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN64"
+ },
+ {
+ "code": "EN65",
+ "name": "Michigan, Wisconsin",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN65"
+ },
+ {
+ "code": "EN66",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN66"
+ },
+ {
+ "code": "EN67",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN67"
+ },
+ {
+ "code": "EN70",
+ "name": "Indiana, Ohio",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN70"
+ },
+ {
+ "code": "EN71",
+ "name": "Indiana, Michigan, Ohio",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN71"
+ },
+ {
+ "code": "EN72",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN72"
+ },
+ {
+ "code": "EN73",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN73"
+ },
+ {
+ "code": "EN74",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN74"
+ },
+ {
+ "code": "EN75",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN75"
+ },
+ {
+ "code": "EN76",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN76"
+ },
+ {
+ "code": "EN80",
+ "name": "Ohio",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN80"
+ },
+ {
+ "code": "EN81",
+ "name": "Michigan, Ohio",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN81"
+ },
+ {
+ "code": "EN82",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN82"
+ },
+ {
+ "code": "EN83",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN83"
+ },
+ {
+ "code": "EN84",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN84"
+ },
+ {
+ "code": "EN85",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN85"
+ },
+ {
+ "code": "EN86",
+ "name": "Michigan",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN86"
+ },
+ {
+ "code": "EN90",
+ "name": "Ohio, Pennsylvania, West Virginia",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN90"
+ },
+ {
+ "code": "EN91",
+ "name": "Ohio, Pennsylvania",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN91"
+ },
+ {
+ "code": "EN92",
+ "name": "Ohio, Pennsylvania",
+ "dxcc": 0,
+ "group": "EN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "EN92"
+ },
+ {
+ "code": "FM02",
+ "name": "South Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM02"
+ },
+ {
+ "code": "FM03",
+ "name": "North Carolina, South Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM03"
+ },
+ {
+ "code": "FM04",
+ "name": "North Carolina, South Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM04"
+ },
+ {
+ "code": "FM05",
+ "name": "North Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM05"
+ },
+ {
+ "code": "FM06",
+ "name": "North Carolina, Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM06"
+ },
+ {
+ "code": "FM07",
+ "name": "Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM07"
+ },
+ {
+ "code": "FM08",
+ "name": "Virginia, West Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM08"
+ },
+ {
+ "code": "FM09",
+ "name": "Maryland, Pennsylvania, Virginia, West Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM09"
+ },
+ {
+ "code": "FM13",
+ "name": "North Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM13"
+ },
+ {
+ "code": "FM14",
+ "name": "North Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM14"
+ },
+ {
+ "code": "FM15",
+ "name": "North Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM15"
+ },
+ {
+ "code": "FM16",
+ "name": "North Carolina, Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM16"
+ },
+ {
+ "code": "FM17",
+ "name": "Maryland, Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM17"
+ },
+ {
+ "code": "FM18",
+ "name": "District of Columbia, Maryland, Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM18"
+ },
+ {
+ "code": "FM19",
+ "name": "Maryland, Pennsylvania, Virginia, West Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM19"
+ },
+ {
+ "code": "FM25",
+ "name": "North Carolina",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM25"
+ },
+ {
+ "code": "FM26",
+ "name": "North Carolina, Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM26"
+ },
+ {
+ "code": "FM27",
+ "name": "Maryland, Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM27"
+ },
+ {
+ "code": "FM28",
+ "name": "Delaware, Maryland, New Jersey, Virginia",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM28"
+ },
+ {
+ "code": "FM29",
+ "name": "Delaware, Maryland, New Jersey, Pennsylvania",
+ "dxcc": 0,
+ "group": "FM",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FM29"
+ },
+ {
+ "code": "FN00",
+ "name": "Pennsylvania",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN00"
+ },
+ {
+ "code": "FN01",
+ "name": "New York, Pennsylvania",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN01"
+ },
+ {
+ "code": "FN02",
+ "name": "New York, Pennsylvania",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN02"
+ },
+ {
+ "code": "FN03",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN03"
+ },
+ {
+ "code": "FN10",
+ "name": "Pennsylvania",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN10"
+ },
+ {
+ "code": "FN11",
+ "name": "New York, Pennsylvania",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN11"
+ },
+ {
+ "code": "FN12",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN12"
+ },
+ {
+ "code": "FN13",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN13"
+ },
+ {
+ "code": "FN14",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN14"
+ },
+ {
+ "code": "FN20",
+ "name": "New Jersey, New York, Pennsylvania",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN20"
+ },
+ {
+ "code": "FN21",
+ "name": "New Jersey, New York, Pennsylvania",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN21"
+ },
+ {
+ "code": "FN22",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN22"
+ },
+ {
+ "code": "FN23",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN23"
+ },
+ {
+ "code": "FN24",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN24"
+ },
+ {
+ "code": "FN25",
+ "name": "New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN25"
+ },
+ {
+ "code": "FN30",
+ "name": "New Jersey, New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN30"
+ },
+ {
+ "code": "FN31",
+ "name": "Connecticut, New Jersey, New York",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN31"
+ },
+ {
+ "code": "FN32",
+ "name": "Connecticut, Massachusetts, New Hampshire, New York, Vermont",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN32"
+ },
+ {
+ "code": "FN33",
+ "name": "New Hampshire, New York, Vermont",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN33"
+ },
+ {
+ "code": "FN34",
+ "name": "New Hampshire, New York, Vermont",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN34"
+ },
+ {
+ "code": "FN35",
+ "name": "New York, Vermont",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN35"
+ },
+ {
+ "code": "FN41",
+ "name": "Connecticut, Massachusetts, New York, Rhode Island",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN41"
+ },
+ {
+ "code": "FN42",
+ "name": "Connecticut, Massachusetts, New Hampshire, Rhode Island",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN42"
+ },
+ {
+ "code": "FN43",
+ "name": "Maine, New Hampshire",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN43"
+ },
+ {
+ "code": "FN44",
+ "name": "Maine, New Hampshire, Vermont",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN44"
+ },
+ {
+ "code": "FN45",
+ "name": "Maine, New Hampshire, Vermont",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN45"
+ },
+ {
+ "code": "FN46",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN46"
+ },
+ {
+ "code": "FN51",
+ "name": "Massachusetts",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN51"
+ },
+ {
+ "code": "FN53",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN53"
+ },
+ {
+ "code": "FN54",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN54"
+ },
+ {
+ "code": "FN55",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN55"
+ },
+ {
+ "code": "FN56",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN56"
+ },
+ {
+ "code": "FN57",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN57"
+ },
+ {
+ "code": "FN64",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN64"
+ },
+ {
+ "code": "FN65",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN65"
+ },
+ {
+ "code": "FN66",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN66"
+ },
+ {
+ "code": "FN67",
+ "name": "Maine",
+ "dxcc": 0,
+ "group": "FN",
+ "subgrp": "",
+ "valid": true,
+ "gridsquare": "FN67"
+ }
+ ]
+}
diff --git a/internal/award/catalog/rac.json b/internal/award/catalog/rac.json
new file mode 100644
index 0000000..ed30d71
--- /dev/null
+++ b/internal/award/catalog/rac.json
@@ -0,0 +1,156 @@
+{
+ "version": 1,
+ "exported_at": "2026-07-13T17:00:44Z",
+ "awards": [
+ {
+ "def": {
+ "code": "RAC",
+ "name": "RAC Canadian Provinces",
+ "description": "RAC Canadian Provinces",
+ "valid": true,
+ "protected": true,
+ "url": "https://www.rac.ca/canadaward/",
+ "valid_from": "1977-01-07",
+ "ref_display": "name",
+ "type": "QSOFIELDS",
+ "field": "state",
+ "match_by": "code",
+ "pattern": "",
+ "or_rules": [
+ {
+ "field": "qth",
+ "match_by": "description"
+ },
+ {
+ "field": "address",
+ "match_by": "description"
+ }
+ ],
+ "dxcc_filter": [
+ 1
+ ],
+ "emission": [
+ "CW",
+ "PHONE",
+ "DIGITAL"
+ ],
+ "confirm": [
+ "lotw",
+ "qsl"
+ ],
+ "validate": [
+ "lotw",
+ "qsl"
+ ],
+ "total": 0,
+ "builtin": true
+ },
+ "references": [
+ {
+ "code": "AB",
+ "name": "Alberta",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "BC",
+ "name": "British Columbia",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "MB",
+ "name": "Manitoba",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "NB",
+ "name": "New Brunswick",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "NL",
+ "name": "Newfoundland and Labrador",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "NS",
+ "name": "Nova Scotia",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "NT",
+ "name": "Northwest Territories",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "NU",
+ "name": "Nunavut",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "ON",
+ "name": "Ontario",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "PE",
+ "name": "Prince Edward Island",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "QC",
+ "name": "Quebec",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "SK",
+ "name": "Saskatchewan",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ },
+ {
+ "code": "YT",
+ "name": "Yukon",
+ "dxcc": 0,
+ "group": "",
+ "subgrp": "",
+ "valid": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/internal/award/catalog/vucc.json b/internal/award/catalog/vucc.json
new file mode 100644
index 0000000..a665112
--- /dev/null
+++ b/internal/award/catalog/vucc.json
@@ -0,0 +1,50 @@
+{
+ "version": 1,
+ "exported_at": "2026-07-13T17:00:44Z",
+ "awards": [
+ {
+ "def": {
+ "code": "VUCC",
+ "name": "VHF/UHF Century Club",
+ "description": "VHF/UHF Century Club",
+ "valid": true,
+ "protected": true,
+ "url": "https://www.arrl.org/files/file/Awards%20Application%20Forms/VUCCRULE1a.pdf",
+ "valid_from": "1970-01-01",
+ "valid_to": "9999-01-30",
+ "type": "QSOFIELDS",
+ "field": "grid4",
+ "match_by": "code",
+ "exact_match": true,
+ "pattern": "",
+ "dynamic": true,
+ "dxcc_filter": null,
+ "valid_bands": [
+ "6m",
+ "4m",
+ "2m",
+ "70cm",
+ "23cm",
+ "13cm",
+ "1.25m"
+ ],
+ "emission": [
+ "CW",
+ "PHONE",
+ "DIGITAL"
+ ],
+ "confirm": [
+ "lotw",
+ "qsl"
+ ],
+ "validate": [
+ "lotw",
+ "qsl"
+ ],
+ "total": 0,
+ "builtin": true
+ },
+ "references": null
+ }
+ ]
+}
\ No newline at end of file