@keymanapp/common-types 17.0.185-alpha → 17.0.190-alpha

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 (118) hide show
  1. package/build/src/import/techpreview/cldr_info.json +1 -1
  2. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +2 -2
  3. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -1
  4. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +5 -8
  5. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -1
  6. package/build/src/kmx/element-string.d.ts +3 -3
  7. package/build/src/kmx/element-string.d.ts.map +1 -1
  8. package/build/src/kmx/element-string.js +11 -10
  9. package/build/src/kmx/element-string.js.map +1 -1
  10. package/build/src/kmx/kmx-plus.d.ts +24 -17
  11. package/build/src/kmx/kmx-plus.d.ts.map +1 -1
  12. package/build/src/kmx/kmx-plus.js +48 -40
  13. package/build/src/kmx/kmx-plus.js.map +1 -1
  14. package/build/src/kmx/string-list.d.ts +9 -7
  15. package/build/src/kmx/string-list.d.ts.map +1 -1
  16. package/build/src/kmx/string-list.js +15 -11
  17. package/build/src/kmx/string-list.js.map +1 -1
  18. package/build/src/kpj/keyman-developer-project.d.ts +12 -5
  19. package/build/src/kpj/keyman-developer-project.d.ts.map +1 -1
  20. package/build/src/kpj/keyman-developer-project.js +35 -17
  21. package/build/src/kpj/keyman-developer-project.js.map +1 -1
  22. package/build/src/kpj/kpj-file-reader.d.ts +2 -2
  23. package/build/src/kpj/kpj-file-reader.d.ts.map +1 -1
  24. package/build/src/kpj/kpj-file-reader.js +8 -11
  25. package/build/src/kpj/kpj-file-reader.js.map +1 -1
  26. package/build/src/kpj/kpj-file.d.ts +3 -2
  27. package/build/src/kpj/kpj-file.d.ts.map +1 -1
  28. package/build/src/kpj/kpj-file.js +2 -2
  29. package/build/src/kpj/kpj-file.js.map +1 -1
  30. package/build/src/kvk/kvks-file-reader.d.ts +2 -2
  31. package/build/src/kvk/kvks-file-reader.d.ts.map +1 -1
  32. package/build/src/kvk/kvks-file-reader.js +5 -8
  33. package/build/src/kvk/kvks-file-reader.js.map +1 -1
  34. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +2 -2
  35. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -1
  36. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +5 -8
  37. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -1
  38. package/build/src/ldml-keyboard/pattern-parser.d.ts +6 -3
  39. package/build/src/ldml-keyboard/pattern-parser.d.ts.map +1 -1
  40. package/build/src/ldml-keyboard/pattern-parser.js +14 -4
  41. package/build/src/ldml-keyboard/pattern-parser.js.map +1 -1
  42. package/build/src/main.d.ts +4 -3
  43. package/build/src/main.d.ts.map +1 -1
  44. package/build/src/main.js +4 -3
  45. package/build/src/main.js.map +1 -1
  46. package/build/src/osk/osk.d.ts +2 -2
  47. package/build/src/osk/osk.d.ts.map +1 -1
  48. package/build/src/osk/osk.js +5 -8
  49. package/build/src/osk/osk.js.map +1 -1
  50. package/build/src/package/kmp-json-file.d.ts +51 -2
  51. package/build/src/package/kmp-json-file.d.ts.map +1 -1
  52. package/build/src/package/kps-file.d.ts +130 -52
  53. package/build/src/package/kps-file.d.ts.map +1 -1
  54. package/build/src/schema-validators.d.ts +15 -0
  55. package/build/src/schema-validators.d.ts.map +1 -0
  56. package/build/src/schema-validators.js +26 -0
  57. package/build/src/schema-validators.js.map +1 -0
  58. package/build/src/schemas/displaymap.schema.validator.d.mts +3 -0
  59. package/build/src/schemas/displaymap.schema.validator.d.mts.map +1 -0
  60. package/build/src/schemas/displaymap.schema.validator.mjs +267 -0
  61. package/build/src/schemas/displaymap.schema.validator.mjs.map +1 -0
  62. package/build/src/schemas/keyboard_info.schema.d.ts +212 -0
  63. package/build/src/schemas/keyboard_info.schema.d.ts.map +1 -0
  64. package/build/src/schemas/keyboard_info.schema.js +101 -0
  65. package/build/src/schemas/keyboard_info.schema.js.map +1 -0
  66. package/build/src/schemas/keyboard_info.schema.validator.d.mts +3 -0
  67. package/build/src/schemas/keyboard_info.schema.validator.d.mts.map +1 -0
  68. package/build/src/schemas/keyboard_info.schema.validator.mjs +1161 -0
  69. package/build/src/schemas/keyboard_info.schema.validator.mjs.map +1 -0
  70. package/build/src/schemas/keyman-touch-layout.clean.spec.validator.d.mts +3 -0
  71. package/build/src/schemas/keyman-touch-layout.clean.spec.validator.d.mts.map +1 -0
  72. package/build/src/schemas/keyman-touch-layout.clean.spec.validator.mjs +1095 -0
  73. package/build/src/schemas/keyman-touch-layout.clean.spec.validator.mjs.map +1 -0
  74. package/build/src/schemas/keyman-touch-layout.spec.validator.d.mts +3 -0
  75. package/build/src/schemas/keyman-touch-layout.spec.validator.d.mts.map +1 -0
  76. package/build/src/schemas/keyman-touch-layout.spec.validator.mjs +1437 -0
  77. package/build/src/schemas/keyman-touch-layout.spec.validator.mjs.map +1 -0
  78. package/build/src/schemas/kpj-9.0.schema.validator.d.mts +3 -0
  79. package/build/src/schemas/kpj-9.0.schema.validator.d.mts.map +1 -0
  80. package/build/src/schemas/kpj-9.0.schema.validator.mjs +656 -0
  81. package/build/src/schemas/kpj-9.0.schema.validator.mjs.map +1 -0
  82. package/build/src/schemas/kpj.schema.d.ts +6 -2
  83. package/build/src/schemas/kpj.schema.d.ts.map +1 -1
  84. package/build/src/schemas/kpj.schema.js +6 -2
  85. package/build/src/schemas/kpj.schema.js.map +1 -1
  86. package/build/src/schemas/kpj.schema.validator.d.mts +3 -0
  87. package/build/src/schemas/kpj.schema.validator.d.mts.map +1 -0
  88. package/build/src/schemas/kpj.schema.validator.mjs +516 -0
  89. package/build/src/schemas/kpj.schema.validator.mjs.map +1 -0
  90. package/build/src/schemas/kvks.schema.validator.d.mts +3 -0
  91. package/build/src/schemas/kvks.schema.validator.d.mts.map +1 -0
  92. package/build/src/schemas/kvks.schema.validator.mjs +626 -0
  93. package/build/src/schemas/kvks.schema.validator.mjs.map +1 -0
  94. package/build/src/schemas/ldml-keyboard3.schema.validator.d.mts +3 -0
  95. package/build/src/schemas/ldml-keyboard3.schema.validator.d.mts.map +1 -0
  96. package/build/src/schemas/ldml-keyboard3.schema.validator.mjs +3189 -0
  97. package/build/src/schemas/ldml-keyboard3.schema.validator.mjs.map +1 -0
  98. package/build/src/schemas/ldml-keyboardtest3.schema.d.ts +3 -2
  99. package/build/src/schemas/ldml-keyboardtest3.schema.d.ts.map +1 -1
  100. package/build/src/schemas/ldml-keyboardtest3.schema.js +4 -3
  101. package/build/src/schemas/ldml-keyboardtest3.schema.js.map +1 -1
  102. package/build/src/schemas/ldml-keyboardtest3.schema.validator.d.mts +3 -0
  103. package/build/src/schemas/ldml-keyboardtest3.schema.validator.d.mts.map +1 -0
  104. package/build/src/schemas/ldml-keyboardtest3.schema.validator.mjs +732 -0
  105. package/build/src/schemas/ldml-keyboardtest3.schema.validator.mjs.map +1 -0
  106. package/build/src/schemas.d.ts +215 -2
  107. package/build/src/schemas.d.ts.map +1 -1
  108. package/build/src/schemas.js +4 -2
  109. package/build/src/schemas.js.map +1 -1
  110. package/build/src/util/compiler-interfaces.d.ts +14 -3
  111. package/build/src/util/compiler-interfaces.d.ts.map +1 -1
  112. package/build/src/util/compiler-interfaces.js +13 -3
  113. package/build/src/util/compiler-interfaces.js.map +1 -1
  114. package/build/src/util/file-types.d.ts +4 -6
  115. package/build/src/util/file-types.d.ts.map +1 -1
  116. package/build/src/util/file-types.js +3 -5
  117. package/build/src/util/file-types.js.map +1 -1
  118. package/package.json +7 -3
