stanford-mods 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop_todo.yml +358 -3
  4. data/.travis.yml +1 -4
  5. data/Gemfile +3 -4
  6. data/Rakefile +3 -3
  7. data/lib/marc_countries.rb +381 -381
  8. data/lib/stanford-mods.rb +1 -0
  9. data/lib/stanford-mods/coordinate.rb +14 -36
  10. data/lib/stanford-mods/date_parsing.rb +7 -8
  11. data/lib/stanford-mods/geo_spatial.rb +32 -12
  12. data/lib/stanford-mods/geo_utils.rb +28 -0
  13. data/lib/stanford-mods/imprint.rb +1 -1
  14. data/lib/stanford-mods/name.rb +7 -15
  15. data/lib/stanford-mods/origin_info.rb +35 -37
  16. data/lib/stanford-mods/physical_location.rb +6 -4
  17. data/lib/stanford-mods/searchworks.rb +149 -182
  18. data/lib/stanford-mods/searchworks_languages.rb +3 -3
  19. data/lib/stanford-mods/searchworks_subjects.rb +16 -18
  20. data/lib/stanford-mods/version.rb +1 -1
  21. data/spec/date_parsing_spec.rb +17 -19
  22. data/spec/fixtures/searchworks_imprint_data.rb +1 -1
  23. data/spec/fixtures/searchworks_pub_date_data.rb +1 -1
  24. data/spec/fixtures/spotlight_pub_date_data.rb +1 -1
  25. data/spec/geo_spatial_spec.rb +51 -5
  26. data/spec/imprint_spec.rb +4 -6
  27. data/spec/lib/stanford-mods/coordinate_spec.rb +0 -2
  28. data/spec/name_spec.rb +0 -2
  29. data/spec/origin_info_spec.rb +26 -28
  30. data/spec/physical_location_spec.rb +0 -3
  31. data/spec/searchworks_basic_spec.rb +1 -2
  32. data/spec/searchworks_format_spec.rb +35 -39
  33. data/spec/searchworks_pub_dates_spec.rb +0 -5
  34. data/spec/searchworks_spec.rb +1 -7
  35. data/spec/searchworks_subject_raw_spec.rb +0 -5
  36. data/spec/searchworks_subject_spec.rb +2 -9
  37. data/spec/searchworks_title_spec.rb +0 -2
  38. data/spec/spec_helper.rb +2 -5
  39. data/spec/sw_publication_spec.rb +1 -2
  40. data/stanford-mods.gemspec +1 -2
  41. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abcbc3357a121647ed103d8341b2cdb48d0c600d
4
- data.tar.gz: 789c2fa194b7c837c7cdf10898eeab3b4b3636b9
3
+ metadata.gz: 1349b54281f4c2383a7f1fb60faecf8567a3c0cd
4
+ data.tar.gz: 31df104c5dd8d57eea168f802a04e8a3b4263157
5
5
  SHA512:
6
- metadata.gz: 14231328428d5a250701cdac1f16977ce67ddc6db89fa465635bd7ad3171391c7b11921146020c8992f2af4f9647abbaa0f4f11954ee6a30fb039dd4e1426c32
7
- data.tar.gz: 253c2201ff7f6ffc206226523ae6bcac56eb48cb386bd93789e2c1babf03f5808adaddcdf9881222b83a76e89567c551ac9c72568e29e784977c9eb117df9dea
6
+ metadata.gz: 56063abe20c48c0c7bf6ea615a8091cb2abc0eb4dc81a25ef1c3ae1611cee8c9fcf4b15854404a920f0ef21e5982817d9447af626a6b35eb4c0030c42b3db631
7
+ data.tar.gz: b3f29a4557713e94e4cd0d0db9dab6354927d065255c945b9434efa14e5f226cc281db974cd1fe61b4bb44aa39f72f59987973b5071adcd2a6753bda121ffdbe
data/.gitignore CHANGED
@@ -23,3 +23,4 @@ tmp
23
23
  tmtags
