@honua/react 0.1.0-beta.0 → 0.1.2-beta.0

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 (315) hide show
  1. package/contract/discovery.d.ts +231 -0
  2. package/contract/discovery.d.ts.map +1 -0
  3. package/contract/discovery.js +554 -0
  4. package/contract/edit-sketch.d.ts +8 -0
  5. package/contract/edit-sketch.d.ts.map +1 -1
  6. package/contract/edit-sketch.js +15 -0
  7. package/contract/edit-snapping.d.ts +160 -0
  8. package/contract/edit-snapping.d.ts.map +1 -0
  9. package/contract/edit-snapping.js +675 -0
  10. package/contract/generated/projjson-v0.7-crs-validator.d.ts +35 -0
  11. package/contract/generated/projjson-v0.7-crs-validator.d.ts.map +1 -0
  12. package/contract/generated/projjson-v0.7-crs-validator.js +3941 -0
  13. package/contract/index.d.ts +11 -2
  14. package/contract/index.d.ts.map +1 -1
  15. package/contract/index.js +4 -1
  16. package/contract/pmtiles.d.ts +31 -0
  17. package/contract/pmtiles.d.ts.map +1 -1
  18. package/contract/pmtiles.js +60 -20
  19. package/contract/protocol-module.d.ts +70 -0
  20. package/contract/protocol-module.d.ts.map +1 -0
  21. package/contract/protocol-module.js +1 -0
  22. package/contract/schema-envelope.d.ts +26 -0
  23. package/contract/schema-envelope.d.ts.map +1 -0
  24. package/contract/schema-envelope.js +25 -0
  25. package/contract/schema.d.ts +582 -0
  26. package/contract/schema.d.ts.map +1 -0
  27. package/contract/schema.js +2483 -0
  28. package/contract/source-capability-support.d.ts +6 -0
  29. package/contract/source-capability-support.d.ts.map +1 -0
  30. package/contract/source-capability-support.js +154 -0
  31. package/contract/source.d.ts +35 -17
  32. package/contract/source.d.ts.map +1 -1
  33. package/contract/source.js +267 -71
  34. package/contract/types.d.ts +140 -4
  35. package/contract/types.d.ts.map +1 -1
  36. package/contract/types.js +6 -14
  37. package/core/bounded-json.d.ts +4 -0
  38. package/core/bounded-json.d.ts.map +1 -0
  39. package/core/bounded-json.js +38 -0
  40. package/core/cache-state.d.ts +9 -0
  41. package/core/cache-state.d.ts.map +1 -1
  42. package/core/cache-state.js +10 -0
  43. package/core/capabilities-xml.d.ts +33 -0
  44. package/core/capabilities-xml.d.ts.map +1 -0
  45. package/core/capabilities-xml.js +331 -0
  46. package/core/client.d.ts +4 -1
  47. package/core/client.d.ts.map +1 -1
  48. package/core/client.js +115 -29
  49. package/core/error-classifications.d.ts +153 -0
  50. package/core/error-classifications.d.ts.map +1 -0
  51. package/core/error-classifications.js +140 -0
  52. package/core/error-code-registry.d.ts +158 -0
  53. package/core/error-code-registry.d.ts.map +1 -0
  54. package/core/error-code-registry.js +143 -0
  55. package/core/error-envelope.d.ts +68 -0
  56. package/core/error-envelope.d.ts.map +1 -0
  57. package/core/error-envelope.js +357 -0
  58. package/core/errors.d.ts +45 -29
  59. package/core/errors.d.ts.map +1 -1
  60. package/core/errors.js +97 -50
  61. package/core/geoparquet-sql.d.ts +30 -2
  62. package/core/geoparquet-sql.d.ts.map +1 -1
  63. package/core/geoparquet-sql.js +38 -3
  64. package/core/odata-key-path.d.ts +12 -0
  65. package/core/odata-key-path.d.ts.map +1 -0
  66. package/core/odata-key-path.js +28 -0
  67. package/core/odata-write-codec.d.ts +66 -0
  68. package/core/odata-write-codec.d.ts.map +1 -0
  69. package/core/odata-write-codec.js +1083 -0
  70. package/core/odata.d.ts +59 -7
  71. package/core/odata.d.ts.map +1 -1
  72. package/core/odata.js +431 -99
  73. package/core/ogc-features.d.ts.map +1 -1
  74. package/core/ogc-features.js +3 -0
  75. package/core/ogc-maps.d.ts +7 -0
  76. package/core/ogc-maps.d.ts.map +1 -1
  77. package/core/ogc-maps.js +46 -7
  78. package/core/ogc-processes.d.ts +2 -1
  79. package/core/ogc-processes.d.ts.map +1 -1
  80. package/core/ogc-processes.js +33 -5
  81. package/core/ogc-records.d.ts +9 -0
  82. package/core/ogc-records.d.ts.map +1 -1
  83. package/core/ogc-records.js +78 -29
  84. package/core/ogc-tiles.d.ts +10 -1
  85. package/core/ogc-tiles.d.ts.map +1 -1
  86. package/core/ogc-tiles.js +56 -17
  87. package/core/path-utils.d.ts +9 -0
  88. package/core/path-utils.d.ts.map +1 -1
  89. package/core/path-utils.js +19 -0
  90. package/core/protocol-transport.d.ts +1 -0
  91. package/core/protocol-transport.d.ts.map +1 -1
  92. package/core/request-pipeline.d.ts.map +1 -1
  93. package/core/request-pipeline.js +1 -1
  94. package/core/spatial-filter.d.ts +8 -4
  95. package/core/spatial-filter.d.ts.map +1 -1
  96. package/core/spatial-filter.js +206 -16
  97. package/core/stac-static.d.ts +6 -2
  98. package/core/stac-static.d.ts.map +1 -1
  99. package/core/stac-static.js +260 -69
  100. package/core/surfaces.d.ts.map +1 -1
  101. package/core/surfaces.js +69 -5
  102. package/core/types.d.ts +125 -7
  103. package/core/types.d.ts.map +1 -1
  104. package/core/wfs-capabilities.d.ts +2 -0
  105. package/core/wfs-capabilities.d.ts.map +1 -1
  106. package/core/wfs-capabilities.js +8 -1
  107. package/core/wfs.d.ts.map +1 -1
  108. package/core/wfs.js +10 -0
  109. package/core/wms-capabilities.d.ts +56 -84
  110. package/core/wms-capabilities.d.ts.map +1 -1
  111. package/core/wms-capabilities.js +212 -509
  112. package/core/wmts-capabilities.d.ts +62 -62
  113. package/core/wmts-capabilities.d.ts.map +1 -1
  114. package/core/wmts-capabilities.js +224 -371
  115. package/esri-compat/editor.d.ts +8 -0
  116. package/esri-compat/editor.d.ts.map +1 -1
  117. package/esri-compat/editor.js +13 -0
  118. package/esri-compat/feature-layer.d.ts +2 -0
  119. package/esri-compat/feature-layer.d.ts.map +1 -1
  120. package/esri-compat/feature-layer.js +1 -0
  121. package/esri-compat/layer-list.d.ts +11 -0
  122. package/esri-compat/layer-list.d.ts.map +1 -1
  123. package/esri-compat/layer-list.js +49 -0
  124. package/esri-compat/legend.d.ts +10 -0
  125. package/esri-compat/legend.d.ts.map +1 -1
  126. package/esri-compat/legend.js +27 -0
  127. package/esri-compat/portal.d.ts +197 -0
  128. package/esri-compat/portal.d.ts.map +1 -0
  129. package/esri-compat/portal.js +251 -0
  130. package/esri-compat/renderer-objects.d.ts +40 -0
  131. package/esri-compat/renderer-objects.d.ts.map +1 -0
  132. package/esri-compat/renderer-objects.js +62 -0
  133. package/esri-compat/sketch.d.ts +43 -0
  134. package/esri-compat/sketch.d.ts.map +1 -1
  135. package/esri-compat/sketch.js +46 -0
  136. package/esri-compat/snapping.d.ts +43 -0
  137. package/esri-compat/snapping.d.ts.map +1 -0
  138. package/esri-compat/snapping.js +45 -0
  139. package/esri-compat/url.d.ts.map +1 -1
  140. package/esri-compat/url.js +1 -1
  141. package/esri-compat/widget-host.d.ts +84 -0
  142. package/esri-compat/widget-host.d.ts.map +1 -0
  143. package/esri-compat/widget-host.js +159 -0
  144. package/filter-registry/index.d.ts +145 -0
  145. package/filter-registry/index.d.ts.map +1 -0
  146. package/filter-registry/index.js +531 -0
  147. package/generated-app/errors.d.ts +18 -2
  148. package/generated-app/errors.d.ts.map +1 -1
  149. package/generated-app/errors.js +44 -11
  150. package/map/automatic-mount-integration.d.ts +134 -0
  151. package/map/automatic-mount-integration.d.ts.map +1 -0
  152. package/map/automatic-mount-integration.js +305 -0
  153. package/map/automatic-source-strategy.d.ts +125 -0
  154. package/map/automatic-source-strategy.d.ts.map +1 -0
  155. package/map/automatic-source-strategy.js +494 -0
  156. package/map/data-to-map-bridge.d.ts +293 -0
  157. package/map/data-to-map-bridge.d.ts.map +1 -0
  158. package/map/data-to-map-bridge.js +817 -0
  159. package/map/geojson-projection.d.ts +33 -0
  160. package/map/geojson-projection.d.ts.map +1 -0
  161. package/map/geojson-projection.js +118 -0
  162. package/map/index.d.ts +14 -0
  163. package/map/index.d.ts.map +1 -1
  164. package/map/index.js +8 -0
  165. package/map/raster-source-spec.d.ts +30 -0
  166. package/map/raster-source-spec.d.ts.map +1 -0
  167. package/map/raster-source-spec.js +190 -0
  168. package/map/raster-source-strategy.d.ts +65 -0
  169. package/map/raster-source-strategy.d.ts.map +1 -0
  170. package/map/raster-source-strategy.js +232 -0
  171. package/map/source-to-maplibre.d.ts +91 -0
  172. package/map/source-to-maplibre.d.ts.map +1 -0
  173. package/map/source-to-maplibre.js +454 -0
  174. package/map/temporal-playback.d.ts +139 -0
  175. package/map/temporal-playback.d.ts.map +1 -0
  176. package/map/temporal-playback.js +247 -0
  177. package/package.json +14 -1
  178. package/query-planner/canonical.d.ts +7 -0
  179. package/query-planner/canonical.d.ts.map +1 -0
  180. package/query-planner/canonical.js +145 -0
  181. package/query-planner/cql2-json.d.ts +17 -0
  182. package/query-planner/cql2-json.d.ts.map +1 -0
  183. package/query-planner/cql2-json.js +646 -0
  184. package/query-planner/diagnostics.d.ts +35 -0
  185. package/query-planner/diagnostics.d.ts.map +1 -0
  186. package/query-planner/diagnostics.js +373 -0
  187. package/query-planner/duckdb.d.ts +79 -0
  188. package/query-planner/duckdb.d.ts.map +1 -0
  189. package/query-planner/duckdb.js +758 -0
  190. package/query-planner/execution-context.d.ts +5 -0
  191. package/query-planner/execution-context.d.ts.map +1 -0
  192. package/query-planner/execution-context.js +50 -0
  193. package/query-planner/executor.d.ts +5 -0
  194. package/query-planner/executor.d.ts.map +1 -0
  195. package/query-planner/executor.js +223 -0
  196. package/query-planner/geoservices.d.ts +91 -0
  197. package/query-planner/geoservices.d.ts.map +1 -0
  198. package/query-planner/geoservices.js +667 -0
  199. package/query-planner/grpc.d.ts +100 -0
  200. package/query-planner/grpc.d.ts.map +1 -0
  201. package/query-planner/grpc.js +736 -0
  202. package/query-planner/index.d.ts +44 -0
  203. package/query-planner/index.d.ts.map +1 -0
  204. package/query-planner/index.js +30 -0
  205. package/query-planner/ir.d.ts +20 -0
  206. package/query-planner/ir.d.ts.map +1 -0
  207. package/query-planner/ir.js +417 -0
  208. package/query-planner/local-aggregate.d.ts +5 -0
  209. package/query-planner/local-aggregate.d.ts.map +1 -0
  210. package/query-planner/local-aggregate.js +126 -0
  211. package/query-planner/odata.d.ts +48 -0
  212. package/query-planner/odata.d.ts.map +1 -0
  213. package/query-planner/odata.js +662 -0
  214. package/query-planner/ogc-compiler.d.ts +55 -0
  215. package/query-planner/ogc-compiler.d.ts.map +1 -0
  216. package/query-planner/ogc-compiler.js +480 -0
  217. package/query-planner/ogc-features.d.ts +53 -0
  218. package/query-planner/ogc-features.d.ts.map +1 -0
  219. package/query-planner/ogc-features.js +617 -0
  220. package/query-planner/planner.d.ts +17 -0
  221. package/query-planner/planner.d.ts.map +1 -0
  222. package/query-planner/planner.js +818 -0
  223. package/query-planner/resource.d.ts +94 -0
  224. package/query-planner/resource.d.ts.map +1 -0
  225. package/query-planner/resource.js +526 -0
  226. package/query-planner/semantic-canonical.d.ts +15 -0
  227. package/query-planner/semantic-canonical.d.ts.map +1 -0
  228. package/query-planner/semantic-canonical.js +62 -0
  229. package/query-planner/semantic-compat.d.ts +10 -0
  230. package/query-planner/semantic-compat.d.ts.map +1 -0
  231. package/query-planner/semantic-compat.js +35 -0
  232. package/query-planner/semantic-compiler.d.ts +64 -0
  233. package/query-planner/semantic-compiler.d.ts.map +1 -0
  234. package/query-planner/semantic-compiler.js +81 -0
  235. package/query-planner/semantic-literals.d.ts +30 -0
  236. package/query-planner/semantic-literals.d.ts.map +1 -0
  237. package/query-planner/semantic-literals.js +133 -0
  238. package/query-planner/semantic-types.d.ts +265 -0
  239. package/query-planner/semantic-types.d.ts.map +1 -0
  240. package/query-planner/semantic-types.js +1 -0
  241. package/query-planner/semantic.d.ts +54 -0
  242. package/query-planner/semantic.d.ts.map +1 -0
  243. package/query-planner/semantic.js +1421 -0
  244. package/query-planner/types.d.ts +560 -0
  245. package/query-planner/types.d.ts.map +1 -0
  246. package/query-planner/types.js +49 -0
  247. package/query-planner/wfs-semantic.d.ts +58 -0
  248. package/query-planner/wfs-semantic.d.ts.map +1 -0
  249. package/query-planner/wfs-semantic.js +547 -0
  250. package/query-planner/wfs.d.ts +6 -0
  251. package/query-planner/wfs.d.ts.map +1 -0
  252. package/query-planner/wfs.js +71 -0
  253. package/react/external-map.d.ts +67 -0
  254. package/react/external-map.d.ts.map +1 -0
  255. package/react/external-map.js +63 -0
  256. package/react/honua-map.d.ts.map +1 -1
  257. package/react/honua-map.js +3 -2
  258. package/react/honua-source-layer.d.ts +110 -0
  259. package/react/honua-source-layer.d.ts.map +1 -0
  260. package/react/honua-source-layer.js +101 -0
  261. package/react/hooks.d.ts +28 -0
  262. package/react/hooks.d.ts.map +1 -1
  263. package/react/hooks.js +26 -4
  264. package/react/index.d.ts +8 -0
  265. package/react/index.d.ts.map +1 -1
  266. package/react/index.js +5 -0
  267. package/react/query-cache.d.ts +26 -4
  268. package/react/query-cache.d.ts.map +1 -1
  269. package/react/query-cache.js +51 -8
  270. package/react/selection.d.ts +177 -0
  271. package/react/selection.d.ts.map +1 -0
  272. package/react/selection.js +0 -0
  273. package/react/use-mounted-source.d.ts +69 -0
  274. package/react/use-mounted-source.d.ts.map +1 -0
  275. package/react/use-mounted-source.js +346 -0
  276. package/runtime/edit-snapping.d.ts +107 -0
  277. package/runtime/edit-snapping.d.ts.map +1 -0
  278. package/runtime/edit-snapping.js +190 -0
  279. package/runtime/errors.d.ts +3 -2
  280. package/runtime/errors.d.ts.map +1 -1
  281. package/runtime/errors.js +19 -2
  282. package/runtime/index.d.ts +6 -0
  283. package/runtime/index.d.ts.map +1 -1
  284. package/runtime/index.js +3 -0
  285. package/runtime/maplibre-renderer.d.ts +41 -0
  286. package/runtime/maplibre-renderer.d.ts.map +1 -0
  287. package/runtime/maplibre-renderer.js +322 -0
  288. package/runtime/query-tiles.d.ts +2 -1
  289. package/runtime/query-tiles.d.ts.map +1 -1
  290. package/runtime/query-tiles.js +6 -2
  291. package/runtime/source-bridge.d.ts +4 -4
  292. package/runtime/source-bridge.d.ts.map +1 -1
  293. package/runtime/source-bridge.js +9 -56
  294. package/runtime/style-interactions.d.ts +3 -2
  295. package/runtime/style-interactions.d.ts.map +1 -1
  296. package/runtime/style-interactions.js +11 -3
  297. package/runtime/terra-draw-sketch.d.ts +275 -0
  298. package/runtime/terra-draw-sketch.d.ts.map +1 -0
  299. package/runtime/terra-draw-sketch.js +404 -0
  300. package/source-capability-registry.d.ts +1 -0
  301. package/source-capability-registry.js +1 -0
  302. package/source-capability-types.d.ts +186 -0
  303. package/source-capability-types.js +7 -0
  304. package/style/index.d.ts +2 -0
  305. package/style/index.d.ts.map +1 -1
  306. package/style/index.js +2 -0
  307. package/style/renderers.d.ts +326 -0
  308. package/style/renderers.d.ts.map +1 -0
  309. package/style/renderers.js +517 -0
  310. package/webmap/convert-renderer.d.ts +24 -3
  311. package/webmap/convert-renderer.d.ts.map +1 -1
  312. package/webmap/convert-renderer.js +93 -112
  313. package/webmap/index.d.ts +1 -1
  314. package/webmap/index.d.ts.map +1 -1
  315. package/webmap/index.js +1 -1
