keshvar/
ioc.rs

1// DO NOT TOUCH THIS FILE. (Auto-generated by `keshvar-code-generator/src/ioc.rs`)
2
3#[cfg(feature = "serde-derive")]
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Copy, PartialEq)]
7#[cfg_attr(feature = "serde-derive", derive(Serialize, Deserialize))]
8/// An enum containing `International Olympic Committee` (IOC) codes.
9///
10/// # Example
11/// ```
12/// use keshvar::{IOC, Alpha2};
13///
14/// assert_eq!(Ok(IOC::BER), IOC::try_from("ber"));
15/// assert_eq!(IOC::BER.to_alpha2(), Alpha2::BM); // Bermuda (Americas)
16/// ```
17/// We usually need to convert [`Alpha2`](crate::Alpha2) to [`Country`](crate::Country) and use that object instead.
18pub enum IOC {
19    #[cfg(feature = "ad")]
20    /// The Principality of Andorra (Europe)
21    AND,
22    #[cfg(feature = "ae")]
23    /// The United Arab Emirates (Asia)
24    UAE,
25    #[cfg(feature = "af")]
26    /// The Islamic Republic of Afghanistan (Asia)
27    AFG,
28    #[cfg(feature = "ag")]
29    /// Antigua and Barbuda (Americas)
30    ANT,
31    #[cfg(feature = "al")]
32    /// The Republic of Albania (Europe)
33    ALB,
34    #[cfg(feature = "am")]
35    /// The Republic of Armenia (Asia)
36    ARM,
37    #[cfg(feature = "ao")]
38    /// The Republic of Angola (Africa)
39    ANG,
40    #[cfg(feature = "ar")]
41    /// The Argentine Republic (Americas)
42    ARG,
43    #[cfg(feature = "as")]
44    /// The Territory of American Samoa (Oceania)
45    ASA,
46    #[cfg(feature = "at")]
47    /// The Republic of Austria (Europe)
48    AUT,
49    #[cfg(feature = "au")]
50    /// The Commonwealth of Australia (Oceania)
51    AUS,
52    #[cfg(feature = "aw")]
53    /// Aruba (Americas)
54    ARU,
55    #[cfg(feature = "az")]
56    /// The Republic of Azerbaijan (Asia)
57    AZE,
58    #[cfg(feature = "ba")]
59    /// Bosnia and Herzegovina (Europe)
60    BIH,
61    #[cfg(feature = "bb")]
62    /// Barbados (Americas)
63    BAR,
64    #[cfg(feature = "bd")]
65    /// The People's Republic of Bangladesh (Asia)
66    BAN,
67    #[cfg(feature = "be")]
68    /// The Kingdom of Belgium (Europe)
69    BEL,
70    #[cfg(feature = "bf")]
71    /// Burkina Faso (Africa)
72    BUR,
73    #[cfg(feature = "bg")]
74    /// The Republic of Bulgaria (Europe)
75    BUL,
76    #[cfg(feature = "bh")]
77    /// The Kingdom of Bahrain (Asia)
78    BRN,
79    #[cfg(feature = "bi")]
80    /// The Republic of Burundi (Africa)
81    BDI,
82    #[cfg(feature = "bj")]
83    /// The Republic of Benin (Africa)
84    BEN,
85    #[cfg(feature = "bm")]
86    /// Bermuda (Americas)
87    BER,
88    #[cfg(feature = "bn")]
89    /// The Nation of Brunei, the Abode of Peace (Asia)
90    BRU,
91    #[cfg(feature = "bo")]
92    /// The Plurinational State of Bolivia (Americas)
93    BOL,
94    #[cfg(feature = "br")]
95    /// The Federative Republic of Brazil (Americas)
96    BRA,
97    #[cfg(feature = "bs")]
98    /// The Commonwealth of The Bahamas (Americas)
99    BAH,
100    #[cfg(feature = "bt")]
101    /// The Kingdom of Bhutan (Asia)
102    BHU,
103    #[cfg(feature = "bw")]
104    /// The Republic of Botswana (Africa)
105    BOT,
106    #[cfg(feature = "by")]
107    /// The Republic of Belarus (Europe)
108    BLR,
109    #[cfg(feature = "bz")]
110    /// Belize (Americas)
111    BIZ,
112    #[cfg(feature = "ca")]
113    /// Canada (Americas)
114    CAN,
115    #[cfg(feature = "cd")]
116    /// The Democratic Republic of the Congo (Africa)
117    COD,
118    #[cfg(feature = "cf")]
119    /// The Central African Republic (Africa)
120    CAF,
121    #[cfg(feature = "cg")]
122    /// The Republic of the Congo (Africa)
123    CGO,
124    #[cfg(feature = "ch")]
125    /// The Swiss Confederation (Europe)
126    SUI,
127    #[cfg(feature = "ci")]
128    /// The Republic of Côte d'Ivoire (Africa)
129    CIV,
130    #[cfg(feature = "ck")]
131    /// The Cook Islands (Oceania)
132    COK,
133    #[cfg(feature = "cl")]
134    /// The Republic of Chile (Americas)
135    CHI,
136    #[cfg(feature = "cm")]
137    /// The Republic of Cameroon (Africa)
138    CMR,
139    #[cfg(feature = "cn")]
140    /// The People's Republic of China (Asia)
141    CHN,
142    #[cfg(feature = "co")]
143    /// The Republic of Colombia (Americas)
144    COL,
145    #[cfg(feature = "cr")]
146    /// The Republic of Costa Rica (Americas)
147    CRC,
148    #[cfg(feature = "cu")]
149    /// The Republic of Cuba (Americas)
150    CUB,
151    #[cfg(feature = "cv")]
152    /// The Republic of Cabo Verde (Africa)
153    CPV,
154    #[cfg(feature = "cy")]
155    /// The Republic of Cyprus (Asia)
156    CYP,
157    #[cfg(feature = "cz")]
158    /// The Czech Republic (Europe)
159    CZE,
160    #[cfg(feature = "de")]
161    /// The Federal Republic of Germany (Europe)
162    GER,
163    #[cfg(feature = "dj")]
164    /// The Republic of Djibouti (Africa)
165    DJI,
166    #[cfg(feature = "dk")]
167    /// The Kingdom of Denmark (Europe)
168    DEN,
169    #[cfg(feature = "dm")]
170    /// The Commonwealth of Dominica (Americas)
171    DMA,
172    #[cfg(feature = "do")]
173    /// The Dominican Republic (Americas)
174    DOM,
175    #[cfg(feature = "dz")]
176    /// The People's Democratic Republic of Algeria (Africa)
177    ALG,
178    #[cfg(feature = "ec")]
179    /// The Republic of Ecuador (Americas)
180    ECU,
181    #[cfg(feature = "ee")]
182    /// The Republic of Estonia (Europe)
183    EST,
184    #[cfg(feature = "eg")]
185    /// The Arab Republic of Egypt (Africa)
186    EGY,
187    #[cfg(feature = "er")]
188    /// The State of Eritrea (Africa)
189    ERI,
190    #[cfg(feature = "es")]
191    /// The Kingdom of Spain (Europe)
192    ESP,
193    #[cfg(feature = "et")]
194    /// The Federal Democratic Republic of Ethiopia (Africa)
195    ETH,
196    #[cfg(feature = "fi")]
197    /// The Republic of Finland (Europe)
198    FIN,
199    #[cfg(feature = "fj")]
200    /// The Republic of Fiji (Oceania)
201    FIJ,
202    #[cfg(feature = "fm")]
203    /// The Federated States of Micronesia (Oceania)
204    FSM,
205    #[cfg(feature = "fo")]
206    /// The Faroe Islands (Europe)
207    FRO,
208    #[cfg(feature = "fr")]
209    /// The French Republic (Europe)
210    FRA,
211    #[cfg(feature = "ga")]
212    /// The Gabonese Republic (Africa)
213    GAB,
214    #[cfg(feature = "gb")]
215    /// The United Kingdom of Great Britain and Northern Ireland (Europe)
216    GBR,
217    #[cfg(feature = "gd")]
218    /// Grenada (Americas)
219    GRN,
220    #[cfg(feature = "ge")]
221    /// Georgia (Asia)
222    GEO,
223    #[cfg(feature = "gh")]
224    /// The Republic of Ghana (Africa)
225    GHA,
226    #[cfg(feature = "gm")]
227    /// The Republic of The Gambia (Africa)
228    GAM,
229    #[cfg(feature = "gn")]
230    /// The Republic of Guinea (Africa)
231    GUI,
232    #[cfg(feature = "gq")]
233    /// The Republic of Equatorial Guinea (Africa)
234    GEQ,
235    #[cfg(feature = "gr")]
236    /// The Hellenic Republic (Europe)
237    GRE,
238    #[cfg(feature = "gt")]
239    /// The Republic of Guatemala (Americas)
240    GUA,
241    #[cfg(feature = "gu")]
242    /// The Territory of Guam (Oceania)
243    GUM,
244    #[cfg(feature = "gw")]
245    /// The Republic of Guinea-Bissau (Africa)
246    GBS,
247    #[cfg(feature = "gy")]
248    /// The Co-operative Republic of Guyana (Americas)
249    GUY,
250    #[cfg(feature = "hk")]
251    /// The Hong Kong Special Administrative Region of China (Asia)
252    HKG,
253    #[cfg(feature = "hn")]
254    /// The Republic of Honduras (Americas)
255    HON,
256    #[cfg(feature = "hr")]
257    /// The Republic of Croatia (Europe)
258    CRO,
259    #[cfg(feature = "ht")]
260    /// The Republic of Haiti (Americas)
261    HAI,
262    #[cfg(feature = "hu")]
263    /// Hungary (Europe)
264    HUN,
265    #[cfg(feature = "id")]
266    /// The Republic of Indonesia (Asia)
267    INA,
268    #[cfg(feature = "ie")]
269    /// Ireland (Europe)
270    IRL,
271    #[cfg(feature = "il")]
272    /// The State of Israel (Asia)
273    ISR,
274    #[cfg(feature = "in")]
275    /// The Republic of India (Asia)
276    IND,
277    #[cfg(feature = "iq")]
278    /// The Republic of Iraq (Asia)
279    IRQ,
280    #[cfg(feature = "ir")]
281    /// The Islamic Republic of Iran (Asia)
282    IRI,
283    #[cfg(feature = "is")]
284    /// Iceland (Europe)
285    ISL,
286    #[cfg(feature = "it")]
287    /// The Italian Republic (Europe)
288    ITA,
289    #[cfg(feature = "jm")]
290    /// Jamaica (Americas)
291    JAM,
292    #[cfg(feature = "jo")]
293    /// The Hashemite Kingdom of Jordan (Asia)
294    JOR,
295    #[cfg(feature = "jp")]
296    /// Japan (Asia)
297    JPN,
298    #[cfg(feature = "ke")]
299    /// The Republic of Kenya (Africa)
300    KEN,
301    #[cfg(feature = "kg")]
302    /// The Kyrgyz Republic (Asia)
303    KGZ,
304    #[cfg(feature = "kh")]
305    /// The Kingdom of Cambodia (Asia)
306    CAM,
307    #[cfg(feature = "ki")]
308    /// The Republic of Kiribati (Oceania)
309    KIR,
310    #[cfg(feature = "km")]
311    /// The Union of the Comoros (Africa)
312    COM,
313    #[cfg(feature = "kn")]
314    /// Saint Kitts and Nevis (Americas)
315    SKN,
316    #[cfg(feature = "kp")]
317    /// The Democratic People's Republic of Korea (Asia)
318    PRK,
319    #[cfg(feature = "kr")]
320    /// The Republic of Korea (Asia)
321    KOR,
322    #[cfg(feature = "kw")]
323    /// The State of Kuwait (Asia)
324    KUW,
325    #[cfg(feature = "ky")]
326    /// The Cayman Islands (Americas)
327    CAY,
328    #[cfg(feature = "kz")]
329    /// The Republic of Kazakhstan (Asia)
330    KAZ,
331    #[cfg(feature = "la")]
332    /// The Lao People's Democratic Republic (Asia)
333    LAO,
334    #[cfg(feature = "lb")]
335    /// The Lebanese Republic (Asia)
336    LIB,
337    #[cfg(feature = "lc")]
338    /// Saint Lucia (Americas)
339    LCA,
340    #[cfg(feature = "li")]
341    /// The Principality of Liechtenstein (Europe)
342    LIE,
343    #[cfg(feature = "lk")]
344    /// The Democratic Socialist Republic of Sri Lanka (Asia)
345    SRI,
346    #[cfg(feature = "lr")]
347    /// The Republic of Liberia (Africa)
348    LBR,
349    #[cfg(feature = "ls")]
350    /// The Kingdom of Lesotho (Africa)
351    LES,
352    #[cfg(feature = "lt")]
353    /// The Republic of Lithuania (Europe)
354    LTU,
355    #[cfg(feature = "lu")]
356    /// The Grand Duchy of Luxembourg (Europe)
357    LUX,
358    #[cfg(feature = "lv")]
359    /// The Republic of Latvia (Europe)
360    LAT,
361    #[cfg(feature = "ly")]
362    /// The State of Libya (Africa)
363    LBA,
364    #[cfg(feature = "ma")]
365    /// The Kingdom of Morocco (Africa)
366    MAR,
367    #[cfg(feature = "mc")]
368    /// The Principality of Monaco (Europe)
369    MON,
370    #[cfg(feature = "md")]
371    /// The Republic of Moldova (Europe)
372    MDA,
373    #[cfg(feature = "me")]
374    /// Montenegro (Europe)
375    MNE,
376    #[cfg(feature = "mg")]
377    /// The Republic of Madagascar (Africa)
378    MAD,
379    #[cfg(feature = "mh")]
380    /// The Republic of the Marshall Islands (Oceania)
381    MHL,
382    #[cfg(feature = "mk")]
383    /// The Republic of North Macedonia (Europe)
384    MKD,
385    #[cfg(feature = "ml")]
386    /// The Republic of Mali (Africa)
387    MLI,
388    #[cfg(feature = "mm")]
389    /// The Republic of the Union of Myanmar (Asia)
390    MYA,
391    #[cfg(feature = "mn")]
392    /// Mongolia (Asia)
393    MGL,
394    #[cfg(feature = "mr")]
395    /// The Islamic Republic of Mauritania (Africa)
396    MTN,
397    #[cfg(feature = "mt")]
398    /// The Republic of Malta (Europe)
399    MLT,
400    #[cfg(feature = "mu")]
401    /// The Republic of Mauritius (Africa)
402    MRI,
403    #[cfg(feature = "mv")]
404    /// The Republic of Maldives (Asia)
405    MDV,
406    #[cfg(feature = "mw")]
407    /// The Republic of Malawi (Africa)
408    MAW,
409    #[cfg(feature = "mx")]
410    /// The United Mexican States (Americas)
411    MEX,
412    #[cfg(feature = "my")]
413    /// Malaysia (Asia)
414    MAS,
415    #[cfg(feature = "mz")]
416    /// The Republic of Mozambique (Africa)
417    MOZ,
418    #[cfg(feature = "na")]
419    /// The Republic of Namibia (Africa)
420    NAM,
421    #[cfg(feature = "ne")]
422    /// The Republic of the Niger (Africa)
423    NIG,
424    #[cfg(feature = "ng")]
425    /// The Federal Republic of Nigeria (Africa)
426    NGR,
427    #[cfg(feature = "ni")]
428    /// The Republic of Nicaragua (Americas)
429    NCA,
430    #[cfg(feature = "nl")]
431    /// The Kingdom of the Netherlands (Europe)
432    NED,
433    #[cfg(feature = "no")]
434    /// The Kingdom of Norway (Europe)
435    NOR,
436    #[cfg(feature = "np")]
437    /// The Federal Democratic Republic of Nepal (Asia)
438    NEP,
439    #[cfg(feature = "nr")]
440    /// The Republic of Nauru (Oceania)
441    NRU,
442    #[cfg(feature = "nz")]
443    /// New Zealand (Oceania)
444    NZL,
445    #[cfg(feature = "om")]
446    /// The Sultanate of Oman (Asia)
447    OMA,
448    #[cfg(feature = "pa")]
449    /// The Republic of Panamá (Americas)
450    PAN,
451    #[cfg(feature = "pe")]
452    /// The Republic of Perú (Americas)
453    PER,
454    #[cfg(feature = "pg")]
455    /// The Independent State of Papua New Guinea (Oceania)
456    PNG,
457    #[cfg(feature = "ph")]
458    /// The Republic of the Philippines (Asia)
459    PHI,
460    #[cfg(feature = "pk")]
461    /// The Islamic Republic of Pakistan (Asia)
462    PAK,
463    #[cfg(feature = "pl")]
464    /// The Republic of Poland (Europe)
465    POL,
466    #[cfg(feature = "pr")]
467    /// The Commonwealth of Puerto Rico (Americas)
468    PUR,
469    #[cfg(feature = "ps")]
470    /// The State of Palestine (Asia)
471    PLE,
472    #[cfg(feature = "pt")]
473    /// The Portuguese Republic (Europe)
474    POR,
475    #[cfg(feature = "pw")]
476    /// The Republic of Palau (Oceania)
477    PLW,
478    #[cfg(feature = "py")]
479    /// The Republic of Paraguay (Americas)
480    PAR,
481    #[cfg(feature = "qa")]
482    /// The State of Qatar (Asia)
483    QAT,
484    #[cfg(feature = "ro")]
485    /// Romania (Europe)
486    ROU,
487    #[cfg(feature = "rs")]
488    /// The Republic of Serbia (Europe)
489    SRB,
490    #[cfg(feature = "ru")]
491    /// The Russian Federation (Europe)
492    RUS,
493    #[cfg(feature = "rw")]
494    /// The Republic of Rwanda (Africa)
495    RWA,
496    #[cfg(feature = "sa")]
497    /// The Kingdom of Saudi Arabia (Asia)
498    KSA,
499    #[cfg(feature = "sb")]
500    /// The Solomon Islands (Oceania)
501    SOL,
502    #[cfg(feature = "sc")]
503    /// The Republic of Seychelles (Africa)
504    SEY,
505    #[cfg(feature = "sd")]
506    /// The Republic of the Sudan (Africa)
507    SUD,
508    #[cfg(feature = "se")]
509    /// The Kingdom of Sweden (Europe)
510    SWE,
511    #[cfg(feature = "sg")]
512    /// The Republic of Singapore (Asia)
513    SGP,
514    #[cfg(feature = "si")]
515    /// The Republic of Slovenia (Europe)
516    SLO,
517    #[cfg(feature = "sk")]
518    /// The Slovak Republic (Europe)
519    SVK,
520    #[cfg(feature = "sl")]
521    /// The Republic of Sierra Leone (Africa)
522    SLE,
523    #[cfg(feature = "sm")]
524    /// The Republic of San Marino (Europe)
525    SMR,
526    #[cfg(feature = "sn")]
527    /// The Republic of Senegal (Africa)
528    SEN,
529    #[cfg(feature = "so")]
530    /// The Federal Republic of Somalia (Africa)
531    SOM,
532    #[cfg(feature = "sr")]
533    /// The Republic of Suriname (Americas)
534    SUR,
535    #[cfg(feature = "st")]
536    /// The Democratic Republic of São Tomé and Príncipe (Africa)
537    STP,
538    #[cfg(feature = "sv")]
539    /// The Republic of El Salvador (Americas)
540    ESA,
541    #[cfg(feature = "sy")]
542    /// The Syrian Arab Republic (Asia)
543    SYR,
544    #[cfg(feature = "sz")]
545    /// The Kingdom of Eswatini (Africa)
546    SWZ,
547    #[cfg(feature = "td")]
548    /// The Republic of Chad (Africa)
549    CHA,
550    #[cfg(feature = "tg")]
551    /// The Togolese Republic (Africa)
552    TOG,
553    #[cfg(feature = "th")]
554    /// The Kingdom of Thailand (Asia)
555    THA,
556    #[cfg(feature = "tj")]
557    /// The Republic of Tajikistan (Asia)
558    TJK,
559    #[cfg(feature = "tl")]
560    /// The Democratic Republic of Timor-Leste (Asia)
561    TLS,
562    #[cfg(feature = "tm")]
563    /// Turkmenistan (Asia)
564    TKM,
565    #[cfg(feature = "tn")]
566    /// The Republic of Tunisia (Africa)
567    TUN,
568    #[cfg(feature = "to")]
569    /// The Kingdom of Tonga (Oceania)
570    TGA,
571    #[cfg(feature = "tr")]
572    /// The Republic of Türkiye (Asia)
573    TUR,
574    #[cfg(feature = "tt")]
575    /// The Republic of Trinidad and Tobago (Americas)
576    TRI,
577    #[cfg(feature = "tv")]
578    /// Tuvalu (Oceania)
579    TUV,
580    #[cfg(feature = "tw")]
581    /// Taiwan, Province of China (Asia)
582    TPE,
583    #[cfg(feature = "tz")]
584    /// The United Republic of Tanzania (Africa)
585    TAN,
586    #[cfg(feature = "ua")]
587    /// Ukraine (Europe)
588    UKR,
589    #[cfg(feature = "ug")]
590    /// The Republic of Uganda (Africa)
591    UGA,
592    #[cfg(feature = "us")]
593    /// The United States of America (Americas)
594    USA,
595    #[cfg(feature = "uy")]
596    /// The Oriental Republic of Uruguay (Americas)
597    URU,
598    #[cfg(feature = "uz")]
599    /// The Republic of Uzbekistan (Asia)
600    UZB,
601    #[cfg(feature = "vc")]
602    /// Saint Vincent and the Grenadines (Americas)
603    VIN,
604    #[cfg(feature = "ve")]
605    /// The Bolivarian Republic of Venezuela (Americas)
606    VEN,
607    #[cfg(feature = "vg")]
608    /// The Virgin Islands (Americas)
609    IVB,
610    #[cfg(feature = "vi")]
611    /// The Virgin Islands of the United States (Americas)
612    ISV,
613    #[cfg(feature = "vn")]
614    /// The Socialist Republic of Viet Nam (Asia)
615    VIE,
616    #[cfg(feature = "vu")]
617    /// The Republic of Vanuatu (Oceania)
618    VAN,
619    #[cfg(feature = "ws")]
620    /// The Independent State of Samoa (Oceania)
621    SAM,
622    #[cfg(feature = "ye")]
623    /// The Republic of Yemen (Asia)
624    YEM,
625    #[cfg(feature = "za")]
626    /// The Republic of South Africa (Africa)
627    RSA,
628    #[cfg(feature = "zm")]
629    /// The Republic of Zambia (Africa)
630    ZAM,
631    #[cfg(feature = "zw")]
632    /// The Republic of Zimbabwe (Africa)
633    ZIM,
634}
635#[cfg(any(
636    feature = "ad",
637    feature = "ae",
638    feature = "af",
639    feature = "ag",
640    feature = "al",
641    feature = "am",
642    feature = "ao",
643    feature = "ar",
644    feature = "as",
645    feature = "at",
646    feature = "au",
647    feature = "aw",
648    feature = "az",
649    feature = "ba",
650    feature = "bb",
651    feature = "bd",
652    feature = "be",
653    feature = "bf",
654    feature = "bg",
655    feature = "bh",
656    feature = "bi",
657    feature = "bj",
658    feature = "bm",
659    feature = "bn",
660    feature = "bo",
661    feature = "br",
662    feature = "bs",
663    feature = "bt",
664    feature = "bw",
665    feature = "by",
666    feature = "bz",
667    feature = "ca",
668    feature = "cd",
669    feature = "cf",
670    feature = "cg",
671    feature = "ch",
672    feature = "ci",
673    feature = "ck",
674    feature = "cl",
675    feature = "cm",
676    feature = "cn",
677    feature = "co",
678    feature = "cr",
679    feature = "cu",
680    feature = "cv",
681    feature = "cy",
682    feature = "cz",
683    feature = "de",
684    feature = "dj",
685    feature = "dk",
686    feature = "dm",
687    feature = "do",
688    feature = "dz",
689    feature = "ec",
690    feature = "ee",
691    feature = "eg",
692    feature = "er",
693    feature = "es",
694    feature = "et",
695    feature = "fi",
696    feature = "fj",
697    feature = "fm",
698    feature = "fo",
699    feature = "fr",
700    feature = "ga",
701    feature = "gb",
702    feature = "gd",
703    feature = "ge",
704    feature = "gh",
705    feature = "gm",
706    feature = "gn",
707    feature = "gq",
708    feature = "gr",
709    feature = "gt",
710    feature = "gu",
711    feature = "gw",
712    feature = "gy",
713    feature = "hk",
714    feature = "hn",
715    feature = "hr",
716    feature = "ht",
717    feature = "hu",
718    feature = "id",
719    feature = "ie",
720    feature = "il",
721    feature = "in",
722    feature = "iq",
723    feature = "ir",
724    feature = "is",
725    feature = "it",
726    feature = "jm",
727    feature = "jo",
728    feature = "jp",
729    feature = "ke",
730    feature = "kg",
731    feature = "kh",
732    feature = "ki",
733    feature = "km",
734    feature = "kn",
735    feature = "kp",
736    feature = "kr",
737    feature = "kw",
738    feature = "ky",
739    feature = "kz",
740    feature = "la",
741    feature = "lb",
742    feature = "lc",
743    feature = "li",
744    feature = "lk",
745    feature = "lr",
746    feature = "ls",
747    feature = "lt",
748    feature = "lu",
749    feature = "lv",
750    feature = "ly",
751    feature = "ma",
752    feature = "mc",
753    feature = "md",
754    feature = "me",
755    feature = "mg",
756    feature = "mh",
757    feature = "mk",
758    feature = "ml",
759    feature = "mm",
760    feature = "mn",
761    feature = "mr",
762    feature = "mt",
763    feature = "mu",
764    feature = "mv",
765    feature = "mw",
766    feature = "mx",
767    feature = "my",
768    feature = "mz",
769    feature = "na",
770    feature = "ne",
771    feature = "ng",
772    feature = "ni",
773    feature = "nl",
774    feature = "no",
775    feature = "np",
776    feature = "nr",
777    feature = "nz",
778    feature = "om",
779    feature = "pa",
780    feature = "pe",
781    feature = "pg",
782    feature = "ph",
783    feature = "pk",
784    feature = "pl",
785    feature = "pr",
786    feature = "ps",
787    feature = "pt",
788    feature = "pw",
789    feature = "py",
790    feature = "qa",
791    feature = "ro",
792    feature = "rs",
793    feature = "ru",
794    feature = "rw",
795    feature = "sa",
796    feature = "sb",
797    feature = "sc",
798    feature = "sd",
799    feature = "se",
800    feature = "sg",
801    feature = "si",
802    feature = "sk",
803    feature = "sl",
804    feature = "sm",
805    feature = "sn",
806    feature = "so",
807    feature = "sr",
808    feature = "st",
809    feature = "sv",
810    feature = "sy",
811    feature = "sz",
812    feature = "td",
813    feature = "tg",
814    feature = "th",
815    feature = "tj",
816    feature = "tl",
817    feature = "tm",
818    feature = "tn",
819    feature = "to",
820    feature = "tr",
821    feature = "tt",
822    feature = "tv",
823    feature = "tw",
824    feature = "tz",
825    feature = "ua",
826    feature = "ug",
827    feature = "us",
828    feature = "uy",
829    feature = "uz",
830    feature = "vc",
831    feature = "ve",
832    feature = "vg",
833    feature = "vi",
834    feature = "vn",
835    feature = "vu",
836    feature = "ws",
837    feature = "ye",
838    feature = "za",
839    feature = "zm",
840    feature = "zw",
841))]
842mod impls {
843    use super::IOC;
844    use crate::{make_search_error, Alpha2, Country, SearchError};
845
846    impl IOC {
847        pub fn to_alpha2(&self) -> Alpha2 {
848            match self {
849                #[cfg(feature = "ad")] // The Principality of Andorra (Europe)
850                IOC::AND => Alpha2::AD,
851                #[cfg(feature = "ae")] // The United Arab Emirates (Asia)
852                IOC::UAE => Alpha2::AE,
853                #[cfg(feature = "af")] // The Islamic Republic of Afghanistan (Asia)
854                IOC::AFG => Alpha2::AF,
855                #[cfg(feature = "ag")] // Antigua and Barbuda (Americas)
856                IOC::ANT => Alpha2::AG,
857                #[cfg(feature = "al")] // The Republic of Albania (Europe)
858                IOC::ALB => Alpha2::AL,
859                #[cfg(feature = "am")] // The Republic of Armenia (Asia)
860                IOC::ARM => Alpha2::AM,
861                #[cfg(feature = "ao")] // The Republic of Angola (Africa)
862                IOC::ANG => Alpha2::AO,
863                #[cfg(feature = "ar")] // The Argentine Republic (Americas)
864                IOC::ARG => Alpha2::AR,
865                #[cfg(feature = "as")] // The Territory of American Samoa (Oceania)
866                IOC::ASA => Alpha2::AS,
867                #[cfg(feature = "at")] // The Republic of Austria (Europe)
868                IOC::AUT => Alpha2::AT,
869                #[cfg(feature = "au")] // The Commonwealth of Australia (Oceania)
870                IOC::AUS => Alpha2::AU,
871                #[cfg(feature = "aw")] // Aruba (Americas)
872                IOC::ARU => Alpha2::AW,
873                #[cfg(feature = "az")] // The Republic of Azerbaijan (Asia)
874                IOC::AZE => Alpha2::AZ,
875                #[cfg(feature = "ba")] // Bosnia and Herzegovina (Europe)
876                IOC::BIH => Alpha2::BA,
877                #[cfg(feature = "bb")] // Barbados (Americas)
878                IOC::BAR => Alpha2::BB,
879                #[cfg(feature = "bd")] // The People's Republic of Bangladesh (Asia)
880                IOC::BAN => Alpha2::BD,
881                #[cfg(feature = "be")] // The Kingdom of Belgium (Europe)
882                IOC::BEL => Alpha2::BE,
883                #[cfg(feature = "bf")] // Burkina Faso (Africa)
884                IOC::BUR => Alpha2::BF,
885                #[cfg(feature = "bg")] // The Republic of Bulgaria (Europe)
886                IOC::BUL => Alpha2::BG,
887                #[cfg(feature = "bh")] // The Kingdom of Bahrain (Asia)
888                IOC::BRN => Alpha2::BH,
889                #[cfg(feature = "bi")] // The Republic of Burundi (Africa)
890                IOC::BDI => Alpha2::BI,
891                #[cfg(feature = "bj")] // The Republic of Benin (Africa)
892                IOC::BEN => Alpha2::BJ,
893                #[cfg(feature = "bm")] // Bermuda (Americas)
894                IOC::BER => Alpha2::BM,
895                #[cfg(feature = "bn")] // The Nation of Brunei, the Abode of Peace (Asia)
896                IOC::BRU => Alpha2::BN,
897                #[cfg(feature = "bo")] // The Plurinational State of Bolivia (Americas)
898                IOC::BOL => Alpha2::BO,
899                #[cfg(feature = "br")] // The Federative Republic of Brazil (Americas)
900                IOC::BRA => Alpha2::BR,
901                #[cfg(feature = "bs")] // The Commonwealth of The Bahamas (Americas)
902                IOC::BAH => Alpha2::BS,
903                #[cfg(feature = "bt")] // The Kingdom of Bhutan (Asia)
904                IOC::BHU => Alpha2::BT,
905                #[cfg(feature = "bw")] // The Republic of Botswana (Africa)
906                IOC::BOT => Alpha2::BW,
907                #[cfg(feature = "by")] // The Republic of Belarus (Europe)
908                IOC::BLR => Alpha2::BY,
909                #[cfg(feature = "bz")] // Belize (Americas)
910                IOC::BIZ => Alpha2::BZ,
911                #[cfg(feature = "ca")] // Canada (Americas)
912                IOC::CAN => Alpha2::CA,
913                #[cfg(feature = "cd")] // The Democratic Republic of the Congo (Africa)
914                IOC::COD => Alpha2::CD,
915                #[cfg(feature = "cf")] // The Central African Republic (Africa)
916                IOC::CAF => Alpha2::CF,
917                #[cfg(feature = "cg")] // The Republic of the Congo (Africa)
918                IOC::CGO => Alpha2::CG,
919                #[cfg(feature = "ch")] // The Swiss Confederation (Europe)
920                IOC::SUI => Alpha2::CH,
921                #[cfg(feature = "ci")] // The Republic of Côte d'Ivoire (Africa)
922                IOC::CIV => Alpha2::CI,
923                #[cfg(feature = "ck")] // The Cook Islands (Oceania)
924                IOC::COK => Alpha2::CK,
925                #[cfg(feature = "cl")] // The Republic of Chile (Americas)
926                IOC::CHI => Alpha2::CL,
927                #[cfg(feature = "cm")] // The Republic of Cameroon (Africa)
928                IOC::CMR => Alpha2::CM,
929                #[cfg(feature = "cn")] // The People's Republic of China (Asia)
930                IOC::CHN => Alpha2::CN,
931                #[cfg(feature = "co")] // The Republic of Colombia (Americas)
932                IOC::COL => Alpha2::CO,
933                #[cfg(feature = "cr")] // The Republic of Costa Rica (Americas)
934                IOC::CRC => Alpha2::CR,
935                #[cfg(feature = "cu")] // The Republic of Cuba (Americas)
936                IOC::CUB => Alpha2::CU,
937                #[cfg(feature = "cv")] // The Republic of Cabo Verde (Africa)
938                IOC::CPV => Alpha2::CV,
939                #[cfg(feature = "cy")] // The Republic of Cyprus (Asia)
940                IOC::CYP => Alpha2::CY,
941                #[cfg(feature = "cz")] // The Czech Republic (Europe)
942                IOC::CZE => Alpha2::CZ,
943                #[cfg(feature = "de")] // The Federal Republic of Germany (Europe)
944                IOC::GER => Alpha2::DE,
945                #[cfg(feature = "dj")] // The Republic of Djibouti (Africa)
946                IOC::DJI => Alpha2::DJ,
947                #[cfg(feature = "dk")] // The Kingdom of Denmark (Europe)
948                IOC::DEN => Alpha2::DK,
949                #[cfg(feature = "dm")] // The Commonwealth of Dominica (Americas)
950                IOC::DMA => Alpha2::DM,
951                #[cfg(feature = "do")] // The Dominican Republic (Americas)
952                IOC::DOM => Alpha2::DO,
953                #[cfg(feature = "dz")] // The People's Democratic Republic of Algeria (Africa)
954                IOC::ALG => Alpha2::DZ,
955                #[cfg(feature = "ec")] // The Republic of Ecuador (Americas)
956                IOC::ECU => Alpha2::EC,
957                #[cfg(feature = "ee")] // The Republic of Estonia (Europe)
958                IOC::EST => Alpha2::EE,
959                #[cfg(feature = "eg")] // The Arab Republic of Egypt (Africa)
960                IOC::EGY => Alpha2::EG,
961                #[cfg(feature = "er")] // The State of Eritrea (Africa)
962                IOC::ERI => Alpha2::ER,
963                #[cfg(feature = "es")] // The Kingdom of Spain (Europe)
964                IOC::ESP => Alpha2::ES,
965                #[cfg(feature = "et")] // The Federal Democratic Republic of Ethiopia (Africa)
966                IOC::ETH => Alpha2::ET,
967                #[cfg(feature = "fi")] // The Republic of Finland (Europe)
968                IOC::FIN => Alpha2::FI,
969                #[cfg(feature = "fj")] // The Republic of Fiji (Oceania)
970                IOC::FIJ => Alpha2::FJ,
971                #[cfg(feature = "fm")] // The Federated States of Micronesia (Oceania)
972                IOC::FSM => Alpha2::FM,
973                #[cfg(feature = "fo")] // The Faroe Islands (Europe)
974                IOC::FRO => Alpha2::FO,
975                #[cfg(feature = "fr")] // The French Republic (Europe)
976                IOC::FRA => Alpha2::FR,
977                #[cfg(feature = "ga")] // The Gabonese Republic (Africa)
978                IOC::GAB => Alpha2::GA,
979                #[cfg(feature = "gb")]
980                // The United Kingdom of Great Britain and Northern Ireland (Europe)
981                IOC::GBR => Alpha2::GB,
982                #[cfg(feature = "gd")] // Grenada (Americas)
983                IOC::GRN => Alpha2::GD,
984                #[cfg(feature = "ge")] // Georgia (Asia)
985                IOC::GEO => Alpha2::GE,
986                #[cfg(feature = "gh")] // The Republic of Ghana (Africa)
987                IOC::GHA => Alpha2::GH,
988                #[cfg(feature = "gm")] // The Republic of The Gambia (Africa)
989                IOC::GAM => Alpha2::GM,
990                #[cfg(feature = "gn")] // The Republic of Guinea (Africa)
991                IOC::GUI => Alpha2::GN,
992                #[cfg(feature = "gq")] // The Republic of Equatorial Guinea (Africa)
993                IOC::GEQ => Alpha2::GQ,
994                #[cfg(feature = "gr")] // The Hellenic Republic (Europe)
995                IOC::GRE => Alpha2::GR,
996                #[cfg(feature = "gt")] // The Republic of Guatemala (Americas)
997                IOC::GUA => Alpha2::GT,
998                #[cfg(feature = "gu")] // The Territory of Guam (Oceania)
999                IOC::GUM => Alpha2::GU,
1000                #[cfg(feature = "gw")] // The Republic of Guinea-Bissau (Africa)
1001                IOC::GBS => Alpha2::GW,
1002                #[cfg(feature = "gy")] // The Co-operative Republic of Guyana (Americas)
1003                IOC::GUY => Alpha2::GY,
1004                #[cfg(feature = "hk")]
1005                // The Hong Kong Special Administrative Region of China (Asia)
1006                IOC::HKG => Alpha2::HK,
1007                #[cfg(feature = "hn")] // The Republic of Honduras (Americas)
1008                IOC::HON => Alpha2::HN,
1009                #[cfg(feature = "hr")] // The Republic of Croatia (Europe)
1010                IOC::CRO => Alpha2::HR,
1011                #[cfg(feature = "ht")] // The Republic of Haiti (Americas)
1012                IOC::HAI => Alpha2::HT,
1013                #[cfg(feature = "hu")] // Hungary (Europe)
1014                IOC::HUN => Alpha2::HU,
1015                #[cfg(feature = "id")] // The Republic of Indonesia (Asia)
1016                IOC::INA => Alpha2::ID,
1017                #[cfg(feature = "ie")] // Ireland (Europe)
1018                IOC::IRL => Alpha2::IE,
1019                #[cfg(feature = "il")] // The State of Israel (Asia)
1020                IOC::ISR => Alpha2::IL,
1021                #[cfg(feature = "in")] // The Republic of India (Asia)
1022                IOC::IND => Alpha2::IN,
1023                #[cfg(feature = "iq")] // The Republic of Iraq (Asia)
1024                IOC::IRQ => Alpha2::IQ,
1025                #[cfg(feature = "ir")] // The Islamic Republic of Iran (Asia)
1026                IOC::IRI => Alpha2::IR,
1027                #[cfg(feature = "is")] // Iceland (Europe)
1028                IOC::ISL => Alpha2::IS,
1029                #[cfg(feature = "it")] // The Italian Republic (Europe)
1030                IOC::ITA => Alpha2::IT,
1031                #[cfg(feature = "jm")] // Jamaica (Americas)
1032                IOC::JAM => Alpha2::JM,
1033                #[cfg(feature = "jo")] // The Hashemite Kingdom of Jordan (Asia)
1034                IOC::JOR => Alpha2::JO,
1035                #[cfg(feature = "jp")] // Japan (Asia)
1036                IOC::JPN => Alpha2::JP,
1037                #[cfg(feature = "ke")] // The Republic of Kenya (Africa)
1038                IOC::KEN => Alpha2::KE,
1039                #[cfg(feature = "kg")] // The Kyrgyz Republic (Asia)
1040                IOC::KGZ => Alpha2::KG,
1041                #[cfg(feature = "kh")] // The Kingdom of Cambodia (Asia)
1042                IOC::CAM => Alpha2::KH,
1043                #[cfg(feature = "ki")] // The Republic of Kiribati (Oceania)
1044                IOC::KIR => Alpha2::KI,
1045                #[cfg(feature = "km")] // The Union of the Comoros (Africa)
1046                IOC::COM => Alpha2::KM,
1047                #[cfg(feature = "kn")] // Saint Kitts and Nevis (Americas)
1048                IOC::SKN => Alpha2::KN,
1049                #[cfg(feature = "kp")] // The Democratic People's Republic of Korea (Asia)
1050                IOC::PRK => Alpha2::KP,
1051                #[cfg(feature = "kr")] // The Republic of Korea (Asia)
1052                IOC::KOR => Alpha2::KR,
1053                #[cfg(feature = "kw")] // The State of Kuwait (Asia)
1054                IOC::KUW => Alpha2::KW,
1055                #[cfg(feature = "ky")] // The Cayman Islands (Americas)
1056                IOC::CAY => Alpha2::KY,
1057                #[cfg(feature = "kz")] // The Republic of Kazakhstan (Asia)
1058                IOC::KAZ => Alpha2::KZ,
1059                #[cfg(feature = "la")] // The Lao People's Democratic Republic (Asia)
1060                IOC::LAO => Alpha2::LA,
1061                #[cfg(feature = "lb")] // The Lebanese Republic (Asia)
1062                IOC::LIB => Alpha2::LB,
1063                #[cfg(feature = "lc")] // Saint Lucia (Americas)
1064                IOC::LCA => Alpha2::LC,
1065                #[cfg(feature = "li")] // The Principality of Liechtenstein (Europe)
1066                IOC::LIE => Alpha2::LI,
1067                #[cfg(feature = "lk")] // The Democratic Socialist Republic of Sri Lanka (Asia)
1068                IOC::SRI => Alpha2::LK,
1069                #[cfg(feature = "lr")] // The Republic of Liberia (Africa)
1070                IOC::LBR => Alpha2::LR,
1071                #[cfg(feature = "ls")] // The Kingdom of Lesotho (Africa)
1072                IOC::LES => Alpha2::LS,
1073                #[cfg(feature = "lt")] // The Republic of Lithuania (Europe)
1074                IOC::LTU => Alpha2::LT,
1075                #[cfg(feature = "lu")] // The Grand Duchy of Luxembourg (Europe)
1076                IOC::LUX => Alpha2::LU,
1077                #[cfg(feature = "lv")] // The Republic of Latvia (Europe)
1078                IOC::LAT => Alpha2::LV,
1079                #[cfg(feature = "ly")] // The State of Libya (Africa)
1080                IOC::LBA => Alpha2::LY,
1081                #[cfg(feature = "ma")] // The Kingdom of Morocco (Africa)
1082                IOC::MAR => Alpha2::MA,
1083                #[cfg(feature = "mc")] // The Principality of Monaco (Europe)
1084                IOC::MON => Alpha2::MC,
1085                #[cfg(feature = "md")] // The Republic of Moldova (Europe)
1086                IOC::MDA => Alpha2::MD,
1087                #[cfg(feature = "me")] // Montenegro (Europe)
1088                IOC::MNE => Alpha2::ME,
1089                #[cfg(feature = "mg")] // The Republic of Madagascar (Africa)
1090                IOC::MAD => Alpha2::MG,
1091                #[cfg(feature = "mh")] // The Republic of the Marshall Islands (Oceania)
1092                IOC::MHL => Alpha2::MH,
1093                #[cfg(feature = "mk")] // The Republic of North Macedonia (Europe)
1094                IOC::MKD => Alpha2::MK,
1095                #[cfg(feature = "ml")] // The Republic of Mali (Africa)
1096                IOC::MLI => Alpha2::ML,
1097                #[cfg(feature = "mm")] // The Republic of the Union of Myanmar (Asia)
1098                IOC::MYA => Alpha2::MM,
1099                #[cfg(feature = "mn")] // Mongolia (Asia)
1100                IOC::MGL => Alpha2::MN,
1101                #[cfg(feature = "mr")] // The Islamic Republic of Mauritania (Africa)
1102                IOC::MTN => Alpha2::MR,
1103                #[cfg(feature = "mt")] // The Republic of Malta (Europe)
1104                IOC::MLT => Alpha2::MT,
1105                #[cfg(feature = "mu")] // The Republic of Mauritius (Africa)
1106                IOC::MRI => Alpha2::MU,
1107                #[cfg(feature = "mv")] // The Republic of Maldives (Asia)
1108                IOC::MDV => Alpha2::MV,
1109                #[cfg(feature = "mw")] // The Republic of Malawi (Africa)
1110                IOC::MAW => Alpha2::MW,
1111                #[cfg(feature = "mx")] // The United Mexican States (Americas)
1112                IOC::MEX => Alpha2::MX,
1113                #[cfg(feature = "my")] // Malaysia (Asia)
1114                IOC::MAS => Alpha2::MY,
1115                #[cfg(feature = "mz")] // The Republic of Mozambique (Africa)
1116                IOC::MOZ => Alpha2::MZ,
1117                #[cfg(feature = "na")] // The Republic of Namibia (Africa)
1118                IOC::NAM => Alpha2::NA,
1119                #[cfg(feature = "ne")] // The Republic of the Niger (Africa)
1120                IOC::NIG => Alpha2::NE,
1121                #[cfg(feature = "ng")] // The Federal Republic of Nigeria (Africa)
1122                IOC::NGR => Alpha2::NG,
1123                #[cfg(feature = "ni")] // The Republic of Nicaragua (Americas)
1124                IOC::NCA => Alpha2::NI,
1125                #[cfg(feature = "nl")] // The Kingdom of the Netherlands (Europe)
1126                IOC::NED => Alpha2::NL,
1127                #[cfg(feature = "no")] // The Kingdom of Norway (Europe)
1128                IOC::NOR => Alpha2::NO,
1129                #[cfg(feature = "np")] // The Federal Democratic Republic of Nepal (Asia)
1130                IOC::NEP => Alpha2::NP,
1131                #[cfg(feature = "nr")] // The Republic of Nauru (Oceania)
1132                IOC::NRU => Alpha2::NR,
1133                #[cfg(feature = "nz")] // New Zealand (Oceania)
1134                IOC::NZL => Alpha2::NZ,
1135                #[cfg(feature = "om")] // The Sultanate of Oman (Asia)
1136                IOC::OMA => Alpha2::OM,
1137                #[cfg(feature = "pa")] // The Republic of Panamá (Americas)
1138                IOC::PAN => Alpha2::PA,
1139                #[cfg(feature = "pe")] // The Republic of Perú (Americas)
1140                IOC::PER => Alpha2::PE,
1141                #[cfg(feature = "pg")] // The Independent State of Papua New Guinea (Oceania)
1142                IOC::PNG => Alpha2::PG,
1143                #[cfg(feature = "ph")] // The Republic of the Philippines (Asia)
1144                IOC::PHI => Alpha2::PH,
1145                #[cfg(feature = "pk")] // The Islamic Republic of Pakistan (Asia)
1146                IOC::PAK => Alpha2::PK,
1147                #[cfg(feature = "pl")] // The Republic of Poland (Europe)
1148                IOC::POL => Alpha2::PL,
1149                #[cfg(feature = "pr")] // The Commonwealth of Puerto Rico (Americas)
1150                IOC::PUR => Alpha2::PR,
1151                #[cfg(feature = "ps")] // The State of Palestine (Asia)
1152                IOC::PLE => Alpha2::PS,
1153                #[cfg(feature = "pt")] // The Portuguese Republic (Europe)
1154                IOC::POR => Alpha2::PT,
1155                #[cfg(feature = "pw")] // The Republic of Palau (Oceania)
1156                IOC::PLW => Alpha2::PW,
1157                #[cfg(feature = "py")] // The Republic of Paraguay (Americas)
1158                IOC::PAR => Alpha2::PY,
1159                #[cfg(feature = "qa")] // The State of Qatar (Asia)
1160                IOC::QAT => Alpha2::QA,
1161                #[cfg(feature = "ro")] // Romania (Europe)
1162                IOC::ROU => Alpha2::RO,
1163                #[cfg(feature = "rs")] // The Republic of Serbia (Europe)
1164                IOC::SRB => Alpha2::RS,
1165                #[cfg(feature = "ru")] // The Russian Federation (Europe)
1166                IOC::RUS => Alpha2::RU,
1167                #[cfg(feature = "rw")] // The Republic of Rwanda (Africa)
1168                IOC::RWA => Alpha2::RW,
1169                #[cfg(feature = "sa")] // The Kingdom of Saudi Arabia (Asia)
1170                IOC::KSA => Alpha2::SA,
1171                #[cfg(feature = "sb")] // The Solomon Islands (Oceania)
1172                IOC::SOL => Alpha2::SB,
1173                #[cfg(feature = "sc")] // The Republic of Seychelles (Africa)
1174                IOC::SEY => Alpha2::SC,
1175                #[cfg(feature = "sd")] // The Republic of the Sudan (Africa)
1176                IOC::SUD => Alpha2::SD,
1177                #[cfg(feature = "se")] // The Kingdom of Sweden (Europe)
1178                IOC::SWE => Alpha2::SE,
1179                #[cfg(feature = "sg")] // The Republic of Singapore (Asia)
1180                IOC::SGP => Alpha2::SG,
1181                #[cfg(feature = "si")] // The Republic of Slovenia (Europe)
1182                IOC::SLO => Alpha2::SI,
1183                #[cfg(feature = "sk")] // The Slovak Republic (Europe)
1184                IOC::SVK => Alpha2::SK,
1185                #[cfg(feature = "sl")] // The Republic of Sierra Leone (Africa)
1186                IOC::SLE => Alpha2::SL,
1187                #[cfg(feature = "sm")] // The Republic of San Marino (Europe)
1188                IOC::SMR => Alpha2::SM,
1189                #[cfg(feature = "sn")] // The Republic of Senegal (Africa)
1190                IOC::SEN => Alpha2::SN,
1191                #[cfg(feature = "so")] // The Federal Republic of Somalia (Africa)
1192                IOC::SOM => Alpha2::SO,
1193                #[cfg(feature = "sr")] // The Republic of Suriname (Americas)
1194                IOC::SUR => Alpha2::SR,
1195                #[cfg(feature = "st")] // The Democratic Republic of São Tomé and Príncipe (Africa)
1196                IOC::STP => Alpha2::ST,
1197                #[cfg(feature = "sv")] // The Republic of El Salvador (Americas)
1198                IOC::ESA => Alpha2::SV,
1199                #[cfg(feature = "sy")] // The Syrian Arab Republic (Asia)
1200                IOC::SYR => Alpha2::SY,
1201                #[cfg(feature = "sz")] // The Kingdom of Eswatini (Africa)
1202                IOC::SWZ => Alpha2::SZ,
1203                #[cfg(feature = "td")] // The Republic of Chad (Africa)
1204                IOC::CHA => Alpha2::TD,
1205                #[cfg(feature = "tg")] // The Togolese Republic (Africa)
1206                IOC::TOG => Alpha2::TG,
1207                #[cfg(feature = "th")] // The Kingdom of Thailand (Asia)
1208                IOC::THA => Alpha2::TH,
1209                #[cfg(feature = "tj")] // The Republic of Tajikistan (Asia)
1210                IOC::TJK => Alpha2::TJ,
1211                #[cfg(feature = "tl")] // The Democratic Republic of Timor-Leste (Asia)
1212                IOC::TLS => Alpha2::TL,
1213                #[cfg(feature = "tm")] // Turkmenistan (Asia)
1214                IOC::TKM => Alpha2::TM,
1215                #[cfg(feature = "tn")] // The Republic of Tunisia (Africa)
1216                IOC::TUN => Alpha2::TN,
1217                #[cfg(feature = "to")] // The Kingdom of Tonga (Oceania)
1218                IOC::TGA => Alpha2::TO,
1219                #[cfg(feature = "tr")] // The Republic of Türkiye (Asia)
1220                IOC::TUR => Alpha2::TR,
1221                #[cfg(feature = "tt")] // The Republic of Trinidad and Tobago (Americas)
1222                IOC::TRI => Alpha2::TT,
1223                #[cfg(feature = "tv")] // Tuvalu (Oceania)
1224                IOC::TUV => Alpha2::TV,
1225                #[cfg(feature = "tw")] // Taiwan, Province of China (Asia)
1226                IOC::TPE => Alpha2::TW,
1227                #[cfg(feature = "tz")] // The United Republic of Tanzania (Africa)
1228                IOC::TAN => Alpha2::TZ,
1229                #[cfg(feature = "ua")] // Ukraine (Europe)
1230                IOC::UKR => Alpha2::UA,
1231                #[cfg(feature = "ug")] // The Republic of Uganda (Africa)
1232                IOC::UGA => Alpha2::UG,
1233                #[cfg(feature = "us")] // The United States of America (Americas)
1234                IOC::USA => Alpha2::US,
1235                #[cfg(feature = "uy")] // The Oriental Republic of Uruguay (Americas)
1236                IOC::URU => Alpha2::UY,
1237                #[cfg(feature = "uz")] // The Republic of Uzbekistan (Asia)
1238                IOC::UZB => Alpha2::UZ,
1239                #[cfg(feature = "vc")] // Saint Vincent and the Grenadines (Americas)
1240                IOC::VIN => Alpha2::VC,
1241                #[cfg(feature = "ve")] // The Bolivarian Republic of Venezuela (Americas)
1242                IOC::VEN => Alpha2::VE,
1243                #[cfg(feature = "vg")] // The Virgin Islands (Americas)
1244                IOC::IVB => Alpha2::VG,
1245                #[cfg(feature = "vi")] // The Virgin Islands of the United States (Americas)
1246                IOC::ISV => Alpha2::VI,
1247                #[cfg(feature = "vn")] // The Socialist Republic of Viet Nam (Asia)
1248                IOC::VIE => Alpha2::VN,
1249                #[cfg(feature = "vu")] // The Republic of Vanuatu (Oceania)
1250                IOC::VAN => Alpha2::VU,
1251                #[cfg(feature = "ws")] // The Independent State of Samoa (Oceania)
1252                IOC::SAM => Alpha2::WS,
1253                #[cfg(feature = "ye")] // The Republic of Yemen (Asia)
1254                IOC::YEM => Alpha2::YE,
1255                #[cfg(feature = "za")] // The Republic of South Africa (Africa)
1256                IOC::RSA => Alpha2::ZA,
1257                #[cfg(feature = "zm")] // The Republic of Zambia (Africa)
1258                IOC::ZAM => Alpha2::ZM,
1259                #[cfg(feature = "zw")] // The Republic of Zimbabwe (Africa)
1260                IOC::ZIM => Alpha2::ZW,
1261            }
1262        }
1263
1264        pub fn to_country(&self) -> Country {
1265            self.to_alpha2().to_country()
1266        }
1267    }
1268
1269    impl ToString for IOC {
1270        fn to_string(&self) -> String {
1271            match self {
1272                #[cfg(feature = "ad")] // The Principality of Andorra (Europe)
1273                IOC::AND => "AND",
1274                #[cfg(feature = "ae")] // The United Arab Emirates (Asia)
1275                IOC::UAE => "UAE",
1276                #[cfg(feature = "af")] // The Islamic Republic of Afghanistan (Asia)
1277                IOC::AFG => "AFG",
1278                #[cfg(feature = "ag")] // Antigua and Barbuda (Americas)
1279                IOC::ANT => "ANT",
1280                #[cfg(feature = "al")] // The Republic of Albania (Europe)
1281                IOC::ALB => "ALB",
1282                #[cfg(feature = "am")] // The Republic of Armenia (Asia)
1283                IOC::ARM => "ARM",
1284                #[cfg(feature = "ao")] // The Republic of Angola (Africa)
1285                IOC::ANG => "ANG",
1286                #[cfg(feature = "ar")] // The Argentine Republic (Americas)
1287                IOC::ARG => "ARG",
1288                #[cfg(feature = "as")] // The Territory of American Samoa (Oceania)
1289                IOC::ASA => "ASA",
1290                #[cfg(feature = "at")] // The Republic of Austria (Europe)
1291                IOC::AUT => "AUT",
1292                #[cfg(feature = "au")] // The Commonwealth of Australia (Oceania)
1293                IOC::AUS => "AUS",
1294                #[cfg(feature = "aw")] // Aruba (Americas)
1295                IOC::ARU => "ARU",
1296                #[cfg(feature = "az")] // The Republic of Azerbaijan (Asia)
1297                IOC::AZE => "AZE",
1298                #[cfg(feature = "ba")] // Bosnia and Herzegovina (Europe)
1299                IOC::BIH => "BIH",
1300                #[cfg(feature = "bb")] // Barbados (Americas)
1301                IOC::BAR => "BAR",
1302                #[cfg(feature = "bd")] // The People's Republic of Bangladesh (Asia)
1303                IOC::BAN => "BAN",
1304                #[cfg(feature = "be")] // The Kingdom of Belgium (Europe)
1305                IOC::BEL => "BEL",
1306                #[cfg(feature = "bf")] // Burkina Faso (Africa)
1307                IOC::BUR => "BUR",
1308                #[cfg(feature = "bg")] // The Republic of Bulgaria (Europe)
1309                IOC::BUL => "BUL",
1310                #[cfg(feature = "bh")] // The Kingdom of Bahrain (Asia)
1311                IOC::BRN => "BRN",
1312                #[cfg(feature = "bi")] // The Republic of Burundi (Africa)
1313                IOC::BDI => "BDI",
1314                #[cfg(feature = "bj")] // The Republic of Benin (Africa)
1315                IOC::BEN => "BEN",
1316                #[cfg(feature = "bm")] // Bermuda (Americas)
1317                IOC::BER => "BER",
1318                #[cfg(feature = "bn")] // The Nation of Brunei, the Abode of Peace (Asia)
1319                IOC::BRU => "BRU",
1320                #[cfg(feature = "bo")] // The Plurinational State of Bolivia (Americas)
1321                IOC::BOL => "BOL",
1322                #[cfg(feature = "br")] // The Federative Republic of Brazil (Americas)
1323                IOC::BRA => "BRA",
1324                #[cfg(feature = "bs")] // The Commonwealth of The Bahamas (Americas)
1325                IOC::BAH => "BAH",
1326                #[cfg(feature = "bt")] // The Kingdom of Bhutan (Asia)
1327                IOC::BHU => "BHU",
1328                #[cfg(feature = "bw")] // The Republic of Botswana (Africa)
1329                IOC::BOT => "BOT",
1330                #[cfg(feature = "by")] // The Republic of Belarus (Europe)
1331                IOC::BLR => "BLR",
1332                #[cfg(feature = "bz")] // Belize (Americas)
1333                IOC::BIZ => "BIZ",
1334                #[cfg(feature = "ca")] // Canada (Americas)
1335                IOC::CAN => "CAN",
1336                #[cfg(feature = "cd")] // The Democratic Republic of the Congo (Africa)
1337                IOC::COD => "COD",
1338                #[cfg(feature = "cf")] // The Central African Republic (Africa)
1339                IOC::CAF => "CAF",
1340                #[cfg(feature = "cg")] // The Republic of the Congo (Africa)
1341                IOC::CGO => "CGO",
1342                #[cfg(feature = "ch")] // The Swiss Confederation (Europe)
1343                IOC::SUI => "SUI",
1344                #[cfg(feature = "ci")] // The Republic of Côte d'Ivoire (Africa)
1345                IOC::CIV => "CIV",
1346                #[cfg(feature = "ck")] // The Cook Islands (Oceania)
1347                IOC::COK => "COK",
1348                #[cfg(feature = "cl")] // The Republic of Chile (Americas)
1349                IOC::CHI => "CHI",
1350                #[cfg(feature = "cm")] // The Republic of Cameroon (Africa)
1351                IOC::CMR => "CMR",
1352                #[cfg(feature = "cn")] // The People's Republic of China (Asia)
1353                IOC::CHN => "CHN",
1354                #[cfg(feature = "co")] // The Republic of Colombia (Americas)
1355                IOC::COL => "COL",
1356                #[cfg(feature = "cr")] // The Republic of Costa Rica (Americas)
1357                IOC::CRC => "CRC",
1358                #[cfg(feature = "cu")] // The Republic of Cuba (Americas)
1359                IOC::CUB => "CUB",
1360                #[cfg(feature = "cv")] // The Republic of Cabo Verde (Africa)
1361                IOC::CPV => "CPV",
1362                #[cfg(feature = "cy")] // The Republic of Cyprus (Asia)
1363                IOC::CYP => "CYP",
1364                #[cfg(feature = "cz")] // The Czech Republic (Europe)
1365                IOC::CZE => "CZE",
1366                #[cfg(feature = "de")] // The Federal Republic of Germany (Europe)
1367                IOC::GER => "GER",
1368                #[cfg(feature = "dj")] // The Republic of Djibouti (Africa)
1369                IOC::DJI => "DJI",
1370                #[cfg(feature = "dk")] // The Kingdom of Denmark (Europe)
1371                IOC::DEN => "DEN",
1372                #[cfg(feature = "dm")] // The Commonwealth of Dominica (Americas)
1373                IOC::DMA => "DMA",
1374                #[cfg(feature = "do")] // The Dominican Republic (Americas)
1375                IOC::DOM => "DOM",
1376                #[cfg(feature = "dz")] // The People's Democratic Republic of Algeria (Africa)
1377                IOC::ALG => "ALG",
1378                #[cfg(feature = "ec")] // The Republic of Ecuador (Americas)
1379                IOC::ECU => "ECU",
1380                #[cfg(feature = "ee")] // The Republic of Estonia (Europe)
1381                IOC::EST => "EST",
1382                #[cfg(feature = "eg")] // The Arab Republic of Egypt (Africa)
1383                IOC::EGY => "EGY",
1384                #[cfg(feature = "er")] // The State of Eritrea (Africa)
1385                IOC::ERI => "ERI",
1386                #[cfg(feature = "es")] // The Kingdom of Spain (Europe)
1387                IOC::ESP => "ESP",
1388                #[cfg(feature = "et")] // The Federal Democratic Republic of Ethiopia (Africa)
1389                IOC::ETH => "ETH",
1390                #[cfg(feature = "fi")] // The Republic of Finland (Europe)
1391                IOC::FIN => "FIN",
1392                #[cfg(feature = "fj")] // The Republic of Fiji (Oceania)
1393                IOC::FIJ => "FIJ",
1394                #[cfg(feature = "fm")] // The Federated States of Micronesia (Oceania)
1395                IOC::FSM => "FSM",
1396                #[cfg(feature = "fo")] // The Faroe Islands (Europe)
1397                IOC::FRO => "FRO",
1398                #[cfg(feature = "fr")] // The French Republic (Europe)
1399                IOC::FRA => "FRA",
1400                #[cfg(feature = "ga")] // The Gabonese Republic (Africa)
1401                IOC::GAB => "GAB",
1402                #[cfg(feature = "gb")]
1403                // The United Kingdom of Great Britain and Northern Ireland (Europe)
1404                IOC::GBR => "GBR",
1405                #[cfg(feature = "gd")] // Grenada (Americas)
1406                IOC::GRN => "GRN",
1407                #[cfg(feature = "ge")] // Georgia (Asia)
1408                IOC::GEO => "GEO",
1409                #[cfg(feature = "gh")] // The Republic of Ghana (Africa)
1410                IOC::GHA => "GHA",
1411                #[cfg(feature = "gm")] // The Republic of The Gambia (Africa)
1412                IOC::GAM => "GAM",
1413                #[cfg(feature = "gn")] // The Republic of Guinea (Africa)
1414                IOC::GUI => "GUI",
1415                #[cfg(feature = "gq")] // The Republic of Equatorial Guinea (Africa)
1416                IOC::GEQ => "GEQ",
1417                #[cfg(feature = "gr")] // The Hellenic Republic (Europe)
1418                IOC::GRE => "GRE",
1419                #[cfg(feature = "gt")] // The Republic of Guatemala (Americas)
1420                IOC::GUA => "GUA",
1421                #[cfg(feature = "gu")] // The Territory of Guam (Oceania)
1422                IOC::GUM => "GUM",
1423                #[cfg(feature = "gw")] // The Republic of Guinea-Bissau (Africa)
1424                IOC::GBS => "GBS",
1425                #[cfg(feature = "gy")] // The Co-operative Republic of Guyana (Americas)
1426                IOC::GUY => "GUY",
1427                #[cfg(feature = "hk")]
1428                // The Hong Kong Special Administrative Region of China (Asia)
1429                IOC::HKG => "HKG",
1430                #[cfg(feature = "hn")] // The Republic of Honduras (Americas)
1431                IOC::HON => "HON",
1432                #[cfg(feature = "hr")] // The Republic of Croatia (Europe)
1433                IOC::CRO => "CRO",
1434                #[cfg(feature = "ht")] // The Republic of Haiti (Americas)
1435                IOC::HAI => "HAI",
1436                #[cfg(feature = "hu")] // Hungary (Europe)
1437                IOC::HUN => "HUN",
1438                #[cfg(feature = "id")] // The Republic of Indonesia (Asia)
1439                IOC::INA => "INA",
1440                #[cfg(feature = "ie")] // Ireland (Europe)
1441                IOC::IRL => "IRL",
1442                #[cfg(feature = "il")] // The State of Israel (Asia)
1443                IOC::ISR => "ISR",
1444                #[cfg(feature = "in")] // The Republic of India (Asia)
1445                IOC::IND => "IND",
1446                #[cfg(feature = "iq")] // The Republic of Iraq (Asia)
1447                IOC::IRQ => "IRQ",
1448                #[cfg(feature = "ir")] // The Islamic Republic of Iran (Asia)
1449                IOC::IRI => "IRI",
1450                #[cfg(feature = "is")] // Iceland (Europe)
1451                IOC::ISL => "ISL",
1452                #[cfg(feature = "it")] // The Italian Republic (Europe)
1453                IOC::ITA => "ITA",
1454                #[cfg(feature = "jm")] // Jamaica (Americas)
1455                IOC::JAM => "JAM",
1456                #[cfg(feature = "jo")] // The Hashemite Kingdom of Jordan (Asia)
1457                IOC::JOR => "JOR",
1458                #[cfg(feature = "jp")] // Japan (Asia)
1459                IOC::JPN => "JPN",
1460                #[cfg(feature = "ke")] // The Republic of Kenya (Africa)
1461                IOC::KEN => "KEN",
1462                #[cfg(feature = "kg")] // The Kyrgyz Republic (Asia)
1463                IOC::KGZ => "KGZ",
1464                #[cfg(feature = "kh")] // The Kingdom of Cambodia (Asia)
1465                IOC::CAM => "CAM",
1466                #[cfg(feature = "ki")] // The Republic of Kiribati (Oceania)
1467                IOC::KIR => "KIR",
1468                #[cfg(feature = "km")] // The Union of the Comoros (Africa)
1469                IOC::COM => "COM",
1470                #[cfg(feature = "kn")] // Saint Kitts and Nevis (Americas)
1471                IOC::SKN => "SKN",
1472                #[cfg(feature = "kp")] // The Democratic People's Republic of Korea (Asia)
1473                IOC::PRK => "PRK",
1474                #[cfg(feature = "kr")] // The Republic of Korea (Asia)
1475                IOC::KOR => "KOR",
1476                #[cfg(feature = "kw")] // The State of Kuwait (Asia)
1477                IOC::KUW => "KUW",
1478                #[cfg(feature = "ky")] // The Cayman Islands (Americas)
1479                IOC::CAY => "CAY",
1480                #[cfg(feature = "kz")] // The Republic of Kazakhstan (Asia)
1481                IOC::KAZ => "KAZ",
1482                #[cfg(feature = "la")] // The Lao People's Democratic Republic (Asia)
1483                IOC::LAO => "LAO",
1484                #[cfg(feature = "lb")] // The Lebanese Republic (Asia)
1485                IOC::LIB => "LIB",
1486                #[cfg(feature = "lc")] // Saint Lucia (Americas)
1487                IOC::LCA => "LCA",
1488                #[cfg(feature = "li")] // The Principality of Liechtenstein (Europe)
1489                IOC::LIE => "LIE",
1490                #[cfg(feature = "lk")] // The Democratic Socialist Republic of Sri Lanka (Asia)
1491                IOC::SRI => "SRI",
1492                #[cfg(feature = "lr")] // The Republic of Liberia (Africa)
1493                IOC::LBR => "LBR",
1494                #[cfg(feature = "ls")] // The Kingdom of Lesotho (Africa)
1495                IOC::LES => "LES",
1496                #[cfg(feature = "lt")] // The Republic of Lithuania (Europe)
1497                IOC::LTU => "LTU",
1498                #[cfg(feature = "lu")] // The Grand Duchy of Luxembourg (Europe)
1499                IOC::LUX => "LUX",
1500                #[cfg(feature = "lv")] // The Republic of Latvia (Europe)
1501                IOC::LAT => "LAT",
1502                #[cfg(feature = "ly")] // The State of Libya (Africa)
1503                IOC::LBA => "LBA",
1504                #[cfg(feature = "ma")] // The Kingdom of Morocco (Africa)
1505                IOC::MAR => "MAR",
1506                #[cfg(feature = "mc")] // The Principality of Monaco (Europe)
1507                IOC::MON => "MON",
1508                #[cfg(feature = "md")] // The Republic of Moldova (Europe)
1509                IOC::MDA => "MDA",
1510                #[cfg(feature = "me")] // Montenegro (Europe)
1511                IOC::MNE => "MNE",
1512                #[cfg(feature = "mg")] // The Republic of Madagascar (Africa)
1513                IOC::MAD => "MAD",
1514                #[cfg(feature = "mh")] // The Republic of the Marshall Islands (Oceania)
1515                IOC::MHL => "MHL",
1516                #[cfg(feature = "mk")] // The Republic of North Macedonia (Europe)
1517                IOC::MKD => "MKD",
1518                #[cfg(feature = "ml")] // The Republic of Mali (Africa)
1519                IOC::MLI => "MLI",
1520                #[cfg(feature = "mm")] // The Republic of the Union of Myanmar (Asia)
1521                IOC::MYA => "MYA",
1522                #[cfg(feature = "mn")] // Mongolia (Asia)
1523                IOC::MGL => "MGL",
1524                #[cfg(feature = "mr")] // The Islamic Republic of Mauritania (Africa)
1525                IOC::MTN => "MTN",
1526                #[cfg(feature = "mt")] // The Republic of Malta (Europe)
1527                IOC::MLT => "MLT",
1528                #[cfg(feature = "mu")] // The Republic of Mauritius (Africa)
1529                IOC::MRI => "MRI",
1530                #[cfg(feature = "mv")] // The Republic of Maldives (Asia)
1531                IOC::MDV => "MDV",
1532                #[cfg(feature = "mw")] // The Republic of Malawi (Africa)
1533                IOC::MAW => "MAW",
1534                #[cfg(feature = "mx")] // The United Mexican States (Americas)
1535                IOC::MEX => "MEX",
1536                #[cfg(feature = "my")] // Malaysia (Asia)
1537                IOC::MAS => "MAS",
1538                #[cfg(feature = "mz")] // The Republic of Mozambique (Africa)
1539                IOC::MOZ => "MOZ",
1540                #[cfg(feature = "na")] // The Republic of Namibia (Africa)
1541                IOC::NAM => "NAM",
1542                #[cfg(feature = "ne")] // The Republic of the Niger (Africa)
1543                IOC::NIG => "NIG",
1544                #[cfg(feature = "ng")] // The Federal Republic of Nigeria (Africa)
1545                IOC::NGR => "NGR",
1546                #[cfg(feature = "ni")] // The Republic of Nicaragua (Americas)
1547                IOC::NCA => "NCA",
1548                #[cfg(feature = "nl")] // The Kingdom of the Netherlands (Europe)
1549                IOC::NED => "NED",
1550                #[cfg(feature = "no")] // The Kingdom of Norway (Europe)
1551                IOC::NOR => "NOR",
1552                #[cfg(feature = "np")] // The Federal Democratic Republic of Nepal (Asia)
1553                IOC::NEP => "NEP",
1554                #[cfg(feature = "nr")] // The Republic of Nauru (Oceania)
1555                IOC::NRU => "NRU",
1556                #[cfg(feature = "nz")] // New Zealand (Oceania)
1557                IOC::NZL => "NZL",
1558                #[cfg(feature = "om")] // The Sultanate of Oman (Asia)
1559                IOC::OMA => "OMA",
1560                #[cfg(feature = "pa")] // The Republic of Panamá (Americas)
1561                IOC::PAN => "PAN",
1562                #[cfg(feature = "pe")] // The Republic of Perú (Americas)
1563                IOC::PER => "PER",
1564                #[cfg(feature = "pg")] // The Independent State of Papua New Guinea (Oceania)
1565                IOC::PNG => "PNG",
1566                #[cfg(feature = "ph")] // The Republic of the Philippines (Asia)
1567                IOC::PHI => "PHI",
1568                #[cfg(feature = "pk")] // The Islamic Republic of Pakistan (Asia)
1569                IOC::PAK => "PAK",
1570                #[cfg(feature = "pl")] // The Republic of Poland (Europe)
1571                IOC::POL => "POL",
1572                #[cfg(feature = "pr")] // The Commonwealth of Puerto Rico (Americas)
1573                IOC::PUR => "PUR",
1574                #[cfg(feature = "ps")] // The State of Palestine (Asia)
1575                IOC::PLE => "PLE",
1576                #[cfg(feature = "pt")] // The Portuguese Republic (Europe)
1577                IOC::POR => "POR",
1578                #[cfg(feature = "pw")] // The Republic of Palau (Oceania)
1579                IOC::PLW => "PLW",
1580                #[cfg(feature = "py")] // The Republic of Paraguay (Americas)
1581                IOC::PAR => "PAR",
1582                #[cfg(feature = "qa")] // The State of Qatar (Asia)
1583                IOC::QAT => "QAT",
1584                #[cfg(feature = "ro")] // Romania (Europe)
1585                IOC::ROU => "ROU",
1586                #[cfg(feature = "rs")] // The Republic of Serbia (Europe)
1587                IOC::SRB => "SRB",
1588                #[cfg(feature = "ru")] // The Russian Federation (Europe)
1589                IOC::RUS => "RUS",
1590                #[cfg(feature = "rw")] // The Republic of Rwanda (Africa)
1591                IOC::RWA => "RWA",
1592                #[cfg(feature = "sa")] // The Kingdom of Saudi Arabia (Asia)
1593                IOC::KSA => "KSA",
1594                #[cfg(feature = "sb")] // The Solomon Islands (Oceania)
1595                IOC::SOL => "SOL",
1596                #[cfg(feature = "sc")] // The Republic of Seychelles (Africa)
1597                IOC::SEY => "SEY",
1598                #[cfg(feature = "sd")] // The Republic of the Sudan (Africa)
1599                IOC::SUD => "SUD",
1600                #[cfg(feature = "se")] // The Kingdom of Sweden (Europe)
1601                IOC::SWE => "SWE",
1602                #[cfg(feature = "sg")] // The Republic of Singapore (Asia)
1603                IOC::SGP => "SGP",
1604                #[cfg(feature = "si")] // The Republic of Slovenia (Europe)
1605                IOC::SLO => "SLO",
1606                #[cfg(feature = "sk")] // The Slovak Republic (Europe)
1607                IOC::SVK => "SVK",
1608                #[cfg(feature = "sl")] // The Republic of Sierra Leone (Africa)
1609                IOC::SLE => "SLE",
1610                #[cfg(feature = "sm")] // The Republic of San Marino (Europe)
1611                IOC::SMR => "SMR",
1612                #[cfg(feature = "sn")] // The Republic of Senegal (Africa)
1613                IOC::SEN => "SEN",
1614                #[cfg(feature = "so")] // The Federal Republic of Somalia (Africa)
1615                IOC::SOM => "SOM",
1616                #[cfg(feature = "sr")] // The Republic of Suriname (Americas)
1617                IOC::SUR => "SUR",
1618                #[cfg(feature = "st")] // The Democratic Republic of São Tomé and Príncipe (Africa)
1619                IOC::STP => "STP",
1620                #[cfg(feature = "sv")] // The Republic of El Salvador (Americas)
1621                IOC::ESA => "ESA",
1622                #[cfg(feature = "sy")] // The Syrian Arab Republic (Asia)
1623                IOC::SYR => "SYR",
1624                #[cfg(feature = "sz")] // The Kingdom of Eswatini (Africa)
1625                IOC::SWZ => "SWZ",
1626                #[cfg(feature = "td")] // The Republic of Chad (Africa)
1627                IOC::CHA => "CHA",
1628                #[cfg(feature = "tg")] // The Togolese Republic (Africa)
1629                IOC::TOG => "TOG",
1630                #[cfg(feature = "th")] // The Kingdom of Thailand (Asia)
1631                IOC::THA => "THA",
1632                #[cfg(feature = "tj")] // The Republic of Tajikistan (Asia)
1633                IOC::TJK => "TJK",
1634                #[cfg(feature = "tl")] // The Democratic Republic of Timor-Leste (Asia)
1635                IOC::TLS => "TLS",
1636                #[cfg(feature = "tm")] // Turkmenistan (Asia)
1637                IOC::TKM => "TKM",
1638                #[cfg(feature = "tn")] // The Republic of Tunisia (Africa)
1639                IOC::TUN => "TUN",
1640                #[cfg(feature = "to")] // The Kingdom of Tonga (Oceania)
1641                IOC::TGA => "TGA",
1642                #[cfg(feature = "tr")] // The Republic of Türkiye (Asia)
1643                IOC::TUR => "TUR",
1644                #[cfg(feature = "tt")] // The Republic of Trinidad and Tobago (Americas)
1645                IOC::TRI => "TRI",
1646                #[cfg(feature = "tv")] // Tuvalu (Oceania)
1647                IOC::TUV => "TUV",
1648                #[cfg(feature = "tw")] // Taiwan, Province of China (Asia)
1649                IOC::TPE => "TPE",
1650                #[cfg(feature = "tz")] // The United Republic of Tanzania (Africa)
1651                IOC::TAN => "TAN",
1652                #[cfg(feature = "ua")] // Ukraine (Europe)
1653                IOC::UKR => "UKR",
1654                #[cfg(feature = "ug")] // The Republic of Uganda (Africa)
1655                IOC::UGA => "UGA",
1656                #[cfg(feature = "us")] // The United States of America (Americas)
1657                IOC::USA => "USA",
1658                #[cfg(feature = "uy")] // The Oriental Republic of Uruguay (Americas)
1659                IOC::URU => "URU",
1660                #[cfg(feature = "uz")] // The Republic of Uzbekistan (Asia)
1661                IOC::UZB => "UZB",
1662                #[cfg(feature = "vc")] // Saint Vincent and the Grenadines (Americas)
1663                IOC::VIN => "VIN",
1664                #[cfg(feature = "ve")] // The Bolivarian Republic of Venezuela (Americas)
1665                IOC::VEN => "VEN",
1666                #[cfg(feature = "vg")] // The Virgin Islands (Americas)
1667                IOC::IVB => "IVB",
1668                #[cfg(feature = "vi")] // The Virgin Islands of the United States (Americas)
1669                IOC::ISV => "ISV",
1670                #[cfg(feature = "vn")] // The Socialist Republic of Viet Nam (Asia)
1671                IOC::VIE => "VIE",
1672                #[cfg(feature = "vu")] // The Republic of Vanuatu (Oceania)
1673                IOC::VAN => "VAN",
1674                #[cfg(feature = "ws")] // The Independent State of Samoa (Oceania)
1675                IOC::SAM => "SAM",
1676                #[cfg(feature = "ye")] // The Republic of Yemen (Asia)
1677                IOC::YEM => "YEM",
1678                #[cfg(feature = "za")] // The Republic of South Africa (Africa)
1679                IOC::RSA => "RSA",
1680                #[cfg(feature = "zm")] // The Republic of Zambia (Africa)
1681                IOC::ZAM => "ZAM",
1682                #[cfg(feature = "zw")] // The Republic of Zimbabwe (Africa)
1683                IOC::ZIM => "ZIM",
1684            }
1685            .to_string()
1686        }
1687    }
1688
1689    impl TryFrom<&str> for IOC {
1690        type Error = SearchError;
1691
1692        fn try_from(value: &str) -> Result<Self, Self::Error> {
1693            if value.len() != 3 {
1694                return Err(SearchError::BadInput {
1695                    expected: "a string with three characters",
1696                });
1697            }
1698            match value.to_uppercase().as_str() {
1699                #[cfg(feature = "ad")] // The Principality of Andorra (Europe)
1700                "AND" => Ok(IOC::AND),
1701                #[cfg(feature = "ae")] // The United Arab Emirates (Asia)
1702                "UAE" => Ok(IOC::UAE),
1703                #[cfg(feature = "af")] // The Islamic Republic of Afghanistan (Asia)
1704                "AFG" => Ok(IOC::AFG),
1705                #[cfg(feature = "ag")] // Antigua and Barbuda (Americas)
1706                "ANT" => Ok(IOC::ANT),
1707                #[cfg(feature = "al")] // The Republic of Albania (Europe)
1708                "ALB" => Ok(IOC::ALB),
1709                #[cfg(feature = "am")] // The Republic of Armenia (Asia)
1710                "ARM" => Ok(IOC::ARM),
1711                #[cfg(feature = "ao")] // The Republic of Angola (Africa)
1712                "ANG" => Ok(IOC::ANG),
1713                #[cfg(feature = "ar")] // The Argentine Republic (Americas)
1714                "ARG" => Ok(IOC::ARG),
1715                #[cfg(feature = "as")] // The Territory of American Samoa (Oceania)
1716                "ASA" => Ok(IOC::ASA),
1717                #[cfg(feature = "at")] // The Republic of Austria (Europe)
1718                "AUT" => Ok(IOC::AUT),
1719                #[cfg(feature = "au")] // The Commonwealth of Australia (Oceania)
1720                "AUS" => Ok(IOC::AUS),
1721                #[cfg(feature = "aw")] // Aruba (Americas)
1722                "ARU" => Ok(IOC::ARU),
1723                #[cfg(feature = "az")] // The Republic of Azerbaijan (Asia)
1724                "AZE" => Ok(IOC::AZE),
1725                #[cfg(feature = "ba")] // Bosnia and Herzegovina (Europe)
1726                "BIH" => Ok(IOC::BIH),
1727                #[cfg(feature = "bb")] // Barbados (Americas)
1728                "BAR" => Ok(IOC::BAR),
1729                #[cfg(feature = "bd")] // The People's Republic of Bangladesh (Asia)
1730                "BAN" => Ok(IOC::BAN),
1731                #[cfg(feature = "be")] // The Kingdom of Belgium (Europe)
1732                "BEL" => Ok(IOC::BEL),
1733                #[cfg(feature = "bf")] // Burkina Faso (Africa)
1734                "BUR" => Ok(IOC::BUR),
1735                #[cfg(feature = "bg")] // The Republic of Bulgaria (Europe)
1736                "BUL" => Ok(IOC::BUL),
1737                #[cfg(feature = "bh")] // The Kingdom of Bahrain (Asia)
1738                "BRN" => Ok(IOC::BRN),
1739                #[cfg(feature = "bi")] // The Republic of Burundi (Africa)
1740                "BDI" => Ok(IOC::BDI),
1741                #[cfg(feature = "bj")] // The Republic of Benin (Africa)
1742                "BEN" => Ok(IOC::BEN),
1743                #[cfg(feature = "bm")] // Bermuda (Americas)
1744                "BER" => Ok(IOC::BER),
1745                #[cfg(feature = "bn")] // The Nation of Brunei, the Abode of Peace (Asia)
1746                "BRU" => Ok(IOC::BRU),
1747                #[cfg(feature = "bo")] // The Plurinational State of Bolivia (Americas)
1748                "BOL" => Ok(IOC::BOL),
1749                #[cfg(feature = "br")] // The Federative Republic of Brazil (Americas)
1750                "BRA" => Ok(IOC::BRA),
1751                #[cfg(feature = "bs")] // The Commonwealth of The Bahamas (Americas)
1752                "BAH" => Ok(IOC::BAH),
1753                #[cfg(feature = "bt")] // The Kingdom of Bhutan (Asia)
1754                "BHU" => Ok(IOC::BHU),
1755                #[cfg(feature = "bw")] // The Republic of Botswana (Africa)
1756                "BOT" => Ok(IOC::BOT),
1757                #[cfg(feature = "by")] // The Republic of Belarus (Europe)
1758                "BLR" => Ok(IOC::BLR),
1759                #[cfg(feature = "bz")] // Belize (Americas)
1760                "BIZ" => Ok(IOC::BIZ),
1761                #[cfg(feature = "ca")] // Canada (Americas)
1762                "CAN" => Ok(IOC::CAN),
1763                #[cfg(feature = "cd")] // The Democratic Republic of the Congo (Africa)
1764                "COD" => Ok(IOC::COD),
1765                #[cfg(feature = "cf")] // The Central African Republic (Africa)
1766                "CAF" => Ok(IOC::CAF),
1767                #[cfg(feature = "cg")] // The Republic of the Congo (Africa)
1768                "CGO" => Ok(IOC::CGO),
1769                #[cfg(feature = "ch")] // The Swiss Confederation (Europe)
1770                "SUI" => Ok(IOC::SUI),
1771                #[cfg(feature = "ci")] // The Republic of Côte d'Ivoire (Africa)
1772                "CIV" => Ok(IOC::CIV),
1773                #[cfg(feature = "ck")] // The Cook Islands (Oceania)
1774                "COK" => Ok(IOC::COK),
1775                #[cfg(feature = "cl")] // The Republic of Chile (Americas)
1776                "CHI" => Ok(IOC::CHI),
1777                #[cfg(feature = "cm")] // The Republic of Cameroon (Africa)
1778                "CMR" => Ok(IOC::CMR),
1779                #[cfg(feature = "cn")] // The People's Republic of China (Asia)
1780                "CHN" => Ok(IOC::CHN),
1781                #[cfg(feature = "co")] // The Republic of Colombia (Americas)
1782                "COL" => Ok(IOC::COL),
1783                #[cfg(feature = "cr")] // The Republic of Costa Rica (Americas)
1784                "CRC" => Ok(IOC::CRC),
1785                #[cfg(feature = "cu")] // The Republic of Cuba (Americas)
1786                "CUB" => Ok(IOC::CUB),
1787                #[cfg(feature = "cv")] // The Republic of Cabo Verde (Africa)
1788                "CPV" => Ok(IOC::CPV),
1789                #[cfg(feature = "cy")] // The Republic of Cyprus (Asia)
1790                "CYP" => Ok(IOC::CYP),
1791                #[cfg(feature = "cz")] // The Czech Republic (Europe)
1792                "CZE" => Ok(IOC::CZE),
1793                #[cfg(feature = "de")] // The Federal Republic of Germany (Europe)
1794                "GER" => Ok(IOC::GER),
1795                #[cfg(feature = "dj")] // The Republic of Djibouti (Africa)
1796                "DJI" => Ok(IOC::DJI),
1797                #[cfg(feature = "dk")] // The Kingdom of Denmark (Europe)
1798                "DEN" => Ok(IOC::DEN),
1799                #[cfg(feature = "dm")] // The Commonwealth of Dominica (Americas)
1800                "DMA" => Ok(IOC::DMA),
1801                #[cfg(feature = "do")] // The Dominican Republic (Americas)
1802                "DOM" => Ok(IOC::DOM),
1803                #[cfg(feature = "dz")] // The People's Democratic Republic of Algeria (Africa)
1804                "ALG" => Ok(IOC::ALG),
1805                #[cfg(feature = "ec")] // The Republic of Ecuador (Americas)
1806                "ECU" => Ok(IOC::ECU),
1807                #[cfg(feature = "ee")] // The Republic of Estonia (Europe)
1808                "EST" => Ok(IOC::EST),
1809                #[cfg(feature = "eg")] // The Arab Republic of Egypt (Africa)
1810                "EGY" => Ok(IOC::EGY),
1811                #[cfg(feature = "er")] // The State of Eritrea (Africa)
1812                "ERI" => Ok(IOC::ERI),
1813                #[cfg(feature = "es")] // The Kingdom of Spain (Europe)
1814                "ESP" => Ok(IOC::ESP),
1815                #[cfg(feature = "et")] // The Federal Democratic Republic of Ethiopia (Africa)
1816                "ETH" => Ok(IOC::ETH),
1817                #[cfg(feature = "fi")] // The Republic of Finland (Europe)
1818                "FIN" => Ok(IOC::FIN),
1819                #[cfg(feature = "fj")] // The Republic of Fiji (Oceania)
1820                "FIJ" => Ok(IOC::FIJ),
1821                #[cfg(feature = "fm")] // The Federated States of Micronesia (Oceania)
1822                "FSM" => Ok(IOC::FSM),
1823                #[cfg(feature = "fo")] // The Faroe Islands (Europe)
1824                "FRO" => Ok(IOC::FRO),
1825                #[cfg(feature = "fr")] // The French Republic (Europe)
1826                "FRA" => Ok(IOC::FRA),
1827                #[cfg(feature = "ga")] // The Gabonese Republic (Africa)
1828                "GAB" => Ok(IOC::GAB),
1829                #[cfg(feature = "gb")]
1830                // The United Kingdom of Great Britain and Northern Ireland (Europe)
1831                "GBR" => Ok(IOC::GBR),
1832                #[cfg(feature = "gd")] // Grenada (Americas)
1833                "GRN" => Ok(IOC::GRN),
1834                #[cfg(feature = "ge")] // Georgia (Asia)
1835                "GEO" => Ok(IOC::GEO),
1836                #[cfg(feature = "gh")] // The Republic of Ghana (Africa)
1837                "GHA" => Ok(IOC::GHA),
1838                #[cfg(feature = "gm")] // The Republic of The Gambia (Africa)
1839                "GAM" => Ok(IOC::GAM),
1840                #[cfg(feature = "gn")] // The Republic of Guinea (Africa)
1841                "GUI" => Ok(IOC::GUI),
1842                #[cfg(feature = "gq")] // The Republic of Equatorial Guinea (Africa)
1843                "GEQ" => Ok(IOC::GEQ),
1844                #[cfg(feature = "gr")] // The Hellenic Republic (Europe)
1845                "GRE" => Ok(IOC::GRE),
1846                #[cfg(feature = "gt")] // The Republic of Guatemala (Americas)
1847                "GUA" => Ok(IOC::GUA),
1848                #[cfg(feature = "gu")] // The Territory of Guam (Oceania)
1849                "GUM" => Ok(IOC::GUM),
1850                #[cfg(feature = "gw")] // The Republic of Guinea-Bissau (Africa)
1851                "GBS" => Ok(IOC::GBS),
1852                #[cfg(feature = "gy")] // The Co-operative Republic of Guyana (Americas)
1853                "GUY" => Ok(IOC::GUY),
1854                #[cfg(feature = "hk")]
1855                // The Hong Kong Special Administrative Region of China (Asia)
1856                "HKG" => Ok(IOC::HKG),
1857                #[cfg(feature = "hn")] // The Republic of Honduras (Americas)
1858                "HON" => Ok(IOC::HON),
1859                #[cfg(feature = "hr")] // The Republic of Croatia (Europe)
1860                "CRO" => Ok(IOC::CRO),
1861                #[cfg(feature = "ht")] // The Republic of Haiti (Americas)
1862                "HAI" => Ok(IOC::HAI),
1863                #[cfg(feature = "hu")] // Hungary (Europe)
1864                "HUN" => Ok(IOC::HUN),
1865                #[cfg(feature = "id")] // The Republic of Indonesia (Asia)
1866                "INA" => Ok(IOC::INA),
1867                #[cfg(feature = "ie")] // Ireland (Europe)
1868                "IRL" => Ok(IOC::IRL),
1869                #[cfg(feature = "il")] // The State of Israel (Asia)
1870                "ISR" => Ok(IOC::ISR),
1871                #[cfg(feature = "in")] // The Republic of India (Asia)
1872                "IND" => Ok(IOC::IND),
1873                #[cfg(feature = "iq")] // The Republic of Iraq (Asia)
1874                "IRQ" => Ok(IOC::IRQ),
1875                #[cfg(feature = "ir")] // The Islamic Republic of Iran (Asia)
1876                "IRI" => Ok(IOC::IRI),
1877                #[cfg(feature = "is")] // Iceland (Europe)
1878                "ISL" => Ok(IOC::ISL),
1879                #[cfg(feature = "it")] // The Italian Republic (Europe)
1880                "ITA" => Ok(IOC::ITA),
1881                #[cfg(feature = "jm")] // Jamaica (Americas)
1882                "JAM" => Ok(IOC::JAM),
1883                #[cfg(feature = "jo")] // The Hashemite Kingdom of Jordan (Asia)
1884                "JOR" => Ok(IOC::JOR),
1885                #[cfg(feature = "jp")] // Japan (Asia)
1886                "JPN" => Ok(IOC::JPN),
1887                #[cfg(feature = "ke")] // The Republic of Kenya (Africa)
1888                "KEN" => Ok(IOC::KEN),
1889                #[cfg(feature = "kg")] // The Kyrgyz Republic (Asia)
1890                "KGZ" => Ok(IOC::KGZ),
1891                #[cfg(feature = "kh")] // The Kingdom of Cambodia (Asia)
1892                "CAM" => Ok(IOC::CAM),
1893                #[cfg(feature = "ki")] // The Republic of Kiribati (Oceania)
1894                "KIR" => Ok(IOC::KIR),
1895                #[cfg(feature = "km")] // The Union of the Comoros (Africa)
1896                "COM" => Ok(IOC::COM),
1897                #[cfg(feature = "kn")] // Saint Kitts and Nevis (Americas)
1898                "SKN" => Ok(IOC::SKN),
1899                #[cfg(feature = "kp")] // The Democratic People's Republic of Korea (Asia)
1900                "PRK" => Ok(IOC::PRK),
1901                #[cfg(feature = "kr")] // The Republic of Korea (Asia)
1902                "KOR" => Ok(IOC::KOR),
1903                #[cfg(feature = "kw")] // The State of Kuwait (Asia)
1904                "KUW" => Ok(IOC::KUW),
1905                #[cfg(feature = "ky")] // The Cayman Islands (Americas)
1906                "CAY" => Ok(IOC::CAY),
1907                #[cfg(feature = "kz")] // The Republic of Kazakhstan (Asia)
1908                "KAZ" => Ok(IOC::KAZ),
1909                #[cfg(feature = "la")] // The Lao People's Democratic Republic (Asia)
1910                "LAO" => Ok(IOC::LAO),
1911                #[cfg(feature = "lb")] // The Lebanese Republic (Asia)
1912                "LIB" => Ok(IOC::LIB),
1913                #[cfg(feature = "lc")] // Saint Lucia (Americas)
1914                "LCA" => Ok(IOC::LCA),
1915                #[cfg(feature = "li")] // The Principality of Liechtenstein (Europe)
1916                "LIE" => Ok(IOC::LIE),
1917                #[cfg(feature = "lk")] // The Democratic Socialist Republic of Sri Lanka (Asia)
1918                "SRI" => Ok(IOC::SRI),
1919                #[cfg(feature = "lr")] // The Republic of Liberia (Africa)
1920                "LBR" => Ok(IOC::LBR),
1921                #[cfg(feature = "ls")] // The Kingdom of Lesotho (Africa)
1922                "LES" => Ok(IOC::LES),
1923                #[cfg(feature = "lt")] // The Republic of Lithuania (Europe)
1924                "LTU" => Ok(IOC::LTU),
1925                #[cfg(feature = "lu")] // The Grand Duchy of Luxembourg (Europe)
1926                "LUX" => Ok(IOC::LUX),
1927                #[cfg(feature = "lv")] // The Republic of Latvia (Europe)
1928                "LAT" => Ok(IOC::LAT),
1929                #[cfg(feature = "ly")] // The State of Libya (Africa)
1930                "LBA" => Ok(IOC::LBA),
1931                #[cfg(feature = "ma")] // The Kingdom of Morocco (Africa)
1932                "MAR" => Ok(IOC::MAR),
1933                #[cfg(feature = "mc")] // The Principality of Monaco (Europe)
1934                "MON" => Ok(IOC::MON),
1935                #[cfg(feature = "md")] // The Republic of Moldova (Europe)
1936                "MDA" => Ok(IOC::MDA),
1937                #[cfg(feature = "me")] // Montenegro (Europe)
1938                "MNE" => Ok(IOC::MNE),
1939                #[cfg(feature = "mg")] // The Republic of Madagascar (Africa)
1940                "MAD" => Ok(IOC::MAD),
1941                #[cfg(feature = "mh")] // The Republic of the Marshall Islands (Oceania)
1942                "MHL" => Ok(IOC::MHL),
1943                #[cfg(feature = "mk")] // The Republic of North Macedonia (Europe)
1944                "MKD" => Ok(IOC::MKD),
1945                #[cfg(feature = "ml")] // The Republic of Mali (Africa)
1946                "MLI" => Ok(IOC::MLI),
1947                #[cfg(feature = "mm")] // The Republic of the Union of Myanmar (Asia)
1948                "MYA" => Ok(IOC::MYA),
1949                #[cfg(feature = "mn")] // Mongolia (Asia)
1950                "MGL" => Ok(IOC::MGL),
1951                #[cfg(feature = "mr")] // The Islamic Republic of Mauritania (Africa)
1952                "MTN" => Ok(IOC::MTN),
1953                #[cfg(feature = "mt")] // The Republic of Malta (Europe)
1954                "MLT" => Ok(IOC::MLT),
1955                #[cfg(feature = "mu")] // The Republic of Mauritius (Africa)
1956                "MRI" => Ok(IOC::MRI),
1957                #[cfg(feature = "mv")] // The Republic of Maldives (Asia)
1958                "MDV" => Ok(IOC::MDV),
1959                #[cfg(feature = "mw")] // The Republic of Malawi (Africa)
1960                "MAW" => Ok(IOC::MAW),
1961                #[cfg(feature = "mx")] // The United Mexican States (Americas)
1962                "MEX" => Ok(IOC::MEX),
1963                #[cfg(feature = "my")] // Malaysia (Asia)
1964                "MAS" => Ok(IOC::MAS),
1965                #[cfg(feature = "mz")] // The Republic of Mozambique (Africa)
1966                "MOZ" => Ok(IOC::MOZ),
1967                #[cfg(feature = "na")] // The Republic of Namibia (Africa)
1968                "NAM" => Ok(IOC::NAM),
1969                #[cfg(feature = "ne")] // The Republic of the Niger (Africa)
1970                "NIG" => Ok(IOC::NIG),
1971                #[cfg(feature = "ng")] // The Federal Republic of Nigeria (Africa)
1972                "NGR" => Ok(IOC::NGR),
1973                #[cfg(feature = "ni")] // The Republic of Nicaragua (Americas)
1974                "NCA" => Ok(IOC::NCA),
1975                #[cfg(feature = "nl")] // The Kingdom of the Netherlands (Europe)
1976                "NED" => Ok(IOC::NED),
1977                #[cfg(feature = "no")] // The Kingdom of Norway (Europe)
1978                "NOR" => Ok(IOC::NOR),
1979                #[cfg(feature = "np")] // The Federal Democratic Republic of Nepal (Asia)
1980                "NEP" => Ok(IOC::NEP),
1981                #[cfg(feature = "nr")] // The Republic of Nauru (Oceania)
1982                "NRU" => Ok(IOC::NRU),
1983                #[cfg(feature = "nz")] // New Zealand (Oceania)
1984                "NZL" => Ok(IOC::NZL),
1985                #[cfg(feature = "om")] // The Sultanate of Oman (Asia)
1986                "OMA" => Ok(IOC::OMA),
1987                #[cfg(feature = "pa")] // The Republic of Panamá (Americas)
1988                "PAN" => Ok(IOC::PAN),
1989                #[cfg(feature = "pe")] // The Republic of Perú (Americas)
1990                "PER" => Ok(IOC::PER),
1991                #[cfg(feature = "pg")] // The Independent State of Papua New Guinea (Oceania)
1992                "PNG" => Ok(IOC::PNG),
1993                #[cfg(feature = "ph")] // The Republic of the Philippines (Asia)
1994                "PHI" => Ok(IOC::PHI),
1995                #[cfg(feature = "pk")] // The Islamic Republic of Pakistan (Asia)
1996                "PAK" => Ok(IOC::PAK),
1997                #[cfg(feature = "pl")] // The Republic of Poland (Europe)
1998                "POL" => Ok(IOC::POL),
1999                #[cfg(feature = "pr")] // The Commonwealth of Puerto Rico (Americas)
2000                "PUR" => Ok(IOC::PUR),
2001                #[cfg(feature = "ps")] // The State of Palestine (Asia)
2002                "PLE" => Ok(IOC::PLE),
2003                #[cfg(feature = "pt")] // The Portuguese Republic (Europe)
2004                "POR" => Ok(IOC::POR),
2005                #[cfg(feature = "pw")] // The Republic of Palau (Oceania)
2006                "PLW" => Ok(IOC::PLW),
2007                #[cfg(feature = "py")] // The Republic of Paraguay (Americas)
2008                "PAR" => Ok(IOC::PAR),
2009                #[cfg(feature = "qa")] // The State of Qatar (Asia)
2010                "QAT" => Ok(IOC::QAT),
2011                #[cfg(feature = "ro")] // Romania (Europe)
2012                "ROU" => Ok(IOC::ROU),
2013                #[cfg(feature = "rs")] // The Republic of Serbia (Europe)
2014                "SRB" => Ok(IOC::SRB),
2015                #[cfg(feature = "ru")] // The Russian Federation (Europe)
2016                "RUS" => Ok(IOC::RUS),
2017                #[cfg(feature = "rw")] // The Republic of Rwanda (Africa)
2018                "RWA" => Ok(IOC::RWA),
2019                #[cfg(feature = "sa")] // The Kingdom of Saudi Arabia (Asia)
2020                "KSA" => Ok(IOC::KSA),
2021                #[cfg(feature = "sb")] // The Solomon Islands (Oceania)
2022                "SOL" => Ok(IOC::SOL),
2023                #[cfg(feature = "sc")] // The Republic of Seychelles (Africa)
2024                "SEY" => Ok(IOC::SEY),
2025                #[cfg(feature = "sd")] // The Republic of the Sudan (Africa)
2026                "SUD" => Ok(IOC::SUD),
2027                #[cfg(feature = "se")] // The Kingdom of Sweden (Europe)
2028                "SWE" => Ok(IOC::SWE),
2029                #[cfg(feature = "sg")] // The Republic of Singapore (Asia)
2030                "SGP" => Ok(IOC::SGP),
2031                #[cfg(feature = "si")] // The Republic of Slovenia (Europe)
2032                "SLO" => Ok(IOC::SLO),
2033                #[cfg(feature = "sk")] // The Slovak Republic (Europe)
2034                "SVK" => Ok(IOC::SVK),
2035                #[cfg(feature = "sl")] // The Republic of Sierra Leone (Africa)
2036                "SLE" => Ok(IOC::SLE),
2037                #[cfg(feature = "sm")] // The Republic of San Marino (Europe)
2038                "SMR" => Ok(IOC::SMR),
2039                #[cfg(feature = "sn")] // The Republic of Senegal (Africa)
2040                "SEN" => Ok(IOC::SEN),
2041                #[cfg(feature = "so")] // The Federal Republic of Somalia (Africa)
2042                "SOM" => Ok(IOC::SOM),
2043                #[cfg(feature = "sr")] // The Republic of Suriname (Americas)
2044                "SUR" => Ok(IOC::SUR),
2045                #[cfg(feature = "st")] // The Democratic Republic of São Tomé and Príncipe (Africa)
2046                "STP" => Ok(IOC::STP),
2047                #[cfg(feature = "sv")] // The Republic of El Salvador (Americas)
2048                "ESA" => Ok(IOC::ESA),
2049                #[cfg(feature = "sy")] // The Syrian Arab Republic (Asia)
2050                "SYR" => Ok(IOC::SYR),
2051                #[cfg(feature = "sz")] // The Kingdom of Eswatini (Africa)
2052                "SWZ" => Ok(IOC::SWZ),
2053                #[cfg(feature = "td")] // The Republic of Chad (Africa)
2054                "CHA" => Ok(IOC::CHA),
2055                #[cfg(feature = "tg")] // The Togolese Republic (Africa)
2056                "TOG" => Ok(IOC::TOG),
2057                #[cfg(feature = "th")] // The Kingdom of Thailand (Asia)
2058                "THA" => Ok(IOC::THA),
2059                #[cfg(feature = "tj")] // The Republic of Tajikistan (Asia)
2060                "TJK" => Ok(IOC::TJK),
2061                #[cfg(feature = "tl")] // The Democratic Republic of Timor-Leste (Asia)
2062                "TLS" => Ok(IOC::TLS),
2063                #[cfg(feature = "tm")] // Turkmenistan (Asia)
2064                "TKM" => Ok(IOC::TKM),
2065                #[cfg(feature = "tn")] // The Republic of Tunisia (Africa)
2066                "TUN" => Ok(IOC::TUN),
2067                #[cfg(feature = "to")] // The Kingdom of Tonga (Oceania)
2068                "TGA" => Ok(IOC::TGA),
2069                #[cfg(feature = "tr")] // The Republic of Türkiye (Asia)
2070                "TUR" => Ok(IOC::TUR),
2071                #[cfg(feature = "tt")] // The Republic of Trinidad and Tobago (Americas)
2072                "TRI" => Ok(IOC::TRI),
2073                #[cfg(feature = "tv")] // Tuvalu (Oceania)
2074                "TUV" => Ok(IOC::TUV),
2075                #[cfg(feature = "tw")] // Taiwan, Province of China (Asia)
2076                "TPE" => Ok(IOC::TPE),
2077                #[cfg(feature = "tz")] // The United Republic of Tanzania (Africa)
2078                "TAN" => Ok(IOC::TAN),
2079                #[cfg(feature = "ua")] // Ukraine (Europe)
2080                "UKR" => Ok(IOC::UKR),
2081                #[cfg(feature = "ug")] // The Republic of Uganda (Africa)
2082                "UGA" => Ok(IOC::UGA),
2083                #[cfg(feature = "us")] // The United States of America (Americas)
2084                "USA" => Ok(IOC::USA),
2085                #[cfg(feature = "uy")] // The Oriental Republic of Uruguay (Americas)
2086                "URU" => Ok(IOC::URU),
2087                #[cfg(feature = "uz")] // The Republic of Uzbekistan (Asia)
2088                "UZB" => Ok(IOC::UZB),
2089                #[cfg(feature = "vc")] // Saint Vincent and the Grenadines (Americas)
2090                "VIN" => Ok(IOC::VIN),
2091                #[cfg(feature = "ve")] // The Bolivarian Republic of Venezuela (Americas)
2092                "VEN" => Ok(IOC::VEN),
2093                #[cfg(feature = "vg")] // The Virgin Islands (Americas)
2094                "IVB" => Ok(IOC::IVB),
2095                #[cfg(feature = "vi")] // The Virgin Islands of the United States (Americas)
2096                "ISV" => Ok(IOC::ISV),
2097                #[cfg(feature = "vn")] // The Socialist Republic of Viet Nam (Asia)
2098                "VIE" => Ok(IOC::VIE),
2099                #[cfg(feature = "vu")] // The Republic of Vanuatu (Oceania)
2100                "VAN" => Ok(IOC::VAN),
2101                #[cfg(feature = "ws")] // The Independent State of Samoa (Oceania)
2102                "SAM" => Ok(IOC::SAM),
2103                #[cfg(feature = "ye")] // The Republic of Yemen (Asia)
2104                "YEM" => Ok(IOC::YEM),
2105                #[cfg(feature = "za")] // The Republic of South Africa (Africa)
2106                "RSA" => Ok(IOC::RSA),
2107                #[cfg(feature = "zm")] // The Republic of Zambia (Africa)
2108                "ZAM" => Ok(IOC::ZAM),
2109                #[cfg(feature = "zw")] // The Republic of Zimbabwe (Africa)
2110                "ZIM" => Ok(IOC::ZIM),
2111                _ => Err(make_search_error()),
2112            }
2113        }
2114    }
2115}
2116#[cfg(not(any(
2117    feature = "ad",
2118    feature = "ae",
2119    feature = "af",
2120    feature = "ag",
2121    feature = "al",
2122    feature = "am",
2123    feature = "ao",
2124    feature = "ar",
2125    feature = "as",
2126    feature = "at",
2127    feature = "au",
2128    feature = "aw",
2129    feature = "az",
2130    feature = "ba",
2131    feature = "bb",
2132    feature = "bd",
2133    feature = "be",
2134    feature = "bf",
2135    feature = "bg",
2136    feature = "bh",
2137    feature = "bi",
2138    feature = "bj",
2139    feature = "bm",
2140    feature = "bn",
2141    feature = "bo",
2142    feature = "br",
2143    feature = "bs",
2144    feature = "bt",
2145    feature = "bw",
2146    feature = "by",
2147    feature = "bz",
2148    feature = "ca",
2149    feature = "cd",
2150    feature = "cf",
2151    feature = "cg",
2152    feature = "ch",
2153    feature = "ci",
2154    feature = "ck",
2155    feature = "cl",
2156    feature = "cm",
2157    feature = "cn",
2158    feature = "co",
2159    feature = "cr",
2160    feature = "cu",
2161    feature = "cv",
2162    feature = "cy",
2163    feature = "cz",
2164    feature = "de",
2165    feature = "dj",
2166    feature = "dk",
2167    feature = "dm",
2168    feature = "do",
2169    feature = "dz",
2170    feature = "ec",
2171    feature = "ee",
2172    feature = "eg",
2173    feature = "er",
2174    feature = "es",
2175    feature = "et",
2176    feature = "fi",
2177    feature = "fj",
2178    feature = "fm",
2179    feature = "fo",
2180    feature = "fr",
2181    feature = "ga",
2182    feature = "gb",
2183    feature = "gd",
2184    feature = "ge",
2185    feature = "gh",
2186    feature = "gm",
2187    feature = "gn",
2188    feature = "gq",
2189    feature = "gr",
2190    feature = "gt",
2191    feature = "gu",
2192    feature = "gw",
2193    feature = "gy",
2194    feature = "hk",
2195    feature = "hn",
2196    feature = "hr",
2197    feature = "ht",
2198    feature = "hu",
2199    feature = "id",
2200    feature = "ie",
2201    feature = "il",
2202    feature = "in",
2203    feature = "iq",
2204    feature = "ir",
2205    feature = "is",
2206    feature = "it",
2207    feature = "jm",
2208    feature = "jo",
2209    feature = "jp",
2210    feature = "ke",
2211    feature = "kg",
2212    feature = "kh",
2213    feature = "ki",
2214    feature = "km",
2215    feature = "kn",
2216    feature = "kp",
2217    feature = "kr",
2218    feature = "kw",
2219    feature = "ky",
2220    feature = "kz",
2221    feature = "la",
2222    feature = "lb",
2223    feature = "lc",
2224    feature = "li",
2225    feature = "lk",
2226    feature = "lr",
2227    feature = "ls",
2228    feature = "lt",
2229    feature = "lu",
2230    feature = "lv",
2231    feature = "ly",
2232    feature = "ma",
2233    feature = "mc",
2234    feature = "md",
2235    feature = "me",
2236    feature = "mg",
2237    feature = "mh",
2238    feature = "mk",
2239    feature = "ml",
2240    feature = "mm",
2241    feature = "mn",
2242    feature = "mr",
2243    feature = "mt",
2244    feature = "mu",
2245    feature = "mv",
2246    feature = "mw",
2247    feature = "mx",
2248    feature = "my",
2249    feature = "mz",
2250    feature = "na",
2251    feature = "ne",
2252    feature = "ng",
2253    feature = "ni",
2254    feature = "nl",
2255    feature = "no",
2256    feature = "np",
2257    feature = "nr",
2258    feature = "nz",
2259    feature = "om",
2260    feature = "pa",
2261    feature = "pe",
2262    feature = "pg",
2263    feature = "ph",
2264    feature = "pk",
2265    feature = "pl",
2266    feature = "pr",
2267    feature = "ps",
2268    feature = "pt",
2269    feature = "pw",
2270    feature = "py",
2271    feature = "qa",
2272    feature = "ro",
2273    feature = "rs",
2274    feature = "ru",
2275    feature = "rw",
2276    feature = "sa",
2277    feature = "sb",
2278    feature = "sc",
2279    feature = "sd",
2280    feature = "se",
2281    feature = "sg",
2282    feature = "si",
2283    feature = "sk",
2284    feature = "sl",
2285    feature = "sm",
2286    feature = "sn",
2287    feature = "so",
2288    feature = "sr",
2289    feature = "st",
2290    feature = "sv",
2291    feature = "sy",
2292    feature = "sz",
2293    feature = "td",
2294    feature = "tg",
2295    feature = "th",
2296    feature = "tj",
2297    feature = "tl",
2298    feature = "tm",
2299    feature = "tn",
2300    feature = "to",
2301    feature = "tr",
2302    feature = "tt",
2303    feature = "tv",
2304    feature = "tw",
2305    feature = "tz",
2306    feature = "ua",
2307    feature = "ug",
2308    feature = "us",
2309    feature = "uy",
2310    feature = "uz",
2311    feature = "vc",
2312    feature = "ve",
2313    feature = "vg",
2314    feature = "vi",
2315    feature = "vn",
2316    feature = "vu",
2317    feature = "ws",
2318    feature = "ye",
2319    feature = "za",
2320    feature = "zm",
2321    feature = "zw",
2322)))]
2323mod impls {
2324    use super::IOC;
2325    use crate::{Alpha2, Country, SearchError};
2326
2327    impl IOC {
2328        pub fn to_alpha2(&self) -> Alpha2 {
2329            unimplemented!("No country feature with IOC code is used");
2330        }
2331
2332        pub fn to_country(&self) -> Country {
2333            unimplemented!("No country feature with IOC code is used");
2334        }
2335    }
2336
2337    impl ToString for IOC {
2338        fn to_string(&self) -> String {
2339            unimplemented!("No country feature with IOC code is used");
2340        }
2341    }
2342
2343    impl TryFrom<&str> for IOC {
2344        type Error = SearchError;
2345        fn try_from(_value: &str) -> Result<Self, Self::Error> {
2346            unimplemented!("No country feature with IOC code is used");
2347        }
2348    }
2349}