@portll/cobolwork 0.2.117 → 0.2.150

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 (51) hide show
  1. package/README.md +13 -1
  2. package/THIRD-PARTY-NOTICES.md +3 -2
  3. package/bin/cobolwork.mjs +16 -1
  4. package/lib/baseline.mjs +8 -6
  5. package/lib/bms.mjs +1 -1
  6. package/lib/capabilities.mjs +2 -1
  7. package/lib/cards.mjs +66 -0
  8. package/lib/cics-commands.mjs +136 -125
  9. package/lib/compliance.mjs +6 -5
  10. package/lib/control.mjs +295 -6
  11. package/lib/dataflow.mjs +72 -88
  12. package/lib/diff.mjs +65 -89
  13. package/lib/embedded-sql.mjs +110 -0
  14. package/lib/equivalence.mjs +30 -12
  15. package/lib/evidence/journal.mjs +11 -2
  16. package/lib/evidence/record.mjs +3 -1
  17. package/lib/evidence/slsa.mjs +17 -2
  18. package/lib/execution.mjs +77 -0
  19. package/lib/explain.mjs +5 -4
  20. package/lib/ftp.mjs +136 -0
  21. package/lib/inventory.mjs +8 -9
  22. package/lib/ironwork.mjs +4 -6
  23. package/lib/jcl.mjs +29 -54
  24. package/lib/kernel/git.mjs +60 -0
  25. package/lib/kernel/identity.mjs +7 -6
  26. package/lib/kernel/source-tree.mjs +204 -34
  27. package/lib/layout.mjs +202 -0
  28. package/lib/parser.mjs +58 -207
  29. package/lib/precompile.mjs +5 -88
  30. package/lib/revision.json +1 -1
  31. package/lib/sbom.mjs +125 -13
  32. package/lib/scan.mjs +11 -4
  33. package/lib/sets/build.mjs +1 -1
  34. package/lib/sets/cics.mjs +32 -5
  35. package/lib/sets/copybook.mjs +2 -1
  36. package/lib/sets/hidden.mjs +4 -8
  37. package/lib/sets/jcl.mjs +17 -120
  38. package/lib/sets/priv.mjs +1 -1
  39. package/lib/sets/recon.mjs +3 -2
  40. package/lib/sets/semantics.mjs +1 -1
  41. package/lib/sets/vendor.mjs +1 -1
  42. package/lib/sets/zowe.mjs +34 -8
  43. package/lib/site.mjs +17 -7
  44. package/lib/sources.mjs +82 -38
  45. package/lib/utilities.mjs +146 -4
  46. package/package.json +1 -1
  47. package/rules/compliance-cobit2019.json +2438 -0
  48. package/rules/compliance-dora.json +1 -1
  49. package/rules/compliance-ffiec.json +1 -1
  50. package/rules/compliance-nist80053.json +1 -1
  51. package/schema/cobolwork.policy.schema.json +94 -17
package/README.md CHANGED
@@ -187,6 +187,11 @@ since a test that missed the route does not show it safe.
187
187
  `summary.handling`, because it is then a list of what to attack first. Upload it only where the RACF
188
188
  facts behind it may go. [docs/spec/reach.md](docs/spec/reach.md) §9 is the full specification.
189
189
 
190
+ `COBOLWORK_EXECUTION` names reports `ironwork run --coverage` wrote from runs of the estate's own
191
+ tests. A finding inside a paragraph they cover carries `executed`, the paragraph and how often the
192
+ runs entered it, and `summary.byExecution` counts the findings in paragraphs entered and never
193
+ entered ([docs/spec/evidence.md](docs/spec/evidence.md) §13.5).
194
+
190
195
  ### What each finding lets someone do, and the fix
191
196
 
192
197
  A defect finding carries two more facts, the same for every finding of its rule: what someone can do
@@ -339,13 +344,20 @@ the guard off, it just stops the host's load from deciding. A spawned scan inher
339
344
 
340
345
  ## Compliance
341
346
 
342
- Every rule is mapped to the clause of each framework that makes it an obligation, quoted verbatim:
347
+ Every rule is mapped to the clause of each framework that makes it an obligation, quoted verbatim,
348
+ and to a COBIT 2019 practice by identifier alone:
343
349
 
344
350
  | File | Instrument | Rules mapped |
345
351
  |---|---|---|
346
352
  | `rules/compliance-dora.json` | Regulation (EU) 2022/2554 (DORA) | 203 |
347
353
  | `rules/compliance-ffiec.json` | FFIEC IT Examination Handbook | 201, and 2 recorded as unmapped |
348
354
  | `rules/compliance-nist80053.json` | NIST SP 800-53 Rev. 5.2.0 | 201, and 2 recorded as unmapped |
355
+ | `rules/compliance-cobit2019.json` | COBIT 2019 (ISACA), identifiers only | 201, and 2 recorded as unmapped |
356
+
357
+ A COBIT 2019 row names the objective or practice and gives this project's own rationale; no ISACA
358
+ text is reproduced, so reading what a practice says needs a copy of the framework. The practice is
359
+ chosen at the NIST control, through a crosswalk in `diag/map-compliance.mjs`, so it cannot drift
360
+ from the rule's NIST clause.
349
361
 
350
362
  `node diag/map-compliance.mjs` refuses to write a quote the cached instrument does not contain, and
351
363
  every scan carries the mapping as `ruleCompliance`. The clause choice is a judgement that no
@@ -89,8 +89,9 @@ its source URL and retrieval date:
89
89
  - **NIST SP 800-53 Rev. 5** — a work of the US Government.
90
90
  - **FFIEC IT Examination Handbook** — a work of the US Government.
91
91
 
92
- PCI DSS and the COBIT-derived SOX material are deliberately absent: they may not be redistributed,
93
- so they belong in a licensed feed rather than in this repository. Full instrument texts are never
92
+ COBIT 2019 appears as objective and practice identifiers only, with this project's own rationale;
93
+ no text of COBIT, which is ISACA's, is reproduced. PCI DSS is deliberately absent: it may not be
94
+ redistributed. Full instrument texts are never
94
95
  committed (`feed/sources/` is ignored); the feed ships citations, not text.
95
96
 
96
97
  ## Vulnerability data
package/bin/cobolwork.mjs CHANGED
@@ -16,6 +16,8 @@ import { build, buildSarif, buildSummaryLine } from '../lib/build.mjs';
16
16
  import { capabilities } from '../lib/capabilities.mjs';
17
17
  import { commitAt, revisionOf, toolRevision } from '../lib/revision.mjs';
18
18
  import { stampFingerprints } from '../lib/kernel/identity.mjs';
19
+ import { pdsExportTree } from '../lib/kernel/source-tree.mjs';
20
+ import { SITE_FILE } from '../lib/site.mjs';
19
21
  import { tally } from '../lib/kernel/findings.mjs';
20
22
  import { loadBaseline, applyBaseline, baselineEntries, BASELINE_FILE, SUPPRESSING } from '../lib/baseline.mjs';
21
23
  import { readReport } from '../lib/tui/model.mjs';
@@ -86,6 +88,9 @@ Options
86
88
  baseline: the judgement each new entry records, and which rules it covers
87
89
  --advisories <file>[,<file>] a customer's own advisory extract (JSON), loaded for this scan only;
88
90
  never kept in the tree
91
+ --pds-export scan: the directory holds partitioned data sets' members as files, as
92
+ zowe zos-files download all-members writes them (hlq/llq/member.txt) or in a
93
+ directory named for each data set; findings name DATA.SET/MEMBER
89
94
  --copylib <dir>[,<dir>] copy libraries the estate keeps outside the repository, searched after the
90
95
  tree's own copybooks, as COBCPY is; a copybook found there is read, not reported missing
91
96
  --report <file> tui, explain: read a stored scan report instead of scanning