@@ -0,0 +1,3941 @@
1
+ // @ts-nocheck
2
+ /*!
3
+ Third-party software notices for the generated PROJJSON validator
4
+
5
+ PROJJSON schema
6
+ Copyright (c) Even Rouault and PROJ contributors, 2019-2023
7
+
8
+ Ajv standalone validator runtime
9
+ Copyright (c) 2015-2021 Evgeny Poberezkin
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+ */
29
+ /* Generated from PROJJSON v0.7 #/definitions/crs; source sha256:67f090556bae996522edad482597c0f9e1b919ca4c9288ac9f8f7cd4180f49b6. */
30
+ const ir = qe;
31
+ var tr = qe;
32
+ const nr = { $schema: "http://json-schema.org/draft-07/schema#", $id: "https://honua.io/schemas/projjson-v0.7-crs.json", $ref: "#/definitions/crs", definitions: { abridged_transformation: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["AbridgedTransformation"] }, name: { type: "string" }, source_crs: { $ref: "#/definitions/crs", $comment: "Only present when the source_crs of the bound_crs does not match the source_crs of the AbridgedTransformation. No equivalent in WKT" }, method: { $ref: "#/definitions/method" }, parameters: { type: "array", items: { $ref: "#/definitions/parameter_value" } }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "method", "parameters"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, axis: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Axis"] }, name: { type: "string" }, abbreviation: { type: "string" }, direction: { type: "string", enum: ["north", "northNorthEast", "northEast", "eastNorthEast", "east", "eastSouthEast", "southEast", "southSouthEast", "south", "southSouthWest", "southWest", "westSouthWest", "west", "westNorthWest", "northWest", "northNorthWest", "up", "down", "geocentricX", "geocentricY", "geocentricZ", "columnPositive", "columnNegative", "rowPositive", "rowNegative", "displayRight", "displayLeft", "displayUp", "displayDown", "forward", "aft", "port", "starboard", "clockwise", "counterClockwise", "towards", "awayFrom", "future", "past", "unspecified"] }, meridian: { $ref: "#/definitions/meridian" }, unit: { $ref: "#/definitions/unit" }, minimum_value: { type: "number" }, maximum_value: { type: "number" }, range_meaning: { type: "string", enum: ["exact", "wraparound"] }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "abbreviation", "direction"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, bbox: { type: "object", properties: { east_longitude: { type: "number" }, west_longitude: { type: "number" }, south_latitude: { type: "number" }, north_latitude: { type: "number" } }, required: ["east_longitude", "west_longitude", "south_latitude", "north_latitude"], additionalProperties: !1 }, bound_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { $schema: { type: "string" }, type: { type: "string", enum: ["BoundCRS"] }, name: { type: "string" }, source_crs: { $ref: "#/definitions/crs" }, target_crs: { $ref: "#/definitions/crs" }, transformation: { $ref: "#/definitions/abridged_transformation" }, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["source_crs", "target_crs", "transformation"], additionalProperties: !1 }, compound_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["CompoundCRS"] }, name: { type: "string" }, components: { type: "array", items: { $ref: "#/definitions/crs" } }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "components"], additionalProperties: !1 }, concatenated_operation: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["ConcatenatedOperation"] }, name: { type: "string" }, source_crs: { $ref: "#/definitions/crs" }, target_crs: { $ref: "#/definitions/crs" }, steps: { type: "array", items: { $ref: "#/definitions/single_operation" } }, accuracy: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "source_crs", "target_crs", "steps"], additionalProperties: !1 }, conversion: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Conversion"] }, name: { type: "string" }, method: { $ref: "#/definitions/method" }, parameters: { type: "array", items: { $ref: "#/definitions/parameter_value" } }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "method"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, coordinate_metadata: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["CoordinateMetadata"] }, crs: { $ref: "#/definitions/crs" }, coordinateEpoch: { type: "number" } }, required: ["crs"], additionalProperties: !1 }, coordinate_system: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["CoordinateSystem"] }, name: { type: "string" }, subtype: { type: "string", enum: ["Cartesian", "spherical", "ellipsoidal", "vertical", "ordinal", "parametric", "affine", "TemporalDateTime", "TemporalCount", "TemporalMeasure"] }, axis: { type: "array", items: { $ref: "#/definitions/axis" } }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["subtype", "axis"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, crs: { oneOf: [{ $ref: "#/definitions/bound_crs" }, { $ref: "#/definitions/compound_crs" }, { $ref: "#/definitions/derived_engineering_crs" }, { $ref: "#/definitions/derived_geodetic_crs" }, { $ref: "#/definitions/derived_parametric_crs" }, { $ref: "#/definitions/derived_projected_crs" }, { $ref: "#/definitions/derived_temporal_crs" }, { $ref: "#/definitions/derived_vertical_crs" }, { $ref: "#/definitions/engineering_crs" }, { $ref: "#/definitions/geodetic_crs" }, { $ref: "#/definitions/parametric_crs" }, { $ref: "#/definitions/projected_crs" }, { $ref: "#/definitions/temporal_crs" }, { $ref: "#/definitions/vertical_crs" }] }, datum: { oneOf: [{ $ref: "#/definitions/geodetic_reference_frame" }, { $ref: "#/definitions/vertical_reference_frame" }, { $ref: "#/definitions/dynamic_geodetic_reference_frame" }, { $ref: "#/definitions/dynamic_vertical_reference_frame" }, { $ref: "#/definitions/temporal_datum" }, { $ref: "#/definitions/parametric_datum" }, { $ref: "#/definitions/engineering_datum" }] }, datum_ensemble: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["DatumEnsemble"] }, name: { type: "string" }, members: { type: "array", items: { type: "object", properties: { name: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 } }, ellipsoid: { $ref: "#/definitions/ellipsoid" }, accuracy: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "members", "accuracy"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, deformation_model: { description: "Association to a PointMotionOperation", type: "object", properties: { name: { type: "string" }, id: { $ref: "#/definitions/id" } }, required: ["name"], additionalProperties: !1 }, derived_engineering_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedEngineeringCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/engineering_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, derived_geodetic_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedGeodeticCRS", "DerivedGeographicCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/geodetic_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, derived_parametric_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedParametricCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/parametric_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, derived_projected_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedProjectedCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/projected_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, derived_temporal_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedTemporalCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/temporal_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, derived_vertical_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedVerticalCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/vertical_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, dynamic_geodetic_reference_frame: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DynamicGeodeticReferenceFrame"] }, name: {}, anchor: {}, anchor_epoch: {}, ellipsoid: {}, prime_meridian: {}, frame_reference_epoch: { type: "number" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "ellipsoid", "frame_reference_epoch"], additionalProperties: !1 }, dynamic_vertical_reference_frame: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DynamicVerticalReferenceFrame"] }, name: {}, anchor: {}, anchor_epoch: {}, frame_reference_epoch: { type: "number" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "frame_reference_epoch"], additionalProperties: !1 }, ellipsoid: { type: "object", oneOf: [{ properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Ellipsoid"] }, name: { type: "string" }, semi_major_axis: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, semi_minor_axis: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "semi_major_axis", "semi_minor_axis"], additionalProperties: !1 }, { properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Ellipsoid"] }, name: { type: "string" }, semi_major_axis: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, inverse_flattening: { type: "number" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "semi_major_axis", "inverse_flattening"], additionalProperties: !1 }, { properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Ellipsoid"] }, name: { type: "string" }, radius: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "radius"], additionalProperties: !1 }], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }] }, engineering_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["EngineeringCRS"] }, name: { type: "string" }, datum: { $ref: "#/definitions/engineering_datum" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "datum"], additionalProperties: !1 }, engineering_datum: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["EngineeringDatum"] }, name: { type: "string" }, anchor: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], additionalProperties: !1 }, geodetic_crs: { type: "object", properties: { type: { type: "string", enum: ["GeodeticCRS", "GeographicCRS"] }, name: { type: "string" }, datum: { oneOf: [{ $ref: "#/definitions/geodetic_reference_frame" }, { $ref: "#/definitions/dynamic_geodetic_reference_frame" }] }, datum_ensemble: { $ref: "#/definitions/datum_ensemble" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, deformation_models: { type: "array", items: { $ref: "#/definitions/deformation_model" } }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], description: "One and only one of datum and datum_ensemble must be provided", allOf: [{ $ref: "#/definitions/object_usage" }, { $ref: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }], additionalProperties: !1 }, geodetic_reference_frame: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["GeodeticReferenceFrame"] }, name: { type: "string" }, anchor: { type: "string" }, anchor_epoch: { type: "number" }, ellipsoid: { $ref: "#/definitions/ellipsoid" }, prime_meridian: { $ref: "#/definitions/prime_meridian" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "ellipsoid"], additionalProperties: !1 }, geoid_model: { type: "object", properties: { name: { type: "string" }, interpolation_crs: { $ref: "#/definitions/crs" }, id: { $ref: "#/definitions/id" } }, required: ["name"], additionalProperties: !1 }, id: { type: "object", properties: { authority: { type: "string" }, code: { oneOf: [{ type: "string" }, { type: "integer" }] }, version: { oneOf: [{ type: "string" }, { type: "number" }] }, authority_citation: { type: "string" }, uri: { type: "string" } }, required: ["authority", "code"], additionalProperties: !1 }, ids: { type: "array", items: { $ref: "#/definitions/id" } }, method: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["OperationMethod"] }, name: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, id_ids_mutually_exclusive: { not: { type: "object", required: ["id", "ids"] } }, one_and_only_one_of_datum_or_datum_ensemble: { allOf: [{ not: { type: "object", required: ["datum", "datum_ensemble"] } }, { oneOf: [{ type: "object", required: ["datum"] }, { type: "object", required: ["datum_ensemble"] }] }] }, meridian: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Meridian"] }, longitude: { $ref: "#/definitions/value_in_degree_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["longitude"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, object_usage: { anyOf: [{ type: "object", properties: { $schema: { type: "string" }, scope: { type: "string" }, area: { type: "string" }, bbox: { $ref: "#/definitions/bbox" }, vertical_extent: { $ref: "#/definitions/vertical_extent" }, temporal_extent: { $ref: "#/definitions/temporal_extent" }, remarks: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }] }, { type: "object", properties: { $schema: { type: "string" }, usages: { $ref: "#/definitions/usages" }, remarks: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }] }] }, parameter_value: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["ParameterValue"] }, name: { type: "string" }, value: { oneOf: [{ type: "string" }, { type: "number" }] }, unit: { $ref: "#/definitions/unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "value"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, parametric_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["ParametricCRS"] }, name: { type: "string" }, datum: { $ref: "#/definitions/parametric_datum" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "datum"], additionalProperties: !1 }, parametric_datum: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["ParametricDatum"] }, name: { type: "string" }, anchor: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], additionalProperties: !1 }, point_motion_operation: { $comment: "Not implemented in PROJ (at least as of PROJ 9.1)", type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["PointMotionOperation"] }, name: { type: "string" }, source_crs: { $ref: "#/definitions/crs" }, method: { $ref: "#/definitions/method" }, parameters: { type: "array", items: { $ref: "#/definitions/parameter_value" } }, accuracy: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "source_crs", "method", "parameters"], additionalProperties: !1 }, prime_meridian: { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["PrimeMeridian"] }, name: { type: "string" }, longitude: { $ref: "#/definitions/value_in_degree_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, single_operation: { oneOf: [{ $ref: "#/definitions/conversion" }, { $ref: "#/definitions/transformation" }, { $ref: "#/definitions/point_motion_operation" }] }, projected_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["ProjectedCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/geodetic_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, temporal_crs: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["TemporalCRS"] }, name: { type: "string" }, datum: { $ref: "#/definitions/temporal_datum" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "datum"], additionalProperties: !1 }, temporal_datum: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["TemporalDatum"] }, name: { type: "string" }, calendar: { type: "string" }, time_origin: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "calendar"], additionalProperties: !1 }, temporal_extent: { type: "object", properties: { start: { type: "string" }, end: { type: "string" } }, required: ["start", "end"], additionalProperties: !1 }, transformation: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["Transformation"] }, name: { type: "string" }, source_crs: { $ref: "#/definitions/crs" }, target_crs: { $ref: "#/definitions/crs" }, interpolation_crs: { $ref: "#/definitions/crs" }, method: { $ref: "#/definitions/method" }, parameters: { type: "array", items: { $ref: "#/definitions/parameter_value" } }, accuracy: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "source_crs", "target_crs", "method", "parameters"], additionalProperties: !1 }, unit: { oneOf: [{ type: "string", enum: ["metre", "degree", "unity"] }, { type: "object", properties: { type: { type: "string", enum: ["LinearUnit", "AngularUnit", "ScaleUnit", "TimeUnit", "ParametricUnit", "Unit"] }, name: { type: "string" }, conversion_factor: { type: "number" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["type", "name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }] }, usages: { type: "array", items: { type: "object", properties: { scope: { type: "string" }, area: { type: "string" }, bbox: { $ref: "#/definitions/bbox" }, vertical_extent: { $ref: "#/definitions/vertical_extent" }, temporal_extent: { $ref: "#/definitions/temporal_extent" } }, additionalProperties: !1 } }, value_and_unit: { type: "object", properties: { value: { type: "number" }, unit: { $ref: "#/definitions/unit" } }, required: ["value", "unit"], additionalProperties: !1 }, value_in_degree_or_value_and_unit: { oneOf: [{ type: "number" }, { $ref: "#/definitions/value_and_unit" }] }, value_in_metre_or_value_and_unit: { oneOf: [{ type: "number" }, { $ref: "#/definitions/value_and_unit" }] }, vertical_crs: { type: "object", properties: { type: { type: "string", enum: ["VerticalCRS"] }, name: { type: "string" }, datum: { oneOf: [{ $ref: "#/definitions/vertical_reference_frame" }, { $ref: "#/definitions/dynamic_vertical_reference_frame" }] }, datum_ensemble: { $ref: "#/definitions/datum_ensemble" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, geoid_model: { $ref: "#/definitions/geoid_model" }, geoid_models: { type: "array", items: { $ref: "#/definitions/geoid_model" } }, deformation_models: { type: "array", items: { $ref: "#/definitions/deformation_model" } }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], description: "One and only one of datum and datum_ensemble must be provided", allOf: [{ $ref: "#/definitions/object_usage" }, { $ref: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }, { not: { type: "object", required: ["geoid_model", "geoid_models"] } }], additionalProperties: !1 }, vertical_extent: { type: "object", properties: { minimum: { type: "number" }, maximum: { type: "number" }, unit: { $ref: "#/definitions/unit" } }, required: ["minimum", "maximum"], additionalProperties: !1 }, vertical_reference_frame: { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["VerticalReferenceFrame"] }, name: { type: "string" }, anchor: { type: "string" }, anchor_epoch: { type: "number" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], additionalProperties: !1 } } }, or = { oneOf: [{ $ref: "#/definitions/bound_crs" }, { $ref: "#/definitions/compound_crs" }, { $ref: "#/definitions/derived_engineering_crs" }, { $ref: "#/definitions/derived_geodetic_crs" }, { $ref: "#/definitions/derived_parametric_crs" }, { $ref: "#/definitions/derived_projected_crs" }, { $ref: "#/definitions/derived_temporal_crs" }, { $ref: "#/definitions/derived_vertical_crs" }, { $ref: "#/definitions/engineering_crs" }, { $ref: "#/definitions/geodetic_crs" }, { $ref: "#/definitions/parametric_crs" }, { $ref: "#/definitions/projected_crs" }, { $ref: "#/definitions/temporal_crs" }, { $ref: "#/definitions/vertical_crs" }] }, Oe = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { $schema: { type: "string" }, type: { type: "string", enum: ["BoundCRS"] }, name: { type: "string" }, source_crs: { $ref: "#/definitions/crs" }, target_crs: { $ref: "#/definitions/crs" }, transformation: { $ref: "#/definitions/abridged_transformation" }, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["source_crs", "target_crs", "transformation"], additionalProperties: !1 }, ar = { anyOf: [{ type: "object", properties: { $schema: { type: "string" }, scope: { type: "string" }, area: { type: "string" }, bbox: { $ref: "#/definitions/bbox" }, vertical_extent: { $ref: "#/definitions/vertical_extent" }, temporal_extent: { $ref: "#/definitions/temporal_extent" }, remarks: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }] }, { type: "object", properties: { $schema: { type: "string" }, usages: { $ref: "#/definitions/usages" }, remarks: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }] }] }, pr = { not: { type: "object", required: ["id", "ids"] } }, lr = { type: "object", properties: { east_longitude: { type: "number" }, west_longitude: { type: "number" }, south_latitude: { type: "number" }, north_latitude: { type: "number" } }, required: ["east_longitude", "west_longitude", "south_latitude", "north_latitude"], additionalProperties: !1 }, ur = { type: "object", properties: { start: { type: "string" }, end: { type: "string" } }, required: ["start", "end"], additionalProperties: !1 }, mr = { type: "object", properties: { authority: { type: "string" }, code: { oneOf: [{ type: "string" }, { type: "integer" }] }, version: { oneOf: [{ type: "string" }, { type: "number" }] }, authority_citation: { type: "string" }, uri: { type: "string" } }, required: ["authority", "code"], additionalProperties: !1 }, dr = { type: "object", properties: { minimum: { type: "number" }, maximum: { type: "number" }, unit: { $ref: "#/definitions/unit" } }, required: ["minimum", "maximum"], additionalProperties: !1 }, $e = { oneOf: [{ type: "string", enum: ["metre", "degree", "unity"] }, { type: "object", properties: { type: { type: "string", enum: ["LinearUnit", "AngularUnit", "ScaleUnit", "TimeUnit", "ParametricUnit", "Unit"] }, name: { type: "string" }, conversion_factor: { type: "number" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["type", "name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }] }, fr = { type: "array", items: { $ref: "#/definitions/id" } };
33
+ function j(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (Array.isArray(s)) {
34
+ const c = s.length;
35
+ for (let f = 0; f < c; f++) {
36
+ let g = s[f];
37
+ if (g && typeof g == "object" && !Array.isArray(g)) {
38
+ if (g.authority === void 0) {
39
+ const t = { instancePath: i + "/" + f, schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
40
+ e === null ? e = [t] : e.push(t), r++;
41
+ }
42
+ if (g.code === void 0) {
43
+ const t = { instancePath: i + "/" + f, schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
44
+ e === null ? e = [t] : e.push(t), r++;
45
+ }
46
+ for (const t in g)
47
+ if (!(t === "authority" || t === "code" || t === "version" || t === "authority_citation" || t === "uri")) {
48
+ const o = { instancePath: i + "/" + f, schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
49
+ e === null ? e = [o] : e.push(o), r++;
50
+ }
51
+ if (g.authority !== void 0 && typeof g.authority != "string") {
52
+ const t = { instancePath: i + "/" + f + "/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
53
+ e === null ? e = [t] : e.push(t), r++;
54
+ }
55
+ if (g.code !== void 0) {
56
+ let t = g.code;
57
+ const o = r;
58
+ let y = !1, u = null;
59
+ const l = r;
60
+ if (typeof t != "string") {
61
+ const h = { instancePath: i + "/" + f + "/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
62
+ e === null ? e = [h] : e.push(h), r++;
63
+ }
64
+ var n = l === r;
65
+ n && (y = !0, u = 0);
66
+ const v = r;
67
+ if (!(typeof t == "number" && !(t % 1) && !isNaN(t))) {
68
+ const h = { instancePath: i + "/" + f + "/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
69
+ e === null ? e = [h] : e.push(h), r++;
70
+ }
71
+ var n = v === r;
72
+ if (n && y ? (y = !1, u = [u, 1]) : n && (y = !0, u = 1), y)
73
+ r = o, e !== null && (o ? e.length = o : e = null);
74
+ else {
75
+ const h = { instancePath: i + "/" + f + "/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: u }, message: "must match exactly one schema in oneOf" };
76
+ e === null ? e = [h] : e.push(h), r++;
77
+ }
78
+ }
79
+ if (g.version !== void 0) {
80
+ let t = g.version;
81
+ const o = r;
82
+ let y = !1, u = null;
83
+ const l = r;
84
+ if (typeof t != "string") {
85
+ const h = { instancePath: i + "/" + f + "/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
86
+ e === null ? e = [h] : e.push(h), r++;
87
+ }
88
+ var a = l === r;
89
+ a && (y = !0, u = 0);
90
+ const v = r;
91
+ if (typeof t != "number") {
92
+ const h = { instancePath: i + "/" + f + "/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
93
+ e === null ? e = [h] : e.push(h), r++;
94
+ }
95
+ var a = v === r;
96
+ if (a && y ? (y = !1, u = [u, 1]) : a && (y = !0, u = 1), y)
97
+ r = o, e !== null && (o ? e.length = o : e = null);
98
+ else {
99
+ const h = { instancePath: i + "/" + f + "/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: u }, message: "must match exactly one schema in oneOf" };
100
+ e === null ? e = [h] : e.push(h), r++;
101
+ }
102
+ }
103
+ if (g.authority_citation !== void 0 && typeof g.authority_citation != "string") {
104
+ const t = { instancePath: i + "/" + f + "/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
105
+ e === null ? e = [t] : e.push(t), r++;
106
+ }
107
+ if (g.uri !== void 0 && typeof g.uri != "string") {
108
+ const t = { instancePath: i + "/" + f + "/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
109
+ e === null ? e = [t] : e.push(t), r++;
110
+ }
111
+ }
112
+ else {
113
+ const t = { instancePath: i + "/" + f, schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
114
+ e === null ? e = [t] : e.push(t), r++;
115
+ }
116
+ }
117
+ }
118
+ else {
119
+ const c = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "array" }, message: "must be array" };
120
+ e === null ? e = [c] : e.push(c), r++;
121
+ } return j.errors = e, r === 0; }
122
+ function U(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r; let a = !1, c = null; const f = r; if (typeof s != "string") {
123
+ const h = { instancePath: i, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
124
+ e === null ? e = [h] : e.push(h), r++;
125
+ } if (!(s === "metre" || s === "degree" || s === "unity")) {
126
+ const h = { instancePath: i, schemaPath: "#/oneOf/0/enum", keyword: "enum", params: { allowedValues: $e.oneOf[0].enum }, message: "must be equal to one of the allowed values" };
127
+ e === null ? e = [h] : e.push(h), r++;
128
+ } var v = f === r; v && (a = !0, c = 0); const g = r, t = r, o = r; if (r === o)
129
+ if (s && typeof s == "object" && !Array.isArray(s)) {
130
+ let h;
131
+ if (s.id === void 0 && (h = "id") || s.ids === void 0 && (h = "ids")) {
132
+ const p = {};
133
+ e === null ? e = [p] : e.push(p), r++;
134
+ }
135
+ }
136
+ else {
137
+ const h = {};
138
+ e === null ? e = [h] : e.push(h), r++;
139
+ } var y = o === r; if (y) {
140
+ const h = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
141
+ e === null ? e = [h] : e.push(h), r++;
142
+ }
143
+ else
144
+ r = t, e !== null && (t ? e.length = t : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
145
+ if (s.type === void 0) {
146
+ const h = { instancePath: i, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "type" }, message: "must have required property 'type'" };
147
+ e === null ? e = [h] : e.push(h), r++;
148
+ }
149
+ if (s.name === void 0) {
150
+ const h = { instancePath: i, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
151
+ e === null ? e = [h] : e.push(h), r++;
152
+ }
153
+ for (const h in s)
154
+ if (!(h === "type" || h === "name" || h === "conversion_factor" || h === "id" || h === "ids")) {
155
+ const p = { instancePath: i, schemaPath: "#/oneOf/1/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: h }, message: "must NOT have additional properties" };
156
+ e === null ? e = [p] : e.push(p), r++;
157
+ }
158
+ if (s.type !== void 0) {
159
+ let h = s.type;
160
+ if (typeof h != "string") {
161
+ const p = { instancePath: i + "/type", schemaPath: "#/oneOf/1/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
162
+ e === null ? e = [p] : e.push(p), r++;
163
+ }
164
+ if (!(h === "LinearUnit" || h === "AngularUnit" || h === "ScaleUnit" || h === "TimeUnit" || h === "ParametricUnit" || h === "Unit")) {
165
+ const p = { instancePath: i + "/type", schemaPath: "#/oneOf/1/properties/type/enum", keyword: "enum", params: { allowedValues: $e.oneOf[1].properties.type.enum }, message: "must be equal to one of the allowed values" };
166
+ e === null ? e = [p] : e.push(p), r++;
167
+ }
168
+ }
169
+ if (s.name !== void 0 && typeof s.name != "string") {
170
+ const h = { instancePath: i + "/name", schemaPath: "#/oneOf/1/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
171
+ e === null ? e = [h] : e.push(h), r++;
172
+ }
173
+ if (s.conversion_factor !== void 0 && typeof s.conversion_factor != "number") {
174
+ const h = { instancePath: i + "/conversion_factor", schemaPath: "#/oneOf/1/properties/conversion_factor/type", keyword: "type", params: { type: "number" }, message: "must be number" };
175
+ e === null ? e = [h] : e.push(h), r++;
176
+ }
177
+ if (s.id !== void 0) {
178
+ let h = s.id;
179
+ if (h && typeof h == "object" && !Array.isArray(h)) {
180
+ if (h.authority === void 0) {
181
+ const p = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
182
+ e === null ? e = [p] : e.push(p), r++;
183
+ }
184
+ if (h.code === void 0) {
185
+ const p = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
186
+ e === null ? e = [p] : e.push(p), r++;
187
+ }
188
+ for (const p in h)
189
+ if (!(p === "authority" || p === "code" || p === "version" || p === "authority_citation" || p === "uri")) {
190
+ const d = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: p }, message: "must NOT have additional properties" };
191
+ e === null ? e = [d] : e.push(d), r++;
192
+ }
193
+ if (h.authority !== void 0 && typeof h.authority != "string") {
194
+ const p = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
195
+ e === null ? e = [p] : e.push(p), r++;
196
+ }
197
+ if (h.code !== void 0) {
198
+ let p = h.code;
199
+ const d = r;
200
+ let k = !1, m = null;
201
+ const b = r;
202
+ if (typeof p != "string") {
203
+ const w = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
204
+ e === null ? e = [w] : e.push(w), r++;
205
+ }
206
+ var u = b === r;
207
+ u && (k = !0, m = 0);
208
+ const P = r;
209
+ if (!(typeof p == "number" && !(p % 1) && !isNaN(p))) {
210
+ const w = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
211
+ e === null ? e = [w] : e.push(w), r++;
212
+ }
213
+ var u = P === r;
214
+ if (u && k ? (k = !1, m = [m, 1]) : u && (k = !0, m = 1), k)
215
+ r = d, e !== null && (d ? e.length = d : e = null);
216
+ else {
217
+ const w = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: m }, message: "must match exactly one schema in oneOf" };
218
+ e === null ? e = [w] : e.push(w), r++;
219
+ }
220
+ }
221
+ if (h.version !== void 0) {
222
+ let p = h.version;
223
+ const d = r;
224
+ let k = !1, m = null;
225
+ const b = r;
226
+ if (typeof p != "string") {
227
+ const w = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
228
+ e === null ? e = [w] : e.push(w), r++;
229
+ }
230
+ var l = b === r;
231
+ l && (k = !0, m = 0);
232
+ const P = r;
233
+ if (typeof p != "number") {
234
+ const w = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
235
+ e === null ? e = [w] : e.push(w), r++;
236
+ }
237
+ var l = P === r;
238
+ if (l && k ? (k = !1, m = [m, 1]) : l && (k = !0, m = 1), k)
239
+ r = d, e !== null && (d ? e.length = d : e = null);
240
+ else {
241
+ const w = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: m }, message: "must match exactly one schema in oneOf" };
242
+ e === null ? e = [w] : e.push(w), r++;
243
+ }
244
+ }
245
+ if (h.authority_citation !== void 0 && typeof h.authority_citation != "string") {
246
+ const p = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
247
+ e === null ? e = [p] : e.push(p), r++;
248
+ }
249
+ if (h.uri !== void 0 && typeof h.uri != "string") {
250
+ const p = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
251
+ e === null ? e = [p] : e.push(p), r++;
252
+ }
253
+ }
254
+ else {
255
+ const p = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
256
+ e === null ? e = [p] : e.push(p), r++;
257
+ }
258
+ }
259
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
260
+ }
261
+ else {
262
+ const h = { instancePath: i, schemaPath: "#/oneOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
263
+ e === null ? e = [h] : e.push(h), r++;
264
+ } var v = g === r; if (v && a ? (a = !1, c = [c, 1]) : v && (a = !0, c = 1), a)
265
+ r = n, e !== null && (n ? e.length = n : e = null);
266
+ else {
267
+ const h = { instancePath: i, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: c }, message: "must match exactly one schema in oneOf" };
268
+ e === null ? e = [h] : e.push(h), r++;
269
+ } return U.errors = e, r === 0; }
270
+ function M(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (s && typeof s == "object" && !Array.isArray(s)) {
271
+ if (s.minimum === void 0) {
272
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "minimum" }, message: "must have required property 'minimum'" };
273
+ e === null ? e = [n] : e.push(n), r++;
274
+ }
275
+ if (s.maximum === void 0) {
276
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "maximum" }, message: "must have required property 'maximum'" };
277
+ e === null ? e = [n] : e.push(n), r++;
278
+ }
279
+ for (const n in s)
280
+ if (!(n === "minimum" || n === "maximum" || n === "unit")) {
281
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
282
+ e === null ? e = [a] : e.push(a), r++;
283
+ }
284
+ if (s.minimum !== void 0 && typeof s.minimum != "number") {
285
+ const n = { instancePath: i + "/minimum", schemaPath: "#/properties/minimum/type", keyword: "type", params: { type: "number" }, message: "must be number" };
286
+ e === null ? e = [n] : e.push(n), r++;
287
+ }
288
+ if (s.maximum !== void 0 && typeof s.maximum != "number") {
289
+ const n = { instancePath: i + "/maximum", schemaPath: "#/properties/maximum/type", keyword: "type", params: { type: "number" }, message: "must be number" };
290
+ e === null ? e = [n] : e.push(n), r++;
291
+ }
292
+ s.unit !== void 0 && (U(s.unit, { instancePath: i + "/unit", parentData: s, parentDataProperty: "unit", rootData: _ }) || (e = e === null ? U.errors : e.concat(U.errors), r = e.length));
293
+ }
294
+ else {
295
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
296
+ e === null ? e = [n] : e.push(n), r++;
297
+ } return M.errors = e, r === 0; }
298
+ const yr = { type: "array", items: { type: "object", properties: { scope: { type: "string" }, area: { type: "string" }, bbox: { $ref: "#/definitions/bbox" }, vertical_extent: { $ref: "#/definitions/vertical_extent" }, temporal_extent: { $ref: "#/definitions/temporal_extent" } }, additionalProperties: !1 } };
299
+ function se(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (Array.isArray(s)) {
300
+ const n = s.length;
301
+ for (let a = 0; a < n; a++) {
302
+ let c = s[a];
303
+ if (c && typeof c == "object" && !Array.isArray(c)) {
304
+ for (const f in c)
305
+ if (!(f === "scope" || f === "area" || f === "bbox" || f === "vertical_extent" || f === "temporal_extent")) {
306
+ const g = { instancePath: i + "/" + a, schemaPath: "#/items/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: f }, message: "must NOT have additional properties" };
307
+ e === null ? e = [g] : e.push(g), r++;
308
+ }
309
+ if (c.scope !== void 0 && typeof c.scope != "string") {
310
+ const f = { instancePath: i + "/" + a + "/scope", schemaPath: "#/items/properties/scope/type", keyword: "type", params: { type: "string" }, message: "must be string" };
311
+ e === null ? e = [f] : e.push(f), r++;
312
+ }
313
+ if (c.area !== void 0 && typeof c.area != "string") {
314
+ const f = { instancePath: i + "/" + a + "/area", schemaPath: "#/items/properties/area/type", keyword: "type", params: { type: "string" }, message: "must be string" };
315
+ e === null ? e = [f] : e.push(f), r++;
316
+ }
317
+ if (c.bbox !== void 0) {
318
+ let f = c.bbox;
319
+ if (f && typeof f == "object" && !Array.isArray(f)) {
320
+ if (f.east_longitude === void 0) {
321
+ const g = { instancePath: i + "/" + a + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "east_longitude" }, message: "must have required property 'east_longitude'" };
322
+ e === null ? e = [g] : e.push(g), r++;
323
+ }
324
+ if (f.west_longitude === void 0) {
325
+ const g = { instancePath: i + "/" + a + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "west_longitude" }, message: "must have required property 'west_longitude'" };
326
+ e === null ? e = [g] : e.push(g), r++;
327
+ }
328
+ if (f.south_latitude === void 0) {
329
+ const g = { instancePath: i + "/" + a + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "south_latitude" }, message: "must have required property 'south_latitude'" };
330
+ e === null ? e = [g] : e.push(g), r++;
331
+ }
332
+ if (f.north_latitude === void 0) {
333
+ const g = { instancePath: i + "/" + a + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "north_latitude" }, message: "must have required property 'north_latitude'" };
334
+ e === null ? e = [g] : e.push(g), r++;
335
+ }
336
+ for (const g in f)
337
+ if (!(g === "east_longitude" || g === "west_longitude" || g === "south_latitude" || g === "north_latitude")) {
338
+ const t = { instancePath: i + "/" + a + "/bbox", schemaPath: "#/definitions/bbox/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: g }, message: "must NOT have additional properties" };
339
+ e === null ? e = [t] : e.push(t), r++;
340
+ }
341
+ if (f.east_longitude !== void 0 && typeof f.east_longitude != "number") {
342
+ const g = { instancePath: i + "/" + a + "/bbox/east_longitude", schemaPath: "#/definitions/bbox/properties/east_longitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
343
+ e === null ? e = [g] : e.push(g), r++;
344
+ }
345
+ if (f.west_longitude !== void 0 && typeof f.west_longitude != "number") {
346
+ const g = { instancePath: i + "/" + a + "/bbox/west_longitude", schemaPath: "#/definitions/bbox/properties/west_longitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
347
+ e === null ? e = [g] : e.push(g), r++;
348
+ }
349
+ if (f.south_latitude !== void 0 && typeof f.south_latitude != "number") {
350
+ const g = { instancePath: i + "/" + a + "/bbox/south_latitude", schemaPath: "#/definitions/bbox/properties/south_latitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
351
+ e === null ? e = [g] : e.push(g), r++;
352
+ }
353
+ if (f.north_latitude !== void 0 && typeof f.north_latitude != "number") {
354
+ const g = { instancePath: i + "/" + a + "/bbox/north_latitude", schemaPath: "#/definitions/bbox/properties/north_latitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
355
+ e === null ? e = [g] : e.push(g), r++;
356
+ }
357
+ }
358
+ else {
359
+ const g = { instancePath: i + "/" + a + "/bbox", schemaPath: "#/definitions/bbox/type", keyword: "type", params: { type: "object" }, message: "must be object" };
360
+ e === null ? e = [g] : e.push(g), r++;
361
+ }
362
+ }
363
+ if (c.vertical_extent !== void 0 && (M(c.vertical_extent, { instancePath: i + "/" + a + "/vertical_extent", parentData: c, parentDataProperty: "vertical_extent", rootData: _ }) || (e = e === null ? M.errors : e.concat(M.errors), r = e.length)), c.temporal_extent !== void 0) {
364
+ let f = c.temporal_extent;
365
+ if (f && typeof f == "object" && !Array.isArray(f)) {
366
+ if (f.start === void 0) {
367
+ const g = { instancePath: i + "/" + a + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/required", keyword: "required", params: { missingProperty: "start" }, message: "must have required property 'start'" };
368
+ e === null ? e = [g] : e.push(g), r++;
369
+ }
370
+ if (f.end === void 0) {
371
+ const g = { instancePath: i + "/" + a + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/required", keyword: "required", params: { missingProperty: "end" }, message: "must have required property 'end'" };
372
+ e === null ? e = [g] : e.push(g), r++;
373
+ }
374
+ for (const g in f)
375
+ if (!(g === "start" || g === "end")) {
376
+ const t = { instancePath: i + "/" + a + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: g }, message: "must NOT have additional properties" };
377
+ e === null ? e = [t] : e.push(t), r++;
378
+ }
379
+ if (f.start !== void 0 && typeof f.start != "string") {
380
+ const g = { instancePath: i + "/" + a + "/temporal_extent/start", schemaPath: "#/definitions/temporal_extent/properties/start/type", keyword: "type", params: { type: "string" }, message: "must be string" };
381
+ e === null ? e = [g] : e.push(g), r++;
382
+ }
383
+ if (f.end !== void 0 && typeof f.end != "string") {
384
+ const g = { instancePath: i + "/" + a + "/temporal_extent/end", schemaPath: "#/definitions/temporal_extent/properties/end/type", keyword: "type", params: { type: "string" }, message: "must be string" };
385
+ e === null ? e = [g] : e.push(g), r++;
386
+ }
387
+ }
388
+ else {
389
+ const g = { instancePath: i + "/" + a + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/type", keyword: "type", params: { type: "object" }, message: "must be object" };
390
+ e === null ? e = [g] : e.push(g), r++;
391
+ }
392
+ }
393
+ }
394
+ else {
395
+ const f = { instancePath: i + "/" + a, schemaPath: "#/items/type", keyword: "type", params: { type: "object" }, message: "must be object" };
396
+ e === null ? e = [f] : e.push(f), r++;
397
+ }
398
+ }
399
+ }
400
+ else {
401
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "array" }, message: "must be array" };
402
+ e === null ? e = [n] : e.push(n), r++;
403
+ } return se.errors = e, r === 0; }
404
+ function x(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r; let a = !1; const c = r, f = r, g = r; if (r === g)
405
+ if (s && typeof s == "object" && !Array.isArray(s)) {
406
+ let p;
407
+ if (s.id === void 0 && (p = "id") || s.ids === void 0 && (p = "ids")) {
408
+ const d = {};
409
+ e === null ? e = [d] : e.push(d), r++;
410
+ }
411
+ }
412
+ else {
413
+ const p = {};
414
+ e === null ? e = [p] : e.push(p), r++;
415
+ } var t = g === r; if (t) {
416
+ const p = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
417
+ e === null ? e = [p] : e.push(p), r++;
418
+ }
419
+ else
420
+ r = f, e !== null && (f ? e.length = f : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
421
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
422
+ const p = { instancePath: i + "/$schema", schemaPath: "#/anyOf/0/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
423
+ e === null ? e = [p] : e.push(p), r++;
424
+ }
425
+ if (s.scope !== void 0 && typeof s.scope != "string") {
426
+ const p = { instancePath: i + "/scope", schemaPath: "#/anyOf/0/properties/scope/type", keyword: "type", params: { type: "string" }, message: "must be string" };
427
+ e === null ? e = [p] : e.push(p), r++;
428
+ }
429
+ if (s.area !== void 0 && typeof s.area != "string") {
430
+ const p = { instancePath: i + "/area", schemaPath: "#/anyOf/0/properties/area/type", keyword: "type", params: { type: "string" }, message: "must be string" };
431
+ e === null ? e = [p] : e.push(p), r++;
432
+ }
433
+ if (s.bbox !== void 0) {
434
+ let p = s.bbox;
435
+ if (p && typeof p == "object" && !Array.isArray(p)) {
436
+ if (p.east_longitude === void 0) {
437
+ const d = { instancePath: i + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "east_longitude" }, message: "must have required property 'east_longitude'" };
438
+ e === null ? e = [d] : e.push(d), r++;
439
+ }
440
+ if (p.west_longitude === void 0) {
441
+ const d = { instancePath: i + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "west_longitude" }, message: "must have required property 'west_longitude'" };
442
+ e === null ? e = [d] : e.push(d), r++;
443
+ }
444
+ if (p.south_latitude === void 0) {
445
+ const d = { instancePath: i + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "south_latitude" }, message: "must have required property 'south_latitude'" };
446
+ e === null ? e = [d] : e.push(d), r++;
447
+ }
448
+ if (p.north_latitude === void 0) {
449
+ const d = { instancePath: i + "/bbox", schemaPath: "#/definitions/bbox/required", keyword: "required", params: { missingProperty: "north_latitude" }, message: "must have required property 'north_latitude'" };
450
+ e === null ? e = [d] : e.push(d), r++;
451
+ }
452
+ for (const d in p)
453
+ if (!(d === "east_longitude" || d === "west_longitude" || d === "south_latitude" || d === "north_latitude")) {
454
+ const k = { instancePath: i + "/bbox", schemaPath: "#/definitions/bbox/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: d }, message: "must NOT have additional properties" };
455
+ e === null ? e = [k] : e.push(k), r++;
456
+ }
457
+ if (p.east_longitude !== void 0 && typeof p.east_longitude != "number") {
458
+ const d = { instancePath: i + "/bbox/east_longitude", schemaPath: "#/definitions/bbox/properties/east_longitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
459
+ e === null ? e = [d] : e.push(d), r++;
460
+ }
461
+ if (p.west_longitude !== void 0 && typeof p.west_longitude != "number") {
462
+ const d = { instancePath: i + "/bbox/west_longitude", schemaPath: "#/definitions/bbox/properties/west_longitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
463
+ e === null ? e = [d] : e.push(d), r++;
464
+ }
465
+ if (p.south_latitude !== void 0 && typeof p.south_latitude != "number") {
466
+ const d = { instancePath: i + "/bbox/south_latitude", schemaPath: "#/definitions/bbox/properties/south_latitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
467
+ e === null ? e = [d] : e.push(d), r++;
468
+ }
469
+ if (p.north_latitude !== void 0 && typeof p.north_latitude != "number") {
470
+ const d = { instancePath: i + "/bbox/north_latitude", schemaPath: "#/definitions/bbox/properties/north_latitude/type", keyword: "type", params: { type: "number" }, message: "must be number" };
471
+ e === null ? e = [d] : e.push(d), r++;
472
+ }
473
+ }
474
+ else {
475
+ const d = { instancePath: i + "/bbox", schemaPath: "#/definitions/bbox/type", keyword: "type", params: { type: "object" }, message: "must be object" };
476
+ e === null ? e = [d] : e.push(d), r++;
477
+ }
478
+ }
479
+ if (s.vertical_extent !== void 0 && (M(s.vertical_extent, { instancePath: i + "/vertical_extent", parentData: s, parentDataProperty: "vertical_extent", rootData: _ }) || (e = e === null ? M.errors : e.concat(M.errors), r = e.length)), s.temporal_extent !== void 0) {
480
+ let p = s.temporal_extent;
481
+ if (p && typeof p == "object" && !Array.isArray(p)) {
482
+ if (p.start === void 0) {
483
+ const d = { instancePath: i + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/required", keyword: "required", params: { missingProperty: "start" }, message: "must have required property 'start'" };
484
+ e === null ? e = [d] : e.push(d), r++;
485
+ }
486
+ if (p.end === void 0) {
487
+ const d = { instancePath: i + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/required", keyword: "required", params: { missingProperty: "end" }, message: "must have required property 'end'" };
488
+ e === null ? e = [d] : e.push(d), r++;
489
+ }
490
+ for (const d in p)
491
+ if (!(d === "start" || d === "end")) {
492
+ const k = { instancePath: i + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: d }, message: "must NOT have additional properties" };
493
+ e === null ? e = [k] : e.push(k), r++;
494
+ }
495
+ if (p.start !== void 0 && typeof p.start != "string") {
496
+ const d = { instancePath: i + "/temporal_extent/start", schemaPath: "#/definitions/temporal_extent/properties/start/type", keyword: "type", params: { type: "string" }, message: "must be string" };
497
+ e === null ? e = [d] : e.push(d), r++;
498
+ }
499
+ if (p.end !== void 0 && typeof p.end != "string") {
500
+ const d = { instancePath: i + "/temporal_extent/end", schemaPath: "#/definitions/temporal_extent/properties/end/type", keyword: "type", params: { type: "string" }, message: "must be string" };
501
+ e === null ? e = [d] : e.push(d), r++;
502
+ }
503
+ }
504
+ else {
505
+ const d = { instancePath: i + "/temporal_extent", schemaPath: "#/definitions/temporal_extent/type", keyword: "type", params: { type: "object" }, message: "must be object" };
506
+ e === null ? e = [d] : e.push(d), r++;
507
+ }
508
+ }
509
+ if (s.remarks !== void 0 && typeof s.remarks != "string") {
510
+ const p = { instancePath: i + "/remarks", schemaPath: "#/anyOf/0/properties/remarks/type", keyword: "type", params: { type: "string" }, message: "must be string" };
511
+ e === null ? e = [p] : e.push(p), r++;
512
+ }
513
+ if (s.id !== void 0) {
514
+ let p = s.id;
515
+ if (p && typeof p == "object" && !Array.isArray(p)) {
516
+ if (p.authority === void 0) {
517
+ const d = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
518
+ e === null ? e = [d] : e.push(d), r++;
519
+ }
520
+ if (p.code === void 0) {
521
+ const d = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
522
+ e === null ? e = [d] : e.push(d), r++;
523
+ }
524
+ for (const d in p)
525
+ if (!(d === "authority" || d === "code" || d === "version" || d === "authority_citation" || d === "uri")) {
526
+ const k = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: d }, message: "must NOT have additional properties" };
527
+ e === null ? e = [k] : e.push(k), r++;
528
+ }
529
+ if (p.authority !== void 0 && typeof p.authority != "string") {
530
+ const d = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
531
+ e === null ? e = [d] : e.push(d), r++;
532
+ }
533
+ if (p.code !== void 0) {
534
+ let d = p.code;
535
+ const k = r;
536
+ let m = !1, b = null;
537
+ const P = r;
538
+ if (typeof d != "string") {
539
+ const $ = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
540
+ e === null ? e = [$] : e.push($), r++;
541
+ }
542
+ var o = P === r;
543
+ o && (m = !0, b = 0);
544
+ const w = r;
545
+ if (!(typeof d == "number" && !(d % 1) && !isNaN(d))) {
546
+ const $ = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
547
+ e === null ? e = [$] : e.push($), r++;
548
+ }
549
+ var o = w === r;
550
+ if (o && m ? (m = !1, b = [b, 1]) : o && (m = !0, b = 1), m)
551
+ r = k, e !== null && (k ? e.length = k : e = null);
552
+ else {
553
+ const $ = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: b }, message: "must match exactly one schema in oneOf" };
554
+ e === null ? e = [$] : e.push($), r++;
555
+ }
556
+ }
557
+ if (p.version !== void 0) {
558
+ let d = p.version;
559
+ const k = r;
560
+ let m = !1, b = null;
561
+ const P = r;
562
+ if (typeof d != "string") {
563
+ const $ = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
564
+ e === null ? e = [$] : e.push($), r++;
565
+ }
566
+ var y = P === r;
567
+ y && (m = !0, b = 0);
568
+ const w = r;
569
+ if (typeof d != "number") {
570
+ const $ = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
571
+ e === null ? e = [$] : e.push($), r++;
572
+ }
573
+ var y = w === r;
574
+ if (y && m ? (m = !1, b = [b, 1]) : y && (m = !0, b = 1), m)
575
+ r = k, e !== null && (k ? e.length = k : e = null);
576
+ else {
577
+ const $ = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: b }, message: "must match exactly one schema in oneOf" };
578
+ e === null ? e = [$] : e.push($), r++;
579
+ }
580
+ }
581
+ if (p.authority_citation !== void 0 && typeof p.authority_citation != "string") {
582
+ const d = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
583
+ e === null ? e = [d] : e.push(d), r++;
584
+ }
585
+ if (p.uri !== void 0 && typeof p.uri != "string") {
586
+ const d = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
587
+ e === null ? e = [d] : e.push(d), r++;
588
+ }
589
+ }
590
+ else {
591
+ const d = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
592
+ e === null ? e = [d] : e.push(d), r++;
593
+ }
594
+ }
595
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
596
+ }
597
+ else {
598
+ const p = { instancePath: i, schemaPath: "#/anyOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" };
599
+ e === null ? e = [p] : e.push(p), r++;
600
+ } var u = c === r; if (a = a || u, !a) {
601
+ const p = r, d = r, k = r;
602
+ if (r === k)
603
+ if (s && typeof s == "object" && !Array.isArray(s)) {
604
+ let b;
605
+ if (s.id === void 0 && (b = "id") || s.ids === void 0 && (b = "ids")) {
606
+ const P = {};
607
+ e === null ? e = [P] : e.push(P), r++;
608
+ }
609
+ }
610
+ else {
611
+ const b = {};
612
+ e === null ? e = [b] : e.push(b), r++;
613
+ }
614
+ var l = k === r;
615
+ if (l) {
616
+ const b = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
617
+ e === null ? e = [b] : e.push(b), r++;
618
+ }
619
+ else
620
+ r = d, e !== null && (d ? e.length = d : e = null);
621
+ if (s && typeof s == "object" && !Array.isArray(s)) {
622
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
623
+ const b = { instancePath: i + "/$schema", schemaPath: "#/anyOf/1/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
624
+ e === null ? e = [b] : e.push(b), r++;
625
+ }
626
+ if (s.usages !== void 0 && (se(s.usages, { instancePath: i + "/usages", parentData: s, parentDataProperty: "usages", rootData: _ }) || (e = e === null ? se.errors : e.concat(se.errors), r = e.length)), s.remarks !== void 0 && typeof s.remarks != "string") {
627
+ const b = { instancePath: i + "/remarks", schemaPath: "#/anyOf/1/properties/remarks/type", keyword: "type", params: { type: "string" }, message: "must be string" };
628
+ e === null ? e = [b] : e.push(b), r++;
629
+ }
630
+ if (s.id !== void 0) {
631
+ let b = s.id;
632
+ if (b && typeof b == "object" && !Array.isArray(b)) {
633
+ if (b.authority === void 0) {
634
+ const P = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
635
+ e === null ? e = [P] : e.push(P), r++;
636
+ }
637
+ if (b.code === void 0) {
638
+ const P = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
639
+ e === null ? e = [P] : e.push(P), r++;
640
+ }
641
+ for (const P in b)
642
+ if (!(P === "authority" || P === "code" || P === "version" || P === "authority_citation" || P === "uri")) {
643
+ const w = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: P }, message: "must NOT have additional properties" };
644
+ e === null ? e = [w] : e.push(w), r++;
645
+ }
646
+ if (b.authority !== void 0 && typeof b.authority != "string") {
647
+ const P = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
648
+ e === null ? e = [P] : e.push(P), r++;
649
+ }
650
+ if (b.code !== void 0) {
651
+ let P = b.code;
652
+ const w = r;
653
+ let $ = !1, N = null;
654
+ const D = r;
655
+ if (typeof P != "string") {
656
+ const C = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
657
+ e === null ? e = [C] : e.push(C), r++;
658
+ }
659
+ var v = D === r;
660
+ v && ($ = !0, N = 0);
661
+ const A = r;
662
+ if (!(typeof P == "number" && !(P % 1) && !isNaN(P))) {
663
+ const C = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
664
+ e === null ? e = [C] : e.push(C), r++;
665
+ }
666
+ var v = A === r;
667
+ if (v && $ ? ($ = !1, N = [N, 1]) : v && ($ = !0, N = 1), $)
668
+ r = w, e !== null && (w ? e.length = w : e = null);
669
+ else {
670
+ const C = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: N }, message: "must match exactly one schema in oneOf" };
671
+ e === null ? e = [C] : e.push(C), r++;
672
+ }
673
+ }
674
+ if (b.version !== void 0) {
675
+ let P = b.version;
676
+ const w = r;
677
+ let $ = !1, N = null;
678
+ const D = r;
679
+ if (typeof P != "string") {
680
+ const C = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
681
+ e === null ? e = [C] : e.push(C), r++;
682
+ }
683
+ var h = D === r;
684
+ h && ($ = !0, N = 0);
685
+ const A = r;
686
+ if (typeof P != "number") {
687
+ const C = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
688
+ e === null ? e = [C] : e.push(C), r++;
689
+ }
690
+ var h = A === r;
691
+ if (h && $ ? ($ = !1, N = [N, 1]) : h && ($ = !0, N = 1), $)
692
+ r = w, e !== null && (w ? e.length = w : e = null);
693
+ else {
694
+ const C = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: N }, message: "must match exactly one schema in oneOf" };
695
+ e === null ? e = [C] : e.push(C), r++;
696
+ }
697
+ }
698
+ if (b.authority_citation !== void 0 && typeof b.authority_citation != "string") {
699
+ const P = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
700
+ e === null ? e = [P] : e.push(P), r++;
701
+ }
702
+ if (b.uri !== void 0 && typeof b.uri != "string") {
703
+ const P = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
704
+ e === null ? e = [P] : e.push(P), r++;
705
+ }
706
+ }
707
+ else {
708
+ const P = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
709
+ e === null ? e = [P] : e.push(P), r++;
710
+ }
711
+ }
712
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
713
+ }
714
+ else {
715
+ const b = { instancePath: i, schemaPath: "#/anyOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
716
+ e === null ? e = [b] : e.push(b), r++;
717
+ }
718
+ var u = p === r;
719
+ a = a || u;
720
+ } if (a)
721
+ r = n, e !== null && (n ? e.length = n : e = null);
722
+ else {
723
+ const p = { instancePath: i, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
724
+ e === null ? e = [p] : e.push(p), r++;
725
+ } return x.errors = e, r === 0; }
726
+ const ze = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["AbridgedTransformation"] }, name: { type: "string" }, source_crs: { $ref: "#/definitions/crs", $comment: "Only present when the source_crs of the bound_crs does not match the source_crs of the AbridgedTransformation. No equivalent in WKT" }, method: { $ref: "#/definitions/method" }, parameters: { type: "array", items: { $ref: "#/definitions/parameter_value" } }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "method", "parameters"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, V = { validate: re }, He = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["OperationMethod"] }, name: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 };
727
+ function F(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
728
+ if (s && typeof s == "object" && !Array.isArray(s)) {
729
+ let t;
730
+ if (s.id === void 0 && (t = "id") || s.ids === void 0 && (t = "ids")) {
731
+ const o = {};
732
+ e === null ? e = [o] : e.push(o), r++;
733
+ }
734
+ }
735
+ else {
736
+ const t = {};
737
+ e === null ? e = [t] : e.push(t), r++;
738
+ } var c = a === r; if (c) {
739
+ const t = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
740
+ e === null ? e = [t] : e.push(t), r++;
741
+ }
742
+ else
743
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
744
+ if (s.name === void 0) {
745
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
746
+ e === null ? e = [t] : e.push(t), r++;
747
+ }
748
+ for (const t in s)
749
+ if (!(t === "$schema" || t === "type" || t === "name" || t === "id" || t === "ids")) {
750
+ const o = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
751
+ e === null ? e = [o] : e.push(o), r++;
752
+ }
753
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
754
+ const t = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
755
+ e === null ? e = [t] : e.push(t), r++;
756
+ }
757
+ if (s.type !== void 0) {
758
+ let t = s.type;
759
+ if (typeof t != "string") {
760
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
761
+ e === null ? e = [o] : e.push(o), r++;
762
+ }
763
+ if (t !== "OperationMethod") {
764
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: He.properties.type.enum }, message: "must be equal to one of the allowed values" };
765
+ e === null ? e = [o] : e.push(o), r++;
766
+ }
767
+ }
768
+ if (s.name !== void 0 && typeof s.name != "string") {
769
+ const t = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
770
+ e === null ? e = [t] : e.push(t), r++;
771
+ }
772
+ if (s.id !== void 0) {
773
+ let t = s.id;
774
+ if (t && typeof t == "object" && !Array.isArray(t)) {
775
+ if (t.authority === void 0) {
776
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
777
+ e === null ? e = [o] : e.push(o), r++;
778
+ }
779
+ if (t.code === void 0) {
780
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
781
+ e === null ? e = [o] : e.push(o), r++;
782
+ }
783
+ for (const o in t)
784
+ if (!(o === "authority" || o === "code" || o === "version" || o === "authority_citation" || o === "uri")) {
785
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
786
+ e === null ? e = [y] : e.push(y), r++;
787
+ }
788
+ if (t.authority !== void 0 && typeof t.authority != "string") {
789
+ const o = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
790
+ e === null ? e = [o] : e.push(o), r++;
791
+ }
792
+ if (t.code !== void 0) {
793
+ let o = t.code;
794
+ const y = r;
795
+ let u = !1, l = null;
796
+ const v = r;
797
+ if (typeof o != "string") {
798
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
799
+ e === null ? e = [p] : e.push(p), r++;
800
+ }
801
+ var f = v === r;
802
+ f && (u = !0, l = 0);
803
+ const h = r;
804
+ if (!(typeof o == "number" && !(o % 1) && !isNaN(o))) {
805
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
806
+ e === null ? e = [p] : e.push(p), r++;
807
+ }
808
+ var f = h === r;
809
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
810
+ r = y, e !== null && (y ? e.length = y : e = null);
811
+ else {
812
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
813
+ e === null ? e = [p] : e.push(p), r++;
814
+ }
815
+ }
816
+ if (t.version !== void 0) {
817
+ let o = t.version;
818
+ const y = r;
819
+ let u = !1, l = null;
820
+ const v = r;
821
+ if (typeof o != "string") {
822
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
823
+ e === null ? e = [p] : e.push(p), r++;
824
+ }
825
+ var g = v === r;
826
+ g && (u = !0, l = 0);
827
+ const h = r;
828
+ if (typeof o != "number") {
829
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
830
+ e === null ? e = [p] : e.push(p), r++;
831
+ }
832
+ var g = h === r;
833
+ if (g && u ? (u = !1, l = [l, 1]) : g && (u = !0, l = 1), u)
834
+ r = y, e !== null && (y ? e.length = y : e = null);
835
+ else {
836
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
837
+ e === null ? e = [p] : e.push(p), r++;
838
+ }
839
+ }
840
+ if (t.authority_citation !== void 0 && typeof t.authority_citation != "string") {
841
+ const o = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
842
+ e === null ? e = [o] : e.push(o), r++;
843
+ }
844
+ if (t.uri !== void 0 && typeof t.uri != "string") {
845
+ const o = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
846
+ e === null ? e = [o] : e.push(o), r++;
847
+ }
848
+ }
849
+ else {
850
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
851
+ e === null ? e = [o] : e.push(o), r++;
852
+ }
853
+ }
854
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
855
+ }
856
+ else {
857
+ const t = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
858
+ e === null ? e = [t] : e.push(t), r++;
859
+ } return F.errors = e, r === 0; }
860
+ const Ie = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["ParameterValue"] }, name: { type: "string" }, value: { oneOf: [{ type: "string" }, { type: "number" }] }, unit: { $ref: "#/definitions/unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "value"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 };
861
+ function L(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
862
+ if (s && typeof s == "object" && !Array.isArray(s)) {
863
+ let o;
864
+ if (s.id === void 0 && (o = "id") || s.ids === void 0 && (o = "ids")) {
865
+ const y = {};
866
+ e === null ? e = [y] : e.push(y), r++;
867
+ }
868
+ }
869
+ else {
870
+ const o = {};
871
+ e === null ? e = [o] : e.push(o), r++;
872
+ } var c = a === r; if (c) {
873
+ const o = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
874
+ e === null ? e = [o] : e.push(o), r++;
875
+ }
876
+ else
877
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
878
+ if (s.name === void 0) {
879
+ const o = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
880
+ e === null ? e = [o] : e.push(o), r++;
881
+ }
882
+ if (s.value === void 0) {
883
+ const o = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "value" }, message: "must have required property 'value'" };
884
+ e === null ? e = [o] : e.push(o), r++;
885
+ }
886
+ for (const o in s)
887
+ if (!(o === "$schema" || o === "type" || o === "name" || o === "value" || o === "unit" || o === "id" || o === "ids")) {
888
+ const y = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
889
+ e === null ? e = [y] : e.push(y), r++;
890
+ }
891
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
892
+ const o = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
893
+ e === null ? e = [o] : e.push(o), r++;
894
+ }
895
+ if (s.type !== void 0) {
896
+ let o = s.type;
897
+ if (typeof o != "string") {
898
+ const y = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
899
+ e === null ? e = [y] : e.push(y), r++;
900
+ }
901
+ if (o !== "ParameterValue") {
902
+ const y = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ie.properties.type.enum }, message: "must be equal to one of the allowed values" };
903
+ e === null ? e = [y] : e.push(y), r++;
904
+ }
905
+ }
906
+ if (s.name !== void 0 && typeof s.name != "string") {
907
+ const o = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
908
+ e === null ? e = [o] : e.push(o), r++;
909
+ }
910
+ if (s.value !== void 0) {
911
+ let o = s.value;
912
+ const y = r;
913
+ let u = !1, l = null;
914
+ const v = r;
915
+ if (typeof o != "string") {
916
+ const p = { instancePath: i + "/value", schemaPath: "#/properties/value/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
917
+ e === null ? e = [p] : e.push(p), r++;
918
+ }
919
+ var f = v === r;
920
+ f && (u = !0, l = 0);
921
+ const h = r;
922
+ if (typeof o != "number") {
923
+ const p = { instancePath: i + "/value", schemaPath: "#/properties/value/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
924
+ e === null ? e = [p] : e.push(p), r++;
925
+ }
926
+ var f = h === r;
927
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
928
+ r = y, e !== null && (y ? e.length = y : e = null);
929
+ else {
930
+ const p = { instancePath: i + "/value", schemaPath: "#/properties/value/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
931
+ e === null ? e = [p] : e.push(p), r++;
932
+ }
933
+ }
934
+ if (s.unit !== void 0 && (U(s.unit, { instancePath: i + "/unit", parentData: s, parentDataProperty: "unit", rootData: _ }) || (e = e === null ? U.errors : e.concat(U.errors), r = e.length)), s.id !== void 0) {
935
+ let o = s.id;
936
+ if (o && typeof o == "object" && !Array.isArray(o)) {
937
+ if (o.authority === void 0) {
938
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
939
+ e === null ? e = [y] : e.push(y), r++;
940
+ }
941
+ if (o.code === void 0) {
942
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
943
+ e === null ? e = [y] : e.push(y), r++;
944
+ }
945
+ for (const y in o)
946
+ if (!(y === "authority" || y === "code" || y === "version" || y === "authority_citation" || y === "uri")) {
947
+ const u = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: y }, message: "must NOT have additional properties" };
948
+ e === null ? e = [u] : e.push(u), r++;
949
+ }
950
+ if (o.authority !== void 0 && typeof o.authority != "string") {
951
+ const y = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
952
+ e === null ? e = [y] : e.push(y), r++;
953
+ }
954
+ if (o.code !== void 0) {
955
+ let y = o.code;
956
+ const u = r;
957
+ let l = !1, v = null;
958
+ const h = r;
959
+ if (typeof y != "string") {
960
+ const d = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
961
+ e === null ? e = [d] : e.push(d), r++;
962
+ }
963
+ var g = h === r;
964
+ g && (l = !0, v = 0);
965
+ const p = r;
966
+ if (!(typeof y == "number" && !(y % 1) && !isNaN(y))) {
967
+ const d = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
968
+ e === null ? e = [d] : e.push(d), r++;
969
+ }
970
+ var g = p === r;
971
+ if (g && l ? (l = !1, v = [v, 1]) : g && (l = !0, v = 1), l)
972
+ r = u, e !== null && (u ? e.length = u : e = null);
973
+ else {
974
+ const d = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: v }, message: "must match exactly one schema in oneOf" };
975
+ e === null ? e = [d] : e.push(d), r++;
976
+ }
977
+ }
978
+ if (o.version !== void 0) {
979
+ let y = o.version;
980
+ const u = r;
981
+ let l = !1, v = null;
982
+ const h = r;
983
+ if (typeof y != "string") {
984
+ const d = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
985
+ e === null ? e = [d] : e.push(d), r++;
986
+ }
987
+ var t = h === r;
988
+ t && (l = !0, v = 0);
989
+ const p = r;
990
+ if (typeof y != "number") {
991
+ const d = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
992
+ e === null ? e = [d] : e.push(d), r++;
993
+ }
994
+ var t = p === r;
995
+ if (t && l ? (l = !1, v = [v, 1]) : t && (l = !0, v = 1), l)
996
+ r = u, e !== null && (u ? e.length = u : e = null);
997
+ else {
998
+ const d = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: v }, message: "must match exactly one schema in oneOf" };
999
+ e === null ? e = [d] : e.push(d), r++;
1000
+ }
1001
+ }
1002
+ if (o.authority_citation !== void 0 && typeof o.authority_citation != "string") {
1003
+ const y = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1004
+ e === null ? e = [y] : e.push(y), r++;
1005
+ }
1006
+ if (o.uri !== void 0 && typeof o.uri != "string") {
1007
+ const y = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1008
+ e === null ? e = [y] : e.push(y), r++;
1009
+ }
1010
+ }
1011
+ else {
1012
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1013
+ e === null ? e = [y] : e.push(y), r++;
1014
+ }
1015
+ }
1016
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
1017
+ }
1018
+ else {
1019
+ const o = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1020
+ e === null ? e = [o] : e.push(o), r++;
1021
+ } return L.errors = e, r === 0; }
1022
+ function ie(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
1023
+ if (s && typeof s == "object" && !Array.isArray(s)) {
1024
+ let t;
1025
+ if (s.id === void 0 && (t = "id") || s.ids === void 0 && (t = "ids")) {
1026
+ const o = {};
1027
+ e === null ? e = [o] : e.push(o), r++;
1028
+ }
1029
+ }
1030
+ else {
1031
+ const t = {};
1032
+ e === null ? e = [t] : e.push(t), r++;
1033
+ } var c = a === r; if (c) {
1034
+ const t = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
1035
+ e === null ? e = [t] : e.push(t), r++;
1036
+ }
1037
+ else
1038
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
1039
+ if (s.name === void 0) {
1040
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
1041
+ e === null ? e = [t] : e.push(t), r++;
1042
+ }
1043
+ if (s.method === void 0) {
1044
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "method" }, message: "must have required property 'method'" };
1045
+ e === null ? e = [t] : e.push(t), r++;
1046
+ }
1047
+ if (s.parameters === void 0) {
1048
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "parameters" }, message: "must have required property 'parameters'" };
1049
+ e === null ? e = [t] : e.push(t), r++;
1050
+ }
1051
+ for (const t in s)
1052
+ if (!(t === "$schema" || t === "type" || t === "name" || t === "source_crs" || t === "method" || t === "parameters" || t === "id" || t === "ids")) {
1053
+ const o = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
1054
+ e === null ? e = [o] : e.push(o), r++;
1055
+ }
1056
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
1057
+ const t = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1058
+ e === null ? e = [t] : e.push(t), r++;
1059
+ }
1060
+ if (s.type !== void 0) {
1061
+ let t = s.type;
1062
+ if (typeof t != "string") {
1063
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1064
+ e === null ? e = [o] : e.push(o), r++;
1065
+ }
1066
+ if (t !== "AbridgedTransformation") {
1067
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: ze.properties.type.enum }, message: "must be equal to one of the allowed values" };
1068
+ e === null ? e = [o] : e.push(o), r++;
1069
+ }
1070
+ }
1071
+ if (s.name !== void 0 && typeof s.name != "string") {
1072
+ const t = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1073
+ e === null ? e = [t] : e.push(t), r++;
1074
+ }
1075
+ if (s.source_crs !== void 0 && (V.validate(s.source_crs, { instancePath: i + "/source_crs", parentData: s, parentDataProperty: "source_crs", rootData: _ }) || (e = e === null ? V.validate.errors : e.concat(V.validate.errors), r = e.length)), s.method !== void 0 && (F(s.method, { instancePath: i + "/method", parentData: s, parentDataProperty: "method", rootData: _ }) || (e = e === null ? F.errors : e.concat(F.errors), r = e.length)), s.parameters !== void 0) {
1076
+ let t = s.parameters;
1077
+ if (Array.isArray(t)) {
1078
+ const o = t.length;
1079
+ for (let y = 0; y < o; y++)
1080
+ L(t[y], { instancePath: i + "/parameters/" + y, parentData: t, parentDataProperty: y, rootData: _ }) || (e = e === null ? L.errors : e.concat(L.errors), r = e.length);
1081
+ }
1082
+ else {
1083
+ const o = { instancePath: i + "/parameters", schemaPath: "#/properties/parameters/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1084
+ e === null ? e = [o] : e.push(o), r++;
1085
+ }
1086
+ }
1087
+ if (s.id !== void 0) {
1088
+ let t = s.id;
1089
+ if (t && typeof t == "object" && !Array.isArray(t)) {
1090
+ if (t.authority === void 0) {
1091
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
1092
+ e === null ? e = [o] : e.push(o), r++;
1093
+ }
1094
+ if (t.code === void 0) {
1095
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
1096
+ e === null ? e = [o] : e.push(o), r++;
1097
+ }
1098
+ for (const o in t)
1099
+ if (!(o === "authority" || o === "code" || o === "version" || o === "authority_citation" || o === "uri")) {
1100
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
1101
+ e === null ? e = [y] : e.push(y), r++;
1102
+ }
1103
+ if (t.authority !== void 0 && typeof t.authority != "string") {
1104
+ const o = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1105
+ e === null ? e = [o] : e.push(o), r++;
1106
+ }
1107
+ if (t.code !== void 0) {
1108
+ let o = t.code;
1109
+ const y = r;
1110
+ let u = !1, l = null;
1111
+ const v = r;
1112
+ if (typeof o != "string") {
1113
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1114
+ e === null ? e = [p] : e.push(p), r++;
1115
+ }
1116
+ var f = v === r;
1117
+ f && (u = !0, l = 0);
1118
+ const h = r;
1119
+ if (!(typeof o == "number" && !(o % 1) && !isNaN(o))) {
1120
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
1121
+ e === null ? e = [p] : e.push(p), r++;
1122
+ }
1123
+ var f = h === r;
1124
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
1125
+ r = y, e !== null && (y ? e.length = y : e = null);
1126
+ else {
1127
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1128
+ e === null ? e = [p] : e.push(p), r++;
1129
+ }
1130
+ }
1131
+ if (t.version !== void 0) {
1132
+ let o = t.version;
1133
+ const y = r;
1134
+ let u = !1, l = null;
1135
+ const v = r;
1136
+ if (typeof o != "string") {
1137
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1138
+ e === null ? e = [p] : e.push(p), r++;
1139
+ }
1140
+ var g = v === r;
1141
+ g && (u = !0, l = 0);
1142
+ const h = r;
1143
+ if (typeof o != "number") {
1144
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1145
+ e === null ? e = [p] : e.push(p), r++;
1146
+ }
1147
+ var g = h === r;
1148
+ if (g && u ? (u = !1, l = [l, 1]) : g && (u = !0, l = 1), u)
1149
+ r = y, e !== null && (y ? e.length = y : e = null);
1150
+ else {
1151
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1152
+ e === null ? e = [p] : e.push(p), r++;
1153
+ }
1154
+ }
1155
+ if (t.authority_citation !== void 0 && typeof t.authority_citation != "string") {
1156
+ const o = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1157
+ e === null ? e = [o] : e.push(o), r++;
1158
+ }
1159
+ if (t.uri !== void 0 && typeof t.uri != "string") {
1160
+ const o = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1161
+ e === null ? e = [o] : e.push(o), r++;
1162
+ }
1163
+ }
1164
+ else {
1165
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1166
+ e === null ? e = [o] : e.push(o), r++;
1167
+ }
1168
+ }
1169
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
1170
+ }
1171
+ else {
1172
+ const t = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1173
+ e === null ? e = [t] : e.push(t), r++;
1174
+ } return ie.errors = e, r === 0; }
1175
+ const T = Object.prototype.hasOwnProperty;
1176
+ function te(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
1177
+ if (s.source_crs === void 0) {
1178
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "source_crs" }, message: "must have required property 'source_crs'" };
1179
+ e === null ? e = [n] : e.push(n), r++;
1180
+ }
1181
+ if (s.target_crs === void 0) {
1182
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "target_crs" }, message: "must have required property 'target_crs'" };
1183
+ e === null ? e = [n] : e.push(n), r++;
1184
+ }
1185
+ if (s.transformation === void 0) {
1186
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "transformation" }, message: "must have required property 'transformation'" };
1187
+ e === null ? e = [n] : e.push(n), r++;
1188
+ }
1189
+ for (const n in s)
1190
+ if (!T.call(Oe.properties, n)) {
1191
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
1192
+ e === null ? e = [a] : e.push(a), r++;
1193
+ }
1194
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
1195
+ const n = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1196
+ e === null ? e = [n] : e.push(n), r++;
1197
+ }
1198
+ if (s.type !== void 0) {
1199
+ let n = s.type;
1200
+ if (typeof n != "string") {
1201
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1202
+ e === null ? e = [a] : e.push(a), r++;
1203
+ }
1204
+ if (n !== "BoundCRS") {
1205
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Oe.properties.type.enum }, message: "must be equal to one of the allowed values" };
1206
+ e === null ? e = [a] : e.push(a), r++;
1207
+ }
1208
+ }
1209
+ if (s.name !== void 0 && typeof s.name != "string") {
1210
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1211
+ e === null ? e = [n] : e.push(n), r++;
1212
+ }
1213
+ s.source_crs !== void 0 && (V.validate(s.source_crs, { instancePath: i + "/source_crs", parentData: s, parentDataProperty: "source_crs", rootData: _ }) || (e = e === null ? V.validate.errors : e.concat(V.validate.errors), r = e.length)), s.target_crs !== void 0 && (V.validate(s.target_crs, { instancePath: i + "/target_crs", parentData: s, parentDataProperty: "target_crs", rootData: _ }) || (e = e === null ? V.validate.errors : e.concat(V.validate.errors), r = e.length)), s.transformation !== void 0 && (ie(s.transformation, { instancePath: i + "/transformation", parentData: s, parentDataProperty: "transformation", rootData: _ }) || (e = e === null ? ie.errors : e.concat(ie.errors), r = e.length));
1214
+ }
1215
+ else {
1216
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1217
+ e === null ? e = [n] : e.push(n), r++;
1218
+ } return te.errors = e, r === 0; }
1219
+ const xe = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["CompoundCRS"] }, name: { type: "string" }, components: { type: "array", items: { $ref: "#/definitions/crs" } }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "components"], additionalProperties: !1 };
1220
+ function ne(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
1221
+ if (s.name === void 0) {
1222
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
1223
+ e === null ? e = [n] : e.push(n), r++;
1224
+ }
1225
+ if (s.components === void 0) {
1226
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "components" }, message: "must have required property 'components'" };
1227
+ e === null ? e = [n] : e.push(n), r++;
1228
+ }
1229
+ for (const n in s)
1230
+ if (!T.call(xe.properties, n)) {
1231
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
1232
+ e === null ? e = [a] : e.push(a), r++;
1233
+ }
1234
+ if (s.type !== void 0) {
1235
+ let n = s.type;
1236
+ if (typeof n != "string") {
1237
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1238
+ e === null ? e = [a] : e.push(a), r++;
1239
+ }
1240
+ if (n !== "CompoundCRS") {
1241
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: xe.properties.type.enum }, message: "must be equal to one of the allowed values" };
1242
+ e === null ? e = [a] : e.push(a), r++;
1243
+ }
1244
+ }
1245
+ if (s.name !== void 0 && typeof s.name != "string") {
1246
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1247
+ e === null ? e = [n] : e.push(n), r++;
1248
+ }
1249
+ if (s.components !== void 0) {
1250
+ let n = s.components;
1251
+ if (Array.isArray(n)) {
1252
+ const a = n.length;
1253
+ for (let c = 0; c < a; c++)
1254
+ V.validate(n[c], { instancePath: i + "/components/" + c, parentData: n, parentDataProperty: c, rootData: _ }) || (e = e === null ? V.validate.errors : e.concat(V.validate.errors), r = e.length);
1255
+ }
1256
+ else {
1257
+ const a = { instancePath: i + "/components", schemaPath: "#/properties/components/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1258
+ e === null ? e = [a] : e.push(a), r++;
1259
+ }
1260
+ }
1261
+ }
1262
+ else {
1263
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1264
+ e === null ? e = [n] : e.push(n), r++;
1265
+ } return ne.errors = e, r === 0; }
1266
+ const je = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedEngineeringCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/engineering_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, Ae = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["EngineeringCRS"] }, name: { type: "string" }, datum: { $ref: "#/definitions/engineering_datum" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "datum"], additionalProperties: !1 }, De = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["EngineeringDatum"] }, name: { type: "string" }, anchor: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], additionalProperties: !1 };
1267
+ function oe(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
1268
+ if (s.name === void 0) {
1269
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
1270
+ e === null ? e = [n] : e.push(n), r++;
1271
+ }
1272
+ for (const n in s)
1273
+ if (!T.call(De.properties, n)) {
1274
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
1275
+ e === null ? e = [a] : e.push(a), r++;
1276
+ }
1277
+ if (s.type !== void 0) {
1278
+ let n = s.type;
1279
+ if (typeof n != "string") {
1280
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1281
+ e === null ? e = [a] : e.push(a), r++;
1282
+ }
1283
+ if (n !== "EngineeringDatum") {
1284
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: De.properties.type.enum }, message: "must be equal to one of the allowed values" };
1285
+ e === null ? e = [a] : e.push(a), r++;
1286
+ }
1287
+ }
1288
+ if (s.name !== void 0 && typeof s.name != "string") {
1289
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1290
+ e === null ? e = [n] : e.push(n), r++;
1291
+ }
1292
+ if (s.anchor !== void 0 && typeof s.anchor != "string") {
1293
+ const n = { instancePath: i + "/anchor", schemaPath: "#/properties/anchor/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1294
+ e === null ? e = [n] : e.push(n), r++;
1295
+ }
1296
+ }
1297
+ else {
1298
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1299
+ e === null ? e = [n] : e.push(n), r++;
1300
+ } return oe.errors = e, r === 0; }
1301
+ const Ne = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["CoordinateSystem"] }, name: { type: "string" }, subtype: { type: "string", enum: ["Cartesian", "spherical", "ellipsoidal", "vertical", "ordinal", "parametric", "affine", "TemporalDateTime", "TemporalCount", "TemporalMeasure"] }, axis: { type: "array", items: { $ref: "#/definitions/axis" } }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["subtype", "axis"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, ae = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Axis"] }, name: { type: "string" }, abbreviation: { type: "string" }, direction: { type: "string", enum: ["north", "northNorthEast", "northEast", "eastNorthEast", "east", "eastSouthEast", "southEast", "southSouthEast", "south", "southSouthWest", "southWest", "westSouthWest", "west", "westNorthWest", "northWest", "northNorthWest", "up", "down", "geocentricX", "geocentricY", "geocentricZ", "columnPositive", "columnNegative", "rowPositive", "rowNegative", "displayRight", "displayLeft", "displayUp", "displayDown", "forward", "aft", "port", "starboard", "clockwise", "counterClockwise", "towards", "awayFrom", "future", "past", "unspecified"] }, meridian: { $ref: "#/definitions/meridian" }, unit: { $ref: "#/definitions/unit" }, minimum_value: { type: "number" }, maximum_value: { type: "number" }, range_meaning: { type: "string", enum: ["exact", "wraparound"] }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "abbreviation", "direction"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, Qe = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Meridian"] }, longitude: { $ref: "#/definitions/value_in_degree_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["longitude"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 }, cr = { oneOf: [{ type: "number" }, { $ref: "#/definitions/value_and_unit" }] }, hr = { type: "object", properties: { value: { type: "number" }, unit: { $ref: "#/definitions/unit" } }, required: ["value", "unit"], additionalProperties: !1 };
1302
+ function B(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (s && typeof s == "object" && !Array.isArray(s)) {
1303
+ if (s.value === void 0) {
1304
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "value" }, message: "must have required property 'value'" };
1305
+ e === null ? e = [n] : e.push(n), r++;
1306
+ }
1307
+ if (s.unit === void 0) {
1308
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "unit" }, message: "must have required property 'unit'" };
1309
+ e === null ? e = [n] : e.push(n), r++;
1310
+ }
1311
+ for (const n in s)
1312
+ if (!(n === "value" || n === "unit")) {
1313
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
1314
+ e === null ? e = [a] : e.push(a), r++;
1315
+ }
1316
+ if (s.value !== void 0 && typeof s.value != "number") {
1317
+ const n = { instancePath: i + "/value", schemaPath: "#/properties/value/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1318
+ e === null ? e = [n] : e.push(n), r++;
1319
+ }
1320
+ s.unit !== void 0 && (U(s.unit, { instancePath: i + "/unit", parentData: s, parentDataProperty: "unit", rootData: _ }) || (e = e === null ? U.errors : e.concat(U.errors), r = e.length));
1321
+ }
1322
+ else {
1323
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1324
+ e === null ? e = [n] : e.push(n), r++;
1325
+ } return B.errors = e, r === 0; }
1326
+ function X(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r; let a = !1, c = null; const f = r; if (typeof s != "number") {
1327
+ const o = { instancePath: i, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1328
+ e === null ? e = [o] : e.push(o), r++;
1329
+ } var t = f === r; t && (a = !0, c = 0); const g = r; B(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? B.errors : e.concat(B.errors), r = e.length); var t = g === r; if (t && a ? (a = !1, c = [c, 1]) : t && (a = !0, c = 1), a)
1330
+ r = n, e !== null && (n ? e.length = n : e = null);
1331
+ else {
1332
+ const o = { instancePath: i, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: c }, message: "must match exactly one schema in oneOf" };
1333
+ e === null ? e = [o] : e.push(o), r++;
1334
+ } return X.errors = e, r === 0; }
1335
+ function pe(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
1336
+ if (s && typeof s == "object" && !Array.isArray(s)) {
1337
+ let t;
1338
+ if (s.id === void 0 && (t = "id") || s.ids === void 0 && (t = "ids")) {
1339
+ const o = {};
1340
+ e === null ? e = [o] : e.push(o), r++;
1341
+ }
1342
+ }
1343
+ else {
1344
+ const t = {};
1345
+ e === null ? e = [t] : e.push(t), r++;
1346
+ } var c = a === r; if (c) {
1347
+ const t = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
1348
+ e === null ? e = [t] : e.push(t), r++;
1349
+ }
1350
+ else
1351
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
1352
+ if (s.longitude === void 0) {
1353
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "longitude" }, message: "must have required property 'longitude'" };
1354
+ e === null ? e = [t] : e.push(t), r++;
1355
+ }
1356
+ for (const t in s)
1357
+ if (!(t === "$schema" || t === "type" || t === "longitude" || t === "id" || t === "ids")) {
1358
+ const o = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
1359
+ e === null ? e = [o] : e.push(o), r++;
1360
+ }
1361
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
1362
+ const t = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1363
+ e === null ? e = [t] : e.push(t), r++;
1364
+ }
1365
+ if (s.type !== void 0) {
1366
+ let t = s.type;
1367
+ if (typeof t != "string") {
1368
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1369
+ e === null ? e = [o] : e.push(o), r++;
1370
+ }
1371
+ if (t !== "Meridian") {
1372
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Qe.properties.type.enum }, message: "must be equal to one of the allowed values" };
1373
+ e === null ? e = [o] : e.push(o), r++;
1374
+ }
1375
+ }
1376
+ if (s.longitude !== void 0 && (X(s.longitude, { instancePath: i + "/longitude", parentData: s, parentDataProperty: "longitude", rootData: _ }) || (e = e === null ? X.errors : e.concat(X.errors), r = e.length)), s.id !== void 0) {
1377
+ let t = s.id;
1378
+ if (t && typeof t == "object" && !Array.isArray(t)) {
1379
+ if (t.authority === void 0) {
1380
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
1381
+ e === null ? e = [o] : e.push(o), r++;
1382
+ }
1383
+ if (t.code === void 0) {
1384
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
1385
+ e === null ? e = [o] : e.push(o), r++;
1386
+ }
1387
+ for (const o in t)
1388
+ if (!(o === "authority" || o === "code" || o === "version" || o === "authority_citation" || o === "uri")) {
1389
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
1390
+ e === null ? e = [y] : e.push(y), r++;
1391
+ }
1392
+ if (t.authority !== void 0 && typeof t.authority != "string") {
1393
+ const o = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1394
+ e === null ? e = [o] : e.push(o), r++;
1395
+ }
1396
+ if (t.code !== void 0) {
1397
+ let o = t.code;
1398
+ const y = r;
1399
+ let u = !1, l = null;
1400
+ const v = r;
1401
+ if (typeof o != "string") {
1402
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1403
+ e === null ? e = [p] : e.push(p), r++;
1404
+ }
1405
+ var f = v === r;
1406
+ f && (u = !0, l = 0);
1407
+ const h = r;
1408
+ if (!(typeof o == "number" && !(o % 1) && !isNaN(o))) {
1409
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
1410
+ e === null ? e = [p] : e.push(p), r++;
1411
+ }
1412
+ var f = h === r;
1413
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
1414
+ r = y, e !== null && (y ? e.length = y : e = null);
1415
+ else {
1416
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1417
+ e === null ? e = [p] : e.push(p), r++;
1418
+ }
1419
+ }
1420
+ if (t.version !== void 0) {
1421
+ let o = t.version;
1422
+ const y = r;
1423
+ let u = !1, l = null;
1424
+ const v = r;
1425
+ if (typeof o != "string") {
1426
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1427
+ e === null ? e = [p] : e.push(p), r++;
1428
+ }
1429
+ var g = v === r;
1430
+ g && (u = !0, l = 0);
1431
+ const h = r;
1432
+ if (typeof o != "number") {
1433
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1434
+ e === null ? e = [p] : e.push(p), r++;
1435
+ }
1436
+ var g = h === r;
1437
+ if (g && u ? (u = !1, l = [l, 1]) : g && (u = !0, l = 1), u)
1438
+ r = y, e !== null && (y ? e.length = y : e = null);
1439
+ else {
1440
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1441
+ e === null ? e = [p] : e.push(p), r++;
1442
+ }
1443
+ }
1444
+ if (t.authority_citation !== void 0 && typeof t.authority_citation != "string") {
1445
+ const o = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1446
+ e === null ? e = [o] : e.push(o), r++;
1447
+ }
1448
+ if (t.uri !== void 0 && typeof t.uri != "string") {
1449
+ const o = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1450
+ e === null ? e = [o] : e.push(o), r++;
1451
+ }
1452
+ }
1453
+ else {
1454
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1455
+ e === null ? e = [o] : e.push(o), r++;
1456
+ }
1457
+ }
1458
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
1459
+ }
1460
+ else {
1461
+ const t = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1462
+ e === null ? e = [t] : e.push(t), r++;
1463
+ } return pe.errors = e, r === 0; }
1464
+ function le(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
1465
+ if (s && typeof s == "object" && !Array.isArray(s)) {
1466
+ let t;
1467
+ if (s.id === void 0 && (t = "id") || s.ids === void 0 && (t = "ids")) {
1468
+ const o = {};
1469
+ e === null ? e = [o] : e.push(o), r++;
1470
+ }
1471
+ }
1472
+ else {
1473
+ const t = {};
1474
+ e === null ? e = [t] : e.push(t), r++;
1475
+ } var c = a === r; if (c) {
1476
+ const t = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
1477
+ e === null ? e = [t] : e.push(t), r++;
1478
+ }
1479
+ else
1480
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
1481
+ if (s.name === void 0) {
1482
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
1483
+ e === null ? e = [t] : e.push(t), r++;
1484
+ }
1485
+ if (s.abbreviation === void 0) {
1486
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "abbreviation" }, message: "must have required property 'abbreviation'" };
1487
+ e === null ? e = [t] : e.push(t), r++;
1488
+ }
1489
+ if (s.direction === void 0) {
1490
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "direction" }, message: "must have required property 'direction'" };
1491
+ e === null ? e = [t] : e.push(t), r++;
1492
+ }
1493
+ for (const t in s)
1494
+ if (!T.call(ae.properties, t)) {
1495
+ const o = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
1496
+ e === null ? e = [o] : e.push(o), r++;
1497
+ }
1498
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
1499
+ const t = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1500
+ e === null ? e = [t] : e.push(t), r++;
1501
+ }
1502
+ if (s.type !== void 0) {
1503
+ let t = s.type;
1504
+ if (typeof t != "string") {
1505
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1506
+ e === null ? e = [o] : e.push(o), r++;
1507
+ }
1508
+ if (t !== "Axis") {
1509
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: ae.properties.type.enum }, message: "must be equal to one of the allowed values" };
1510
+ e === null ? e = [o] : e.push(o), r++;
1511
+ }
1512
+ }
1513
+ if (s.name !== void 0 && typeof s.name != "string") {
1514
+ const t = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1515
+ e === null ? e = [t] : e.push(t), r++;
1516
+ }
1517
+ if (s.abbreviation !== void 0 && typeof s.abbreviation != "string") {
1518
+ const t = { instancePath: i + "/abbreviation", schemaPath: "#/properties/abbreviation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1519
+ e === null ? e = [t] : e.push(t), r++;
1520
+ }
1521
+ if (s.direction !== void 0) {
1522
+ let t = s.direction;
1523
+ if (typeof t != "string") {
1524
+ const o = { instancePath: i + "/direction", schemaPath: "#/properties/direction/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1525
+ e === null ? e = [o] : e.push(o), r++;
1526
+ }
1527
+ if (!(t === "north" || t === "northNorthEast" || t === "northEast" || t === "eastNorthEast" || t === "east" || t === "eastSouthEast" || t === "southEast" || t === "southSouthEast" || t === "south" || t === "southSouthWest" || t === "southWest" || t === "westSouthWest" || t === "west" || t === "westNorthWest" || t === "northWest" || t === "northNorthWest" || t === "up" || t === "down" || t === "geocentricX" || t === "geocentricY" || t === "geocentricZ" || t === "columnPositive" || t === "columnNegative" || t === "rowPositive" || t === "rowNegative" || t === "displayRight" || t === "displayLeft" || t === "displayUp" || t === "displayDown" || t === "forward" || t === "aft" || t === "port" || t === "starboard" || t === "clockwise" || t === "counterClockwise" || t === "towards" || t === "awayFrom" || t === "future" || t === "past" || t === "unspecified")) {
1528
+ const o = { instancePath: i + "/direction", schemaPath: "#/properties/direction/enum", keyword: "enum", params: { allowedValues: ae.properties.direction.enum }, message: "must be equal to one of the allowed values" };
1529
+ e === null ? e = [o] : e.push(o), r++;
1530
+ }
1531
+ }
1532
+ if (s.meridian !== void 0 && (pe(s.meridian, { instancePath: i + "/meridian", parentData: s, parentDataProperty: "meridian", rootData: _ }) || (e = e === null ? pe.errors : e.concat(pe.errors), r = e.length)), s.unit !== void 0 && (U(s.unit, { instancePath: i + "/unit", parentData: s, parentDataProperty: "unit", rootData: _ }) || (e = e === null ? U.errors : e.concat(U.errors), r = e.length)), s.minimum_value !== void 0 && typeof s.minimum_value != "number") {
1533
+ const t = { instancePath: i + "/minimum_value", schemaPath: "#/properties/minimum_value/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1534
+ e === null ? e = [t] : e.push(t), r++;
1535
+ }
1536
+ if (s.maximum_value !== void 0 && typeof s.maximum_value != "number") {
1537
+ const t = { instancePath: i + "/maximum_value", schemaPath: "#/properties/maximum_value/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1538
+ e === null ? e = [t] : e.push(t), r++;
1539
+ }
1540
+ if (s.range_meaning !== void 0) {
1541
+ let t = s.range_meaning;
1542
+ if (typeof t != "string") {
1543
+ const o = { instancePath: i + "/range_meaning", schemaPath: "#/properties/range_meaning/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1544
+ e === null ? e = [o] : e.push(o), r++;
1545
+ }
1546
+ if (!(t === "exact" || t === "wraparound")) {
1547
+ const o = { instancePath: i + "/range_meaning", schemaPath: "#/properties/range_meaning/enum", keyword: "enum", params: { allowedValues: ae.properties.range_meaning.enum }, message: "must be equal to one of the allowed values" };
1548
+ e === null ? e = [o] : e.push(o), r++;
1549
+ }
1550
+ }
1551
+ if (s.id !== void 0) {
1552
+ let t = s.id;
1553
+ if (t && typeof t == "object" && !Array.isArray(t)) {
1554
+ if (t.authority === void 0) {
1555
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
1556
+ e === null ? e = [o] : e.push(o), r++;
1557
+ }
1558
+ if (t.code === void 0) {
1559
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
1560
+ e === null ? e = [o] : e.push(o), r++;
1561
+ }
1562
+ for (const o in t)
1563
+ if (!(o === "authority" || o === "code" || o === "version" || o === "authority_citation" || o === "uri")) {
1564
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
1565
+ e === null ? e = [y] : e.push(y), r++;
1566
+ }
1567
+ if (t.authority !== void 0 && typeof t.authority != "string") {
1568
+ const o = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1569
+ e === null ? e = [o] : e.push(o), r++;
1570
+ }
1571
+ if (t.code !== void 0) {
1572
+ let o = t.code;
1573
+ const y = r;
1574
+ let u = !1, l = null;
1575
+ const v = r;
1576
+ if (typeof o != "string") {
1577
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1578
+ e === null ? e = [p] : e.push(p), r++;
1579
+ }
1580
+ var f = v === r;
1581
+ f && (u = !0, l = 0);
1582
+ const h = r;
1583
+ if (!(typeof o == "number" && !(o % 1) && !isNaN(o))) {
1584
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
1585
+ e === null ? e = [p] : e.push(p), r++;
1586
+ }
1587
+ var f = h === r;
1588
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
1589
+ r = y, e !== null && (y ? e.length = y : e = null);
1590
+ else {
1591
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1592
+ e === null ? e = [p] : e.push(p), r++;
1593
+ }
1594
+ }
1595
+ if (t.version !== void 0) {
1596
+ let o = t.version;
1597
+ const y = r;
1598
+ let u = !1, l = null;
1599
+ const v = r;
1600
+ if (typeof o != "string") {
1601
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1602
+ e === null ? e = [p] : e.push(p), r++;
1603
+ }
1604
+ var g = v === r;
1605
+ g && (u = !0, l = 0);
1606
+ const h = r;
1607
+ if (typeof o != "number") {
1608
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1609
+ e === null ? e = [p] : e.push(p), r++;
1610
+ }
1611
+ var g = h === r;
1612
+ if (g && u ? (u = !1, l = [l, 1]) : g && (u = !0, l = 1), u)
1613
+ r = y, e !== null && (y ? e.length = y : e = null);
1614
+ else {
1615
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1616
+ e === null ? e = [p] : e.push(p), r++;
1617
+ }
1618
+ }
1619
+ if (t.authority_citation !== void 0 && typeof t.authority_citation != "string") {
1620
+ const o = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1621
+ e === null ? e = [o] : e.push(o), r++;
1622
+ }
1623
+ if (t.uri !== void 0 && typeof t.uri != "string") {
1624
+ const o = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1625
+ e === null ? e = [o] : e.push(o), r++;
1626
+ }
1627
+ }
1628
+ else {
1629
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1630
+ e === null ? e = [o] : e.push(o), r++;
1631
+ }
1632
+ }
1633
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
1634
+ }
1635
+ else {
1636
+ const t = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1637
+ e === null ? e = [t] : e.push(t), r++;
1638
+ } return le.errors = e, r === 0; }
1639
+ function S(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
1640
+ if (s && typeof s == "object" && !Array.isArray(s)) {
1641
+ let t;
1642
+ if (s.id === void 0 && (t = "id") || s.ids === void 0 && (t = "ids")) {
1643
+ const o = {};
1644
+ e === null ? e = [o] : e.push(o), r++;
1645
+ }
1646
+ }
1647
+ else {
1648
+ const t = {};
1649
+ e === null ? e = [t] : e.push(t), r++;
1650
+ } var c = a === r; if (c) {
1651
+ const t = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
1652
+ e === null ? e = [t] : e.push(t), r++;
1653
+ }
1654
+ else
1655
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
1656
+ if (s.subtype === void 0) {
1657
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "subtype" }, message: "must have required property 'subtype'" };
1658
+ e === null ? e = [t] : e.push(t), r++;
1659
+ }
1660
+ if (s.axis === void 0) {
1661
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "axis" }, message: "must have required property 'axis'" };
1662
+ e === null ? e = [t] : e.push(t), r++;
1663
+ }
1664
+ for (const t in s)
1665
+ if (!(t === "$schema" || t === "type" || t === "name" || t === "subtype" || t === "axis" || t === "id" || t === "ids")) {
1666
+ const o = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
1667
+ e === null ? e = [o] : e.push(o), r++;
1668
+ }
1669
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
1670
+ const t = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1671
+ e === null ? e = [t] : e.push(t), r++;
1672
+ }
1673
+ if (s.type !== void 0) {
1674
+ let t = s.type;
1675
+ if (typeof t != "string") {
1676
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1677
+ e === null ? e = [o] : e.push(o), r++;
1678
+ }
1679
+ if (t !== "CoordinateSystem") {
1680
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ne.properties.type.enum }, message: "must be equal to one of the allowed values" };
1681
+ e === null ? e = [o] : e.push(o), r++;
1682
+ }
1683
+ }
1684
+ if (s.name !== void 0 && typeof s.name != "string") {
1685
+ const t = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1686
+ e === null ? e = [t] : e.push(t), r++;
1687
+ }
1688
+ if (s.subtype !== void 0) {
1689
+ let t = s.subtype;
1690
+ if (typeof t != "string") {
1691
+ const o = { instancePath: i + "/subtype", schemaPath: "#/properties/subtype/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1692
+ e === null ? e = [o] : e.push(o), r++;
1693
+ }
1694
+ if (!(t === "Cartesian" || t === "spherical" || t === "ellipsoidal" || t === "vertical" || t === "ordinal" || t === "parametric" || t === "affine" || t === "TemporalDateTime" || t === "TemporalCount" || t === "TemporalMeasure")) {
1695
+ const o = { instancePath: i + "/subtype", schemaPath: "#/properties/subtype/enum", keyword: "enum", params: { allowedValues: Ne.properties.subtype.enum }, message: "must be equal to one of the allowed values" };
1696
+ e === null ? e = [o] : e.push(o), r++;
1697
+ }
1698
+ }
1699
+ if (s.axis !== void 0) {
1700
+ let t = s.axis;
1701
+ if (Array.isArray(t)) {
1702
+ const o = t.length;
1703
+ for (let y = 0; y < o; y++)
1704
+ le(t[y], { instancePath: i + "/axis/" + y, parentData: t, parentDataProperty: y, rootData: _ }) || (e = e === null ? le.errors : e.concat(le.errors), r = e.length);
1705
+ }
1706
+ else {
1707
+ const o = { instancePath: i + "/axis", schemaPath: "#/properties/axis/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1708
+ e === null ? e = [o] : e.push(o), r++;
1709
+ }
1710
+ }
1711
+ if (s.id !== void 0) {
1712
+ let t = s.id;
1713
+ if (t && typeof t == "object" && !Array.isArray(t)) {
1714
+ if (t.authority === void 0) {
1715
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
1716
+ e === null ? e = [o] : e.push(o), r++;
1717
+ }
1718
+ if (t.code === void 0) {
1719
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
1720
+ e === null ? e = [o] : e.push(o), r++;
1721
+ }
1722
+ for (const o in t)
1723
+ if (!(o === "authority" || o === "code" || o === "version" || o === "authority_citation" || o === "uri")) {
1724
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
1725
+ e === null ? e = [y] : e.push(y), r++;
1726
+ }
1727
+ if (t.authority !== void 0 && typeof t.authority != "string") {
1728
+ const o = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1729
+ e === null ? e = [o] : e.push(o), r++;
1730
+ }
1731
+ if (t.code !== void 0) {
1732
+ let o = t.code;
1733
+ const y = r;
1734
+ let u = !1, l = null;
1735
+ const v = r;
1736
+ if (typeof o != "string") {
1737
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1738
+ e === null ? e = [p] : e.push(p), r++;
1739
+ }
1740
+ var f = v === r;
1741
+ f && (u = !0, l = 0);
1742
+ const h = r;
1743
+ if (!(typeof o == "number" && !(o % 1) && !isNaN(o))) {
1744
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
1745
+ e === null ? e = [p] : e.push(p), r++;
1746
+ }
1747
+ var f = h === r;
1748
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
1749
+ r = y, e !== null && (y ? e.length = y : e = null);
1750
+ else {
1751
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1752
+ e === null ? e = [p] : e.push(p), r++;
1753
+ }
1754
+ }
1755
+ if (t.version !== void 0) {
1756
+ let o = t.version;
1757
+ const y = r;
1758
+ let u = !1, l = null;
1759
+ const v = r;
1760
+ if (typeof o != "string") {
1761
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1762
+ e === null ? e = [p] : e.push(p), r++;
1763
+ }
1764
+ var g = v === r;
1765
+ g && (u = !0, l = 0);
1766
+ const h = r;
1767
+ if (typeof o != "number") {
1768
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1769
+ e === null ? e = [p] : e.push(p), r++;
1770
+ }
1771
+ var g = h === r;
1772
+ if (g && u ? (u = !1, l = [l, 1]) : g && (u = !0, l = 1), u)
1773
+ r = y, e !== null && (y ? e.length = y : e = null);
1774
+ else {
1775
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1776
+ e === null ? e = [p] : e.push(p), r++;
1777
+ }
1778
+ }
1779
+ if (t.authority_citation !== void 0 && typeof t.authority_citation != "string") {
1780
+ const o = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1781
+ e === null ? e = [o] : e.push(o), r++;
1782
+ }
1783
+ if (t.uri !== void 0 && typeof t.uri != "string") {
1784
+ const o = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1785
+ e === null ? e = [o] : e.push(o), r++;
1786
+ }
1787
+ }
1788
+ else {
1789
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1790
+ e === null ? e = [o] : e.push(o), r++;
1791
+ }
1792
+ }
1793
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
1794
+ }
1795
+ else {
1796
+ const t = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1797
+ e === null ? e = [t] : e.push(t), r++;
1798
+ } return S.errors = e, r === 0; }
1799
+ function Y(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
1800
+ if (s.name === void 0) {
1801
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
1802
+ e === null ? e = [n] : e.push(n), r++;
1803
+ }
1804
+ if (s.datum === void 0) {
1805
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "datum" }, message: "must have required property 'datum'" };
1806
+ e === null ? e = [n] : e.push(n), r++;
1807
+ }
1808
+ for (const n in s)
1809
+ if (!T.call(Ae.properties, n)) {
1810
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
1811
+ e === null ? e = [a] : e.push(a), r++;
1812
+ }
1813
+ if (s.type !== void 0) {
1814
+ let n = s.type;
1815
+ if (typeof n != "string") {
1816
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1817
+ e === null ? e = [a] : e.push(a), r++;
1818
+ }
1819
+ if (n !== "EngineeringCRS") {
1820
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ae.properties.type.enum }, message: "must be equal to one of the allowed values" };
1821
+ e === null ? e = [a] : e.push(a), r++;
1822
+ }
1823
+ }
1824
+ if (s.name !== void 0 && typeof s.name != "string") {
1825
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1826
+ e === null ? e = [n] : e.push(n), r++;
1827
+ }
1828
+ s.datum !== void 0 && (oe(s.datum, { instancePath: i + "/datum", parentData: s, parentDataProperty: "datum", rootData: _ }) || (e = e === null ? oe.errors : e.concat(oe.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
1829
+ }
1830
+ else {
1831
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1832
+ e === null ? e = [n] : e.push(n), r++;
1833
+ } return Y.errors = e, r === 0; }
1834
+ const er = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Conversion"] }, name: { type: "string" }, method: { $ref: "#/definitions/method" }, parameters: { type: "array", items: { $ref: "#/definitions/parameter_value" } }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "method"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 };
1835
+ function E(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
1836
+ if (s && typeof s == "object" && !Array.isArray(s)) {
1837
+ let t;
1838
+ if (s.id === void 0 && (t = "id") || s.ids === void 0 && (t = "ids")) {
1839
+ const o = {};
1840
+ e === null ? e = [o] : e.push(o), r++;
1841
+ }
1842
+ }
1843
+ else {
1844
+ const t = {};
1845
+ e === null ? e = [t] : e.push(t), r++;
1846
+ } var c = a === r; if (c) {
1847
+ const t = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
1848
+ e === null ? e = [t] : e.push(t), r++;
1849
+ }
1850
+ else
1851
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
1852
+ if (s.name === void 0) {
1853
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
1854
+ e === null ? e = [t] : e.push(t), r++;
1855
+ }
1856
+ if (s.method === void 0) {
1857
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "method" }, message: "must have required property 'method'" };
1858
+ e === null ? e = [t] : e.push(t), r++;
1859
+ }
1860
+ for (const t in s)
1861
+ if (!(t === "$schema" || t === "type" || t === "name" || t === "method" || t === "parameters" || t === "id" || t === "ids")) {
1862
+ const o = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
1863
+ e === null ? e = [o] : e.push(o), r++;
1864
+ }
1865
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
1866
+ const t = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1867
+ e === null ? e = [t] : e.push(t), r++;
1868
+ }
1869
+ if (s.type !== void 0) {
1870
+ let t = s.type;
1871
+ if (typeof t != "string") {
1872
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1873
+ e === null ? e = [o] : e.push(o), r++;
1874
+ }
1875
+ if (t !== "Conversion") {
1876
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: er.properties.type.enum }, message: "must be equal to one of the allowed values" };
1877
+ e === null ? e = [o] : e.push(o), r++;
1878
+ }
1879
+ }
1880
+ if (s.name !== void 0 && typeof s.name != "string") {
1881
+ const t = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1882
+ e === null ? e = [t] : e.push(t), r++;
1883
+ }
1884
+ if (s.method !== void 0 && (F(s.method, { instancePath: i + "/method", parentData: s, parentDataProperty: "method", rootData: _ }) || (e = e === null ? F.errors : e.concat(F.errors), r = e.length)), s.parameters !== void 0) {
1885
+ let t = s.parameters;
1886
+ if (Array.isArray(t)) {
1887
+ const o = t.length;
1888
+ for (let y = 0; y < o; y++)
1889
+ L(t[y], { instancePath: i + "/parameters/" + y, parentData: t, parentDataProperty: y, rootData: _ }) || (e = e === null ? L.errors : e.concat(L.errors), r = e.length);
1890
+ }
1891
+ else {
1892
+ const o = { instancePath: i + "/parameters", schemaPath: "#/properties/parameters/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1893
+ e === null ? e = [o] : e.push(o), r++;
1894
+ }
1895
+ }
1896
+ if (s.id !== void 0) {
1897
+ let t = s.id;
1898
+ if (t && typeof t == "object" && !Array.isArray(t)) {
1899
+ if (t.authority === void 0) {
1900
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
1901
+ e === null ? e = [o] : e.push(o), r++;
1902
+ }
1903
+ if (t.code === void 0) {
1904
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
1905
+ e === null ? e = [o] : e.push(o), r++;
1906
+ }
1907
+ for (const o in t)
1908
+ if (!(o === "authority" || o === "code" || o === "version" || o === "authority_citation" || o === "uri")) {
1909
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
1910
+ e === null ? e = [y] : e.push(y), r++;
1911
+ }
1912
+ if (t.authority !== void 0 && typeof t.authority != "string") {
1913
+ const o = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1914
+ e === null ? e = [o] : e.push(o), r++;
1915
+ }
1916
+ if (t.code !== void 0) {
1917
+ let o = t.code;
1918
+ const y = r;
1919
+ let u = !1, l = null;
1920
+ const v = r;
1921
+ if (typeof o != "string") {
1922
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1923
+ e === null ? e = [p] : e.push(p), r++;
1924
+ }
1925
+ var f = v === r;
1926
+ f && (u = !0, l = 0);
1927
+ const h = r;
1928
+ if (!(typeof o == "number" && !(o % 1) && !isNaN(o))) {
1929
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
1930
+ e === null ? e = [p] : e.push(p), r++;
1931
+ }
1932
+ var f = h === r;
1933
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
1934
+ r = y, e !== null && (y ? e.length = y : e = null);
1935
+ else {
1936
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1937
+ e === null ? e = [p] : e.push(p), r++;
1938
+ }
1939
+ }
1940
+ if (t.version !== void 0) {
1941
+ let o = t.version;
1942
+ const y = r;
1943
+ let u = !1, l = null;
1944
+ const v = r;
1945
+ if (typeof o != "string") {
1946
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1947
+ e === null ? e = [p] : e.push(p), r++;
1948
+ }
1949
+ var g = v === r;
1950
+ g && (u = !0, l = 0);
1951
+ const h = r;
1952
+ if (typeof o != "number") {
1953
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1954
+ e === null ? e = [p] : e.push(p), r++;
1955
+ }
1956
+ var g = h === r;
1957
+ if (g && u ? (u = !1, l = [l, 1]) : g && (u = !0, l = 1), u)
1958
+ r = y, e !== null && (y ? e.length = y : e = null);
1959
+ else {
1960
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
1961
+ e === null ? e = [p] : e.push(p), r++;
1962
+ }
1963
+ }
1964
+ if (t.authority_citation !== void 0 && typeof t.authority_citation != "string") {
1965
+ const o = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1966
+ e === null ? e = [o] : e.push(o), r++;
1967
+ }
1968
+ if (t.uri !== void 0 && typeof t.uri != "string") {
1969
+ const o = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1970
+ e === null ? e = [o] : e.push(o), r++;
1971
+ }
1972
+ }
1973
+ else {
1974
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1975
+ e === null ? e = [o] : e.push(o), r++;
1976
+ }
1977
+ }
1978
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
1979
+ }
1980
+ else {
1981
+ const t = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1982
+ e === null ? e = [t] : e.push(t), r++;
1983
+ } return E.errors = e, r === 0; }
1984
+ function ue(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
1985
+ if (s.name === void 0) {
1986
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
1987
+ e === null ? e = [n] : e.push(n), r++;
1988
+ }
1989
+ if (s.base_crs === void 0) {
1990
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "base_crs" }, message: "must have required property 'base_crs'" };
1991
+ e === null ? e = [n] : e.push(n), r++;
1992
+ }
1993
+ if (s.conversion === void 0) {
1994
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "conversion" }, message: "must have required property 'conversion'" };
1995
+ e === null ? e = [n] : e.push(n), r++;
1996
+ }
1997
+ if (s.coordinate_system === void 0) {
1998
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "coordinate_system" }, message: "must have required property 'coordinate_system'" };
1999
+ e === null ? e = [n] : e.push(n), r++;
2000
+ }
2001
+ for (const n in s)
2002
+ if (!T.call(je.properties, n)) {
2003
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
2004
+ e === null ? e = [a] : e.push(a), r++;
2005
+ }
2006
+ if (s.type !== void 0) {
2007
+ let n = s.type;
2008
+ if (typeof n != "string") {
2009
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2010
+ e === null ? e = [a] : e.push(a), r++;
2011
+ }
2012
+ if (n !== "DerivedEngineeringCRS") {
2013
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: je.properties.type.enum }, message: "must be equal to one of the allowed values" };
2014
+ e === null ? e = [a] : e.push(a), r++;
2015
+ }
2016
+ }
2017
+ if (s.name !== void 0 && typeof s.name != "string") {
2018
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2019
+ e === null ? e = [n] : e.push(n), r++;
2020
+ }
2021
+ s.base_crs !== void 0 && (Y(s.base_crs, { instancePath: i + "/base_crs", parentData: s, parentDataProperty: "base_crs", rootData: _ }) || (e = e === null ? Y.errors : e.concat(Y.errors), r = e.length)), s.conversion !== void 0 && (E(s.conversion, { instancePath: i + "/conversion", parentData: s, parentDataProperty: "conversion", rootData: _ }) || (e = e === null ? E.errors : e.concat(E.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
2022
+ }
2023
+ else {
2024
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2025
+ e === null ? e = [n] : e.push(n), r++;
2026
+ } return ue.errors = e, r === 0; }
2027
+ const Se = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedGeodeticCRS", "DerivedGeographicCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/geodetic_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, Te = { type: "object", properties: { type: { type: "string", enum: ["GeodeticCRS", "GeographicCRS"] }, name: { type: "string" }, datum: { oneOf: [{ $ref: "#/definitions/geodetic_reference_frame" }, { $ref: "#/definitions/dynamic_geodetic_reference_frame" }] }, datum_ensemble: { $ref: "#/definitions/datum_ensemble" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, deformation_models: { type: "array", items: { $ref: "#/definitions/deformation_model" } }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], description: "One and only one of datum and datum_ensemble must be provided", allOf: [{ $ref: "#/definitions/object_usage" }, { $ref: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }], additionalProperties: !1 }, gr = { allOf: [{ not: { type: "object", required: ["datum", "datum_ensemble"] } }, { oneOf: [{ type: "object", required: ["datum"] }, { type: "object", required: ["datum_ensemble"] }] }] }, Ee = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["GeodeticReferenceFrame"] }, name: { type: "string" }, anchor: { type: "string" }, anchor_epoch: { type: "number" }, ellipsoid: { $ref: "#/definitions/ellipsoid" }, prime_meridian: { $ref: "#/definitions/prime_meridian" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "ellipsoid"], additionalProperties: !1 }, ke = { type: "object", oneOf: [{ properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Ellipsoid"] }, name: { type: "string" }, semi_major_axis: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, semi_minor_axis: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "semi_major_axis", "semi_minor_axis"], additionalProperties: !1 }, { properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Ellipsoid"] }, name: { type: "string" }, semi_major_axis: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, inverse_flattening: { type: "number" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "semi_major_axis", "inverse_flattening"], additionalProperties: !1 }, { properties: { $schema: { type: "string" }, type: { type: "string", enum: ["Ellipsoid"] }, name: { type: "string" }, radius: { $ref: "#/definitions/value_in_metre_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "radius"], additionalProperties: !1 }], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }] }, _r = { oneOf: [{ type: "number" }, { $ref: "#/definitions/value_and_unit" }] };
2028
+ function W(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r; let a = !1, c = null; const f = r; if (typeof s != "number") {
2029
+ const o = { instancePath: i, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2030
+ e === null ? e = [o] : e.push(o), r++;
2031
+ } var t = f === r; t && (a = !0, c = 0); const g = r; B(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? B.errors : e.concat(B.errors), r = e.length); var t = g === r; if (t && a ? (a = !1, c = [c, 1]) : t && (a = !0, c = 1), a)
2032
+ r = n, e !== null && (n ? e.length = n : e = null);
2033
+ else {
2034
+ const o = { instancePath: i, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: c }, message: "must match exactly one schema in oneOf" };
2035
+ e === null ? e = [o] : e.push(o), r++;
2036
+ } return W.errors = e, r === 0; }
2037
+ function Z(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (!(s && typeof s == "object" && !Array.isArray(s))) {
2038
+ const m = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2039
+ e === null ? e = [m] : e.push(m), r++;
2040
+ } const n = r; let a = !1, c = null; const f = r; if (s && typeof s == "object" && !Array.isArray(s)) {
2041
+ if (s.name === void 0) {
2042
+ const m = { instancePath: i, schemaPath: "#/oneOf/0/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2043
+ e === null ? e = [m] : e.push(m), r++;
2044
+ }
2045
+ if (s.semi_major_axis === void 0) {
2046
+ const m = { instancePath: i, schemaPath: "#/oneOf/0/required", keyword: "required", params: { missingProperty: "semi_major_axis" }, message: "must have required property 'semi_major_axis'" };
2047
+ e === null ? e = [m] : e.push(m), r++;
2048
+ }
2049
+ if (s.semi_minor_axis === void 0) {
2050
+ const m = { instancePath: i, schemaPath: "#/oneOf/0/required", keyword: "required", params: { missingProperty: "semi_minor_axis" }, message: "must have required property 'semi_minor_axis'" };
2051
+ e === null ? e = [m] : e.push(m), r++;
2052
+ }
2053
+ for (const m in s)
2054
+ if (!(m === "$schema" || m === "type" || m === "name" || m === "semi_major_axis" || m === "semi_minor_axis" || m === "id" || m === "ids")) {
2055
+ const b = { instancePath: i, schemaPath: "#/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: m }, message: "must NOT have additional properties" };
2056
+ e === null ? e = [b] : e.push(b), r++;
2057
+ }
2058
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
2059
+ const m = { instancePath: i + "/$schema", schemaPath: "#/oneOf/0/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2060
+ e === null ? e = [m] : e.push(m), r++;
2061
+ }
2062
+ if (s.type !== void 0) {
2063
+ let m = s.type;
2064
+ if (typeof m != "string") {
2065
+ const b = { instancePath: i + "/type", schemaPath: "#/oneOf/0/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2066
+ e === null ? e = [b] : e.push(b), r++;
2067
+ }
2068
+ if (m !== "Ellipsoid") {
2069
+ const b = { instancePath: i + "/type", schemaPath: "#/oneOf/0/properties/type/enum", keyword: "enum", params: { allowedValues: ke.oneOf[0].properties.type.enum }, message: "must be equal to one of the allowed values" };
2070
+ e === null ? e = [b] : e.push(b), r++;
2071
+ }
2072
+ }
2073
+ if (s.name !== void 0 && typeof s.name != "string") {
2074
+ const m = { instancePath: i + "/name", schemaPath: "#/oneOf/0/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2075
+ e === null ? e = [m] : e.push(m), r++;
2076
+ }
2077
+ if (s.semi_major_axis !== void 0 && (W(s.semi_major_axis, { instancePath: i + "/semi_major_axis", parentData: s, parentDataProperty: "semi_major_axis", rootData: _ }) || (e = e === null ? W.errors : e.concat(W.errors), r = e.length)), s.semi_minor_axis !== void 0 && (W(s.semi_minor_axis, { instancePath: i + "/semi_minor_axis", parentData: s, parentDataProperty: "semi_minor_axis", rootData: _ }) || (e = e === null ? W.errors : e.concat(W.errors), r = e.length)), s.id !== void 0) {
2078
+ let m = s.id;
2079
+ if (m && typeof m == "object" && !Array.isArray(m)) {
2080
+ if (m.authority === void 0) {
2081
+ const b = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
2082
+ e === null ? e = [b] : e.push(b), r++;
2083
+ }
2084
+ if (m.code === void 0) {
2085
+ const b = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
2086
+ e === null ? e = [b] : e.push(b), r++;
2087
+ }
2088
+ for (const b in m)
2089
+ if (!(b === "authority" || b === "code" || b === "version" || b === "authority_citation" || b === "uri")) {
2090
+ const P = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: b }, message: "must NOT have additional properties" };
2091
+ e === null ? e = [P] : e.push(P), r++;
2092
+ }
2093
+ if (m.authority !== void 0 && typeof m.authority != "string") {
2094
+ const b = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2095
+ e === null ? e = [b] : e.push(b), r++;
2096
+ }
2097
+ if (m.code !== void 0) {
2098
+ let b = m.code;
2099
+ const P = r;
2100
+ let w = !1, $ = null;
2101
+ const N = r;
2102
+ if (typeof b != "string") {
2103
+ const A = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2104
+ e === null ? e = [A] : e.push(A), r++;
2105
+ }
2106
+ var g = N === r;
2107
+ g && (w = !0, $ = 0);
2108
+ const D = r;
2109
+ if (!(typeof b == "number" && !(b % 1) && !isNaN(b))) {
2110
+ const A = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
2111
+ e === null ? e = [A] : e.push(A), r++;
2112
+ }
2113
+ var g = D === r;
2114
+ if (g && w ? (w = !1, $ = [$, 1]) : g && (w = !0, $ = 1), w)
2115
+ r = P, e !== null && (P ? e.length = P : e = null);
2116
+ else {
2117
+ const A = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: $ }, message: "must match exactly one schema in oneOf" };
2118
+ e === null ? e = [A] : e.push(A), r++;
2119
+ }
2120
+ }
2121
+ if (m.version !== void 0) {
2122
+ let b = m.version;
2123
+ const P = r;
2124
+ let w = !1, $ = null;
2125
+ const N = r;
2126
+ if (typeof b != "string") {
2127
+ const A = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2128
+ e === null ? e = [A] : e.push(A), r++;
2129
+ }
2130
+ var t = N === r;
2131
+ t && (w = !0, $ = 0);
2132
+ const D = r;
2133
+ if (typeof b != "number") {
2134
+ const A = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2135
+ e === null ? e = [A] : e.push(A), r++;
2136
+ }
2137
+ var t = D === r;
2138
+ if (t && w ? (w = !1, $ = [$, 1]) : t && (w = !0, $ = 1), w)
2139
+ r = P, e !== null && (P ? e.length = P : e = null);
2140
+ else {
2141
+ const A = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: $ }, message: "must match exactly one schema in oneOf" };
2142
+ e === null ? e = [A] : e.push(A), r++;
2143
+ }
2144
+ }
2145
+ if (m.authority_citation !== void 0 && typeof m.authority_citation != "string") {
2146
+ const b = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2147
+ e === null ? e = [b] : e.push(b), r++;
2148
+ }
2149
+ if (m.uri !== void 0 && typeof m.uri != "string") {
2150
+ const b = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2151
+ e === null ? e = [b] : e.push(b), r++;
2152
+ }
2153
+ }
2154
+ else {
2155
+ const b = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2156
+ e === null ? e = [b] : e.push(b), r++;
2157
+ }
2158
+ }
2159
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
2160
+ } var l = f === r; l && (a = !0, c = 0); const o = r; if (s && typeof s == "object" && !Array.isArray(s)) {
2161
+ if (s.name === void 0) {
2162
+ const m = { instancePath: i, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2163
+ e === null ? e = [m] : e.push(m), r++;
2164
+ }
2165
+ if (s.semi_major_axis === void 0) {
2166
+ const m = { instancePath: i, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "semi_major_axis" }, message: "must have required property 'semi_major_axis'" };
2167
+ e === null ? e = [m] : e.push(m), r++;
2168
+ }
2169
+ if (s.inverse_flattening === void 0) {
2170
+ const m = { instancePath: i, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "inverse_flattening" }, message: "must have required property 'inverse_flattening'" };
2171
+ e === null ? e = [m] : e.push(m), r++;
2172
+ }
2173
+ for (const m in s)
2174
+ if (!(m === "$schema" || m === "type" || m === "name" || m === "semi_major_axis" || m === "inverse_flattening" || m === "id" || m === "ids")) {
2175
+ const b = { instancePath: i, schemaPath: "#/oneOf/1/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: m }, message: "must NOT have additional properties" };
2176
+ e === null ? e = [b] : e.push(b), r++;
2177
+ }
2178
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
2179
+ const m = { instancePath: i + "/$schema", schemaPath: "#/oneOf/1/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2180
+ e === null ? e = [m] : e.push(m), r++;
2181
+ }
2182
+ if (s.type !== void 0) {
2183
+ let m = s.type;
2184
+ if (typeof m != "string") {
2185
+ const b = { instancePath: i + "/type", schemaPath: "#/oneOf/1/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2186
+ e === null ? e = [b] : e.push(b), r++;
2187
+ }
2188
+ if (m !== "Ellipsoid") {
2189
+ const b = { instancePath: i + "/type", schemaPath: "#/oneOf/1/properties/type/enum", keyword: "enum", params: { allowedValues: ke.oneOf[1].properties.type.enum }, message: "must be equal to one of the allowed values" };
2190
+ e === null ? e = [b] : e.push(b), r++;
2191
+ }
2192
+ }
2193
+ if (s.name !== void 0 && typeof s.name != "string") {
2194
+ const m = { instancePath: i + "/name", schemaPath: "#/oneOf/1/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2195
+ e === null ? e = [m] : e.push(m), r++;
2196
+ }
2197
+ if (s.semi_major_axis !== void 0 && (W(s.semi_major_axis, { instancePath: i + "/semi_major_axis", parentData: s, parentDataProperty: "semi_major_axis", rootData: _ }) || (e = e === null ? W.errors : e.concat(W.errors), r = e.length)), s.inverse_flattening !== void 0 && typeof s.inverse_flattening != "number") {
2198
+ const m = { instancePath: i + "/inverse_flattening", schemaPath: "#/oneOf/1/properties/inverse_flattening/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2199
+ e === null ? e = [m] : e.push(m), r++;
2200
+ }
2201
+ if (s.id !== void 0) {
2202
+ let m = s.id;
2203
+ if (m && typeof m == "object" && !Array.isArray(m)) {
2204
+ if (m.authority === void 0) {
2205
+ const b = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
2206
+ e === null ? e = [b] : e.push(b), r++;
2207
+ }
2208
+ if (m.code === void 0) {
2209
+ const b = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
2210
+ e === null ? e = [b] : e.push(b), r++;
2211
+ }
2212
+ for (const b in m)
2213
+ if (!(b === "authority" || b === "code" || b === "version" || b === "authority_citation" || b === "uri")) {
2214
+ const P = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: b }, message: "must NOT have additional properties" };
2215
+ e === null ? e = [P] : e.push(P), r++;
2216
+ }
2217
+ if (m.authority !== void 0 && typeof m.authority != "string") {
2218
+ const b = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2219
+ e === null ? e = [b] : e.push(b), r++;
2220
+ }
2221
+ if (m.code !== void 0) {
2222
+ let b = m.code;
2223
+ const P = r;
2224
+ let w = !1, $ = null;
2225
+ const N = r;
2226
+ if (typeof b != "string") {
2227
+ const A = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2228
+ e === null ? e = [A] : e.push(A), r++;
2229
+ }
2230
+ var y = N === r;
2231
+ y && (w = !0, $ = 0);
2232
+ const D = r;
2233
+ if (!(typeof b == "number" && !(b % 1) && !isNaN(b))) {
2234
+ const A = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
2235
+ e === null ? e = [A] : e.push(A), r++;
2236
+ }
2237
+ var y = D === r;
2238
+ if (y && w ? (w = !1, $ = [$, 1]) : y && (w = !0, $ = 1), w)
2239
+ r = P, e !== null && (P ? e.length = P : e = null);
2240
+ else {
2241
+ const A = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: $ }, message: "must match exactly one schema in oneOf" };
2242
+ e === null ? e = [A] : e.push(A), r++;
2243
+ }
2244
+ }
2245
+ if (m.version !== void 0) {
2246
+ let b = m.version;
2247
+ const P = r;
2248
+ let w = !1, $ = null;
2249
+ const N = r;
2250
+ if (typeof b != "string") {
2251
+ const A = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2252
+ e === null ? e = [A] : e.push(A), r++;
2253
+ }
2254
+ var u = N === r;
2255
+ u && (w = !0, $ = 0);
2256
+ const D = r;
2257
+ if (typeof b != "number") {
2258
+ const A = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2259
+ e === null ? e = [A] : e.push(A), r++;
2260
+ }
2261
+ var u = D === r;
2262
+ if (u && w ? (w = !1, $ = [$, 1]) : u && (w = !0, $ = 1), w)
2263
+ r = P, e !== null && (P ? e.length = P : e = null);
2264
+ else {
2265
+ const A = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: $ }, message: "must match exactly one schema in oneOf" };
2266
+ e === null ? e = [A] : e.push(A), r++;
2267
+ }
2268
+ }
2269
+ if (m.authority_citation !== void 0 && typeof m.authority_citation != "string") {
2270
+ const b = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2271
+ e === null ? e = [b] : e.push(b), r++;
2272
+ }
2273
+ if (m.uri !== void 0 && typeof m.uri != "string") {
2274
+ const b = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2275
+ e === null ? e = [b] : e.push(b), r++;
2276
+ }
2277
+ }
2278
+ else {
2279
+ const b = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2280
+ e === null ? e = [b] : e.push(b), r++;
2281
+ }
2282
+ }
2283
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
2284
+ } var l = o === r; if (l && a)
2285
+ a = !1, c = [c, 1];
2286
+ else {
2287
+ l && (a = !0, c = 1);
2288
+ const m = r;
2289
+ if (s && typeof s == "object" && !Array.isArray(s)) {
2290
+ if (s.name === void 0) {
2291
+ const P = { instancePath: i, schemaPath: "#/oneOf/2/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2292
+ e === null ? e = [P] : e.push(P), r++;
2293
+ }
2294
+ if (s.radius === void 0) {
2295
+ const P = { instancePath: i, schemaPath: "#/oneOf/2/required", keyword: "required", params: { missingProperty: "radius" }, message: "must have required property 'radius'" };
2296
+ e === null ? e = [P] : e.push(P), r++;
2297
+ }
2298
+ for (const P in s)
2299
+ if (!(P === "$schema" || P === "type" || P === "name" || P === "radius" || P === "id" || P === "ids")) {
2300
+ const w = { instancePath: i, schemaPath: "#/oneOf/2/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: P }, message: "must NOT have additional properties" };
2301
+ e === null ? e = [w] : e.push(w), r++;
2302
+ }
2303
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
2304
+ const P = { instancePath: i + "/$schema", schemaPath: "#/oneOf/2/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2305
+ e === null ? e = [P] : e.push(P), r++;
2306
+ }
2307
+ if (s.type !== void 0) {
2308
+ let P = s.type;
2309
+ if (typeof P != "string") {
2310
+ const w = { instancePath: i + "/type", schemaPath: "#/oneOf/2/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2311
+ e === null ? e = [w] : e.push(w), r++;
2312
+ }
2313
+ if (P !== "Ellipsoid") {
2314
+ const w = { instancePath: i + "/type", schemaPath: "#/oneOf/2/properties/type/enum", keyword: "enum", params: { allowedValues: ke.oneOf[2].properties.type.enum }, message: "must be equal to one of the allowed values" };
2315
+ e === null ? e = [w] : e.push(w), r++;
2316
+ }
2317
+ }
2318
+ if (s.name !== void 0 && typeof s.name != "string") {
2319
+ const P = { instancePath: i + "/name", schemaPath: "#/oneOf/2/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2320
+ e === null ? e = [P] : e.push(P), r++;
2321
+ }
2322
+ if (s.radius !== void 0 && (W(s.radius, { instancePath: i + "/radius", parentData: s, parentDataProperty: "radius", rootData: _ }) || (e = e === null ? W.errors : e.concat(W.errors), r = e.length)), s.id !== void 0) {
2323
+ let P = s.id;
2324
+ if (P && typeof P == "object" && !Array.isArray(P)) {
2325
+ if (P.authority === void 0) {
2326
+ const w = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
2327
+ e === null ? e = [w] : e.push(w), r++;
2328
+ }
2329
+ if (P.code === void 0) {
2330
+ const w = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
2331
+ e === null ? e = [w] : e.push(w), r++;
2332
+ }
2333
+ for (const w in P)
2334
+ if (!(w === "authority" || w === "code" || w === "version" || w === "authority_citation" || w === "uri")) {
2335
+ const $ = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: w }, message: "must NOT have additional properties" };
2336
+ e === null ? e = [$] : e.push($), r++;
2337
+ }
2338
+ if (P.authority !== void 0 && typeof P.authority != "string") {
2339
+ const w = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2340
+ e === null ? e = [w] : e.push(w), r++;
2341
+ }
2342
+ if (P.code !== void 0) {
2343
+ let w = P.code;
2344
+ const $ = r;
2345
+ let N = !1, D = null;
2346
+ const A = r;
2347
+ if (typeof w != "string") {
2348
+ const R = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2349
+ e === null ? e = [R] : e.push(R), r++;
2350
+ }
2351
+ var v = A === r;
2352
+ v && (N = !0, D = 0);
2353
+ const C = r;
2354
+ if (!(typeof w == "number" && !(w % 1) && !isNaN(w))) {
2355
+ const R = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
2356
+ e === null ? e = [R] : e.push(R), r++;
2357
+ }
2358
+ var v = C === r;
2359
+ if (v && N ? (N = !1, D = [D, 1]) : v && (N = !0, D = 1), N)
2360
+ r = $, e !== null && ($ ? e.length = $ : e = null);
2361
+ else {
2362
+ const R = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: D }, message: "must match exactly one schema in oneOf" };
2363
+ e === null ? e = [R] : e.push(R), r++;
2364
+ }
2365
+ }
2366
+ if (P.version !== void 0) {
2367
+ let w = P.version;
2368
+ const $ = r;
2369
+ let N = !1, D = null;
2370
+ const A = r;
2371
+ if (typeof w != "string") {
2372
+ const R = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2373
+ e === null ? e = [R] : e.push(R), r++;
2374
+ }
2375
+ var h = A === r;
2376
+ h && (N = !0, D = 0);
2377
+ const C = r;
2378
+ if (typeof w != "number") {
2379
+ const R = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2380
+ e === null ? e = [R] : e.push(R), r++;
2381
+ }
2382
+ var h = C === r;
2383
+ if (h && N ? (N = !1, D = [D, 1]) : h && (N = !0, D = 1), N)
2384
+ r = $, e !== null && ($ ? e.length = $ : e = null);
2385
+ else {
2386
+ const R = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: D }, message: "must match exactly one schema in oneOf" };
2387
+ e === null ? e = [R] : e.push(R), r++;
2388
+ }
2389
+ }
2390
+ if (P.authority_citation !== void 0 && typeof P.authority_citation != "string") {
2391
+ const w = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2392
+ e === null ? e = [w] : e.push(w), r++;
2393
+ }
2394
+ if (P.uri !== void 0 && typeof P.uri != "string") {
2395
+ const w = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2396
+ e === null ? e = [w] : e.push(w), r++;
2397
+ }
2398
+ }
2399
+ else {
2400
+ const w = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2401
+ e === null ? e = [w] : e.push(w), r++;
2402
+ }
2403
+ }
2404
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
2405
+ }
2406
+ var l = m === r;
2407
+ l && a ? (a = !1, c = [c, 2]) : l && (a = !0, c = 2);
2408
+ } if (a)
2409
+ r = n, e !== null && (n ? e.length = n : e = null);
2410
+ else {
2411
+ const m = { instancePath: i, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: c }, message: "must match exactly one schema in oneOf" };
2412
+ e === null ? e = [m] : e.push(m), r++;
2413
+ } const p = r, d = r; if (r === d)
2414
+ if (s && typeof s == "object" && !Array.isArray(s)) {
2415
+ let m;
2416
+ if (s.id === void 0 && (m = "id") || s.ids === void 0 && (m = "ids")) {
2417
+ const b = {};
2418
+ e === null ? e = [b] : e.push(b), r++;
2419
+ }
2420
+ }
2421
+ else {
2422
+ const m = {};
2423
+ e === null ? e = [m] : e.push(m), r++;
2424
+ } var k = d === r; if (k) {
2425
+ const m = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
2426
+ e === null ? e = [m] : e.push(m), r++;
2427
+ }
2428
+ else
2429
+ r = p, e !== null && (p ? e.length = p : e = null); return Z.errors = e, r === 0; }
2430
+ const rr = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["PrimeMeridian"] }, name: { type: "string" }, longitude: { $ref: "#/definitions/value_in_degree_or_value_and_unit" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 };
2431
+ function me(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
2432
+ if (s && typeof s == "object" && !Array.isArray(s)) {
2433
+ let t;
2434
+ if (s.id === void 0 && (t = "id") || s.ids === void 0 && (t = "ids")) {
2435
+ const o = {};
2436
+ e === null ? e = [o] : e.push(o), r++;
2437
+ }
2438
+ }
2439
+ else {
2440
+ const t = {};
2441
+ e === null ? e = [t] : e.push(t), r++;
2442
+ } var c = a === r; if (c) {
2443
+ const t = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
2444
+ e === null ? e = [t] : e.push(t), r++;
2445
+ }
2446
+ else
2447
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
2448
+ if (s.name === void 0) {
2449
+ const t = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2450
+ e === null ? e = [t] : e.push(t), r++;
2451
+ }
2452
+ for (const t in s)
2453
+ if (!(t === "$schema" || t === "type" || t === "name" || t === "longitude" || t === "id" || t === "ids")) {
2454
+ const o = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t }, message: "must NOT have additional properties" };
2455
+ e === null ? e = [o] : e.push(o), r++;
2456
+ }
2457
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
2458
+ const t = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2459
+ e === null ? e = [t] : e.push(t), r++;
2460
+ }
2461
+ if (s.type !== void 0) {
2462
+ let t = s.type;
2463
+ if (typeof t != "string") {
2464
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2465
+ e === null ? e = [o] : e.push(o), r++;
2466
+ }
2467
+ if (t !== "PrimeMeridian") {
2468
+ const o = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: rr.properties.type.enum }, message: "must be equal to one of the allowed values" };
2469
+ e === null ? e = [o] : e.push(o), r++;
2470
+ }
2471
+ }
2472
+ if (s.name !== void 0 && typeof s.name != "string") {
2473
+ const t = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2474
+ e === null ? e = [t] : e.push(t), r++;
2475
+ }
2476
+ if (s.longitude !== void 0 && (X(s.longitude, { instancePath: i + "/longitude", parentData: s, parentDataProperty: "longitude", rootData: _ }) || (e = e === null ? X.errors : e.concat(X.errors), r = e.length)), s.id !== void 0) {
2477
+ let t = s.id;
2478
+ if (t && typeof t == "object" && !Array.isArray(t)) {
2479
+ if (t.authority === void 0) {
2480
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
2481
+ e === null ? e = [o] : e.push(o), r++;
2482
+ }
2483
+ if (t.code === void 0) {
2484
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
2485
+ e === null ? e = [o] : e.push(o), r++;
2486
+ }
2487
+ for (const o in t)
2488
+ if (!(o === "authority" || o === "code" || o === "version" || o === "authority_citation" || o === "uri")) {
2489
+ const y = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o }, message: "must NOT have additional properties" };
2490
+ e === null ? e = [y] : e.push(y), r++;
2491
+ }
2492
+ if (t.authority !== void 0 && typeof t.authority != "string") {
2493
+ const o = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2494
+ e === null ? e = [o] : e.push(o), r++;
2495
+ }
2496
+ if (t.code !== void 0) {
2497
+ let o = t.code;
2498
+ const y = r;
2499
+ let u = !1, l = null;
2500
+ const v = r;
2501
+ if (typeof o != "string") {
2502
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2503
+ e === null ? e = [p] : e.push(p), r++;
2504
+ }
2505
+ var f = v === r;
2506
+ f && (u = !0, l = 0);
2507
+ const h = r;
2508
+ if (!(typeof o == "number" && !(o % 1) && !isNaN(o))) {
2509
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
2510
+ e === null ? e = [p] : e.push(p), r++;
2511
+ }
2512
+ var f = h === r;
2513
+ if (f && u ? (u = !1, l = [l, 1]) : f && (u = !0, l = 1), u)
2514
+ r = y, e !== null && (y ? e.length = y : e = null);
2515
+ else {
2516
+ const p = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
2517
+ e === null ? e = [p] : e.push(p), r++;
2518
+ }
2519
+ }
2520
+ if (t.version !== void 0) {
2521
+ let o = t.version;
2522
+ const y = r;
2523
+ let u = !1, l = null;
2524
+ const v = r;
2525
+ if (typeof o != "string") {
2526
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2527
+ e === null ? e = [p] : e.push(p), r++;
2528
+ }
2529
+ var g = v === r;
2530
+ g && (u = !0, l = 0);
2531
+ const h = r;
2532
+ if (typeof o != "number") {
2533
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2534
+ e === null ? e = [p] : e.push(p), r++;
2535
+ }
2536
+ var g = h === r;
2537
+ if (g && u ? (u = !1, l = [l, 1]) : g && (u = !0, l = 1), u)
2538
+ r = y, e !== null && (y ? e.length = y : e = null);
2539
+ else {
2540
+ const p = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: l }, message: "must match exactly one schema in oneOf" };
2541
+ e === null ? e = [p] : e.push(p), r++;
2542
+ }
2543
+ }
2544
+ if (t.authority_citation !== void 0 && typeof t.authority_citation != "string") {
2545
+ const o = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2546
+ e === null ? e = [o] : e.push(o), r++;
2547
+ }
2548
+ if (t.uri !== void 0 && typeof t.uri != "string") {
2549
+ const o = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2550
+ e === null ? e = [o] : e.push(o), r++;
2551
+ }
2552
+ }
2553
+ else {
2554
+ const o = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2555
+ e === null ? e = [o] : e.push(o), r++;
2556
+ }
2557
+ }
2558
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
2559
+ }
2560
+ else {
2561
+ const t = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2562
+ e === null ? e = [t] : e.push(t), r++;
2563
+ } return me.errors = e, r === 0; }
2564
+ function de(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
2565
+ if (s.name === void 0) {
2566
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2567
+ e === null ? e = [n] : e.push(n), r++;
2568
+ }
2569
+ if (s.ellipsoid === void 0) {
2570
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "ellipsoid" }, message: "must have required property 'ellipsoid'" };
2571
+ e === null ? e = [n] : e.push(n), r++;
2572
+ }
2573
+ for (const n in s)
2574
+ if (!T.call(Ee.properties, n)) {
2575
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
2576
+ e === null ? e = [a] : e.push(a), r++;
2577
+ }
2578
+ if (s.type !== void 0) {
2579
+ let n = s.type;
2580
+ if (typeof n != "string") {
2581
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2582
+ e === null ? e = [a] : e.push(a), r++;
2583
+ }
2584
+ if (n !== "GeodeticReferenceFrame") {
2585
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ee.properties.type.enum }, message: "must be equal to one of the allowed values" };
2586
+ e === null ? e = [a] : e.push(a), r++;
2587
+ }
2588
+ }
2589
+ if (s.name !== void 0 && typeof s.name != "string") {
2590
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2591
+ e === null ? e = [n] : e.push(n), r++;
2592
+ }
2593
+ if (s.anchor !== void 0 && typeof s.anchor != "string") {
2594
+ const n = { instancePath: i + "/anchor", schemaPath: "#/properties/anchor/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2595
+ e === null ? e = [n] : e.push(n), r++;
2596
+ }
2597
+ if (s.anchor_epoch !== void 0 && typeof s.anchor_epoch != "number") {
2598
+ const n = { instancePath: i + "/anchor_epoch", schemaPath: "#/properties/anchor_epoch/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2599
+ e === null ? e = [n] : e.push(n), r++;
2600
+ }
2601
+ s.ellipsoid !== void 0 && (Z(s.ellipsoid, { instancePath: i + "/ellipsoid", parentData: s, parentDataProperty: "ellipsoid", rootData: _ }) || (e = e === null ? Z.errors : e.concat(Z.errors), r = e.length)), s.prime_meridian !== void 0 && (me(s.prime_meridian, { instancePath: i + "/prime_meridian", parentData: s, parentDataProperty: "prime_meridian", rootData: _ }) || (e = e === null ? me.errors : e.concat(me.errors), r = e.length));
2602
+ }
2603
+ else {
2604
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2605
+ e === null ? e = [n] : e.push(n), r++;
2606
+ } return de.errors = e, r === 0; }
2607
+ const Ce = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DynamicGeodeticReferenceFrame"] }, name: {}, anchor: {}, anchor_epoch: {}, ellipsoid: {}, prime_meridian: {}, frame_reference_epoch: { type: "number" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "ellipsoid", "frame_reference_epoch"], additionalProperties: !1 };
2608
+ function fe(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
2609
+ if (s.name === void 0) {
2610
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2611
+ e === null ? e = [n] : e.push(n), r++;
2612
+ }
2613
+ if (s.ellipsoid === void 0) {
2614
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "ellipsoid" }, message: "must have required property 'ellipsoid'" };
2615
+ e === null ? e = [n] : e.push(n), r++;
2616
+ }
2617
+ if (s.frame_reference_epoch === void 0) {
2618
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "frame_reference_epoch" }, message: "must have required property 'frame_reference_epoch'" };
2619
+ e === null ? e = [n] : e.push(n), r++;
2620
+ }
2621
+ for (const n in s)
2622
+ if (!T.call(Ce.properties, n)) {
2623
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
2624
+ e === null ? e = [a] : e.push(a), r++;
2625
+ }
2626
+ if (s.type !== void 0) {
2627
+ let n = s.type;
2628
+ if (typeof n != "string") {
2629
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2630
+ e === null ? e = [a] : e.push(a), r++;
2631
+ }
2632
+ if (n !== "DynamicGeodeticReferenceFrame") {
2633
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ce.properties.type.enum }, message: "must be equal to one of the allowed values" };
2634
+ e === null ? e = [a] : e.push(a), r++;
2635
+ }
2636
+ }
2637
+ if (s.frame_reference_epoch !== void 0 && typeof s.frame_reference_epoch != "number") {
2638
+ const n = { instancePath: i + "/frame_reference_epoch", schemaPath: "#/properties/frame_reference_epoch/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2639
+ e === null ? e = [n] : e.push(n), r++;
2640
+ }
2641
+ }
2642
+ else {
2643
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2644
+ e === null ? e = [n] : e.push(n), r++;
2645
+ } return fe.errors = e, r === 0; }
2646
+ const sr = { type: "object", properties: { $schema: { type: "string" }, type: { type: "string", enum: ["DatumEnsemble"] }, name: { type: "string" }, members: { type: "array", items: { type: "object", properties: { name: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 } }, ellipsoid: { $ref: "#/definitions/ellipsoid" }, accuracy: { type: "string" }, id: { $ref: "#/definitions/id" }, ids: { $ref: "#/definitions/ids" } }, required: ["name", "members", "accuracy"], allOf: [{ $ref: "#/definitions/id_ids_mutually_exclusive" }], additionalProperties: !1 };
2647
+ function J(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r, a = r; if (r === a)
2648
+ if (s && typeof s == "object" && !Array.isArray(s)) {
2649
+ let u;
2650
+ if (s.id === void 0 && (u = "id") || s.ids === void 0 && (u = "ids")) {
2651
+ const l = {};
2652
+ e === null ? e = [l] : e.push(l), r++;
2653
+ }
2654
+ }
2655
+ else {
2656
+ const u = {};
2657
+ e === null ? e = [u] : e.push(u), r++;
2658
+ } var c = a === r; if (c) {
2659
+ const u = { instancePath: i, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
2660
+ e === null ? e = [u] : e.push(u), r++;
2661
+ }
2662
+ else
2663
+ r = n, e !== null && (n ? e.length = n : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
2664
+ if (s.name === void 0) {
2665
+ const u = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2666
+ e === null ? e = [u] : e.push(u), r++;
2667
+ }
2668
+ if (s.members === void 0) {
2669
+ const u = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "members" }, message: "must have required property 'members'" };
2670
+ e === null ? e = [u] : e.push(u), r++;
2671
+ }
2672
+ if (s.accuracy === void 0) {
2673
+ const u = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "accuracy" }, message: "must have required property 'accuracy'" };
2674
+ e === null ? e = [u] : e.push(u), r++;
2675
+ }
2676
+ for (const u in s)
2677
+ if (!(u === "$schema" || u === "type" || u === "name" || u === "members" || u === "ellipsoid" || u === "accuracy" || u === "id" || u === "ids")) {
2678
+ const l = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: u }, message: "must NOT have additional properties" };
2679
+ e === null ? e = [l] : e.push(l), r++;
2680
+ }
2681
+ if (s.$schema !== void 0 && typeof s.$schema != "string") {
2682
+ const u = { instancePath: i + "/$schema", schemaPath: "#/properties/%24schema/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2683
+ e === null ? e = [u] : e.push(u), r++;
2684
+ }
2685
+ if (s.type !== void 0) {
2686
+ let u = s.type;
2687
+ if (typeof u != "string") {
2688
+ const l = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2689
+ e === null ? e = [l] : e.push(l), r++;
2690
+ }
2691
+ if (u !== "DatumEnsemble") {
2692
+ const l = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: sr.properties.type.enum }, message: "must be equal to one of the allowed values" };
2693
+ e === null ? e = [l] : e.push(l), r++;
2694
+ }
2695
+ }
2696
+ if (s.name !== void 0 && typeof s.name != "string") {
2697
+ const u = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2698
+ e === null ? e = [u] : e.push(u), r++;
2699
+ }
2700
+ if (s.members !== void 0) {
2701
+ let u = s.members;
2702
+ if (Array.isArray(u)) {
2703
+ const l = u.length;
2704
+ for (let v = 0; v < l; v++) {
2705
+ let h = u[v];
2706
+ const p = r, d = r;
2707
+ if (r === d)
2708
+ if (h && typeof h == "object" && !Array.isArray(h)) {
2709
+ let k;
2710
+ if (h.id === void 0 && (k = "id") || h.ids === void 0 && (k = "ids")) {
2711
+ const m = {};
2712
+ e === null ? e = [m] : e.push(m), r++;
2713
+ }
2714
+ }
2715
+ else {
2716
+ const k = {};
2717
+ e === null ? e = [k] : e.push(k), r++;
2718
+ }
2719
+ var f = d === r;
2720
+ if (f) {
2721
+ const k = { instancePath: i + "/members/" + v, schemaPath: "#/definitions/id_ids_mutually_exclusive/not", keyword: "not", params: {}, message: "must NOT be valid" };
2722
+ e === null ? e = [k] : e.push(k), r++;
2723
+ }
2724
+ else
2725
+ r = p, e !== null && (p ? e.length = p : e = null);
2726
+ if (h && typeof h == "object" && !Array.isArray(h)) {
2727
+ if (h.name === void 0) {
2728
+ const k = { instancePath: i + "/members/" + v, schemaPath: "#/properties/members/items/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2729
+ e === null ? e = [k] : e.push(k), r++;
2730
+ }
2731
+ for (const k in h)
2732
+ if (!(k === "name" || k === "id" || k === "ids")) {
2733
+ const m = { instancePath: i + "/members/" + v, schemaPath: "#/properties/members/items/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: k }, message: "must NOT have additional properties" };
2734
+ e === null ? e = [m] : e.push(m), r++;
2735
+ }
2736
+ if (h.name !== void 0 && typeof h.name != "string") {
2737
+ const k = { instancePath: i + "/members/" + v + "/name", schemaPath: "#/properties/members/items/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2738
+ e === null ? e = [k] : e.push(k), r++;
2739
+ }
2740
+ if (h.id !== void 0) {
2741
+ let k = h.id;
2742
+ if (k && typeof k == "object" && !Array.isArray(k)) {
2743
+ if (k.authority === void 0) {
2744
+ const m = { instancePath: i + "/members/" + v + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
2745
+ e === null ? e = [m] : e.push(m), r++;
2746
+ }
2747
+ if (k.code === void 0) {
2748
+ const m = { instancePath: i + "/members/" + v + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
2749
+ e === null ? e = [m] : e.push(m), r++;
2750
+ }
2751
+ for (const m in k)
2752
+ if (!(m === "authority" || m === "code" || m === "version" || m === "authority_citation" || m === "uri")) {
2753
+ const b = { instancePath: i + "/members/" + v + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: m }, message: "must NOT have additional properties" };
2754
+ e === null ? e = [b] : e.push(b), r++;
2755
+ }
2756
+ if (k.authority !== void 0 && typeof k.authority != "string") {
2757
+ const m = { instancePath: i + "/members/" + v + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2758
+ e === null ? e = [m] : e.push(m), r++;
2759
+ }
2760
+ if (k.code !== void 0) {
2761
+ let m = k.code;
2762
+ const b = r;
2763
+ let P = !1, w = null;
2764
+ const $ = r;
2765
+ if (typeof m != "string") {
2766
+ const D = { instancePath: i + "/members/" + v + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2767
+ e === null ? e = [D] : e.push(D), r++;
2768
+ }
2769
+ var g = $ === r;
2770
+ g && (P = !0, w = 0);
2771
+ const N = r;
2772
+ if (!(typeof m == "number" && !(m % 1) && !isNaN(m))) {
2773
+ const D = { instancePath: i + "/members/" + v + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
2774
+ e === null ? e = [D] : e.push(D), r++;
2775
+ }
2776
+ var g = N === r;
2777
+ if (g && P ? (P = !1, w = [w, 1]) : g && (P = !0, w = 1), P)
2778
+ r = b, e !== null && (b ? e.length = b : e = null);
2779
+ else {
2780
+ const D = { instancePath: i + "/members/" + v + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: w }, message: "must match exactly one schema in oneOf" };
2781
+ e === null ? e = [D] : e.push(D), r++;
2782
+ }
2783
+ }
2784
+ if (k.version !== void 0) {
2785
+ let m = k.version;
2786
+ const b = r;
2787
+ let P = !1, w = null;
2788
+ const $ = r;
2789
+ if (typeof m != "string") {
2790
+ const D = { instancePath: i + "/members/" + v + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2791
+ e === null ? e = [D] : e.push(D), r++;
2792
+ }
2793
+ var t = $ === r;
2794
+ t && (P = !0, w = 0);
2795
+ const N = r;
2796
+ if (typeof m != "number") {
2797
+ const D = { instancePath: i + "/members/" + v + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2798
+ e === null ? e = [D] : e.push(D), r++;
2799
+ }
2800
+ var t = N === r;
2801
+ if (t && P ? (P = !1, w = [w, 1]) : t && (P = !0, w = 1), P)
2802
+ r = b, e !== null && (b ? e.length = b : e = null);
2803
+ else {
2804
+ const D = { instancePath: i + "/members/" + v + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: w }, message: "must match exactly one schema in oneOf" };
2805
+ e === null ? e = [D] : e.push(D), r++;
2806
+ }
2807
+ }
2808
+ if (k.authority_citation !== void 0 && typeof k.authority_citation != "string") {
2809
+ const m = { instancePath: i + "/members/" + v + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2810
+ e === null ? e = [m] : e.push(m), r++;
2811
+ }
2812
+ if (k.uri !== void 0 && typeof k.uri != "string") {
2813
+ const m = { instancePath: i + "/members/" + v + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2814
+ e === null ? e = [m] : e.push(m), r++;
2815
+ }
2816
+ }
2817
+ else {
2818
+ const m = { instancePath: i + "/members/" + v + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2819
+ e === null ? e = [m] : e.push(m), r++;
2820
+ }
2821
+ }
2822
+ h.ids !== void 0 && (j(h.ids, { instancePath: i + "/members/" + v + "/ids", parentData: h, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
2823
+ }
2824
+ else {
2825
+ const k = { instancePath: i + "/members/" + v, schemaPath: "#/properties/members/items/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2826
+ e === null ? e = [k] : e.push(k), r++;
2827
+ }
2828
+ }
2829
+ }
2830
+ else {
2831
+ const l = { instancePath: i + "/members", schemaPath: "#/properties/members/type", keyword: "type", params: { type: "array" }, message: "must be array" };
2832
+ e === null ? e = [l] : e.push(l), r++;
2833
+ }
2834
+ }
2835
+ if (s.ellipsoid !== void 0 && (Z(s.ellipsoid, { instancePath: i + "/ellipsoid", parentData: s, parentDataProperty: "ellipsoid", rootData: _ }) || (e = e === null ? Z.errors : e.concat(Z.errors), r = e.length)), s.accuracy !== void 0 && typeof s.accuracy != "string") {
2836
+ const u = { instancePath: i + "/accuracy", schemaPath: "#/properties/accuracy/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2837
+ e === null ? e = [u] : e.push(u), r++;
2838
+ }
2839
+ if (s.id !== void 0) {
2840
+ let u = s.id;
2841
+ if (u && typeof u == "object" && !Array.isArray(u)) {
2842
+ if (u.authority === void 0) {
2843
+ const l = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
2844
+ e === null ? e = [l] : e.push(l), r++;
2845
+ }
2846
+ if (u.code === void 0) {
2847
+ const l = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
2848
+ e === null ? e = [l] : e.push(l), r++;
2849
+ }
2850
+ for (const l in u)
2851
+ if (!(l === "authority" || l === "code" || l === "version" || l === "authority_citation" || l === "uri")) {
2852
+ const v = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: l }, message: "must NOT have additional properties" };
2853
+ e === null ? e = [v] : e.push(v), r++;
2854
+ }
2855
+ if (u.authority !== void 0 && typeof u.authority != "string") {
2856
+ const l = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2857
+ e === null ? e = [l] : e.push(l), r++;
2858
+ }
2859
+ if (u.code !== void 0) {
2860
+ let l = u.code;
2861
+ const v = r;
2862
+ let h = !1, p = null;
2863
+ const d = r;
2864
+ if (typeof l != "string") {
2865
+ const m = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2866
+ e === null ? e = [m] : e.push(m), r++;
2867
+ }
2868
+ var o = d === r;
2869
+ o && (h = !0, p = 0);
2870
+ const k = r;
2871
+ if (!(typeof l == "number" && !(l % 1) && !isNaN(l))) {
2872
+ const m = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
2873
+ e === null ? e = [m] : e.push(m), r++;
2874
+ }
2875
+ var o = k === r;
2876
+ if (o && h ? (h = !1, p = [p, 1]) : o && (h = !0, p = 1), h)
2877
+ r = v, e !== null && (v ? e.length = v : e = null);
2878
+ else {
2879
+ const m = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: p }, message: "must match exactly one schema in oneOf" };
2880
+ e === null ? e = [m] : e.push(m), r++;
2881
+ }
2882
+ }
2883
+ if (u.version !== void 0) {
2884
+ let l = u.version;
2885
+ const v = r;
2886
+ let h = !1, p = null;
2887
+ const d = r;
2888
+ if (typeof l != "string") {
2889
+ const m = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2890
+ e === null ? e = [m] : e.push(m), r++;
2891
+ }
2892
+ var y = d === r;
2893
+ y && (h = !0, p = 0);
2894
+ const k = r;
2895
+ if (typeof l != "number") {
2896
+ const m = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2897
+ e === null ? e = [m] : e.push(m), r++;
2898
+ }
2899
+ var y = k === r;
2900
+ if (y && h ? (h = !1, p = [p, 1]) : y && (h = !0, p = 1), h)
2901
+ r = v, e !== null && (v ? e.length = v : e = null);
2902
+ else {
2903
+ const m = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: p }, message: "must match exactly one schema in oneOf" };
2904
+ e === null ? e = [m] : e.push(m), r++;
2905
+ }
2906
+ }
2907
+ if (u.authority_citation !== void 0 && typeof u.authority_citation != "string") {
2908
+ const l = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2909
+ e === null ? e = [l] : e.push(l), r++;
2910
+ }
2911
+ if (u.uri !== void 0 && typeof u.uri != "string") {
2912
+ const l = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2913
+ e === null ? e = [l] : e.push(l), r++;
2914
+ }
2915
+ }
2916
+ else {
2917
+ const l = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2918
+ e === null ? e = [l] : e.push(l), r++;
2919
+ }
2920
+ }
2921
+ s.ids !== void 0 && (j(s.ids, { instancePath: i + "/ids", parentData: s, parentDataProperty: "ids", rootData: _ }) || (e = e === null ? j.errors : e.concat(j.errors), r = e.length));
2922
+ }
2923
+ else {
2924
+ const u = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
2925
+ e === null ? e = [u] : e.push(u), r++;
2926
+ } return J.errors = e, r === 0; }
2927
+ const br = { description: "Association to a PointMotionOperation", type: "object", properties: { name: { type: "string" }, id: { $ref: "#/definitions/id" } }, required: ["name"], additionalProperties: !1 };
2928
+ function K(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (s && typeof s == "object" && !Array.isArray(s)) {
2929
+ if (s.name === void 0) {
2930
+ const c = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
2931
+ e === null ? e = [c] : e.push(c), r++;
2932
+ }
2933
+ for (const c in s)
2934
+ if (!(c === "name" || c === "id")) {
2935
+ const f = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: c }, message: "must NOT have additional properties" };
2936
+ e === null ? e = [f] : e.push(f), r++;
2937
+ }
2938
+ if (s.name !== void 0 && typeof s.name != "string") {
2939
+ const c = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2940
+ e === null ? e = [c] : e.push(c), r++;
2941
+ }
2942
+ if (s.id !== void 0) {
2943
+ let c = s.id;
2944
+ if (c && typeof c == "object" && !Array.isArray(c)) {
2945
+ if (c.authority === void 0) {
2946
+ const f = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
2947
+ e === null ? e = [f] : e.push(f), r++;
2948
+ }
2949
+ if (c.code === void 0) {
2950
+ const f = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
2951
+ e === null ? e = [f] : e.push(f), r++;
2952
+ }
2953
+ for (const f in c)
2954
+ if (!(f === "authority" || f === "code" || f === "version" || f === "authority_citation" || f === "uri")) {
2955
+ const g = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: f }, message: "must NOT have additional properties" };
2956
+ e === null ? e = [g] : e.push(g), r++;
2957
+ }
2958
+ if (c.authority !== void 0 && typeof c.authority != "string") {
2959
+ const f = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2960
+ e === null ? e = [f] : e.push(f), r++;
2961
+ }
2962
+ if (c.code !== void 0) {
2963
+ let f = c.code;
2964
+ const g = r;
2965
+ let t = !1, o = null;
2966
+ const y = r;
2967
+ if (typeof f != "string") {
2968
+ const l = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2969
+ e === null ? e = [l] : e.push(l), r++;
2970
+ }
2971
+ var n = y === r;
2972
+ n && (t = !0, o = 0);
2973
+ const u = r;
2974
+ if (!(typeof f == "number" && !(f % 1) && !isNaN(f))) {
2975
+ const l = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
2976
+ e === null ? e = [l] : e.push(l), r++;
2977
+ }
2978
+ var n = u === r;
2979
+ if (n && t ? (t = !1, o = [o, 1]) : n && (t = !0, o = 1), t)
2980
+ r = g, e !== null && (g ? e.length = g : e = null);
2981
+ else {
2982
+ const l = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: o }, message: "must match exactly one schema in oneOf" };
2983
+ e === null ? e = [l] : e.push(l), r++;
2984
+ }
2985
+ }
2986
+ if (c.version !== void 0) {
2987
+ let f = c.version;
2988
+ const g = r;
2989
+ let t = !1, o = null;
2990
+ const y = r;
2991
+ if (typeof f != "string") {
2992
+ const l = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
2993
+ e === null ? e = [l] : e.push(l), r++;
2994
+ }
2995
+ var a = y === r;
2996
+ a && (t = !0, o = 0);
2997
+ const u = r;
2998
+ if (typeof f != "number") {
2999
+ const l = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
3000
+ e === null ? e = [l] : e.push(l), r++;
3001
+ }
3002
+ var a = u === r;
3003
+ if (a && t ? (t = !1, o = [o, 1]) : a && (t = !0, o = 1), t)
3004
+ r = g, e !== null && (g ? e.length = g : e = null);
3005
+ else {
3006
+ const l = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: o }, message: "must match exactly one schema in oneOf" };
3007
+ e === null ? e = [l] : e.push(l), r++;
3008
+ }
3009
+ }
3010
+ if (c.authority_citation !== void 0 && typeof c.authority_citation != "string") {
3011
+ const f = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3012
+ e === null ? e = [f] : e.push(f), r++;
3013
+ }
3014
+ if (c.uri !== void 0 && typeof c.uri != "string") {
3015
+ const f = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3016
+ e === null ? e = [f] : e.push(f), r++;
3017
+ }
3018
+ }
3019
+ else {
3020
+ const f = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3021
+ e === null ? e = [f] : e.push(f), r++;
3022
+ }
3023
+ }
3024
+ }
3025
+ else {
3026
+ const c = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3027
+ e === null ? e = [c] : e.push(c), r++;
3028
+ } return K.errors = e, r === 0; }
3029
+ function G(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length); const n = r, a = r; if (r === a)
3030
+ if (s && typeof s == "object" && !Array.isArray(s)) {
3031
+ let v;
3032
+ if (s.datum === void 0 && (v = "datum") || s.datum_ensemble === void 0 && (v = "datum_ensemble")) {
3033
+ const h = {};
3034
+ e === null ? e = [h] : e.push(h), r++;
3035
+ }
3036
+ }
3037
+ else {
3038
+ const v = {};
3039
+ e === null ? e = [v] : e.push(v), r++;
3040
+ } var c = a === r; if (c) {
3041
+ const v = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/0/not", keyword: "not", params: {}, message: "must NOT be valid" };
3042
+ e === null ? e = [v] : e.push(v), r++;
3043
+ }
3044
+ else
3045
+ r = n, e !== null && (n ? e.length = n : e = null); const f = r; let g = !1, t = null; const o = r; if (s && typeof s == "object" && !Array.isArray(s)) {
3046
+ if (s.datum === void 0) {
3047
+ const v = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/0/required", keyword: "required", params: { missingProperty: "datum" }, message: "must have required property 'datum'" };
3048
+ e === null ? e = [v] : e.push(v), r++;
3049
+ }
3050
+ }
3051
+ else {
3052
+ const v = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3053
+ e === null ? e = [v] : e.push(v), r++;
3054
+ } var u = o === r; u && (g = !0, t = 0); const y = r; if (s && typeof s == "object" && !Array.isArray(s)) {
3055
+ if (s.datum_ensemble === void 0) {
3056
+ const v = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/1/required", keyword: "required", params: { missingProperty: "datum_ensemble" }, message: "must have required property 'datum_ensemble'" };
3057
+ e === null ? e = [v] : e.push(v), r++;
3058
+ }
3059
+ }
3060
+ else {
3061
+ const v = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3062
+ e === null ? e = [v] : e.push(v), r++;
3063
+ } var u = y === r; if (u && g ? (g = !1, t = [t, 1]) : u && (g = !0, t = 1), g)
3064
+ r = f, e !== null && (f ? e.length = f : e = null);
3065
+ else {
3066
+ const v = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf", keyword: "oneOf", params: { passingSchemas: t }, message: "must match exactly one schema in oneOf" };
3067
+ e === null ? e = [v] : e.push(v), r++;
3068
+ } if (s && typeof s == "object" && !Array.isArray(s)) {
3069
+ if (s.name === void 0) {
3070
+ const v = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3071
+ e === null ? e = [v] : e.push(v), r++;
3072
+ }
3073
+ for (const v in s)
3074
+ if (!T.call(Te.properties, v)) {
3075
+ const h = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: v }, message: "must NOT have additional properties" };
3076
+ e === null ? e = [h] : e.push(h), r++;
3077
+ }
3078
+ if (s.type !== void 0) {
3079
+ let v = s.type;
3080
+ if (typeof v != "string") {
3081
+ const h = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3082
+ e === null ? e = [h] : e.push(h), r++;
3083
+ }
3084
+ if (!(v === "GeodeticCRS" || v === "GeographicCRS")) {
3085
+ const h = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Te.properties.type.enum }, message: "must be equal to one of the allowed values" };
3086
+ e === null ? e = [h] : e.push(h), r++;
3087
+ }
3088
+ }
3089
+ if (s.name !== void 0 && typeof s.name != "string") {
3090
+ const v = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3091
+ e === null ? e = [v] : e.push(v), r++;
3092
+ }
3093
+ if (s.datum !== void 0) {
3094
+ let v = s.datum;
3095
+ const h = r;
3096
+ let p = !1, d = null;
3097
+ const k = r;
3098
+ de(v, { instancePath: i + "/datum", parentData: s, parentDataProperty: "datum", rootData: _ }) || (e = e === null ? de.errors : e.concat(de.errors), r = e.length);
3099
+ var l = k === r;
3100
+ l && (p = !0, d = 0);
3101
+ const m = r;
3102
+ fe(v, { instancePath: i + "/datum", parentData: s, parentDataProperty: "datum", rootData: _ }) || (e = e === null ? fe.errors : e.concat(fe.errors), r = e.length);
3103
+ var l = m === r;
3104
+ if (l && p ? (p = !1, d = [d, 1]) : l && (p = !0, d = 1), p)
3105
+ r = h, e !== null && (h ? e.length = h : e = null);
3106
+ else {
3107
+ const b = { instancePath: i + "/datum", schemaPath: "#/properties/datum/oneOf", keyword: "oneOf", params: { passingSchemas: d }, message: "must match exactly one schema in oneOf" };
3108
+ e === null ? e = [b] : e.push(b), r++;
3109
+ }
3110
+ }
3111
+ if (s.datum_ensemble !== void 0 && (J(s.datum_ensemble, { instancePath: i + "/datum_ensemble", parentData: s, parentDataProperty: "datum_ensemble", rootData: _ }) || (e = e === null ? J.errors : e.concat(J.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length)), s.deformation_models !== void 0) {
3112
+ let v = s.deformation_models;
3113
+ if (Array.isArray(v)) {
3114
+ const h = v.length;
3115
+ for (let p = 0; p < h; p++)
3116
+ K(v[p], { instancePath: i + "/deformation_models/" + p, parentData: v, parentDataProperty: p, rootData: _ }) || (e = e === null ? K.errors : e.concat(K.errors), r = e.length);
3117
+ }
3118
+ else {
3119
+ const h = { instancePath: i + "/deformation_models", schemaPath: "#/properties/deformation_models/type", keyword: "type", params: { type: "array" }, message: "must be array" };
3120
+ e === null ? e = [h] : e.push(h), r++;
3121
+ }
3122
+ }
3123
+ }
3124
+ else {
3125
+ const v = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3126
+ e === null ? e = [v] : e.push(v), r++;
3127
+ } return G.errors = e, r === 0; }
3128
+ function ye(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3129
+ if (s.name === void 0) {
3130
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3131
+ e === null ? e = [n] : e.push(n), r++;
3132
+ }
3133
+ if (s.base_crs === void 0) {
3134
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "base_crs" }, message: "must have required property 'base_crs'" };
3135
+ e === null ? e = [n] : e.push(n), r++;
3136
+ }
3137
+ if (s.conversion === void 0) {
3138
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "conversion" }, message: "must have required property 'conversion'" };
3139
+ e === null ? e = [n] : e.push(n), r++;
3140
+ }
3141
+ if (s.coordinate_system === void 0) {
3142
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "coordinate_system" }, message: "must have required property 'coordinate_system'" };
3143
+ e === null ? e = [n] : e.push(n), r++;
3144
+ }
3145
+ for (const n in s)
3146
+ if (!T.call(Se.properties, n)) {
3147
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3148
+ e === null ? e = [a] : e.push(a), r++;
3149
+ }
3150
+ if (s.type !== void 0) {
3151
+ let n = s.type;
3152
+ if (typeof n != "string") {
3153
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3154
+ e === null ? e = [a] : e.push(a), r++;
3155
+ }
3156
+ if (!(n === "DerivedGeodeticCRS" || n === "DerivedGeographicCRS")) {
3157
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Se.properties.type.enum }, message: "must be equal to one of the allowed values" };
3158
+ e === null ? e = [a] : e.push(a), r++;
3159
+ }
3160
+ }
3161
+ if (s.name !== void 0 && typeof s.name != "string") {
3162
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3163
+ e === null ? e = [n] : e.push(n), r++;
3164
+ }
3165
+ s.base_crs !== void 0 && (G(s.base_crs, { instancePath: i + "/base_crs", parentData: s, parentDataProperty: "base_crs", rootData: _ }) || (e = e === null ? G.errors : e.concat(G.errors), r = e.length)), s.conversion !== void 0 && (E(s.conversion, { instancePath: i + "/conversion", parentData: s, parentDataProperty: "conversion", rootData: _ }) || (e = e === null ? E.errors : e.concat(E.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3166
+ }
3167
+ else {
3168
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3169
+ e === null ? e = [n] : e.push(n), r++;
3170
+ } return ye.errors = e, r === 0; }
3171
+ const Re = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedParametricCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/parametric_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, Ve = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["ParametricCRS"] }, name: { type: "string" }, datum: { $ref: "#/definitions/parametric_datum" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "datum"], additionalProperties: !1 }, Ue = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["ParametricDatum"] }, name: { type: "string" }, anchor: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], additionalProperties: !1 };
3172
+ function ce(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3173
+ if (s.name === void 0) {
3174
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3175
+ e === null ? e = [n] : e.push(n), r++;
3176
+ }
3177
+ for (const n in s)
3178
+ if (!T.call(Ue.properties, n)) {
3179
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3180
+ e === null ? e = [a] : e.push(a), r++;
3181
+ }
3182
+ if (s.type !== void 0) {
3183
+ let n = s.type;
3184
+ if (typeof n != "string") {
3185
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3186
+ e === null ? e = [a] : e.push(a), r++;
3187
+ }
3188
+ if (n !== "ParametricDatum") {
3189
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ue.properties.type.enum }, message: "must be equal to one of the allowed values" };
3190
+ e === null ? e = [a] : e.push(a), r++;
3191
+ }
3192
+ }
3193
+ if (s.name !== void 0 && typeof s.name != "string") {
3194
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3195
+ e === null ? e = [n] : e.push(n), r++;
3196
+ }
3197
+ if (s.anchor !== void 0 && typeof s.anchor != "string") {
3198
+ const n = { instancePath: i + "/anchor", schemaPath: "#/properties/anchor/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3199
+ e === null ? e = [n] : e.push(n), r++;
3200
+ }
3201
+ }
3202
+ else {
3203
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3204
+ e === null ? e = [n] : e.push(n), r++;
3205
+ } return ce.errors = e, r === 0; }
3206
+ function z(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3207
+ if (s.name === void 0) {
3208
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3209
+ e === null ? e = [n] : e.push(n), r++;
3210
+ }
3211
+ if (s.datum === void 0) {
3212
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "datum" }, message: "must have required property 'datum'" };
3213
+ e === null ? e = [n] : e.push(n), r++;
3214
+ }
3215
+ for (const n in s)
3216
+ if (!T.call(Ve.properties, n)) {
3217
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3218
+ e === null ? e = [a] : e.push(a), r++;
3219
+ }
3220
+ if (s.type !== void 0) {
3221
+ let n = s.type;
3222
+ if (typeof n != "string") {
3223
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3224
+ e === null ? e = [a] : e.push(a), r++;
3225
+ }
3226
+ if (n !== "ParametricCRS") {
3227
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ve.properties.type.enum }, message: "must be equal to one of the allowed values" };
3228
+ e === null ? e = [a] : e.push(a), r++;
3229
+ }
3230
+ }
3231
+ if (s.name !== void 0 && typeof s.name != "string") {
3232
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3233
+ e === null ? e = [n] : e.push(n), r++;
3234
+ }
3235
+ s.datum !== void 0 && (ce(s.datum, { instancePath: i + "/datum", parentData: s, parentDataProperty: "datum", rootData: _ }) || (e = e === null ? ce.errors : e.concat(ce.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3236
+ }
3237
+ else {
3238
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3239
+ e === null ? e = [n] : e.push(n), r++;
3240
+ } return z.errors = e, r === 0; }
3241
+ function he(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3242
+ if (s.name === void 0) {
3243
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3244
+ e === null ? e = [n] : e.push(n), r++;
3245
+ }
3246
+ if (s.base_crs === void 0) {
3247
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "base_crs" }, message: "must have required property 'base_crs'" };
3248
+ e === null ? e = [n] : e.push(n), r++;
3249
+ }
3250
+ if (s.conversion === void 0) {
3251
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "conversion" }, message: "must have required property 'conversion'" };
3252
+ e === null ? e = [n] : e.push(n), r++;
3253
+ }
3254
+ if (s.coordinate_system === void 0) {
3255
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "coordinate_system" }, message: "must have required property 'coordinate_system'" };
3256
+ e === null ? e = [n] : e.push(n), r++;
3257
+ }
3258
+ for (const n in s)
3259
+ if (!T.call(Re.properties, n)) {
3260
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3261
+ e === null ? e = [a] : e.push(a), r++;
3262
+ }
3263
+ if (s.type !== void 0) {
3264
+ let n = s.type;
3265
+ if (typeof n != "string") {
3266
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3267
+ e === null ? e = [a] : e.push(a), r++;
3268
+ }
3269
+ if (n !== "DerivedParametricCRS") {
3270
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Re.properties.type.enum }, message: "must be equal to one of the allowed values" };
3271
+ e === null ? e = [a] : e.push(a), r++;
3272
+ }
3273
+ }
3274
+ if (s.name !== void 0 && typeof s.name != "string") {
3275
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3276
+ e === null ? e = [n] : e.push(n), r++;
3277
+ }
3278
+ s.base_crs !== void 0 && (z(s.base_crs, { instancePath: i + "/base_crs", parentData: s, parentDataProperty: "base_crs", rootData: _ }) || (e = e === null ? z.errors : e.concat(z.errors), r = e.length)), s.conversion !== void 0 && (E(s.conversion, { instancePath: i + "/conversion", parentData: s, parentDataProperty: "conversion", rootData: _ }) || (e = e === null ? E.errors : e.concat(E.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3279
+ }
3280
+ else {
3281
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3282
+ e === null ? e = [n] : e.push(n), r++;
3283
+ } return he.errors = e, r === 0; }
3284
+ const We = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedProjectedCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/projected_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, Ge = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["ProjectedCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/geodetic_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 };
3285
+ function H(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3286
+ if (s.name === void 0) {
3287
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3288
+ e === null ? e = [n] : e.push(n), r++;
3289
+ }
3290
+ if (s.base_crs === void 0) {
3291
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "base_crs" }, message: "must have required property 'base_crs'" };
3292
+ e === null ? e = [n] : e.push(n), r++;
3293
+ }
3294
+ if (s.conversion === void 0) {
3295
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "conversion" }, message: "must have required property 'conversion'" };
3296
+ e === null ? e = [n] : e.push(n), r++;
3297
+ }
3298
+ if (s.coordinate_system === void 0) {
3299
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "coordinate_system" }, message: "must have required property 'coordinate_system'" };
3300
+ e === null ? e = [n] : e.push(n), r++;
3301
+ }
3302
+ for (const n in s)
3303
+ if (!T.call(Ge.properties, n)) {
3304
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3305
+ e === null ? e = [a] : e.push(a), r++;
3306
+ }
3307
+ if (s.type !== void 0) {
3308
+ let n = s.type;
3309
+ if (typeof n != "string") {
3310
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3311
+ e === null ? e = [a] : e.push(a), r++;
3312
+ }
3313
+ if (n !== "ProjectedCRS") {
3314
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ge.properties.type.enum }, message: "must be equal to one of the allowed values" };
3315
+ e === null ? e = [a] : e.push(a), r++;
3316
+ }
3317
+ }
3318
+ if (s.name !== void 0 && typeof s.name != "string") {
3319
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3320
+ e === null ? e = [n] : e.push(n), r++;
3321
+ }
3322
+ s.base_crs !== void 0 && (G(s.base_crs, { instancePath: i + "/base_crs", parentData: s, parentDataProperty: "base_crs", rootData: _ }) || (e = e === null ? G.errors : e.concat(G.errors), r = e.length)), s.conversion !== void 0 && (E(s.conversion, { instancePath: i + "/conversion", parentData: s, parentDataProperty: "conversion", rootData: _ }) || (e = e === null ? E.errors : e.concat(E.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3323
+ }
3324
+ else {
3325
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3326
+ e === null ? e = [n] : e.push(n), r++;
3327
+ } return H.errors = e, r === 0; }
3328
+ function ge(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3329
+ if (s.name === void 0) {
3330
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3331
+ e === null ? e = [n] : e.push(n), r++;
3332
+ }
3333
+ if (s.base_crs === void 0) {
3334
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "base_crs" }, message: "must have required property 'base_crs'" };
3335
+ e === null ? e = [n] : e.push(n), r++;
3336
+ }
3337
+ if (s.conversion === void 0) {
3338
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "conversion" }, message: "must have required property 'conversion'" };
3339
+ e === null ? e = [n] : e.push(n), r++;
3340
+ }
3341
+ if (s.coordinate_system === void 0) {
3342
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "coordinate_system" }, message: "must have required property 'coordinate_system'" };
3343
+ e === null ? e = [n] : e.push(n), r++;
3344
+ }
3345
+ for (const n in s)
3346
+ if (!T.call(We.properties, n)) {
3347
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3348
+ e === null ? e = [a] : e.push(a), r++;
3349
+ }
3350
+ if (s.type !== void 0) {
3351
+ let n = s.type;
3352
+ if (typeof n != "string") {
3353
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3354
+ e === null ? e = [a] : e.push(a), r++;
3355
+ }
3356
+ if (n !== "DerivedProjectedCRS") {
3357
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: We.properties.type.enum }, message: "must be equal to one of the allowed values" };
3358
+ e === null ? e = [a] : e.push(a), r++;
3359
+ }
3360
+ }
3361
+ if (s.name !== void 0 && typeof s.name != "string") {
3362
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3363
+ e === null ? e = [n] : e.push(n), r++;
3364
+ }
3365
+ s.base_crs !== void 0 && (H(s.base_crs, { instancePath: i + "/base_crs", parentData: s, parentDataProperty: "base_crs", rootData: _ }) || (e = e === null ? H.errors : e.concat(H.errors), r = e.length)), s.conversion !== void 0 && (E(s.conversion, { instancePath: i + "/conversion", parentData: s, parentDataProperty: "conversion", rootData: _ }) || (e = e === null ? E.errors : e.concat(E.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3366
+ }
3367
+ else {
3368
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3369
+ e === null ? e = [n] : e.push(n), r++;
3370
+ } return ge.errors = e, r === 0; }
3371
+ const Me = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedTemporalCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/temporal_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, Fe = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["TemporalCRS"] }, name: { type: "string" }, datum: { $ref: "#/definitions/temporal_datum" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "datum"], additionalProperties: !1 }, Le = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["TemporalDatum"] }, name: { type: "string" }, calendar: { type: "string" }, time_origin: { type: "string" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "calendar"], additionalProperties: !1 };
3372
+ function _e(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3373
+ if (s.name === void 0) {
3374
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3375
+ e === null ? e = [n] : e.push(n), r++;
3376
+ }
3377
+ if (s.calendar === void 0) {
3378
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "calendar" }, message: "must have required property 'calendar'" };
3379
+ e === null ? e = [n] : e.push(n), r++;
3380
+ }
3381
+ for (const n in s)
3382
+ if (!T.call(Le.properties, n)) {
3383
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3384
+ e === null ? e = [a] : e.push(a), r++;
3385
+ }
3386
+ if (s.type !== void 0) {
3387
+ let n = s.type;
3388
+ if (typeof n != "string") {
3389
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3390
+ e === null ? e = [a] : e.push(a), r++;
3391
+ }
3392
+ if (n !== "TemporalDatum") {
3393
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Le.properties.type.enum }, message: "must be equal to one of the allowed values" };
3394
+ e === null ? e = [a] : e.push(a), r++;
3395
+ }
3396
+ }
3397
+ if (s.name !== void 0 && typeof s.name != "string") {
3398
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3399
+ e === null ? e = [n] : e.push(n), r++;
3400
+ }
3401
+ if (s.calendar !== void 0 && typeof s.calendar != "string") {
3402
+ const n = { instancePath: i + "/calendar", schemaPath: "#/properties/calendar/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3403
+ e === null ? e = [n] : e.push(n), r++;
3404
+ }
3405
+ if (s.time_origin !== void 0 && typeof s.time_origin != "string") {
3406
+ const n = { instancePath: i + "/time_origin", schemaPath: "#/properties/time_origin/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3407
+ e === null ? e = [n] : e.push(n), r++;
3408
+ }
3409
+ }
3410
+ else {
3411
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3412
+ e === null ? e = [n] : e.push(n), r++;
3413
+ } return _e.errors = e, r === 0; }
3414
+ function I(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3415
+ if (s.name === void 0) {
3416
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3417
+ e === null ? e = [n] : e.push(n), r++;
3418
+ }
3419
+ if (s.datum === void 0) {
3420
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "datum" }, message: "must have required property 'datum'" };
3421
+ e === null ? e = [n] : e.push(n), r++;
3422
+ }
3423
+ for (const n in s)
3424
+ if (!T.call(Fe.properties, n)) {
3425
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3426
+ e === null ? e = [a] : e.push(a), r++;
3427
+ }
3428
+ if (s.type !== void 0) {
3429
+ let n = s.type;
3430
+ if (typeof n != "string") {
3431
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3432
+ e === null ? e = [a] : e.push(a), r++;
3433
+ }
3434
+ if (n !== "TemporalCRS") {
3435
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Fe.properties.type.enum }, message: "must be equal to one of the allowed values" };
3436
+ e === null ? e = [a] : e.push(a), r++;
3437
+ }
3438
+ }
3439
+ if (s.name !== void 0 && typeof s.name != "string") {
3440
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3441
+ e === null ? e = [n] : e.push(n), r++;
3442
+ }
3443
+ s.datum !== void 0 && (_e(s.datum, { instancePath: i + "/datum", parentData: s, parentDataProperty: "datum", rootData: _ }) || (e = e === null ? _e.errors : e.concat(_e.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3444
+ }
3445
+ else {
3446
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3447
+ e === null ? e = [n] : e.push(n), r++;
3448
+ } return I.errors = e, r === 0; }
3449
+ function be(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3450
+ if (s.name === void 0) {
3451
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3452
+ e === null ? e = [n] : e.push(n), r++;
3453
+ }
3454
+ if (s.base_crs === void 0) {
3455
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "base_crs" }, message: "must have required property 'base_crs'" };
3456
+ e === null ? e = [n] : e.push(n), r++;
3457
+ }
3458
+ if (s.conversion === void 0) {
3459
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "conversion" }, message: "must have required property 'conversion'" };
3460
+ e === null ? e = [n] : e.push(n), r++;
3461
+ }
3462
+ if (s.coordinate_system === void 0) {
3463
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "coordinate_system" }, message: "must have required property 'coordinate_system'" };
3464
+ e === null ? e = [n] : e.push(n), r++;
3465
+ }
3466
+ for (const n in s)
3467
+ if (!T.call(Me.properties, n)) {
3468
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3469
+ e === null ? e = [a] : e.push(a), r++;
3470
+ }
3471
+ if (s.type !== void 0) {
3472
+ let n = s.type;
3473
+ if (typeof n != "string") {
3474
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3475
+ e === null ? e = [a] : e.push(a), r++;
3476
+ }
3477
+ if (n !== "DerivedTemporalCRS") {
3478
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Me.properties.type.enum }, message: "must be equal to one of the allowed values" };
3479
+ e === null ? e = [a] : e.push(a), r++;
3480
+ }
3481
+ }
3482
+ if (s.name !== void 0 && typeof s.name != "string") {
3483
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3484
+ e === null ? e = [n] : e.push(n), r++;
3485
+ }
3486
+ s.base_crs !== void 0 && (I(s.base_crs, { instancePath: i + "/base_crs", parentData: s, parentDataProperty: "base_crs", rootData: _ }) || (e = e === null ? I.errors : e.concat(I.errors), r = e.length)), s.conversion !== void 0 && (E(s.conversion, { instancePath: i + "/conversion", parentData: s, parentDataProperty: "conversion", rootData: _ }) || (e = e === null ? E.errors : e.concat(E.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3487
+ }
3488
+ else {
3489
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3490
+ e === null ? e = [n] : e.push(n), r++;
3491
+ } return be.errors = e, r === 0; }
3492
+ const Be = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DerivedVerticalCRS"] }, name: { type: "string" }, base_crs: { $ref: "#/definitions/vertical_crs" }, conversion: { $ref: "#/definitions/conversion" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "base_crs", "conversion", "coordinate_system"], additionalProperties: !1 }, Xe = { type: "object", properties: { type: { type: "string", enum: ["VerticalCRS"] }, name: { type: "string" }, datum: { oneOf: [{ $ref: "#/definitions/vertical_reference_frame" }, { $ref: "#/definitions/dynamic_vertical_reference_frame" }] }, datum_ensemble: { $ref: "#/definitions/datum_ensemble" }, coordinate_system: { $ref: "#/definitions/coordinate_system" }, geoid_model: { $ref: "#/definitions/geoid_model" }, geoid_models: { type: "array", items: { $ref: "#/definitions/geoid_model" } }, deformation_models: { type: "array", items: { $ref: "#/definitions/deformation_model" } }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], description: "One and only one of datum and datum_ensemble must be provided", allOf: [{ $ref: "#/definitions/object_usage" }, { $ref: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }, { not: { type: "object", required: ["geoid_model", "geoid_models"] } }], additionalProperties: !1 }, Ye = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["VerticalReferenceFrame"] }, name: { type: "string" }, anchor: { type: "string" }, anchor_epoch: { type: "number" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name"], additionalProperties: !1 };
3493
+ function ve(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3494
+ if (s.name === void 0) {
3495
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3496
+ e === null ? e = [n] : e.push(n), r++;
3497
+ }
3498
+ for (const n in s)
3499
+ if (!T.call(Ye.properties, n)) {
3500
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3501
+ e === null ? e = [a] : e.push(a), r++;
3502
+ }
3503
+ if (s.type !== void 0) {
3504
+ let n = s.type;
3505
+ if (typeof n != "string") {
3506
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3507
+ e === null ? e = [a] : e.push(a), r++;
3508
+ }
3509
+ if (n !== "VerticalReferenceFrame") {
3510
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ye.properties.type.enum }, message: "must be equal to one of the allowed values" };
3511
+ e === null ? e = [a] : e.push(a), r++;
3512
+ }
3513
+ }
3514
+ if (s.name !== void 0 && typeof s.name != "string") {
3515
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3516
+ e === null ? e = [n] : e.push(n), r++;
3517
+ }
3518
+ if (s.anchor !== void 0 && typeof s.anchor != "string") {
3519
+ const n = { instancePath: i + "/anchor", schemaPath: "#/properties/anchor/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3520
+ e === null ? e = [n] : e.push(n), r++;
3521
+ }
3522
+ if (s.anchor_epoch !== void 0 && typeof s.anchor_epoch != "number") {
3523
+ const n = { instancePath: i + "/anchor_epoch", schemaPath: "#/properties/anchor_epoch/type", keyword: "type", params: { type: "number" }, message: "must be number" };
3524
+ e === null ? e = [n] : e.push(n), r++;
3525
+ }
3526
+ }
3527
+ else {
3528
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3529
+ e === null ? e = [n] : e.push(n), r++;
3530
+ } return ve.errors = e, r === 0; }
3531
+ const Ze = { type: "object", allOf: [{ $ref: "#/definitions/object_usage" }], properties: { type: { type: "string", enum: ["DynamicVerticalReferenceFrame"] }, name: {}, anchor: {}, anchor_epoch: {}, frame_reference_epoch: { type: "number" }, $schema: {}, scope: {}, area: {}, bbox: {}, vertical_extent: {}, temporal_extent: {}, usages: {}, remarks: {}, id: {}, ids: {} }, required: ["name", "frame_reference_epoch"], additionalProperties: !1 };
3532
+ function Pe(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3533
+ if (s.name === void 0) {
3534
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3535
+ e === null ? e = [n] : e.push(n), r++;
3536
+ }
3537
+ if (s.frame_reference_epoch === void 0) {
3538
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "frame_reference_epoch" }, message: "must have required property 'frame_reference_epoch'" };
3539
+ e === null ? e = [n] : e.push(n), r++;
3540
+ }
3541
+ for (const n in s)
3542
+ if (!T.call(Ze.properties, n)) {
3543
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3544
+ e === null ? e = [a] : e.push(a), r++;
3545
+ }
3546
+ if (s.type !== void 0) {
3547
+ let n = s.type;
3548
+ if (typeof n != "string") {
3549
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3550
+ e === null ? e = [a] : e.push(a), r++;
3551
+ }
3552
+ if (n !== "DynamicVerticalReferenceFrame") {
3553
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Ze.properties.type.enum }, message: "must be equal to one of the allowed values" };
3554
+ e === null ? e = [a] : e.push(a), r++;
3555
+ }
3556
+ }
3557
+ if (s.frame_reference_epoch !== void 0 && typeof s.frame_reference_epoch != "number") {
3558
+ const n = { instancePath: i + "/frame_reference_epoch", schemaPath: "#/properties/frame_reference_epoch/type", keyword: "type", params: { type: "number" }, message: "must be number" };
3559
+ e === null ? e = [n] : e.push(n), r++;
3560
+ }
3561
+ }
3562
+ else {
3563
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3564
+ e === null ? e = [n] : e.push(n), r++;
3565
+ } return Pe.errors = e, r === 0; }
3566
+ const vr = { type: "object", properties: { name: { type: "string" }, interpolation_crs: { $ref: "#/definitions/crs" }, id: { $ref: "#/definitions/id" } }, required: ["name"], additionalProperties: !1 };
3567
+ function Q(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (s && typeof s == "object" && !Array.isArray(s)) {
3568
+ if (s.name === void 0) {
3569
+ const c = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3570
+ e === null ? e = [c] : e.push(c), r++;
3571
+ }
3572
+ for (const c in s)
3573
+ if (!(c === "name" || c === "interpolation_crs" || c === "id")) {
3574
+ const f = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: c }, message: "must NOT have additional properties" };
3575
+ e === null ? e = [f] : e.push(f), r++;
3576
+ }
3577
+ if (s.name !== void 0 && typeof s.name != "string") {
3578
+ const c = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3579
+ e === null ? e = [c] : e.push(c), r++;
3580
+ }
3581
+ if (s.interpolation_crs !== void 0 && (V.validate(s.interpolation_crs, { instancePath: i + "/interpolation_crs", parentData: s, parentDataProperty: "interpolation_crs", rootData: _ }) || (e = e === null ? V.validate.errors : e.concat(V.validate.errors), r = e.length)), s.id !== void 0) {
3582
+ let c = s.id;
3583
+ if (c && typeof c == "object" && !Array.isArray(c)) {
3584
+ if (c.authority === void 0) {
3585
+ const f = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "authority" }, message: "must have required property 'authority'" };
3586
+ e === null ? e = [f] : e.push(f), r++;
3587
+ }
3588
+ if (c.code === void 0) {
3589
+ const f = { instancePath: i + "/id", schemaPath: "#/definitions/id/required", keyword: "required", params: { missingProperty: "code" }, message: "must have required property 'code'" };
3590
+ e === null ? e = [f] : e.push(f), r++;
3591
+ }
3592
+ for (const f in c)
3593
+ if (!(f === "authority" || f === "code" || f === "version" || f === "authority_citation" || f === "uri")) {
3594
+ const g = { instancePath: i + "/id", schemaPath: "#/definitions/id/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: f }, message: "must NOT have additional properties" };
3595
+ e === null ? e = [g] : e.push(g), r++;
3596
+ }
3597
+ if (c.authority !== void 0 && typeof c.authority != "string") {
3598
+ const f = { instancePath: i + "/id/authority", schemaPath: "#/definitions/id/properties/authority/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3599
+ e === null ? e = [f] : e.push(f), r++;
3600
+ }
3601
+ if (c.code !== void 0) {
3602
+ let f = c.code;
3603
+ const g = r;
3604
+ let t = !1, o = null;
3605
+ const y = r;
3606
+ if (typeof f != "string") {
3607
+ const l = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3608
+ e === null ? e = [l] : e.push(l), r++;
3609
+ }
3610
+ var n = y === r;
3611
+ n && (t = !0, o = 0);
3612
+ const u = r;
3613
+ if (!(typeof f == "number" && !(f % 1) && !isNaN(f))) {
3614
+ const l = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
3615
+ e === null ? e = [l] : e.push(l), r++;
3616
+ }
3617
+ var n = u === r;
3618
+ if (n && t ? (t = !1, o = [o, 1]) : n && (t = !0, o = 1), t)
3619
+ r = g, e !== null && (g ? e.length = g : e = null);
3620
+ else {
3621
+ const l = { instancePath: i + "/id/code", schemaPath: "#/definitions/id/properties/code/oneOf", keyword: "oneOf", params: { passingSchemas: o }, message: "must match exactly one schema in oneOf" };
3622
+ e === null ? e = [l] : e.push(l), r++;
3623
+ }
3624
+ }
3625
+ if (c.version !== void 0) {
3626
+ let f = c.version;
3627
+ const g = r;
3628
+ let t = !1, o = null;
3629
+ const y = r;
3630
+ if (typeof f != "string") {
3631
+ const l = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3632
+ e === null ? e = [l] : e.push(l), r++;
3633
+ }
3634
+ var a = y === r;
3635
+ a && (t = !0, o = 0);
3636
+ const u = r;
3637
+ if (typeof f != "number") {
3638
+ const l = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf/1/type", keyword: "type", params: { type: "number" }, message: "must be number" };
3639
+ e === null ? e = [l] : e.push(l), r++;
3640
+ }
3641
+ var a = u === r;
3642
+ if (a && t ? (t = !1, o = [o, 1]) : a && (t = !0, o = 1), t)
3643
+ r = g, e !== null && (g ? e.length = g : e = null);
3644
+ else {
3645
+ const l = { instancePath: i + "/id/version", schemaPath: "#/definitions/id/properties/version/oneOf", keyword: "oneOf", params: { passingSchemas: o }, message: "must match exactly one schema in oneOf" };
3646
+ e === null ? e = [l] : e.push(l), r++;
3647
+ }
3648
+ }
3649
+ if (c.authority_citation !== void 0 && typeof c.authority_citation != "string") {
3650
+ const f = { instancePath: i + "/id/authority_citation", schemaPath: "#/definitions/id/properties/authority_citation/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3651
+ e === null ? e = [f] : e.push(f), r++;
3652
+ }
3653
+ if (c.uri !== void 0 && typeof c.uri != "string") {
3654
+ const f = { instancePath: i + "/id/uri", schemaPath: "#/definitions/id/properties/uri/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3655
+ e === null ? e = [f] : e.push(f), r++;
3656
+ }
3657
+ }
3658
+ else {
3659
+ const f = { instancePath: i + "/id", schemaPath: "#/definitions/id/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3660
+ e === null ? e = [f] : e.push(f), r++;
3661
+ }
3662
+ }
3663
+ }
3664
+ else {
3665
+ const c = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3666
+ e === null ? e = [c] : e.push(c), r++;
3667
+ } return Q.errors = e, r === 0; }
3668
+ function ee(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length); const n = r, a = r; if (r === a)
3669
+ if (s && typeof s == "object" && !Array.isArray(s)) {
3670
+ let d;
3671
+ if (s.datum === void 0 && (d = "datum") || s.datum_ensemble === void 0 && (d = "datum_ensemble")) {
3672
+ const k = {};
3673
+ e === null ? e = [k] : e.push(k), r++;
3674
+ }
3675
+ }
3676
+ else {
3677
+ const d = {};
3678
+ e === null ? e = [d] : e.push(d), r++;
3679
+ } var c = a === r; if (c) {
3680
+ const d = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/0/not", keyword: "not", params: {}, message: "must NOT be valid" };
3681
+ e === null ? e = [d] : e.push(d), r++;
3682
+ }
3683
+ else
3684
+ r = n, e !== null && (n ? e.length = n : e = null); const f = r; let g = !1, t = null; const o = r; if (s && typeof s == "object" && !Array.isArray(s)) {
3685
+ if (s.datum === void 0) {
3686
+ const d = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/0/required", keyword: "required", params: { missingProperty: "datum" }, message: "must have required property 'datum'" };
3687
+ e === null ? e = [d] : e.push(d), r++;
3688
+ }
3689
+ }
3690
+ else {
3691
+ const d = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3692
+ e === null ? e = [d] : e.push(d), r++;
3693
+ } var u = o === r; u && (g = !0, t = 0); const y = r; if (s && typeof s == "object" && !Array.isArray(s)) {
3694
+ if (s.datum_ensemble === void 0) {
3695
+ const d = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/1/required", keyword: "required", params: { missingProperty: "datum_ensemble" }, message: "must have required property 'datum_ensemble'" };
3696
+ e === null ? e = [d] : e.push(d), r++;
3697
+ }
3698
+ }
3699
+ else {
3700
+ const d = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3701
+ e === null ? e = [d] : e.push(d), r++;
3702
+ } var u = y === r; if (u && g ? (g = !1, t = [t, 1]) : u && (g = !0, t = 1), g)
3703
+ r = f, e !== null && (f ? e.length = f : e = null);
3704
+ else {
3705
+ const d = { instancePath: i, schemaPath: "#/definitions/one_and_only_one_of_datum_or_datum_ensemble/allOf/1/oneOf", keyword: "oneOf", params: { passingSchemas: t }, message: "must match exactly one schema in oneOf" };
3706
+ e === null ? e = [d] : e.push(d), r++;
3707
+ } const l = r, v = r; if (r === v)
3708
+ if (s && typeof s == "object" && !Array.isArray(s)) {
3709
+ let d;
3710
+ if (s.geoid_model === void 0 && (d = "geoid_model") || s.geoid_models === void 0 && (d = "geoid_models")) {
3711
+ const k = {};
3712
+ e === null ? e = [k] : e.push(k), r++;
3713
+ }
3714
+ }
3715
+ else {
3716
+ const d = {};
3717
+ e === null ? e = [d] : e.push(d), r++;
3718
+ } var h = v === r; if (h) {
3719
+ const d = { instancePath: i, schemaPath: "#/allOf/2/not", keyword: "not", params: {}, message: "must NOT be valid" };
3720
+ e === null ? e = [d] : e.push(d), r++;
3721
+ }
3722
+ else
3723
+ r = l, e !== null && (l ? e.length = l : e = null); if (s && typeof s == "object" && !Array.isArray(s)) {
3724
+ if (s.name === void 0) {
3725
+ const d = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3726
+ e === null ? e = [d] : e.push(d), r++;
3727
+ }
3728
+ for (const d in s)
3729
+ if (!T.call(Xe.properties, d)) {
3730
+ const k = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: d }, message: "must NOT have additional properties" };
3731
+ e === null ? e = [k] : e.push(k), r++;
3732
+ }
3733
+ if (s.type !== void 0) {
3734
+ let d = s.type;
3735
+ if (typeof d != "string") {
3736
+ const k = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3737
+ e === null ? e = [k] : e.push(k), r++;
3738
+ }
3739
+ if (d !== "VerticalCRS") {
3740
+ const k = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Xe.properties.type.enum }, message: "must be equal to one of the allowed values" };
3741
+ e === null ? e = [k] : e.push(k), r++;
3742
+ }
3743
+ }
3744
+ if (s.name !== void 0 && typeof s.name != "string") {
3745
+ const d = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3746
+ e === null ? e = [d] : e.push(d), r++;
3747
+ }
3748
+ if (s.datum !== void 0) {
3749
+ let d = s.datum;
3750
+ const k = r;
3751
+ let m = !1, b = null;
3752
+ const P = r;
3753
+ ve(d, { instancePath: i + "/datum", parentData: s, parentDataProperty: "datum", rootData: _ }) || (e = e === null ? ve.errors : e.concat(ve.errors), r = e.length);
3754
+ var p = P === r;
3755
+ p && (m = !0, b = 0);
3756
+ const w = r;
3757
+ Pe(d, { instancePath: i + "/datum", parentData: s, parentDataProperty: "datum", rootData: _ }) || (e = e === null ? Pe.errors : e.concat(Pe.errors), r = e.length);
3758
+ var p = w === r;
3759
+ if (p && m ? (m = !1, b = [b, 1]) : p && (m = !0, b = 1), m)
3760
+ r = k, e !== null && (k ? e.length = k : e = null);
3761
+ else {
3762
+ const $ = { instancePath: i + "/datum", schemaPath: "#/properties/datum/oneOf", keyword: "oneOf", params: { passingSchemas: b }, message: "must match exactly one schema in oneOf" };
3763
+ e === null ? e = [$] : e.push($), r++;
3764
+ }
3765
+ }
3766
+ if (s.datum_ensemble !== void 0 && (J(s.datum_ensemble, { instancePath: i + "/datum_ensemble", parentData: s, parentDataProperty: "datum_ensemble", rootData: _ }) || (e = e === null ? J.errors : e.concat(J.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length)), s.geoid_model !== void 0 && (Q(s.geoid_model, { instancePath: i + "/geoid_model", parentData: s, parentDataProperty: "geoid_model", rootData: _ }) || (e = e === null ? Q.errors : e.concat(Q.errors), r = e.length)), s.geoid_models !== void 0) {
3767
+ let d = s.geoid_models;
3768
+ if (Array.isArray(d)) {
3769
+ const k = d.length;
3770
+ for (let m = 0; m < k; m++)
3771
+ Q(d[m], { instancePath: i + "/geoid_models/" + m, parentData: d, parentDataProperty: m, rootData: _ }) || (e = e === null ? Q.errors : e.concat(Q.errors), r = e.length);
3772
+ }
3773
+ else {
3774
+ const k = { instancePath: i + "/geoid_models", schemaPath: "#/properties/geoid_models/type", keyword: "type", params: { type: "array" }, message: "must be array" };
3775
+ e === null ? e = [k] : e.push(k), r++;
3776
+ }
3777
+ }
3778
+ if (s.deformation_models !== void 0) {
3779
+ let d = s.deformation_models;
3780
+ if (Array.isArray(d)) {
3781
+ const k = d.length;
3782
+ for (let m = 0; m < k; m++)
3783
+ K(d[m], { instancePath: i + "/deformation_models/" + m, parentData: d, parentDataProperty: m, rootData: _ }) || (e = e === null ? K.errors : e.concat(K.errors), r = e.length);
3784
+ }
3785
+ else {
3786
+ const k = { instancePath: i + "/deformation_models", schemaPath: "#/properties/deformation_models/type", keyword: "type", params: { type: "array" }, message: "must be array" };
3787
+ e === null ? e = [k] : e.push(k), r++;
3788
+ }
3789
+ }
3790
+ }
3791
+ else {
3792
+ const d = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3793
+ e === null ? e = [d] : e.push(d), r++;
3794
+ } return ee.errors = e, r === 0; }
3795
+ function we(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; if (x(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? x.errors : e.concat(x.errors), r = e.length), s && typeof s == "object" && !Array.isArray(s)) {
3796
+ if (s.name === void 0) {
3797
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" };
3798
+ e === null ? e = [n] : e.push(n), r++;
3799
+ }
3800
+ if (s.base_crs === void 0) {
3801
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "base_crs" }, message: "must have required property 'base_crs'" };
3802
+ e === null ? e = [n] : e.push(n), r++;
3803
+ }
3804
+ if (s.conversion === void 0) {
3805
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "conversion" }, message: "must have required property 'conversion'" };
3806
+ e === null ? e = [n] : e.push(n), r++;
3807
+ }
3808
+ if (s.coordinate_system === void 0) {
3809
+ const n = { instancePath: i, schemaPath: "#/required", keyword: "required", params: { missingProperty: "coordinate_system" }, message: "must have required property 'coordinate_system'" };
3810
+ e === null ? e = [n] : e.push(n), r++;
3811
+ }
3812
+ for (const n in s)
3813
+ if (!T.call(Be.properties, n)) {
3814
+ const a = { instancePath: i, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n }, message: "must NOT have additional properties" };
3815
+ e === null ? e = [a] : e.push(a), r++;
3816
+ }
3817
+ if (s.type !== void 0) {
3818
+ let n = s.type;
3819
+ if (typeof n != "string") {
3820
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3821
+ e === null ? e = [a] : e.push(a), r++;
3822
+ }
3823
+ if (n !== "DerivedVerticalCRS") {
3824
+ const a = { instancePath: i + "/type", schemaPath: "#/properties/type/enum", keyword: "enum", params: { allowedValues: Be.properties.type.enum }, message: "must be equal to one of the allowed values" };
3825
+ e === null ? e = [a] : e.push(a), r++;
3826
+ }
3827
+ }
3828
+ if (s.name !== void 0 && typeof s.name != "string") {
3829
+ const n = { instancePath: i + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" };
3830
+ e === null ? e = [n] : e.push(n), r++;
3831
+ }
3832
+ s.base_crs !== void 0 && (ee(s.base_crs, { instancePath: i + "/base_crs", parentData: s, parentDataProperty: "base_crs", rootData: _ }) || (e = e === null ? ee.errors : e.concat(ee.errors), r = e.length)), s.conversion !== void 0 && (E(s.conversion, { instancePath: i + "/conversion", parentData: s, parentDataProperty: "conversion", rootData: _ }) || (e = e === null ? E.errors : e.concat(E.errors), r = e.length)), s.coordinate_system !== void 0 && (S(s.coordinate_system, { instancePath: i + "/coordinate_system", parentData: s, parentDataProperty: "coordinate_system", rootData: _ }) || (e = e === null ? S.errors : e.concat(S.errors), r = e.length));
3833
+ }
3834
+ else {
3835
+ const n = { instancePath: i, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
3836
+ e === null ? e = [n] : e.push(n), r++;
3837
+ } return we.errors = e, r === 0; }
3838
+ function re(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; const n = r; let a = !1, c = null; const f = r; te(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? te.errors : e.concat(te.errors), r = e.length); var t = f === r; t && (a = !0, c = 0); const g = r; ne(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? ne.errors : e.concat(ne.errors), r = e.length); var t = g === r; if (t && a)
3839
+ a = !1, c = [c, 1];
3840
+ else {
3841
+ t && (a = !0, c = 1);
3842
+ const o = r;
3843
+ ue(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? ue.errors : e.concat(ue.errors), r = e.length);
3844
+ var t = o === r;
3845
+ if (t && a)
3846
+ a = !1, c = [c, 2];
3847
+ else {
3848
+ t && (a = !0, c = 2);
3849
+ const u = r;
3850
+ ye(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? ye.errors : e.concat(ye.errors), r = e.length);
3851
+ var t = u === r;
3852
+ if (t && a)
3853
+ a = !1, c = [c, 3];
3854
+ else {
3855
+ t && (a = !0, c = 3);
3856
+ const v = r;
3857
+ he(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? he.errors : e.concat(he.errors), r = e.length);
3858
+ var t = v === r;
3859
+ if (t && a)
3860
+ a = !1, c = [c, 4];
3861
+ else {
3862
+ t && (a = !0, c = 4);
3863
+ const p = r;
3864
+ ge(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? ge.errors : e.concat(ge.errors), r = e.length);
3865
+ var t = p === r;
3866
+ if (t && a)
3867
+ a = !1, c = [c, 5];
3868
+ else {
3869
+ t && (a = !0, c = 5);
3870
+ const k = r;
3871
+ be(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? be.errors : e.concat(be.errors), r = e.length);
3872
+ var t = k === r;
3873
+ if (t && a)
3874
+ a = !1, c = [c, 6];
3875
+ else {
3876
+ t && (a = !0, c = 6);
3877
+ const b = r;
3878
+ we(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? we.errors : e.concat(we.errors), r = e.length);
3879
+ var t = b === r;
3880
+ if (t && a)
3881
+ a = !1, c = [c, 7];
3882
+ else {
3883
+ t && (a = !0, c = 7);
3884
+ const w = r;
3885
+ Y(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? Y.errors : e.concat(Y.errors), r = e.length);
3886
+ var t = w === r;
3887
+ if (t && a)
3888
+ a = !1, c = [c, 8];
3889
+ else {
3890
+ t && (a = !0, c = 8);
3891
+ const N = r;
3892
+ G(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? G.errors : e.concat(G.errors), r = e.length);
3893
+ var t = N === r;
3894
+ if (t && a)
3895
+ a = !1, c = [c, 9];
3896
+ else {
3897
+ t && (a = !0, c = 9);
3898
+ const A = r;
3899
+ z(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? z.errors : e.concat(z.errors), r = e.length);
3900
+ var t = A === r;
3901
+ if (t && a)
3902
+ a = !1, c = [c, 10];
3903
+ else {
3904
+ t && (a = !0, c = 10);
3905
+ const R = r;
3906
+ H(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? H.errors : e.concat(H.errors), r = e.length);
3907
+ var t = R === r;
3908
+ if (t && a)
3909
+ a = !1, c = [c, 11];
3910
+ else {
3911
+ t && (a = !0, c = 11);
3912
+ const Je = r;
3913
+ I(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? I.errors : e.concat(I.errors), r = e.length);
3914
+ var t = Je === r;
3915
+ if (t && a)
3916
+ a = !1, c = [c, 12];
3917
+ else {
3918
+ t && (a = !0, c = 12);
3919
+ const Ke = r;
3920
+ ee(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? ee.errors : e.concat(ee.errors), r = e.length);
3921
+ var t = Ke === r;
3922
+ t && a ? (a = !1, c = [c, 13]) : t && (a = !0, c = 13);
3923
+ }
3924
+ }
3925
+ }
3926
+ }
3927
+ }
3928
+ }
3929
+ }
3930
+ }
3931
+ }
3932
+ }
3933
+ }
3934
+ } if (a)
3935
+ r = n, e !== null && (n ? e.length = n : e = null);
3936
+ else {
3937
+ const o = { instancePath: i, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: c }, message: "must match exactly one schema in oneOf" };
3938
+ e === null ? e = [o] : e.push(o), r++;
3939
+ } return re.errors = e, r === 0; }
3940
+ function qe(s, { instancePath: i = "", parentData: q, parentDataProperty: O, rootData: _ = s } = {}) { let e = null, r = 0; return re(s, { instancePath: i, parentData: q, parentDataProperty: O, rootData: _ }) || (e = e === null ? re.errors : e.concat(re.errors), r = e.length), qe.errors = e, r === 0; }
3941
+ export { tr as default, ir as validate };