24
24
  .idea/*
25
25
  .pry_history
26
+ .byebug_history
data/.rubocop_todo.yml CHANGED
@@ -1,12 +1,367 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2015-11-17 14:05:33 -0800 using RuboCop version 0.35.1.
3
+ # on 2016-07-29 17:24:44 -0700 using RuboCop version 0.42.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
+ # Offense count: 34
10
+ Metrics/AbcSize:
11
+ Max: 55
12
+
13
+ # Offense count: 5
14
+ # Configuration parameters: CountComments.
15
+ Metrics/ClassLength:
16
+ Max: 344
17
+
18
+ # Offense count: 19
19
+ Metrics/CyclomaticComplexity:
20
+ Max: 26
21
+
22
+ # Offense count: 109
23
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
24
+ # URISchemes: http, https
25
+ Metrics/LineLength:
26
+ Max: 188
27
+
28
+ # Offense count: 32
29
+ # Configuration parameters: CountComments.
30
+ Metrics/MethodLength:
31
+ Max: 53
32
+
33
+ # Offense count: 15
34
+ Metrics/PerceivedComplexity:
35
+ Max: 22
36
+
37
+ # Offense count: 4
38
+ # Cop supports --auto-correct.
39
+ Performance/PushSplat:
40
+ Exclude:
41
+ - 'spec/date_parsing_spec.rb'
42
+
43
+ # Offense count: 3
44
+ RSpec/AnyInstance:
45
+ Exclude:
46
+ - 'spec/date_parsing_spec.rb'
47
+
48
+ # Offense count: 13
49
+ RSpec/DescribeClass:
50
+ Exclude:
51
+ - 'spec/date_parsing_spec.rb'
52
+ - 'spec/geo_spatial_spec.rb'
53
+ - 'spec/name_spec.rb'
54
+ - 'spec/origin_info_spec.rb'
55
+ - 'spec/physical_location_spec.rb'
56
+ - 'spec/searchworks_basic_spec.rb'
57
+ - 'spec/searchworks_format_spec.rb'
58
+ - 'spec/searchworks_pub_dates_spec.rb'
59
+ - 'spec/searchworks_spec.rb'
60
+ - 'spec/searchworks_subject_raw_spec.rb'
61
+ - 'spec/searchworks_subject_spec.rb'
62
+ - 'spec/searchworks_title_spec.rb'
63
+ - 'spec/sw_publication_spec.rb'
64
+
65
+ # Offense count: 144
66
+ # Configuration parameters: Max.
67
+ RSpec/ExampleLength:
68
+ Exclude:
69
+ - 'spec/imprint_spec.rb'
70
+ - 'spec/name_spec.rb'
71
+ - 'spec/origin_info_spec.rb'
72
+ - 'spec/searchworks_format_spec.rb'
73
+ - 'spec/searchworks_pub_dates_spec.rb'
74
+ - 'spec/searchworks_spec.rb'
75
+ - 'spec/searchworks_subject_raw_spec.rb'
76
+ - 'spec/searchworks_subject_spec.rb'
77
+ - 'spec/searchworks_title_spec.rb'
78
+
79
+ # Offense count: 106
80
+ # Configuration parameters: CustomTransform, IgnoredWords.
81
+ RSpec/ExampleWording:
82
+ Exclude:
83
+ - 'spec/searchworks_basic_spec.rb'
84
+ - 'spec/searchworks_spec.rb'
85
+ - 'spec/searchworks_subject_raw_spec.rb'
86
+ - 'spec/searchworks_subject_spec.rb'
87
+ - 'spec/searchworks_title_spec.rb'
88
+
89
+ # Offense count: 2
90
+ # Configuration parameters: CustomTransform.
91
+ RSpec/FilePath:
92
+ Exclude:
93
+ - 'spec/imprint_spec.rb'
94
+ - 'spec/lib/stanford-mods/coordinate_spec.rb'
95
+
96
+ # Offense count: 1081
97
+ RSpec/InstanceVariable:
98
+ Exclude:
99
+ - 'spec/physical_location_spec.rb'
100
+ - 'spec/searchworks_basic_spec.rb'
101
+ - 'spec/searchworks_format_spec.rb'
102
+ - 'spec/searchworks_spec.rb'
103
+ - 'spec/searchworks_subject_raw_spec.rb'
104
+ - 'spec/searchworks_subject_spec.rb'
105
+ - 'spec/searchworks_title_spec.rb'
106
+
107
+ # Offense count: 1
108
+ # Cop supports --auto-correct.
109
+ # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
110
+ # SupportedStyles: outdent, indent
111
+ Style/AccessModifierIndentation:
112
+ Exclude:
113
+ - 'lib/stanford-mods/origin_info.rb'
114
+
115
+ # Offense count: 1
116
+ # Cop supports --auto-correct.
117
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
118
+ # SupportedStyles: prefer_alias, prefer_alias_method
119
+ Style/Alias:
120
+ Exclude:
121
+ - 'lib/stanford-mods/origin_info.rb'
122
+
123
+ # Offense count: 27
124
+ # Cop supports --auto-correct.
125
+ Style/AlignArray:
126
+ Exclude:
127
+ - 'lib/stanford-mods/searchworks.rb'
128
+ - 'spec/imprint_spec.rb'
129
+
130
+ # Offense count: 4
131
+ # Cop supports --auto-correct.
132
+ # Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle, SupportedLastArgumentHashStyles.
133
+ # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
134
+ Style/AlignHash:
135
+ Exclude:
136
+ - 'spec/fixtures/searchworks_imprint_data.rb'
137
+ - 'spec/fixtures/searchworks_pub_date_data.rb'
138
+ - 'spec/fixtures/spotlight_pub_date_data.rb'
139
+
140
+ # Offense count: 33
141
+ # Cop supports --auto-correct.
142
+ # Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods.
143
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining
144
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
145
+ # FunctionalMethods: let, let!, subject, watch
146
+ # IgnoredMethods: lambda, proc, it
147
+ Style/BlockDelimiters:
148
+ Exclude:
149
+ - 'lib/stanford-mods/name.rb'
150
+ - 'lib/stanford-mods/origin_info.rb'
151
+ - 'lib/stanford-mods/searchworks.rb'
152
+ - 'lib/stanford-mods/searchworks_subjects.rb'
153
+ - 'spec/name_spec.rb'
154
+
155
+ # Offense count: 12
156
+ # Cop supports --auto-correct.
157
+ Style/BlockEndNewline:
158
+ Exclude:
159
+ - 'spec/name_spec.rb'
160
+
161
+ # Offense count: 20
162
+ # Cop supports --auto-correct.
163
+ # Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep, IndentationWidth.
164
+ # SupportedStyles: case, end
165
+ Style/CaseIndentation:
166
+ Exclude:
167
+ - 'lib/stanford-mods/searchworks.rb'
168
+
169
+ # Offense count: 6
170
+ # Cop supports --auto-correct.
171
+ Style/CommentIndentation:
172
+ Exclude:
173
+ - 'lib/stanford-mods/origin_info.rb'
174
+ - 'spec/fixtures/searchworks_imprint_data.rb'
175
+ - 'spec/fixtures/searchworks_pub_date_data.rb'
176
+ - 'spec/fixtures/spotlight_pub_date_data.rb'
177
+
178
+ # Offense count: 3
179
+ # Cop supports --auto-correct.
180
+ # Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly.
181
+ # SupportedStyles: assign_to_condition, assign_inside_condition
182
+ Style/ConditionalAssignment:
183
+ Exclude:
184
+ - 'lib/stanford-mods/imprint.rb'
185
+ - 'lib/stanford-mods/origin_info.rb'
186
+ - 'lib/stanford-mods/searchworks.rb'
187
+
188
+ # Offense count: 5
189
+ Style/Documentation:
190
+ Exclude:
191
+ - 'spec/**/*'
192
+ - 'test/**/*'
193
+ - 'lib/stanford-mods/name.rb'
194
+ - 'lib/stanford-mods/origin_info.rb'
195
+ - 'lib/stanford-mods/physical_location.rb'
196
+ - 'lib/stanford-mods/searchworks.rb'
197
+ - 'lib/stanford-mods/searchworks_subjects.rb'
198
+
9
199
  # Offense count: 1
10
- Lint/UselessAssignment:
200
+ # Cop supports --auto-correct.
201
+ Style/EmptyCaseCondition:
11
202
  Exclude:
