@grnsft/if 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/coverage/clover.xml +132 -1118
  2. package/coverage/coverage-final.json +9 -26
  3. package/coverage/lcov-report/config/config.ts.html +3 -66
  4. package/coverage/lcov-report/config/index.html +15 -15
  5. package/coverage/lcov-report/config/index.ts.html +3 -3
  6. package/coverage/lcov-report/config/strings.ts.html +82 -19
  7. package/coverage/lcov-report/index.html +36 -231
  8. package/coverage/lcov-report/lib/index.html +43 -13
  9. package/coverage/lcov-report/lib/models-universe.ts.html +433 -0
  10. package/coverage/lcov-report/lib/observatory.ts.html +187 -0
  11. package/coverage/lcov-report/lib/supercomputer.ts.html +553 -0
  12. package/coverage/lcov-report/util/args.ts.html +23 -8
  13. package/coverage/lcov-report/util/errors.ts.html +157 -0
  14. package/coverage/lcov-report/util/index.html +20 -50
  15. package/coverage/lcov-report/util/yaml.ts.html +17 -11
  16. package/coverage/lcov.info +225 -2004
  17. package/examples/impls/test/sci.yml +37 -13
  18. package/package.json +4 -3
  19. package/tsconfig.build.tsbuildinfo +1 -1
  20. package/build/config/config.d.ts +0 -9
  21. package/build/config/config.js +0 -51
  22. package/build/lib/observatory.d.ts +0 -20
  23. package/build/lib/observatory.js +0 -31
  24. package/build/types/model-interface.d.ts +0 -16
  25. package/build/types/model-interface.js +0 -3
  26. package/build/types/process-args.d.ts +0 -7
  27. package/build/types/process-args.js +0 -3
  28. package/build/types/supercomputer.d.ts +0 -4
  29. package/build/types/supercomputer.js +0 -3
  30. package/build/util/args.js +0 -48
  31. package/build/util/errors.d.ts +0 -6
  32. package/build/util/errors.js +0 -22
  33. package/build/util/helpers.js +0 -18
  34. package/src/__mocks__/boavizta/countries.json +0 -138
  35. package/src/__mocks__/boavizta/instance_types.json +0 -625
  36. package/src/__mocks__/boavizta/providers.json +0 -1
  37. package/src/__mocks__/watt-time/data.json +0 -119
  38. package/yarn-error.log +0 -5854
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseProcessArgument = void 0;
4
- const path = require("path");
5
- const ts_command_line_args_1 = require("ts-command-line-args");
6
- const yaml_1 = require("./yaml");
7
- const errors_1 = require("./errors");
8
- const config_1 = require("../config");
9
- const { CliInputError } = errors_1.ERRORS;
10
- const { impact } = config_1.CONFIG;
11
- const { ARGS, HELP } = impact;
12
- const { FILE_IS_NOT_YAML, IMPL_IS_MISSING } = config_1.STRINGS;
13
- /**
14
- * Validates process arguments
15
- * @private
16
- */
17
- const validateAndParseProcessArgs = () => (0, ts_command_line_args_1.parse)(ARGS);
18
- /**
19
- * Prepends process path to fiven `filePath`.
20
- * @private
21
- */
22
- const prependFullFilePath = (filePath) => {
23
- const processRunningPath = process.cwd();
24
- return path.normalize(`${processRunningPath}/${filePath}`);
25
- };
26
- /**
27
- * Parses process argument, if it's `yaml` file, then returns it.
28
- * Otherwise throws error.
29
- */
30
- const parseProcessArgument = () => {
31
- const { impl, ompl, help } = validateAndParseProcessArgs();
32
- if (help) {
33
- console.log(HELP);
34
- return;
35
- }
36
- if (impl) {
37
- if ((0, yaml_1.checkIfFileIsYaml)(impl)) {
38
- return {
39
- inputPath: prependFullFilePath(impl),
40
- ...(ompl && { outputPath: prependFullFilePath(ompl) }),
41
- };
42
- }
43
- throw new CliInputError(FILE_IS_NOT_YAML);
44
- }
45
- throw new CliInputError(IMPL_IS_MISSING);
46
- };
47
- exports.parseProcessArgument = parseProcessArgument;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLCtEQUEyQztBQUUzQyxpQ0FBeUM7QUFDekMscUNBQWdDO0FBRWhDLHNDQUEwQztBQUkxQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDeEIsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxNQUFNLENBQUM7QUFFNUIsTUFBTSxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDRCQUFLLEVBQW9CLElBQUksQ0FBQyxDQUFDO0FBRXpFOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFekMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsa0JBQWtCLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRXpELElBQUksSUFBSSxFQUFFO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksRUFBRTtRQUNSLElBQUksSUFBQSx3QkFBaUIsRUFBQyxJQUFJLENBQUMsRUFBRTtZQUMzQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBQyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQzthQUNyRCxDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDM0M7SUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQXBCVyxRQUFBLG9CQUFvQix3QkFvQi9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7cGFyc2V9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcblxuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi95YW1sJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICcuL2Vycm9ycyc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge2ltcGFjdFByb2Nlc3NBcmdzfSBmcm9tICcuLi90eXBlcy9wcm9jZXNzLWFyZ3MnO1xuXG5jb25zdCB7Q2xpSW5wdXRFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtpbXBhY3R9ID0gQ09ORklHO1xuY29uc3Qge0FSR1MsIEhFTFB9ID0gaW1wYWN0O1xuXG5jb25zdCB7RklMRV9JU19OT1RfWUFNTCwgSU1QTF9JU19NSVNTSU5HfSA9IFNUUklOR1M7XG5cbi8qKlxuICogVmFsaWRhdGVzIHByb2Nlc3MgYXJndW1lbnRzXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiBwYXJzZTxpbXBhY3RQcm9jZXNzQXJncz4oQVJHUyk7XG5cbi8qKlxuICogUHJlcGVuZHMgcHJvY2VzcyBwYXRoIHRvIGZpdmVuIGBmaWxlUGF0aGAuXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBwcmVwZW5kRnVsbEZpbGVQYXRoID0gKGZpbGVQYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcHJvY2Vzc1J1bm5pbmdQYXRoID0gcHJvY2Vzcy5jd2QoKTtcblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudCwgaWYgaXQncyBgeWFtbGAgZmlsZSwgdGhlbiByZXR1cm5zIGl0LlxuICogT3RoZXJ3aXNlIHRocm93cyBlcnJvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlUHJvY2Vzc0FyZ3VtZW50ID0gKCkgPT4ge1xuICBjb25zdCB7aW1wbCwgb21wbCwgaGVscH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoaGVscCkge1xuICAgIGNvbnNvbGUubG9nKEhFTFApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpbXBsKSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKGltcGwpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgoaW1wbCksXG4gICAgICAgIC4uLihvbXBsICYmIHtvdXRwdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG9tcGwpfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoSU1QTF9JU19NSVNTSU5HKTtcbn07XG4iXX0=
@@ -1,6 +0,0 @@
1
- declare const CUSTOM_ERRORS: readonly ["CliInputError", "ImplValidationError", "ModelInitializationError", "ModelCredentialError"];
2
- type CustomErrors = {
3
- [K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
4
- };
5
- export declare const ERRORS: CustomErrors;
6
- export {};
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERRORS = void 0;
4
- const CUSTOM_ERRORS = [
5
- 'CliInputError',
6
- 'ImplValidationError',
7
- 'ModelInitializationError',
8
- 'ModelCredentialError',
9
- ];
10
- exports.ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
11
- acc = {
12
- ...acc,
13
- [className]: class extends Error {
14
- constructor(message) {
15
- super(message);
16
- this.name = this.constructor.name;
17
- }
18
- },
19
- };
20
- return acc;
21
- }, {});
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLHNCQUFzQjtDQUNkLENBQUM7QUFNRSxRQUFBLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFO0lBQzVELEdBQUcsR0FBRztRQUNKLEdBQUcsR0FBRztRQUNOLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBTSxTQUFRLEtBQUs7WUFDOUIsWUFBWSxPQUFlO2dCQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQyxDQUFDO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQUUsRUFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ1VTVE9NX0VSUk9SUyA9IFtcbiAgJ0NsaUlucHV0RXJyb3InLFxuICAnSW1wbFZhbGlkYXRpb25FcnJvcicsXG4gICdNb2RlbEluaXRpYWxpemF0aW9uRXJyb3InLFxuICAnTW9kZWxDcmVkZW50aWFsRXJyb3InLFxuXSBhcyBjb25zdDtcblxudHlwZSBDdXN0b21FcnJvcnMgPSB7XG4gIFtLIGluICh0eXBlb2YgQ1VTVE9NX0VSUk9SUylbbnVtYmVyXV06IEVycm9yQ29uc3RydWN0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgRVJST1JTID0gQ1VTVE9NX0VSUk9SUy5yZWR1Y2UoKGFjYywgY2xhc3NOYW1lKSA9PiB7XG4gIGFjYyA9IHtcbiAgICAuLi5hY2MsXG4gICAgW2NsYXNzTmFtZV06IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICAgICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gYWNjO1xufSwge30gYXMgQ3VzdG9tRXJyb3JzKTtcbiJdfQ==
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.andHandle = void 0;
4
- const errors_1 = require("./errors");
5
- const config_1 = require("../config");
6
- const { ISSUE_TEMPLATE } = config_1.STRINGS;
7
- /**
8
- * Impact engine error handler. Logs errors and appends issue template if error is unknown.
9
- */
10
- const andHandle = (error) => {
11
- const knownErrors = Object.keys(errors_1.ERRORS);
12
- console.error(error);
13
- if (!knownErrors.includes(error.name)) {
14
- console.log(ISSUE_TEMPLATE);
15
- }
16
- };
17
- exports.andHandle = andHandle;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWdDO0FBRWhDLHNDQUFrQztBQUVsQyxNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVqQzs7R0FFRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7SUFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFNLENBQUMsQ0FBQztJQUV4QyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQzdCO0FBQ0gsQ0FBQyxDQUFDO0FBUlcsUUFBQSxTQUFTLGFBUXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5jb25zdCB7SVNTVUVfVEVNUExBVEV9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBJbXBhY3QgZW5naW5lIGVycm9yIGhhbmRsZXIuIExvZ3MgZXJyb3JzIGFuZCBhcHBlbmRzIGlzc3VlIHRlbXBsYXRlIGlmIGVycm9yIGlzIHVua25vd24uXG4gKi9cbmV4cG9ydCBjb25zdCBhbmRIYW5kbGUgPSAoZXJyb3I6IEVycm9yKSA9PiB7XG4gIGNvbnN0IGtub3duRXJyb3JzID0gT2JqZWN0LmtleXMoRVJST1JTKTtcblxuICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICBpZiAoIWtub3duRXJyb3JzLmluY2x1ZGVzKGVycm9yLm5hbWUpKSB7XG4gICAgY29uc29sZS5sb2coSVNTVUVfVEVNUExBVEUpO1xuICB9XG59O1xuIl19
@@ -1,138 +0,0 @@
1
- {
2
- "0-Global": "WOR",
3
- "1-Europe": "EEE",
4
- "Albania": "ALB",
5
- "Algeria": "DZA",
6
- "Angola": "AGO",
7
- "Argentina": "ARG",
8
- "Armenia": "ARM",
9
- "Australia": "AUS",
10
- "Austria": "AUT",
11
- "Azerbaijan": "AZE",
12
- "Bahrain": "BHR",
13
- "Bangladesh": "BGD",
14
- "Belarus": "BLR",
15
- "Belgium": "BEL",
16
- "Benin": "BEN",
17
- "Bolivia": "BOL",
18
- "Bosnia and Herzegovina": "BIH",
19
- "Botswana": "BWA",
20
- "Brazil": "BRA",
21
- "Brunei": "BRN",
22
- "Bulgaria": "BGR",
23
- "Cambodia": "KHM",
24
- "Cameroon": "CMR",
25
- "Canada": "CAN",
26
- "Chile": "CHL",
27
- "China": "CHN",
28
- "Colombia": "COL",
29
- "Congo": "COG",
30
- "Costa Rica": "CRI",
31
- "Croatia": "HRV",
32
- "Cuba": "CUB",
33
- "Cyprus": "CYP",
34
- "Czech Republic": "CZE",
35
- "Denmark": "DNK",
36
- "Dominican Republic": "DOM",
37
- "DR Congo": "COD",
38
- "Ecuador": "ECU",
39
- "Egypt": "EGY",
40
- "El Salvador": "SLV",
41
- "Eritrea": "ERI",
42
- "Estonia": "EST",
43
- "Ethiopia": "ETH",
44
- "Finland": "FIN",
45
- "France": "FRA",
46
- "Gabon": "GAB",
47
- "Georgia": "GEO",
48
- "Germany": "DEU",
49
- "Ghana": "GHA",
50
- "Greece": "GRC",
51
- "Guatemala": "GTM",
52
- "Haiti": "HTI",
53
- "Honduras": "HND",
54
- "Hungary": "HUN",
55
- "Iceland": "ISL",
56
- "India": "IND",
57
- "Indonesia": "IDN",
58
- "Iran": "IRN",
59
- "Iraq": "IRQ",
60
- "Ireland": "IRL",
61
- "Israel": "ISR",
62
- "Italy": "ITA",
63
- "Ivory Coast": "CIV",
64
- "Jamaica": "JAM",
65
- "Japan": "JPN",
66
- "Jordan": "JOR",
67
- "Kazakhstan": "KAZ",
68
- "Kenya": "KEN",
69
- "Kuwait": "KWT",
70
- "Kyrgyzstan": "KGZ",
71
- "Latvia": "LVA",
72
- "Lebanon": "LBN",
73
- "Libyan Arab Jamahiriya": "LBY",
74
- "Lithuania": "LTU",
75
- "Luxembourg": "LUX",
76
- "Malaysia": "MYS",
77
- "Malta": "MLT",
78
- "Mexico": "MEX",
79
- "Moldova": "MDA",
80
- "Mongolia": "MNG",
81
- "Morocco": "MAR",
82
- "Mozambique": "MOZ",
83
- "Myanmar": "MMR",
84
- "Namibia": "NAM",
85
- "Nepal": "NPL",
86
- "Netherlands": "NLD",
87
- "New Zealand": "NZL",
88
- "Nicaragua": "NIC",
89
- "Nigeria": "NGA",
90
- "North Korea": "PRK",
91
- "North Macedonia": "MKD",
92
- "Norway": "NOR",
93
- "Oman": "OMN",
94
- "Pakistan": "PAK",
95
- "Panama": "PAN",
96
- "Paraguay": "PRY",
97
- "Peru": "PER",
98
- "Philippines": "PHL",
99
- "Poland": "POL",
100
- "Portugal": "PRT",
101
- "Qatar": "QAT",
102
- "Romania": "ROU",
103
- "Russian Federation": "RUS",
104
- "Saudi Arabia": "SAU",
105
- "Senegal": "SEN",
106
- "Serbia": "SCG",
107
- "Singapore": "SGP",
108
- "Slovakia": "SVK",
109
- "Slovenia": "SVN",
110
- "South Africa": "ZAF",
111
- "South Korea": "KOR",
112
- "Spain": "ESP",
113
- "Sri Lanka": "LKA",
114
- "Sudan": "SDN",
115
- "Sweden": "SWE",
116
- "Switzerland": "CHE",
117
- "Syrian Arab Republic": "SYR",
118
- "Taiwan": "TWN",
119
- "Tajikistan": "TJK",
120
- "Tanzania": "TZA",
121
- "Thailand": "THA",
122
- "Togo": "TGO",
123
- "Trinidad and Tobago": "TTO",
124
- "Tunisia": "TUN",
125
- "Turkey": "TUR",
126
- "Turkmenistan": "TKM",
127
- "Ukraine": "UKR",
128
- "United Arab Emirates": "ARE",
129
- "United Kingdom": "GBR",
130
- "United States of America": "USA",
131
- "Uruguay": "URY",
132
- "Uzbekistan": "UZB",
133
- "Venezuela": "VEN",
134
- "Vietnam": "VNM",
135
- "Yemen": "YEM",
136
- "Zambia": "ZMB",
137
- "Zimbabwe": "ZWE"
138
- }