@@ -150,6 +155,7 @@ function parseArgs(argv) {
150
155
  else if (a === '--action') opts.action = value();
151
156
  else if (a === '--rule') opts.rule = list();
152
157
  else if (a === '--advisories') opts.advisoryFeeds = [...new Set(list().map(x => resolve(x)))];
158
+ else if (a === '--pds-export') opts.pdsExport = true;
153
159
  else if (a === '--copylib') opts.copylib = [...new Set(list().map(x => resolve(x)))];
154
160
  else if (a === '--report') opts.report = value();
155
161
  else if (a === '--keys') opts.keys = value();
@@ -198,6 +204,7 @@ function warnCoverage(report) {
198
204
  }
199
205
 
200
206
  const isLink = (p) => { try { return lstatSync(p).isSymbolicLink(); } catch { return false; } };
207
+ const isFile = (p) => { try { return statSync(p).isFile(); } catch { return false; } };
201
208
 
202
209
  let journal = null;
203
210
 
@@ -262,6 +269,8 @@ if (opts.copylib && opts._.length && !COPYLIB_COMMANDS.includes(opts._[0])) {
262
269
  const notDirs = (opts.copylib || []).filter((d) => { try { return !statSync(d).isDirectory(); } catch { return true; } });
263
270
  if (notDirs.length) { process.stderr.write(`cobolwork: --copylib ${notDirs.join(', ')} is not a directory\n`); process.exit(2); }
264
271
  const systemDirs = opts.copylib || [];
272
+ if (opts.pdsExport && opts._.length && opts._[0] !== 'scan') { process.stderr.write('cobolwork: --pds-export is for scan only\n'); process.exit(2); }
273
+ if (opts.pdsExport && opts.repos) { process.stderr.write('cobolwork: --pds-export reads one export; --repos does not apply\n'); process.exit(2); }
265
274
  if (opts.json && opts._.length && opts._[0] !== 'capabilities') {
266
275
  process.stderr.write(`cobolwork: --json is for capabilities; every other command writes JSON unless --format says otherwise\n`);
267
276
  process.exit(2);
@@ -332,7 +341,13 @@ try {
332
341
  process.exitCode = evidenceCommand(target, opts, { toolVersion: VERSION, write: (s) => process.stdout.write(s) });
333
342
  } else if (command === 'scan' || command === 'flow') {
334
343
  const flowOpts = { repos, fullTrace: opts.fullTrace === true, systemDirs };
335
- const report = command === 'flow' ? scanFlow(root, flowOpts) : scanAll(root, { ...flowOpts, only: opts.only, advisoryFeeds: opts.advisoryFeeds });
344
+ // The site file sits beside the members and is not one of them, so it is named rather than found.
345
+ const site = resolve(root, SITE_FILE);
346
+ const pds = opts.pdsExport ? pdsExportTree(root, { systemDirs }) : null;
347
+ const report = command === 'flow' ? scanFlow(root, flowOpts)
348
+ : pds ? scanAll(pds.root, { ...flowOpts, only: opts.only, advisoryFeeds: opts.advisoryFeeds, tree: pds, feedRoot: root, site: isFile(site) && !isLink(site) ? site : null })
349
+ : scanAll(root, { ...flowOpts, only: opts.only, advisoryFeeds: opts.advisoryFeeds });
350
+ if (pds) report.summary.pdsExport = pds.export;
336
351
  if (command === 'flow') {
337
352
  report.summary.identity = stampFingerprints(report.findings, { root });
338
353
  stampFingerprints(report.checked, { root });
package/lib/baseline.mjs CHANGED
@@ -16,7 +16,7 @@
16
16
  // because the finding it would hide is evidence that the tree is not to be trusted. A baseline
17
17
  // passed from outside the tree can.
18
18
  import { readFileSync, existsSync } from 'node:fs';
19
- import { join } from 'node:path';
19
+ import { join, resolve } from 'node:path';
20
20
  import { tally } from './kernel/findings.mjs';
21
21
  import { resolvesInside } from './kernel/source-tree.mjs';
22
22
  import { printable } from './kernel/printable.mjs';
@@ -54,22 +54,24 @@ export function validateEntry(e) {
54
54
 
55
55
  // { path, source, entries, problems }. An absent file is an empty baseline, not an error; an
56
56
  // unreadable one is a problem the report carries, never a silent empty.
57
- export function loadBaseline(root, { explicit = null, use = true, mayBeAbsent = false } = {}) {
57
+ // A source tree held in memory (a git revision) supplies its own baseline file.
58
+ export function loadBaseline(root, { explicit = null, use = true, mayBeAbsent = false, tree = null } = {}) {
58
59
  if (!use) return null;
59
- const path = explicit || join(root, BASELINE_FILE);
60
- if (!existsSync(path)) {
60
+ const held = !explicit && tree && tree.kind !== 'directory';
61
+ const path = explicit || (held ? resolve(tree.root, BASELINE_FILE) : join(root, BASELINE_FILE));
62
+ if (held ? !tree.contains(path) : !existsSync(path)) {
61
63
  if (!explicit) return null;
62
64
  if (mayBeAbsent) return { path, source: 'explicit', entries: [], problems: [] };
63
65
  return { path, source: 'explicit', entries: [], problems: [`${path} does not exist, so nothing was suppressed`] };
64
66
  }
65
67
  const out = { path, source: explicit ? 'explicit' : 'tree', entries: [], problems: [] };
66
68
  // The tree's own baseline is the tree's, and a link out of it is not followed.
67
- if (!explicit && !resolvesInside(root, path)) {
69
+ if (!explicit && !held && !resolvesInside(root, path)) {
68
70
  out.problems.push(`${BASELINE_FILE} is a link that leads outside the tree, so nothing was suppressed`);
69
71
  return out;
70
72
  }
71
73
  let raw;
72
- try { raw = JSON.parse(readFileSync(path, 'utf8')); } catch (err) {
74
+ try { raw = JSON.parse(held ? tree.bytes(path).toString('utf8') : readFileSync(path, 'utf8')); } catch (err) {
73
75
  out.problems.push(`${path} is not readable as JSON: ${printable(err.message, 120)}`);
74
76
  return out;
75
77
  }
package/lib/bms.mjs CHANGED
@@ -15,7 +15,7 @@
15
15
  //
16
16
  // This reads text and opens nothing; the caller reads the file through the source tree, so
17
17
  // containment stays where it is enforced.
18
- import { parseOperands, splitOperands } from './jcl.mjs';
18
+ import { parseOperands, splitOperands } from './cards.mjs';
19
19
 
20
20
  // Column 72 marks a continuation and 73 to 80 are the sequence field, so a statement ends at 71.
21
21
  const END_COLUMN = 71;
@@ -17,7 +17,7 @@ export const CAPABILITIES_SCHEMA_VERSION = 1;
17
17
 
18
18
  // Each command, what it takes and what it writes.
19
19
  export const COMMANDS = {
20
- scan: { args: ['<path>'], options: ['--format', '--out', '--repos', '--only', '--quiet', '--full-trace', '--baseline', '--no-baseline', '--advisories', '--copylib', '--evidence'], documents: ['cobolwork', 'sarif'] },
20
+ scan: { args: ['<path>'], options: ['--format', '--out', '--repos', '--only', '--quiet', '--full-trace', '--baseline', '--no-baseline', '--advisories', '--copylib', '--pds-export', '--evidence'], documents: ['cobolwork', 'sarif'] },
21
21
  flow: { args: ['<path>'], options: ['--out', '--repos', '--quiet', '--full-trace', '--baseline', '--no-baseline', '--copylib', '--evidence'], documents: ['cobolwork-flow'] },
22
22
  inventory: { args: ['<path>'], options: ['--out', '--quiet', '--copylib', '--evidence'], documents: ['cobolwork-inventory'] },
23
23
  parse: { args: ['<file>'], options: ['--out'], documents: ['cobolwork-parse'] },
@@ -68,6 +68,7 @@ export function capabilities() {
68
68
  jcl: JCL_EXT,
69
69
  bms: BMS_EXT,
70
70
  extensionless: 'sniffed by content: a file with no extension is classified by what it holds',
71
+ pdsExport: 'scan --pds-export: every member classified by content, whatever extension the download gave it; text, --binary and --record downloads',
71
72
  zowe: ['zowe.config.json', 'zowe.config.user.json', '.mcp.json', '.vscode/mcp.json', '.cursor/mcp.json', '.claude/settings.json', '.claude/settings.local.json', '.gemini/settings.json', 'claude_desktop_config.json', '.vscode/settings.json', 'systems.json under a mock directory'],
72
73
  },
73
74
  evidenceKinds: Object.keys(EVIDENCE),
package/lib/cards.mjs ADDED
@@ -0,0 +1,66 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // Card-image source: where a line's fields sit on the card, and how an operand field splits. COBOL
3
+ // in fixed or variable reference format has a sequence area (columns 1-6), an indicator (7), program
4
+ // text (8-72, or 8-250 in variable format) and what follows, which the compiler ignores. A JCL or
5
+ // utility control statement is columns 1-72, with its sequence number after. Free-format COBOL is
6
+ // text from end to end.
7
+
8
+ export const TEXT_END = { fixed: 72, variable: 250 };
9
+ export const STATEMENT_END = 72;
10
+
11
+ export function cobolCard(line, format) {
12
+ const end = TEXT_END[format];
13
+ if (!end) return { sequence: '', indicator: '', text: line, ignored: '' };
14
+ return { sequence: line.slice(0, 6), indicator: line[6] || ' ', text: line.slice(7, end), ignored: line.slice(end) };
15
+ }
16
+
17
+ export function statementCard(line) {
18
+ return { text: line.slice(0, STATEMENT_END), sequence: line.slice(STATEMENT_END) };
19
+ }
20
+
21
+ // Splits an operand field on commas that are not inside parentheses or quotes. JCL, BMS and HLASM nest
22
+ // both, and a naive split on comma turns DISP=(NEW,CATLG,DELETE) into three operands.
23
+ export function splitOperands(s) {
24
+ const out = [];
25
+ let depth = 0, quoted = false, start = 0;
26
+ for (let i = 0; i < s.length; i++) {
27
+ const c = s[i];
28
+ if (quoted) { if (c === "'") { if (s[i + 1] === "'") i++; else quoted = false; } continue; }
29
+ if (c === "'") quoted = true;
30
+ else if (c === '(') depth++;
31
+ else if (c === ')') depth = Math.max(0, depth - 1);
32
+ else if (c === ',' && depth === 0) { out.push(s.slice(start, i)); start = i + 1; }
33
+ }
34
+ out.push(s.slice(start));
35
+ return out.filter((x, i, a) => x.length || i < a.length - 1);
36
+ }
37
+
38
+ // Operands are positional until the first KEY=VALUE, and keyword after it: JCL's EXEC takes its
39
+ // procedure name positionally, and everything interesting on a DD is a keyword.
40
+ export function parseOperands(field) {
41
+ const positional = [];
42
+ const keywords = new Map();
43
+ for (const raw of splitOperands(field)) {
44
+ const part = raw.trim();
45
+ if (!part) continue;
46
+ const eq = keywordSplit(part);
47
+ if (eq < 0) positional.push(part);
48
+ else keywords.set(part.slice(0, eq).toUpperCase(), part.slice(eq + 1));
49
+ }
50
+ return { positional, keywords };
51
+ }
52
+
53
+ // The first '=' that is not inside parentheses or quotes. DCB=(RECFM=FB,LRECL=80) is one keyword
54
+ // whose value happens to contain more of them.
55
+ function keywordSplit(part) {
56
+ let depth = 0, quoted = false;
57
+ for (let i = 0; i < part.length; i++) {
58
+ const c = part[i];
59
+ if (quoted) { if (c === "'") { if (part[i + 1] === "'") i++; else quoted = false; } continue; }
60
+ if (c === "'") quoted = true;
61
+ else if (c === '(') depth++;
62
+ else if (c === ')') depth = Math.max(0, depth - 1);
63
+ else if (c === '=' && depth === 0) return i;
64
+ }
65
+ return -1;
66
+ }
@@ -106,45 +106,48 @@ export const DFHRESP = {
106
106
 
107
107
  export const DFHVALUE = {
108
108
  ABEND: 900, ACQFAIL: 515, ACQUIRED: 69, ACQUIRING: 71, ACTIVE: 181, ACTIVITY: 1002, ADD: 291,
109
- ADDABLE: 41, ADDFAIL: 519, ADVANCE: 265, AINIT: 282, ALARM: 501, ALL: 856, ALLCONN: 169,
110
- ALLOCATD: 81, ALLOCATED: 81, ALLQUERY: 431, ALLVALUES: 860, ALTERABLE: 52, ALTERNATE: 197,
111
- ALTPRTCOPY: 446, ANALYZER: 1126, AND: 1005, ANY: 158, APLKYBD: 391, APLTEXT: 393, APPC: 124,
112
- APPCPARALLEL: 374, APPCSINGLE: 373, APPEND: 1036, APPLICATION: 559, APPLID: 303, APPLNAME: 338,
113
- ASACTL: 224, ASCII7: 616, ASCII8: 617, ASSEMBLER: 150, ASSERTED: 1104, ASYNCHRONOUS: 570, ATI: 75,
114
- ATOM: 1119, ATOMSERVICE: 1179, ATTACH: 576, ATTENTION: 524, ATTLSAWARE: 1205, AUDALARM: 395,
115
- AUTOACTIVE: 630, AUTOARCH: 262, AUTOAUTH: 1095, AUTOCONN: 170, AUTOINACTIVE: 631, AUTOINIT: 284,
116
- AUTOINSTALL: 1140, AUTOPAGE: 80, AUTOPAGEABLE: 80, AUTOREGISTER: 1094, AUTOSTART: 618,
117
- AUTOTERMID: 1120, AUXILIARY: 247, AUXPAUSE: 313, AUXSTART: 312, AUXSTOP: 314, AVAILABLE: 95,
118
- BACKOUT: 192, BACKTRANS: 397, BACKUPNONBWO: 800, BASE: 10, BASE64: 50, BASEAPI: 1052,
119
- BASESPACE: 664, BASICAUTH: 1092, BDAM: 2, BEGINSESSION: 510, BELOW: 159, BGAM: 63, BINARY: 1038,
120
- BINIT: 283, BIT: 1020, BLK: 47, BLOCKED: 16, BOTH: 1100, BRIDGE: 935, BROWSABLE: 39, BSAM: 61,
121
- BTAM: 62, BUNDLE: 1180, BUSY: 612, C: 149, CACHE: 791, CANCEL: 526, CANCELLED: 624,
122
- CANCELLING: 1025, CAPTURESPEC: 1195, CATEGORY: 474, CBE: 582, CBER: 581, CCE: 583, CD: 491,
123
- CEDF: 370, CERTIFICAUTH: 1093, CERTUSER: 1061, CFE: 584, CFTABLE: 833, CGROUP: 902, CHANNEL: 1047,
124
- CHAR: 1019, CHUNKEND: 737, CHUNKNO: 735, CHUNKYES: 736, CICS: 660, CICSAPI: 1052,
109
+ ADDABLE: 41, ADDFAIL: 519, ADDRESS: 859, ADVANCE: 265, AINIT: 282, ALARM: 501, ALL: 856,
110
+ ALLCONN: 169, ALLOCATD: 81, ALLOCATED: 81, ALLQUERY: 431, ALLVALUES: 860, ALTERABLE: 52,
111
+ ALTERNATE: 197, ALTPRTCOPY: 446, ANALYZER: 1126, AND: 1005, ANY: 158, APLKYBD: 391, APLTEXT: 393,
112
+ APPC: 124, APPCPARALLEL: 374, APPCSINGLE: 373, APPEND: 1036, APPLICATION: 559, APPLID: 303,
113
+ APPLNAME: 338, ASACTL: 224, ASCII7: 616, ASCII8: 617, ASRUNTRAN: 1209, ASSEMBLER: 150,
114
+ ASSERTED: 1104, ASYNCHRONOUS: 570, ASYNCSERVICE: 1213, ATI: 75, ATOM: 1119, ATOMSERVICE: 1179,
115
+ ATTACH: 576, ATTENTION: 524, ATTLSAWARE: 1205, AUDALARM: 395, AUTOACTIVE: 630, AUTOARCH: 262,
116
+ AUTOAUTH: 1095, AUTOCONN: 170, AUTOINACTIVE: 631, AUTOINIT: 284, AUTOINSTALL: 1140, AUTOPAGE: 80,
117
+ AUTOPAGEABLE: 80, AUTOREGISTER: 1094, AUTOSTART: 618, AUTOTERMID: 1120, AUXILIARY: 247,
118
+ AUXPAUSE: 313, AUXSTART: 312, AUXSTOP: 314, AVAILABLE: 95, AWARE: 1256, BACKOUT: 192,
119
+ BACKTRANS: 397, BACKUPNONBWO: 800, BASE: 10, BASE64: 50, BASEAPI: 1052, BASESPACE: 664,
120
+ BASICAUTH: 1092, BDAM: 2, BEGINSESSION: 510, BELOW: 159, BGAM: 63, BINARY: 1038, BINIT: 283,
121
+ BIT: 1020, BLK: 47, BLOCKED: 16, BOTH: 1100, BRIDGE: 935, BROWSABLE: 39, BSAM: 61, BTAM: 62,
122
+ BUNDLE: 1180, BUSY: 612, C: 149, CACHE: 791, CANCEL: 526, CANCELLED: 624, CANCELLING: 1025,
123
+ CAPTURESPEC: 1195, CATEGORY: 474, CBE: 582, CBER: 581, CCE: 583, CD: 491, CEDF: 370,
124
+ CERTIFICAUTH: 1093, CERTUSER: 1061, CFE: 584, CFTABLE: 833, CGROUP: 902, CHANNEL: 1047,
125
+ CHAR: 1019, CHECK: 1241, CHUNKEND: 737, CHUNKNO: 735, CHUNKYES: 736, CICS: 660, CICSAPI: 1052,
125
126
  CICSDATAKEY: 379, CICSECURITY: 195, CICSEXECKEY: 381, CICSTABLE: 101, CKOPEN: 1055,
126
127
  CLASSCACHE: 1075, CLEAR: 640, CLICONVERT: 743, CLIENT: 1122, CLIENTAUTH: 1032, CLIENTCERT: 1087,
127
128
  CLOSE: 741, CLOSED: 19, CLOSEFAILED: 349, CLOSELEAVE: 261, CLOSEREQ: 22, CLOSEREQUEST: 22,
128
129
  CLOSING: 21, CLOUD: 848, CMDPROT: 673, CMDSECEXT: 207, CMDSECNO: 205, CMDSECYES: 207, COBOL: 151,
129
130
  COBOLII: 375, COLD: 788, COLDACQ: 72, COLDQUERY: 433, COLDSTART: 266, COLLECTION: 473, COLOR: 399,
130
131
  COMMAREA: 1048, COMMIT: 208, COMMITFAIL: 792, COMPAT: 107, COMPLETE: 1026, COMPOSITE: 1003,
131
- COMPRESS: 1130, CONFFREE: 82, CONFRECEIVE: 83, CONFRECV: 83, CONFSEND: 84, CONNECT: 903,
132
- CONNECTED: 690, CONNECTING: 904, CONNECTION: 755, CONSISTENT: 723, CONSOLE: 66, CONTAINER: 869,
133
- CONTENTION: 836, CONTEXT: 574, CONTROLSHUT: 623, CONVERSE: 600, CONVIDLE: 518, COORDINATOR: 770,
134
- COPID: 908, COPY: 401, CORBA: 1101, CORBASERVER: 1141, CPLUSPLUS: 148, CREATE: 67, CREATESPI: 844,
135
- CRITICAL: 11, CSDAPI: 840, CSDBATCH: 841, CSIGN: 905, CTERM: 906, CTLGALL: 632, CTLGMODIFY: 633,
136
- CTLGNONE: 634, CTRLABLE: 56, CTX: 907, CURRENT: 260, CURRENTPGM: 870, CUSERID: 909, CUSTOM: 579,
137
- DAE: 684, DAEOPT: 684, DATA: 508, DATASET: 756, DATASETFULL: 793, DATASTREAM: 543, DB2CONN: 1142,
138
- DB2ENTRY: 1143, DB2TRAN: 1184, DBTRAN: 1184, DEADLOCK: 794, DEBUG: 1082, DEC: 46, DEFAULT: 198,
139
- DEFAULTUSER: 1070, DEFINITION: 990, DEFRESP1: 497, DEFRESP1OR2: 528, DEFRESP2: 498, DEFRESP3: 499,
140
- DELAY: 637, DELETABLE: 43, DELETE: 292, DELETEFAIL: 520, DELEXITERROR: 795, DEREGERROR: 679,
141
- DEREGISTERED: 678, DEST: 235, DISABLED: 24, DISABLEDHOST: 1125, DISABLING: 25, DISCARDFAIL: 513,
142
- DISCARDING: 1118, DISCONNING: 910, DISCREQ: 444, DISK1: 252, DISK2: 253, DISK2PAUSE: 254,
143
- DISPATCHABLE: 228, DISPATCHER: 1144, DJAR: 1189, DOCDELETE: 295, DOCTEMPLATE: 1145,
144
- DOESNOTEQUAL: 861, DOESNOTEXIST: 872, DOESNOTSTART: 862, DORMANT: 1024, DPLSUBSET: 383,
145
- DRAINING: 619, DREPAPI: 843, DREPBATCH: 845, DS3270: 615, DUALCASE: 403, DUMMY: 781,
146
- DUPERROR: 106, DUPNOREPLACE: 105, DUPREPLACE: 104, DYNAMIC: 178, EB: 490, EBCDIC: 1039, ECI: 1098,
147
- EJB: 1102, EMERGENCY: 268, EMPTY: 210, EMPTYREQ: 31, ENABLED: 23, ENABLING: 51, ENDAFFINITY: 790,
132
+ COMPRESS: 1130, CONFFREE: 82, CONFIG: 1232, CONFRECEIVE: 83, CONFRECV: 83, CONFSEND: 84,
133
+ CONNECT: 903, CONNECTED: 690, CONNECTING: 904, CONNECTION: 755, CONSISTENT: 723, CONSOLE: 66,
134
+ CONTAINER: 869, CONTENTION: 836, CONTEXT: 574, CONTROLSHUT: 623, CONVERSE: 600, CONVIDLE: 518,
135
+ COORDINATOR: 770, COPID: 908, COPY: 401, CORBA: 1101, CORBASERVER: 1141, CPLUSPLUS: 148,
136
+ CREATE: 67, CREATESPI: 844, CRITICAL: 11, CSDAPI: 840, CSDBATCH: 841, CSIGN: 905, CTERM: 906,
137
+ CTLGALL: 632, CTLGMODIFY: 633, CTLGNONE: 634, CTRLABLE: 56, CTX: 907, CURRENT: 260,
138
+ CURRENTPGM: 870, CUSERID: 909, CUSTOM: 579, DAE: 684, DAEOPT: 684, DATA: 508, DATASET: 756,
139
+ DATASETFULL: 793, DATASTREAM: 543, DB2CONN: 1142, DB2ENTRY: 1143, DB2TRAN: 1184, DBTRAN: 1184,
140
+ DEADLOCK: 794, DEBUG: 1082, DEC: 46, DEFAULT: 198, DEFAULTUSER: 1070, DEFINITION: 990,
141
+ DEFRESP1: 497, DEFRESP1OR2: 528, DEFRESP2: 498, DEFRESP3: 499, DELAY: 637, DELETABLE: 43,
142
+ DELETE: 292, DELETEFAIL: 520, DELEXITERROR: 795, DEREGERROR: 679, DEREGISTERED: 678, DEST: 235,
143
+ DIAGNOSTICS: 1231, DISABLED: 24, DISABLEDHOST: 1125, DISABLING: 25, DISCARD: 1254,
144
+ DISCARDFAIL: 513, DISCARDING: 1118, DISCONNECT: 1247, DISCONNING: 910, DISCOVER: 1252,
145
+ DISCREQ: 444, DISK1: 252, DISK2: 253, DISK2PAUSE: 254, DISPATCHABLE: 228, DISPATCHER: 1144,
146
+ DJAR: 1189, DOCDELETE: 295, DOCTEMPLATE: 1145, DOESNOTEQUAL: 861, DOESNOTEXIST: 872,
147
+ DOESNOTSTART: 862, DORMANT: 1024, DPLSUBSET: 383, DRAINING: 619, DREPAPI: 843, DREPBATCH: 845,
148
+ DS3270: 615, DSIE: 1206, DUALCASE: 403, DUMMY: 781, DUMP: 1223, DUMPCODE: 1218, DUPERROR: 106,
149
+ DUPNOREPLACE: 105, DUPREPLACE: 104, DYNAMIC: 178, EB: 490, EBCDIC: 1039, ECI: 1098, EJB: 1102,
150
+ EMERGENCY: 268, EMPTY: 210, EMPTYREQ: 31, ENABLED: 23, ENABLING: 51, ENDAFFINITY: 790,
148
151
  ENQMODEL: 1188, ENQUEUE: 1146, ENTRYPOINT: 993, EPADAPTER: 1196, EPADAPTERSET: 1200, EQUAL: 911,
149
152
  EQUALS: 863, ESDS: 5, EVENT: 334, EVENTBINDING: 1191, EVENTPROCESS: 1192, EVENTUAL: 3,
150
153
  EXCEPT: 332, EXCEPTRESP: 523, EXCI: 650, EXCTL: 48, EXECENQ: 751, EXECENQADDR: 752,
@@ -155,116 +158,124 @@ export const DFHVALUE = {
155
158
  FIXED: 12, FLUSH: 783, FMH: 502, FMHPARM: 385, FOPEN: 272, FORCE: 342, FORCECANCEL: 655,
156
159
  FORCECLOSE: 351, FORCECLOSING: 353, FORCED: 1013, FORCEPURGE: 237, FORCLOSING: 353,
157
160
  FORMATEDF: 606, FORMATTED: 542, FORMFEED: 407, FOUTPUT: 271, FREE: 85, FREEING: 94, FROMEPR: 850,
158
- FULL: 212, FULLAPI: 384, FULLAUTO: 1073, FWDRECOVABLE: 354, GENERIC: 651, GET: 748, GMT: 604,
159
- GOHIGHERTHAN: 873, GOINGOUT: 172, GOLOWERTHAN: 874, GREATERTHAN: 864, GROUP: 913,
160
- GROUPRESYNC: 947, GRPLIST: 842, GTFSTART: 317, GTFSTOP: 318, HEAD: 750, HEURBACKOUT: 758,
161
- HEURCOMMIT: 757, HEX: 45, HFORM: 409, HFSFILE: 1040, HIGH: 914, HILIGHT: 413, HOLD: 163,
162
- HOME: 1103, HOSTNAME: 302, HTTP: 1096, HTTPNO: 1034, HTTPS: 1029, HTTPYES: 1033, IDENTIFY: 1074,
163
- IDNTY: 328, IGNORE: 1, IGNORERR: 816, IIOP: 1097, IMMCLOSE: 350, IMMCLOSING: 352, IMMEDIATE: 2,
164
- IMMQUIESCED: 706, IMPORT: 992, INACTIVE: 378, INBOUND: 547, INCOMPLETE: 1014, INDEXRECFULL: 796,
165
- INDIRECT: 122, INDOUBT: 620, INFLIGHT: 621, INITCOMPLETE: 628, INITIAL: 789, INITING: 1112,
166
- INOUT: 532, INPUT: 226, INSERVICE: 73, INSTALLED: 550, INSTALLFAIL: 512, INTERNAL: 1058,
167
- INTRA: 222, INTSTART: 310, INTSTOP: 311, INVALID: 359, IOERROR: 797, IPCONN: 1176, IPECI: 936,
168
- IPIC: 1089, IPV4: 300, IPV6: 301, IRC: 121, ISNOTGREATER: 865, ISNOTLESS: 866, ISOLATE: 658,
169
- JAVA: 147, JOURNALMODEL: 1185, JOURNALNAME: 1147, JOURNALNUM: 1148, JVM: 1080, JVMPOOL: 1149,
170
- JVMPROFILE: 1150, JVMPROGRAM: 1151, JVMSERVER: 1193, KATAKANA: 415, KEEP: 786, KERBEROS: 1105,
171
- KEYED: 8, KILL: 232, KSDS: 6, LCKSTRUCFULL: 832, LE370: 377, LEAVE: 811, LESSTHAN: 867,
172
- LIBRARY: 1177, LIC: 493, LIGHTPEN: 417, LINK: 577, LOAD: 834, LOC24: 159, LOC31: 158, LOCAL: 605,
173
- LOCKING: 837, LOG: 54, LOGICAL: 216, LOGREPLICATE: 1198, LOGTERM: 269, LOSE: 544, LOW: 915,
174
- LPA: 165, LSRPOOL: 1152, LU61: 125, LUP: 541, LUSTAT: 525, LUW: 246, MAIN: 248, MAP: 155,
175
- MAPSET: 155, MCHCTL: 241, MDT: 506, MESSAGEID: 1197, METADATA: 857, MIXED: 403, MNPS: 999,
176
- MOD: 813, MODE24: 190, MODE31: 191, MODEANY: 189, MODEL: 370, MONITOR: 1153, MORE: 492,
177
- MQCONN: 1175, MRO: 938, MSRCONTROL: 419, MTOM: 460, MTOMNOXOP: 469, MVS: 780, MVSTCB: 1154,
178
- N906: 931, N906D: 921, NEGATIVE: 530, NEW: 28, NEWCOPY: 167, NEWSESSION: 485, NOALARM: 500,
179
- NOALTPRTCOPY: 447, NOANALYZER: 1127, NOAPLKYBD: 392, NOAPLTEXT: 394, NOAPPEND: 1037,
180
- NOAPPLNAME: 339, NOATI: 76, NOAUDALARM: 396, NOAUTHENTIC: 1091, NOAUTO: 1071, NOAUTOARCH: 263,
181
- NOBACKOUT: 193, NOBACKTRANS: 398, NOCEDF: 371, NOCLASSCACHE: 1076, NOCLEAR: 641,
161
+ FULL: 212, FULLAPI: 384, FULLAUTO: 1073, FWDRECOVABLE: 354, GATHER: 1224, GENERIC: 651, GET: 748,
162
+ GMT: 604, GOHIGHERTHAN: 873, GOINGOUT: 172, GOLOWERTHAN: 874, GREATERTHAN: 864, GROUP: 913,
163
+ GROUPRESYNC: 947, GRPLIST: 842, GTFSTART: 317, GTFSTOP: 318, HEAD: 750, HEAP: 1229,
164
+ HEURBACKOUT: 758, HEURCOMMIT: 757, HEX: 45, HFORM: 409, HFSFILE: 1040, HIGH: 914, HILIGHT: 413,
165
+ HOLD: 163, HOME: 1103, HOSTNAME: 302, HTTP: 1096, HTTPNO: 1034, HTTPS: 1029, HTTPYES: 1033,
166
+ IDENTIFY: 1074, IDNTY: 328, IGNORE: 1, IGNORERR: 816, IIOP: 1097, IMMCLOSE: 350, IMMCLOSING: 352,
167
+ IMMEDIATE: 2, IMMQUIESCED: 706, IMPORT: 992, INACTIVE: 378, INBOUND: 547, INCOMPLETE: 1014,
168
+ INDEXRECFULL: 796, INDIRECT: 122, INDOUBT: 620, INFLIGHT: 621, INITCOMPLETE: 628, INITIAL: 789,
169
+ INITING: 1112, INITPROP: 1261, INOUT: 532, INPUT: 226, INSERVICE: 73, INSTALLED: 550,
170
+ INSTALLFAIL: 512, INTERNAL: 1058, INTRA: 222, INTSTART: 310, INTSTOP: 311, INVALID: 359,
171
+ IOERROR: 797, IPCONN: 1176, IPECI: 936, IPIC: 1089, IPV4: 300, IPV6: 301, IRC: 121,
172
+ ISNOTGREATER: 865, ISNOTLESS: 866, ISOLATE: 658, JAVA: 147, JAVACORE: 1228, JMS: 1239,
173
+ JOURNALMODEL: 1185, JOURNALNAME: 1147, JOURNALNUM: 1148, JVM: 1080, JVMPOOL: 1149,
174
+ JVMPROFILE: 1150, JVMPROGRAM: 1151, JVMSERVER: 1193, JWT: 1217, KATAKANA: 415, KEEP: 786,
175
+ KERBEROS: 1105, KEYED: 8, KILL: 232, KSDS: 6, LCKSTRUCFULL: 832, LE370: 377, LEAVE: 811,
176
+ LESSTHAN: 867, LIBERTY: 1222, LIBRARY: 1177, LIC: 493, LIGHTPEN: 417, LINK: 577, LOAD: 834,
177
+ LOC24: 159, LOC31: 158, LOCAL: 605, LOCKING: 837, LOG: 54, LOGICAL: 216, LOGREPLICATE: 1198,
178
+ LOGTERM: 269, LOSE: 544, LOW: 915, LPA: 165, LSRPOOL: 1152, LU61: 125, LUP: 541, LUSTAT: 525,
179
+ LUW: 246, MAIN: 248, MAP: 155, MAPSET: 155, MCHCTL: 241, MDT: 506, MESSAGE: 1245, MESSAGEID: 1197,
180
+ METADATA: 857, MIXED: 403, MNPS: 999, MOD: 813, MODE24: 190, MODE31: 191, MODEANY: 189,
181
+ MODEL: 370, MODIFY: 1242, MONITOR: 1153, MORE: 492, MQCONN: 1175, MQMONITOR: 1207, MRO: 938,
182
+ MSRCONTROL: 419, MTOM: 460, MTOMNOXOP: 469, MVS: 780, MVSTCB: 1154, N906: 931, N906D: 921,
183
+ NEGATIVE: 530, NEW: 28, NEWCOPY: 167, NEWSESSION: 485, NOALARM: 500, NOALTPRTCOPY: 447,
184
+ NOANALYZER: 1127, NOAPLKYBD: 392, NOAPLTEXT: 394, NOAPPEND: 1037, NOAPPLNAME: 339, NOATI: 76,
185
+ NOAUDALARM: 396, NOAUTHENTIC: 1091, NOAUTO: 1071, NOAUTOARCH: 263, NOAUTOSTART: 1208,
186
+ NOBACKOUT: 193, NOBACKTRANS: 398, NOCEDF: 371, NOCHECK: 1240, NOCLASSCACHE: 1076, NOCLEAR: 641,
182
187
  NOCLICONVERT: 744, NOCLOSE: 742, NOCMDPROT: 674, NOCOLOR: 400, NOCOMPAT: 108, NOCOMPRESS: 1131,
183
188
  NOCONNECT: 916, NOCONV: 556, NOCONVERSE: 601, NOCONVERT: 734, NOCOPY: 402, NOCREATE: 68,
184
- NOCTL: 223, NODAE: 685, NODAEOPT: 685, NODE: 1155, NODEBUG: 1083, NODISCREQ: 445,
185
- NODOCDELETE: 296, NODUALCASE: 404, NOEMPTYREQ: 32, NOEVENT: 335, NOEXCEPT: 333, NOEXCTL: 49,
186
- NOEXIT: 917, NOEXITTRACE: 363, NOEXTENDEDDS: 406, NOFMH: 503, NOFMHPARM: 386, NOFORCE: 1054,
187
- NOFORMATEDF: 607, NOFORMFEED: 408, NOHFORM: 410, NOHILIGHT: 414, NOHOLD: 164, NOIDNTY: 329,
188
- NOINCONVERT: 745, NOISOLATE: 657, NOJVM: 1081, NOKATAKANA: 416, NOKEEP: 787, NOLIGHTPEN: 418,
189
- NOLOAD: 835, NOLOG: 55, NOLOGREPLICA: 1199, NOLOSTLOCKS: 710, NOMDT: 507, NOMSGJRNL: 531,
190
- NOMSRCONTROL: 420, NOMTOM: 461, NOMTOMNOXOP: 470, NONAUTOCONN: 171, NONCICS: 661,
191
- NONCRITICAL: 1090, NONE: 496, NONLE370: 1084, NONRESIDENT: 1202, NONTRANS: 572, NOOBFORMAT: 422,
192
- NOOBOPERID: 388, NOOUTCONVERT: 746, NOOUTLINE: 424, NOPARTITIONS: 426, NOPERF: 331,
193
- NOPHASEOUT: 1110, NOPRESETSEC: 243, NOPRINTADAPT: 428, NOPROGSYMBOL: 430, NOPRTCOPY: 449,
194
- NOPS: 997, NOQUERY: 432, NORECOVDATA: 700, NOREENTPROT: 681, NORELEASE: 918, NORELREQ: 443,
189
+ NOCTL: 223, NODAE: 685, NODAEOPT: 685, NODE: 1155, NODEBUG: 1083, NODEJSAPP: 1215,
190
+ NODISCOVER: 1253, NODISCREQ: 445, NODOCDELETE: 296, NODUALCASE: 404, NOEMIT: 1262, NOEMPTYREQ: 32,
191
+ NOEVENT: 335, NOEXCEPT: 333, NOEXCTL: 49, NOEXIT: 917, NOEXITTRACE: 363, NOEXTENDEDDS: 406,
192
+ NOFMH: 503, NOFMHPARM: 386, NOFORCE: 1054, NOFORMATEDF: 607, NOFORMFEED: 408, NOHFORM: 410,
193
+ NOHILIGHT: 414, NOHOLD: 164, NOIDNTY: 329, NOINCONVERT: 745, NOISOLATE: 657, NOJVM: 1081,
194
+ NOKATAKANA: 416, NOKEEP: 787, NOLIGHTPEN: 418, NOLOAD: 835, NOLOG: 55, NOLOGREPLICA: 1199,
195
+ NOLOSTLOCKS: 710, NOMDT: 507, NOMSGJRNL: 531, NOMSRCONTROL: 420, NOMTOM: 461, NOMTOMNOXOP: 470,
196
+ NONAUTOCONN: 171, NONCICS: 661, NONCRITICAL: 1090, NONE: 496, NONLE370: 1084, NONRESIDENT: 1202,
197
+ NONTRANS: 572, NOOBFORMAT: 422, NOOBOPERID: 388, NOOTELTRACE: 1258, NOOUTCONVERT: 746,
198
+ NOOUTLINE: 424, NOPARTITIONS: 426, NOPERF: 331, NOPHASEOUT: 1110, NOPRESETSEC: 243,
199
+ NOPRINTADAPT: 428, NOPROGSYMBOL: 430, NOPROP: 1259, NOPRTCOPY: 449, NOPS: 997, NOQUERY: 432,
200
+ NORECOVDATA: 700, NOREENTPROT: 681, NORELEASE: 918, NORELREQ: 443, NOREPLICATOR: 1212,
195
201
  NORESRCE: 337, NORESYNC: 934, NORETAINED: 711, NOREUSE: 294, NORMAL: 1016, NORMALBKOUT: 356,
196
202
  NORMALRESP: 522, NORMI: 775, NOROLLBACK: 919, NOSECURITY: 196, NOSENDMTOM: 464, NOSHUTDOWN: 289,
197
203
  NOSOSI: 435, NOSPI: 694, NOSRVCONVERT: 739, NOSSL: 1031, NOSTSN: 487, NOSWITCH: 285,
198
204
  NOSYNCPOINT: 603, NOSYSDUMP: 185, NOSYSLOG: 784, NOTADDABLE: 42, NOTALLOWED: 327,
199
- NOTALTERABLE: 53, NOTAPPLIC: 1, NOTASKSTART: 608, NOTBROWSABLE: 40, NOTBRWBLE: 40, NOTBUSY: 613,
200
- NOTCDEB: 495, NOTCONNECTED: 691, NOTCTRLABLE: 57, NOTDEFINED: 659, NOTDELBLE: 44,
205
+ NOTALTERABLE: 53, NOTAPPLIC: 1, NOTASKSTART: 608, NOTAWARE: 1257, NOTBROWSABLE: 40, NOTBRWBLE: 40,
206
+ NOTBUSY: 613, NOTCDEB: 495, NOTCONNECTED: 691, NOTCTRLABLE: 57, NOTDEFINED: 659, NOTDELBLE: 44,
201
207
  NOTDELETABLE: 44, NOTDYNAMIC: 1021, NOTEMPTY: 211, NOTERMINAL: 214, NOTEXTENDED: 1129,
202
208
  NOTEXTKYBD: 437, NOTEXTPRINT: 439, NOTFIRED: 1000, NOTFWDRCVBLE: 361, NOTHOTPOOL: 1066,
203
209
  NOTINBOUND: 546, NOTINIT: 376, NOTINSTALLED: 551, NOTKEYED: 9, NOTLPA: 166, NOTPENDING: 127,
204
210
  NOTPURGEABLE: 161, NOTRANDUMP: 187, NOTREADABLE: 36, NOTREADY: 259, NOTRECOVABLE: 30,
205
- NOTREQUIRED: 667, NOTRLS: 721, NOTROUTABLE: 1022, NOTSOS: 669, NOTSUPPORTED: 15,
206
- NOTSUSPENDED: 1027, NOTTABLE: 100, NOTTI: 78, NOTUPDATABLE: 38, NOTUPDBLE: 38, NOTWAIT: 920,
207
- NOUCTRAN: 451, NOUSER: 1011, NOVALIDATION: 441, NOVFORM: 412, NOWAIT: 341, NOWRITE: 275,
208
- NOXOPDIRECT: 466, NOXOPSUPPORT: 468, NOZCPTRACE: 365, NRS: 774, OBFORMAT: 421, OBOPERID: 387,
209
- OBTAINING: 96, OFF: 200, OK: 274, OLD: 26, OLDCOPY: 162, OLDSESSION: 486, ON: 201, OPEN: 18,
210
- OPENAPI: 1053, OPENERROR: 798, OPENING: 20, OPENINPUT: 256, OPENOUTPUT: 257, OPID: 933,
211
- OPTIONAL: 326, OPTIONS: 759, OR: 1006, OTS: 1107, OUTLINE: 423, OUTPUT: 227, OUTSERVICE: 74,
212
- OWNER: 753, PAGEABLE: 79, PARTITIONS: 425, PARTITIONSET: 156, PARTNER: 1182, PATH: 11,
213
- PDSMEMBER: 1035, PENDBEGIN: 558, PENDDATA: 560, PENDFREE: 86, PENDING: 126, PENDINIT: 1113,
214
- PENDPASS: 565, PENDRECEIVE: 87, PENDRELEASE: 562, PENDRESOLVE: 1114, PENDSTART: 561,
215
- PENDSTSN: 557, PENDUNSOL: 564, PERF: 330, PERMANENT: 484, PHASEIN: 168, PHASEOUT: 1111,
216
- PHYSICAL: 215, PIPELINE: 1124, PL1: 152, PLI: 152, POLICYSCOPE: 994, POOL: 922, POSITIVE: 529,
217
- POST: 636, POSTCOMMAND: 697, PRECOMMAND: 696, PRESETSEC: 242, PRIMARY: 110, PRINCIPAL: 199,
218
- PRINTADAPT: 427, PRIVATE: 174, PROCESS: 1010, PROCESSTYPE: 1190, PROFILE: 157, PROGAUTO: 1072,
219
- PROGRAM: 154, PROGRAMDEF: 1178, PROGRAMINIT: 698, PROGSYMBOL: 429, PROTECTED: 504, PROVIDER: 1041,
220
- PRTCOPY: 448, PUBLISH: 1085, PURGE: 236, PURGEABLE: 160, PUT: 749, QR: 1057, QUASIRENT: 1050,
221
- QUEUE: 814, QUIESCED: 707, QUIESCING: 708, READABLE: 35, READBACK: 209, READONLY: 275, READY: 258,
222
- REBUILD: 923, RECEIVE: 88, RECEIVER: 1046, RECONNECT: 924, RECOVDATA: 701, RECOVERABLE: 29,
223
- RECOVERED: 277, RECOVERLOCKS: 712, RECOVERY: 1156, REENTPROT: 680, REFPARMS: 858, REGERROR: 677,
224
- REGION: 575, REGISTERED: 670, REJECT: 815, RELATED: 675, RELEASE: 563, RELEASED: 70,
225
- RELEASING: 549, RELOAD: 1078, RELOADING: 1079, RELREQ: 442, REMLOSTLOCKS: 713, REMOTE: 4,
226
- REMOVE: 276, REMSESSION: 740, REMTABLE: 103, REPEATABLE: 724, REPLYTOEPR: 852, REQCONTEXT: 854,
227
- REQUEST: 249, REQUESTER: 1042, REQUESTMODEL: 1157, REQUIRED: 666, REREAD: 812, RESET: 290,
228
- RESETLOCKS: 714, RESIDENT: 1201, RESOLVED: 347, RESOLVING: 1115, RESPCONTEXT: 855,
211
+ NOTREQUIRED: 667, NOTRLS: 721, NOTROUTABLE: 1022, NOTSHARED: 1238, NOTSOS: 669, NOTSUPPORTED: 15,
212
+ NOTSUSPENDED: 1027, NOTTABLE: 100, NOTTI: 78, NOTUPDATABLE: 38, NOTUPDBLE: 38, NOTUSED: 1248,
213
+ NOTWAIT: 920, NOUCTRAN: 451, NOUSER: 1011, NOVALIDATION: 441, NOVFORM: 412, NOWAIT: 341,
214
+ NOWRITE: 275, NOXOPDIRECT: 466, NOXOPSUPPORT: 468, NOZCPTRACE: 365, NRS: 774, OBFORMAT: 421,
215
+ OBOPERID: 387, OBTAINING: 96, OFF: 200, OK: 274, OLD: 26, OLDCOPY: 162, OLDSESSION: 486, ON: 201,
216
+ OPEN: 18, OPENAPI: 1053, OPENERROR: 798, OPENING: 20, OPENINPUT: 256, OPENOUTPUT: 257, OPID: 933,
217
+ OPTIONAL: 326, OPTIONS: 759, OR: 1006, OSGI: 1221, OTELTRACE: 1263, OTS: 1107, OUTLINE: 423,
218
+ OUTPUT: 227, OUTSERVICE: 74, OVERRIDE: 1236, OWNER: 753, PAGEABLE: 79, PARTITIONS: 425,
219
+ PARTITIONSET: 156, PARTNER: 1182, PATCH: 1220, PATH: 11, PAUSED: 1233, PDSMEMBER: 1035,
220
+ PENDBEGIN: 558, PENDDATA: 560, PENDFREE: 86, PENDING: 126, PENDINIT: 1113, PENDPASS: 565,
221
+ PENDRECEIVE: 87, PENDRELEASE: 562, PENDRESOLVE: 1114, PENDSTART: 561, PENDSTSN: 557,
222
+ PENDUNSOL: 564, PERF: 330, PERMANENT: 484, PHASEIN: 168, PHASEOUT: 1111, PHYSICAL: 215,
223
+ PIPELINE: 1124, PL1: 152, PLI: 152, POLICY: 1243, POLICYRULE: 1244, POLICYSCOPE: 994, POOL: 922,
224
+ POSITIVE: 529, POST: 636, POSTCOMMAND: 697, PRECOMMAND: 696, PRESETSEC: 242, PRIMARY: 110,
225
+ PRINCIPAL: 199, PRINTADAPT: 427, PRIVATE: 174, PROCESS: 1010, PROCESSTYPE: 1190, PROFILE: 157,
226
+ PROGAUTO: 1072, PROGRAM: 154, PROGRAMDEF: 1178, PROGRAMINIT: 698, PROGSYMBOL: 429, PROPONLY: 1260,
227
+ PROTECTED: 504, PROVIDER: 1041, PRTCOPY: 448, PUBLISH: 1085, PURGE: 236, PURGEABLE: 160, PUT: 749,
228
+ QR: 1057, QUASIRENT: 1050, QUEUE: 814, QUIESCED: 707, QUIESCING: 708, READABLE: 35, READBACK: 209,
229
+ READONLY: 275, READY: 258, REBUILD: 923, RECEIVE: 88, RECEIVER: 1046, RECONNECT: 924,
230
+ RECOVDATA: 701, RECOVERABLE: 29, RECOVERED: 277, RECOVERLOCKS: 712, RECOVERY: 1156,
231
+ REENTPROT: 680, REFPARMS: 858, REFRESH: 1227, REFRESHPKGS: 1225, REGERROR: 677, REGION: 575,
232
+ REGISTERED: 670, REJECT: 815, RELATED: 675, RELEASE: 563, RELEASED: 70, RELEASING: 549,
233
+ RELOAD: 1078, RELOADING: 1079, RELREQ: 442, REMLOSTLOCKS: 713, REMOTE: 4, REMOVE: 276,
234
+ REMSESSION: 740, REMTABLE: 103, REPEATABLE: 724, REPLICATOR: 1211, REPLYTOEPR: 852,
235
+ REQCONTEXT: 854, REQUEST: 249, REQUESTER: 1042, REQUESTMODEL: 1157, REQUIRED: 666, REREAD: 812,
236
+ RESET: 290, RESETLOCKS: 714, RESIDENT: 1201, RESOLVED: 347, RESOLVING: 1115, RESPCONTEXT: 855,
229
237
  RESPECTED: 1109, RESRCE: 336, RESSECEXT: 204, RESSECINT: 203, RESSECNO: 202, RESSECYES: 204,
230
- RESYNC: 702, RETAINED: 715, RETRACT: 1086, RETRY: 716, REUSE: 293, REVERTED: 264, RFC1123: 646,
231
- RFC3339: 647, RLS: 720, RLSACTIVE: 730, RLSGONE: 799, RLSINACTIVE: 731, RLSSERVER: 761, RMI: 771,
232
- ROLLBACK: 89, ROUTABLE: 1023, ROUTE: 638, RPG: 153, RRCOMMITFAIL: 830, RRDS: 7, RRINDOUBT: 831,
233
- RRMS: 1063, RRSUR: 939, RTR: 527, RU: 494, RUNNING: 229, RZINSTOR: 940, SAMESENDMTOM: 462,
234
- SCAN: 1088, SCHEDULER: 941, SCS: 614, SECONDINIT: 626, SECUSER: 1060, SEND: 90, SENDER: 1045,
235
- SENDMTOM: 463, SERVER: 1123, SERVICE: 475, SESSION: 372, SESSIONFAIL: 517, SESSIONLOST: 516,
238
+ RESUMED: 1234, RESYNC: 702, RETAINED: 715, RETRACT: 1086, RETRY: 716, REUSE: 293, REVERTED: 264,
239
+ RFC1123: 646, RFC3339: 647, RLS: 720, RLSACTIVE: 730, RLSGONE: 799, RLSINACTIVE: 731,
240
+ RLSSERVER: 761, RMI: 771, ROLLBACK: 89, ROUTABLE: 1023, ROUTE: 638, RPG: 153, RRCOMMITFAIL: 830,
241
+ RRDS: 7, RREPL: 1210, RRINDOUBT: 831, RRMS: 1063, RRSUR: 939, RTR: 527, RU: 494, RUNNING: 229,
242
+ RZINSTOR: 940, SAMESENDMTOM: 462, SCAN: 1088, SCHEDULER: 941, SCS: 614, SECERROR: 1214,
243
+ SECONDINIT: 626, SECURITY: 1216, SECUSER: 1060, SEND: 90, SENDER: 1045, SENDMTOM: 463,
244
+ SERVER: 1123, SERVERDUMP: 1226, SERVICE: 475, SESSION: 372, SESSIONFAIL: 517, SESSIONLOST: 516,
236
245
  SESSIONS: 1187, SETFAIL: 514, SHARE: 27, SHARED: 173, SHUNTED: 762, SHUTDISABLED: 645,
237
246
  SHUTDOWN: 288, SHUTENABLED: 644, SIGN: 925, SIGNEDOFF: 245, SIGNEDON: 244, SINGLEOFF: 324,
238
- SINGLEON: 323, SKIP: 810, SMF: 255, SNPS: 998, SOAP: 1044, SOCKET: 942, SOMEAVAIL: 1204, SOS: 668,
239
- SOSABOVE: 683, SOSBELOW: 682, SOSI: 434, SPECIAL: 98, SPECIFIC: 652, SPECTRACE: 177, SPI: 693,
240
- SPRSTRACE: 175, SQLCODE: 926, SRVCONVERT: 738, SSL: 1030, STANDARD: 97, STANDBY: 629,
241
- STANTRACE: 176, START: 635, STARTED: 609, STARTING: 772, STARTSWITH: 868, STARTTERM: 943,
242
- STARTUP: 180, STATIC: 179, STATS: 1158, STOPPED: 610, STOPPING: 348, STORAGE: 1159,
243
- STREAMNAME: 1160, STSN: 509, STSNSET: 488, STSNTEST: 489, SUBORDINATE: 773, SUBPOOL: 1161,
244
- SUBSPACE: 663, SUMMUNLIKE: 566, SUPPORTED: 1106, SURROGATE: 371, SUSPENDED: 231, SWITCH: 188,
245
- SWITCHALL: 287, SWITCHING: 225, SWITCHNEXT: 286, SYNCFREE: 91, SYNCHRONOUS: 571, SYNCPOINT: 602,
246
- SYNCRECEIVE: 92, SYNCRECV: 92, SYNCSEND: 93, SYSCONNECT: 653, SYSDUMP: 184, SYSDUMPCODE: 1162,
247
- SYSLOG: 785, SYSPLEX: 656, SYSTEM: 643, SYSTEMOFF: 320, SYSTEMON: 319, T3278M2: 533, T3278M3: 534,
248
- T3278M4: 535, T3278M5: 536, T3279M2: 537, T3279M3: 538, T3279M4: 539, T3279M5: 540, TABLE: 847,
249
- TABLEMGR: 1163, TAKEOVER: 111, TAPE1: 250, TAPE2: 251, TASK: 233, TASKSTART: 611,
247
+ SINGLEON: 323, SKIP: 810, SMF: 255, SNAPTRACE: 1230, SNPS: 998, SOAP: 1044, SOCKET: 942,
248
+ SOMEAVAIL: 1204, SOS: 668, SOSABOVE: 683, SOSBELOW: 682, SOSI: 434, SPECIAL: 98, SPECIFIC: 652,
249
+ SPECTRACE: 177, SPI: 693, SPRSTRACE: 175, SQLCODE: 926, SRRACTIVE: 1250, SRRINACTIVE: 1251,
250
+ SRVCONVERT: 738, SSL: 1030, STACKTRACE: 1237, STANDARD: 97, STANDBY: 629, STANTRACE: 176,
251
+ START: 635, STARTED: 609, STARTING: 772, STARTSWITH: 868, STARTTERM: 943, STARTUP: 180,
252
+ STATIC: 179, STATS: 1158, STOPPED: 610, STOPPING: 348, STORAGE: 1159, STREAMNAME: 1160, STSN: 509,
253
+ STSNSET: 488, STSNTEST: 489, SUBORDINATE: 773, SUBPOOL: 1161, SUBSPACE: 663, SUMMUNLIKE: 566,
254
+ SUPPORTED: 1106, SURROGATE: 371, SUSPENDED: 231, SWITCH: 188, SWITCHALL: 287, SWITCHING: 225,
255
+ SWITCHNEXT: 286, SYNCFREE: 91, SYNCHRONOUS: 571, SYNCPOINT: 602, SYNCRECEIVE: 92, SYNCRECV: 92,
256
+ SYNCSEND: 93, SYSCONNECT: 653, SYSDUMP: 184, SYSDUMPCODE: 1162, SYSLOG: 785, SYSPLEX: 656,
257
+ SYSTEM: 643, SYSTEMOFF: 320, SYSTEMON: 319, T3278M2: 533, T3278M3: 534, T3278M4: 535,
258
+ T3278M5: 536, T3279M2: 537, T3279M3: 538, T3279M4: 539, T3279M5: 540, TABLE: 847, TABLEMGR: 1163,
259
+ TABLEONLY: 1219, TAKEOVER: 111, TAPE1: 250, TAPE2: 251, TASK: 233, TASKEND: 1264, TASKSTART: 611,
250
260
  TASKSUBPOOL: 1164, TCAM: 64, TCAMSNA: 65, TCEXITALL: 366, TCEXITALLOFF: 369, TCEXITNONE: 368,
251
261
  TCEXITSYSTEM: 367, TCLASS: 239, TCPIP: 802, TCPIPSERVICE: 1166, TDQ: 767, TDQUEUE: 767,
252
262
  TEMPLATENAME: 1168, TEMPORARY: 483, TERM: 234, TERMINAL: 213, TERMINATE: 1077, TEXTKYBD: 436,
253
263
  TEXTPRINT: 438, THIRDINIT: 627, THREADSAFE: 1051, TIME: 240, TIMEOUT: 511, TIMER: 1004,
254
264
  TOEPR: 851, TPOOL: 932, TPS55M2: 552, TPS55M3: 553, TPS55M4: 554, TPS55M5: 555, TRACE: 760,
255
- TRANCLASS: 1169, TRANDATA: 944, TRANDUMP: 186, TRANDUMPCODE: 1170, TRANIDONLY: 452, TRANS: 573,
256
- TRANSACTION: 1171, TRANSTART: 580, TSMODEL: 1183, TSQ: 768, TSQUEUE: 768, TTI: 77, TWAIT: 927,
257
- TX: 929, TXID: 928, TYPETERM: 1186, UCTRAN: 450, UKOPEN: 1056, UNATTEMPTED: 820, UNAVAILABLE: 672,
258
- UNBLOCKED: 17, UNCOMMITTED: 722, UNCONNECTED: 703, UNDEFINED: 14, UNDETERMINED: 355,
259
- UNENABLED: 33, UNENABLING: 34, UNEXPECTED: 1015, UNEXPIRED: 1018, UNINSTALLED: 548, UNKNOWN: 774,
260
- UNPROTECTED: 505, UNQUIESCED: 709, UNREGISTERED: 671, UNRESOLVED: 1116, UNSOLDATA: 521,
261
- UNUSABLE: 1117, UOW: 246, UPDATABLE: 37, UPDATING: 1049, URIMAP: 1173, URMTERMID: 1121, USER: 642,
262
- USERDATAKEY: 380, USEREXECKEY: 382, USERID: 930, USEROFF: 322, USERON: 321, USERTABLE: 102,
263
- UTC: 1203, VALID: 360, VALIDATION: 440, VARIABLE: 13, VERIFY: 1099, VFORM: 411, VRRDS: 732,
264
- VSAM: 3, VTAM: 60, WAIT: 340, WAITCOMMIT: 763, WAITER: 754, WAITFORGET: 622, WAITING: 765,
265
- WAITRMI: 766, WAITRRMS: 1063, WARMSTART: 267, WBE: 585, WEB: 945, WEBSERVICE: 1174, WIN: 545,
266
- WMQ: 578, XCF: 665, XM: 123, XMLTRANSFORM: 1194, XMRUNTRAN: 946, XNOTDONE: 144, XOK: 143,
267
- XOPDIRECT: 465, XOPSUPPORT: 467, XPLINK: 1068, ZCPTRACE: 364,
265
+ TRAN: 1235, TRANCLASS: 1169, TRANDATA: 944, TRANDUMP: 186, TRANDUMPCODE: 1170, TRANIDONLY: 452,
266
+ TRANS: 573, TRANSACTION: 1171, TRANSTART: 580, TSMODEL: 1183, TSQ: 768, TSQUEUE: 768, TTI: 77,
267
+ TWAIT: 927, TX: 929, TXID: 928, TYPETERM: 1186, UCTRAN: 450, UKOPEN: 1056, UNATTEMPTED: 820,
268
+ UNAVAILABLE: 672, UNBLOCKED: 17, UNCOMMITTED: 722, UNCONNECTED: 703, UNDEFINED: 14,
269
+ UNDETERMINED: 355, UNENABLED: 33, UNENABLING: 34, UNEXPECTED: 1015, UNEXPIRED: 1018,
270
+ UNINSTALLED: 548, UNKNOWN: 774, UNPROTECTED: 505, UNQUIESCED: 709, UNREGISTERED: 671,
271
+ UNRESOLVED: 1116, UNSOLDATA: 521, UNUSABLE: 1117, UOW: 246, UPDATABLE: 37, UPDATING: 1049,
272
+ URIMAP: 1173, URMTERMID: 1121, USED: 1249, USER: 642, USERDATAKEY: 380, USEREXECKEY: 382,
273
+ USERID: 930, USEROFF: 322, USERON: 321, USERTABLE: 102, UTC: 1203, VALID: 360, VALIDATEWARN: 1266,
274
+ VALIDATEYES: 1265, VALIDATION: 440, VARIABLE: 13, VERIFY: 1099, VFORM: 411, VRRDS: 732, VSAM: 3,
275
+ VTAM: 60, WAIT: 340, WAITCOMMIT: 763, WAITER: 754, WAITFORGET: 622, WAITING: 765, WAITRMI: 766,
276
+ WAITRRMS: 1063, WARMSTART: 267, WBE: 585, WEB: 945, WEBSERVICE: 1174, WIN: 545, WLMHEALTH: 1246,
277
+ WMQ: 578, WRITE: 1255, XCF: 665, XM: 123, XMLTRANSFORM: 1194, XMRUNTRAN: 946, XNOTDONE: 144,
278
+ XOK: 143, XOPDIRECT: 465, XOPSUPPORT: 467, XPLINK: 1068, ZCPTRACE: 364,
268
279
  };
269
280
 
270
281
  export const DFHAID_NAMES = `