12
- - 'config/mappings_hash.rb'
203
+ - 'lib/stanford-mods/imprint.rb'
204
+
205
+ # Offense count: 1
206
+ # Cop supports --auto-correct.
207
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
208
+ # SupportedStyles: empty, nil, both
209
+ Style/EmptyElse:
210
+ Exclude:
211
+ - 'lib/stanford-mods/searchworks.rb'
212
+
213
+ # Offense count: 1
214
+ # Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts.
215
+ Style/FileName:
216
+ Exclude:
217
+ - 'lib/stanford-mods.rb'
218
+
219
+ # Offense count: 2
220
+ # Configuration parameters: MinBodyLength.
221
+ Style/GuardClause:
222
+ Exclude:
223
+ - 'lib/stanford-mods/date_parsing.rb'
224
+ - 'lib/stanford-mods/origin_info.rb'
225
+
226
+ # Offense count: 2
227
+ Style/IdenticalConditionalBranches:
228
+ Exclude:
229
+ - 'lib/stanford-mods/origin_info.rb'
230
+
231
+ # Offense count: 205
232
+ # Cop supports --auto-correct.
233
+ Style/LineEndConcatenation:
234
+ Exclude:
235
+ - 'spec/fixtures/searchworks_imprint_data.rb'
236
+ - 'spec/fixtures/searchworks_pub_date_data.rb'
237
+ - 'spec/fixtures/spotlight_pub_date_data.rb'
238
+ - 'spec/origin_info_spec.rb'
239
+
240
+ # Offense count: 2
241
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
242
+ # SupportedStyles: snake_case, camelCase
243
+ Style/MethodName:
244
+ Exclude:
245
+ - 'lib/stanford-mods/origin_info.rb'
246
+
247
+ # Offense count: 6
248
+ # Cop supports --auto-correct.
249
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
250
+ # SupportedStyles: symmetrical, new_line, same_line
251
+ Style/MultilineArrayBraceLayout:
252
+ Exclude:
253
+ - 'lib/stanford-mods/searchworks.rb'
254
+ - 'spec/imprint_spec.rb'
255
+
256
+ # Offense count: 12
257
+ # Cop supports --auto-correct.
258
+ Style/MultilineBlockLayout:
259
+ Exclude:
260
+ - 'spec/name_spec.rb'
261
+
262
+ # Offense count: 5
263
+ # Cop supports --auto-correct.
264
+ # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
265
+ # SupportedStyles: aligned, indented, indented_relative_to_receiver
266
+ Style/MultilineMethodCallIndentation:
267
+ Exclude:
268
+ - 'spec/date_parsing_spec.rb'
269
+
270
+ # Offense count: 882
271
+ # Cop supports --auto-correct.
272
+ # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
273
+ # SupportedStyles: aligned, indented
274
+ Style/MultilineOperationIndentation:
275
+ Exclude:
276
+ - 'lib/stanford-mods/name.rb'
277
+ - 'lib/stanford-mods/searchworks.rb'
278
+ - 'spec/fixtures/searchworks_imprint_data.rb'
279
+ - 'spec/fixtures/searchworks_pub_date_data.rb'
280
+ - 'spec/fixtures/spotlight_pub_date_data.rb'
281
+ - 'spec/origin_info_spec.rb'
282
+
283
+ # Offense count: 1
284
+ # Cop supports --auto-correct.
285
+ # Configuration parameters: EnforcedOctalStyle, SupportedOctalStyles.
286
+ # SupportedOctalStyles: zero_with_o, zero_only
287
+ Style/NumericLiteralPrefix:
288
+ Exclude:
289
+ - 'spec/date_parsing_spec.rb'
290
+
291
+ # Offense count: 8
292
+ # Cop supports --auto-correct.
293
+ Style/PerlBackrefs:
294
+ Exclude:
295
+ - 'lib/stanford-mods/date_parsing.rb'
296
+
297
+ # Offense count: 2
298
+ # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
299
+ # NamePrefix: is_, has_, have_
300
+ # NamePrefixBlacklist: is_, has_, have_
301
+ # NameWhitelist: is_a?
302
+ Style/PredicateName:
303
+ Exclude:
304
+ - 'spec/**/*'
305
+ - 'lib/stanford-mods/origin_info.rb'
306
+
307
+ # Offense count: 3
308
+ # Cop supports --auto-correct.
309
+ Style/PreferredHashMethods:
310
+ Exclude:
311
+ - 'lib/stanford-mods/searchworks.rb'
312
+
313
+ # Offense count: 6
314
+ # Cop supports --auto-correct.
315
+ # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
316
+ # SupportedStyles: slashes, percent_r, mixed
317
+ Style/RegexpLiteral:
318
+ Exclude:
319
+ - 'lib/stanford-mods/date_parsing.rb'
320
+ - 'lib/stanford-mods/searchworks.rb'
321
+ - 'spec/searchworks_subject_spec.rb'
322
+
323
+ # Offense count: 2
324
+ # Cop supports --auto-correct.
325
+ Style/RescueModifier:
326
+ Exclude:
327
+ - 'lib/stanford-mods/origin_info.rb'
328
+
329
+ # Offense count: 1
330
+ # Cop supports --auto-correct.
331
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
332
+ # SupportedStyles: only_raise, only_fail, semantic
333
+ Style/SignalException:
334
+ Exclude:
335
+ - 'lib/stanford-mods/origin_info.rb'
336
+
337
+ # Offense count: 1
338
+ # Cop supports --auto-correct.
339
+ # Configuration parameters: SupportedStyles.
340
+ # SupportedStyles: use_perl_names, use_english_names
341
+ Style/SpecialGlobalVars:
342
+ EnforcedStyle: use_perl_names
343
+
344
+ # Offense count: 4
345
+ # Cop supports --auto-correct.
346
+ # Configuration parameters: IgnoredMethods.
347
+ # IgnoredMethods: respond_to, define_method
348
+ Style/SymbolProc:
349
+ Exclude:
350
+ - 'lib/stanford-mods/searchworks.rb'
351
+ - 'lib/stanford-mods/searchworks_subjects.rb'
352
+
353
+ # Offense count: 10
354
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
355
+ # SupportedStyles: snake_case, camelCase
356
+ Style/VariableName:
357
+ Exclude:
358
+ - 'lib/stanford-mods/imprint.rb'
359
+ - 'lib/stanford-mods/origin_info.rb'
360
+ - 'lib/stanford-mods/searchworks.rb'
361
+
362
+ # Offense count: 125
363
+ # Cop supports --auto-correct.
364
+ # Configuration parameters: SupportedStyles, MinSize, WordRegex.
365
+ # SupportedStyles: percent, brackets
366
+ Style/WordArray:
367
+ EnforcedStyle: brackets
data/.travis.yml CHANGED
@@ -1,11 +1,9 @@
1
1
  language: ruby
2
2
  script: rake
3
3
  rvm:
4
+ - 2.3.1
4
5
  - 2.2.3 # spotlight
5
6
  - 2.2.0
6
- - 2.1.5
7
- - 2.0.0
8
- - 1.9.3 # FRDA
9
7
  # we used to use jruby for merged DOR + MARC records, but no more ...
10
8
  - jruby-head
11
9
  # we also test against ruby-head, which may be unstable.
@@ -14,6 +12,5 @@ matrix:
14
12
  allow_failures:
15
13
  - rvm: jruby-head
16
14
  - rvm: ruby-head
17
-
18
15
  notifications: false
19
16
  sudo: false
data/Gemfile CHANGED
@@ -7,9 +7,8 @@ group :test, :development do
7
7
  gem 'rubocop', require: false
8
8
  gem 'rubocop-rspec', require: false
9
9
  gem 'pry-byebug', require: false, platform: [:ruby_20, :ruby_21]
10
- end
11
-
12
- group :test do
13
10
  gem 'coveralls', require: false
14
- # gem 'pry-byebug', require: false
15
11
  end
12
+
13
+ # Pin to activesupport 4.x for older versions of ruby
14
+ gem 'activesupport', '~> 4.2' if RUBY_VERSION < '2.2.2'
data/Rakefile CHANGED
@@ -10,12 +10,12 @@ rescue Bundler::BundlerError => e
10
10
  exit e.status_code
11
11
  end
12
12
 
13
- task :default => :ci
13
+ task default: :ci
14
14
 
15
15
  desc "run continuous integration suite (tests, coverage, rubocop lint)"
16
- task :ci => [:rspec, :rubocop]
16
+ task ci: [:rspec, :rubocop]
17
17
 
18
- task :spec => :rspec
18
+ task spec: :rspec
19
19
 
20
20
  require 'rspec/core/rake_task'
21
21
  RSpec::Core::RakeTask.new(:rspec) do |spec|
@@ -4,384 +4,384 @@
4
4
  # includes discontinued codes, because they're probably in our data
5
5
  # from https://www.loc.gov/marc/countries/countries_code.html 01/20/2016
6
6
  MARC_COUNTRIES =