@@ -0,0 +1,3189 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8811648a-93c4-524f-b22c-ffac1268863b")}catch(e){}}();
2
+ var __getOwnPropNames = Object.getOwnPropertyNames;
3
+ var __commonJS = (cb, mod) => function __require() {
4
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
5
+ };
6
+ // obj/schemas/ldml-keyboard3.schema.validator.cjs
7
+ var require_ldml_keyboard3_schema_validator = __commonJS({
8
+ "obj/schemas/ldml-keyboard3.schema.validator.cjs"(exports, module) {
9
+ module.exports = validate20;
10
+ module.exports.default = validate20;
11
+ var schema22 = { "$schema": "http://json-schema.org/schema#", "additionalProperties": false, "definitions": { "any": { "type": "string" }, "display": { "additionalProperties": false, "properties": { "display": { "type": "string" }, "id": { "type": "string" }, "to": { "type": "string" } }, "required": ["display"], "type": "object" }, "displayOptions": { "additionalProperties": false, "properties": { "baseCharacter": { "type": "string" } }, "type": "object" }, "displays": { "additionalProperties": false, "properties": { "display": { "items": { "$ref": "#/definitions/display" }, "type": "array" }, "displayOptions": { "$ref": "#/definitions/displayOptions" }, "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "type": "object" }, "flick": { "additionalProperties": false, "properties": { "directions": { "type": "string" }, "to": { "type": "string" } }, "required": ["directions", "to"], "type": "object" }, "flicks": { "additionalProperties": false, "properties": { "flick": { "items": { "$ref": "#/definitions/flick" }, "minItems": 1, "type": "array" }, "id": { "type": "string" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "required": ["flick", "id"], "type": "object" }, "form": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "scanCodes": { "items": { "$ref": "#/definitions/scanCodes" }, "minItems": 1, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "required": ["scanCodes"], "type": "object" }, "forms": { "additionalProperties": false, "properties": { "form": { "items": { "$ref": "#/definitions/form" }, "type": "array" }, "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "type": "object" }, "import": { "additionalProperties": false, "properties": { "base": { "enum": ["cldr"], "type": "string" }, "path": { "type": "string" } }, "required": ["path"], "type": "object" }, "info": { "additionalProperties": false, "properties": { "author": { "type": "string" }, "indicator": { "type": "string" }, "layout": { "type": "string" }, "normalization": { "type": "string" } }, "type": "object" }, "key": { "additionalProperties": false, "properties": { "flicks": { "type": "string" }, "gap": { "enum": ["true"], "type": "string" }, "id": { "type": "string" }, "longPress": { "type": "string" }, "longPressDefault": { "type": "string" }, "multiTap": { "type": "string" }, "stretch": { "enum": ["true"], "type": "string" }, "switch": { "type": "string" }, "to": { "type": "string" }, "transform": { "enum": ["no"], "type": "string" }, "width": { "type": "string" } }, "required": ["id"], "type": "object" }, "keys": { "additionalProperties": false, "properties": { "flicks": { "items": { "$ref": "#/definitions/flicks" }, "type": "array" }, "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "key": { "items": { "$ref": "#/definitions/key" }, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "type": "object" }, "layer": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "modifier": { "type": "string" }, "row": { "items": { "$ref": "#/definitions/row" }, "minItems": 1, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "required": ["row"], "type": "object" }, "layers": { "additionalProperties": false, "properties": { "form": { "type": "string" }, "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "layer": { "items": { "$ref": "#/definitions/layer" }, "type": "array" }, "minDeviceWidth": { "type": "string" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "required": ["form"], "type": "object" }, "locale": { "additionalProperties": false, "properties": { "id": { "type": "string" } }, "required": ["id"], "type": "object" }, "locales": { "additionalProperties": false, "properties": { "locale": { "items": { "$ref": "#/definitions/locale" }, "type": "array" } }, "type": "object" }, "name": { "additionalProperties": false, "properties": { "value": { "type": "string" } }, "required": ["value"], "type": "object" }, "names": { "additionalProperties": false, "properties": { "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "name": { "items": { "$ref": "#/definitions/name" }, "minItems": 1, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" } }, "required": ["name"], "type": "object" }, "reorder": { "additionalProperties": false, "properties": { "before": { "type": "string" }, "from": { "type": "string" }, "order": { "type": "string" }, "preBase": { "type": "string" }, "tertiary": { "type": "string" }, "tertiaryBase": { "type": "string" } }, "required": ["from"], "type": "object" }, "row": { "additionalProperties": false, "properties": { "keys": { "type": "string" } }, "required": ["keys"], "type": "object" }, "scanCodes": { "additionalProperties": false, "properties": { "codes": { "type": "string" } }, "required": ["codes"], "type": "object" }, "set": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "value": { "type": "string" } }, "required": ["id", "value"], "type": "object" }, "settings": { "additionalProperties": false, "properties": { "fallback": { "enum": ["omit"], "type": "string" } }, "type": "object" }, "special": { "$ref": "#/definitions/any" }, "stringVariable": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "value": { "type": "string" } }, "required": ["id", "value"], "type": "object" }, "transform": { "additionalProperties": false, "properties": { "from": { "type": "string" }, "to": { "type": "string" } }, "required": ["from"], "type": "object" }, "transformGroup": { "additionalProperties": false, "properties": { "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "reorder": { "items": { "$ref": "#/definitions/reorder" }, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" }, "transform": { "items": { "$ref": "#/definitions/transform" }, "type": "array" } }, "type": "object" }, "transforms": { "additionalProperties": false, "properties": { "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" }, "transformGroup": { "items": { "$ref": "#/definitions/transformGroup" }, "type": "array" }, "type": { "enum": ["simple", "backspace"], "type": "string" } }, "required": ["type"], "type": "object" }, "unicodeSet": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "value": { "type": "string" } }, "required": ["id", "value"], "type": "object" }, "variables": { "additionalProperties": false, "properties": { "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "set": { "items": { "$ref": "#/definitions/set" }, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" }, "string": { "items": { "$ref": "#/definitions/stringVariable" }, "type": "array" }, "unicodeSet": { "items": { "$ref": "#/definitions/unicodeSet" }, "type": "array" } }, "type": "object" }, "version": { "additionalProperties": false, "properties": { "cldrVersion": { "enum": ["techpreview"], "type": "string" }, "number": { "type": "string" } }, "type": "object" } }, "properties": { "keyboard3": { "additionalProperties": false, "properties": { "conformsTo": { "enum": ["techpreview"], "type": "string" }, "displays": { "$ref": "#/definitions/displays" }, "forms": { "$ref": "#/definitions/forms" }, "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "info": { "$ref": "#/definitions/info" }, "keys": { "$ref": "#/definitions/keys" }, "layers": { "items": { "$ref": "#/definitions/layers" }, "type": "array" }, "locale": { "type": "string" }, "locales": { "$ref": "#/definitions/locales" }, "names": { "$ref": "#/definitions/names" }, "settings": { "$ref": "#/definitions/settings" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" }, "transforms": { "items": { "$ref": "#/definitions/transforms" }, "type": "array" }, "variables": { "$ref": "#/definitions/variables" }, "version": { "$ref": "#/definitions/version" } }, "required": ["names", "locale", "conformsTo"], "type": "object" } }, "required": ["keyboard3"], "title": "techpreview/dtd/ldmlKeyboard3.xsd", "type": "object" };
12
+ var schema26 = { "additionalProperties": false, "properties": { "base": { "enum": ["cldr"], "type": "string" }, "path": { "type": "string" } }, "required": ["path"], "type": "object" };
13
+ var schema55 = { "additionalProperties": false, "properties": { "fallback": { "enum": ["omit"], "type": "string" } }, "type": "object" };
14
+ var schema71 = { "additionalProperties": false, "properties": { "cldrVersion": { "enum": ["techpreview"], "type": "string" }, "number": { "type": "string" } }, "type": "object" };
15
+ var func4 = Object.prototype.hasOwnProperty;
16
+ function validate21(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
17
+ let vErrors = null;
18
+ let errors = 0;
19
+ if (errors === 0) {
20
+ if (data && typeof data == "object" && !Array.isArray(data)) {
21
+ const _errs1 = errors;
22
+ for (const key0 in data) {
23
+ if (!(key0 === "display" || key0 === "displayOptions" || key0 === "import" || key0 === "special")) {
24
+ validate21.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
25
+ return false;
26
+ break;
27
+ }
28
+ }
29
+ if (_errs1 === errors) {
30
+ if (data.display !== void 0) {
31
+ let data0 = data.display;
32
+ const _errs2 = errors;
33
+ if (errors === _errs2) {
34
+ if (Array.isArray(data0)) {
35
+ var valid1 = true;
36
+ const len0 = data0.length;
37
+ for (let i0 = 0; i0 < len0; i0++) {
38
+ let data1 = data0[i0];
39
+ const _errs4 = errors;
40
+ const _errs5 = errors;
41
+ if (errors === _errs5) {
42
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
43
+ let missing0;
44
+ if (data1.display === void 0 && (missing0 = "display")) {
45
+ validate21.errors = [{ instancePath: instancePath + "/display/" + i0, schemaPath: "#/definitions/display/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
46
+ return false;
47
+ }
48
+ else {
49
+ const _errs7 = errors;
50
+ for (const key1 in data1) {
51
+ if (!(key1 === "display" || key1 === "id" || key1 === "to")) {
52
+ validate21.errors = [{ instancePath: instancePath + "/display/" + i0, schemaPath: "#/definitions/display/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
53
+ return false;
54
+ break;
55
+ }
56
+ }
57
+ if (_errs7 === errors) {
58
+ if (data1.display !== void 0) {
59
+ const _errs8 = errors;
60
+ if (typeof data1.display !== "string") {
61
+ validate21.errors = [{ instancePath: instancePath + "/display/" + i0 + "/display", schemaPath: "#/definitions/display/properties/display/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
62
+ return false;
63
+ }
64
+ var valid3 = _errs8 === errors;
65
+ }
66
+ else {
67
+ var valid3 = true;
68
+ }
69
+ if (valid3) {
70
+ if (data1.id !== void 0) {
71
+ const _errs10 = errors;
72
+ if (typeof data1.id !== "string") {
73
+ validate21.errors = [{ instancePath: instancePath + "/display/" + i0 + "/id", schemaPath: "#/definitions/display/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
74
+ return false;
75
+ }
76
+ var valid3 = _errs10 === errors;
77
+ }
78
+ else {
79
+ var valid3 = true;
80
+ }
81
+ if (valid3) {
82
+ if (data1.to !== void 0) {
83
+ const _errs12 = errors;
84
+ if (typeof data1.to !== "string") {
85
+ validate21.errors = [{ instancePath: instancePath + "/display/" + i0 + "/to", schemaPath: "#/definitions/display/properties/to/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
86
+ return false;
87
+ }
88
+ var valid3 = _errs12 === errors;
89
+ }
90
+ else {
91
+ var valid3 = true;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ else {
99
+ validate21.errors = [{ instancePath: instancePath + "/display/" + i0, schemaPath: "#/definitions/display/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
100
+ return false;
101
+ }
102
+ }
103
+ var valid1 = _errs4 === errors;
104
+ if (!valid1) {
105
+ break;
106
+ }
107
+ }
108
+ }
109
+ else {
110
+ validate21.errors = [{ instancePath: instancePath + "/display", schemaPath: "#/properties/display/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
111
+ return false;
112
+ }
113
+ }
114
+ var valid0 = _errs2 === errors;
115
+ }
116
+ else {
117
+ var valid0 = true;
118
+ }
119
+ if (valid0) {
120
+ if (data.displayOptions !== void 0) {
121
+ let data5 = data.displayOptions;
122
+ const _errs14 = errors;
123
+ const _errs15 = errors;
124
+ if (errors === _errs15) {
125
+ if (data5 && typeof data5 == "object" && !Array.isArray(data5)) {
126
+ const _errs17 = errors;
127
+ for (const key2 in data5) {
128
+ if (!(key2 === "baseCharacter")) {
129
+ validate21.errors = [{ instancePath: instancePath + "/displayOptions", schemaPath: "#/definitions/displayOptions/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }];
130
+ return false;
131
+ break;
132
+ }
133
+ }
134
+ if (_errs17 === errors) {
135
+ if (data5.baseCharacter !== void 0) {
136
+ if (typeof data5.baseCharacter !== "string") {
137
+ validate21.errors = [{ instancePath: instancePath + "/displayOptions/baseCharacter", schemaPath: "#/definitions/displayOptions/properties/baseCharacter/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
138
+ return false;
139
+ }
140
+ }
141
+ }
142
+ }
143
+ else {
144
+ validate21.errors = [{ instancePath: instancePath + "/displayOptions", schemaPath: "#/definitions/displayOptions/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
145
+ return false;
146
+ }
147
+ }
148
+ var valid0 = _errs14 === errors;
149
+ }
150
+ else {
151
+ var valid0 = true;
152
+ }
153
+ if (valid0) {
154
+ if (data.import !== void 0) {
155
+ let data7 = data.import;
156
+ const _errs20 = errors;
157
+ if (errors === _errs20) {
158
+ if (Array.isArray(data7)) {
159
+ var valid6 = true;
160
+ const len1 = data7.length;
161
+ for (let i1 = 0; i1 < len1; i1++) {
162
+ let data8 = data7[i1];
163
+ const _errs22 = errors;
164
+ const _errs23 = errors;
165
+ if (errors === _errs23) {
166
+ if (data8 && typeof data8 == "object" && !Array.isArray(data8)) {
167
+ let missing1;
168
+ if (data8.path === void 0 && (missing1 = "path")) {
169
+ validate21.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
170
+ return false;
171
+ }
172
+ else {
173
+ const _errs25 = errors;
174
+ for (const key3 in data8) {
175
+ if (!(key3 === "base" || key3 === "path")) {
176
+ validate21.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" }];
177
+ return false;
178
+ break;
179
+ }
180
+ }
181
+ if (_errs25 === errors) {
182
+ if (data8.base !== void 0) {
183
+ let data9 = data8.base;
184
+ const _errs26 = errors;
185
+ if (typeof data9 !== "string") {
186
+ validate21.errors = [{ instancePath: instancePath + "/import/" + i1 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
187
+ return false;
188
+ }
189
+ if (!(data9 === "cldr")) {
190
+ validate21.errors = [{ instancePath: instancePath + "/import/" + i1 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
191
+ return false;
192
+ }
193
+ var valid8 = _errs26 === errors;
194
+ }
195
+ else {
196
+ var valid8 = true;
197
+ }
198
+ if (valid8) {
199
+ if (data8.path !== void 0) {
200
+ const _errs28 = errors;
201
+ if (typeof data8.path !== "string") {
202
+ validate21.errors = [{ instancePath: instancePath + "/import/" + i1 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
203
+ return false;
204
+ }
205
+ var valid8 = _errs28 === errors;
206
+ }
207
+ else {
208
+ var valid8 = true;
209
+ }
210
+ }
211
+ }
212
+ }
213
+ }
214
+ else {
215
+ validate21.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
216
+ return false;
217
+ }
218
+ }
219
+ var valid6 = _errs22 === errors;
220
+ if (!valid6) {
221
+ break;
222
+ }
223
+ }
224
+ }
225
+ else {
226
+ validate21.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
227
+ return false;
228
+ }
229
+ }
230
+ var valid0 = _errs20 === errors;
231
+ }
232
+ else {
233
+ var valid0 = true;
234
+ }
235
+ if (valid0) {
236
+ if (data.special !== void 0) {
237
+ let data11 = data.special;
238
+ const _errs30 = errors;
239
+ if (errors === _errs30) {
240
+ if (Array.isArray(data11)) {
241
+ var valid9 = true;
242
+ const len2 = data11.length;
243
+ for (let i2 = 0; i2 < len2; i2++) {
244
+ const _errs32 = errors;
245
+ if (typeof data11[i2] !== "string") {
246
+ validate21.errors = [{ instancePath: instancePath + "/special/" + i2, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
247
+ return false;
248
+ }
249
+ var valid9 = _errs32 === errors;
250
+ if (!valid9) {
251
+ break;
252
+ }
253
+ }
254
+ }
255
+ else {
256
+ validate21.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
257
+ return false;
258
+ }
259
+ }
260
+ var valid0 = _errs30 === errors;
261
+ }
262
+ else {
263
+ var valid0 = true;
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }
269
+ }
270
+ else {
271
+ validate21.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
272
+ return false;
273
+ }
274
+ }
275
+ validate21.errors = vErrors;
276
+ return errors === 0;
277
+ }
278
+ function validate24(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
279
+ let vErrors = null;
280
+ let errors = 0;
281
+ if (errors === 0) {
282
+ if (data && typeof data == "object" && !Array.isArray(data)) {
283
+ let missing0;
284
+ if (data.scanCodes === void 0 && (missing0 = "scanCodes")) {
285
+ validate24.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
286
+ return false;
287
+ }
288
+ else {
289
+ const _errs1 = errors;
290
+ for (const key0 in data) {
291
+ if (!(key0 === "id" || key0 === "scanCodes" || key0 === "special")) {
292
+ validate24.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
293
+ return false;
294
+ break;
295
+ }
296
+ }
297
+ if (_errs1 === errors) {
298
+ if (data.id !== void 0) {
299
+ const _errs2 = errors;
300
+ if (typeof data.id !== "string") {
301
+ validate24.errors = [{ instancePath: instancePath + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
302
+ return false;
303
+ }
304
+ var valid0 = _errs2 === errors;
305
+ }
306
+ else {
307
+ var valid0 = true;
308
+ }
309
+ if (valid0) {
310
+ if (data.scanCodes !== void 0) {
311
+ let data1 = data.scanCodes;
312
+ const _errs4 = errors;
313
+ if (errors === _errs4) {
314
+ if (Array.isArray(data1)) {
315
+ if (data1.length < 1) {
316
+ validate24.errors = [{ instancePath: instancePath + "/scanCodes", schemaPath: "#/properties/scanCodes/minItems", keyword: "minItems", params: { limit: 1 }, message: "must NOT have fewer than 1 items" }];
317
+ return false;
318
+ }
319
+ else {
320
+ var valid1 = true;
321
+ const len0 = data1.length;
322
+ for (let i0 = 0; i0 < len0; i0++) {
323
+ let data2 = data1[i0];
324
+ const _errs6 = errors;
325
+ const _errs7 = errors;
326
+ if (errors === _errs7) {
327
+ if (data2 && typeof data2 == "object" && !Array.isArray(data2)) {
328
+ let missing1;
329
+ if (data2.codes === void 0 && (missing1 = "codes")) {
330
+ validate24.errors = [{ instancePath: instancePath + "/scanCodes/" + i0, schemaPath: "#/definitions/scanCodes/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
331
+ return false;
332
+ }
333
+ else {
334
+ const _errs9 = errors;
335
+ for (const key1 in data2) {
336
+ if (!(key1 === "codes")) {
337
+ validate24.errors = [{ instancePath: instancePath + "/scanCodes/" + i0, schemaPath: "#/definitions/scanCodes/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
338
+ return false;
339
+ break;
340
+ }
341
+ }
342
+ if (_errs9 === errors) {
343
+ if (data2.codes !== void 0) {
344
+ if (typeof data2.codes !== "string") {
345
+ validate24.errors = [{ instancePath: instancePath + "/scanCodes/" + i0 + "/codes", schemaPath: "#/definitions/scanCodes/properties/codes/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
346
+ return false;
347
+ }
348
+ }
349
+ }
350
+ }
351
+ }
352
+ else {
353
+ validate24.errors = [{ instancePath: instancePath + "/scanCodes/" + i0, schemaPath: "#/definitions/scanCodes/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
354
+ return false;
355
+ }
356
+ }
357
+ var valid1 = _errs6 === errors;
358
+ if (!valid1) {
359
+ break;
360
+ }
361
+ }
362
+ }
363
+ }
364
+ else {
365
+ validate24.errors = [{ instancePath: instancePath + "/scanCodes", schemaPath: "#/properties/scanCodes/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
366
+ return false;
367
+ }
368
+ }
369
+ var valid0 = _errs4 === errors;
370
+ }
371
+ else {
372
+ var valid0 = true;
373
+ }
374
+ if (valid0) {
375
+ if (data.special !== void 0) {
376
+ let data4 = data.special;
377
+ const _errs12 = errors;
378
+ if (errors === _errs12) {
379
+ if (Array.isArray(data4)) {
380
+ var valid4 = true;
381
+ const len1 = data4.length;
382
+ for (let i1 = 0; i1 < len1; i1++) {
383
+ const _errs14 = errors;
384
+ if (typeof data4[i1] !== "string") {
385
+ validate24.errors = [{ instancePath: instancePath + "/special/" + i1, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
386
+ return false;
387
+ }
388
+ var valid4 = _errs14 === errors;
389
+ if (!valid4) {
390
+ break;
391
+ }
392
+ }
393
+ }
394
+ else {
395
+ validate24.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
396
+ return false;
397
+ }
398
+ }
399
+ var valid0 = _errs12 === errors;
400
+ }
401
+ else {
402
+ var valid0 = true;
403
+ }
404
+ }
405
+ }
406
+ }
407
+ }
408
+ }
409
+ else {
410
+ validate24.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
411
+ return false;
412
+ }
413
+ }
414
+ validate24.errors = vErrors;
415
+ return errors === 0;
416
+ }
417
+ function validate23(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
418
+ let vErrors = null;
419
+ let errors = 0;
420
+ if (errors === 0) {
421
+ if (data && typeof data == "object" && !Array.isArray(data)) {
422
+ const _errs1 = errors;
423
+ for (const key0 in data) {
424
+ if (!(key0 === "form" || key0 === "import" || key0 === "special")) {
425
+ validate23.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
426
+ return false;
427
+ break;
428
+ }
429
+ }
430
+ if (_errs1 === errors) {
431
+ if (data.form !== void 0) {
432
+ let data0 = data.form;
433
+ const _errs2 = errors;
434
+ if (errors === _errs2) {
435
+ if (Array.isArray(data0)) {
436
+ var valid1 = true;
437
+ const len0 = data0.length;
438
+ for (let i0 = 0; i0 < len0; i0++) {
439
+ const _errs4 = errors;
440
+ if (!validate24(data0[i0], { instancePath: instancePath + "/form/" + i0, parentData: data0, parentDataProperty: i0, rootData })) {
441
+ vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);
442
+ errors = vErrors.length;
443
+ }
444
+ var valid1 = _errs4 === errors;
445
+ if (!valid1) {
446
+ break;
447
+ }
448
+ }
449
+ }
450
+ else {
451
+ validate23.errors = [{ instancePath: instancePath + "/form", schemaPath: "#/properties/form/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
452
+ return false;
453
+ }
454
+ }
455
+ var valid0 = _errs2 === errors;
456
+ }
457
+ else {
458
+ var valid0 = true;
459
+ }
460
+ if (valid0) {
461
+ if (data.import !== void 0) {
462
+ let data2 = data.import;
463
+ const _errs5 = errors;
464
+ if (errors === _errs5) {
465
+ if (Array.isArray(data2)) {
466
+ var valid2 = true;
467
+ const len1 = data2.length;
468
+ for (let i1 = 0; i1 < len1; i1++) {
469
+ let data3 = data2[i1];
470
+ const _errs7 = errors;
471
+ const _errs8 = errors;
472
+ if (errors === _errs8) {
473
+ if (data3 && typeof data3 == "object" && !Array.isArray(data3)) {
474
+ let missing0;
475
+ if (data3.path === void 0 && (missing0 = "path")) {
476
+ validate23.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
477
+ return false;
478
+ }
479
+ else {
480
+ const _errs10 = errors;
481
+ for (const key1 in data3) {
482
+ if (!(key1 === "base" || key1 === "path")) {
483
+ validate23.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
484
+ return false;
485
+ break;
486
+ }
487
+ }
488
+ if (_errs10 === errors) {
489
+ if (data3.base !== void 0) {
490
+ let data4 = data3.base;
491
+ const _errs11 = errors;
492
+ if (typeof data4 !== "string") {
493
+ validate23.errors = [{ instancePath: instancePath + "/import/" + i1 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
494
+ return false;
495
+ }
496
+ if (!(data4 === "cldr")) {
497
+ validate23.errors = [{ instancePath: instancePath + "/import/" + i1 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
498
+ return false;
499
+ }
500
+ var valid4 = _errs11 === errors;
501
+ }
502
+ else {
503
+ var valid4 = true;
504
+ }
505
+ if (valid4) {
506
+ if (data3.path !== void 0) {
507
+ const _errs13 = errors;
508
+ if (typeof data3.path !== "string") {
509
+ validate23.errors = [{ instancePath: instancePath + "/import/" + i1 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
510
+ return false;
511
+ }
512
+ var valid4 = _errs13 === errors;
513
+ }
514
+ else {
515
+ var valid4 = true;
516
+ }
517
+ }
518
+ }
519
+ }
520
+ }
521
+ else {
522
+ validate23.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
523
+ return false;
524
+ }
525
+ }
526
+ var valid2 = _errs7 === errors;
527
+ if (!valid2) {
528
+ break;
529
+ }
530
+ }
531
+ }
532
+ else {
533
+ validate23.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
534
+ return false;
535
+ }
536
+ }
537
+ var valid0 = _errs5 === errors;
538
+ }
539
+ else {
540
+ var valid0 = true;
541
+ }
542
+ if (valid0) {
543
+ if (data.special !== void 0) {
544
+ let data6 = data.special;
545
+ const _errs15 = errors;
546
+ if (errors === _errs15) {
547
+ if (Array.isArray(data6)) {
548
+ var valid5 = true;
549
+ const len2 = data6.length;
550
+ for (let i2 = 0; i2 < len2; i2++) {
551
+ const _errs17 = errors;
552
+ if (typeof data6[i2] !== "string") {
553
+ validate23.errors = [{ instancePath: instancePath + "/special/" + i2, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
554
+ return false;
555
+ }
556
+ var valid5 = _errs17 === errors;
557
+ if (!valid5) {
558
+ break;
559
+ }
560
+ }
561
+ }
562
+ else {
563
+ validate23.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
564
+ return false;
565
+ }
566
+ }
567
+ var valid0 = _errs15 === errors;
568
+ }
569
+ else {
570
+ var valid0 = true;
571
+ }
572
+ }
573
+ }
574
+ }
575
+ }
576
+ else {
577
+ validate23.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
578
+ return false;
579
+ }
580
+ }
581
+ validate23.errors = vErrors;
582
+ return errors === 0;
583
+ }
584
+ var schema41 = { "additionalProperties": false, "properties": { "flicks": { "type": "string" }, "gap": { "enum": ["true"], "type": "string" }, "id": { "type": "string" }, "longPress": { "type": "string" }, "longPressDefault": { "type": "string" }, "multiTap": { "type": "string" }, "stretch": { "enum": ["true"], "type": "string" }, "switch": { "type": "string" }, "to": { "type": "string" }, "transform": { "enum": ["no"], "type": "string" }, "width": { "type": "string" } }, "required": ["id"], "type": "object" };
585
+ function validate28(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
586
+ let vErrors = null;
587
+ let errors = 0;
588
+ if (errors === 0) {
589
+ if (data && typeof data == "object" && !Array.isArray(data)) {
590
+ let missing0;
591
+ if (data.flick === void 0 && (missing0 = "flick") || data.id === void 0 && (missing0 = "id")) {
592
+ validate28.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
593
+ return false;
594
+ }
595
+ else {
596
+ const _errs1 = errors;
597
+ for (const key0 in data) {
598
+ if (!(key0 === "flick" || key0 === "id" || key0 === "special")) {
599
+ validate28.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
600
+ return false;
601
+ break;
602
+ }
603
+ }
604
+ if (_errs1 === errors) {
605
+ if (data.flick !== void 0) {
606
+ let data0 = data.flick;
607
+ const _errs2 = errors;
608
+ if (errors === _errs2) {
609
+ if (Array.isArray(data0)) {
610
+ if (data0.length < 1) {
611
+ validate28.errors = [{ instancePath: instancePath + "/flick", schemaPath: "#/properties/flick/minItems", keyword: "minItems", params: { limit: 1 }, message: "must NOT have fewer than 1 items" }];
612
+ return false;
613
+ }
614
+ else {
615
+ var valid1 = true;
616
+ const len0 = data0.length;
617
+ for (let i0 = 0; i0 < len0; i0++) {
618
+ let data1 = data0[i0];
619
+ const _errs4 = errors;
620
+ const _errs5 = errors;
621
+ if (errors === _errs5) {
622
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
623
+ let missing1;
624
+ if (data1.directions === void 0 && (missing1 = "directions") || data1.to === void 0 && (missing1 = "to")) {
625
+ validate28.errors = [{ instancePath: instancePath + "/flick/" + i0, schemaPath: "#/definitions/flick/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
626
+ return false;
627
+ }
628
+ else {
629
+ const _errs7 = errors;
630
+ for (const key1 in data1) {
631
+ if (!(key1 === "directions" || key1 === "to")) {
632
+ validate28.errors = [{ instancePath: instancePath + "/flick/" + i0, schemaPath: "#/definitions/flick/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
633
+ return false;
634
+ break;
635
+ }
636
+ }
637
+ if (_errs7 === errors) {
638
+ if (data1.directions !== void 0) {
639
+ const _errs8 = errors;
640
+ if (typeof data1.directions !== "string") {
641
+ validate28.errors = [{ instancePath: instancePath + "/flick/" + i0 + "/directions", schemaPath: "#/definitions/flick/properties/directions/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
642
+ return false;
643
+ }
644
+ var valid3 = _errs8 === errors;
645
+ }
646
+ else {
647
+ var valid3 = true;
648
+ }
649
+ if (valid3) {
650
+ if (data1.to !== void 0) {
651
+ const _errs10 = errors;
652
+ if (typeof data1.to !== "string") {
653
+ validate28.errors = [{ instancePath: instancePath + "/flick/" + i0 + "/to", schemaPath: "#/definitions/flick/properties/to/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
654
+ return false;
655
+ }
656
+ var valid3 = _errs10 === errors;
657
+ }
658
+ else {
659
+ var valid3 = true;
660
+ }
661
+ }
662
+ }
663
+ }
664
+ }
665
+ else {
666
+ validate28.errors = [{ instancePath: instancePath + "/flick/" + i0, schemaPath: "#/definitions/flick/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
667
+ return false;
668
+ }
669
+ }
670
+ var valid1 = _errs4 === errors;
671
+ if (!valid1) {
672
+ break;
673
+ }
674
+ }
675
+ }
676
+ }
677
+ else {
678
+ validate28.errors = [{ instancePath: instancePath + "/flick", schemaPath: "#/properties/flick/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
679
+ return false;
680
+ }
681
+ }
682
+ var valid0 = _errs2 === errors;
683
+ }
684
+ else {
685
+ var valid0 = true;
686
+ }
687
+ if (valid0) {
688
+ if (data.id !== void 0) {
689
+ const _errs12 = errors;
690
+ if (typeof data.id !== "string") {
691
+ validate28.errors = [{ instancePath: instancePath + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
692
+ return false;
693
+ }
694
+ var valid0 = _errs12 === errors;
695
+ }
696
+ else {
697
+ var valid0 = true;
698
+ }
699
+ if (valid0) {
700
+ if (data.special !== void 0) {
701
+ let data5 = data.special;
702
+ const _errs14 = errors;
703
+ if (errors === _errs14) {
704
+ if (Array.isArray(data5)) {
705
+ var valid4 = true;
706
+ const len1 = data5.length;
707
+ for (let i1 = 0; i1 < len1; i1++) {
708
+ const _errs16 = errors;
709
+ if (typeof data5[i1] !== "string") {
710
+ validate28.errors = [{ instancePath: instancePath + "/special/" + i1, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
711
+ return false;
712
+ }
713
+ var valid4 = _errs16 === errors;
714
+ if (!valid4) {
715
+ break;
716
+ }
717
+ }
718
+ }
719
+ else {
720
+ validate28.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
721
+ return false;
722
+ }
723
+ }
724
+ var valid0 = _errs14 === errors;
725
+ }
726
+ else {
727
+ var valid0 = true;
728
+ }
729
+ }
730
+ }
731
+ }
732
+ }
733
+ }
734
+ else {
735
+ validate28.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
736
+ return false;
737
+ }
738
+ }
739
+ validate28.errors = vErrors;
740
+ return errors === 0;
741
+ }
742
+ function validate27(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
743
+ let vErrors = null;
744
+ let errors = 0;
745
+ if (errors === 0) {
746
+ if (data && typeof data == "object" && !Array.isArray(data)) {
747
+ const _errs1 = errors;
748
+ for (const key0 in data) {
749
+ if (!(key0 === "flicks" || key0 === "import" || key0 === "key" || key0 === "special")) {
750
+ validate27.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
751
+ return false;
752
+ break;
753
+ }
754
+ }
755
+ if (_errs1 === errors) {
756
+ if (data.flicks !== void 0) {
757
+ let data0 = data.flicks;
758
+ const _errs2 = errors;
759
+ if (errors === _errs2) {
760
+ if (Array.isArray(data0)) {
761
+ var valid1 = true;
762
+ const len0 = data0.length;
763
+ for (let i0 = 0; i0 < len0; i0++) {
764
+ const _errs4 = errors;
765
+ if (!validate28(data0[i0], { instancePath: instancePath + "/flicks/" + i0, parentData: data0, parentDataProperty: i0, rootData })) {
766
+ vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);
767
+ errors = vErrors.length;
768
+ }
769
+ var valid1 = _errs4 === errors;
770
+ if (!valid1) {
771
+ break;
772
+ }
773
+ }
774
+ }
775
+ else {
776
+ validate27.errors = [{ instancePath: instancePath + "/flicks", schemaPath: "#/properties/flicks/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
777
+ return false;
778
+ }
779
+ }
780
+ var valid0 = _errs2 === errors;
781
+ }
782
+ else {
783
+ var valid0 = true;
784
+ }
785
+ if (valid0) {
786
+ if (data.import !== void 0) {
787
+ let data2 = data.import;
788
+ const _errs5 = errors;
789
+ if (errors === _errs5) {
790
+ if (Array.isArray(data2)) {
791
+ var valid2 = true;
792
+ const len1 = data2.length;
793
+ for (let i1 = 0; i1 < len1; i1++) {
794
+ let data3 = data2[i1];
795
+ const _errs7 = errors;
796
+ const _errs8 = errors;
797
+ if (errors === _errs8) {
798
+ if (data3 && typeof data3 == "object" && !Array.isArray(data3)) {
799
+ let missing0;
800
+ if (data3.path === void 0 && (missing0 = "path")) {
801
+ validate27.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
802
+ return false;
803
+ }
804
+ else {
805
+ const _errs10 = errors;
806
+ for (const key1 in data3) {
807
+ if (!(key1 === "base" || key1 === "path")) {
808
+ validate27.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
809
+ return false;
810
+ break;
811
+ }
812
+ }
813
+ if (_errs10 === errors) {
814
+ if (data3.base !== void 0) {
815
+ let data4 = data3.base;
816
+ const _errs11 = errors;
817
+ if (typeof data4 !== "string") {
818
+ validate27.errors = [{ instancePath: instancePath + "/import/" + i1 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
819
+ return false;
820
+ }
821
+ if (!(data4 === "cldr")) {
822
+ validate27.errors = [{ instancePath: instancePath + "/import/" + i1 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
823
+ return false;
824
+ }
825
+ var valid4 = _errs11 === errors;
826
+ }
827
+ else {
828
+ var valid4 = true;
829
+ }
830
+ if (valid4) {
831
+ if (data3.path !== void 0) {
832
+ const _errs13 = errors;
833
+ if (typeof data3.path !== "string") {
834
+ validate27.errors = [{ instancePath: instancePath + "/import/" + i1 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
835
+ return false;
836
+ }
837
+ var valid4 = _errs13 === errors;
838
+ }
839
+ else {
840
+ var valid4 = true;
841
+ }
842
+ }
843
+ }
844
+ }
845
+ }
846
+ else {
847
+ validate27.errors = [{ instancePath: instancePath + "/import/" + i1, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
848
+ return false;
849
+ }
850
+ }
851
+ var valid2 = _errs7 === errors;
852
+ if (!valid2) {
853
+ break;
854
+ }
855
+ }
856
+ }
857
+ else {
858
+ validate27.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
859
+ return false;
860
+ }
861
+ }
862
+ var valid0 = _errs5 === errors;
863
+ }
864
+ else {
865
+ var valid0 = true;
866
+ }
867
+ if (valid0) {
868
+ if (data.key !== void 0) {
869
+ let data6 = data.key;
870
+ const _errs15 = errors;
871
+ if (errors === _errs15) {
872
+ if (Array.isArray(data6)) {
873
+ var valid5 = true;
874
+ const len2 = data6.length;
875
+ for (let i2 = 0; i2 < len2; i2++) {
876
+ let data7 = data6[i2];
877
+ const _errs17 = errors;
878
+ const _errs18 = errors;
879
+ if (errors === _errs18) {
880
+ if (data7 && typeof data7 == "object" && !Array.isArray(data7)) {
881
+ let missing1;
882
+ if (data7.id === void 0 && (missing1 = "id")) {
883
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2, schemaPath: "#/definitions/key/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
884
+ return false;
885
+ }
886
+ else {
887
+ const _errs20 = errors;
888
+ for (const key2 in data7) {
889
+ if (!func4.call(schema41.properties, key2)) {
890
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2, schemaPath: "#/definitions/key/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }];
891
+ return false;
892
+ break;
893
+ }
894
+ }
895
+ if (_errs20 === errors) {
896
+ if (data7.flicks !== void 0) {
897
+ const _errs21 = errors;
898
+ if (typeof data7.flicks !== "string") {
899
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/flicks", schemaPath: "#/definitions/key/properties/flicks/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
900
+ return false;
901
+ }
902
+ var valid7 = _errs21 === errors;
903
+ }
904
+ else {
905
+ var valid7 = true;
906
+ }
907
+ if (valid7) {
908
+ if (data7.gap !== void 0) {
909
+ let data9 = data7.gap;
910
+ const _errs23 = errors;
911
+ if (typeof data9 !== "string") {
912
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/gap", schemaPath: "#/definitions/key/properties/gap/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
913
+ return false;
914
+ }
915
+ if (!(data9 === "true")) {
916
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/gap", schemaPath: "#/definitions/key/properties/gap/enum", keyword: "enum", params: { allowedValues: schema41.properties.gap.enum }, message: "must be equal to one of the allowed values" }];
917
+ return false;
918
+ }
919
+ var valid7 = _errs23 === errors;
920
+ }
921
+ else {
922
+ var valid7 = true;
923
+ }
924
+ if (valid7) {
925
+ if (data7.id !== void 0) {
926
+ const _errs25 = errors;
927
+ if (typeof data7.id !== "string") {
928
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/id", schemaPath: "#/definitions/key/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
929
+ return false;
930
+ }
931
+ var valid7 = _errs25 === errors;
932
+ }
933
+ else {
934
+ var valid7 = true;
935
+ }
936
+ if (valid7) {
937
+ if (data7.longPress !== void 0) {
938
+ const _errs27 = errors;
939
+ if (typeof data7.longPress !== "string") {
940
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/longPress", schemaPath: "#/definitions/key/properties/longPress/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
941
+ return false;
942
+ }
943
+ var valid7 = _errs27 === errors;
944
+ }
945
+ else {
946
+ var valid7 = true;
947
+ }
948
+ if (valid7) {
949
+ if (data7.longPressDefault !== void 0) {
950
+ const _errs29 = errors;
951
+ if (typeof data7.longPressDefault !== "string") {
952
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/longPressDefault", schemaPath: "#/definitions/key/properties/longPressDefault/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
953
+ return false;
954
+ }
955
+ var valid7 = _errs29 === errors;
956
+ }
957
+ else {
958
+ var valid7 = true;
959
+ }
960
+ if (valid7) {
961
+ if (data7.multiTap !== void 0) {
962
+ const _errs31 = errors;
963
+ if (typeof data7.multiTap !== "string") {
964
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/multiTap", schemaPath: "#/definitions/key/properties/multiTap/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
965
+ return false;
966
+ }
967
+ var valid7 = _errs31 === errors;
968
+ }
969
+ else {
970
+ var valid7 = true;
971
+ }
972
+ if (valid7) {
973
+ if (data7.stretch !== void 0) {
974
+ let data14 = data7.stretch;
975
+ const _errs33 = errors;
976
+ if (typeof data14 !== "string") {
977
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/stretch", schemaPath: "#/definitions/key/properties/stretch/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
978
+ return false;
979
+ }
980
+ if (!(data14 === "true")) {
981
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/stretch", schemaPath: "#/definitions/key/properties/stretch/enum", keyword: "enum", params: { allowedValues: schema41.properties.stretch.enum }, message: "must be equal to one of the allowed values" }];
982
+ return false;
983
+ }
984
+ var valid7 = _errs33 === errors;
985
+ }
986
+ else {
987
+ var valid7 = true;
988
+ }
989
+ if (valid7) {
990
+ if (data7.switch !== void 0) {
991
+ const _errs35 = errors;
992
+ if (typeof data7.switch !== "string") {
993
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/switch", schemaPath: "#/definitions/key/properties/switch/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
994
+ return false;
995
+ }
996
+ var valid7 = _errs35 === errors;
997
+ }
998
+ else {
999
+ var valid7 = true;
1000
+ }
1001
+ if (valid7) {
1002
+ if (data7.to !== void 0) {
1003
+ const _errs37 = errors;
1004
+ if (typeof data7.to !== "string") {
1005
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/to", schemaPath: "#/definitions/key/properties/to/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1006
+ return false;
1007
+ }
1008
+ var valid7 = _errs37 === errors;
1009
+ }
1010
+ else {
1011
+ var valid7 = true;
1012
+ }
1013
+ if (valid7) {
1014
+ if (data7.transform !== void 0) {
1015
+ let data17 = data7.transform;
1016
+ const _errs39 = errors;
1017
+ if (typeof data17 !== "string") {
1018
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/transform", schemaPath: "#/definitions/key/properties/transform/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1019
+ return false;
1020
+ }
1021
+ if (!(data17 === "no")) {
1022
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/transform", schemaPath: "#/definitions/key/properties/transform/enum", keyword: "enum", params: { allowedValues: schema41.properties.transform.enum }, message: "must be equal to one of the allowed values" }];
1023
+ return false;
1024
+ }
1025
+ var valid7 = _errs39 === errors;
1026
+ }
1027
+ else {
1028
+ var valid7 = true;
1029
+ }
1030
+ if (valid7) {
1031
+ if (data7.width !== void 0) {
1032
+ const _errs41 = errors;
1033
+ if (typeof data7.width !== "string") {
1034
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2 + "/width", schemaPath: "#/definitions/key/properties/width/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1035
+ return false;
1036
+ }
1037
+ var valid7 = _errs41 === errors;
1038
+ }
1039
+ else {
1040
+ var valid7 = true;
1041
+ }
1042
+ }
1043
+ }
1044
+ }
1045
+ }
1046
+ }
1047
+ }
1048
+ }
1049
+ }
1050
+ }
1051
+ }
1052
+ }
1053
+ }
1054
+ }
1055
+ else {
1056
+ validate27.errors = [{ instancePath: instancePath + "/key/" + i2, schemaPath: "#/definitions/key/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1057
+ return false;
1058
+ }
1059
+ }
1060
+ var valid5 = _errs17 === errors;
1061
+ if (!valid5) {
1062
+ break;
1063
+ }
1064
+ }
1065
+ }
1066
+ else {
1067
+ validate27.errors = [{ instancePath: instancePath + "/key", schemaPath: "#/properties/key/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1068
+ return false;
1069
+ }
1070
+ }
1071
+ var valid0 = _errs15 === errors;
1072
+ }
1073
+ else {
1074
+ var valid0 = true;
1075
+ }
1076
+ if (valid0) {
1077
+ if (data.special !== void 0) {
1078
+ let data19 = data.special;
1079
+ const _errs43 = errors;
1080
+ if (errors === _errs43) {
1081
+ if (Array.isArray(data19)) {
1082
+ var valid8 = true;
1083
+ const len3 = data19.length;
1084
+ for (let i3 = 0; i3 < len3; i3++) {
1085
+ const _errs45 = errors;
1086
+ if (typeof data19[i3] !== "string") {
1087
+ validate27.errors = [{ instancePath: instancePath + "/special/" + i3, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1088
+ return false;
1089
+ }
1090
+ var valid8 = _errs45 === errors;
1091
+ if (!valid8) {
1092
+ break;
1093
+ }
1094
+ }
1095
+ }
1096
+ else {
1097
+ validate27.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1098
+ return false;
1099
+ }
1100
+ }
1101
+ var valid0 = _errs43 === errors;
1102
+ }
1103
+ else {
1104
+ var valid0 = true;
1105
+ }
1106
+ }
1107
+ }
1108
+ }
1109
+ }
1110
+ }
1111
+ else {
1112
+ validate27.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1113
+ return false;
1114
+ }
1115
+ }
1116
+ validate27.errors = vErrors;
1117
+ return errors === 0;
1118
+ }
1119
+ function validate32(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
1120
+ let vErrors = null;
1121
+ let errors = 0;
1122
+ if (errors === 0) {
1123
+ if (data && typeof data == "object" && !Array.isArray(data)) {
1124
+ let missing0;
1125
+ if (data.row === void 0 && (missing0 = "row")) {
1126
+ validate32.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
1127
+ return false;
1128
+ }
1129
+ else {
1130
+ const _errs1 = errors;
1131
+ for (const key0 in data) {
1132
+ if (!(key0 === "id" || key0 === "modifier" || key0 === "row" || key0 === "special")) {
1133
+ validate32.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
1134
+ return false;
1135
+ break;
1136
+ }
1137
+ }
1138
+ if (_errs1 === errors) {
1139
+ if (data.id !== void 0) {
1140
+ const _errs2 = errors;
1141
+ if (typeof data.id !== "string") {
1142
+ validate32.errors = [{ instancePath: instancePath + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1143
+ return false;
1144
+ }
1145
+ var valid0 = _errs2 === errors;
1146
+ }
1147
+ else {
1148
+ var valid0 = true;
1149
+ }
1150
+ if (valid0) {
1151
+ if (data.modifier !== void 0) {
1152
+ const _errs4 = errors;
1153
+ if (typeof data.modifier !== "string") {
1154
+ validate32.errors = [{ instancePath: instancePath + "/modifier", schemaPath: "#/properties/modifier/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1155
+ return false;
1156
+ }
1157
+ var valid0 = _errs4 === errors;
1158
+ }
1159
+ else {
1160
+ var valid0 = true;
1161
+ }
1162
+ if (valid0) {
1163
+ if (data.row !== void 0) {
1164
+ let data2 = data.row;
1165
+ const _errs6 = errors;
1166
+ if (errors === _errs6) {
1167
+ if (Array.isArray(data2)) {
1168
+ if (data2.length < 1) {
1169
+ validate32.errors = [{ instancePath: instancePath + "/row", schemaPath: "#/properties/row/minItems", keyword: "minItems", params: { limit: 1 }, message: "must NOT have fewer than 1 items" }];
1170
+ return false;
1171
+ }
1172
+ else {
1173
+ var valid1 = true;
1174
+ const len0 = data2.length;
1175
+ for (let i0 = 0; i0 < len0; i0++) {
1176
+ let data3 = data2[i0];
1177
+ const _errs8 = errors;
1178
+ const _errs9 = errors;
1179
+ if (errors === _errs9) {
1180
+ if (data3 && typeof data3 == "object" && !Array.isArray(data3)) {
1181
+ let missing1;
1182
+ if (data3.keys === void 0 && (missing1 = "keys")) {
1183
+ validate32.errors = [{ instancePath: instancePath + "/row/" + i0, schemaPath: "#/definitions/row/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
1184
+ return false;
1185
+ }
1186
+ else {
1187
+ const _errs11 = errors;
1188
+ for (const key1 in data3) {
1189
+ if (!(key1 === "keys")) {
1190
+ validate32.errors = [{ instancePath: instancePath + "/row/" + i0, schemaPath: "#/definitions/row/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
1191
+ return false;
1192
+ break;
1193
+ }
1194
+ }
1195
+ if (_errs11 === errors) {
1196
+ if (data3.keys !== void 0) {
1197
+ if (typeof data3.keys !== "string") {
1198
+ validate32.errors = [{ instancePath: instancePath + "/row/" + i0 + "/keys", schemaPath: "#/definitions/row/properties/keys/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1199
+ return false;
1200
+ }
1201
+ }
1202
+ }
1203
+ }
1204
+ }
1205
+ else {
1206
+ validate32.errors = [{ instancePath: instancePath + "/row/" + i0, schemaPath: "#/definitions/row/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1207
+ return false;
1208
+ }
1209
+ }
1210
+ var valid1 = _errs8 === errors;
1211
+ if (!valid1) {
1212
+ break;
1213
+ }
1214
+ }
1215
+ }
1216
+ }
1217
+ else {
1218
+ validate32.errors = [{ instancePath: instancePath + "/row", schemaPath: "#/properties/row/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1219
+ return false;
1220
+ }
1221
+ }
1222
+ var valid0 = _errs6 === errors;
1223
+ }
1224
+ else {
1225
+ var valid0 = true;
1226
+ }
1227
+ if (valid0) {
1228
+ if (data.special !== void 0) {
1229
+ let data5 = data.special;
1230
+ const _errs14 = errors;
1231
+ if (errors === _errs14) {
1232
+ if (Array.isArray(data5)) {
1233
+ var valid4 = true;
1234
+ const len1 = data5.length;
1235
+ for (let i1 = 0; i1 < len1; i1++) {
1236
+ const _errs16 = errors;
1237
+ if (typeof data5[i1] !== "string") {
1238
+ validate32.errors = [{ instancePath: instancePath + "/special/" + i1, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1239
+ return false;
1240
+ }
1241
+ var valid4 = _errs16 === errors;
1242
+ if (!valid4) {
1243
+ break;
1244
+ }
1245
+ }
1246
+ }
1247
+ else {
1248
+ validate32.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1249
+ return false;
1250
+ }
1251
+ }
1252
+ var valid0 = _errs14 === errors;
1253
+ }
1254
+ else {
1255
+ var valid0 = true;
1256
+ }
1257
+ }
1258
+ }
1259
+ }
1260
+ }
1261
+ }
1262
+ }
1263
+ else {
1264
+ validate32.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1265
+ return false;
1266
+ }
1267
+ }
1268
+ validate32.errors = vErrors;
1269
+ return errors === 0;
1270
+ }
1271
+ function validate31(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
1272
+ let vErrors = null;
1273
+ let errors = 0;
1274
+ if (errors === 0) {
1275
+ if (data && typeof data == "object" && !Array.isArray(data)) {
1276
+ let missing0;
1277
+ if (data.form === void 0 && (missing0 = "form")) {
1278
+ validate31.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
1279
+ return false;
1280
+ }
1281
+ else {
1282
+ const _errs1 = errors;
1283
+ for (const key0 in data) {
1284
+ if (!(key0 === "form" || key0 === "import" || key0 === "layer" || key0 === "minDeviceWidth" || key0 === "special")) {
1285
+ validate31.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
1286
+ return false;
1287
+ break;
1288
+ }
1289
+ }
1290
+ if (_errs1 === errors) {
1291
+ if (data.form !== void 0) {
1292
+ const _errs2 = errors;
1293
+ if (typeof data.form !== "string") {
1294
+ validate31.errors = [{ instancePath: instancePath + "/form", schemaPath: "#/properties/form/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1295
+ return false;
1296
+ }
1297
+ var valid0 = _errs2 === errors;
1298
+ }
1299
+ else {
1300
+ var valid0 = true;
1301
+ }
1302
+ if (valid0) {
1303
+ if (data.import !== void 0) {
1304
+ let data1 = data.import;
1305
+ const _errs4 = errors;
1306
+ if (errors === _errs4) {
1307
+ if (Array.isArray(data1)) {
1308
+ var valid1 = true;
1309
+ const len0 = data1.length;
1310
+ for (let i0 = 0; i0 < len0; i0++) {
1311
+ let data2 = data1[i0];
1312
+ const _errs6 = errors;
1313
+ const _errs7 = errors;
1314
+ if (errors === _errs7) {
1315
+ if (data2 && typeof data2 == "object" && !Array.isArray(data2)) {
1316
+ let missing1;
1317
+ if (data2.path === void 0 && (missing1 = "path")) {
1318
+ validate31.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
1319
+ return false;
1320
+ }
1321
+ else {
1322
+ const _errs9 = errors;
1323
+ for (const key1 in data2) {
1324
+ if (!(key1 === "base" || key1 === "path")) {
1325
+ validate31.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
1326
+ return false;
1327
+ break;
1328
+ }
1329
+ }
1330
+ if (_errs9 === errors) {
1331
+ if (data2.base !== void 0) {
1332
+ let data3 = data2.base;
1333
+ const _errs10 = errors;
1334
+ if (typeof data3 !== "string") {
1335
+ validate31.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1336
+ return false;
1337
+ }
1338
+ if (!(data3 === "cldr")) {
1339
+ validate31.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
1340
+ return false;
1341
+ }
1342
+ var valid3 = _errs10 === errors;
1343
+ }
1344
+ else {
1345
+ var valid3 = true;
1346
+ }
1347
+ if (valid3) {
1348
+ if (data2.path !== void 0) {
1349
+ const _errs12 = errors;
1350
+ if (typeof data2.path !== "string") {
1351
+ validate31.errors = [{ instancePath: instancePath + "/import/" + i0 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1352
+ return false;
1353
+ }
1354
+ var valid3 = _errs12 === errors;
1355
+ }
1356
+ else {
1357
+ var valid3 = true;
1358
+ }
1359
+ }
1360
+ }
1361
+ }
1362
+ }
1363
+ else {
1364
+ validate31.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1365
+ return false;
1366
+ }
1367
+ }
1368
+ var valid1 = _errs6 === errors;
1369
+ if (!valid1) {
1370
+ break;
1371
+ }
1372
+ }
1373
+ }
1374
+ else {
1375
+ validate31.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1376
+ return false;
1377
+ }
1378
+ }
1379
+ var valid0 = _errs4 === errors;
1380
+ }
1381
+ else {
1382
+ var valid0 = true;
1383
+ }
1384
+ if (valid0) {
1385
+ if (data.layer !== void 0) {
1386
+ let data5 = data.layer;
1387
+ const _errs14 = errors;
1388
+ if (errors === _errs14) {
1389
+ if (Array.isArray(data5)) {
1390
+ var valid4 = true;
1391
+ const len1 = data5.length;
1392
+ for (let i1 = 0; i1 < len1; i1++) {
1393
+ const _errs16 = errors;
1394
+ if (!validate32(data5[i1], { instancePath: instancePath + "/layer/" + i1, parentData: data5, parentDataProperty: i1, rootData })) {
1395
+ vErrors = vErrors === null ? validate32.errors : vErrors.concat(validate32.errors);
1396
+ errors = vErrors.length;
1397
+ }
1398
+ var valid4 = _errs16 === errors;
1399
+ if (!valid4) {
1400
+ break;
1401
+ }
1402
+ }
1403
+ }
1404
+ else {
1405
+ validate31.errors = [{ instancePath: instancePath + "/layer", schemaPath: "#/properties/layer/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1406
+ return false;
1407
+ }
1408
+ }
1409
+ var valid0 = _errs14 === errors;
1410
+ }
1411
+ else {
1412
+ var valid0 = true;
1413
+ }
1414
+ if (valid0) {
1415
+ if (data.minDeviceWidth !== void 0) {
1416
+ const _errs17 = errors;
1417
+ if (typeof data.minDeviceWidth !== "string") {
1418
+ validate31.errors = [{ instancePath: instancePath + "/minDeviceWidth", schemaPath: "#/properties/minDeviceWidth/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1419
+ return false;
1420
+ }
1421
+ var valid0 = _errs17 === errors;
1422
+ }
1423
+ else {
1424
+ var valid0 = true;
1425
+ }
1426
+ if (valid0) {
1427
+ if (data.special !== void 0) {
1428
+ let data8 = data.special;
1429
+ const _errs19 = errors;
1430
+ if (errors === _errs19) {
1431
+ if (Array.isArray(data8)) {
1432
+ var valid5 = true;
1433
+ const len2 = data8.length;
1434
+ for (let i2 = 0; i2 < len2; i2++) {
1435
+ const _errs21 = errors;
1436
+ if (typeof data8[i2] !== "string") {
1437
+ validate31.errors = [{ instancePath: instancePath + "/special/" + i2, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1438
+ return false;
1439
+ }
1440
+ var valid5 = _errs21 === errors;
1441
+ if (!valid5) {
1442
+ break;
1443
+ }
1444
+ }
1445
+ }
1446
+ else {
1447
+ validate31.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1448
+ return false;
1449
+ }
1450
+ }
1451
+ var valid0 = _errs19 === errors;
1452
+ }
1453
+ else {
1454
+ var valid0 = true;
1455
+ }
1456
+ }
1457
+ }
1458
+ }
1459
+ }
1460
+ }
1461
+ }
1462
+ }
1463
+ else {
1464
+ validate31.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1465
+ return false;
1466
+ }
1467
+ }
1468
+ validate31.errors = vErrors;
1469
+ return errors === 0;
1470
+ }
1471
+ function validate35(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
1472
+ let vErrors = null;
1473
+ let errors = 0;
1474
+ if (errors === 0) {
1475
+ if (data && typeof data == "object" && !Array.isArray(data)) {
1476
+ const _errs1 = errors;
1477
+ for (const key0 in data) {
1478
+ if (!(key0 === "locale")) {
1479
+ validate35.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
1480
+ return false;
1481
+ break;
1482
+ }
1483
+ }
1484
+ if (_errs1 === errors) {
1485
+ if (data.locale !== void 0) {
1486
+ let data0 = data.locale;
1487
+ const _errs2 = errors;
1488
+ if (errors === _errs2) {
1489
+ if (Array.isArray(data0)) {
1490
+ var valid1 = true;
1491
+ const len0 = data0.length;
1492
+ for (let i0 = 0; i0 < len0; i0++) {
1493
+ let data1 = data0[i0];
1494
+ const _errs4 = errors;
1495
+ const _errs5 = errors;
1496
+ if (errors === _errs5) {
1497
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
1498
+ let missing0;
1499
+ if (data1.id === void 0 && (missing0 = "id")) {
1500
+ validate35.errors = [{ instancePath: instancePath + "/locale/" + i0, schemaPath: "#/definitions/locale/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
1501
+ return false;
1502
+ }
1503
+ else {
1504
+ const _errs7 = errors;
1505
+ for (const key1 in data1) {
1506
+ if (!(key1 === "id")) {
1507
+ validate35.errors = [{ instancePath: instancePath + "/locale/" + i0, schemaPath: "#/definitions/locale/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
1508
+ return false;
1509
+ break;
1510
+ }
1511
+ }
1512
+ if (_errs7 === errors) {
1513
+ if (data1.id !== void 0) {
1514
+ if (typeof data1.id !== "string") {
1515
+ validate35.errors = [{ instancePath: instancePath + "/locale/" + i0 + "/id", schemaPath: "#/definitions/locale/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1516
+ return false;
1517
+ }
1518
+ }
1519
+ }
1520
+ }
1521
+ }
1522
+ else {
1523
+ validate35.errors = [{ instancePath: instancePath + "/locale/" + i0, schemaPath: "#/definitions/locale/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1524
+ return false;
1525
+ }
1526
+ }
1527
+ var valid1 = _errs4 === errors;
1528
+ if (!valid1) {
1529
+ break;
1530
+ }
1531
+ }
1532
+ }
1533
+ else {
1534
+ validate35.errors = [{ instancePath: instancePath + "/locale", schemaPath: "#/properties/locale/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1535
+ return false;
1536
+ }
1537
+ }
1538
+ }
1539
+ }
1540
+ }
1541
+ else {
1542
+ validate35.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1543
+ return false;
1544
+ }
1545
+ }
1546
+ validate35.errors = vErrors;
1547
+ return errors === 0;
1548
+ }
1549
+ function validate37(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
1550
+ let vErrors = null;
1551
+ let errors = 0;
1552
+ if (errors === 0) {
1553
+ if (data && typeof data == "object" && !Array.isArray(data)) {
1554
+ let missing0;
1555
+ if (data.name === void 0 && (missing0 = "name")) {
1556
+ validate37.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
1557
+ return false;
1558
+ }
1559
+ else {
1560
+ const _errs1 = errors;
1561
+ for (const key0 in data) {
1562
+ if (!(key0 === "import" || key0 === "name" || key0 === "special")) {
1563
+ validate37.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
1564
+ return false;
1565
+ break;
1566
+ }
1567
+ }
1568
+ if (_errs1 === errors) {
1569
+ if (data.import !== void 0) {
1570
+ let data0 = data.import;
1571
+ const _errs2 = errors;
1572
+ if (errors === _errs2) {
1573
+ if (Array.isArray(data0)) {
1574
+ var valid1 = true;
1575
+ const len0 = data0.length;
1576
+ for (let i0 = 0; i0 < len0; i0++) {
1577
+ let data1 = data0[i0];
1578
+ const _errs4 = errors;
1579
+ const _errs5 = errors;
1580
+ if (errors === _errs5) {
1581
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
1582
+ let missing1;
1583
+ if (data1.path === void 0 && (missing1 = "path")) {
1584
+ validate37.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
1585
+ return false;
1586
+ }
1587
+ else {
1588
+ const _errs7 = errors;
1589
+ for (const key1 in data1) {
1590
+ if (!(key1 === "base" || key1 === "path")) {
1591
+ validate37.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
1592
+ return false;
1593
+ break;
1594
+ }
1595
+ }
1596
+ if (_errs7 === errors) {
1597
+ if (data1.base !== void 0) {
1598
+ let data2 = data1.base;
1599
+ const _errs8 = errors;
1600
+ if (typeof data2 !== "string") {
1601
+ validate37.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1602
+ return false;
1603
+ }
1604
+ if (!(data2 === "cldr")) {
1605
+ validate37.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
1606
+ return false;
1607
+ }
1608
+ var valid3 = _errs8 === errors;
1609
+ }
1610
+ else {
1611
+ var valid3 = true;
1612
+ }
1613
+ if (valid3) {
1614
+ if (data1.path !== void 0) {
1615
+ const _errs10 = errors;
1616
+ if (typeof data1.path !== "string") {
1617
+ validate37.errors = [{ instancePath: instancePath + "/import/" + i0 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1618
+ return false;
1619
+ }
1620
+ var valid3 = _errs10 === errors;
1621
+ }
1622
+ else {
1623
+ var valid3 = true;
1624
+ }
1625
+ }
1626
+ }
1627
+ }
1628
+ }
1629
+ else {
1630
+ validate37.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1631
+ return false;
1632
+ }
1633
+ }
1634
+ var valid1 = _errs4 === errors;
1635
+ if (!valid1) {
1636
+ break;
1637
+ }
1638
+ }
1639
+ }
1640
+ else {
1641
+ validate37.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1642
+ return false;
1643
+ }
1644
+ }
1645
+ var valid0 = _errs2 === errors;
1646
+ }
1647
+ else {
1648
+ var valid0 = true;
1649
+ }
1650
+ if (valid0) {
1651
+ if (data.name !== void 0) {
1652
+ let data4 = data.name;
1653
+ const _errs12 = errors;
1654
+ if (errors === _errs12) {
1655
+ if (Array.isArray(data4)) {
1656
+ if (data4.length < 1) {
1657
+ validate37.errors = [{ instancePath: instancePath + "/name", schemaPath: "#/properties/name/minItems", keyword: "minItems", params: { limit: 1 }, message: "must NOT have fewer than 1 items" }];
1658
+ return false;
1659
+ }
1660
+ else {
1661
+ var valid4 = true;
1662
+ const len1 = data4.length;
1663
+ for (let i1 = 0; i1 < len1; i1++) {
1664
+ let data5 = data4[i1];
1665
+ const _errs14 = errors;
1666
+ const _errs15 = errors;
1667
+ if (errors === _errs15) {
1668
+ if (data5 && typeof data5 == "object" && !Array.isArray(data5)) {
1669
+ let missing2;
1670
+ if (data5.value === void 0 && (missing2 = "value")) {
1671
+ validate37.errors = [{ instancePath: instancePath + "/name/" + i1, schemaPath: "#/definitions/name/required", keyword: "required", params: { missingProperty: missing2 }, message: "must have required property '" + missing2 + "'" }];
1672
+ return false;
1673
+ }
1674
+ else {
1675
+ const _errs17 = errors;
1676
+ for (const key2 in data5) {
1677
+ if (!(key2 === "value")) {
1678
+ validate37.errors = [{ instancePath: instancePath + "/name/" + i1, schemaPath: "#/definitions/name/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }];
1679
+ return false;
1680
+ break;
1681
+ }
1682
+ }
1683
+ if (_errs17 === errors) {
1684
+ if (data5.value !== void 0) {
1685
+ if (typeof data5.value !== "string") {
1686
+ validate37.errors = [{ instancePath: instancePath + "/name/" + i1 + "/value", schemaPath: "#/definitions/name/properties/value/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1687
+ return false;
1688
+ }
1689
+ }
1690
+ }
1691
+ }
1692
+ }
1693
+ else {
1694
+ validate37.errors = [{ instancePath: instancePath + "/name/" + i1, schemaPath: "#/definitions/name/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1695
+ return false;
1696
+ }
1697
+ }
1698
+ var valid4 = _errs14 === errors;
1699
+ if (!valid4) {
1700
+ break;
1701
+ }
1702
+ }
1703
+ }
1704
+ }
1705
+ else {
1706
+ validate37.errors = [{ instancePath: instancePath + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1707
+ return false;
1708
+ }
1709
+ }
1710
+ var valid0 = _errs12 === errors;
1711
+ }
1712
+ else {
1713
+ var valid0 = true;
1714
+ }
1715
+ if (valid0) {
1716
+ if (data.special !== void 0) {
1717
+ let data7 = data.special;
1718
+ const _errs20 = errors;
1719
+ if (errors === _errs20) {
1720
+ if (Array.isArray(data7)) {
1721
+ var valid7 = true;
1722
+ const len2 = data7.length;
1723
+ for (let i2 = 0; i2 < len2; i2++) {
1724
+ const _errs22 = errors;
1725
+ if (typeof data7[i2] !== "string") {
1726
+ validate37.errors = [{ instancePath: instancePath + "/special/" + i2, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1727
+ return false;
1728
+ }
1729
+ var valid7 = _errs22 === errors;
1730
+ if (!valid7) {
1731
+ break;
1732
+ }
1733
+ }
1734
+ }
1735
+ else {
1736
+ validate37.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1737
+ return false;
1738
+ }
1739
+ }
1740
+ var valid0 = _errs20 === errors;
1741
+ }
1742
+ else {
1743
+ var valid0 = true;
1744
+ }
1745
+ }
1746
+ }
1747
+ }
1748
+ }
1749
+ }
1750
+ else {
1751
+ validate37.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1752
+ return false;
1753
+ }
1754
+ }
1755
+ validate37.errors = vErrors;
1756
+ return errors === 0;
1757
+ }
1758
+ var schema57 = { "additionalProperties": false, "properties": { "import": { "items": { "$ref": "#/definitions/import" }, "type": "array" }, "special": { "items": { "$ref": "#/definitions/special" }, "type": "array" }, "transformGroup": { "items": { "$ref": "#/definitions/transformGroup" }, "type": "array" }, "type": { "enum": ["simple", "backspace"], "type": "string" } }, "required": ["type"], "type": "object" };
1759
+ function validate40(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
1760
+ let vErrors = null;
1761
+ let errors = 0;
1762
+ if (errors === 0) {
1763
+ if (data && typeof data == "object" && !Array.isArray(data)) {
1764
+ const _errs1 = errors;
1765
+ for (const key0 in data) {
1766
+ if (!(key0 === "import" || key0 === "reorder" || key0 === "special" || key0 === "transform")) {
1767
+ validate40.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
1768
+ return false;
1769
+ break;
1770
+ }
1771
+ }
1772
+ if (_errs1 === errors) {
1773
+ if (data.import !== void 0) {
1774
+ let data0 = data.import;
1775
+ const _errs2 = errors;
1776
+ if (errors === _errs2) {
1777
+ if (Array.isArray(data0)) {
1778
+ var valid1 = true;
1779
+ const len0 = data0.length;
1780
+ for (let i0 = 0; i0 < len0; i0++) {
1781
+ let data1 = data0[i0];
1782
+ const _errs4 = errors;
1783
+ const _errs5 = errors;
1784
+ if (errors === _errs5) {
1785
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
1786
+ let missing0;
1787
+ if (data1.path === void 0 && (missing0 = "path")) {
1788
+ validate40.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
1789
+ return false;
1790
+ }
1791
+ else {
1792
+ const _errs7 = errors;
1793
+ for (const key1 in data1) {
1794
+ if (!(key1 === "base" || key1 === "path")) {
1795
+ validate40.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
1796
+ return false;
1797
+ break;
1798
+ }
1799
+ }
1800
+ if (_errs7 === errors) {
1801
+ if (data1.base !== void 0) {
1802
+ let data2 = data1.base;
1803
+ const _errs8 = errors;
1804
+ if (typeof data2 !== "string") {
1805
+ validate40.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1806
+ return false;
1807
+ }
1808
+ if (!(data2 === "cldr")) {
1809
+ validate40.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
1810
+ return false;
1811
+ }
1812
+ var valid3 = _errs8 === errors;
1813
+ }
1814
+ else {
1815
+ var valid3 = true;
1816
+ }
1817
+ if (valid3) {
1818
+ if (data1.path !== void 0) {
1819
+ const _errs10 = errors;
1820
+ if (typeof data1.path !== "string") {
1821
+ validate40.errors = [{ instancePath: instancePath + "/import/" + i0 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1822
+ return false;
1823
+ }
1824
+ var valid3 = _errs10 === errors;
1825
+ }
1826
+ else {
1827
+ var valid3 = true;
1828
+ }
1829
+ }
1830
+ }
1831
+ }
1832
+ }
1833
+ else {
1834
+ validate40.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1835
+ return false;
1836
+ }
1837
+ }
1838
+ var valid1 = _errs4 === errors;
1839
+ if (!valid1) {
1840
+ break;
1841
+ }
1842
+ }
1843
+ }
1844
+ else {
1845
+ validate40.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1846
+ return false;
1847
+ }
1848
+ }
1849
+ var valid0 = _errs2 === errors;
1850
+ }
1851
+ else {
1852
+ var valid0 = true;
1853
+ }
1854
+ if (valid0) {
1855
+ if (data.reorder !== void 0) {
1856
+ let data4 = data.reorder;
1857
+ const _errs12 = errors;
1858
+ if (errors === _errs12) {
1859
+ if (Array.isArray(data4)) {
1860
+ var valid4 = true;
1861
+ const len1 = data4.length;
1862
+ for (let i1 = 0; i1 < len1; i1++) {
1863
+ let data5 = data4[i1];
1864
+ const _errs14 = errors;
1865
+ const _errs15 = errors;
1866
+ if (errors === _errs15) {
1867
+ if (data5 && typeof data5 == "object" && !Array.isArray(data5)) {
1868
+ let missing1;
1869
+ if (data5.from === void 0 && (missing1 = "from")) {
1870
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1, schemaPath: "#/definitions/reorder/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
1871
+ return false;
1872
+ }
1873
+ else {
1874
+ const _errs17 = errors;
1875
+ for (const key2 in data5) {
1876
+ if (!(key2 === "before" || key2 === "from" || key2 === "order" || key2 === "preBase" || key2 === "tertiary" || key2 === "tertiaryBase")) {
1877
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1, schemaPath: "#/definitions/reorder/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }];
1878
+ return false;
1879
+ break;
1880
+ }
1881
+ }
1882
+ if (_errs17 === errors) {
1883
+ if (data5.before !== void 0) {
1884
+ const _errs18 = errors;
1885
+ if (typeof data5.before !== "string") {
1886
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1 + "/before", schemaPath: "#/definitions/reorder/properties/before/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1887
+ return false;
1888
+ }
1889
+ var valid6 = _errs18 === errors;
1890
+ }
1891
+ else {
1892
+ var valid6 = true;
1893
+ }
1894
+ if (valid6) {
1895
+ if (data5.from !== void 0) {
1896
+ const _errs20 = errors;
1897
+ if (typeof data5.from !== "string") {
1898
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1 + "/from", schemaPath: "#/definitions/reorder/properties/from/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1899
+ return false;
1900
+ }
1901
+ var valid6 = _errs20 === errors;
1902
+ }
1903
+ else {
1904
+ var valid6 = true;
1905
+ }
1906
+ if (valid6) {
1907
+ if (data5.order !== void 0) {
1908
+ const _errs22 = errors;
1909
+ if (typeof data5.order !== "string") {
1910
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1 + "/order", schemaPath: "#/definitions/reorder/properties/order/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1911
+ return false;
1912
+ }
1913
+ var valid6 = _errs22 === errors;
1914
+ }
1915
+ else {
1916
+ var valid6 = true;
1917
+ }
1918
+ if (valid6) {
1919
+ if (data5.preBase !== void 0) {
1920
+ const _errs24 = errors;
1921
+ if (typeof data5.preBase !== "string") {
1922
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1 + "/preBase", schemaPath: "#/definitions/reorder/properties/preBase/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1923
+ return false;
1924
+ }
1925
+ var valid6 = _errs24 === errors;
1926
+ }
1927
+ else {
1928
+ var valid6 = true;
1929
+ }
1930
+ if (valid6) {
1931
+ if (data5.tertiary !== void 0) {
1932
+ const _errs26 = errors;
1933
+ if (typeof data5.tertiary !== "string") {
1934
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1 + "/tertiary", schemaPath: "#/definitions/reorder/properties/tertiary/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1935
+ return false;
1936
+ }
1937
+ var valid6 = _errs26 === errors;
1938
+ }
1939
+ else {
1940
+ var valid6 = true;
1941
+ }
1942
+ if (valid6) {
1943
+ if (data5.tertiaryBase !== void 0) {
1944
+ const _errs28 = errors;
1945
+ if (typeof data5.tertiaryBase !== "string") {
1946
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1 + "/tertiaryBase", schemaPath: "#/definitions/reorder/properties/tertiaryBase/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1947
+ return false;
1948
+ }
1949
+ var valid6 = _errs28 === errors;
1950
+ }
1951
+ else {
1952
+ var valid6 = true;
1953
+ }
1954
+ }
1955
+ }
1956
+ }
1957
+ }
1958
+ }
1959
+ }
1960
+ }
1961
+ }
1962
+ else {
1963
+ validate40.errors = [{ instancePath: instancePath + "/reorder/" + i1, schemaPath: "#/definitions/reorder/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
1964
+ return false;
1965
+ }
1966
+ }
1967
+ var valid4 = _errs14 === errors;
1968
+ if (!valid4) {
1969
+ break;
1970
+ }
1971
+ }
1972
+ }
1973
+ else {
1974
+ validate40.errors = [{ instancePath: instancePath + "/reorder", schemaPath: "#/properties/reorder/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
1975
+ return false;
1976
+ }
1977
+ }
1978
+ var valid0 = _errs12 === errors;
1979
+ }
1980
+ else {
1981
+ var valid0 = true;
1982
+ }
1983
+ if (valid0) {
1984
+ if (data.special !== void 0) {
1985
+ let data12 = data.special;
1986
+ const _errs30 = errors;
1987
+ if (errors === _errs30) {
1988
+ if (Array.isArray(data12)) {
1989
+ var valid7 = true;
1990
+ const len2 = data12.length;
1991
+ for (let i2 = 0; i2 < len2; i2++) {
1992
+ const _errs32 = errors;
1993
+ if (typeof data12[i2] !== "string") {
1994
+ validate40.errors = [{ instancePath: instancePath + "/special/" + i2, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
1995
+ return false;
1996
+ }
1997
+ var valid7 = _errs32 === errors;
1998
+ if (!valid7) {
1999
+ break;
2000
+ }
2001
+ }
2002
+ }
2003
+ else {
2004
+ validate40.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2005
+ return false;
2006
+ }
2007
+ }
2008
+ var valid0 = _errs30 === errors;
2009
+ }
2010
+ else {
2011
+ var valid0 = true;
2012
+ }
2013
+ if (valid0) {
2014
+ if (data.transform !== void 0) {
2015
+ let data14 = data.transform;
2016
+ const _errs35 = errors;
2017
+ if (errors === _errs35) {
2018
+ if (Array.isArray(data14)) {
2019
+ var valid9 = true;
2020
+ const len3 = data14.length;
2021
+ for (let i3 = 0; i3 < len3; i3++) {
2022
+ let data15 = data14[i3];
2023
+ const _errs37 = errors;
2024
+ const _errs38 = errors;
2025
+ if (errors === _errs38) {
2026
+ if (data15 && typeof data15 == "object" && !Array.isArray(data15)) {
2027
+ let missing2;
2028
+ if (data15.from === void 0 && (missing2 = "from")) {
2029
+ validate40.errors = [{ instancePath: instancePath + "/transform/" + i3, schemaPath: "#/definitions/transform/required", keyword: "required", params: { missingProperty: missing2 }, message: "must have required property '" + missing2 + "'" }];
2030
+ return false;
2031
+ }
2032
+ else {
2033
+ const _errs40 = errors;
2034
+ for (const key3 in data15) {
2035
+ if (!(key3 === "from" || key3 === "to")) {
2036
+ validate40.errors = [{ instancePath: instancePath + "/transform/" + i3, schemaPath: "#/definitions/transform/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" }];
2037
+ return false;
2038
+ break;
2039
+ }
2040
+ }
2041
+ if (_errs40 === errors) {
2042
+ if (data15.from !== void 0) {
2043
+ const _errs41 = errors;
2044
+ if (typeof data15.from !== "string") {
2045
+ validate40.errors = [{ instancePath: instancePath + "/transform/" + i3 + "/from", schemaPath: "#/definitions/transform/properties/from/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2046
+ return false;
2047
+ }
2048
+ var valid11 = _errs41 === errors;
2049
+ }
2050
+ else {
2051
+ var valid11 = true;
2052
+ }
2053
+ if (valid11) {
2054
+ if (data15.to !== void 0) {
2055
+ const _errs43 = errors;
2056
+ if (typeof data15.to !== "string") {
2057
+ validate40.errors = [{ instancePath: instancePath + "/transform/" + i3 + "/to", schemaPath: "#/definitions/transform/properties/to/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2058
+ return false;
2059
+ }
2060
+ var valid11 = _errs43 === errors;
2061
+ }
2062
+ else {
2063
+ var valid11 = true;
2064
+ }
2065
+ }
2066
+ }
2067
+ }
2068
+ }
2069
+ else {
2070
+ validate40.errors = [{ instancePath: instancePath + "/transform/" + i3, schemaPath: "#/definitions/transform/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2071
+ return false;
2072
+ }
2073
+ }
2074
+ var valid9 = _errs37 === errors;
2075
+ if (!valid9) {
2076
+ break;
2077
+ }
2078
+ }
2079
+ }
2080
+ else {
2081
+ validate40.errors = [{ instancePath: instancePath + "/transform", schemaPath: "#/properties/transform/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2082
+ return false;
2083
+ }
2084
+ }
2085
+ var valid0 = _errs35 === errors;
2086
+ }
2087
+ else {
2088
+ var valid0 = true;
2089
+ }
2090
+ }
2091
+ }
2092
+ }
2093
+ }
2094
+ }
2095
+ else {
2096
+ validate40.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2097
+ return false;
2098
+ }
2099
+ }
2100
+ validate40.errors = vErrors;
2101
+ return errors === 0;
2102
+ }
2103
+ function validate39(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
2104
+ let vErrors = null;
2105
+ let errors = 0;
2106
+ if (errors === 0) {
2107
+ if (data && typeof data == "object" && !Array.isArray(data)) {
2108
+ let missing0;
2109
+ if (data.type === void 0 && (missing0 = "type")) {
2110
+ validate39.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
2111
+ return false;
2112
+ }
2113
+ else {
2114
+ const _errs1 = errors;
2115
+ for (const key0 in data) {
2116
+ if (!(key0 === "import" || key0 === "special" || key0 === "transformGroup" || key0 === "type")) {
2117
+ validate39.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
2118
+ return false;
2119
+ break;
2120
+ }
2121
+ }
2122
+ if (_errs1 === errors) {
2123
+ if (data.import !== void 0) {
2124
+ let data0 = data.import;
2125
+ const _errs2 = errors;
2126
+ if (errors === _errs2) {
2127
+ if (Array.isArray(data0)) {
2128
+ var valid1 = true;
2129
+ const len0 = data0.length;
2130
+ for (let i0 = 0; i0 < len0; i0++) {
2131
+ let data1 = data0[i0];
2132
+ const _errs4 = errors;
2133
+ const _errs5 = errors;
2134
+ if (errors === _errs5) {
2135
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
2136
+ let missing1;
2137
+ if (data1.path === void 0 && (missing1 = "path")) {
2138
+ validate39.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
2139
+ return false;
2140
+ }
2141
+ else {
2142
+ const _errs7 = errors;
2143
+ for (const key1 in data1) {
2144
+ if (!(key1 === "base" || key1 === "path")) {
2145
+ validate39.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
2146
+ return false;
2147
+ break;
2148
+ }
2149
+ }
2150
+ if (_errs7 === errors) {
2151
+ if (data1.base !== void 0) {
2152
+ let data2 = data1.base;
2153
+ const _errs8 = errors;
2154
+ if (typeof data2 !== "string") {
2155
+ validate39.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2156
+ return false;
2157
+ }
2158
+ if (!(data2 === "cldr")) {
2159
+ validate39.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
2160
+ return false;
2161
+ }
2162
+ var valid3 = _errs8 === errors;
2163
+ }
2164
+ else {
2165
+ var valid3 = true;
2166
+ }
2167
+ if (valid3) {
2168
+ if (data1.path !== void 0) {
2169
+ const _errs10 = errors;
2170
+ if (typeof data1.path !== "string") {
2171
+ validate39.errors = [{ instancePath: instancePath + "/import/" + i0 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2172
+ return false;
2173
+ }
2174
+ var valid3 = _errs10 === errors;
2175
+ }
2176
+ else {
2177
+ var valid3 = true;
2178
+ }
2179
+ }
2180
+ }
2181
+ }
2182
+ }
2183
+ else {
2184
+ validate39.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2185
+ return false;
2186
+ }
2187
+ }
2188
+ var valid1 = _errs4 === errors;
2189
+ if (!valid1) {
2190
+ break;
2191
+ }
2192
+ }
2193
+ }
2194
+ else {
2195
+ validate39.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2196
+ return false;
2197
+ }
2198
+ }
2199
+ var valid0 = _errs2 === errors;
2200
+ }
2201
+ else {
2202
+ var valid0 = true;
2203
+ }
2204
+ if (valid0) {
2205
+ if (data.special !== void 0) {
2206
+ let data4 = data.special;
2207
+ const _errs12 = errors;
2208
+ if (errors === _errs12) {
2209
+ if (Array.isArray(data4)) {
2210
+ var valid4 = true;
2211
+ const len1 = data4.length;
2212
+ for (let i1 = 0; i1 < len1; i1++) {
2213
+ const _errs14 = errors;
2214
+ if (typeof data4[i1] !== "string") {
2215
+ validate39.errors = [{ instancePath: instancePath + "/special/" + i1, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2216
+ return false;
2217
+ }
2218
+ var valid4 = _errs14 === errors;
2219
+ if (!valid4) {
2220
+ break;
2221
+ }
2222
+ }
2223
+ }
2224
+ else {
2225
+ validate39.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2226
+ return false;
2227
+ }
2228
+ }
2229
+ var valid0 = _errs12 === errors;
2230
+ }
2231
+ else {
2232
+ var valid0 = true;
2233
+ }
2234
+ if (valid0) {
2235
+ if (data.transformGroup !== void 0) {
2236
+ let data6 = data.transformGroup;
2237
+ const _errs17 = errors;
2238
+ if (errors === _errs17) {
2239
+ if (Array.isArray(data6)) {
2240
+ var valid6 = true;
2241
+ const len2 = data6.length;
2242
+ for (let i2 = 0; i2 < len2; i2++) {
2243
+ const _errs19 = errors;
2244
+ if (!validate40(data6[i2], { instancePath: instancePath + "/transformGroup/" + i2, parentData: data6, parentDataProperty: i2, rootData })) {
2245
+ vErrors = vErrors === null ? validate40.errors : vErrors.concat(validate40.errors);
2246
+ errors = vErrors.length;
2247
+ }
2248
+ var valid6 = _errs19 === errors;
2249
+ if (!valid6) {
2250
+ break;
2251
+ }
2252
+ }
2253
+ }
2254
+ else {
2255
+ validate39.errors = [{ instancePath: instancePath + "/transformGroup", schemaPath: "#/properties/transformGroup/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2256
+ return false;
2257
+ }
2258
+ }
2259
+ var valid0 = _errs17 === errors;
2260
+ }
2261
+ else {
2262
+ var valid0 = true;
2263
+ }
2264
+ if (valid0) {
2265
+ if (data.type !== void 0) {
2266
+ let data8 = data.type;
2267
+ const _errs20 = errors;
2268
+ if (typeof data8 !== "string") {
2269
+ validate39.errors = [{ instancePath: instancePath + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2270
+ return false;
2271
+ }
2272
+ if (!(data8 === "simple" || data8 === "backspace")) {
2273
+ validate39.errors = [{ instancePath: instancePath + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: schema57.properties.type.enum }, message: "must be equal to one of the allowed values" }];
2274
+ return false;
2275
+ }
2276
+ var valid0 = _errs20 === errors;
2277
+ }
2278
+ else {
2279
+ var valid0 = true;
2280
+ }
2281
+ }
2282
+ }
2283
+ }
2284
+ }
2285
+ }
2286
+ }
2287
+ else {
2288
+ validate39.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2289
+ return false;
2290
+ }
2291
+ }
2292
+ validate39.errors = vErrors;
2293
+ return errors === 0;
2294
+ }
2295
+ function validate43(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
2296
+ let vErrors = null;
2297
+ let errors = 0;
2298
+ if (errors === 0) {
2299
+ if (data && typeof data == "object" && !Array.isArray(data)) {
2300
+ const _errs1 = errors;
2301
+ for (const key0 in data) {
2302
+ if (!(key0 === "import" || key0 === "set" || key0 === "special" || key0 === "string" || key0 === "unicodeSet")) {
2303
+ validate43.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
2304
+ return false;
2305
+ break;
2306
+ }
2307
+ }
2308
+ if (_errs1 === errors) {
2309
+ if (data.import !== void 0) {
2310
+ let data0 = data.import;
2311
+ const _errs2 = errors;
2312
+ if (errors === _errs2) {
2313
+ if (Array.isArray(data0)) {
2314
+ var valid1 = true;
2315
+ const len0 = data0.length;
2316
+ for (let i0 = 0; i0 < len0; i0++) {
2317
+ let data1 = data0[i0];
2318
+ const _errs4 = errors;
2319
+ const _errs5 = errors;
2320
+ if (errors === _errs5) {
2321
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
2322
+ let missing0;
2323
+ if (data1.path === void 0 && (missing0 = "path")) {
2324
+ validate43.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
2325
+ return false;
2326
+ }
2327
+ else {
2328
+ const _errs7 = errors;
2329
+ for (const key1 in data1) {
2330
+ if (!(key1 === "base" || key1 === "path")) {
2331
+ validate43.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
2332
+ return false;
2333
+ break;
2334
+ }
2335
+ }
2336
+ if (_errs7 === errors) {
2337
+ if (data1.base !== void 0) {
2338
+ let data2 = data1.base;
2339
+ const _errs8 = errors;
2340
+ if (typeof data2 !== "string") {
2341
+ validate43.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2342
+ return false;
2343
+ }
2344
+ if (!(data2 === "cldr")) {
2345
+ validate43.errors = [{ instancePath: instancePath + "/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
2346
+ return false;
2347
+ }
2348
+ var valid3 = _errs8 === errors;
2349
+ }
2350
+ else {
2351
+ var valid3 = true;
2352
+ }
2353
+ if (valid3) {
2354
+ if (data1.path !== void 0) {
2355
+ const _errs10 = errors;
2356
+ if (typeof data1.path !== "string") {
2357
+ validate43.errors = [{ instancePath: instancePath + "/import/" + i0 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2358
+ return false;
2359
+ }
2360
+ var valid3 = _errs10 === errors;
2361
+ }
2362
+ else {
2363
+ var valid3 = true;
2364
+ }
2365
+ }
2366
+ }
2367
+ }
2368
+ }
2369
+ else {
2370
+ validate43.errors = [{ instancePath: instancePath + "/import/" + i0, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2371
+ return false;
2372
+ }
2373
+ }
2374
+ var valid1 = _errs4 === errors;
2375
+ if (!valid1) {
2376
+ break;
2377
+ }
2378
+ }
2379
+ }
2380
+ else {
2381
+ validate43.errors = [{ instancePath: instancePath + "/import", schemaPath: "#/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2382
+ return false;
2383
+ }
2384
+ }
2385
+ var valid0 = _errs2 === errors;
2386
+ }
2387
+ else {
2388
+ var valid0 = true;
2389
+ }
2390
+ if (valid0) {
2391
+ if (data.set !== void 0) {
2392
+ let data4 = data.set;
2393
+ const _errs12 = errors;
2394
+ if (errors === _errs12) {
2395
+ if (Array.isArray(data4)) {
2396
+ var valid4 = true;
2397
+ const len1 = data4.length;
2398
+ for (let i1 = 0; i1 < len1; i1++) {
2399
+ let data5 = data4[i1];
2400
+ const _errs14 = errors;
2401
+ const _errs15 = errors;
2402
+ if (errors === _errs15) {
2403
+ if (data5 && typeof data5 == "object" && !Array.isArray(data5)) {
2404
+ let missing1;
2405
+ if (data5.id === void 0 && (missing1 = "id") || data5.value === void 0 && (missing1 = "value")) {
2406
+ validate43.errors = [{ instancePath: instancePath + "/set/" + i1, schemaPath: "#/definitions/set/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
2407
+ return false;
2408
+ }
2409
+ else {
2410
+ const _errs17 = errors;
2411
+ for (const key2 in data5) {
2412
+ if (!(key2 === "id" || key2 === "value")) {
2413
+ validate43.errors = [{ instancePath: instancePath + "/set/" + i1, schemaPath: "#/definitions/set/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }];
2414
+ return false;
2415
+ break;
2416
+ }
2417
+ }
2418
+ if (_errs17 === errors) {
2419
+ if (data5.id !== void 0) {
2420
+ const _errs18 = errors;
2421
+ if (typeof data5.id !== "string") {
2422
+ validate43.errors = [{ instancePath: instancePath + "/set/" + i1 + "/id", schemaPath: "#/definitions/set/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2423
+ return false;
2424
+ }
2425
+ var valid6 = _errs18 === errors;
2426
+ }
2427
+ else {
2428
+ var valid6 = true;
2429
+ }
2430
+ if (valid6) {
2431
+ if (data5.value !== void 0) {
2432
+ const _errs20 = errors;
2433
+ if (typeof data5.value !== "string") {
2434
+ validate43.errors = [{ instancePath: instancePath + "/set/" + i1 + "/value", schemaPath: "#/definitions/set/properties/value/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2435
+ return false;
2436
+ }
2437
+ var valid6 = _errs20 === errors;
2438
+ }
2439
+ else {
2440
+ var valid6 = true;
2441
+ }
2442
+ }
2443
+ }
2444
+ }
2445
+ }
2446
+ else {
2447
+ validate43.errors = [{ instancePath: instancePath + "/set/" + i1, schemaPath: "#/definitions/set/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2448
+ return false;
2449
+ }
2450
+ }
2451
+ var valid4 = _errs14 === errors;
2452
+ if (!valid4) {
2453
+ break;
2454
+ }
2455
+ }
2456
+ }
2457
+ else {
2458
+ validate43.errors = [{ instancePath: instancePath + "/set", schemaPath: "#/properties/set/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2459
+ return false;
2460
+ }
2461
+ }
2462
+ var valid0 = _errs12 === errors;
2463
+ }
2464
+ else {
2465
+ var valid0 = true;
2466
+ }
2467
+ if (valid0) {
2468
+ if (data.special !== void 0) {
2469
+ let data8 = data.special;
2470
+ const _errs22 = errors;
2471
+ if (errors === _errs22) {
2472
+ if (Array.isArray(data8)) {
2473
+ var valid7 = true;
2474
+ const len2 = data8.length;
2475
+ for (let i2 = 0; i2 < len2; i2++) {
2476
+ const _errs24 = errors;
2477
+ if (typeof data8[i2] !== "string") {
2478
+ validate43.errors = [{ instancePath: instancePath + "/special/" + i2, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2479
+ return false;
2480
+ }
2481
+ var valid7 = _errs24 === errors;
2482
+ if (!valid7) {
2483
+ break;
2484
+ }
2485
+ }
2486
+ }
2487
+ else {
2488
+ validate43.errors = [{ instancePath: instancePath + "/special", schemaPath: "#/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2489
+ return false;
2490
+ }
2491
+ }
2492
+ var valid0 = _errs22 === errors;
2493
+ }
2494
+ else {
2495
+ var valid0 = true;
2496
+ }
2497
+ if (valid0) {
2498
+ if (data.string !== void 0) {
2499
+ let data10 = data.string;
2500
+ const _errs27 = errors;
2501
+ if (errors === _errs27) {
2502
+ if (Array.isArray(data10)) {
2503
+ var valid9 = true;
2504
+ const len3 = data10.length;
2505
+ for (let i3 = 0; i3 < len3; i3++) {
2506
+ let data11 = data10[i3];
2507
+ const _errs29 = errors;
2508
+ const _errs30 = errors;
2509
+ if (errors === _errs30) {
2510
+ if (data11 && typeof data11 == "object" && !Array.isArray(data11)) {
2511
+ let missing2;
2512
+ if (data11.id === void 0 && (missing2 = "id") || data11.value === void 0 && (missing2 = "value")) {
2513
+ validate43.errors = [{ instancePath: instancePath + "/string/" + i3, schemaPath: "#/definitions/stringVariable/required", keyword: "required", params: { missingProperty: missing2 }, message: "must have required property '" + missing2 + "'" }];
2514
+ return false;
2515
+ }
2516
+ else {
2517
+ const _errs32 = errors;
2518
+ for (const key3 in data11) {
2519
+ if (!(key3 === "id" || key3 === "value")) {
2520
+ validate43.errors = [{ instancePath: instancePath + "/string/" + i3, schemaPath: "#/definitions/stringVariable/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" }];
2521
+ return false;
2522
+ break;
2523
+ }
2524
+ }
2525
+ if (_errs32 === errors) {
2526
+ if (data11.id !== void 0) {
2527
+ const _errs33 = errors;
2528
+ if (typeof data11.id !== "string") {
2529
+ validate43.errors = [{ instancePath: instancePath + "/string/" + i3 + "/id", schemaPath: "#/definitions/stringVariable/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2530
+ return false;
2531
+ }
2532
+ var valid11 = _errs33 === errors;
2533
+ }
2534
+ else {
2535
+ var valid11 = true;
2536
+ }
2537
+ if (valid11) {
2538
+ if (data11.value !== void 0) {
2539
+ const _errs35 = errors;
2540
+ if (typeof data11.value !== "string") {
2541
+ validate43.errors = [{ instancePath: instancePath + "/string/" + i3 + "/value", schemaPath: "#/definitions/stringVariable/properties/value/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2542
+ return false;
2543
+ }
2544
+ var valid11 = _errs35 === errors;
2545
+ }
2546
+ else {
2547
+ var valid11 = true;
2548
+ }
2549
+ }
2550
+ }
2551
+ }
2552
+ }
2553
+ else {
2554
+ validate43.errors = [{ instancePath: instancePath + "/string/" + i3, schemaPath: "#/definitions/stringVariable/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2555
+ return false;
2556
+ }
2557
+ }
2558
+ var valid9 = _errs29 === errors;
2559
+ if (!valid9) {
2560
+ break;
2561
+ }
2562
+ }
2563
+ }
2564
+ else {
2565
+ validate43.errors = [{ instancePath: instancePath + "/string", schemaPath: "#/properties/string/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2566
+ return false;
2567
+ }
2568
+ }
2569
+ var valid0 = _errs27 === errors;
2570
+ }
2571
+ else {
2572
+ var valid0 = true;
2573
+ }
2574
+ if (valid0) {
2575
+ if (data.unicodeSet !== void 0) {
2576
+ let data14 = data.unicodeSet;
2577
+ const _errs37 = errors;
2578
+ if (errors === _errs37) {
2579
+ if (Array.isArray(data14)) {
2580
+ var valid12 = true;
2581
+ const len4 = data14.length;
2582
+ for (let i4 = 0; i4 < len4; i4++) {
2583
+ let data15 = data14[i4];
2584
+ const _errs39 = errors;
2585
+ const _errs40 = errors;
2586
+ if (errors === _errs40) {
2587
+ if (data15 && typeof data15 == "object" && !Array.isArray(data15)) {
2588
+ let missing3;
2589
+ if (data15.id === void 0 && (missing3 = "id") || data15.value === void 0 && (missing3 = "value")) {
2590
+ validate43.errors = [{ instancePath: instancePath + "/unicodeSet/" + i4, schemaPath: "#/definitions/unicodeSet/required", keyword: "required", params: { missingProperty: missing3 }, message: "must have required property '" + missing3 + "'" }];
2591
+ return false;
2592
+ }
2593
+ else {
2594
+ const _errs42 = errors;
2595
+ for (const key4 in data15) {
2596
+ if (!(key4 === "id" || key4 === "value")) {
2597
+ validate43.errors = [{ instancePath: instancePath + "/unicodeSet/" + i4, schemaPath: "#/definitions/unicodeSet/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key4 }, message: "must NOT have additional properties" }];
2598
+ return false;
2599
+ break;
2600
+ }
2601
+ }
2602
+ if (_errs42 === errors) {
2603
+ if (data15.id !== void 0) {
2604
+ const _errs43 = errors;
2605
+ if (typeof data15.id !== "string") {
2606
+ validate43.errors = [{ instancePath: instancePath + "/unicodeSet/" + i4 + "/id", schemaPath: "#/definitions/unicodeSet/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2607
+ return false;
2608
+ }
2609
+ var valid14 = _errs43 === errors;
2610
+ }
2611
+ else {
2612
+ var valid14 = true;
2613
+ }
2614
+ if (valid14) {
2615
+ if (data15.value !== void 0) {
2616
+ const _errs45 = errors;
2617
+ if (typeof data15.value !== "string") {
2618
+ validate43.errors = [{ instancePath: instancePath + "/unicodeSet/" + i4 + "/value", schemaPath: "#/definitions/unicodeSet/properties/value/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2619
+ return false;
2620
+ }
2621
+ var valid14 = _errs45 === errors;
2622
+ }
2623
+ else {
2624
+ var valid14 = true;
2625
+ }
2626
+ }
2627
+ }
2628
+ }
2629
+ }
2630
+ else {
2631
+ validate43.errors = [{ instancePath: instancePath + "/unicodeSet/" + i4, schemaPath: "#/definitions/unicodeSet/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2632
+ return false;
2633
+ }
2634
+ }
2635
+ var valid12 = _errs39 === errors;
2636
+ if (!valid12) {
2637
+ break;
2638
+ }
2639
+ }
2640
+ }
2641
+ else {
2642
+ validate43.errors = [{ instancePath: instancePath + "/unicodeSet", schemaPath: "#/properties/unicodeSet/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2643
+ return false;
2644
+ }
2645
+ }
2646
+ var valid0 = _errs37 === errors;
2647
+ }
2648
+ else {
2649
+ var valid0 = true;
2650
+ }
2651
+ }
2652
+ }
2653
+ }
2654
+ }
2655
+ }
2656
+ }
2657
+ else {
2658
+ validate43.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2659
+ return false;
2660
+ }
2661
+ }
2662
+ validate43.errors = vErrors;
2663
+ return errors === 0;
2664
+ }
2665
+ function validate20(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
2666
+ let vErrors = null;
2667
+ let errors = 0;
2668
+ if (errors === 0) {
2669
+ if (data && typeof data == "object" && !Array.isArray(data)) {
2670
+ let missing0;
2671
+ if (data.keyboard3 === void 0 && (missing0 = "keyboard3")) {
2672
+ validate20.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
2673
+ return false;
2674
+ }
2675
+ else {
2676
+ const _errs1 = errors;
2677
+ for (const key0 in data) {
2678
+ if (!(key0 === "keyboard3")) {
2679
+ validate20.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
2680
+ return false;
2681
+ break;
2682
+ }
2683
+ }
2684
+ if (_errs1 === errors) {
2685
+ if (data.keyboard3 !== void 0) {
2686
+ let data0 = data.keyboard3;
2687
+ const _errs2 = errors;
2688
+ if (errors === _errs2) {
2689
+ if (data0 && typeof data0 == "object" && !Array.isArray(data0)) {
2690
+ let missing1;
2691
+ if (data0.names === void 0 && (missing1 = "names") || data0.locale === void 0 && (missing1 = "locale") || data0.conformsTo === void 0 && (missing1 = "conformsTo")) {
2692
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3", schemaPath: "#/properties/keyboard3/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" }];
2693
+ return false;
2694
+ }
2695
+ else {
2696
+ const _errs4 = errors;
2697
+ for (const key1 in data0) {
2698
+ if (!func4.call(schema22.properties.keyboard3.properties, key1)) {
2699
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3", schemaPath: "#/properties/keyboard3/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }];
2700
+ return false;
2701
+ break;
2702
+ }
2703
+ }
2704
+ if (_errs4 === errors) {
2705
+ if (data0.conformsTo !== void 0) {
2706
+ let data1 = data0.conformsTo;
2707
+ const _errs5 = errors;
2708
+ if (typeof data1 !== "string") {
2709
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/conformsTo", schemaPath: "#/properties/keyboard3/properties/conformsTo/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2710
+ return false;
2711
+ }
2712
+ if (!(data1 === "techpreview")) {
2713
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/conformsTo", schemaPath: "#/properties/keyboard3/properties/conformsTo/enum", keyword: "enum", params: { allowedValues: schema22.properties.keyboard3.properties.conformsTo.enum }, message: "must be equal to one of the allowed values" }];
2714
+ return false;
2715
+ }
2716
+ var valid1 = _errs5 === errors;
2717
+ }
2718
+ else {
2719
+ var valid1 = true;
2720
+ }
2721
+ if (valid1) {
2722
+ if (data0.displays !== void 0) {
2723
+ const _errs7 = errors;
2724
+ if (!validate21(data0.displays, { instancePath: instancePath + "/keyboard3/displays", parentData: data0, parentDataProperty: "displays", rootData })) {
2725
+ vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);
2726
+ errors = vErrors.length;
2727
+ }
2728
+ var valid1 = _errs7 === errors;
2729
+ }
2730
+ else {
2731
+ var valid1 = true;
2732
+ }
2733
+ if (valid1) {
2734
+ if (data0.forms !== void 0) {
2735
+ const _errs8 = errors;
2736
+ if (!validate23(data0.forms, { instancePath: instancePath + "/keyboard3/forms", parentData: data0, parentDataProperty: "forms", rootData })) {
2737
+ vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);
2738
+ errors = vErrors.length;
2739
+ }
2740
+ var valid1 = _errs8 === errors;
2741
+ }
2742
+ else {
2743
+ var valid1 = true;
2744
+ }
2745
+ if (valid1) {
2746
+ if (data0.import !== void 0) {
2747
+ let data4 = data0.import;
2748
+ const _errs9 = errors;
2749
+ if (errors === _errs9) {
2750
+ if (Array.isArray(data4)) {
2751
+ var valid2 = true;
2752
+ const len0 = data4.length;
2753
+ for (let i0 = 0; i0 < len0; i0++) {
2754
+ let data5 = data4[i0];
2755
+ const _errs11 = errors;
2756
+ const _errs12 = errors;
2757
+ if (errors === _errs12) {
2758
+ if (data5 && typeof data5 == "object" && !Array.isArray(data5)) {
2759
+ let missing2;
2760
+ if (data5.path === void 0 && (missing2 = "path")) {
2761
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/import/" + i0, schemaPath: "#/definitions/import/required", keyword: "required", params: { missingProperty: missing2 }, message: "must have required property '" + missing2 + "'" }];
2762
+ return false;
2763
+ }
2764
+ else {
2765
+ const _errs14 = errors;
2766
+ for (const key2 in data5) {
2767
+ if (!(key2 === "base" || key2 === "path")) {
2768
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/import/" + i0, schemaPath: "#/definitions/import/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }];
2769
+ return false;
2770
+ break;
2771
+ }
2772
+ }
2773
+ if (_errs14 === errors) {
2774
+ if (data5.base !== void 0) {
2775
+ let data6 = data5.base;
2776
+ const _errs15 = errors;
2777
+ if (typeof data6 !== "string") {
2778
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2779
+ return false;
2780
+ }
2781
+ if (!(data6 === "cldr")) {
2782
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/import/" + i0 + "/base", schemaPath: "#/definitions/import/properties/base/enum", keyword: "enum", params: { allowedValues: schema26.properties.base.enum }, message: "must be equal to one of the allowed values" }];
2783
+ return false;
2784
+ }
2785
+ var valid4 = _errs15 === errors;
2786
+ }
2787
+ else {
2788
+ var valid4 = true;
2789
+ }
2790
+ if (valid4) {
2791
+ if (data5.path !== void 0) {
2792
+ const _errs17 = errors;
2793
+ if (typeof data5.path !== "string") {
2794
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/import/" + i0 + "/path", schemaPath: "#/definitions/import/properties/path/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2795
+ return false;
2796
+ }
2797
+ var valid4 = _errs17 === errors;
2798
+ }
2799
+ else {
2800
+ var valid4 = true;
2801
+ }
2802
+ }
2803
+ }
2804
+ }
2805
+ }
2806
+ else {
2807
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/import/" + i0, schemaPath: "#/definitions/import/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2808
+ return false;
2809
+ }
2810
+ }
2811
+ var valid2 = _errs11 === errors;
2812
+ if (!valid2) {
2813
+ break;
2814
+ }
2815
+ }
2816
+ }
2817
+ else {
2818
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/import", schemaPath: "#/properties/keyboard3/properties/import/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2819
+ return false;
2820
+ }
2821
+ }
2822
+ var valid1 = _errs9 === errors;
2823
+ }
2824
+ else {
2825
+ var valid1 = true;
2826
+ }
2827
+ if (valid1) {
2828
+ if (data0.info !== void 0) {
2829
+ let data8 = data0.info;
2830
+ const _errs19 = errors;
2831
+ const _errs20 = errors;
2832
+ if (errors === _errs20) {
2833
+ if (data8 && typeof data8 == "object" && !Array.isArray(data8)) {
2834
+ const _errs22 = errors;
2835
+ for (const key3 in data8) {
2836
+ if (!(key3 === "author" || key3 === "indicator" || key3 === "layout" || key3 === "normalization")) {
2837
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/info", schemaPath: "#/definitions/info/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" }];
2838
+ return false;
2839
+ break;
2840
+ }
2841
+ }
2842
+ if (_errs22 === errors) {
2843
+ if (data8.author !== void 0) {
2844
+ const _errs23 = errors;
2845
+ if (typeof data8.author !== "string") {
2846
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/info/author", schemaPath: "#/definitions/info/properties/author/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2847
+ return false;
2848
+ }
2849
+ var valid6 = _errs23 === errors;
2850
+ }
2851
+ else {
2852
+ var valid6 = true;
2853
+ }
2854
+ if (valid6) {
2855
+ if (data8.indicator !== void 0) {
2856
+ const _errs25 = errors;
2857
+ if (typeof data8.indicator !== "string") {
2858
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/info/indicator", schemaPath: "#/definitions/info/properties/indicator/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2859
+ return false;
2860
+ }
2861
+ var valid6 = _errs25 === errors;
2862
+ }
2863
+ else {
2864
+ var valid6 = true;
2865
+ }
2866
+ if (valid6) {
2867
+ if (data8.layout !== void 0) {
2868
+ const _errs27 = errors;
2869
+ if (typeof data8.layout !== "string") {
2870
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/info/layout", schemaPath: "#/definitions/info/properties/layout/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2871
+ return false;
2872
+ }
2873
+ var valid6 = _errs27 === errors;
2874
+ }
2875
+ else {
2876
+ var valid6 = true;
2877
+ }
2878
+ if (valid6) {
2879
+ if (data8.normalization !== void 0) {
2880
+ const _errs29 = errors;
2881
+ if (typeof data8.normalization !== "string") {
2882
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/info/normalization", schemaPath: "#/definitions/info/properties/normalization/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2883
+ return false;
2884
+ }
2885
+ var valid6 = _errs29 === errors;
2886
+ }
2887
+ else {
2888
+ var valid6 = true;
2889
+ }
2890
+ }
2891
+ }
2892
+ }
2893
+ }
2894
+ }
2895
+ else {
2896
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/info", schemaPath: "#/definitions/info/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2897
+ return false;
2898
+ }
2899
+ }
2900
+ var valid1 = _errs19 === errors;
2901
+ }
2902
+ else {
2903
+ var valid1 = true;
2904
+ }
2905
+ if (valid1) {
2906
+ if (data0.keys !== void 0) {
2907
+ const _errs31 = errors;
2908
+ if (!validate27(data0.keys, { instancePath: instancePath + "/keyboard3/keys", parentData: data0, parentDataProperty: "keys", rootData })) {
2909
+ vErrors = vErrors === null ? validate27.errors : vErrors.concat(validate27.errors);
2910
+ errors = vErrors.length;
2911
+ }
2912
+ var valid1 = _errs31 === errors;
2913
+ }
2914
+ else {
2915
+ var valid1 = true;
2916
+ }
2917
+ if (valid1) {
2918
+ if (data0.layers !== void 0) {
2919
+ let data14 = data0.layers;
2920
+ const _errs32 = errors;
2921
+ if (errors === _errs32) {
2922
+ if (Array.isArray(data14)) {
2923
+ var valid7 = true;
2924
+ const len1 = data14.length;
2925
+ for (let i1 = 0; i1 < len1; i1++) {
2926
+ const _errs34 = errors;
2927
+ if (!validate31(data14[i1], { instancePath: instancePath + "/keyboard3/layers/" + i1, parentData: data14, parentDataProperty: i1, rootData })) {
2928
+ vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);
2929
+ errors = vErrors.length;
2930
+ }
2931
+ var valid7 = _errs34 === errors;
2932
+ if (!valid7) {
2933
+ break;
2934
+ }
2935
+ }
2936
+ }
2937
+ else {
2938
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/layers", schemaPath: "#/properties/keyboard3/properties/layers/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
2939
+ return false;
2940
+ }
2941
+ }
2942
+ var valid1 = _errs32 === errors;
2943
+ }
2944
+ else {
2945
+ var valid1 = true;
2946
+ }
2947
+ if (valid1) {
2948
+ if (data0.locale !== void 0) {
2949
+ const _errs35 = errors;
2950
+ if (typeof data0.locale !== "string") {
2951
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/locale", schemaPath: "#/properties/keyboard3/properties/locale/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
2952
+ return false;
2953
+ }
2954
+ var valid1 = _errs35 === errors;
2955
+ }
2956
+ else {
2957
+ var valid1 = true;
2958
+ }
2959
+ if (valid1) {
2960
+ if (data0.locales !== void 0) {
2961
+ const _errs37 = errors;
2962
+ if (!validate35(data0.locales, { instancePath: instancePath + "/keyboard3/locales", parentData: data0, parentDataProperty: "locales", rootData })) {
2963
+ vErrors = vErrors === null ? validate35.errors : vErrors.concat(validate35.errors);
2964
+ errors = vErrors.length;
2965
+ }
2966
+ var valid1 = _errs37 === errors;
2967
+ }
2968
+ else {
2969
+ var valid1 = true;
2970
+ }
2971
+ if (valid1) {
2972
+ if (data0.names !== void 0) {
2973
+ const _errs38 = errors;
2974
+ if (!validate37(data0.names, { instancePath: instancePath + "/keyboard3/names", parentData: data0, parentDataProperty: "names", rootData })) {
2975
+ vErrors = vErrors === null ? validate37.errors : vErrors.concat(validate37.errors);
2976
+ errors = vErrors.length;
2977
+ }
2978
+ var valid1 = _errs38 === errors;
2979
+ }
2980
+ else {
2981
+ var valid1 = true;
2982
+ }
2983
+ if (valid1) {
2984
+ if (data0.settings !== void 0) {
2985
+ let data19 = data0.settings;
2986
+ const _errs39 = errors;
2987
+ const _errs40 = errors;
2988
+ if (errors === _errs40) {
2989
+ if (data19 && typeof data19 == "object" && !Array.isArray(data19)) {
2990
+ const _errs42 = errors;
2991
+ for (const key4 in data19) {
2992
+ if (!(key4 === "fallback")) {
2993
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/settings", schemaPath: "#/definitions/settings/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key4 }, message: "must NOT have additional properties" }];
2994
+ return false;
2995
+ break;
2996
+ }
2997
+ }
2998
+ if (_errs42 === errors) {
2999
+ if (data19.fallback !== void 0) {
3000
+ let data20 = data19.fallback;
3001
+ if (typeof data20 !== "string") {
3002
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/settings/fallback", schemaPath: "#/definitions/settings/properties/fallback/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
3003
+ return false;
3004
+ }
3005
+ if (!(data20 === "omit")) {
3006
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/settings/fallback", schemaPath: "#/definitions/settings/properties/fallback/enum", keyword: "enum", params: { allowedValues: schema55.properties.fallback.enum }, message: "must be equal to one of the allowed values" }];
3007
+ return false;
3008
+ }
3009
+ }
3010
+ }
3011
+ }
3012
+ else {
3013
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/settings", schemaPath: "#/definitions/settings/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
3014
+ return false;
3015
+ }
3016
+ }
3017
+ var valid1 = _errs39 === errors;
3018
+ }
3019
+ else {
3020
+ var valid1 = true;
3021
+ }
3022
+ if (valid1) {
3023
+ if (data0.special !== void 0) {
3024
+ let data21 = data0.special;
3025
+ const _errs45 = errors;
3026
+ if (errors === _errs45) {
3027
+ if (Array.isArray(data21)) {
3028
+ var valid10 = true;
3029
+ const len2 = data21.length;
3030
+ for (let i2 = 0; i2 < len2; i2++) {
3031
+ const _errs47 = errors;
3032
+ if (typeof data21[i2] !== "string") {
3033
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/special/" + i2, schemaPath: "#/definitions/special/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
3034
+ return false;
3035
+ }
3036
+ var valid10 = _errs47 === errors;
3037
+ if (!valid10) {
3038
+ break;
3039
+ }
3040
+ }
3041
+ }
3042
+ else {
3043
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/special", schemaPath: "#/properties/keyboard3/properties/special/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
3044
+ return false;
3045
+ }
3046
+ }
3047
+ var valid1 = _errs45 === errors;
3048
+ }
3049
+ else {
3050
+ var valid1 = true;
3051
+ }
3052
+ if (valid1) {
3053
+ if (data0.transforms !== void 0) {
3054
+ let data23 = data0.transforms;
3055
+ const _errs50 = errors;
3056
+ if (errors === _errs50) {
3057
+ if (Array.isArray(data23)) {
3058
+ var valid12 = true;
3059
+ const len3 = data23.length;
3060
+ for (let i3 = 0; i3 < len3; i3++) {
3061
+ const _errs52 = errors;
3062
+ if (!validate39(data23[i3], { instancePath: instancePath + "/keyboard3/transforms/" + i3, parentData: data23, parentDataProperty: i3, rootData })) {
3063
+ vErrors = vErrors === null ? validate39.errors : vErrors.concat(validate39.errors);
3064
+ errors = vErrors.length;
3065
+ }
3066
+ var valid12 = _errs52 === errors;
3067
+ if (!valid12) {
3068
+ break;
3069
+ }
3070
+ }
3071
+ }
3072
+ else {
3073
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/transforms", schemaPath: "#/properties/keyboard3/properties/transforms/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
3074
+ return false;
3075
+ }
3076
+ }
3077
+ var valid1 = _errs50 === errors;
3078
+ }
3079
+ else {
3080
+ var valid1 = true;
3081
+ }
3082
+ if (valid1) {
3083
+ if (data0.variables !== void 0) {
3084
+ const _errs53 = errors;
3085
+ if (!validate43(data0.variables, { instancePath: instancePath + "/keyboard3/variables", parentData: data0, parentDataProperty: "variables", rootData })) {
3086
+ vErrors = vErrors === null ? validate43.errors : vErrors.concat(validate43.errors);
3087
+ errors = vErrors.length;
3088
+ }
3089
+ var valid1 = _errs53 === errors;
3090
+ }
3091
+ else {
3092
+ var valid1 = true;
3093
+ }
3094
+ if (valid1) {
3095
+ if (data0.version !== void 0) {
3096
+ let data26 = data0.version;
3097
+ const _errs54 = errors;
3098
+ const _errs55 = errors;
3099
+ if (errors === _errs55) {
3100
+ if (data26 && typeof data26 == "object" && !Array.isArray(data26)) {
3101
+ const _errs57 = errors;
3102
+ for (const key5 in data26) {
3103
+ if (!(key5 === "cldrVersion" || key5 === "number")) {
3104
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/version", schemaPath: "#/definitions/version/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key5 }, message: "must NOT have additional properties" }];
3105
+ return false;
3106
+ break;
3107
+ }
3108
+ }
3109
+ if (_errs57 === errors) {
3110
+ if (data26.cldrVersion !== void 0) {
3111
+ let data27 = data26.cldrVersion;
3112
+ const _errs58 = errors;
3113
+ if (typeof data27 !== "string") {
3114
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/version/cldrVersion", schemaPath: "#/definitions/version/properties/cldrVersion/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
3115
+ return false;
3116
+ }
3117
+ if (!(data27 === "techpreview")) {
3118
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/version/cldrVersion", schemaPath: "#/definitions/version/properties/cldrVersion/enum", keyword: "enum", params: { allowedValues: schema71.properties.cldrVersion.enum }, message: "must be equal to one of the allowed values" }];
3119
+ return false;
3120
+ }
3121
+ var valid14 = _errs58 === errors;
3122
+ }
3123
+ else {
3124
+ var valid14 = true;
3125
+ }
3126
+ if (valid14) {
3127
+ if (data26.number !== void 0) {
3128
+ const _errs60 = errors;
3129
+ if (typeof data26.number !== "string") {
3130
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/version/number", schemaPath: "#/definitions/version/properties/number/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
3131
+ return false;
3132
+ }
3133
+ var valid14 = _errs60 === errors;
3134
+ }
3135
+ else {
3136
+ var valid14 = true;
3137
+ }
3138
+ }
3139
+ }
3140
+ }
3141
+ else {
3142
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3/version", schemaPath: "#/definitions/version/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
3143
+ return false;
3144
+ }
3145
+ }
3146
+ var valid1 = _errs54 === errors;
3147
+ }
3148
+ else {
3149
+ var valid1 = true;
3150
+ }
3151
+ }
3152
+ }
3153
+ }
3154
+ }
3155
+ }
3156
+ }
3157
+ }
3158
+ }
3159
+ }
3160
+ }
3161
+ }
3162
+ }
3163
+ }
3164
+ }
3165
+ }
3166
+ }
3167
+ }
3168
+ else {
3169
+ validate20.errors = [{ instancePath: instancePath + "/keyboard3", schemaPath: "#/properties/keyboard3/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
3170
+ return false;
3171
+ }
3172
+ }
3173
+ }
3174
+ }
3175
+ }
3176
+ }
3177
+ else {
3178
+ validate20.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
3179
+ return false;
3180
+ }
3181
+ }
3182
+ validate20.errors = vErrors;
3183
+ return errors === 0;
3184
+ }
3185
+ }
3186
+ });
3187
+ export default require_ldml_keyboard3_schema_validator();
3188
+ //# debugId=8811648a-93c4-524f-b22c-ffac1268863b
3189
+ //# sourceMappingURL=ldml-keyboard3.schema.validator.mjs.map