7
- {
8
- 'aa' => 'Albania',
9
- 'abc' => 'Alberta',
10
- 'ac' => 'Ashmore and Cartier Islands',
11
- 'aca' => 'Australian Capital Territory',
12
- 'ae' => 'Algeria',
13
- 'af' => 'Afghanistan',
14
- 'ag' => 'Argentina',
15
- 'ai' => 'Armenia (Republic)',
16
- 'air' => 'Armenian S.S.R.',
17
- 'aj' => 'Azerbaijan',
18
- 'ajr' => 'Azerbaijan S.S.R.',
19
- 'aku' => 'Alaska',
20
- 'alu' => 'Alabama',
21
- 'am' => 'Anguilla',
22
- 'an' => 'Andorra',
23
- 'ao' => 'Angola',
24
- 'aq' => 'Antigua and Barbuda',
25
- 'aru' => 'Arkansas',
26
- 'as' => 'American Samoa',
27
- 'at' => 'Australia',
28
- 'au' => 'Austria',
29
- 'aw' => 'Aruba',
30
- 'ay' => 'Antarctica',
31
- 'azu' => 'Arizona',
32
- 'ba' => 'Bahrain',
33
- 'bb' => 'Barbados',
34
- 'bcc' => 'British Columbia',
35
- 'bd' => 'Burundi',
36
- 'be' => 'Belgium',
37
- 'bf' => 'Bahamas',
38
- 'bg' => 'Bangladesh',
39
- 'bh' => 'Belize',
40
- 'bi' => 'British Indian Ocean Territory',
41
- 'bl' => 'Brazil',
42
- 'bm' => 'Bermuda Islands',
43
- 'bn' => 'Bosnia and Herzegovina',
44
- 'bo' => 'Bolivia',
45
- 'bp' => 'Solomon Islands',
46
- 'br' => 'Burma',
47
- 'bs' => 'Botswana',
48
- 'bt' => 'Bhutan',
49
- 'bu' => 'Bulgaria',
50
- 'bv' => 'Bouvet Island',
51
- 'bw' => 'Belarus',
52
- 'bwr' => 'Byelorussian S.S.R.',
53
- 'bx' => 'Brunei',
54
- 'ca' => 'Caribbean Netherlands',
55
- 'cau' => 'California',
56
- 'cb' => 'Cambodia',
57
- 'cc' => 'China',
58
- 'cd' => 'Chad',
59
- 'ce' => 'Sri Lanka',
60
- 'cf' => 'Congo (Brazzaville)',
61
- 'cg' => 'Congo (Democratic Republic)',
62
- 'ch' => 'China (Republic : 1949 )',
63
- 'ci' => 'Croatia',
64
- 'cj' => 'Cayman Islands',
65
- 'ck' => 'Colombia',
66
- 'cl' => 'Chile',
67
- 'cm' => 'Cameroon',
68
- 'cn' => 'Canada',
69
- 'co' => 'Curaçao',
70
- 'cou' => 'Colorado',
71
- 'cp' => 'Canton and Enderbury Islands',
72
- 'cq' => 'Comoros',
73
- 'cr' => 'Costa Rica',
74
- 'cs' => 'Czechoslovakia',
75
- 'ctu' => 'Connecticut',
76
- 'cu' => 'Cuba',
77
- 'cv' => 'Cabo Verde',
78
- 'cw' => 'Cook Islands',
79
- 'cx' => 'Central African Republic',
80
- 'cy' => 'Cyprus',
81
- 'cz' => 'Canal Zone',
82
- 'dcu' => 'District of Columbia',
83
- 'deu' => 'Delaware',
84
- 'dk' => 'Denmark',
85
- 'dm' => 'Benin',
86
- 'dq' => 'Dominica',
87
- 'dr' => 'Dominican Republic',
88
- 'ea' => 'Eritrea',
89
- 'ec' => 'Ecuador',
90
- 'eg' => 'Equatorial Guinea',
91
- 'em' => 'TimorLeste',
92
- 'enk' => 'England',
93
- 'er' => 'Estonia',
94
- 'err' => 'Estonia',
95
- 'es' => 'El Salvador',
96
- 'et' => 'Ethiopia',
97
- 'fa' => 'Faroe Islands',
98
- 'fg' => 'French Guiana',
99
- 'fi' => 'Finland',
100
- 'fj' => 'Fiji',
101
- 'fk' => 'Falkland Islands',
102
- 'flu' => 'Florida',
103
- 'fm' => 'Micronesia (Federated States)',
104
- 'fp' => 'French Polynesia',
105
- 'fr' => 'France',
106
- 'fs' => 'Terres australes et antarctiques françaises',
107
- 'ft' => 'Djibouti',
108
- 'gau' => 'Georgia',
109
- 'gb' => 'Kiribati',
110
- 'gd' => 'Grenada',
111
- 'ge' => 'Germany (East)',
112
- 'gh' => 'Ghana',
113
- 'gi' => 'Gibraltar',
114
- 'gl' => 'Greenland',
115
- 'gm' => 'Gambia',
116
- 'gn' => 'Gilbert and Ellice Islands',
117
- 'go' => 'Gabon',
118
- 'gp' => 'Guadeloupe',
119
- 'gr' => 'Greece',
120
- 'gs' => 'Georgia (Republic)',
121
- 'gsr' => 'Georgian S.S.R.',
122
- 'gt' => 'Guatemala',
123
- 'gu' => 'Guam',
124
- 'gv' => 'Guinea',
125
- 'gw' => 'Germany',
126
- 'gy' => 'Guyana',
127
- 'gz' => 'Gaza Strip',
128
- 'hiu' => 'Hawaii',
129
- 'hk' => 'Hong Kong',
130
- 'hm' => 'Heard and McDonald Islands',
131
- 'ho' => 'Honduras',
132
- 'ht' => 'Haiti',
133
- 'hu' => 'Hungary',
134
- 'iau' => 'Iowa',
135
- 'ic' => 'Iceland',
136
- 'idu' => 'Idaho',
137
- 'ie' => 'Ireland',
138
- 'ii' => 'India',
139
- 'ilu' => 'Illinois',
140
- 'inu' => 'Indiana',
141
- 'io' => 'Indonesia',
142
- 'iq' => 'Iraq',
143
- 'ir' => 'Iran',
144
- 'is' => 'Israel',
145
- 'it' => 'Italy',
146
- 'iu' => 'IsraelSyria Demilitarized Zones',
147
- 'iv' => "Côte d'Ivoire",
148
- 'iw' => 'IsraelJordan Demilitarized Zones',
149
- 'iy' => 'IraqSaudi Arabia Neutral Zone',
150
- 'ja' => 'Japan',
151
- 'ji' => 'Johnston Atoll',
152
- 'jm' => 'Jamaica',
153
- 'jn' => 'Jan Mayen',
154
- 'jo' => 'Jordan',
155
- 'ke' => 'Kenya',
156
- 'kg' => 'Kyrgyzstan',
157
- 'kgr' => 'Kirghiz S.S.R.',
158
- 'kn' => 'Korea (North)',
159
- 'ko' => 'Korea (South)',
160
- 'ksu' => 'Kansas',
161
- 'ku' => 'Kuwait',
162
- 'kv' => 'Kosovo',
163
- 'kyu' => 'Kentucky',
164
- 'kz' => 'Kazakhstan',
165
- 'kzr' => 'Kazakh S.S.R.',
166
- 'lau' => 'Louisiana',
167
- 'lb' => 'Liberia',
168
- 'le' => 'Lebanon',
169
- 'lh' => 'Liechtenstein',
170
- 'li' => 'Lithuania',
171
- 'lir' => 'Lithuania',
172
- 'ln' => 'Central and Southern Line Islands',
173
- 'lo' => 'Lesotho',
174
- 'ls' => 'Laos',
175
- 'lu' => 'Luxembourg',
176
- 'lv' => 'Latvia',
177
- 'lvr' => 'Latvia',
178
- 'ly' => 'Libya',
179
- 'mau' => 'Massachusetts',
180
- 'mbc' => 'Manitoba',
181
- 'mc' => 'Monaco',
182
- 'mdu' => 'Maryland',
183
- 'meu' => 'Maine',
184
- 'mf' => 'Mauritius',
185
- 'mg' => 'Madagascar',
186
- 'mh' => 'Macao',
187
- 'miu' => 'Michigan',
188
- 'mj' => 'Montserrat',
189
- 'mk' => 'Oman',
190
- 'ml' => 'Mali',
191
- 'mm' => 'Malta',
192
- 'mnu' => 'Minnesota',
193
- 'mo' => 'Montenegro',
194
- 'mou' => 'Missouri',
195
- 'mp' => 'Mongolia',
196
- 'mq' => 'Martinique',
197
- 'mr' => 'Morocco',
198
- 'msu' => 'Mississippi',
199
- 'mtu' => 'Montana',
200
- 'mu' => 'Mauritania',
201
- 'mv' => 'Moldova',
202
- 'mvr' => 'Moldavian S.S.R.',
203
- 'mw' => 'Malawi',
204
- 'mx' => 'Mexico',
205
- 'my' => 'Malaysia',
206
- 'mz' => 'Mozambique',
207
- 'na' => 'Netherlands Antilles',
208
- 'nbu' => 'Nebraska',
209
- 'ncu' => 'North Carolina',
210
- 'ndu' => 'North Dakota',
211
- 'ne' => 'Netherlands',
212
- 'nfc' => 'Newfoundland and Labrador',
213
- 'ng' => 'Niger',
214
- 'nhu' => 'New Hampshire',
215
- 'nik' => 'Northern Ireland',
216
- 'nju' => 'New Jersey',
217
- 'nkc' => 'New Brunswick',
218
- 'nl' => 'New Caledonia',
219
- 'nm' => 'Northern Mariana Islands',
220
- 'nmu' => 'New Mexico',
221
- 'nn' => 'Vanuatu',
222
- 'no' => 'Norway',
223
- 'np' => 'Nepal',
224
- 'nq' => 'Nicaragua',
225
- 'nr' => 'Nigeria',
226
- 'nsc' => 'Nova Scotia',
227
- 'ntc' => 'Northwest Territories',
228
- 'nu' => 'Nauru',
229
- 'nuc' => 'Nunavut',
230
- 'nvu' => 'Nevada',
231
- 'nw' => 'Northern Mariana Islands',
232
- 'nx' => 'Norfolk Island',
233
- 'nyu' => 'New York (State)',
234
- 'nz' => 'New Zealand',
235
- 'ohu' => 'Ohio',
236
- 'oku' => 'Oklahoma',
237
- 'onc' => 'Ontario',
238
- 'oru' => 'Oregon',
239
- 'ot' => 'Mayotte',
240
- 'pau' => 'Pennsylvania',
241
- 'pc' => 'Pitcairn Island',
242
- 'pe' => 'Peru',
243
- 'pf' => 'Paracel Islands',
244
- 'pg' => 'GuineaBissau',
245
- 'ph' => 'Philippines',
246
- 'pic' => 'Prince Edward Island',
247
- 'pk' => 'Pakistan',
248
- 'pl' => 'Poland',
249
- 'pn' => 'Panama',
250
- 'po' => 'Portugal',
251
- 'pp' => 'Papua New Guinea',
252
- 'pr' => 'Puerto Rico',
253
- 'pt' => 'Portuguese Timor',
254
- 'pw' => 'Palau',
255
- 'py' => 'Paraguay',
256
- 'qa' => 'Qatar',
257
- 'qea' => 'Queensland',
258
- 'quc' => 'Québec (Province)',
259
- 'rb' => 'Serbia',
260
- 're' => 'Réunion',
261
- 'rh' => 'Zimbabwe',
262
- 'riu' => 'Rhode Island',
263
- 'rm' => 'Romania',
264
- 'ru' => 'Russia (Federation)',
265
- 'rur' => 'Russian S.F.S.R.',
266
- 'rw' => 'Rwanda',
267
- 'ry' => 'Ryukyu Islands, Southern',
268
- 'sa' => 'South Africa',
269
- 'sb' => 'Svalbard',
270
- 'sc' => 'SaintBarthélemy',
271
- 'scu' => 'South Carolina',
272
- 'sd' => 'South Sudan',
273
- 'sdu' => 'South Dakota',
274
- 'se' => 'Seychelles',
275
- 'sf' => 'Sao Tome and Principe',
276
- 'sg' => 'Senegal',
277
- 'sh' => 'Spanish North Africa',
278
- 'si' => 'Singapore',
279
- 'sj' => 'Sudan',
280
- 'sk' => 'Sikkim',
281
- 'sl' => 'Sierra Leone',
282
- 'sm' => 'San Marino',
283
- 'sn' => 'Sint Maarten',
284
- 'snc' => 'Saskatchewan',
285
- 'so' => 'Somalia',
286
- 'sp' => 'Spain',
287
- 'sq' => 'Swaziland',
288
- 'sr' => 'Surinam',
289
- 'ss' => 'Western Sahara',
290
- 'st' => 'SaintMartin',
291
- 'stk' => 'Scotland',
292
- 'su' => 'Saudi Arabia',
293
- 'sv' => 'Swan Islands',
294
- 'sw' => 'Sweden',
295
- 'sx' => 'Namibia',
296
- 'sy' => 'Syria',
297
- 'sz' => 'Switzerland',
298
- 'ta' => 'Tajikistan',
299
- 'tar' => 'Tajik S.S.R.',
300
- 'tc' => 'Turks and Caicos Islands',
301
- 'tg' => 'Togo',
302
- 'th' => 'Thailand',
303
- 'ti' => 'Tunisia',
304
- 'tk' => 'Turkmenistan',
305
- 'tkr' => 'Turkmen S.S.R.',
306
- 'tl' => 'Tokelau',
307
- 'tma' => 'Tasmania',
308
- 'tnu' => 'Tennessee',
309
- 'to' => 'Tonga',
310
- 'tr' => 'Trinidad and Tobago',
311
- 'ts' => 'United Arab Emirates',
312
- 'tt' => 'Trust Territory of the Pacific Islands',
313
- 'tu' => 'Turkey',
314
- 'tv' => 'Tuvalu',
315
- 'txu' => 'Texas',
316
- 'tz' => 'Tanzania',
317
- 'ua' => 'Egypt',
318
- 'uc' => 'United States Misc. Caribbean Islands',
319
- 'ug' => 'Uganda',
320
- 'ui' => 'United Kingdom Misc. Islands',
321
- 'uik' => 'United Kingdom Misc. Islands',
322
- 'uk' => 'United Kingdom',
323
- 'un' => 'Ukraine',
324
- 'unr' => 'Ukraine',
325
- 'up' => 'United States Misc. Pacific Islands',
326
- 'ur' => 'Soviet Union',
327
- 'us' => 'United States',
328
- 'utu' => 'Utah',
329
- 'uv' => 'Burkina Faso',
330
- 'uy' => 'Uruguay',
331
- 'uz' => 'Uzbekistan',
332
- 'uzr' => 'Uzbek S.S.R.',
333
- 'vau' => 'Virginia',
334
- 'vb' => 'British Virgin Islands',
335
- 'vc' => 'Vatican City',
336
- 've' => 'Venezuela',
337
- 'vi' => 'Virgin Islands of the United States',
338
- 'vm' => 'Vietnam',
339
- 'vn' => 'Vietnam, North',
340
- 'vp' => 'Various places',
341
- 'vra' => 'Victoria',
342
- 'vs' => 'Vietnam, South',
343
- 'vtu' => 'Vermont',
344
- 'wau' => 'Washington (State)',
345
- 'wb' => 'West Berlin',
346
- 'wea' => 'Western Australia',
347
- 'wf' => 'Wallis and Futuna',
348
- 'wiu' => 'Wisconsin',
349
- 'wj' => 'West Bank of the Jordan River',
350
- 'wk' => 'Wake Island',
351
- 'wlk' => 'Wales',
352
- 'ws' => 'Samoa',
353
- 'wvu' => 'West Virginia',
354
- 'wyu' => 'Wyoming',
355
- 'xa' => 'Christmas Island (Indian Ocean)',
356
- 'xb' => 'Cocos (Keeling) Islands',
357
- 'xc' => 'Maldives',
358
- 'xd' => 'Saint KittsNevis',
359
- 'xe' => 'Marshall Islands',
360
- 'xf' => 'Midway Islands',
361
- 'xga' => 'Coral Sea Islands Territory',
362
- 'xh' => 'Niue',
363
- 'xi' => 'Saint KittsNevisAnguilla',
364
- 'xj' => 'Saint Helena',
365
- 'xk' => 'Saint Lucia',
366
- 'xl' => 'Saint Pierre and Miquelon',
367
- 'xm' => 'Saint Vincent and the Grenadines',
368
- 'xn' => 'Macedonia',
369
- 'xna' => 'New South Wales',
370
- 'xo' => 'Slovakia',
371
- 'xoa' => 'Northern Territory',
372
- 'xp' => 'Spratly Island',
373
- 'xr' => 'Czech Republic',
374
- 'xra' => 'South Australia',
375
- 'xs' => 'South Georgia and the South Sandwich Islands',
376
- 'xv' => 'Slovenia',
377
- #'xx' => 'No place, unknown, or undetermined',
378
- 'xxc' => 'Canada',
379
- 'xxk' => 'United Kingdom',
380
- 'xxr' => 'Soviet Union',
381
- 'xxu' => 'United States',
382
- 'ye' => 'Yemen',
383
- 'ykc' => 'Yukon Territory',
384
- 'ys' => "Yemen (People's Democratic Republic)",
385
- 'yu' => 'Serbia and Montenegro',
386
- 'za' => 'Zambia'
387
- }
7
+ {
8
+ 'aa' => 'Albania',
9
+ 'abc' => 'Alberta',
10
+ 'ac' => 'Ashmore and Cartier Islands',
11
+ 'aca' => 'Australian Capital Territory',
12
+ 'ae' => 'Algeria',
13
+ 'af' => 'Afghanistan',
14
+ 'ag' => 'Argentina',
15
+ 'ai' => 'Armenia (Republic)',
16
+ 'air' => 'Armenian S.S.R.',
17
+ 'aj' => 'Azerbaijan',
18
+ 'ajr' => 'Azerbaijan S.S.R.',
19
+ 'aku' => 'Alaska',
20
+ 'alu' => 'Alabama',
21
+ 'am' => 'Anguilla',
22
+ 'an' => 'Andorra',
23
+ 'ao' => 'Angola',
24
+ 'aq' => 'Antigua and Barbuda',
25
+ 'aru' => 'Arkansas',
26
+ 'as' => 'American Samoa',
27
+ 'at' => 'Australia',
28
+ 'au' => 'Austria',
29
+ 'aw' => 'Aruba',
30
+ 'ay' => 'Antarctica',
31
+ 'azu' => 'Arizona',
32
+ 'ba' => 'Bahrain',
33
+ 'bb' => 'Barbados',
34
+ 'bcc' => 'British Columbia',
35
+ 'bd' => 'Burundi',
36
+ 'be' => 'Belgium',
37
+ 'bf' => 'Bahamas',
38
+ 'bg' => 'Bangladesh',
39
+ 'bh' => 'Belize',
40
+ 'bi' => 'British Indian Ocean Territory',
41
+ 'bl' => 'Brazil',
42
+ 'bm' => 'Bermuda Islands',
43
+ 'bn' => 'Bosnia and Herzegovina',
44
+ 'bo' => 'Bolivia',
45
+ 'bp' => 'Solomon Islands',
46
+ 'br' => 'Burma',
47
+ 'bs' => 'Botswana',
48
+ 'bt' => 'Bhutan',
49
+ 'bu' => 'Bulgaria',
50
+ 'bv' => 'Bouvet Island',
51
+ 'bw' => 'Belarus',
52
+ 'bwr' => 'Byelorussian S.S.R.',
53
+ 'bx' => 'Brunei',
54
+ 'ca' => 'Caribbean Netherlands',
55
+ 'cau' => 'California',
56
+ 'cb' => 'Cambodia',
57
+ 'cc' => 'China',
58
+ 'cd' => 'Chad',
59
+ 'ce' => 'Sri Lanka',
60
+ 'cf' => 'Congo (Brazzaville)',
61
+ 'cg' => 'Congo (Democratic Republic)',
62
+ 'ch' => 'China (Republic : 1949 )',
63
+ 'ci' => 'Croatia',
64
+ 'cj' => 'Cayman Islands',
65
+ 'ck' => 'Colombia',
66
+ 'cl' => 'Chile',
67
+ 'cm' => 'Cameroon',
68
+ 'cn' => 'Canada',
69
+ 'co' => 'Curaçao',
70
+ 'cou' => 'Colorado',
71
+ 'cp' => 'Canton and Enderbury Islands',
72
+ 'cq' => 'Comoros',
73
+ 'cr' => 'Costa Rica',
74
+ 'cs' => 'Czechoslovakia',
75
+ 'ctu' => 'Connecticut',
76
+ 'cu' => 'Cuba',
77
+ 'cv' => 'Cabo Verde',
78
+ 'cw' => 'Cook Islands',
79
+ 'cx' => 'Central African Republic',
80
+ 'cy' => 'Cyprus',
81
+ 'cz' => 'Canal Zone',
82
+ 'dcu' => 'District of Columbia',
83
+ 'deu' => 'Delaware',
84
+ 'dk' => 'Denmark',
85
+ 'dm' => 'Benin',
86
+ 'dq' => 'Dominica',
87
+ 'dr' => 'Dominican Republic',
88
+ 'ea' => 'Eritrea',
89
+ 'ec' => 'Ecuador',
90
+ 'eg' => 'Equatorial Guinea',
91
+ 'em' => 'TimorLeste',
92
+ 'enk' => 'England',
93
+ 'er' => 'Estonia',
94
+ 'err' => 'Estonia',
95
+ 'es' => 'El Salvador',
96
+ 'et' => 'Ethiopia',
97
+ 'fa' => 'Faroe Islands',
98
+ 'fg' => 'French Guiana',
99
+ 'fi' => 'Finland',
100
+ 'fj' => 'Fiji',
101
+ 'fk' => 'Falkland Islands',
102
+ 'flu' => 'Florida',
103
+ 'fm' => 'Micronesia (Federated States)',
104
+ 'fp' => 'French Polynesia',
105
+ 'fr' => 'France',
106
+ 'fs' => 'Terres australes et antarctiques françaises',
107
+ 'ft' => 'Djibouti',
108
+ 'gau' => 'Georgia',
109
+ 'gb' => 'Kiribati',
110
+ 'gd' => 'Grenada',
111
+ 'ge' => 'Germany (East)',
112
+ 'gh' => 'Ghana',
113
+ 'gi' => 'Gibraltar',
114
+ 'gl' => 'Greenland',
115
+ 'gm' => 'Gambia',
116
+ 'gn' => 'Gilbert and Ellice Islands',
117
+ 'go' => 'Gabon',
118
+ 'gp' => 'Guadeloupe',
119
+ 'gr' => 'Greece',
120
+ 'gs' => 'Georgia (Republic)',
121
+ 'gsr' => 'Georgian S.S.R.',
122
+ 'gt' => 'Guatemala',
123
+ 'gu' => 'Guam',
124
+ 'gv' => 'Guinea',
125
+ 'gw' => 'Germany',
126
+ 'gy' => 'Guyana',
127
+ 'gz' => 'Gaza Strip',
128
+ 'hiu' => 'Hawaii',
129
+ 'hk' => 'Hong Kong',
130
+ 'hm' => 'Heard and McDonald Islands',
131
+ 'ho' => 'Honduras',
132
+ 'ht' => 'Haiti',
133
+ 'hu' => 'Hungary',
134
+ 'iau' => 'Iowa',
135
+ 'ic' => 'Iceland',
136
+ 'idu' => 'Idaho',
137
+ 'ie' => 'Ireland',
138
+ 'ii' => 'India',
139
+ 'ilu' => 'Illinois',
140
+ 'inu' => 'Indiana',
141
+ 'io' => 'Indonesia',
142
+ 'iq' => 'Iraq',
143
+ 'ir' => 'Iran',
144
+ 'is' => 'Israel',
145
+ 'it' => 'Italy',
146
+ 'iu' => 'IsraelSyria Demilitarized Zones',
147
+ 'iv' => "Côte d'Ivoire",
148
+ 'iw' => 'IsraelJordan Demilitarized Zones',
149
+ 'iy' => 'IraqSaudi Arabia Neutral Zone',
150
+ 'ja' => 'Japan',
151
+ 'ji' => 'Johnston Atoll',
152
+ 'jm' => 'Jamaica',
153
+ 'jn' => 'Jan Mayen',
154
+ 'jo' => 'Jordan',
155
+ 'ke' => 'Kenya',
156
+ 'kg' => 'Kyrgyzstan',
157
+ 'kgr' => 'Kirghiz S.S.R.',
158
+ 'kn' => 'Korea (North)',
159
+ 'ko' => 'Korea (South)',
160
+ 'ksu' => 'Kansas',
161
+ 'ku' => 'Kuwait',
162
+ 'kv' => 'Kosovo',
163
+ 'kyu' => 'Kentucky',
164
+ 'kz' => 'Kazakhstan',
165
+ 'kzr' => 'Kazakh S.S.R.',
166
+ 'lau' => 'Louisiana',
167
+ 'lb' => 'Liberia',
168
+ 'le' => 'Lebanon',
169
+ 'lh' => 'Liechtenstein',
170
+ 'li' => 'Lithuania',
171
+ 'lir' => 'Lithuania',
172
+ 'ln' => 'Central and Southern Line Islands',
173
+ 'lo' => 'Lesotho',
174
+ 'ls' => 'Laos',
175
+ 'lu' => 'Luxembourg',
176
+ 'lv' => 'Latvia',
177
+ 'lvr' => 'Latvia',
178
+ 'ly' => 'Libya',
179
+ 'mau' => 'Massachusetts',
180
+ 'mbc' => 'Manitoba',
181
+ 'mc' => 'Monaco',
182
+ 'mdu' => 'Maryland',
183
+ 'meu' => 'Maine',
184
+ 'mf' => 'Mauritius',
185
+ 'mg' => 'Madagascar',
186
+ 'mh' => 'Macao',
187
+ 'miu' => 'Michigan',
188
+ 'mj' => 'Montserrat',
189
+ 'mk' => 'Oman',
190
+ 'ml' => 'Mali',
191
+ 'mm' => 'Malta',
192
+ 'mnu' => 'Minnesota',
193
+ 'mo' => 'Montenegro',
194
+ 'mou' => 'Missouri',
195
+ 'mp' => 'Mongolia',
196
+ 'mq' => 'Martinique',
197
+ 'mr' => 'Morocco',
198
+ 'msu' => 'Mississippi',
199
+ 'mtu' => 'Montana',
200
+ 'mu' => 'Mauritania',
201
+ 'mv' => 'Moldova',
202
+ 'mvr' => 'Moldavian S.S.R.',
203
+ 'mw' => 'Malawi',
204
+ 'mx' => 'Mexico',
205
+ 'my' => 'Malaysia',
206
+ 'mz' => 'Mozambique',
207
+ 'na' => 'Netherlands Antilles',
208
+ 'nbu' => 'Nebraska',
209
+ 'ncu' => 'North Carolina',
210
+ 'ndu' => 'North Dakota',
211
+ 'ne' => 'Netherlands',
212
+ 'nfc' => 'Newfoundland and Labrador',
213
+ 'ng' => 'Niger',
214
+ 'nhu' => 'New Hampshire',
215
+ 'nik' => 'Northern Ireland',
216
+ 'nju' => 'New Jersey',
217
+ 'nkc' => 'New Brunswick',
218
+ 'nl' => 'New Caledonia',
219
+ 'nm' => 'Northern Mariana Islands',
220
+ 'nmu' => 'New Mexico',
221
+ 'nn' => 'Vanuatu',
222
+ 'no' => 'Norway',
223
+ 'np' => 'Nepal',
224
+ 'nq' => 'Nicaragua',
225
+ 'nr' => 'Nigeria',
226
+ 'nsc' => 'Nova Scotia',
227
+ 'ntc' => 'Northwest Territories',
228
+ 'nu' => 'Nauru',
229
+ 'nuc' => 'Nunavut',
230
+ 'nvu' => 'Nevada',
231
+ 'nw' => 'Northern Mariana Islands',
232
+ 'nx' => 'Norfolk Island',
233
+ 'nyu' => 'New York (State)',
234
+ 'nz' => 'New Zealand',
235
+ 'ohu' => 'Ohio',
236
+ 'oku' => 'Oklahoma',
237
+ 'onc' => 'Ontario',
238
+ 'oru' => 'Oregon',
239
+ 'ot' => 'Mayotte',
240
+ 'pau' => 'Pennsylvania',
241
+ 'pc' => 'Pitcairn Island',
242
+ 'pe' => 'Peru',
243
+ 'pf' => 'Paracel Islands',
244
+ 'pg' => 'GuineaBissau',
245
+ 'ph' => 'Philippines',
246
+ 'pic' => 'Prince Edward Island',
247
+ 'pk' => 'Pakistan',
248
+ 'pl' => 'Poland',
249
+ 'pn' => 'Panama',
250
+ 'po' => 'Portugal',
251
+ 'pp' => 'Papua New Guinea',
252
+ 'pr' => 'Puerto Rico',
253
+ 'pt' => 'Portuguese Timor',
254
+ 'pw' => 'Palau',
255
+ 'py' => 'Paraguay',
256
+ 'qa' => 'Qatar',
257
+ 'qea' => 'Queensland',
258
+ 'quc' => 'Québec (Province)',
259
+ 'rb' => 'Serbia',
260
+ 're' => 'Réunion',
261
+ 'rh' => 'Zimbabwe',
262
+ 'riu' => 'Rhode Island',
263
+ 'rm' => 'Romania',
264
+ 'ru' => 'Russia (Federation)',
265
+ 'rur' => 'Russian S.F.S.R.',
266
+ 'rw' => 'Rwanda',
267
+ 'ry' => 'Ryukyu Islands, Southern',
268
+ 'sa' => 'South Africa',
269
+ 'sb' => 'Svalbard',
270
+ 'sc' => 'SaintBarthélemy',
271
+ 'scu' => 'South Carolina',
272
+ 'sd' => 'South Sudan',
273
+ 'sdu' => 'South Dakota',
274
+ 'se' => 'Seychelles',
275
+ 'sf' => 'Sao Tome and Principe',
276
+ 'sg' => 'Senegal',
277
+ 'sh' => 'Spanish North Africa',
278
+ 'si' => 'Singapore',
279
+ 'sj' => 'Sudan',
280
+ 'sk' => 'Sikkim',
281
+ 'sl' => 'Sierra Leone',
282
+ 'sm' => 'San Marino',
283
+ 'sn' => 'Sint Maarten',
284
+ 'snc' => 'Saskatchewan',
285
+ 'so' => 'Somalia',
286
+ 'sp' => 'Spain',
287
+ 'sq' => 'Swaziland',
288
+ 'sr' => 'Surinam',
289
+ 'ss' => 'Western Sahara',
290
+ 'st' => 'SaintMartin',
291
+ 'stk' => 'Scotland',
292
+ 'su' => 'Saudi Arabia',
293
+ 'sv' => 'Swan Islands',
294
+ 'sw' => 'Sweden',
295
+ 'sx' => 'Namibia',
296
+ 'sy' => 'Syria',
297
+ 'sz' => 'Switzerland',
298
+ 'ta' => 'Tajikistan',
299
+ 'tar' => 'Tajik S.S.R.',
300
+ 'tc' => 'Turks and Caicos Islands',
301
+ 'tg' => 'Togo',
302
+ 'th' => 'Thailand',
303
+ 'ti' => 'Tunisia',
304
+ 'tk' => 'Turkmenistan',
305
+ 'tkr' => 'Turkmen S.S.R.',
306
+ 'tl' => 'Tokelau',
307
+ 'tma' => 'Tasmania',
308
+ 'tnu' => 'Tennessee',
309
+ 'to' => 'Tonga',
310
+ 'tr' => 'Trinidad and Tobago',
311
+ 'ts' => 'United Arab Emirates',
312
+ 'tt' => 'Trust Territory of the Pacific Islands',
313
+ 'tu' => 'Turkey',
314
+ 'tv' => 'Tuvalu',
315
+ 'txu' => 'Texas',
316
+ 'tz' => 'Tanzania',
317
+ 'ua' => 'Egypt',
318
+ 'uc' => 'United States Misc. Caribbean Islands',
319
+ 'ug' => 'Uganda',
320
+ 'ui' => 'United Kingdom Misc. Islands',
321
+ 'uik' => 'United Kingdom Misc. Islands',
322
+ 'uk' => 'United Kingdom',
323
+ 'un' => 'Ukraine',
324
+ 'unr' => 'Ukraine',
325
+ 'up' => 'United States Misc. Pacific Islands',
326
+ 'ur' => 'Soviet Union',
327
+ 'us' => 'United States',
328
+ 'utu' => 'Utah',
329
+ 'uv' => 'Burkina Faso',
330
+ 'uy' => 'Uruguay',
331
+ 'uz' => 'Uzbekistan',
332
+ 'uzr' => 'Uzbek S.S.R.',
333
+ 'vau' => 'Virginia',
334
+ 'vb' => 'British Virgin Islands',
335
+ 'vc' => 'Vatican City',
336
+ 've' => 'Venezuela',
337
+ 'vi' => 'Virgin Islands of the United States',
338
+ 'vm' => 'Vietnam',
339
+ 'vn' => 'Vietnam, North',
340
+ 'vp' => 'Various places',
341
+ 'vra' => 'Victoria',
342
+ 'vs' => 'Vietnam, South',
343
+ 'vtu' => 'Vermont',
344
+ 'wau' => 'Washington (State)',
345
+ 'wb' => 'West Berlin',
346
+ 'wea' => 'Western Australia',
347
+ 'wf' => 'Wallis and Futuna',
348
+ 'wiu' => 'Wisconsin',
349
+ 'wj' => 'West Bank of the Jordan River',
350
+ 'wk' => 'Wake Island',
351
+ 'wlk' => 'Wales',
352
+ 'ws' => 'Samoa',
353
+ 'wvu' => 'West Virginia',
354
+ 'wyu' => 'Wyoming',
355
+ 'xa' => 'Christmas Island (Indian Ocean)',
356
+ 'xb' => 'Cocos (Keeling) Islands',
357
+ 'xc' => 'Maldives',
358
+ 'xd' => 'Saint KittsNevis',
359
+ 'xe' => 'Marshall Islands',
360
+ 'xf' => 'Midway Islands',
361
+ 'xga' => 'Coral Sea Islands Territory',
362
+ 'xh' => 'Niue',
363
+ 'xi' => 'Saint KittsNevisAnguilla',
364
+ 'xj' => 'Saint Helena',
365
+ 'xk' => 'Saint Lucia',
366
+ 'xl' => 'Saint Pierre and Miquelon',
367
+ 'xm' => 'Saint Vincent and the Grenadines',
368
+ 'xn' => 'Macedonia',
369
+ 'xna' => 'New South Wales',
370
+ 'xo' => 'Slovakia',
371
+ 'xoa' => 'Northern Territory',
372
+ 'xp' => 'Spratly Island',
373
+ 'xr' => 'Czech Republic',
374
+ 'xra' => 'South Australia',
375
+ 'xs' => 'South Georgia and the South Sandwich Islands',
376
+ 'xv' => 'Slovenia',
377
+ # 'xx' => 'No place, unknown, or undetermined',
378
+ 'xxc' => 'Canada',
379
+ 'xxk' => 'United Kingdom',
380
+ 'xxr' => 'Soviet Union',
381
+ 'xxu' => 'United States',
382
+ 'ye' => 'Yemen',
383
+ 'ykc' => 'Yukon Territory',
384
+ 'ys' => "Yemen (People's Democratic Republic)",
385
+ 'yu' => 'Serbia and Montenegro',
386
+ 'za' => 'Zambia'
387
+ }.freeze