@opengeoweb/sigmet-airmet 9.28.1 → 9.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +912 -474
- package/package.json +1 -1
- package/src/index.d.ts +13 -13
- package/src/lib/AirmetDemo.stories.d.ts +19 -19
- package/src/lib/SigmetDemo.stories.d.ts +19 -19
- package/src/lib/components/ComponentsLookUp/AirmetComponentsLookUp.d.ts +11 -11
- package/src/lib/components/ComponentsLookUp/AirmetComponentsLookUp.spec.d.ts +1 -1
- package/src/lib/components/ComponentsLookUp/AviationProductApiWrapper.d.ts +9 -9
- package/src/lib/components/ComponentsLookUp/AviationProductApiWrapper.spec.d.ts +1 -1
- package/src/lib/components/ComponentsLookUp/SigmetComponentsLookUp.d.ts +11 -11
- package/src/lib/components/ComponentsLookUp/SigmetComponentsLookUp.spec.d.ts +1 -1
- package/src/lib/components/ComponentsLookUp/index.d.ts +2 -2
- package/src/lib/components/ConfigurationDemo/ConfigrationDemo.stories.d.ts +10 -10
- package/src/lib/components/ConfigurationDemo/configurations.d.ts +7 -7
- package/src/lib/components/ConfigurationDemo/configurations.spec.d.ts +1 -1
- package/src/lib/components/ContentDialog/ContentDialog.d.ts +13 -13
- package/src/lib/components/ContentDialog/ContentDialog.spec.d.ts +1 -1
- package/src/lib/components/ContentDialog/ContentDialog.stories.d.ts +94 -94
- package/src/lib/components/ContentDialog/index.d.ts +1 -1
- package/src/lib/components/MapViewGeoJson/MapViewGeoJson.d.ts +10 -10
- package/src/lib/components/MapViewGeoJson/MapViewGeoJson.spec.d.ts +1 -1
- package/src/lib/components/MapViewGeoJson/MapViewGeoJson.stories.d.ts +8 -8
- package/src/lib/components/MapViewGeoJson/constants.d.ts +41 -41
- package/src/lib/components/MapViewGeoJson/index.d.ts +1 -1
- package/src/lib/components/MetInfoWrapper/DownloadSigmetAirmetConfigWrapper.d.ts +8 -8
- package/src/lib/components/MetInfoWrapper/DownloadSigmetAirmetConfigWrapper.spec.d.ts +1 -1
- package/src/lib/components/MetInfoWrapper/MetInfoWrapper.d.ts +17 -17
- package/src/lib/components/MetInfoWrapper/MetInfoWrapper.spec.d.ts +1 -1
- package/src/lib/components/MetInfoWrapper/MetInfoWrapper.stories.d.ts +6 -6
- package/src/lib/components/MetInfoWrapper/MetInfoWrapper.tac.spec.d.ts +1 -1
- package/src/lib/components/MetInfoWrapper/index.d.ts +2 -2
- package/src/lib/components/MetInfoWrapper/utils.d.ts +15 -13
- package/src/lib/components/MetInfoWrapper/utils.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/AirmetForm/AirmetForm.d.ts +13 -13
- package/src/lib/components/ProductForms/AirmetForm/AirmetForm.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/AirmetForm/AirmetForm.stories.d.ts +110 -110
- package/src/lib/components/ProductForms/AirmetForm/AirmetForm.validations.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductForm.styles.d.ts +88 -88
- package/src/lib/components/ProductForms/ProductFormDialog.Airmet.stories.d.ts +14 -14
- package/src/lib/components/ProductForms/ProductFormDialog.Draw.stories.d.ts +10 -10
- package/src/lib/components/ProductForms/ProductFormDialog.Sigmet.stories.d.ts +15 -15
- package/src/lib/components/ProductForms/ProductFormDialog.actions.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormDialog.d.ts +12 -11
- package/src/lib/components/ProductForms/ProductFormDialog.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormDialogContent.d.ts +15 -14
- package/src/lib/components/ProductForms/ProductFormDialogContent.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/Change.d.ts +4 -4
- package/src/lib/components/ProductForms/ProductFormFields/Change.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/CloudLevels.d.ts +12 -12
- package/src/lib/components/ProductForms/ProductFormFields/CloudLevels.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/DrawTools.d.ts +10 -10
- package/src/lib/components/ProductForms/ProductFormFields/DrawTools.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/IssuedAt.d.ts +7 -7
- package/src/lib/components/ProductForms/ProductFormFields/IssuedAt.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/Levels.d.ts +14 -14
- package/src/lib/components/ProductForms/ProductFormFields/Levels.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/ObservationForecast.d.ts +4 -4
- package/src/lib/components/ProductForms/ProductFormFields/ObservationForecast.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/ObservationForecastTime.d.ts +7 -7
- package/src/lib/components/ProductForms/ProductFormFields/ObservationForecastTime.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/Phenomenon.d.ts +6 -4
- package/src/lib/components/ProductForms/ProductFormFields/Phenomenon.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/ProductFormFieldLayout.d.ts +8 -8
- package/src/lib/components/ProductForms/ProductFormFields/ProductFormFieldLayout.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/Progress.d.ts +17 -17
- package/src/lib/components/ProductForms/ProductFormFields/Progress.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/RadioButtonAndLabel.d.ts +9 -9
- package/src/lib/components/ProductForms/ProductFormFields/RadioButtonAndLabel.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/SelectFIR.d.ts +12 -11
- package/src/lib/components/ProductForms/ProductFormFields/SelectFIR.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/StartGeometry.d.ts +14 -14
- package/src/lib/components/ProductForms/ProductFormFields/StartGeometry.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/SurfaceVisibility.d.ts +9 -9
- package/src/lib/components/ProductForms/ProductFormFields/SurfaceVisibility.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/SurfaceWind.d.ts +7 -7
- package/src/lib/components/ProductForms/ProductFormFields/SurfaceWind.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/Tac.d.ts +9 -9
- package/src/lib/components/ProductForms/ProductFormFields/Tac.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/Type.d.ts +4 -4
- package/src/lib/components/ProductForms/ProductFormFields/Type.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/ValidFrom.d.ts +6 -6
- package/src/lib/components/ProductForms/ProductFormFields/ValidFrom.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/ValidUntil.d.ts +5 -5
- package/src/lib/components/ProductForms/ProductFormFields/ValidUntil.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/VolcanicFields.d.ts +7 -7
- package/src/lib/components/ProductForms/ProductFormFields/VolcanicFields.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormFields/index.d.ts +17 -17
- package/src/lib/components/ProductForms/ProductFormLayout.d.ts +10 -10
- package/src/lib/components/ProductForms/ProductFormLayout.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/ProductFormTac.d.ts +24 -24
- package/src/lib/components/ProductForms/ProductFormTac.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/SigmetForm/SigmetCancelVolcanicMovements.d.ts +8 -8
- package/src/lib/components/ProductForms/SigmetForm/SigmetForm.d.ts +14 -14
- package/src/lib/components/ProductForms/SigmetForm/SigmetForm.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/SigmetForm/SigmetForm.stories.d.ts +115 -115
- package/src/lib/components/ProductForms/SigmetForm/SigmetForm.validations.spec.d.ts +1 -1
- package/src/lib/components/ProductForms/index.d.ts +2 -2
- package/src/lib/components/ProductForms/utils.d.ts +80 -75
- package/src/lib/components/ProductForms/utils.spec.d.ts +1 -1
- package/src/lib/components/ProductList/ProductList.d.ts +13 -12
- package/src/lib/components/ProductList/ProductList.spec.d.ts +1 -1
- package/src/lib/components/ProductList/ProductList.stories.d.ts +62 -62
- package/src/lib/components/ProductList/ProductListRow.d.ts +10 -9
- package/src/lib/components/ProductList/ProductListRow.spec.d.ts +1 -1
- package/src/lib/components/ProductList/index.d.ts +2 -2
- package/src/lib/components/Providers/Providers.d.ts +18 -18
- package/src/lib/components/Providers/index.d.ts +1 -1
- package/src/lib/hooks/useShortTestHelpers.d.ts +4 -4
- package/src/lib/hooks/useShortTestHelpers.spec.d.ts +1 -1
- package/src/lib/types.d.ts +394 -421
- package/src/lib/utils/api.d.ts +25 -25
- package/src/lib/utils/api.spec.d.ts +1 -1
- package/src/lib/utils/config/config.d.ts +17 -17
- package/src/lib/utils/config/config.spec.d.ts +1 -1
- package/src/lib/utils/config/index.d.ts +5 -5
- package/src/lib/utils/fakeApi.d.ts +4 -4
- package/src/lib/utils/fakeApi.spec.d.ts +1 -1
- package/src/lib/utils/i18n.d.ts +7 -7
- package/src/lib/utils/mockdata/fakeAirmetList.d.ts +9 -9
- package/src/lib/utils/mockdata/fakeSigmetList.d.ts +13 -13
- package/src/lib/utils/store.d.ts +2 -2
- package/src/lib/utils/testUtils.d.ts +31 -28
package/index.esm.js
CHANGED
|
@@ -5,7 +5,7 @@ import { FormControlLabel, Radio, Grid, Typography, Box, Button, Checkbox, MenuI
|
|
|
5
5
|
import { useFormContext } from 'react-hook-form';
|
|
6
6
|
import { FORM_FIELDS_NAMESPACE, useDraftFormHelpers, ReactHookFormRadioGroup, hasValidGeometry, ReactHookFormSelect, ReactHookFormNumberField, isInteger, isValidMax, isValidMin, isEmpty, ReactHookFormDateTime, countIntersectionPoints, hasMulitpleIntersections, ReactHookFormHiddenInput, isMaximumOneDrawing, isValidGeoJsonCoordinates, hasIntersectionWithFIR, isXHoursBefore, isXHoursAfter, ReactHookFormTextField, isLatitude, isNonOrBothCoordinates, isLongitude, ReactHookFormFormControl, isGeometryDirty, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
7
7
|
import { useApiContext, useApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider } from '@opengeoweb/api';
|
|
8
|
-
import { defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, defaultPoint, addGeoJSONProperties, defaultBox, defaultPolygon, DRAWMODE,
|
|
8
|
+
import { defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, addSelectionTypeToGeoJSON, defaultPoint, addGeoJSONProperties, defaultBox, defaultPolygon, DRAWMODE, defaultDelete, getIcon, MapControls, MapViewLayer, useMapDrawTool, addFeatureProperties, rewindGeometry } from '@opengeoweb/webmap-react';
|
|
9
9
|
import i18n from 'i18next';
|
|
10
10
|
import { useTranslation } from 'react-i18next';
|
|
11
11
|
import { PROJECTION, dateUtils, ToggleMenu, CustomTooltip, useIsMounted, StatusTag, AlertBanner, ConfirmationServiceProvider, usePreventBrowserClose, useConfirmationDialog, isAxiosError, getAxiosErrorMessage, usePoller, ErrorBoundary } from '@opengeoweb/shared';
|
|
@@ -29,8 +29,10 @@ var en = {
|
|
|
29
29
|
unknown: "Unknown",
|
|
30
30
|
"create-new-product": "Create a new {{ product }}",
|
|
31
31
|
discard: "DISCARD",
|
|
32
|
+
renew: "Renew {{product}}",
|
|
32
33
|
save: "Save",
|
|
33
34
|
cancel: "Cancel",
|
|
35
|
+
"yes-cancel": "Yes, cancel {{product}}",
|
|
34
36
|
publish: "Publish",
|
|
35
37
|
back: "BACK",
|
|
36
38
|
draft: "DRAFT",
|
|
@@ -43,16 +45,16 @@ var en = {
|
|
|
43
45
|
cancels: "Cancels",
|
|
44
46
|
close: "Close",
|
|
45
47
|
"discard-non-capitalized": "Discard",
|
|
46
|
-
"are-you-sure-you-want-to-discard": "Are you sure you would like to discard this {{product}}? Its properties will be lost
|
|
48
|
+
"are-you-sure-you-want-to-discard": "Are you sure you would like to discard this {{product}}? Its properties will be lost",
|
|
47
49
|
"save-changes-made": "Do you want to save any changes made?",
|
|
48
50
|
"publish-this-product": "Are you sure you want to publish this {{product}}?",
|
|
49
|
-
"cancel-this-product": "Are you sure you want to cancel this {{product}}
|
|
51
|
+
"cancel-this-product": "Are you sure you want to cancel this {{product}}?",
|
|
50
52
|
"save-and-close": "Save and close",
|
|
51
53
|
"discard-and-close": "Discard and close",
|
|
52
|
-
"drop-a-point-as": "Drop a point as {{type}} position
|
|
54
|
+
"drop-a-point-as": "Drop a point as {{type}} position",
|
|
53
55
|
"draw-a-box-as": "Draw a box as {{type}} position",
|
|
54
|
-
"draw-a-shape-as": "Draw a shape as {{type}} position
|
|
55
|
-
"set-a-fir-as": "Set FIR as {{type}} position
|
|
56
|
+
"draw-a-shape-as": "Draw a shape as {{type}} position",
|
|
57
|
+
"set-a-fir-as": "Set FIR as {{type}} position",
|
|
56
58
|
"remove-geometry": "Remove geometry",
|
|
57
59
|
"valid-until-time": "Valid until time has to be after Valid from time",
|
|
58
60
|
"discard-product": "Discard {{product}}",
|
|
@@ -153,8 +155,10 @@ var fi = {
|
|
|
153
155
|
unknown: "Ei tiedossa",
|
|
154
156
|
"create-new-product": "Luo uusi {{product}}",
|
|
155
157
|
discard: "HYLKÄÄ",
|
|
158
|
+
renew: "Not translated",
|
|
156
159
|
save: "Tallenna",
|
|
157
160
|
cancel: "Peruuta",
|
|
161
|
+
"yes-cancel": "Kyllä, peruuta {{product}}",
|
|
158
162
|
publish: "Julkaise",
|
|
159
163
|
back: "PALAA TAKAISIN",
|
|
160
164
|
draft: "LUONNOS",
|
|
@@ -277,8 +281,10 @@ var no = {
|
|
|
277
281
|
unknown: "Ukjent",
|
|
278
282
|
"create-new-product": "Lage et nytt {{ product }}",
|
|
279
283
|
discard: "FORKAST",
|
|
284
|
+
renew: "Forny {{product}}",
|
|
280
285
|
save: "Lagre",
|
|
281
|
-
cancel: "
|
|
286
|
+
cancel: "Kanseller",
|
|
287
|
+
"yes-cancel": "Ja, kanseller {{product}}",
|
|
282
288
|
publish: "Publiser",
|
|
283
289
|
back: "TILBAKE",
|
|
284
290
|
draft: "KLADD",
|
|
@@ -400,8 +406,10 @@ var nl = {
|
|
|
400
406
|
unknown: "Onbekend",
|
|
401
407
|
"create-new-product": "Maak nieuwe {{ product }}",
|
|
402
408
|
discard: "WEGGOOIEN",
|
|
409
|
+
renew: "Hernieuwen {{product}}",
|
|
403
410
|
save: "Bewaar",
|
|
404
411
|
cancel: "Annuleer",
|
|
412
|
+
"yes-cancel": "Ja, annuleer {{product}}",
|
|
405
413
|
publish: "Publiceer",
|
|
406
414
|
back: "TERUG",
|
|
407
415
|
draft: "CONCEPT",
|
|
@@ -551,21 +559,21 @@ var functionUncurryThis = NATIVE_BIND$3 ? uncurryThisWithBind : function (fn) {
|
|
|
551
559
|
};
|
|
552
560
|
};
|
|
553
561
|
|
|
554
|
-
var uncurryThis$
|
|
562
|
+
var uncurryThis$n = functionUncurryThis;
|
|
555
563
|
|
|
556
|
-
var toString$
|
|
557
|
-
var stringSlice$
|
|
564
|
+
var toString$b = uncurryThis$n({}.toString);
|
|
565
|
+
var stringSlice$7 = uncurryThis$n(''.slice);
|
|
558
566
|
|
|
559
567
|
var classofRaw$2 = function (it) {
|
|
560
|
-
return stringSlice$
|
|
568
|
+
return stringSlice$7(toString$b(it), 8, -1);
|
|
561
569
|
};
|
|
562
570
|
|
|
563
|
-
var uncurryThis$
|
|
571
|
+
var uncurryThis$m = functionUncurryThis;
|
|
564
572
|
var fails$m = fails$o;
|
|
565
573
|
var classof$9 = classofRaw$2;
|
|
566
574
|
|
|
567
575
|
var $Object$4 = Object;
|
|
568
|
-
var split = uncurryThis$
|
|
576
|
+
var split = uncurryThis$m(''.split);
|
|
569
577
|
|
|
570
578
|
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
|
571
579
|
var indexedObject = fails$m(function () {
|
|
@@ -606,7 +614,7 @@ var check = function (it) {
|
|
|
606
614
|
};
|
|
607
615
|
|
|
608
616
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
|
609
|
-
var global$
|
|
617
|
+
var global$o =
|
|
610
618
|
// eslint-disable-next-line es/no-global-this -- safe
|
|
611
619
|
check(typeof globalThis == 'object' && globalThis) ||
|
|
612
620
|
check(typeof window == 'object' && window) ||
|
|
@@ -619,20 +627,20 @@ var global$n =
|
|
|
619
627
|
|
|
620
628
|
var sharedStore = {exports: {}};
|
|
621
629
|
|
|
622
|
-
var global$
|
|
630
|
+
var global$n = global$o;
|
|
623
631
|
|
|
624
632
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
625
633
|
var defineProperty$7 = Object.defineProperty;
|
|
626
634
|
|
|
627
635
|
var defineGlobalProperty$3 = function (key, value) {
|
|
628
636
|
try {
|
|
629
|
-
defineProperty$7(global$
|
|
637
|
+
defineProperty$7(global$n, key, { value: value, configurable: true, writable: true });
|
|
630
638
|
} catch (error) {
|
|
631
|
-
global$
|
|
639
|
+
global$n[key] = value;
|
|
632
640
|
} return value;
|
|
633
641
|
};
|
|
634
642
|
|
|
635
|
-
var globalThis$1 = global$
|
|
643
|
+
var globalThis$1 = global$o;
|
|
636
644
|
var defineGlobalProperty$2 = defineGlobalProperty$3;
|
|
637
645
|
|
|
638
646
|
var SHARED = '__core-js_shared__';
|
|
@@ -664,10 +672,10 @@ var toObject$6 = function (argument) {
|
|
|
664
672
|
return $Object$3(requireObjectCoercible$5(argument));
|
|
665
673
|
};
|
|
666
674
|
|
|
667
|
-
var uncurryThis$
|
|
675
|
+
var uncurryThis$l = functionUncurryThis;
|
|
668
676
|
var toObject$5 = toObject$6;
|
|
669
677
|
|
|
670
|
-
var hasOwnProperty = uncurryThis$
|
|
678
|
+
var hasOwnProperty = uncurryThis$l({}.hasOwnProperty);
|
|
671
679
|
|
|
672
680
|
// `HasOwnProperty` abstract operation
|
|
673
681
|
// https://tc39.es/ecma262/#sec-hasownproperty
|
|
@@ -676,23 +684,23 @@ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
|
|
|
676
684
|
return hasOwnProperty(toObject$5(it), key);
|
|
677
685
|
};
|
|
678
686
|
|
|
679
|
-
var uncurryThis$
|
|
687
|
+
var uncurryThis$k = functionUncurryThis;
|
|
680
688
|
|
|
681
689
|
var id = 0;
|
|
682
690
|
var postfix = Math.random();
|
|
683
|
-
var toString$
|
|
691
|
+
var toString$a = uncurryThis$k(1.0.toString);
|
|
684
692
|
|
|
685
693
|
var uid$2 = function (key) {
|
|
686
|
-
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$
|
|
694
|
+
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$a(++id + postfix, 36);
|
|
687
695
|
};
|
|
688
696
|
|
|
689
697
|
var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
|
|
690
698
|
|
|
691
|
-
var global$
|
|
699
|
+
var global$m = global$o;
|
|
692
700
|
var userAgent$3 = engineUserAgent;
|
|
693
701
|
|
|
694
|
-
var process$3 = global$
|
|
695
|
-
var Deno$1 = global$
|
|
702
|
+
var process$3 = global$m.process;
|
|
703
|
+
var Deno$1 = global$m.Deno;
|
|
696
704
|
var versions = process$3 && process$3.versions || Deno$1 && Deno$1.version;
|
|
697
705
|
var v8 = versions && versions.v8;
|
|
698
706
|
var match, version;
|
|
@@ -719,9 +727,9 @@ var engineV8Version = version;
|
|
|
719
727
|
/* eslint-disable es/no-symbol -- required for testing */
|
|
720
728
|
var V8_VERSION$1 = engineV8Version;
|
|
721
729
|
var fails$l = fails$o;
|
|
722
|
-
var global$
|
|
730
|
+
var global$l = global$o;
|
|
723
731
|
|
|
724
|
-
var $String$5 = global$
|
|
732
|
+
var $String$5 = global$l.String;
|
|
725
733
|
|
|
726
734
|
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
|
|
727
735
|
var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$l(function () {
|
|
@@ -736,26 +744,26 @@ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$l(func
|
|
|
736
744
|
});
|
|
737
745
|
|
|
738
746
|
/* eslint-disable es/no-symbol -- required for testing */
|
|
739
|
-
var NATIVE_SYMBOL$
|
|
747
|
+
var NATIVE_SYMBOL$2 = symbolConstructorDetection;
|
|
740
748
|
|
|
741
|
-
var useSymbolAsUid = NATIVE_SYMBOL$
|
|
749
|
+
var useSymbolAsUid = NATIVE_SYMBOL$2
|
|
742
750
|
&& !Symbol.sham
|
|
743
751
|
&& typeof Symbol.iterator == 'symbol';
|
|
744
752
|
|
|
745
|
-
var global$
|
|
753
|
+
var global$k = global$o;
|
|
746
754
|
var shared$3 = shared$4;
|
|
747
|
-
var hasOwn$
|
|
755
|
+
var hasOwn$c = hasOwnProperty_1;
|
|
748
756
|
var uid$1 = uid$2;
|
|
749
|
-
var NATIVE_SYMBOL = symbolConstructorDetection;
|
|
757
|
+
var NATIVE_SYMBOL$1 = symbolConstructorDetection;
|
|
750
758
|
var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
|
|
751
759
|
|
|
752
|
-
var Symbol$2 = global$
|
|
760
|
+
var Symbol$2 = global$k.Symbol;
|
|
753
761
|
var WellKnownSymbolsStore = shared$3('wks');
|
|
754
762
|
var createWellKnownSymbol = USE_SYMBOL_AS_UID$1 ? Symbol$2['for'] || Symbol$2 : Symbol$2 && Symbol$2.withoutSetter || uid$1;
|
|
755
763
|
|
|
756
764
|
var wellKnownSymbol$j = function (name) {
|
|
757
|
-
if (!hasOwn$
|
|
758
|
-
WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$
|
|
765
|
+
if (!hasOwn$c(WellKnownSymbolsStore, name)) {
|
|
766
|
+
WellKnownSymbolsStore[name] = NATIVE_SYMBOL$1 && hasOwn$c(Symbol$2, name)
|
|
759
767
|
? Symbol$2[name]
|
|
760
768
|
: createWellKnownSymbol('Symbol.' + name);
|
|
761
769
|
} return WellKnownSymbolsStore[name];
|
|
@@ -767,16 +775,16 @@ var documentAll = typeof document == 'object' && document.all;
|
|
|
767
775
|
// `IsCallable` abstract operation
|
|
768
776
|
// https://tc39.es/ecma262/#sec-iscallable
|
|
769
777
|
// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
|
|
770
|
-
var isCallable$
|
|
778
|
+
var isCallable$o = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
|
|
771
779
|
return typeof argument == 'function' || argument === documentAll;
|
|
772
780
|
} : function (argument) {
|
|
773
781
|
return typeof argument == 'function';
|
|
774
782
|
};
|
|
775
783
|
|
|
776
|
-
var isCallable$
|
|
784
|
+
var isCallable$n = isCallable$o;
|
|
777
785
|
|
|
778
786
|
var isObject$c = function (it) {
|
|
779
|
-
return typeof it == 'object' ? it !== null : isCallable$
|
|
787
|
+
return typeof it == 'object' ? it !== null : isCallable$n(it);
|
|
780
788
|
};
|
|
781
789
|
|
|
782
790
|
var isObject$b = isObject$c;
|
|
@@ -800,12 +808,12 @@ var descriptors = !fails$k(function () {
|
|
|
800
808
|
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
|
|
801
809
|
});
|
|
802
810
|
|
|
803
|
-
var DESCRIPTORS$
|
|
811
|
+
var DESCRIPTORS$f = descriptors;
|
|
804
812
|
var fails$j = fails$o;
|
|
805
813
|
|
|
806
814
|
// V8 ~ Chrome 36-
|
|
807
815
|
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
|
|
808
|
-
var v8PrototypeDefineBug = DESCRIPTORS$
|
|
816
|
+
var v8PrototypeDefineBug = DESCRIPTORS$f && fails$j(function () {
|
|
809
817
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
810
818
|
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
|
|
811
819
|
value: 42,
|
|
@@ -815,10 +823,10 @@ var v8PrototypeDefineBug = DESCRIPTORS$e && fails$j(function () {
|
|
|
815
823
|
|
|
816
824
|
var objectDefineProperty = {};
|
|
817
825
|
|
|
818
|
-
var global$
|
|
826
|
+
var global$j = global$o;
|
|
819
827
|
var isObject$a = isObject$c;
|
|
820
828
|
|
|
821
|
-
var document$3 = global$
|
|
829
|
+
var document$3 = global$j.document;
|
|
822
830
|
// typeof document.createElement is 'object' in old IE
|
|
823
831
|
var EXISTS$1 = isObject$a(document$3) && isObject$a(document$3.createElement);
|
|
824
832
|
|
|
@@ -826,12 +834,12 @@ var documentCreateElement$2 = function (it) {
|
|
|
826
834
|
return EXISTS$1 ? document$3.createElement(it) : {};
|
|
827
835
|
};
|
|
828
836
|
|
|
829
|
-
var DESCRIPTORS$
|
|
837
|
+
var DESCRIPTORS$e = descriptors;
|
|
830
838
|
var fails$i = fails$o;
|
|
831
839
|
var createElement$1 = documentCreateElement$2;
|
|
832
840
|
|
|
833
841
|
// Thanks to IE8 for its funny defineProperty
|
|
834
|
-
var ie8DomDefine = !DESCRIPTORS$
|
|
842
|
+
var ie8DomDefine = !DESCRIPTORS$e && !fails$i(function () {
|
|
835
843
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
836
844
|
return Object.defineProperty(createElement$1('div'), 'a', {
|
|
837
845
|
get: function () { return 7; }
|
|
@@ -846,24 +854,24 @@ var functionCall = NATIVE_BIND$2 ? call$i.bind(call$i) : function () {
|
|
|
846
854
|
return call$i.apply(call$i, arguments);
|
|
847
855
|
};
|
|
848
856
|
|
|
849
|
-
var global$
|
|
850
|
-
var isCallable$
|
|
857
|
+
var global$i = global$o;
|
|
858
|
+
var isCallable$m = isCallable$o;
|
|
851
859
|
|
|
852
860
|
var aFunction = function (argument) {
|
|
853
|
-
return isCallable$
|
|
861
|
+
return isCallable$m(argument) ? argument : undefined;
|
|
854
862
|
};
|
|
855
863
|
|
|
856
864
|
var getBuiltIn$7 = function (namespace, method) {
|
|
857
|
-
return arguments.length < 2 ? aFunction(global$
|
|
865
|
+
return arguments.length < 2 ? aFunction(global$i[namespace]) : global$i[namespace] && global$i[namespace][method];
|
|
858
866
|
};
|
|
859
867
|
|
|
860
|
-
var uncurryThis$
|
|
868
|
+
var uncurryThis$j = functionUncurryThis;
|
|
861
869
|
|
|
862
|
-
var objectIsPrototypeOf = uncurryThis$
|
|
870
|
+
var objectIsPrototypeOf = uncurryThis$j({}.isPrototypeOf);
|
|
863
871
|
|
|
864
872
|
var getBuiltIn$6 = getBuiltIn$7;
|
|
865
|
-
var isCallable$
|
|
866
|
-
var isPrototypeOf$
|
|
873
|
+
var isCallable$l = isCallable$o;
|
|
874
|
+
var isPrototypeOf$5 = objectIsPrototypeOf;
|
|
867
875
|
var USE_SYMBOL_AS_UID = useSymbolAsUid;
|
|
868
876
|
|
|
869
877
|
var $Object$2 = Object;
|
|
@@ -872,7 +880,7 @@ var isSymbol$2 = USE_SYMBOL_AS_UID ? function (it) {
|
|
|
872
880
|
return typeof it == 'symbol';
|
|
873
881
|
} : function (it) {
|
|
874
882
|
var $Symbol = getBuiltIn$6('Symbol');
|
|
875
|
-
return isCallable$
|
|
883
|
+
return isCallable$l($Symbol) && isPrototypeOf$5($Symbol.prototype, $Object$2(it));
|
|
876
884
|
};
|
|
877
885
|
|
|
878
886
|
var $String$3 = String;
|
|
@@ -885,14 +893,14 @@ var tryToString$4 = function (argument) {
|
|
|
885
893
|
}
|
|
886
894
|
};
|
|
887
895
|
|
|
888
|
-
var isCallable$
|
|
896
|
+
var isCallable$k = isCallable$o;
|
|
889
897
|
var tryToString$3 = tryToString$4;
|
|
890
898
|
|
|
891
899
|
var $TypeError$g = TypeError;
|
|
892
900
|
|
|
893
901
|
// `Assert: IsCallable(argument) is true`
|
|
894
902
|
var aCallable$9 = function (argument) {
|
|
895
|
-
if (isCallable$
|
|
903
|
+
if (isCallable$k(argument)) return argument;
|
|
896
904
|
throw new $TypeError$g(tryToString$3(argument) + ' is not a function');
|
|
897
905
|
};
|
|
898
906
|
|
|
@@ -907,7 +915,7 @@ var getMethod$4 = function (V, P) {
|
|
|
907
915
|
};
|
|
908
916
|
|
|
909
917
|
var call$h = functionCall;
|
|
910
|
-
var isCallable$
|
|
918
|
+
var isCallable$j = isCallable$o;
|
|
911
919
|
var isObject$9 = isObject$c;
|
|
912
920
|
|
|
913
921
|
var $TypeError$f = TypeError;
|
|
@@ -916,9 +924,9 @@ var $TypeError$f = TypeError;
|
|
|
916
924
|
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
|
|
917
925
|
var ordinaryToPrimitive$1 = function (input, pref) {
|
|
918
926
|
var fn, val;
|
|
919
|
-
if (pref === 'string' && isCallable$
|
|
920
|
-
if (isCallable$
|
|
921
|
-
if (pref !== 'string' && isCallable$
|
|
927
|
+
if (pref === 'string' && isCallable$j(fn = input.toString) && !isObject$9(val = call$h(fn, input))) return val;
|
|
928
|
+
if (isCallable$j(fn = input.valueOf) && !isObject$9(val = call$h(fn, input))) return val;
|
|
929
|
+
if (pref !== 'string' && isCallable$j(fn = input.toString) && !isObject$9(val = call$h(fn, input))) return val;
|
|
922
930
|
throw new $TypeError$f("Can't convert object to primitive value");
|
|
923
931
|
};
|
|
924
932
|
|
|
@@ -958,7 +966,7 @@ var toPropertyKey$2 = function (argument) {
|
|
|
958
966
|
return isSymbol(key) ? key : key + '';
|
|
959
967
|
};
|
|
960
968
|
|
|
961
|
-
var DESCRIPTORS$
|
|
969
|
+
var DESCRIPTORS$d = descriptors;
|
|
962
970
|
var IE8_DOM_DEFINE$1 = ie8DomDefine;
|
|
963
971
|
var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
|
|
964
972
|
var anObject$d = anObject$e;
|
|
@@ -975,7 +983,7 @@ var WRITABLE = 'writable';
|
|
|
975
983
|
|
|
976
984
|
// `Object.defineProperty` method
|
|
977
985
|
// https://tc39.es/ecma262/#sec-object.defineproperty
|
|
978
|
-
objectDefineProperty.f = DESCRIPTORS$
|
|
986
|
+
objectDefineProperty.f = DESCRIPTORS$d ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
|
|
979
987
|
anObject$d(O);
|
|
980
988
|
P = toPropertyKey$1(P);
|
|
981
989
|
anObject$d(Attributes);
|
|
@@ -1091,22 +1099,22 @@ var arrayIncludes = {
|
|
|
1091
1099
|
|
|
1092
1100
|
var hiddenKeys$4 = {};
|
|
1093
1101
|
|
|
1094
|
-
var uncurryThis$
|
|
1095
|
-
var hasOwn$
|
|
1102
|
+
var uncurryThis$i = functionUncurryThis;
|
|
1103
|
+
var hasOwn$b = hasOwnProperty_1;
|
|
1096
1104
|
var toIndexedObject$3 = toIndexedObject$5;
|
|
1097
1105
|
var indexOf$1 = arrayIncludes.indexOf;
|
|
1098
1106
|
var hiddenKeys$3 = hiddenKeys$4;
|
|
1099
1107
|
|
|
1100
|
-
var push$1 = uncurryThis$
|
|
1108
|
+
var push$1 = uncurryThis$i([].push);
|
|
1101
1109
|
|
|
1102
1110
|
var objectKeysInternal = function (object, names) {
|
|
1103
1111
|
var O = toIndexedObject$3(object);
|
|
1104
1112
|
var i = 0;
|
|
1105
1113
|
var result = [];
|
|
1106
1114
|
var key;
|
|
1107
|
-
for (key in O) !hasOwn$
|
|
1115
|
+
for (key in O) !hasOwn$b(hiddenKeys$3, key) && hasOwn$b(O, key) && push$1(result, key);
|
|
1108
1116
|
// Don't enum bug & hidden keys
|
|
1109
|
-
while (names.length > i) if (hasOwn$
|
|
1117
|
+
while (names.length > i) if (hasOwn$b(O, key = names[i++])) {
|
|
1110
1118
|
~indexOf$1(result, key) || push$1(result, key);
|
|
1111
1119
|
}
|
|
1112
1120
|
return result;
|
|
@@ -1133,7 +1141,7 @@ var objectKeys$2 = Object.keys || function keys(O) {
|
|
|
1133
1141
|
return internalObjectKeys$1(O, enumBugKeys$2);
|
|
1134
1142
|
};
|
|
1135
1143
|
|
|
1136
|
-
var DESCRIPTORS$
|
|
1144
|
+
var DESCRIPTORS$c = descriptors;
|
|
1137
1145
|
var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
|
|
1138
1146
|
var definePropertyModule$3 = objectDefineProperty;
|
|
1139
1147
|
var anObject$c = anObject$e;
|
|
@@ -1143,7 +1151,7 @@ var objectKeys$1 = objectKeys$2;
|
|
|
1143
1151
|
// `Object.defineProperties` method
|
|
1144
1152
|
// https://tc39.es/ecma262/#sec-object.defineproperties
|
|
1145
1153
|
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
|
1146
|
-
objectDefineProperties.f = DESCRIPTORS$
|
|
1154
|
+
objectDefineProperties.f = DESCRIPTORS$c && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
1147
1155
|
anObject$c(O);
|
|
1148
1156
|
var props = toIndexedObject$2(Properties);
|
|
1149
1157
|
var keys = objectKeys$1(Properties);
|
|
@@ -1274,12 +1282,12 @@ var addToUnscopables$2 = function (key) {
|
|
|
1274
1282
|
|
|
1275
1283
|
var iterators = {};
|
|
1276
1284
|
|
|
1277
|
-
var global$
|
|
1278
|
-
var isCallable$
|
|
1285
|
+
var global$h = global$o;
|
|
1286
|
+
var isCallable$i = isCallable$o;
|
|
1279
1287
|
|
|
1280
|
-
var WeakMap$1 = global$
|
|
1288
|
+
var WeakMap$1 = global$h.WeakMap;
|
|
1281
1289
|
|
|
1282
|
-
var weakMapBasicDetection = isCallable$
|
|
1290
|
+
var weakMapBasicDetection = isCallable$i(WeakMap$1) && /native code/.test(String(WeakMap$1));
|
|
1283
1291
|
|
|
1284
1292
|
var createPropertyDescriptor$3 = function (bitmap, value) {
|
|
1285
1293
|
return {
|
|
@@ -1290,11 +1298,11 @@ var createPropertyDescriptor$3 = function (bitmap, value) {
|
|
|
1290
1298
|
};
|
|
1291
1299
|
};
|
|
1292
1300
|
|
|
1293
|
-
var DESCRIPTORS$
|
|
1301
|
+
var DESCRIPTORS$b = descriptors;
|
|
1294
1302
|
var definePropertyModule$2 = objectDefineProperty;
|
|
1295
1303
|
var createPropertyDescriptor$2 = createPropertyDescriptor$3;
|
|
1296
1304
|
|
|
1297
|
-
var createNonEnumerableProperty$6 = DESCRIPTORS$
|
|
1305
|
+
var createNonEnumerableProperty$6 = DESCRIPTORS$b ? function (object, key, value) {
|
|
1298
1306
|
return definePropertyModule$2.f(object, key, createPropertyDescriptor$2(1, value));
|
|
1299
1307
|
} : function (object, key, value) {
|
|
1300
1308
|
object[key] = value;
|
|
@@ -1302,17 +1310,17 @@ var createNonEnumerableProperty$6 = DESCRIPTORS$a ? function (object, key, value
|
|
|
1302
1310
|
};
|
|
1303
1311
|
|
|
1304
1312
|
var NATIVE_WEAK_MAP = weakMapBasicDetection;
|
|
1305
|
-
var global$
|
|
1313
|
+
var global$g = global$o;
|
|
1306
1314
|
var isObject$7 = isObject$c;
|
|
1307
1315
|
var createNonEnumerableProperty$5 = createNonEnumerableProperty$6;
|
|
1308
|
-
var hasOwn$
|
|
1316
|
+
var hasOwn$a = hasOwnProperty_1;
|
|
1309
1317
|
var shared$1 = sharedStoreExports;
|
|
1310
1318
|
var sharedKey$1 = sharedKey$3;
|
|
1311
1319
|
var hiddenKeys$1 = hiddenKeys$4;
|
|
1312
1320
|
|
|
1313
1321
|
var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
|
|
1314
|
-
var TypeError$2 = global$
|
|
1315
|
-
var WeakMap = global$
|
|
1322
|
+
var TypeError$2 = global$g.TypeError;
|
|
1323
|
+
var WeakMap = global$g.WeakMap;
|
|
1316
1324
|
var set$1, get, has;
|
|
1317
1325
|
|
|
1318
1326
|
var enforce = function (it) {
|
|
@@ -1351,16 +1359,16 @@ if (NATIVE_WEAK_MAP || shared$1.state) {
|
|
|
1351
1359
|
var STATE = sharedKey$1('state');
|
|
1352
1360
|
hiddenKeys$1[STATE] = true;
|
|
1353
1361
|
set$1 = function (it, metadata) {
|
|
1354
|
-
if (hasOwn$
|
|
1362
|
+
if (hasOwn$a(it, STATE)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED);
|
|
1355
1363
|
metadata.facade = it;
|
|
1356
1364
|
createNonEnumerableProperty$5(it, STATE, metadata);
|
|
1357
1365
|
return metadata;
|
|
1358
1366
|
};
|
|
1359
1367
|
get = function (it) {
|
|
1360
|
-
return hasOwn$
|
|
1368
|
+
return hasOwn$a(it, STATE) ? it[STATE] : {};
|
|
1361
1369
|
};
|
|
1362
1370
|
has = function (it) {
|
|
1363
|
-
return hasOwn$
|
|
1371
|
+
return hasOwn$a(it, STATE);
|
|
1364
1372
|
};
|
|
1365
1373
|
}
|
|
1366
1374
|
|
|
@@ -1390,13 +1398,13 @@ objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
|
|
1390
1398
|
return !!descriptor && descriptor.enumerable;
|
|
1391
1399
|
} : $propertyIsEnumerable;
|
|
1392
1400
|
|
|
1393
|
-
var DESCRIPTORS$
|
|
1401
|
+
var DESCRIPTORS$a = descriptors;
|
|
1394
1402
|
var call$f = functionCall;
|
|
1395
1403
|
var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
|
|
1396
1404
|
var createPropertyDescriptor$1 = createPropertyDescriptor$3;
|
|
1397
1405
|
var toIndexedObject$1 = toIndexedObject$5;
|
|
1398
1406
|
var toPropertyKey = toPropertyKey$2;
|
|
1399
|
-
var hasOwn$
|
|
1407
|
+
var hasOwn$9 = hasOwnProperty_1;
|
|
1400
1408
|
var IE8_DOM_DEFINE = ie8DomDefine;
|
|
1401
1409
|
|
|
1402
1410
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
@@ -1404,28 +1412,28 @@ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
|
1404
1412
|
|
|
1405
1413
|
// `Object.getOwnPropertyDescriptor` method
|
|
1406
1414
|
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
|
|
1407
|
-
objectGetOwnPropertyDescriptor.f = DESCRIPTORS$
|
|
1415
|
+
objectGetOwnPropertyDescriptor.f = DESCRIPTORS$a ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
|
1408
1416
|
O = toIndexedObject$1(O);
|
|
1409
1417
|
P = toPropertyKey(P);
|
|
1410
1418
|
if (IE8_DOM_DEFINE) try {
|
|
1411
1419
|
return $getOwnPropertyDescriptor(O, P);
|
|
1412
1420
|
} catch (error) { /* empty */ }
|
|
1413
|
-
if (hasOwn$
|
|
1421
|
+
if (hasOwn$9(O, P)) return createPropertyDescriptor$1(!call$f(propertyIsEnumerableModule$1.f, O, P), O[P]);
|
|
1414
1422
|
};
|
|
1415
1423
|
|
|
1416
1424
|
var makeBuiltIn$3 = {exports: {}};
|
|
1417
1425
|
|
|
1418
|
-
var DESCRIPTORS$
|
|
1419
|
-
var hasOwn$
|
|
1426
|
+
var DESCRIPTORS$9 = descriptors;
|
|
1427
|
+
var hasOwn$8 = hasOwnProperty_1;
|
|
1420
1428
|
|
|
1421
1429
|
var FunctionPrototype$1 = Function.prototype;
|
|
1422
1430
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
1423
|
-
var getDescriptor = DESCRIPTORS$
|
|
1431
|
+
var getDescriptor = DESCRIPTORS$9 && Object.getOwnPropertyDescriptor;
|
|
1424
1432
|
|
|
1425
|
-
var EXISTS = hasOwn$
|
|
1433
|
+
var EXISTS = hasOwn$8(FunctionPrototype$1, 'name');
|
|
1426
1434
|
// additional protection from minified / mangled / dropped function names
|
|
1427
1435
|
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
|
|
1428
|
-
var CONFIGURABLE = EXISTS && (!DESCRIPTORS$
|
|
1436
|
+
var CONFIGURABLE = EXISTS && (!DESCRIPTORS$9 || (DESCRIPTORS$9 && getDescriptor(FunctionPrototype$1, 'name').configurable));
|
|
1429
1437
|
|
|
1430
1438
|
var functionName = {
|
|
1431
1439
|
EXISTS: EXISTS,
|
|
@@ -1433,14 +1441,14 @@ var functionName = {
|
|
|
1433
1441
|
CONFIGURABLE: CONFIGURABLE
|
|
1434
1442
|
};
|
|
1435
1443
|
|
|
1436
|
-
var uncurryThis$
|
|
1437
|
-
var isCallable$
|
|
1444
|
+
var uncurryThis$h = functionUncurryThis;
|
|
1445
|
+
var isCallable$h = isCallable$o;
|
|
1438
1446
|
var store = sharedStoreExports;
|
|
1439
1447
|
|
|
1440
|
-
var functionToString = uncurryThis$
|
|
1448
|
+
var functionToString = uncurryThis$h(Function.toString);
|
|
1441
1449
|
|
|
1442
1450
|
// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
|
|
1443
|
-
if (!isCallable$
|
|
1451
|
+
if (!isCallable$h(store.inspectSource)) {
|
|
1444
1452
|
store.inspectSource = function (it) {
|
|
1445
1453
|
return functionToString(it);
|
|
1446
1454
|
};
|
|
@@ -1448,11 +1456,11 @@ if (!isCallable$g(store.inspectSource)) {
|
|
|
1448
1456
|
|
|
1449
1457
|
var inspectSource$3 = store.inspectSource;
|
|
1450
1458
|
|
|
1451
|
-
var uncurryThis$
|
|
1459
|
+
var uncurryThis$g = functionUncurryThis;
|
|
1452
1460
|
var fails$h = fails$o;
|
|
1453
|
-
var isCallable$
|
|
1454
|
-
var hasOwn$
|
|
1455
|
-
var DESCRIPTORS$
|
|
1461
|
+
var isCallable$g = isCallable$o;
|
|
1462
|
+
var hasOwn$7 = hasOwnProperty_1;
|
|
1463
|
+
var DESCRIPTORS$8 = descriptors;
|
|
1456
1464
|
var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
|
|
1457
1465
|
var inspectSource$2 = inspectSource$3;
|
|
1458
1466
|
var InternalStateModule$2 = internalState;
|
|
@@ -1462,37 +1470,37 @@ var getInternalState$3 = InternalStateModule$2.get;
|
|
|
1462
1470
|
var $String$2 = String;
|
|
1463
1471
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
1464
1472
|
var defineProperty$5 = Object.defineProperty;
|
|
1465
|
-
var stringSlice$
|
|
1466
|
-
var replace$
|
|
1467
|
-
var join = uncurryThis$
|
|
1473
|
+
var stringSlice$6 = uncurryThis$g(''.slice);
|
|
1474
|
+
var replace$5 = uncurryThis$g(''.replace);
|
|
1475
|
+
var join = uncurryThis$g([].join);
|
|
1468
1476
|
|
|
1469
|
-
var CONFIGURABLE_LENGTH = DESCRIPTORS$
|
|
1477
|
+
var CONFIGURABLE_LENGTH = DESCRIPTORS$8 && !fails$h(function () {
|
|
1470
1478
|
return defineProperty$5(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
|
|
1471
1479
|
});
|
|
1472
1480
|
|
|
1473
1481
|
var TEMPLATE = String(String).split('String');
|
|
1474
1482
|
|
|
1475
1483
|
var makeBuiltIn$2 = makeBuiltIn$3.exports = function (value, name, options) {
|
|
1476
|
-
if (stringSlice$
|
|
1477
|
-
name = '[' + replace$
|
|
1484
|
+
if (stringSlice$6($String$2(name), 0, 7) === 'Symbol(') {
|
|
1485
|
+
name = '[' + replace$5($String$2(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
|
|
1478
1486
|
}
|
|
1479
1487
|
if (options && options.getter) name = 'get ' + name;
|
|
1480
1488
|
if (options && options.setter) name = 'set ' + name;
|
|
1481
|
-
if (!hasOwn$
|
|
1482
|
-
if (DESCRIPTORS$
|
|
1489
|
+
if (!hasOwn$7(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
|
|
1490
|
+
if (DESCRIPTORS$8) defineProperty$5(value, 'name', { value: name, configurable: true });
|
|
1483
1491
|
else value.name = name;
|
|
1484
1492
|
}
|
|
1485
|
-
if (CONFIGURABLE_LENGTH && options && hasOwn$
|
|
1493
|
+
if (CONFIGURABLE_LENGTH && options && hasOwn$7(options, 'arity') && value.length !== options.arity) {
|
|
1486
1494
|
defineProperty$5(value, 'length', { value: options.arity });
|
|
1487
1495
|
}
|
|
1488
1496
|
try {
|
|
1489
|
-
if (options && hasOwn$
|
|
1490
|
-
if (DESCRIPTORS$
|
|
1497
|
+
if (options && hasOwn$7(options, 'constructor') && options.constructor) {
|
|
1498
|
+
if (DESCRIPTORS$8) defineProperty$5(value, 'prototype', { writable: false });
|
|
1491
1499
|
// in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
|
|
1492
1500
|
} else if (value.prototype) value.prototype = undefined;
|
|
1493
1501
|
} catch (error) { /* empty */ }
|
|
1494
1502
|
var state = enforceInternalState$1(value);
|
|
1495
|
-
if (!hasOwn$
|
|
1503
|
+
if (!hasOwn$7(state, 'source')) {
|
|
1496
1504
|
state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
|
|
1497
1505
|
} return value;
|
|
1498
1506
|
};
|
|
@@ -1500,12 +1508,12 @@ var makeBuiltIn$2 = makeBuiltIn$3.exports = function (value, name, options) {
|
|
|
1500
1508
|
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
|
1501
1509
|
// eslint-disable-next-line no-extend-native -- required
|
|
1502
1510
|
Function.prototype.toString = makeBuiltIn$2(function toString() {
|
|
1503
|
-
return isCallable$
|
|
1511
|
+
return isCallable$g(this) && getInternalState$3(this).source || inspectSource$2(this);
|
|
1504
1512
|
}, 'toString');
|
|
1505
1513
|
|
|
1506
1514
|
var makeBuiltInExports = makeBuiltIn$3.exports;
|
|
1507
1515
|
|
|
1508
|
-
var isCallable$
|
|
1516
|
+
var isCallable$f = isCallable$o;
|
|
1509
1517
|
var definePropertyModule$1 = objectDefineProperty;
|
|
1510
1518
|
var makeBuiltIn$1 = makeBuiltInExports;
|
|
1511
1519
|
var defineGlobalProperty$1 = defineGlobalProperty$3;
|
|
@@ -1514,7 +1522,7 @@ var defineBuiltIn$8 = function (O, key, value, options) {
|
|
|
1514
1522
|
if (!options) options = {};
|
|
1515
1523
|
var simple = options.enumerable;
|
|
1516
1524
|
var name = options.name !== undefined ? options.name : key;
|
|
1517
|
-
if (isCallable$
|
|
1525
|
+
if (isCallable$f(value)) makeBuiltIn$1(value, name, options);
|
|
1518
1526
|
if (options.global) {
|
|
1519
1527
|
if (simple) O[key] = value;
|
|
1520
1528
|
else defineGlobalProperty$1(key, value);
|
|
@@ -1553,12 +1561,12 @@ var objectGetOwnPropertySymbols = {};
|
|
|
1553
1561
|
objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
|
|
1554
1562
|
|
|
1555
1563
|
var getBuiltIn$4 = getBuiltIn$7;
|
|
1556
|
-
var uncurryThis$
|
|
1564
|
+
var uncurryThis$f = functionUncurryThis;
|
|
1557
1565
|
var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
|
|
1558
1566
|
var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
|
|
1559
1567
|
var anObject$a = anObject$e;
|
|
1560
1568
|
|
|
1561
|
-
var concat$2 = uncurryThis$
|
|
1569
|
+
var concat$2 = uncurryThis$f([].concat);
|
|
1562
1570
|
|
|
1563
1571
|
// all object keys, includes non-enumerable and symbols
|
|
1564
1572
|
var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
|
|
@@ -1567,25 +1575,25 @@ var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
|
|
|
1567
1575
|
return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
|
|
1568
1576
|
};
|
|
1569
1577
|
|
|
1570
|
-
var hasOwn$
|
|
1578
|
+
var hasOwn$6 = hasOwnProperty_1;
|
|
1571
1579
|
var ownKeys = ownKeys$1;
|
|
1572
1580
|
var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
|
|
1573
1581
|
var definePropertyModule = objectDefineProperty;
|
|
1574
1582
|
|
|
1575
|
-
var copyConstructorProperties$
|
|
1583
|
+
var copyConstructorProperties$2 = function (target, source, exceptions) {
|
|
1576
1584
|
var keys = ownKeys(source);
|
|
1577
1585
|
var defineProperty = definePropertyModule.f;
|
|
1578
1586
|
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
1579
1587
|
for (var i = 0; i < keys.length; i++) {
|
|
1580
1588
|
var key = keys[i];
|
|
1581
|
-
if (!hasOwn$
|
|
1589
|
+
if (!hasOwn$6(target, key) && !(exceptions && hasOwn$6(exceptions, key))) {
|
|
1582
1590
|
defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
|
1583
1591
|
}
|
|
1584
1592
|
}
|
|
1585
1593
|
};
|
|
1586
1594
|
|
|
1587
1595
|
var fails$g = fails$o;
|
|
1588
|
-
var isCallable$
|
|
1596
|
+
var isCallable$e = isCallable$o;
|
|
1589
1597
|
|
|
1590
1598
|
var replacement = /#|\.prototype\./;
|
|
1591
1599
|
|
|
@@ -1593,7 +1601,7 @@ var isForced$3 = function (feature, detection) {
|
|
|
1593
1601
|
var value = data[normalize(feature)];
|
|
1594
1602
|
return value === POLYFILL ? true
|
|
1595
1603
|
: value === NATIVE ? false
|
|
1596
|
-
: isCallable$
|
|
1604
|
+
: isCallable$e(detection) ? fails$g(detection)
|
|
1597
1605
|
: !!detection;
|
|
1598
1606
|
};
|
|
1599
1607
|
|
|
@@ -1607,12 +1615,12 @@ var POLYFILL = isForced$3.POLYFILL = 'P';
|
|
|
1607
1615
|
|
|
1608
1616
|
var isForced_1 = isForced$3;
|
|
1609
1617
|
|
|
1610
|
-
var global$
|
|
1618
|
+
var global$f = global$o;
|
|
1611
1619
|
var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
|
|
1612
1620
|
var createNonEnumerableProperty$4 = createNonEnumerableProperty$6;
|
|
1613
1621
|
var defineBuiltIn$7 = defineBuiltIn$8;
|
|
1614
1622
|
var defineGlobalProperty = defineGlobalProperty$3;
|
|
1615
|
-
var copyConstructorProperties = copyConstructorProperties$
|
|
1623
|
+
var copyConstructorProperties$1 = copyConstructorProperties$2;
|
|
1616
1624
|
var isForced$2 = isForced_1;
|
|
1617
1625
|
|
|
1618
1626
|
/*
|
|
@@ -1636,11 +1644,11 @@ var _export = function (options, source) {
|
|
|
1636
1644
|
var STATIC = options.stat;
|
|
1637
1645
|
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
|
1638
1646
|
if (GLOBAL) {
|
|
1639
|
-
target = global$
|
|
1647
|
+
target = global$f;
|
|
1640
1648
|
} else if (STATIC) {
|
|
1641
|
-
target = global$
|
|
1649
|
+
target = global$f[TARGET] || defineGlobalProperty(TARGET, {});
|
|
1642
1650
|
} else {
|
|
1643
|
-
target = global$
|
|
1651
|
+
target = global$f[TARGET] && global$f[TARGET].prototype;
|
|
1644
1652
|
}
|
|
1645
1653
|
if (target) for (key in source) {
|
|
1646
1654
|
sourceProperty = source[key];
|
|
@@ -1652,7 +1660,7 @@ var _export = function (options, source) {
|
|
|
1652
1660
|
// contained in target
|
|
1653
1661
|
if (!FORCED && targetProperty !== undefined) {
|
|
1654
1662
|
if (typeof sourceProperty == typeof targetProperty) continue;
|
|
1655
|
-
copyConstructorProperties(sourceProperty, targetProperty);
|
|
1663
|
+
copyConstructorProperties$1(sourceProperty, targetProperty);
|
|
1656
1664
|
}
|
|
1657
1665
|
// add a flag to not completely full polyfills
|
|
1658
1666
|
if (options.sham || (targetProperty && targetProperty.sham)) {
|
|
@@ -1671,8 +1679,8 @@ var correctPrototypeGetter = !fails$f(function () {
|
|
|
1671
1679
|
return Object.getPrototypeOf(new F()) !== F.prototype;
|
|
1672
1680
|
});
|
|
1673
1681
|
|
|
1674
|
-
var hasOwn$
|
|
1675
|
-
var isCallable$
|
|
1682
|
+
var hasOwn$5 = hasOwnProperty_1;
|
|
1683
|
+
var isCallable$d = isCallable$o;
|
|
1676
1684
|
var toObject$4 = toObject$6;
|
|
1677
1685
|
var sharedKey = sharedKey$3;
|
|
1678
1686
|
var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
|
|
@@ -1686,15 +1694,15 @@ var ObjectPrototype = $Object$1.prototype;
|
|
|
1686
1694
|
// eslint-disable-next-line es/no-object-getprototypeof -- safe
|
|
1687
1695
|
var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf : function (O) {
|
|
1688
1696
|
var object = toObject$4(O);
|
|
1689
|
-
if (hasOwn$
|
|
1697
|
+
if (hasOwn$5(object, IE_PROTO)) return object[IE_PROTO];
|
|
1690
1698
|
var constructor = object.constructor;
|
|
1691
|
-
if (isCallable$
|
|
1699
|
+
if (isCallable$d(constructor) && object instanceof constructor) {
|
|
1692
1700
|
return constructor.prototype;
|
|
1693
1701
|
} return object instanceof $Object$1 ? ObjectPrototype : null;
|
|
1694
1702
|
};
|
|
1695
1703
|
|
|
1696
1704
|
var fails$e = fails$o;
|
|
1697
|
-
var isCallable$
|
|
1705
|
+
var isCallable$c = isCallable$o;
|
|
1698
1706
|
var isObject$6 = isObject$c;
|
|
1699
1707
|
var getPrototypeOf$1 = objectGetPrototypeOf;
|
|
1700
1708
|
var defineBuiltIn$6 = defineBuiltIn$8;
|
|
@@ -1728,7 +1736,7 @@ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
|
|
|
1728
1736
|
|
|
1729
1737
|
// `%IteratorPrototype%[@@iterator]()` method
|
|
1730
1738
|
// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
|
|
1731
|
-
if (!isCallable$
|
|
1739
|
+
if (!isCallable$c(IteratorPrototype$2[ITERATOR$6])) {
|
|
1732
1740
|
defineBuiltIn$6(IteratorPrototype$2, ITERATOR$6, function () {
|
|
1733
1741
|
return this;
|
|
1734
1742
|
});
|
|
@@ -1740,14 +1748,14 @@ var iteratorsCore = {
|
|
|
1740
1748
|
};
|
|
1741
1749
|
|
|
1742
1750
|
var defineProperty$4 = objectDefineProperty.f;
|
|
1743
|
-
var hasOwn$
|
|
1751
|
+
var hasOwn$4 = hasOwnProperty_1;
|
|
1744
1752
|
var wellKnownSymbol$f = wellKnownSymbol$j;
|
|
1745
1753
|
|
|
1746
1754
|
var TO_STRING_TAG$2 = wellKnownSymbol$f('toStringTag');
|
|
1747
1755
|
|
|
1748
1756
|
var setToStringTag$4 = function (target, TAG, STATIC) {
|
|
1749
1757
|
if (target && !STATIC) target = target.prototype;
|
|
1750
|
-
if (target && !hasOwn$
|
|
1758
|
+
if (target && !hasOwn$4(target, TO_STRING_TAG$2)) {
|
|
1751
1759
|
defineProperty$4(target, TO_STRING_TAG$2, { configurable: true, value: TAG });
|
|
1752
1760
|
}
|
|
1753
1761
|
};
|
|
@@ -1768,13 +1776,13 @@ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUME
|
|
|
1768
1776
|
return IteratorConstructor;
|
|
1769
1777
|
};
|
|
1770
1778
|
|
|
1771
|
-
var uncurryThis$
|
|
1779
|
+
var uncurryThis$e = functionUncurryThis;
|
|
1772
1780
|
var aCallable$7 = aCallable$9;
|
|
1773
1781
|
|
|
1774
1782
|
var functionUncurryThisAccessor = function (object, key, method) {
|
|
1775
1783
|
try {
|
|
1776
1784
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
1777
|
-
return uncurryThis$
|
|
1785
|
+
return uncurryThis$e(aCallable$7(Object.getOwnPropertyDescriptor(object, key)[method]));
|
|
1778
1786
|
} catch (error) { /* empty */ }
|
|
1779
1787
|
};
|
|
1780
1788
|
|
|
@@ -1823,10 +1831,10 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
|
|
|
1823
1831
|
};
|
|
1824
1832
|
}() : undefined);
|
|
1825
1833
|
|
|
1826
|
-
var $$
|
|
1834
|
+
var $$f = _export;
|
|
1827
1835
|
var call$e = functionCall;
|
|
1828
1836
|
var FunctionName = functionName;
|
|
1829
|
-
var isCallable$
|
|
1837
|
+
var isCallable$b = isCallable$o;
|
|
1830
1838
|
var createIteratorConstructor = iteratorCreateConstructor;
|
|
1831
1839
|
var getPrototypeOf = objectGetPrototypeOf;
|
|
1832
1840
|
var setPrototypeOf$2 = objectSetPrototypeOf;
|
|
@@ -1881,7 +1889,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
|
|
|
1881
1889
|
if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
|
|
1882
1890
|
if (setPrototypeOf$2) {
|
|
1883
1891
|
setPrototypeOf$2(CurrentIteratorPrototype, IteratorPrototype);
|
|
1884
|
-
} else if (!isCallable$
|
|
1892
|
+
} else if (!isCallable$b(CurrentIteratorPrototype[ITERATOR$5])) {
|
|
1885
1893
|
defineBuiltIn$5(CurrentIteratorPrototype, ITERATOR$5, returnThis);
|
|
1886
1894
|
}
|
|
1887
1895
|
}
|
|
@@ -1911,7 +1919,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
|
|
|
1911
1919
|
if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
|
|
1912
1920
|
defineBuiltIn$5(IterablePrototype, KEY, methods[KEY]);
|
|
1913
1921
|
}
|
|
1914
|
-
} else $$
|
|
1922
|
+
} else $$f({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
|
|
1915
1923
|
}
|
|
1916
1924
|
|
|
1917
1925
|
// define iterator
|
|
@@ -1936,7 +1944,7 @@ var InternalStateModule$1 = internalState;
|
|
|
1936
1944
|
var defineProperty$3 = objectDefineProperty.f;
|
|
1937
1945
|
var defineIterator = iteratorDefine;
|
|
1938
1946
|
var createIterResultObject = createIterResultObject$1;
|
|
1939
|
-
var DESCRIPTORS$
|
|
1947
|
+
var DESCRIPTORS$7 = descriptors;
|
|
1940
1948
|
|
|
1941
1949
|
var ARRAY_ITERATOR = 'Array Iterator';
|
|
1942
1950
|
var setInternalState$1 = InternalStateModule$1.set;
|
|
@@ -1986,12 +1994,12 @@ addToUnscopables$1('values');
|
|
|
1986
1994
|
addToUnscopables$1('entries');
|
|
1987
1995
|
|
|
1988
1996
|
// V8 ~ Chrome 45- bug
|
|
1989
|
-
if (DESCRIPTORS$
|
|
1997
|
+
if (DESCRIPTORS$7 && values.name !== 'values') try {
|
|
1990
1998
|
defineProperty$3(values, 'name', { value: 'values' });
|
|
1991
1999
|
} catch (error) { /* empty */ }
|
|
1992
2000
|
|
|
1993
|
-
var DESCRIPTORS$
|
|
1994
|
-
var uncurryThis$
|
|
2001
|
+
var DESCRIPTORS$6 = descriptors;
|
|
2002
|
+
var uncurryThis$d = functionUncurryThis;
|
|
1995
2003
|
var call$d = functionCall;
|
|
1996
2004
|
var fails$d = fails$o;
|
|
1997
2005
|
var objectKeys = objectKeys$2;
|
|
@@ -2004,13 +2012,13 @@ var IndexedObject$1 = indexedObject;
|
|
|
2004
2012
|
var $assign = Object.assign;
|
|
2005
2013
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
2006
2014
|
var defineProperty$2 = Object.defineProperty;
|
|
2007
|
-
var concat$1 = uncurryThis$
|
|
2015
|
+
var concat$1 = uncurryThis$d([].concat);
|
|
2008
2016
|
|
|
2009
2017
|
// `Object.assign` method
|
|
2010
2018
|
// https://tc39.es/ecma262/#sec-object.assign
|
|
2011
2019
|
var objectAssign = !$assign || fails$d(function () {
|
|
2012
2020
|
// should have correct order of operations (Edge bug)
|
|
2013
|
-
if (DESCRIPTORS$
|
|
2021
|
+
if (DESCRIPTORS$6 && $assign({ b: 1 }, $assign(defineProperty$2({}, 'a', {
|
|
2014
2022
|
enumerable: true,
|
|
2015
2023
|
get: function () {
|
|
2016
2024
|
defineProperty$2(this, 'b', {
|
|
@@ -2042,18 +2050,18 @@ var objectAssign = !$assign || fails$d(function () {
|
|
|
2042
2050
|
var key;
|
|
2043
2051
|
while (length > j) {
|
|
2044
2052
|
key = keys[j++];
|
|
2045
|
-
if (!DESCRIPTORS$
|
|
2053
|
+
if (!DESCRIPTORS$6 || call$d(propertyIsEnumerable, S, key)) T[key] = S[key];
|
|
2046
2054
|
}
|
|
2047
2055
|
} return T;
|
|
2048
2056
|
} : $assign;
|
|
2049
2057
|
|
|
2050
|
-
var $$
|
|
2058
|
+
var $$e = _export;
|
|
2051
2059
|
var assign = objectAssign;
|
|
2052
2060
|
|
|
2053
2061
|
// `Object.assign` method
|
|
2054
2062
|
// https://tc39.es/ecma262/#sec-object.assign
|
|
2055
2063
|
// eslint-disable-next-line es/no-object-assign -- required for testing
|
|
2056
|
-
$$
|
|
2064
|
+
$$e({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
|
|
2057
2065
|
assign: assign
|
|
2058
2066
|
});
|
|
2059
2067
|
|
|
@@ -2101,7 +2109,7 @@ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.co
|
|
|
2101
2109
|
|
|
2102
2110
|
var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
|
|
2103
2111
|
|
|
2104
|
-
var global$
|
|
2112
|
+
var global$e = global$o;
|
|
2105
2113
|
var DOMIterables = domIterables;
|
|
2106
2114
|
var DOMTokenListPrototype = domTokenListPrototype;
|
|
2107
2115
|
var ArrayIteratorMethods = es_array_iterator;
|
|
@@ -2133,13 +2141,13 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
|
|
|
2133
2141
|
};
|
|
2134
2142
|
|
|
2135
2143
|
for (var COLLECTION_NAME in DOMIterables) {
|
|
2136
|
-
handlePrototype(global$
|
|
2144
|
+
handlePrototype(global$e[COLLECTION_NAME] && global$e[COLLECTION_NAME].prototype, COLLECTION_NAME);
|
|
2137
2145
|
}
|
|
2138
2146
|
|
|
2139
2147
|
handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
|
|
2140
2148
|
|
|
2141
|
-
/**
|
|
2142
|
-
* The possible type for the airmet
|
|
2149
|
+
/**
|
|
2150
|
+
* The possible type for the airmet
|
|
2143
2151
|
*/
|
|
2144
2152
|
var AirmetType;
|
|
2145
2153
|
(function (AirmetType) {
|
|
@@ -2147,8 +2155,8 @@ var AirmetType;
|
|
|
2147
2155
|
AirmetType["TEST"] = "Test";
|
|
2148
2156
|
AirmetType["EXERCISE"] = "Exercise";
|
|
2149
2157
|
})(AirmetType || (AirmetType = {}));
|
|
2150
|
-
/**
|
|
2151
|
-
* The possible type for the sigmet
|
|
2158
|
+
/**
|
|
2159
|
+
* The possible type for the sigmet
|
|
2152
2160
|
*/
|
|
2153
2161
|
var SigmetType;
|
|
2154
2162
|
(function (SigmetType) {
|
|
@@ -2158,53 +2166,6 @@ var SigmetType;
|
|
|
2158
2166
|
SigmetType["SHORT_TEST"] = "Short test";
|
|
2159
2167
|
SigmetType["SHORT_VA_TEST"] = "Short VA test";
|
|
2160
2168
|
})(SigmetType || (SigmetType = {}));
|
|
2161
|
-
/**
|
|
2162
|
-
* The possible phenomena for the sigmet
|
|
2163
|
-
*/
|
|
2164
|
-
var SigmetPhenomena;
|
|
2165
|
-
(function (SigmetPhenomena) {
|
|
2166
|
-
SigmetPhenomena["EMBD_TS"] = "Embedded thunderstorm(s)";
|
|
2167
|
-
SigmetPhenomena["EMBD_TSGR"] = "Embedded thunderstorm(s) with hail";
|
|
2168
|
-
SigmetPhenomena["FRQ_TS"] = "Frequent thunderstorm(s)";
|
|
2169
|
-
SigmetPhenomena["FRQ_TSGR"] = "Frequent thunderstorm(s) with hail";
|
|
2170
|
-
SigmetPhenomena["HVY_DS"] = "Heavy duststorm";
|
|
2171
|
-
SigmetPhenomena["HVY_SS"] = "Heavy sandstorm";
|
|
2172
|
-
SigmetPhenomena["OBSC_TS"] = "Obscured thunderstorm(s)";
|
|
2173
|
-
SigmetPhenomena["OBSC_TSGR"] = "Obscured thunderstorm(s) with hail";
|
|
2174
|
-
SigmetPhenomena["RDOACT_CLD"] = "Radioactive cloud";
|
|
2175
|
-
SigmetPhenomena["SEV_ICE"] = "Severe icing";
|
|
2176
|
-
SigmetPhenomena["SEV_ICE_FRZ_RN"] = "Severe icing due to freezing rain";
|
|
2177
|
-
SigmetPhenomena["SEV_MTW"] = "Severe mountain wave";
|
|
2178
|
-
SigmetPhenomena["SEV_TURB"] = "Severe turbulence";
|
|
2179
|
-
SigmetPhenomena["SQL_TS"] = "Squall line";
|
|
2180
|
-
SigmetPhenomena["SQL_TSGR"] = "Squall line thunderstorm(s) with hail";
|
|
2181
|
-
// 'TC' = 'Tropical cyclone', // Don't show this option in the list because it will be not used by KNMI.
|
|
2182
|
-
SigmetPhenomena["VA_CLD"] = "Volcanic ash cloud";
|
|
2183
|
-
})(SigmetPhenomena || (SigmetPhenomena = {}));
|
|
2184
|
-
/**
|
|
2185
|
-
* The possible phenomena for the airmet
|
|
2186
|
-
*/
|
|
2187
|
-
var AirmetPhenomena;
|
|
2188
|
-
(function (AirmetPhenomena) {
|
|
2189
|
-
AirmetPhenomena["SFC_VIS"] = "Surface visibility";
|
|
2190
|
-
AirmetPhenomena["SFC_WIND"] = "Surface wind";
|
|
2191
|
-
AirmetPhenomena["OVC_CLD"] = "Overcast cloud";
|
|
2192
|
-
AirmetPhenomena["BKN_CLD"] = "Broken cloud";
|
|
2193
|
-
AirmetPhenomena["ISOL_CB"] = "Isolated cumulonimbus cloud";
|
|
2194
|
-
AirmetPhenomena["OCNL_CB"] = "Occasional cumulonimbus cloud";
|
|
2195
|
-
AirmetPhenomena["FRQ_CB"] = "Frequent cumulonimbus cloud";
|
|
2196
|
-
AirmetPhenomena["ISOL_TS"] = "Isolated thunderstorm(s)";
|
|
2197
|
-
AirmetPhenomena["OCNL_TS"] = "Occasional thunderstorm(s)";
|
|
2198
|
-
AirmetPhenomena["ISOL_TSGR"] = "Isolated thunderstorm(s) with hail";
|
|
2199
|
-
AirmetPhenomena["OCNL_TSGR"] = "Occasional thunderstorm(s) with hail";
|
|
2200
|
-
AirmetPhenomena["ISOL_TCU"] = "Isolated towering cumulus cloud";
|
|
2201
|
-
AirmetPhenomena["OCNL_TCU"] = "Occasional towering cumulus cloud";
|
|
2202
|
-
AirmetPhenomena["FRQ_TCU"] = "Frequent towering cumulus cloud";
|
|
2203
|
-
AirmetPhenomena["MOD_ICE"] = "Moderate icing";
|
|
2204
|
-
AirmetPhenomena["MOD_MTW"] = "Moderate mountain wave";
|
|
2205
|
-
AirmetPhenomena["MOD_TURB"] = "Moderate turbulence";
|
|
2206
|
-
AirmetPhenomena["MT_OBSC"] = "Mountains obscured";
|
|
2207
|
-
})(AirmetPhenomena || (AirmetPhenomena = {}));
|
|
2208
2169
|
var VisibilityCause;
|
|
2209
2170
|
(function (VisibilityCause) {
|
|
2210
2171
|
VisibilityCause["DZ"] = "Drizzle";
|
|
@@ -2238,6 +2199,15 @@ var WindUnit;
|
|
|
2238
2199
|
WindUnit["KT"] = "kt";
|
|
2239
2200
|
WindUnit["MPS"] = "mps";
|
|
2240
2201
|
})(WindUnit || (WindUnit = {}));
|
|
2202
|
+
var ProductAction;
|
|
2203
|
+
(function (ProductAction) {
|
|
2204
|
+
ProductAction["PUBLISH"] = "PUBLISH";
|
|
2205
|
+
ProductAction["CANCEL"] = "CANCEL";
|
|
2206
|
+
ProductAction["RENEW"] = "RENEW";
|
|
2207
|
+
ProductAction["SAVE"] = "SAVE";
|
|
2208
|
+
ProductAction["DISCARD"] = "DISCARD";
|
|
2209
|
+
ProductAction["CLOSE"] = "CLOSE";
|
|
2210
|
+
})(ProductAction || (ProductAction = {}));
|
|
2241
2211
|
var ProductStatusDescription;
|
|
2242
2212
|
(function (ProductStatusDescription) {
|
|
2243
2213
|
ProductStatusDescription["DRAFT"] = "Draft";
|
|
@@ -2300,22 +2270,22 @@ var StartOrEndDrawing;
|
|
|
2300
2270
|
StartOrEndDrawing["end"] = "end";
|
|
2301
2271
|
})(StartOrEndDrawing || (StartOrEndDrawing = {}));
|
|
2302
2272
|
|
|
2303
|
-
/* *
|
|
2304
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2305
|
-
* you may not use this file except in compliance with the License.
|
|
2306
|
-
* You may obtain a copy of the License at
|
|
2307
|
-
*
|
|
2308
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2309
|
-
*
|
|
2310
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2311
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2312
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2313
|
-
* See the License for the specific language governing permissions and
|
|
2314
|
-
* limitations under the License.
|
|
2315
|
-
*
|
|
2316
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2317
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
2318
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
2273
|
+
/* *
|
|
2274
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2275
|
+
* you may not use this file except in compliance with the License.
|
|
2276
|
+
* You may obtain a copy of the License at
|
|
2277
|
+
*
|
|
2278
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2279
|
+
*
|
|
2280
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2281
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2282
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2283
|
+
* See the License for the specific language governing permissions and
|
|
2284
|
+
* limitations under the License.
|
|
2285
|
+
*
|
|
2286
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2287
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
2288
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
2319
2289
|
* */
|
|
2320
2290
|
const styles$2 = {
|
|
2321
2291
|
label: {
|
|
@@ -2507,22 +2477,22 @@ const ProductFormFieldLayout = _a => {
|
|
|
2507
2477
|
}));
|
|
2508
2478
|
};
|
|
2509
2479
|
|
|
2510
|
-
/* *
|
|
2511
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2512
|
-
* you may not use this file except in compliance with the License.
|
|
2513
|
-
* You may obtain a copy of the License at
|
|
2514
|
-
*
|
|
2515
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2516
|
-
*
|
|
2517
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2518
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2519
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2520
|
-
* See the License for the specific language governing permissions and
|
|
2521
|
-
* limitations under the License.
|
|
2522
|
-
*
|
|
2523
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2524
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
2525
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
2480
|
+
/* *
|
|
2481
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2482
|
+
* you may not use this file except in compliance with the License.
|
|
2483
|
+
* You may obtain a copy of the License at
|
|
2484
|
+
*
|
|
2485
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2486
|
+
*
|
|
2487
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2488
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2489
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2490
|
+
* See the License for the specific language governing permissions and
|
|
2491
|
+
* limitations under the License.
|
|
2492
|
+
*
|
|
2493
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2494
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
2495
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
2526
2496
|
* */
|
|
2527
2497
|
const useShortTestHelpers = () => {
|
|
2528
2498
|
const {
|
|
@@ -2615,6 +2585,120 @@ const Change = ({
|
|
|
2615
2585
|
}));
|
|
2616
2586
|
};
|
|
2617
2587
|
|
|
2588
|
+
var wellKnownSymbol$c = wellKnownSymbol$j;
|
|
2589
|
+
|
|
2590
|
+
var TO_STRING_TAG$1 = wellKnownSymbol$c('toStringTag');
|
|
2591
|
+
var test = {};
|
|
2592
|
+
|
|
2593
|
+
test[TO_STRING_TAG$1] = 'z';
|
|
2594
|
+
|
|
2595
|
+
var toStringTagSupport = String(test) === '[object z]';
|
|
2596
|
+
|
|
2597
|
+
var TO_STRING_TAG_SUPPORT = toStringTagSupport;
|
|
2598
|
+
var isCallable$a = isCallable$o;
|
|
2599
|
+
var classofRaw$1 = classofRaw$2;
|
|
2600
|
+
var wellKnownSymbol$b = wellKnownSymbol$j;
|
|
2601
|
+
|
|
2602
|
+
var TO_STRING_TAG = wellKnownSymbol$b('toStringTag');
|
|
2603
|
+
var $Object = Object;
|
|
2604
|
+
|
|
2605
|
+
// ES3 wrong here
|
|
2606
|
+
var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments';
|
|
2607
|
+
|
|
2608
|
+
// fallback for IE11 Script Access Denied error
|
|
2609
|
+
var tryGet = function (it, key) {
|
|
2610
|
+
try {
|
|
2611
|
+
return it[key];
|
|
2612
|
+
} catch (error) { /* empty */ }
|
|
2613
|
+
};
|
|
2614
|
+
|
|
2615
|
+
// getting tag from ES6+ `Object.prototype.toString`
|
|
2616
|
+
var classof$8 = TO_STRING_TAG_SUPPORT ? classofRaw$1 : function (it) {
|
|
2617
|
+
var O, tag, result;
|
|
2618
|
+
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
|
2619
|
+
// @@toStringTag case
|
|
2620
|
+
: typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
|
|
2621
|
+
// builtinTag case
|
|
2622
|
+
: CORRECT_ARGUMENTS ? classofRaw$1(O)
|
|
2623
|
+
// ES3 arguments fallback
|
|
2624
|
+
: (result = classofRaw$1(O)) === 'Object' && isCallable$a(O.callee) ? 'Arguments' : result;
|
|
2625
|
+
};
|
|
2626
|
+
|
|
2627
|
+
var classof$7 = classof$8;
|
|
2628
|
+
|
|
2629
|
+
var $String = String;
|
|
2630
|
+
|
|
2631
|
+
var toString$9 = function (argument) {
|
|
2632
|
+
if (classof$7(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
|
|
2633
|
+
return $String(argument);
|
|
2634
|
+
};
|
|
2635
|
+
|
|
2636
|
+
var makeBuiltIn = makeBuiltInExports;
|
|
2637
|
+
var defineProperty$1 = objectDefineProperty;
|
|
2638
|
+
|
|
2639
|
+
var defineBuiltInAccessor$3 = function (target, name, descriptor) {
|
|
2640
|
+
if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
|
|
2641
|
+
if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
|
|
2642
|
+
return defineProperty$1.f(target, name, descriptor);
|
|
2643
|
+
};
|
|
2644
|
+
|
|
2645
|
+
var $$d = _export;
|
|
2646
|
+
var DESCRIPTORS$5 = descriptors;
|
|
2647
|
+
var global$d = global$o;
|
|
2648
|
+
var uncurryThis$c = functionUncurryThis;
|
|
2649
|
+
var hasOwn$3 = hasOwnProperty_1;
|
|
2650
|
+
var isCallable$9 = isCallable$o;
|
|
2651
|
+
var isPrototypeOf$4 = objectIsPrototypeOf;
|
|
2652
|
+
var toString$8 = toString$9;
|
|
2653
|
+
var defineBuiltInAccessor$2 = defineBuiltInAccessor$3;
|
|
2654
|
+
var copyConstructorProperties = copyConstructorProperties$2;
|
|
2655
|
+
|
|
2656
|
+
var NativeSymbol = global$d.Symbol;
|
|
2657
|
+
var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
|
|
2658
|
+
|
|
2659
|
+
if (DESCRIPTORS$5 && isCallable$9(NativeSymbol) && (!('description' in SymbolPrototype) ||
|
|
2660
|
+
// Safari 12 bug
|
|
2661
|
+
NativeSymbol().description !== undefined
|
|
2662
|
+
)) {
|
|
2663
|
+
var EmptyStringDescriptionStore = {};
|
|
2664
|
+
// wrap Symbol constructor for correct work with undefined description
|
|
2665
|
+
var SymbolWrapper = function Symbol() {
|
|
2666
|
+
var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString$8(arguments[0]);
|
|
2667
|
+
var result = isPrototypeOf$4(SymbolPrototype, this)
|
|
2668
|
+
? new NativeSymbol(description)
|
|
2669
|
+
// in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
|
|
2670
|
+
: description === undefined ? NativeSymbol() : NativeSymbol(description);
|
|
2671
|
+
if (description === '') EmptyStringDescriptionStore[result] = true;
|
|
2672
|
+
return result;
|
|
2673
|
+
};
|
|
2674
|
+
|
|
2675
|
+
copyConstructorProperties(SymbolWrapper, NativeSymbol);
|
|
2676
|
+
SymbolWrapper.prototype = SymbolPrototype;
|
|
2677
|
+
SymbolPrototype.constructor = SymbolWrapper;
|
|
2678
|
+
|
|
2679
|
+
var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)';
|
|
2680
|
+
var thisSymbolValue = uncurryThis$c(SymbolPrototype.valueOf);
|
|
2681
|
+
var symbolDescriptiveString = uncurryThis$c(SymbolPrototype.toString);
|
|
2682
|
+
var regexp = /^Symbol\((.*)\)[^)]+$/;
|
|
2683
|
+
var replace$4 = uncurryThis$c(''.replace);
|
|
2684
|
+
var stringSlice$5 = uncurryThis$c(''.slice);
|
|
2685
|
+
|
|
2686
|
+
defineBuiltInAccessor$2(SymbolPrototype, 'description', {
|
|
2687
|
+
configurable: true,
|
|
2688
|
+
get: function description() {
|
|
2689
|
+
var symbol = thisSymbolValue(this);
|
|
2690
|
+
if (hasOwn$3(EmptyStringDescriptionStore, symbol)) return '';
|
|
2691
|
+
var string = symbolDescriptiveString(symbol);
|
|
2692
|
+
var desc = NATIVE_SYMBOL ? stringSlice$5(string, 7, -1) : replace$4(string, regexp, '$1');
|
|
2693
|
+
return desc === '' ? undefined : desc;
|
|
2694
|
+
}
|
|
2695
|
+
});
|
|
2696
|
+
|
|
2697
|
+
$$d({ global: true, constructor: true, forced: true }, {
|
|
2698
|
+
Symbol: SymbolWrapper
|
|
2699
|
+
});
|
|
2700
|
+
}
|
|
2701
|
+
|
|
2618
2702
|
var $$c = _export;
|
|
2619
2703
|
var $includes = arrayIncludes.includes;
|
|
2620
2704
|
var fails$c = fails$o;
|
|
@@ -2693,10 +2777,10 @@ var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
|
|
|
2693
2777
|
});
|
|
2694
2778
|
};
|
|
2695
2779
|
|
|
2696
|
-
var global$c = global$
|
|
2697
|
-
var classof$
|
|
2780
|
+
var global$c = global$o;
|
|
2781
|
+
var classof$6 = classofRaw$2;
|
|
2698
2782
|
|
|
2699
|
-
var engineIsNode = classof$
|
|
2783
|
+
var engineIsNode = classof$6(global$c.process) === 'process';
|
|
2700
2784
|
|
|
2701
2785
|
var $$b = _export;
|
|
2702
2786
|
var $reduce = arrayReduce.left;
|
|
@@ -2718,54 +2802,6 @@ $$b({ target: 'Array', proto: true, forced: FORCED$2 }, {
|
|
|
2718
2802
|
}
|
|
2719
2803
|
});
|
|
2720
2804
|
|
|
2721
|
-
var wellKnownSymbol$c = wellKnownSymbol$j;
|
|
2722
|
-
|
|
2723
|
-
var TO_STRING_TAG$1 = wellKnownSymbol$c('toStringTag');
|
|
2724
|
-
var test = {};
|
|
2725
|
-
|
|
2726
|
-
test[TO_STRING_TAG$1] = 'z';
|
|
2727
|
-
|
|
2728
|
-
var toStringTagSupport = String(test) === '[object z]';
|
|
2729
|
-
|
|
2730
|
-
var TO_STRING_TAG_SUPPORT = toStringTagSupport;
|
|
2731
|
-
var isCallable$9 = isCallable$n;
|
|
2732
|
-
var classofRaw$1 = classofRaw$2;
|
|
2733
|
-
var wellKnownSymbol$b = wellKnownSymbol$j;
|
|
2734
|
-
|
|
2735
|
-
var TO_STRING_TAG = wellKnownSymbol$b('toStringTag');
|
|
2736
|
-
var $Object = Object;
|
|
2737
|
-
|
|
2738
|
-
// ES3 wrong here
|
|
2739
|
-
var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments';
|
|
2740
|
-
|
|
2741
|
-
// fallback for IE11 Script Access Denied error
|
|
2742
|
-
var tryGet = function (it, key) {
|
|
2743
|
-
try {
|
|
2744
|
-
return it[key];
|
|
2745
|
-
} catch (error) { /* empty */ }
|
|
2746
|
-
};
|
|
2747
|
-
|
|
2748
|
-
// getting tag from ES6+ `Object.prototype.toString`
|
|
2749
|
-
var classof$7 = TO_STRING_TAG_SUPPORT ? classofRaw$1 : function (it) {
|
|
2750
|
-
var O, tag, result;
|
|
2751
|
-
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
|
2752
|
-
// @@toStringTag case
|
|
2753
|
-
: typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
|
|
2754
|
-
// builtinTag case
|
|
2755
|
-
: CORRECT_ARGUMENTS ? classofRaw$1(O)
|
|
2756
|
-
// ES3 arguments fallback
|
|
2757
|
-
: (result = classofRaw$1(O)) === 'Object' && isCallable$9(O.callee) ? 'Arguments' : result;
|
|
2758
|
-
};
|
|
2759
|
-
|
|
2760
|
-
var classof$6 = classof$7;
|
|
2761
|
-
|
|
2762
|
-
var $String = String;
|
|
2763
|
-
|
|
2764
|
-
var toString$8 = function (argument) {
|
|
2765
|
-
if (classof$6(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
|
|
2766
|
-
return $String(argument);
|
|
2767
|
-
};
|
|
2768
|
-
|
|
2769
2805
|
var anObject$9 = anObject$e;
|
|
2770
2806
|
|
|
2771
2807
|
// `RegExp.prototype.flags` getter implementation
|
|
@@ -2800,7 +2836,7 @@ var regexpGetFlags = function (R) {
|
|
|
2800
2836
|
var PROPER_FUNCTION_NAME = functionName.PROPER;
|
|
2801
2837
|
var defineBuiltIn$4 = defineBuiltIn$8;
|
|
2802
2838
|
var anObject$8 = anObject$e;
|
|
2803
|
-
var $toString = toString$
|
|
2839
|
+
var $toString = toString$9;
|
|
2804
2840
|
var fails$a = fails$o;
|
|
2805
2841
|
var getRegExpFlags$1 = regexpGetFlags;
|
|
2806
2842
|
|
|
@@ -2866,7 +2902,7 @@ var $$a = _export;
|
|
|
2866
2902
|
var uncurryThis$b = functionUncurryThis;
|
|
2867
2903
|
var notARegExp = notARegexp;
|
|
2868
2904
|
var requireObjectCoercible$3 = requireObjectCoercible$7;
|
|
2869
|
-
var toString$7 = toString$
|
|
2905
|
+
var toString$7 = toString$9;
|
|
2870
2906
|
var correctIsRegExpLogic = correctIsRegexpLogic;
|
|
2871
2907
|
|
|
2872
2908
|
var stringIndexOf$2 = uncurryThis$b(''.indexOf);
|
|
@@ -2912,6 +2948,14 @@ const featurePropsFIR = {
|
|
|
2912
2948
|
'fill-opacity': 0.0
|
|
2913
2949
|
};
|
|
2914
2950
|
|
|
2951
|
+
const getDefaultPhenomena = (productConfig, currentFir) => {
|
|
2952
|
+
const defaultActiveFIR = productConfig.active_firs[0]; // first FIR in active_firs is the default
|
|
2953
|
+
const currentFirArea = productConfig.fir_areas[defaultActiveFIR];
|
|
2954
|
+
const firPhenomena = currentFirArea.phenomenon || [];
|
|
2955
|
+
return {
|
|
2956
|
+
phenomena: firPhenomena
|
|
2957
|
+
};
|
|
2958
|
+
};
|
|
2915
2959
|
const getHoursBeforeValidity = (phenomenon, fir, config) => {
|
|
2916
2960
|
if (!fir) {
|
|
2917
2961
|
return 4;
|
|
@@ -3106,14 +3150,27 @@ const isLevelLower = (ownValue, ownUnit, otherValue, otherUnit) => {
|
|
|
3106
3150
|
const otherValueFeet = getLevelInFeet(otherValue, otherUnit);
|
|
3107
3151
|
return ownValueFeet < otherValueFeet;
|
|
3108
3152
|
};
|
|
3109
|
-
const
|
|
3153
|
+
const getPhenomenon = (selectedFIR, phenomenon, productConfig) => {
|
|
3154
|
+
var _a;
|
|
3155
|
+
const FIR = getFirArea(selectedFIR, productConfig);
|
|
3156
|
+
const firArea = productConfig.fir_areas[FIR];
|
|
3157
|
+
if (!firArea) {
|
|
3158
|
+
return undefined;
|
|
3159
|
+
}
|
|
3160
|
+
const firPhenomenon = (_a = firArea.phenomenon) === null || _a === void 0 ? void 0 : _a.find(p => p.code === phenomenon);
|
|
3161
|
+
if (!firPhenomenon) {
|
|
3162
|
+
return undefined;
|
|
3163
|
+
}
|
|
3164
|
+
return firPhenomenon.description;
|
|
3165
|
+
};
|
|
3166
|
+
const getDialogtitle = (product, productType, productConfig) => {
|
|
3110
3167
|
const productName = productType.toUpperCase();
|
|
3111
3168
|
if (product === null) {
|
|
3112
3169
|
return `New ${productName}`;
|
|
3113
3170
|
}
|
|
3114
3171
|
if (!isInstanceOfCancelSigmetOrAirmet(product)) {
|
|
3115
|
-
const phenomenon =
|
|
3116
|
-
return `${productName} ${phenomenon} - ${product.status === 'DRAFT' ? translateKeyOutsideComponents('saved-as-draft') : ProductStatusDescription[product.status]}`;
|
|
3172
|
+
const phenomenon = getPhenomenon(product.firName, product.phenomenon, productConfig);
|
|
3173
|
+
return `${productName} ${phenomenon || ''} - ${product.status === 'DRAFT' ? translateKeyOutsideComponents('saved-as-draft') : ProductStatusDescription[product.status]}`;
|
|
3117
3174
|
}
|
|
3118
3175
|
if (isInstanceOfCancelSigmet(product)) {
|
|
3119
3176
|
return `${productName} ${translateKeyOutsideComponents('cancels')} ${product.cancelsSigmetSequenceId}`;
|
|
@@ -3132,16 +3189,19 @@ const buttonStyle = {
|
|
|
3132
3189
|
const getProductFormLifecycleButtons = ({
|
|
3133
3190
|
canBe,
|
|
3134
3191
|
onButtonPress,
|
|
3192
|
+
productType,
|
|
3135
3193
|
areActionsDisabled: _areActionsDisabled = false
|
|
3136
3194
|
}) => {
|
|
3137
3195
|
const hasDiscardButton = canBe.includes('DISCARDED');
|
|
3138
|
-
const onDiscard = () => onButtonPress(
|
|
3196
|
+
const onDiscard = () => onButtonPress(ProductAction.DISCARD);
|
|
3139
3197
|
const hasSaveButton = canBe.includes('DRAFTED');
|
|
3140
|
-
const onSave = () => onButtonPress(
|
|
3198
|
+
const onSave = () => onButtonPress(ProductAction.SAVE);
|
|
3199
|
+
const hasRenewButton = canBe.includes('RENEWED');
|
|
3200
|
+
const onRenew = () => onButtonPress(ProductAction.RENEW);
|
|
3141
3201
|
const hasCancelButton = canBe.includes('CANCELLED');
|
|
3142
|
-
const onCancel = () => onButtonPress(
|
|
3202
|
+
const onCancel = () => onButtonPress(ProductAction.CANCEL);
|
|
3143
3203
|
const hasPublishButton = canBe.includes('PUBLISHED');
|
|
3144
|
-
const onPublish = () => onButtonPress(
|
|
3204
|
+
const onPublish = () => onButtonPress(ProductAction.PUBLISH);
|
|
3145
3205
|
const mobileMenuItems = [...(hasDiscardButton ? [{
|
|
3146
3206
|
text: translateKeyOutsideComponents('discard'),
|
|
3147
3207
|
action: onDiscard
|
|
@@ -3149,8 +3209,14 @@ const getProductFormLifecycleButtons = ({
|
|
|
3149
3209
|
text: translateKeyOutsideComponents('save'),
|
|
3150
3210
|
action: onSave,
|
|
3151
3211
|
isDisabled: _areActionsDisabled
|
|
3212
|
+
}] : []), ...(hasRenewButton ? [{
|
|
3213
|
+
text: translateKeyOutsideComponents('renew', {
|
|
3214
|
+
product: productType
|
|
3215
|
+
}),
|
|
3216
|
+
action: onRenew,
|
|
3217
|
+
isDisabled: _areActionsDisabled
|
|
3152
3218
|
}] : []), ...(hasCancelButton ? [{
|
|
3153
|
-
text: translateKeyOutsideComponents('cancel')
|
|
3219
|
+
text: `${translateKeyOutsideComponents('cancel')} ${productType}`,
|
|
3154
3220
|
action: onCancel
|
|
3155
3221
|
}] : []), ...(hasPublishButton ? [{
|
|
3156
3222
|
text: translateKeyOutsideComponents('publish'),
|
|
@@ -3172,7 +3238,16 @@ const getProductFormLifecycleButtons = ({
|
|
|
3172
3238
|
lg: 'block'
|
|
3173
3239
|
}
|
|
3174
3240
|
}, {
|
|
3175
|
-
children: [
|
|
3241
|
+
children: [hasRenewButton && jsx(Button, Object.assign({
|
|
3242
|
+
variant: "flat",
|
|
3243
|
+
onClick: onRenew,
|
|
3244
|
+
sx: buttonStyle,
|
|
3245
|
+
"data-testid": "productform-dialog-renew"
|
|
3246
|
+
}, {
|
|
3247
|
+
children: translateKeyOutsideComponents('renew', {
|
|
3248
|
+
product: productType
|
|
3249
|
+
})
|
|
3250
|
+
})), hasDiscardButton && jsx(Button, Object.assign({
|
|
3176
3251
|
variant: "flat",
|
|
3177
3252
|
onClick: onDiscard,
|
|
3178
3253
|
sx: buttonStyle,
|
|
@@ -3193,7 +3268,7 @@ const getProductFormLifecycleButtons = ({
|
|
|
3193
3268
|
sx: buttonStyle,
|
|
3194
3269
|
"data-testid": "productform-dialog-cancel"
|
|
3195
3270
|
}, {
|
|
3196
|
-
children: translateKeyOutsideComponents('cancel')
|
|
3271
|
+
children: `${translateKeyOutsideComponents('cancel')} ${productType}`
|
|
3197
3272
|
})), hasPublishButton && jsx(Button, Object.assign({
|
|
3198
3273
|
variant: "primary",
|
|
3199
3274
|
onClick: onPublish,
|
|
@@ -3270,28 +3345,28 @@ const createAirmetPostParameter = (airmetToPost, newStatus, previousUuid) => {
|
|
|
3270
3345
|
};
|
|
3271
3346
|
const getConfirmationDialogTitle = (action, productType) => {
|
|
3272
3347
|
const product = productType.toUpperCase();
|
|
3273
|
-
if (action ===
|
|
3348
|
+
if (action === ProductAction.CLOSE) {
|
|
3274
3349
|
return `${translateKeyOutsideComponents('close')} ${product}`;
|
|
3275
3350
|
}
|
|
3276
|
-
if (action ===
|
|
3351
|
+
if (action === ProductAction.DISCARD) {
|
|
3277
3352
|
return `${translateKeyOutsideComponents('discard-non-capitalized')} ${product}`;
|
|
3278
3353
|
}
|
|
3279
|
-
if (action ===
|
|
3354
|
+
if (action === ProductAction.PUBLISH) {
|
|
3280
3355
|
return translateKeyOutsideComponents('publish');
|
|
3281
3356
|
}
|
|
3282
3357
|
return `${translateKeyOutsideComponents('cancel')} ${product}`;
|
|
3283
3358
|
};
|
|
3284
3359
|
const getConfirmationDialogContent = (action, productType) => {
|
|
3285
3360
|
const product = productType.toUpperCase();
|
|
3286
|
-
if (action ===
|
|
3361
|
+
if (action === ProductAction.DISCARD) {
|
|
3287
3362
|
return translateKeyOutsideComponents('are-you-sure-you-want-to-discard', {
|
|
3288
3363
|
product
|
|
3289
3364
|
});
|
|
3290
3365
|
}
|
|
3291
|
-
if (action ===
|
|
3366
|
+
if (action === ProductAction.CLOSE) {
|
|
3292
3367
|
return translateKeyOutsideComponents('save-changes-made');
|
|
3293
3368
|
}
|
|
3294
|
-
if (action ===
|
|
3369
|
+
if (action === ProductAction.PUBLISH) {
|
|
3295
3370
|
return translateKeyOutsideComponents('publish-this-product', {
|
|
3296
3371
|
product
|
|
3297
3372
|
});
|
|
@@ -3303,21 +3378,23 @@ const getConfirmationDialogContent = (action, productType) => {
|
|
|
3303
3378
|
const getConfirmationDialogButtonLabel = (action, productType) => {
|
|
3304
3379
|
const product = productType.toUpperCase();
|
|
3305
3380
|
switch (action) {
|
|
3306
|
-
case
|
|
3381
|
+
case ProductAction.DISCARD:
|
|
3307
3382
|
return `${translateKeyOutsideComponents('discard-product', {
|
|
3308
3383
|
product
|
|
3309
3384
|
})}`;
|
|
3310
|
-
case
|
|
3385
|
+
case ProductAction.PUBLISH:
|
|
3311
3386
|
return translateKeyOutsideComponents('publish');
|
|
3312
|
-
case
|
|
3313
|
-
return translateKeyOutsideComponents('cancel'
|
|
3387
|
+
case ProductAction.CANCEL:
|
|
3388
|
+
return translateKeyOutsideComponents('yes-cancel', {
|
|
3389
|
+
product
|
|
3390
|
+
});
|
|
3314
3391
|
default:
|
|
3315
3392
|
return translateKeyOutsideComponents('save-and-close');
|
|
3316
3393
|
}
|
|
3317
3394
|
};
|
|
3318
3395
|
const getConfirmationDialogCancelLabel = action => {
|
|
3319
3396
|
switch (action) {
|
|
3320
|
-
case
|
|
3397
|
+
case ProductAction.CLOSE:
|
|
3321
3398
|
return translateKeyOutsideComponents('discard-and-close');
|
|
3322
3399
|
default:
|
|
3323
3400
|
return undefined;
|
|
@@ -3354,18 +3431,27 @@ const getAllowedUnits = (selectedFIR, productConfig, config_type, unitType) => {
|
|
|
3354
3431
|
// If no FIR selected or FIR not in options - return all units as defined in the type
|
|
3355
3432
|
return unitType;
|
|
3356
3433
|
};
|
|
3357
|
-
/**
|
|
3358
|
-
* Function to translate the geojson data to a GeoJSON.FeatureCollection
|
|
3434
|
+
/**
|
|
3435
|
+
* Function to translate the geojson data to a GeoJSON.FeatureCollection
|
|
3359
3436
|
*/
|
|
3360
3437
|
const getFir = (productConfig, firName) => {
|
|
3438
|
+
var _a;
|
|
3361
3439
|
const currentFIRName = firName || productConfig.active_firs[0];
|
|
3362
|
-
|
|
3440
|
+
const firLocation = (_a = productConfig.fir_areas[currentFIRName]) === null || _a === void 0 ? void 0 : _a.fir_location;
|
|
3441
|
+
// When switching FIRs, the selectionType is not set, so we need to add it here to use 'Entire FIR' button
|
|
3442
|
+
const updatedFirLocationWithSelectionType = addSelectionTypeToGeoJSON(firLocation, firSelectionType);
|
|
3443
|
+
return updatedFirLocationWithSelectionType;
|
|
3363
3444
|
};
|
|
3364
|
-
/**
|
|
3365
|
-
* Function to check if the given geojson object has 'fir' selectionType property
|
|
3445
|
+
/**
|
|
3446
|
+
* Function to check if the given geojson object has 'fir' selectionType property
|
|
3366
3447
|
*/
|
|
3367
3448
|
const isFir = geojson => {
|
|
3368
|
-
|
|
3449
|
+
var _a, _b;
|
|
3450
|
+
if (!geojson || !geojson.features || geojson.features.length === 0) {
|
|
3451
|
+
return false;
|
|
3452
|
+
}
|
|
3453
|
+
const selectionType = (_b = (_a = geojson.features[0]) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b['selectionType'];
|
|
3454
|
+
return geojson && geojson.features && geojson.features.length > 0 && selectionType === firSelectionType;
|
|
3369
3455
|
};
|
|
3370
3456
|
const getFieldLabel = (title, isDisabled, action = translateKeyOutsideComponents('select')) => isDisabled ? title : `${action} ${title.toLowerCase()}`;
|
|
3371
3457
|
const getBaseLayers = productConfig => {
|
|
@@ -3508,7 +3594,7 @@ var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u200
|
|
|
3508
3594
|
|
|
3509
3595
|
var uncurryThis$a = functionUncurryThis;
|
|
3510
3596
|
var requireObjectCoercible$2 = requireObjectCoercible$7;
|
|
3511
|
-
var toString$6 = toString$
|
|
3597
|
+
var toString$6 = toString$9;
|
|
3512
3598
|
var whitespaces$1 = whitespaces$2;
|
|
3513
3599
|
|
|
3514
3600
|
var replace$3 = uncurryThis$a(''.replace);
|
|
@@ -3537,10 +3623,10 @@ var stringTrim = {
|
|
|
3537
3623
|
trim: createMethod$1(3)
|
|
3538
3624
|
};
|
|
3539
3625
|
|
|
3540
|
-
var global$b = global$
|
|
3626
|
+
var global$b = global$o;
|
|
3541
3627
|
var fails$9 = fails$o;
|
|
3542
3628
|
var uncurryThis$9 = functionUncurryThis;
|
|
3543
|
-
var toString$5 = toString$
|
|
3629
|
+
var toString$5 = toString$9;
|
|
3544
3630
|
var trim = stringTrim.trim;
|
|
3545
3631
|
var whitespaces = whitespaces$2;
|
|
3546
3632
|
|
|
@@ -4177,10 +4263,10 @@ const ObservationForecastTime = ({
|
|
|
4177
4263
|
};
|
|
4178
4264
|
|
|
4179
4265
|
const Phenomenon = ({
|
|
4180
|
-
productType,
|
|
4181
4266
|
isDisabled,
|
|
4182
4267
|
isReadOnly,
|
|
4183
|
-
onChange: _onChange = () => {}
|
|
4268
|
+
onChange: _onChange = () => {},
|
|
4269
|
+
phenomenaList
|
|
4184
4270
|
}) => {
|
|
4185
4271
|
const {
|
|
4186
4272
|
t
|
|
@@ -4193,10 +4279,20 @@ const Phenomenon = ({
|
|
|
4193
4279
|
const {
|
|
4194
4280
|
isShortTest
|
|
4195
4281
|
} = useShortTestHelpers();
|
|
4196
|
-
const isSigmet = productType === 'sigmet';
|
|
4197
|
-
const phenomenaList = isSigmet ? SigmetPhenomena : AirmetPhenomena;
|
|
4198
4282
|
const label = getFieldLabel(t('phenomenon'), isReadOnly);
|
|
4199
4283
|
const fieldsDisabled = isDisabled || isShortTest();
|
|
4284
|
+
const handleSinglePhenomenaSelection = () => {
|
|
4285
|
+
var _a;
|
|
4286
|
+
const defaultPhenomenon = getValues('phenomenon');
|
|
4287
|
+
const isValidPhenomenon = phenomenaList.some(p => p.code === defaultPhenomenon);
|
|
4288
|
+
// Only auto-select if there is exactly one phenomenon available
|
|
4289
|
+
if (!isValidPhenomenon && phenomenaList.length === 1) {
|
|
4290
|
+
setValue('phenomenon', ((_a = phenomenaList[0]) === null || _a === void 0 ? void 0 : _a.code) || '');
|
|
4291
|
+
}
|
|
4292
|
+
};
|
|
4293
|
+
if (phenomenaList.length === 1) {
|
|
4294
|
+
handleSinglePhenomenaSelection();
|
|
4295
|
+
}
|
|
4200
4296
|
return jsx(ProductFormFieldLayout, Object.assign({
|
|
4201
4297
|
title: t('phenomenon-title')
|
|
4202
4298
|
}, {
|
|
@@ -4224,11 +4320,11 @@ const Phenomenon = ({
|
|
|
4224
4320
|
_onChange();
|
|
4225
4321
|
}
|
|
4226
4322
|
}, {
|
|
4227
|
-
children:
|
|
4228
|
-
value:
|
|
4323
|
+
children: phenomenaList.map(phenomenon => jsx(MenuItem, Object.assign({
|
|
4324
|
+
value: phenomenon.code
|
|
4229
4325
|
}, {
|
|
4230
|
-
children:
|
|
4231
|
-
}),
|
|
4326
|
+
children: phenomenon.description
|
|
4327
|
+
}), phenomenon.code))
|
|
4232
4328
|
}))
|
|
4233
4329
|
}));
|
|
4234
4330
|
};
|
|
@@ -4553,13 +4649,15 @@ const getFirLocationDefaultValues = (productConfig, currentFir) => {
|
|
|
4553
4649
|
const locationIndicatorATSU = currentFirArea.location_indicator_atsu;
|
|
4554
4650
|
const locationIndicatorMWO = productConfig.location_indicator_mwo;
|
|
4555
4651
|
const firName = currentFirArea.fir_name;
|
|
4652
|
+
const firPhenomena = currentFirArea.phenomenon || [];
|
|
4556
4653
|
const firGeometry = getFir(productConfig, defaultActiveFIR);
|
|
4557
4654
|
return {
|
|
4558
4655
|
locationIndicatorATSR: currentLocationIndicatorATSR,
|
|
4559
4656
|
locationIndicatorATSU,
|
|
4560
4657
|
locationIndicatorMWO,
|
|
4561
4658
|
firName,
|
|
4562
|
-
firGeometry
|
|
4659
|
+
firGeometry,
|
|
4660
|
+
phenomena: firPhenomena
|
|
4563
4661
|
};
|
|
4564
4662
|
};
|
|
4565
4663
|
const SelectFIR = ({
|
|
@@ -4588,19 +4686,29 @@ const SelectFIR = ({
|
|
|
4588
4686
|
firGeometry
|
|
4589
4687
|
} = getFirLocationDefaultValues(productConfig);
|
|
4590
4688
|
const onChangeLocationATSR = changeEvent => {
|
|
4689
|
+
var _a;
|
|
4591
4690
|
const {
|
|
4592
4691
|
value
|
|
4593
4692
|
} = changeEvent.target;
|
|
4594
4693
|
const valuesFromConfig = getFirLocationDefaultValues(productConfig, value);
|
|
4595
|
-
//
|
|
4694
|
+
// Updates values from config
|
|
4596
4695
|
setValue('locationIndicatorATSU', valuesFromConfig.locationIndicatorATSU);
|
|
4597
4696
|
setValue('firName', valuesFromConfig.firName);
|
|
4598
4697
|
setValue('locationIndicatorMWO', valuesFromConfig.locationIndicatorMWO);
|
|
4599
4698
|
setValue('firGeometry', valuesFromConfig.firGeometry);
|
|
4600
|
-
|
|
4601
|
-
const
|
|
4699
|
+
const currentPhenomenon = getValues('phenomenon');
|
|
4700
|
+
const isValidPhenomenon = valuesFromConfig.phenomena.some(p => p.code === currentPhenomenon);
|
|
4701
|
+
if (!isValidPhenomenon) {
|
|
4702
|
+
if (valuesFromConfig.phenomena.length === 1) {
|
|
4703
|
+
setValue('phenomenon', ((_a = valuesFromConfig.phenomena[0]) === null || _a === void 0 ? void 0 : _a.code) || '');
|
|
4704
|
+
} else {
|
|
4705
|
+
setValue('phenomenon', '');
|
|
4706
|
+
}
|
|
4707
|
+
}
|
|
4708
|
+
// Trigger validation for fields dependent on FIR config
|
|
4709
|
+
const fieldnames = ['phenomenon', 'validDateStart', 'validDateEnd', 'movementSpeed', 'level.value', 'lowerLevel.value'];
|
|
4602
4710
|
triggerValidations(fieldnames, getValues, trigger);
|
|
4603
|
-
_onChange(changeEvent);
|
|
4711
|
+
_onChange(changeEvent, valuesFromConfig.phenomena);
|
|
4604
4712
|
};
|
|
4605
4713
|
return jsxs(ProductFormFieldLayout, Object.assign({
|
|
4606
4714
|
title: t('select-fir-title')
|
|
@@ -5617,6 +5725,9 @@ const CloudLevels = ({
|
|
|
5617
5725
|
const noTAC = translateKeyOutsideComponents('tac-missing-data');
|
|
5618
5726
|
const isLevelFieldsComplete = product => {
|
|
5619
5727
|
var _a, _b, _c, _d, _e, _f;
|
|
5728
|
+
const isAirmet = product => {
|
|
5729
|
+
return product.cloudLevelInfoMode !== undefined;
|
|
5730
|
+
};
|
|
5620
5731
|
switch (product.phenomenon) {
|
|
5621
5732
|
// For certain AIRMETs no levels are provided
|
|
5622
5733
|
case 'SFC_VIS':
|
|
@@ -5626,16 +5737,19 @@ const isLevelFieldsComplete = product => {
|
|
|
5626
5737
|
case 'OVC_CLD':
|
|
5627
5738
|
case 'BKN_CLD':
|
|
5628
5739
|
{
|
|
5629
|
-
if (
|
|
5630
|
-
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5740
|
+
if (isAirmet(product)) {
|
|
5741
|
+
const cloudLevelMode = product.cloudLevelInfoMode;
|
|
5742
|
+
if (!cloudLevelMode) {
|
|
5743
|
+
return false;
|
|
5744
|
+
}
|
|
5745
|
+
const levelNeeded = cloudLevelMode === 'BETW_SFC_ABV' || cloudLevelMode === 'BETW_SFC';
|
|
5746
|
+
const levelAndLowerLevelNeeded = cloudLevelMode === 'BETW' || cloudLevelMode === 'BETW_ABV';
|
|
5747
|
+
if (levelAndLowerLevelNeeded && (!((_a = product.cloudLevel) === null || _a === void 0 ? void 0 : _a.value) || !((_b = product.cloudLowerLevel) === null || _b === void 0 ? void 0 : _b.value)) || levelNeeded && !((_c = product.cloudLevel) === null || _c === void 0 ? void 0 : _c.value)) {
|
|
5748
|
+
return false;
|
|
5749
|
+
}
|
|
5750
|
+
return true;
|
|
5637
5751
|
}
|
|
5638
|
-
return
|
|
5752
|
+
return false;
|
|
5639
5753
|
}
|
|
5640
5754
|
// Other AIRMETs and all SIGMETs
|
|
5641
5755
|
default:
|
|
@@ -5653,9 +5767,9 @@ const isLevelFieldsComplete = product => {
|
|
|
5653
5767
|
}
|
|
5654
5768
|
}
|
|
5655
5769
|
};
|
|
5656
|
-
/* Changes in intensity should always be included in sigmet except for
|
|
5657
|
-
* volcanic ash cloud and radioactive cloud where it should be omitted
|
|
5658
|
-
* if specified in the config
|
|
5770
|
+
/* Changes in intensity should always be included in sigmet except for
|
|
5771
|
+
* volcanic ash cloud and radioactive cloud where it should be omitted
|
|
5772
|
+
* if specified in the config
|
|
5659
5773
|
*/
|
|
5660
5774
|
const isChangeComplete = (product, omitChange) => {
|
|
5661
5775
|
const omitChangeForVaAndRdoact = omitChange && product.phenomenon === 'VA_CLD' || omitChange && product.phenomenon === 'RDOACT_CLD';
|
|
@@ -5664,7 +5778,7 @@ const isChangeComplete = (product, omitChange) => {
|
|
|
5664
5778
|
};
|
|
5665
5779
|
const isSurfaceVisComplete = product => {
|
|
5666
5780
|
// For Surface Visibility the cause is required
|
|
5667
|
-
if (product.phenomenon === 'SFC_VIS' && !product.visibilityCause) {
|
|
5781
|
+
if (product.phenomenon === 'SFC_VIS' && 'visibilityCause' in product && !product.visibilityCause) {
|
|
5668
5782
|
return false;
|
|
5669
5783
|
}
|
|
5670
5784
|
return true;
|
|
@@ -6193,6 +6307,72 @@ var fir_areas$1 = {
|
|
|
6193
6307
|
movement_rounding_kt: 5,
|
|
6194
6308
|
movement_rounding_kmh: 10,
|
|
6195
6309
|
max_polygon_points: 7,
|
|
6310
|
+
phenomenon: [
|
|
6311
|
+
{
|
|
6312
|
+
code: "EMBD_TS",
|
|
6313
|
+
description: "Embedded thunderstorm(s)"
|
|
6314
|
+
},
|
|
6315
|
+
{
|
|
6316
|
+
code: "EMBD_TSGR",
|
|
6317
|
+
description: "Embedded thunderstorm(s) with hail"
|
|
6318
|
+
},
|
|
6319
|
+
{
|
|
6320
|
+
code: "FRQ_TS",
|
|
6321
|
+
description: "Frequent thunderstorm(s)"
|
|
6322
|
+
},
|
|
6323
|
+
{
|
|
6324
|
+
code: "FRQ_TSGR",
|
|
6325
|
+
description: "Frequent thunderstorm(s) with hail"
|
|
6326
|
+
},
|
|
6327
|
+
{
|
|
6328
|
+
code: "HVY_DS",
|
|
6329
|
+
description: "Heavy duststorm"
|
|
6330
|
+
},
|
|
6331
|
+
{
|
|
6332
|
+
code: "HVY_SS",
|
|
6333
|
+
description: "Heavy sandstorm"
|
|
6334
|
+
},
|
|
6335
|
+
{
|
|
6336
|
+
code: "OBSC_TS",
|
|
6337
|
+
description: "Obscured thunderstorm(s)"
|
|
6338
|
+
},
|
|
6339
|
+
{
|
|
6340
|
+
code: "OBSC_TSGR",
|
|
6341
|
+
description: "Obscured thunderstorm(s) with hail"
|
|
6342
|
+
},
|
|
6343
|
+
{
|
|
6344
|
+
code: "RDOACT_CLD",
|
|
6345
|
+
description: "Radioactive cloud"
|
|
6346
|
+
},
|
|
6347
|
+
{
|
|
6348
|
+
code: "SEV_ICE",
|
|
6349
|
+
description: "Severe icing"
|
|
6350
|
+
},
|
|
6351
|
+
{
|
|
6352
|
+
code: "SEV_ICE_FRZ_RN",
|
|
6353
|
+
description: "Severe icing due to freezing rain"
|
|
6354
|
+
},
|
|
6355
|
+
{
|
|
6356
|
+
code: "SEV_MTW",
|
|
6357
|
+
description: "Severe mountain wave"
|
|
6358
|
+
},
|
|
6359
|
+
{
|
|
6360
|
+
code: "SEV_TURB",
|
|
6361
|
+
description: "Severe turbulence"
|
|
6362
|
+
},
|
|
6363
|
+
{
|
|
6364
|
+
code: "SQL_TS",
|
|
6365
|
+
description: "Squall line"
|
|
6366
|
+
},
|
|
6367
|
+
{
|
|
6368
|
+
code: "SQL_TSGR",
|
|
6369
|
+
description: "Squall line thunderstorm(s) with hail"
|
|
6370
|
+
},
|
|
6371
|
+
{
|
|
6372
|
+
code: "VA_CLD",
|
|
6373
|
+
description: "Volcanic ash cloud"
|
|
6374
|
+
}
|
|
6375
|
+
],
|
|
6196
6376
|
units: [
|
|
6197
6377
|
{
|
|
6198
6378
|
unit_type: "level_unit",
|
|
@@ -7448,6 +7628,72 @@ var fir_areas$1 = {
|
|
|
7448
7628
|
"EGTT",
|
|
7449
7629
|
"EGPX"
|
|
7450
7630
|
],
|
|
7631
|
+
phenomenon: [
|
|
7632
|
+
{
|
|
7633
|
+
code: "EMBD_TS",
|
|
7634
|
+
description: "Embedded thunderstorm(s)"
|
|
7635
|
+
},
|
|
7636
|
+
{
|
|
7637
|
+
code: "EMBD_TSGR",
|
|
7638
|
+
description: "Embedded thunderstorm(s) with hail"
|
|
7639
|
+
},
|
|
7640
|
+
{
|
|
7641
|
+
code: "FRQ_TS",
|
|
7642
|
+
description: "Frequent thunderstorm(s)"
|
|
7643
|
+
},
|
|
7644
|
+
{
|
|
7645
|
+
code: "FRQ_TSGR",
|
|
7646
|
+
description: "Frequent thunderstorm(s) with hail"
|
|
7647
|
+
},
|
|
7648
|
+
{
|
|
7649
|
+
code: "HVY_DS",
|
|
7650
|
+
description: "Heavy duststorm"
|
|
7651
|
+
},
|
|
7652
|
+
{
|
|
7653
|
+
code: "HVY_SS",
|
|
7654
|
+
description: "Heavy sandstorm"
|
|
7655
|
+
},
|
|
7656
|
+
{
|
|
7657
|
+
code: "OBSC_TS",
|
|
7658
|
+
description: "Obscured thunderstorm(s)"
|
|
7659
|
+
},
|
|
7660
|
+
{
|
|
7661
|
+
code: "OBSC_TSGR",
|
|
7662
|
+
description: "Obscured thunderstorm(s) with hail"
|
|
7663
|
+
},
|
|
7664
|
+
{
|
|
7665
|
+
code: "RDOACT_CLD",
|
|
7666
|
+
description: "Radioactive cloud"
|
|
7667
|
+
},
|
|
7668
|
+
{
|
|
7669
|
+
code: "SEV_ICE",
|
|
7670
|
+
description: "Severe icing"
|
|
7671
|
+
},
|
|
7672
|
+
{
|
|
7673
|
+
code: "SEV_ICE_FRZ_RN",
|
|
7674
|
+
description: "Severe icing due to freezing rain"
|
|
7675
|
+
},
|
|
7676
|
+
{
|
|
7677
|
+
code: "SEV_MTW",
|
|
7678
|
+
description: "Severe mountain wave"
|
|
7679
|
+
},
|
|
7680
|
+
{
|
|
7681
|
+
code: "SEV_TURB",
|
|
7682
|
+
description: "Severe turbulence"
|
|
7683
|
+
},
|
|
7684
|
+
{
|
|
7685
|
+
code: "SQL_TS",
|
|
7686
|
+
description: "Squall line"
|
|
7687
|
+
},
|
|
7688
|
+
{
|
|
7689
|
+
code: "SQL_TSGR",
|
|
7690
|
+
description: "Squall line thunderstorm(s) with hail"
|
|
7691
|
+
},
|
|
7692
|
+
{
|
|
7693
|
+
code: "VA_CLD",
|
|
7694
|
+
description: "Volcanic ash cloud"
|
|
7695
|
+
}
|
|
7696
|
+
],
|
|
7451
7697
|
units: [
|
|
7452
7698
|
{
|
|
7453
7699
|
unit_type: "level_unit",
|
|
@@ -7723,6 +7969,80 @@ var fir_areas = {
|
|
|
7723
7969
|
movement_rounding_kt: 5,
|
|
7724
7970
|
movement_rounding_kmh: 10,
|
|
7725
7971
|
max_polygon_points: 7,
|
|
7972
|
+
phenomenon: [
|
|
7973
|
+
{
|
|
7974
|
+
code: "SFC_VIS",
|
|
7975
|
+
description: "Surface visibility"
|
|
7976
|
+
},
|
|
7977
|
+
{
|
|
7978
|
+
code: "SFC_WIND",
|
|
7979
|
+
description: "Surface wind"
|
|
7980
|
+
},
|
|
7981
|
+
{
|
|
7982
|
+
code: "OVC_CLD",
|
|
7983
|
+
description: "Overcast cloud"
|
|
7984
|
+
},
|
|
7985
|
+
{
|
|
7986
|
+
code: "BKN_CLD",
|
|
7987
|
+
description: "Broken cloud"
|
|
7988
|
+
},
|
|
7989
|
+
{
|
|
7990
|
+
code: "ISOL_CB",
|
|
7991
|
+
description: "Isolated cumulonimbus cloud"
|
|
7992
|
+
},
|
|
7993
|
+
{
|
|
7994
|
+
code: "OCNL_CB",
|
|
7995
|
+
description: "Occasional cumulonimbus cloud"
|
|
7996
|
+
},
|
|
7997
|
+
{
|
|
7998
|
+
code: "FRQ_CB",
|
|
7999
|
+
description: "Frequent cumulonimbus cloud"
|
|
8000
|
+
},
|
|
8001
|
+
{
|
|
8002
|
+
code: "ISOL_TS",
|
|
8003
|
+
description: "Isolated thunderstorm(s)"
|
|
8004
|
+
},
|
|
8005
|
+
{
|
|
8006
|
+
code: "OCNL_TS",
|
|
8007
|
+
description: "Occasional thunderstorm(s)"
|
|
8008
|
+
},
|
|
8009
|
+
{
|
|
8010
|
+
code: "ISOL_TSGR",
|
|
8011
|
+
description: "Isolated thunderstorm(s) with hail"
|
|
8012
|
+
},
|
|
8013
|
+
{
|
|
8014
|
+
code: "OCNL_TSGR",
|
|
8015
|
+
description: "Occasional thunderstorm(s) with hail"
|
|
8016
|
+
},
|
|
8017
|
+
{
|
|
8018
|
+
code: "ISOL_TCU",
|
|
8019
|
+
description: "Isolated towering cumulus cloud"
|
|
8020
|
+
},
|
|
8021
|
+
{
|
|
8022
|
+
code: "OCNL_TCU",
|
|
8023
|
+
description: "Occasional towering cumulus cloud"
|
|
8024
|
+
},
|
|
8025
|
+
{
|
|
8026
|
+
code: "FRQ_TCU",
|
|
8027
|
+
description: "Frequent towering cumulus cloud"
|
|
8028
|
+
},
|
|
8029
|
+
{
|
|
8030
|
+
code: "MOD_ICE",
|
|
8031
|
+
description: "Moderate icing"
|
|
8032
|
+
},
|
|
8033
|
+
{
|
|
8034
|
+
code: "MOD_MTW",
|
|
8035
|
+
description: "Moderate mountain wave"
|
|
8036
|
+
},
|
|
8037
|
+
{
|
|
8038
|
+
code: "MOD_TURB",
|
|
8039
|
+
description: "Moderate turbulence"
|
|
8040
|
+
},
|
|
8041
|
+
{
|
|
8042
|
+
code: "MT_OBSC",
|
|
8043
|
+
description: "Mountains obscured"
|
|
8044
|
+
}
|
|
8045
|
+
],
|
|
7726
8046
|
units: [
|
|
7727
8047
|
{
|
|
7728
8048
|
unit_type: "level_unit",
|
|
@@ -8977,6 +9297,80 @@ var fir_areas = {
|
|
|
8977
9297
|
movement_rounding_kt: 5,
|
|
8978
9298
|
movement_rounding_kmh: 10,
|
|
8979
9299
|
max_polygon_points: 20,
|
|
9300
|
+
phenomenon: [
|
|
9301
|
+
{
|
|
9302
|
+
code: "SFC_VIS",
|
|
9303
|
+
description: "Surface visibility"
|
|
9304
|
+
},
|
|
9305
|
+
{
|
|
9306
|
+
code: "SFC_WIND",
|
|
9307
|
+
description: "Surface wind"
|
|
9308
|
+
},
|
|
9309
|
+
{
|
|
9310
|
+
code: "OVC_CLD",
|
|
9311
|
+
description: "Overcast cloud"
|
|
9312
|
+
},
|
|
9313
|
+
{
|
|
9314
|
+
code: "BKN_CLD",
|
|
9315
|
+
description: "Broken cloud"
|
|
9316
|
+
},
|
|
9317
|
+
{
|
|
9318
|
+
code: "ISOL_CB",
|
|
9319
|
+
description: "Isolated cumulonimbus cloud"
|
|
9320
|
+
},
|
|
9321
|
+
{
|
|
9322
|
+
code: "OCNL_CB",
|
|
9323
|
+
description: "Occasional cumulonimbus cloud"
|
|
9324
|
+
},
|
|
9325
|
+
{
|
|
9326
|
+
code: "FRQ_CB",
|
|
9327
|
+
description: "Frequent cumulonimbus cloud"
|
|
9328
|
+
},
|
|
9329
|
+
{
|
|
9330
|
+
code: "ISOL_TS",
|
|
9331
|
+
description: "Isolated thunderstorm(s)"
|
|
9332
|
+
},
|
|
9333
|
+
{
|
|
9334
|
+
code: "OCNL_TS",
|
|
9335
|
+
description: "Occasional thunderstorm(s)"
|
|
9336
|
+
},
|
|
9337
|
+
{
|
|
9338
|
+
code: "ISOL_TSGR",
|
|
9339
|
+
description: "Isolated thunderstorm(s) with hail"
|
|
9340
|
+
},
|
|
9341
|
+
{
|
|
9342
|
+
code: "OCNL_TSGR",
|
|
9343
|
+
description: "Occasional thunderstorm(s) with hail"
|
|
9344
|
+
},
|
|
9345
|
+
{
|
|
9346
|
+
code: "ISOL_TCU",
|
|
9347
|
+
description: "Isolated towering cumulus cloud"
|
|
9348
|
+
},
|
|
9349
|
+
{
|
|
9350
|
+
code: "OCNL_TCU",
|
|
9351
|
+
description: "Occasional towering cumulus cloud"
|
|
9352
|
+
},
|
|
9353
|
+
{
|
|
9354
|
+
code: "FRQ_TCU",
|
|
9355
|
+
description: "Frequent towering cumulus cloud"
|
|
9356
|
+
},
|
|
9357
|
+
{
|
|
9358
|
+
code: "MOD_ICE",
|
|
9359
|
+
description: "Moderate icing"
|
|
9360
|
+
},
|
|
9361
|
+
{
|
|
9362
|
+
code: "MOD_MTW",
|
|
9363
|
+
description: "Moderate mountain wave"
|
|
9364
|
+
},
|
|
9365
|
+
{
|
|
9366
|
+
code: "MOD_TURB",
|
|
9367
|
+
description: "Moderate turbulence"
|
|
9368
|
+
},
|
|
9369
|
+
{
|
|
9370
|
+
code: "MT_OBSC",
|
|
9371
|
+
description: "Mountains obscured"
|
|
9372
|
+
}
|
|
9373
|
+
],
|
|
8980
9374
|
units: [
|
|
8981
9375
|
{
|
|
8982
9376
|
unit_type: "level_unit",
|
|
@@ -9151,7 +9545,7 @@ $$8({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
|
|
|
9151
9545
|
}
|
|
9152
9546
|
});
|
|
9153
9547
|
|
|
9154
|
-
var isCallable$8 = isCallable$
|
|
9548
|
+
var isCallable$8 = isCallable$o;
|
|
9155
9549
|
var isObject$2 = isObject$c;
|
|
9156
9550
|
var setPrototypeOf$1 = objectSetPrototypeOf;
|
|
9157
9551
|
|
|
@@ -9171,7 +9565,7 @@ var inheritIfRequired$1 = function ($this, dummy, Wrapper) {
|
|
|
9171
9565
|
};
|
|
9172
9566
|
|
|
9173
9567
|
var fails$7 = fails$o;
|
|
9174
|
-
var global$a = global$
|
|
9568
|
+
var global$a = global$o;
|
|
9175
9569
|
|
|
9176
9570
|
// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
|
|
9177
9571
|
var $RegExp$2 = global$a.RegExp;
|
|
@@ -9201,27 +9595,18 @@ var regexpStickyHelpers = {
|
|
|
9201
9595
|
UNSUPPORTED_Y: UNSUPPORTED_Y$2
|
|
9202
9596
|
};
|
|
9203
9597
|
|
|
9204
|
-
var defineProperty
|
|
9598
|
+
var defineProperty = objectDefineProperty.f;
|
|
9205
9599
|
|
|
9206
9600
|
var proxyAccessor$1 = function (Target, Source, key) {
|
|
9207
|
-
key in Target || defineProperty
|
|
9601
|
+
key in Target || defineProperty(Target, key, {
|
|
9208
9602
|
configurable: true,
|
|
9209
9603
|
get: function () { return Source[key]; },
|
|
9210
9604
|
set: function (it) { Source[key] = it; }
|
|
9211
9605
|
});
|
|
9212
9606
|
};
|
|
9213
9607
|
|
|
9214
|
-
var makeBuiltIn = makeBuiltInExports;
|
|
9215
|
-
var defineProperty = objectDefineProperty;
|
|
9216
|
-
|
|
9217
|
-
var defineBuiltInAccessor$2 = function (target, name, descriptor) {
|
|
9218
|
-
if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
|
|
9219
|
-
if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
|
|
9220
|
-
return defineProperty.f(target, name, descriptor);
|
|
9221
|
-
};
|
|
9222
|
-
|
|
9223
9608
|
var getBuiltIn$3 = getBuiltIn$7;
|
|
9224
|
-
var defineBuiltInAccessor$1 = defineBuiltInAccessor$
|
|
9609
|
+
var defineBuiltInAccessor$1 = defineBuiltInAccessor$3;
|
|
9225
9610
|
var wellKnownSymbol$8 = wellKnownSymbol$j;
|
|
9226
9611
|
var DESCRIPTORS$3 = descriptors;
|
|
9227
9612
|
|
|
@@ -9239,7 +9624,7 @@ var setSpecies$2 = function (CONSTRUCTOR_NAME) {
|
|
|
9239
9624
|
};
|
|
9240
9625
|
|
|
9241
9626
|
var fails$6 = fails$o;
|
|
9242
|
-
var global$9 = global$
|
|
9627
|
+
var global$9 = global$o;
|
|
9243
9628
|
|
|
9244
9629
|
// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
|
|
9245
9630
|
var $RegExp$1 = global$9.RegExp;
|
|
@@ -9250,7 +9635,7 @@ var regexpUnsupportedDotAll = fails$6(function () {
|
|
|
9250
9635
|
});
|
|
9251
9636
|
|
|
9252
9637
|
var fails$5 = fails$o;
|
|
9253
|
-
var global$8 = global$
|
|
9638
|
+
var global$8 = global$o;
|
|
9254
9639
|
|
|
9255
9640
|
// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
|
|
9256
9641
|
var $RegExp = global$8.RegExp;
|
|
@@ -9262,7 +9647,7 @@ var regexpUnsupportedNcg = fails$5(function () {
|
|
|
9262
9647
|
});
|
|
9263
9648
|
|
|
9264
9649
|
var DESCRIPTORS$2 = descriptors;
|
|
9265
|
-
var global$7 = global$
|
|
9650
|
+
var global$7 = global$o;
|
|
9266
9651
|
var uncurryThis$8 = functionUncurryThis;
|
|
9267
9652
|
var isForced$1 = isForced_1;
|
|
9268
9653
|
var inheritIfRequired = inheritIfRequired$1;
|
|
@@ -9271,7 +9656,7 @@ var create$1 = objectCreate;
|
|
|
9271
9656
|
var getOwnPropertyNames = objectGetOwnPropertyNames.f;
|
|
9272
9657
|
var isPrototypeOf$2 = objectIsPrototypeOf;
|
|
9273
9658
|
var isRegExp = isRegexp;
|
|
9274
|
-
var toString$4 = toString$
|
|
9659
|
+
var toString$4 = toString$9;
|
|
9275
9660
|
var getRegExpFlags = regexpGetFlags;
|
|
9276
9661
|
var stickyHelpers$1 = regexpStickyHelpers;
|
|
9277
9662
|
var proxyAccessor = proxyAccessor$1;
|
|
@@ -9456,7 +9841,7 @@ setSpecies$1('RegExp');
|
|
|
9456
9841
|
var DESCRIPTORS$1 = descriptors;
|
|
9457
9842
|
var UNSUPPORTED_DOT_ALL$1 = regexpUnsupportedDotAll;
|
|
9458
9843
|
var classof$3 = classofRaw$2;
|
|
9459
|
-
var defineBuiltInAccessor = defineBuiltInAccessor$
|
|
9844
|
+
var defineBuiltInAccessor = defineBuiltInAccessor$3;
|
|
9460
9845
|
var getInternalState$1 = internalState.get;
|
|
9461
9846
|
|
|
9462
9847
|
var RegExpPrototype$1 = RegExp.prototype;
|
|
@@ -9483,7 +9868,7 @@ if (DESCRIPTORS$1 && UNSUPPORTED_DOT_ALL$1) {
|
|
|
9483
9868
|
/* eslint-disable regexp/no-useless-quantifier -- testing */
|
|
9484
9869
|
var call$b = functionCall;
|
|
9485
9870
|
var uncurryThis$7 = functionUncurryThis;
|
|
9486
|
-
var toString$3 = toString$
|
|
9871
|
+
var toString$3 = toString$9;
|
|
9487
9872
|
var regexpFlags = regexpFlags$1;
|
|
9488
9873
|
var stickyHelpers = regexpStickyHelpers;
|
|
9489
9874
|
var shared = shared$4;
|
|
@@ -9609,9 +9994,9 @@ $$7({ target: 'RegExp', proto: true, forced: /./.exec !== exec$1 }, {
|
|
|
9609
9994
|
|
|
9610
9995
|
var $$6 = _export;
|
|
9611
9996
|
var call$a = functionCall;
|
|
9612
|
-
var isCallable$7 = isCallable$
|
|
9997
|
+
var isCallable$7 = isCallable$o;
|
|
9613
9998
|
var anObject$7 = anObject$e;
|
|
9614
|
-
var toString$2 = toString$
|
|
9999
|
+
var toString$2 = toString$9;
|
|
9615
10000
|
|
|
9616
10001
|
var DELEGATES_TO_EXEC = function () {
|
|
9617
10002
|
var execCalled = false;
|
|
@@ -9729,7 +10114,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
|
|
|
9729
10114
|
|
|
9730
10115
|
var uncurryThis$6 = functionUncurryThis;
|
|
9731
10116
|
var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
|
|
9732
|
-
var toString$1 = toString$
|
|
10117
|
+
var toString$1 = toString$9;
|
|
9733
10118
|
var requireObjectCoercible$1 = requireObjectCoercible$7;
|
|
9734
10119
|
|
|
9735
10120
|
var charAt$2 = uncurryThis$6(''.charAt);
|
|
@@ -9820,7 +10205,7 @@ var getSubstitution$1 = function (matched, str, position, captures, namedCapture
|
|
|
9820
10205
|
|
|
9821
10206
|
var call$7 = functionCall;
|
|
9822
10207
|
var anObject$6 = anObject$e;
|
|
9823
|
-
var isCallable$6 = isCallable$
|
|
10208
|
+
var isCallable$6 = isCallable$o;
|
|
9824
10209
|
var classof$2 = classofRaw$2;
|
|
9825
10210
|
var regexpExec = regexpExec$2;
|
|
9826
10211
|
|
|
@@ -9845,11 +10230,11 @@ var uncurryThis$4 = functionUncurryThis;
|
|
|
9845
10230
|
var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
|
|
9846
10231
|
var fails$2 = fails$o;
|
|
9847
10232
|
var anObject$5 = anObject$e;
|
|
9848
|
-
var isCallable$5 = isCallable$
|
|
10233
|
+
var isCallable$5 = isCallable$o;
|
|
9849
10234
|
var isNullOrUndefined$2 = isNullOrUndefined$5;
|
|
9850
10235
|
var toIntegerOrInfinity = toIntegerOrInfinity$4;
|
|
9851
10236
|
var toLength = toLength$2;
|
|
9852
|
-
var toString = toString$
|
|
10237
|
+
var toString = toString$9;
|
|
9853
10238
|
var requireObjectCoercible = requireObjectCoercible$7;
|
|
9854
10239
|
var advanceStringIndex = advanceStringIndex$1;
|
|
9855
10240
|
var getMethod$2 = getMethod$4;
|
|
@@ -9981,9 +10366,9 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
|
|
|
9981
10366
|
];
|
|
9982
10367
|
}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
|
|
9983
10368
|
|
|
9984
|
-
const schema13={type:'object',title:'sigmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}},omit_change_va_and_rdoact_cloud:{type:'boolean'}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15$1={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0$1=new RegExp('','u');const keyword0={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset'],additionalProperties:false};const func2$1=Object.prototype.hasOwnProperty;function validate14(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset'||key0==='omit_change_va_and_rdoact_cloud')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0$1.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}if(data6.tc_max_hours_of_validity===undefined){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_max_hours_of_validity'},message:"must have required property '"+'tc_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}if(data6.tc_hours_before_validity===undefined){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_hours_before_validity'},message:"must have required property '"+'tc_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}if(data6.va_max_hours_of_validity===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_max_hours_of_validity'},message:"must have required property '"+'va_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data6.va_hours_before_validity===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_hours_before_validity'},message:"must have required property '"+'va_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data6.adjacent_firs===undefined){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'adjacent_firs'},message:"must have required property '"+'adjacent_firs'+"'"};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(data6.area_preset===undefined){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'area_preset'},message:"must have required property '"+'area_preset'+"'"};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}for(const key2 in data6){if(!func2$1.call(keyword0.properties,key2)){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(data8.features===undefined){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}if(!(data9==='FeatureCollection')){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}if(data11.geometry===undefined){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}if(!(data12==='Feature')){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}}else {const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}if(data16.coordinates===undefined){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}if(!(data17==='Point')){const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}}}else {const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}else {const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}}}else {const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}if(data16.coordinates===undefined){const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}if(!(data21==='LineString')){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}}}else {const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}}}else {const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}}else {const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}}}else {const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}if(data16.coordinates===undefined){const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}if(!(data27==='Polygon')){const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}}}else {const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}}}else {const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}}else {const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}}}else {const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}if(data16.coordinates===undefined){const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}if(!(data34==='MultiPoint')){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}}}else {const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}}}else {const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}}else {const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}}}else {const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}if(data16.coordinates===undefined){const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}if(!(data40==='MultiLineString')){const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}}}else {const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}}}else {const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}}else {const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}}}else {const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}if(data16.coordinates===undefined){const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}if(!(data47==='MultiPolygon')){const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}}}else {const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}}}else {const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}}else {const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}}}else {const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(data16.geometries===undefined){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}if(!(data55==='GeometryCollection')){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}if(data57.coordinates===undefined){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}if(!(data58==='Point')){const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}}}else {const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}}else {const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}}}else {const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}if(data57.coordinates===undefined){const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}if(!(data63==='LineString')){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}}}else {const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}}}else {const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}}else {const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}}}else {const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}if(data57.coordinates===undefined){const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}if(!(data69==='Polygon')){const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}}}else {const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}}}else {const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}}else {const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}}}else {const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}if(data57.coordinates===undefined){const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}if(!(data76==='MultiPoint')){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}}}else {const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}}}else {const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}}else {const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}}}else {const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}if(data57.coordinates===undefined){const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}if(!(data82==='MultiLineString')){const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}}}else {const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}}}else {const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}}else {const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}}}else {const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}if(data57.coordinates===undefined){const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}if(!(data89==='MultiPolygon')){const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}}}else {const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}}else {const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}}else {const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}}else {const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}}else {const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}}else {const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}}}else {const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}}else {const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}}if(data6.units!==undefined){let data121=data6.units;if(Array.isArray(data121)){if(data121.length<1){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.unit_type===undefined){const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}if(data122.allowed_units===undefined){const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}for(const key7 in data122){if(!(key7==='unit_type'||key7==='allowed_units')){const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data122.unit_type!==undefined){if(typeof data122.unit_type!=='string'){const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}if(data122.allowed_units!==undefined){let data124=data122.allowed_units;if(Array.isArray(data124)){if(data124.length<1){const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}const len48=data124.length;for(let i48=0;i48<len48;i48++){if(typeof data124[i48]!=='string'){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}}else {const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.tc_max_hours_of_validity!==undefined){let data126=data6.tc_max_hours_of_validity;if(!(typeof data126=='number'&&isFinite(data126))){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}if(data6.tc_hours_before_validity!==undefined){let data127=data6.tc_hours_before_validity;if(!(typeof data127=='number'&&isFinite(data127))){const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.va_max_hours_of_validity!==undefined){let data128=data6.va_max_hours_of_validity;if(!(typeof data128=='number'&&isFinite(data128))){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}if(data6.va_hours_before_validity!==undefined){let data129=data6.va_hours_before_validity;if(!(typeof data129=='number'&&isFinite(data129))){const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.adjacent_firs!==undefined){let data130=data6.adjacent_firs;if(Array.isArray(data130)){if(data130.length<1){const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}const len49=data130.length;for(let i49=0;i49<len49;i49++){if(typeof data130[i49]!=='string'){const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs/'+i49,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}}else {const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}if(data6.area_preset!==undefined){if(typeof data6.area_preset!=='string'){const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/area_preset',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/area_preset/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}}else {const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}var valid4=_errs17===errors;if(!valid4){const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}}}else {const err258={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data.mapPreset!==undefined){let data133=data.mapPreset;if(data133&&typeof data133=='object'&&!Array.isArray(data133)){if(data133.layers!==undefined){let data134=data133.layers;if(Array.isArray(data134)){const len50=data134.length;for(let i50=0;i50<len50;i50++){let data135=data134[i50];if(data135&&typeof data135=='object'&&!Array.isArray(data135)){if(data135.id===undefined){const err259={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}if(data135.name===undefined){const err260={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}if(data135.layerType===undefined){const err261={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}if(data135.id!==undefined){if(typeof data135.id!=='string'){const err262={instancePath:instancePath+'/mapPreset/layers/'+i50+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}}if(data135.name!==undefined){if(typeof data135.name!=='string'){const err263={instancePath:instancePath+'/mapPreset/layers/'+i50+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}if(data135.layerType!==undefined){let data138=data135.layerType;if(typeof data138!=='string'){const err264={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}if(!(data138==='overLayer'||data138==='baseLayer'||data138==='mapLayer')){const err265={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema13.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}}}else {const err266={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}}}else {const err267={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}}if(data133.proj!==undefined){let data139=data133.proj;if(data139&&typeof data139=='object'&&!Array.isArray(data139)){if(data139.bbox===undefined){const err268={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}if(data139.srs===undefined){const err269={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}for(const key8 in data139){if(!(key8==='bbox'||key8==='srs')){const err270={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key8},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}}if(data139.bbox!==undefined){let data140=data139.bbox;if(data140&&typeof data140=='object'&&!Array.isArray(data140)){if(data140.left===undefined){const err271={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}if(data140.right===undefined){const err272={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}if(data140.top===undefined){const err273={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}if(data140.bottom===undefined){const err274={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}for(const key9 in data140){if(!(key9==='left'||key9==='right'||key9==='top'||key9==='bottom')){const err275={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key9},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}}if(data140.left!==undefined){let data141=data140.left;if(!(typeof data141=='number'&&isFinite(data141))){const err276={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data140.right!==undefined){let data142=data140.right;if(!(typeof data142=='number'&&isFinite(data142))){const err277={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}}if(data140.top!==undefined){let data143=data140.top;if(!(typeof data143=='number'&&isFinite(data143))){const err278={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}}if(data140.bottom!==undefined){let data144=data140.bottom;if(!(typeof data144=='number'&&isFinite(data144))){const err279={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}}}else {const err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}}if(data139.srs!==undefined){if(typeof data139.srs!=='string'){const err281={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}}else {const err282={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}}else {const err283={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}if(data.omit_change_va_and_rdoact_cloud!==undefined){if(typeof data.omit_change_va_and_rdoact_cloud!=='boolean'){const err284={instancePath:instancePath+'/omit_change_va_and_rdoact_cloud',schemaPath:'#/properties/omit_change_va_and_rdoact_cloud/type',keyword:'type',params:{type:'boolean'},message:'must be boolean'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}}}else {const err285={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}validate14.errors=vErrors;return errors===0;}
|
|
10369
|
+
const schema13={type:'object',title:'sigmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}},omit_change_va_and_rdoact_cloud:{type:'boolean'}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15$1={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0$1=new RegExp('','u');const keyword0={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},phenomenon:{type:'array',items:{type:'object',properties:{code:{type:'string'},description:{type:'string'}},required:['code','description']}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset'],additionalProperties:false};const func2$1=Object.prototype.hasOwnProperty;function validate14(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset'||key0==='omit_change_va_and_rdoact_cloud')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0$1.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}if(data6.tc_max_hours_of_validity===undefined){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_max_hours_of_validity'},message:"must have required property '"+'tc_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}if(data6.tc_hours_before_validity===undefined){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_hours_before_validity'},message:"must have required property '"+'tc_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}if(data6.va_max_hours_of_validity===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_max_hours_of_validity'},message:"must have required property '"+'va_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data6.va_hours_before_validity===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_hours_before_validity'},message:"must have required property '"+'va_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data6.adjacent_firs===undefined){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'adjacent_firs'},message:"must have required property '"+'adjacent_firs'+"'"};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(data6.area_preset===undefined){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'area_preset'},message:"must have required property '"+'area_preset'+"'"};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}for(const key2 in data6){if(!func2$1.call(keyword0.properties,key2)){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(data8.features===undefined){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}if(!(data9==='FeatureCollection')){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}if(data11.geometry===undefined){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}if(!(data12==='Feature')){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}}else {const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}if(data16.coordinates===undefined){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}if(!(data17==='Point')){const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}}}else {const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}else {const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}}}else {const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}if(data16.coordinates===undefined){const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}if(!(data21==='LineString')){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}}}else {const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}}}else {const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}}else {const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}}}else {const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}if(data16.coordinates===undefined){const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}if(!(data27==='Polygon')){const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}}}else {const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}}}else {const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}}else {const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}}}else {const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}if(data16.coordinates===undefined){const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}if(!(data34==='MultiPoint')){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}}}else {const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}}}else {const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}}else {const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}}}else {const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}if(data16.coordinates===undefined){const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}if(!(data40==='MultiLineString')){const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}}}else {const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}}}else {const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}}else {const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}}}else {const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}if(data16.coordinates===undefined){const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}if(!(data47==='MultiPolygon')){const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}}}else {const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}}}else {const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}}else {const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}}}else {const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(data16.geometries===undefined){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}if(!(data55==='GeometryCollection')){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}if(data57.coordinates===undefined){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}if(!(data58==='Point')){const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}}}else {const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}}else {const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}}}else {const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}if(data57.coordinates===undefined){const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}if(!(data63==='LineString')){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}}}else {const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}}}else {const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}}else {const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}}}else {const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}if(data57.coordinates===undefined){const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}if(!(data69==='Polygon')){const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}}}else {const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}}}else {const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}}else {const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}}}else {const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}if(data57.coordinates===undefined){const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}if(!(data76==='MultiPoint')){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}}}else {const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}}}else {const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}}else {const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}}}else {const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}if(data57.coordinates===undefined){const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}if(!(data82==='MultiLineString')){const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}}}else {const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}}}else {const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}}else {const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}}}else {const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}if(data57.coordinates===undefined){const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}if(!(data89==='MultiPolygon')){const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}}}else {const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}}else {const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}}else {const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}}else {const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}}else {const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}}else {const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}}}else {const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}}else {const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}}if(data6.phenomenon!==undefined){let data121=data6.phenomenon;if(Array.isArray(data121)){const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.code===undefined){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'code'},message:"must have required property '"+'code'+"'"};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}if(data122.description===undefined){const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'description'},message:"must have required property '"+'description'+"'"};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}if(data122.code!==undefined){if(typeof data122.code!=='string'){const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/code',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/code/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}}if(data122.description!==undefined){if(typeof data122.description!=='string'){const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/description',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/description/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}}else {const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}}else {const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}}if(data6.units!==undefined){let data125=data6.units;if(Array.isArray(data125)){if(data125.length<1){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}const len48=data125.length;for(let i48=0;i48<len48;i48++){let data126=data125[i48];if(data126&&typeof data126=='object'&&!Array.isArray(data126)){if(data126.unit_type===undefined){const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}if(data126.allowed_units===undefined){const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}for(const key7 in data126){if(!(key7==='unit_type'||key7==='allowed_units')){const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data126.unit_type!==undefined){if(typeof data126.unit_type!=='string'){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}if(data126.allowed_units!==undefined){let data128=data126.allowed_units;if(Array.isArray(data128)){if(data128.length<1){const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}const len49=data128.length;for(let i49=0;i49<len49;i49++){if(typeof data128[i49]!=='string'){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units/'+i49,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}}else {const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}}else {const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}}}else {const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}if(data6.tc_max_hours_of_validity!==undefined){let data130=data6.tc_max_hours_of_validity;if(!(typeof data130=='number'&&isFinite(data130))){const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}if(data6.tc_hours_before_validity!==undefined){let data131=data6.tc_hours_before_validity;if(!(typeof data131=='number'&&isFinite(data131))){const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}if(data6.va_max_hours_of_validity!==undefined){let data132=data6.va_max_hours_of_validity;if(!(typeof data132=='number'&&isFinite(data132))){const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}}if(data6.va_hours_before_validity!==undefined){let data133=data6.va_hours_before_validity;if(!(typeof data133=='number'&&isFinite(data133))){const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}if(data6.adjacent_firs!==undefined){let data134=data6.adjacent_firs;if(Array.isArray(data134)){if(data134.length<1){const err258={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}const len50=data134.length;for(let i50=0;i50<len50;i50++){if(typeof data134[i50]!=='string'){const err259={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs/'+i50,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}}}else {const err260={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}}if(data6.area_preset!==undefined){if(typeof data6.area_preset!=='string'){const err261={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/area_preset',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/area_preset/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}}}else {const err262={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}var valid4=_errs17===errors;if(!valid4){const err263={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}}}else {const err264={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}}if(data.mapPreset!==undefined){let data137=data.mapPreset;if(data137&&typeof data137=='object'&&!Array.isArray(data137)){if(data137.layers!==undefined){let data138=data137.layers;if(Array.isArray(data138)){const len51=data138.length;for(let i51=0;i51<len51;i51++){let data139=data138[i51];if(data139&&typeof data139=='object'&&!Array.isArray(data139)){if(data139.id===undefined){const err265={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}if(data139.name===undefined){const err266={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}if(data139.layerType===undefined){const err267={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}if(data139.id!==undefined){if(typeof data139.id!=='string'){const err268={instancePath:instancePath+'/mapPreset/layers/'+i51+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}}if(data139.name!==undefined){if(typeof data139.name!=='string'){const err269={instancePath:instancePath+'/mapPreset/layers/'+i51+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}}if(data139.layerType!==undefined){let data142=data139.layerType;if(typeof data142!=='string'){const err270={instancePath:instancePath+'/mapPreset/layers/'+i51+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}if(!(data142==='overLayer'||data142==='baseLayer'||data142==='mapLayer')){const err271={instancePath:instancePath+'/mapPreset/layers/'+i51+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema13.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}}}else {const err272={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}}}else {const err273={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}}if(data137.proj!==undefined){let data143=data137.proj;if(data143&&typeof data143=='object'&&!Array.isArray(data143)){if(data143.bbox===undefined){const err274={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}if(data143.srs===undefined){const err275={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}for(const key8 in data143){if(!(key8==='bbox'||key8==='srs')){const err276={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key8},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data143.bbox!==undefined){let data144=data143.bbox;if(data144&&typeof data144=='object'&&!Array.isArray(data144)){if(data144.left===undefined){const err277={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}if(data144.right===undefined){const err278={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}if(data144.top===undefined){const err279={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}if(data144.bottom===undefined){const err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}for(const key9 in data144){if(!(key9==='left'||key9==='right'||key9==='top'||key9==='bottom')){const err281={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key9},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}if(data144.left!==undefined){let data145=data144.left;if(!(typeof data145=='number'&&isFinite(data145))){const err282={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}if(data144.right!==undefined){let data146=data144.right;if(!(typeof data146=='number'&&isFinite(data146))){const err283={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}if(data144.top!==undefined){let data147=data144.top;if(!(typeof data147=='number'&&isFinite(data147))){const err284={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}}if(data144.bottom!==undefined){let data148=data144.bottom;if(!(typeof data148=='number'&&isFinite(data148))){const err285={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}}}else {const err286={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err286];}else {vErrors.push(err286);}errors++;}}if(data143.srs!==undefined){if(typeof data143.srs!=='string'){const err287={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err287];}else {vErrors.push(err287);}errors++;}}}else {const err288={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err288];}else {vErrors.push(err288);}errors++;}}}else {const err289={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err289];}else {vErrors.push(err289);}errors++;}}if(data.omit_change_va_and_rdoact_cloud!==undefined){if(typeof data.omit_change_va_and_rdoact_cloud!=='boolean'){const err290={instancePath:instancePath+'/omit_change_va_and_rdoact_cloud',schemaPath:'#/properties/omit_change_va_and_rdoact_cloud/type',keyword:'type',params:{type:'boolean'},message:'must be boolean'};if(vErrors===null){vErrors=[err290];}else {vErrors.push(err290);}errors++;}}}else {const err291={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err291];}else {vErrors.push(err291);}errors++;}validate14.errors=vErrors;return errors===0;}
|
|
9985
10370
|
|
|
9986
|
-
const schema17={type:'object',title:'airmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0=new RegExp('','u');const keyword1={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units'],additionalProperties:false};const func2=Object.prototype.hasOwnProperty;function validate16(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}for(const key2 in data6){if(!func2.call(keyword1.properties,key2)){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data8.features===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(!(data9==='FeatureCollection')){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}if(data11.geometry===undefined){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(!(data12==='Feature')){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}}}else {const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}if(data16.coordinates===undefined){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}if(!(data17==='Point')){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}}}else {const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}}else {const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}}}else {const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}if(data16.coordinates===undefined){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}if(!(data21==='LineString')){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}}}else {const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}}}else {const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}}}else {const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}}}else {const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}if(data16.coordinates===undefined){const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}if(!(data27==='Polygon')){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}}}else {const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}}}else {const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}}}else {const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}}}else {const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}if(data16.coordinates===undefined){const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}if(!(data34==='MultiPoint')){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}}}else {const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}}}else {const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}}else {const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}}}else {const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}if(data16.coordinates===undefined){const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}if(!(data40==='MultiLineString')){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}}}else {const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}}}else {const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}}}else {const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}}}else {const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}if(data16.coordinates===undefined){const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}if(!(data47==='MultiPolygon')){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}}}else {const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}}}else {const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}}}else {const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}}else {const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}if(data16.geometries===undefined){const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}if(!(data55==='GeometryCollection')){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}if(data57.coordinates===undefined){const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(!(data58==='Point')){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}}else {const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}}}else {const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}}else {const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}if(data57.coordinates===undefined){const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}if(!(data63==='LineString')){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}}}else {const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}}}else {const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}}}else {const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}}}else {const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}if(data57.coordinates===undefined){const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}if(!(data69==='Polygon')){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}}}else {const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}}}else {const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}}}else {const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}}}else {const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}if(data57.coordinates===undefined){const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}if(!(data76==='MultiPoint')){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}}}else {const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}}}else {const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}}else {const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}}}else {const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}if(data57.coordinates===undefined){const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}if(!(data82==='MultiLineString')){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}}}else {const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}}}else {const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}}}else {const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}}}else {const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}if(data57.coordinates===undefined){const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}if(!(data89==='MultiPolygon')){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}}}else {const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}}}else {const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}}}else {const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}}else {const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}}}else {const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}}}else {const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}}else {const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}}else {const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}}else {const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.units!==undefined){let data121=data6.units;if(Array.isArray(data121)){if(data121.length<1){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.unit_type===undefined){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}if(data122.allowed_units===undefined){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}for(const key7 in data122){if(!(key7==='unit_type'||key7==='allowed_units')){const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data122.unit_type!==undefined){if(typeof data122.unit_type!=='string'){const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}if(data122.allowed_units!==undefined){let data124=data122.allowed_units;if(Array.isArray(data124)){if(data124.length<1){const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}const len48=data124.length;for(let i48=0;i48<len48;i48++){if(typeof data124[i48]!=='string'){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}}}else {const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}}}else {const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}}}else {const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data6.cloud_level_min!==undefined){let data126=data6.cloud_level_min;if(data126&&typeof data126=='object'&&!Array.isArray(data126)){for(const key8 in data126){let data127=data126[key8];if(!(typeof data127=='number'&&isFinite(data127))){const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min/'+key8.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}}else {const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}}if(data6.cloud_level_max!==undefined){let data128=data6.cloud_level_max;if(data128&&typeof data128=='object'&&!Array.isArray(data128)){for(const key9 in data128){let data129=data128[key9];if(!(typeof data129=='number'&&isFinite(data129))){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max/'+key9.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}if(data6.cloud_lower_level_min!==undefined){let data130=data6.cloud_lower_level_min;if(data130&&typeof data130=='object'&&!Array.isArray(data130)){for(const key10 in data130){let data131=data130[key10];if(!(typeof data131=='number'&&isFinite(data131))){const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min/'+key10.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.cloud_lower_level_max!==undefined){let data132=data6.cloud_lower_level_max;if(data132&&typeof data132=='object'&&!Array.isArray(data132)){for(const key11 in data132){let data133=data132[key11];if(!(typeof data133=='number'&&isFinite(data133))){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max/'+key11.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}}else {const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.cloud_level_rounding_ft!==undefined){let data134=data6.cloud_level_rounding_ft;if(!(typeof data134=='number'&&isFinite(data134))){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_ft',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_ft/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}if(data6.cloud_level_rounding_m_below!==undefined){let data135=data6.cloud_level_rounding_m_below;if(!(typeof data135=='number'&&isFinite(data135))){const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.cloud_level_rounding_m_above!==undefined){let data136=data6.cloud_level_rounding_m_above;if(!(typeof data136=='number'&&isFinite(data136))){const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}}if(data6.wind_direction_rounding!==undefined){let data137=data6.wind_direction_rounding;if(!(typeof data137=='number'&&isFinite(data137))){const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_direction_rounding',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_direction_rounding/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}if(data6.wind_speed_max!==undefined){let data138=data6.wind_speed_max;if(data138&&typeof data138=='object'&&!Array.isArray(data138)){for(const key12 in data138){let data139=data138[key12];if(!(typeof data139=='number'&&isFinite(data139))){const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max/'+key12.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}}else {const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}if(data6.wind_speed_min!==undefined){let data140=data6.wind_speed_min;if(data140&&typeof data140=='object'&&!Array.isArray(data140)){for(const key13 in data140){let data141=data140[key13];if(!(typeof data141=='number'&&isFinite(data141))){const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min/'+key13.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}}}else {const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}if(data6.visibility_max!==undefined){let data142=data6.visibility_max;if(!(typeof data142=='number'&&isFinite(data142))){const err258={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_max/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data6.visibility_min!==undefined){let data143=data6.visibility_min;if(!(typeof data143=='number'&&isFinite(data143))){const err259={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_min/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}}if(data6.visibility_rounding_below!==undefined){let data144=data6.visibility_rounding_below;if(!(typeof data144=='number'&&isFinite(data144))){const err260={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}}if(data6.visibility_rounding_above!==undefined){let data145=data6.visibility_rounding_above;if(!(typeof data145=='number'&&isFinite(data145))){const err261={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}}}else {const err262={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}var valid4=_errs17===errors;if(!valid4){const err263={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}}}else {const err264={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}}if(data.mapPreset!==undefined){let data146=data.mapPreset;if(data146&&typeof data146=='object'&&!Array.isArray(data146)){if(data146.layers!==undefined){let data147=data146.layers;if(Array.isArray(data147)){const len49=data147.length;for(let i49=0;i49<len49;i49++){let data148=data147[i49];if(data148&&typeof data148=='object'&&!Array.isArray(data148)){if(data148.id===undefined){const err265={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}if(data148.name===undefined){const err266={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}if(data148.layerType===undefined){const err267={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}if(data148.id!==undefined){if(typeof data148.id!=='string'){const err268={instancePath:instancePath+'/mapPreset/layers/'+i49+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}}if(data148.name!==undefined){if(typeof data148.name!=='string'){const err269={instancePath:instancePath+'/mapPreset/layers/'+i49+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}}if(data148.layerType!==undefined){let data151=data148.layerType;if(typeof data151!=='string'){const err270={instancePath:instancePath+'/mapPreset/layers/'+i49+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}if(!(data151==='overLayer'||data151==='baseLayer'||data151==='mapLayer')){const err271={instancePath:instancePath+'/mapPreset/layers/'+i49+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema17.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}}}else {const err272={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}}}else {const err273={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}}if(data146.proj!==undefined){let data152=data146.proj;if(data152&&typeof data152=='object'&&!Array.isArray(data152)){if(data152.bbox===undefined){const err274={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}if(data152.srs===undefined){const err275={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}for(const key14 in data152){if(!(key14==='bbox'||key14==='srs')){const err276={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key14},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data152.bbox!==undefined){let data153=data152.bbox;if(data153&&typeof data153=='object'&&!Array.isArray(data153)){if(data153.left===undefined){const err277={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}if(data153.right===undefined){const err278={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}if(data153.top===undefined){const err279={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}if(data153.bottom===undefined){const err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}for(const key15 in data153){if(!(key15==='left'||key15==='right'||key15==='top'||key15==='bottom')){const err281={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key15},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}if(data153.left!==undefined){let data154=data153.left;if(!(typeof data154=='number'&&isFinite(data154))){const err282={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}if(data153.right!==undefined){let data155=data153.right;if(!(typeof data155=='number'&&isFinite(data155))){const err283={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}if(data153.top!==undefined){let data156=data153.top;if(!(typeof data156=='number'&&isFinite(data156))){const err284={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}}if(data153.bottom!==undefined){let data157=data153.bottom;if(!(typeof data157=='number'&&isFinite(data157))){const err285={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}}}else {const err286={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err286];}else {vErrors.push(err286);}errors++;}}if(data152.srs!==undefined){if(typeof data152.srs!=='string'){const err287={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err287];}else {vErrors.push(err287);}errors++;}}}else {const err288={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err288];}else {vErrors.push(err288);}errors++;}}}else {const err289={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err289];}else {vErrors.push(err289);}errors++;}}}else {const err290={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err290];}else {vErrors.push(err290);}errors++;}validate16.errors=vErrors;return errors===0;}
|
|
10371
|
+
const schema17={type:'object',title:'airmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0=new RegExp('','u');const keyword1={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},phenomenon:{type:'array',items:{type:'object',properties:{code:{type:'string'},description:{type:'string'}},required:['code','description']}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units'],additionalProperties:false};const func2=Object.prototype.hasOwnProperty;function validate16(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}for(const key2 in data6){if(!func2.call(keyword1.properties,key2)){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data8.features===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(!(data9==='FeatureCollection')){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}if(data11.geometry===undefined){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(!(data12==='Feature')){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}}}else {const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}if(data16.coordinates===undefined){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}if(!(data17==='Point')){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}}}else {const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}}else {const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}}}else {const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}if(data16.coordinates===undefined){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}if(!(data21==='LineString')){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}}}else {const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}}}else {const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}}}else {const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}}}else {const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}if(data16.coordinates===undefined){const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}if(!(data27==='Polygon')){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}}}else {const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}}}else {const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}}}else {const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}}}else {const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}if(data16.coordinates===undefined){const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}if(!(data34==='MultiPoint')){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}}}else {const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}}}else {const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}}else {const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}}}else {const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}if(data16.coordinates===undefined){const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}if(!(data40==='MultiLineString')){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}}}else {const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}}}else {const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}}}else {const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}}}else {const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}if(data16.coordinates===undefined){const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}if(!(data47==='MultiPolygon')){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}}}else {const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}}}else {const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}}}else {const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}}else {const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}if(data16.geometries===undefined){const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}if(!(data55==='GeometryCollection')){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}if(data57.coordinates===undefined){const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(!(data58==='Point')){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}}else {const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}}}else {const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}}else {const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}if(data57.coordinates===undefined){const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}if(!(data63==='LineString')){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}}}else {const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}}}else {const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}}}else {const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}}}else {const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}if(data57.coordinates===undefined){const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}if(!(data69==='Polygon')){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}}}else {const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}}}else {const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}}}else {const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}}}else {const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}if(data57.coordinates===undefined){const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}if(!(data76==='MultiPoint')){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}}}else {const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}}}else {const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}}else {const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}}}else {const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}if(data57.coordinates===undefined){const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}if(!(data82==='MultiLineString')){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}}}else {const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}}}else {const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}}}else {const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}}}else {const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}if(data57.coordinates===undefined){const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}if(!(data89==='MultiPolygon')){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}}}else {const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}}}else {const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}}}else {const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}}else {const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}}}else {const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}}}else {const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}}else {const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}}else {const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}}else {const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.phenomenon!==undefined){let data121=data6.phenomenon;if(Array.isArray(data121)){const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.code===undefined){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'code'},message:"must have required property '"+'code'+"'"};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}if(data122.description===undefined){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'description'},message:"must have required property '"+'description'+"'"};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}if(data122.code!==undefined){if(typeof data122.code!=='string'){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/code',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/code/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}}if(data122.description!==undefined){if(typeof data122.description!=='string'){const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/description',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/description/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}}else {const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}}else {const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}}if(data6.units!==undefined){let data125=data6.units;if(Array.isArray(data125)){if(data125.length<1){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}const len48=data125.length;for(let i48=0;i48<len48;i48++){let data126=data125[i48];if(data126&&typeof data126=='object'&&!Array.isArray(data126)){if(data126.unit_type===undefined){const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}if(data126.allowed_units===undefined){const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}for(const key7 in data126){if(!(key7==='unit_type'||key7==='allowed_units')){const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data126.unit_type!==undefined){if(typeof data126.unit_type!=='string'){const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}if(data126.allowed_units!==undefined){let data128=data126.allowed_units;if(Array.isArray(data128)){if(data128.length<1){const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}const len49=data128.length;for(let i49=0;i49<len49;i49++){if(typeof data128[i49]!=='string'){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units/'+i49,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}}else {const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.cloud_level_min!==undefined){let data130=data6.cloud_level_min;if(data130&&typeof data130=='object'&&!Array.isArray(data130)){for(const key8 in data130){let data131=data130[key8];if(!(typeof data131=='number'&&isFinite(data131))){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min/'+key8.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}}else {const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.cloud_level_max!==undefined){let data132=data6.cloud_level_max;if(data132&&typeof data132=='object'&&!Array.isArray(data132)){for(const key9 in data132){let data133=data132[key9];if(!(typeof data133=='number'&&isFinite(data133))){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max/'+key9.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}}else {const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.cloud_lower_level_min!==undefined){let data134=data6.cloud_lower_level_min;if(data134&&typeof data134=='object'&&!Array.isArray(data134)){for(const key10 in data134){let data135=data134[key10];if(!(typeof data135=='number'&&isFinite(data135))){const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min/'+key10.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}}}else {const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}if(data6.cloud_lower_level_max!==undefined){let data136=data6.cloud_lower_level_max;if(data136&&typeof data136=='object'&&!Array.isArray(data136)){for(const key11 in data136){let data137=data136[key11];if(!(typeof data137=='number'&&isFinite(data137))){const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max/'+key11.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}}else {const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}if(data6.cloud_level_rounding_ft!==undefined){let data138=data6.cloud_level_rounding_ft;if(!(typeof data138=='number'&&isFinite(data138))){const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_ft',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_ft/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}}if(data6.cloud_level_rounding_m_below!==undefined){let data139=data6.cloud_level_rounding_m_below;if(!(typeof data139=='number'&&isFinite(data139))){const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}if(data6.cloud_level_rounding_m_above!==undefined){let data140=data6.cloud_level_rounding_m_above;if(!(typeof data140=='number'&&isFinite(data140))){const err258={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data6.wind_direction_rounding!==undefined){let data141=data6.wind_direction_rounding;if(!(typeof data141=='number'&&isFinite(data141))){const err259={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_direction_rounding',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_direction_rounding/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}}if(data6.wind_speed_max!==undefined){let data142=data6.wind_speed_max;if(data142&&typeof data142=='object'&&!Array.isArray(data142)){for(const key12 in data142){let data143=data142[key12];if(!(typeof data143=='number'&&isFinite(data143))){const err260={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max/'+key12.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}}}else {const err261={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}}if(data6.wind_speed_min!==undefined){let data144=data6.wind_speed_min;if(data144&&typeof data144=='object'&&!Array.isArray(data144)){for(const key13 in data144){let data145=data144[key13];if(!(typeof data145=='number'&&isFinite(data145))){const err262={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min/'+key13.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}}}else {const err263={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}if(data6.visibility_max!==undefined){let data146=data6.visibility_max;if(!(typeof data146=='number'&&isFinite(data146))){const err264={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_max/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}}if(data6.visibility_min!==undefined){let data147=data6.visibility_min;if(!(typeof data147=='number'&&isFinite(data147))){const err265={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_min/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}}if(data6.visibility_rounding_below!==undefined){let data148=data6.visibility_rounding_below;if(!(typeof data148=='number'&&isFinite(data148))){const err266={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}}if(data6.visibility_rounding_above!==undefined){let data149=data6.visibility_rounding_above;if(!(typeof data149=='number'&&isFinite(data149))){const err267={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}}}else {const err268={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}var valid4=_errs17===errors;if(!valid4){const err269={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}}}}else {const err270={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}}if(data.mapPreset!==undefined){let data150=data.mapPreset;if(data150&&typeof data150=='object'&&!Array.isArray(data150)){if(data150.layers!==undefined){let data151=data150.layers;if(Array.isArray(data151)){const len50=data151.length;for(let i50=0;i50<len50;i50++){let data152=data151[i50];if(data152&&typeof data152=='object'&&!Array.isArray(data152)){if(data152.id===undefined){const err271={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}if(data152.name===undefined){const err272={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}if(data152.layerType===undefined){const err273={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}if(data152.id!==undefined){if(typeof data152.id!=='string'){const err274={instancePath:instancePath+'/mapPreset/layers/'+i50+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}}if(data152.name!==undefined){if(typeof data152.name!=='string'){const err275={instancePath:instancePath+'/mapPreset/layers/'+i50+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}}if(data152.layerType!==undefined){let data155=data152.layerType;if(typeof data155!=='string'){const err276={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}if(!(data155==='overLayer'||data155==='baseLayer'||data155==='mapLayer')){const err277={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema17.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}}}else {const err278={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}}}else {const err279={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}}if(data150.proj!==undefined){let data156=data150.proj;if(data156&&typeof data156=='object'&&!Array.isArray(data156)){if(data156.bbox===undefined){const err280={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}if(data156.srs===undefined){const err281={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}for(const key14 in data156){if(!(key14==='bbox'||key14==='srs')){const err282={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key14},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}if(data156.bbox!==undefined){let data157=data156.bbox;if(data157&&typeof data157=='object'&&!Array.isArray(data157)){if(data157.left===undefined){const err283={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}if(data157.right===undefined){const err284={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}if(data157.top===undefined){const err285={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}if(data157.bottom===undefined){const err286={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err286];}else {vErrors.push(err286);}errors++;}for(const key15 in data157){if(!(key15==='left'||key15==='right'||key15==='top'||key15==='bottom')){const err287={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key15},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err287];}else {vErrors.push(err287);}errors++;}}if(data157.left!==undefined){let data158=data157.left;if(!(typeof data158=='number'&&isFinite(data158))){const err288={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err288];}else {vErrors.push(err288);}errors++;}}if(data157.right!==undefined){let data159=data157.right;if(!(typeof data159=='number'&&isFinite(data159))){const err289={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err289];}else {vErrors.push(err289);}errors++;}}if(data157.top!==undefined){let data160=data157.top;if(!(typeof data160=='number'&&isFinite(data160))){const err290={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err290];}else {vErrors.push(err290);}errors++;}}if(data157.bottom!==undefined){let data161=data157.bottom;if(!(typeof data161=='number'&&isFinite(data161))){const err291={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err291];}else {vErrors.push(err291);}errors++;}}}else {const err292={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err292];}else {vErrors.push(err292);}errors++;}}if(data156.srs!==undefined){if(typeof data156.srs!=='string'){const err293={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err293];}else {vErrors.push(err293);}errors++;}}}else {const err294={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err294];}else {vErrors.push(err294);}errors++;}}}else {const err295={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err295];}else {vErrors.push(err295);}errors++;}}}else {const err296={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err296];}else {vErrors.push(err296);}errors++;}validate16.errors=vErrors;return errors===0;}
|
|
9987
10372
|
|
|
9988
10373
|
const parseErrors = errors => errors.reduce((list, error) => {
|
|
9989
10374
|
// filter out merge errors, as they are not very helpful
|
|
@@ -10003,22 +10388,22 @@ const validateAirmet = airmetConfig => {
|
|
|
10003
10388
|
return validate16(airmetConfig) || parseErrors(validate16.errors);
|
|
10004
10389
|
};
|
|
10005
10390
|
|
|
10006
|
-
/* *
|
|
10007
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10008
|
-
* you may not use this file except in compliance with the License.
|
|
10009
|
-
* You may obtain a copy of the License at
|
|
10010
|
-
*
|
|
10011
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10012
|
-
*
|
|
10013
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10014
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10015
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10016
|
-
* See the License for the specific language governing permissions and
|
|
10017
|
-
* limitations under the License.
|
|
10018
|
-
*
|
|
10019
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10020
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
10021
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
10391
|
+
/* *
|
|
10392
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10393
|
+
* you may not use this file except in compliance with the License.
|
|
10394
|
+
* You may obtain a copy of the License at
|
|
10395
|
+
*
|
|
10396
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10397
|
+
*
|
|
10398
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10399
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10400
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10401
|
+
* See the License for the specific language governing permissions and
|
|
10402
|
+
* limitations under the License.
|
|
10403
|
+
*
|
|
10404
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10405
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
10406
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
10022
10407
|
* */
|
|
10023
10408
|
const sigmetConfig = sigmetDefaultConfig;
|
|
10024
10409
|
const airmetConfig = airmetDefaultConfig;
|
|
@@ -10062,6 +10447,7 @@ const SigmetForm = ({
|
|
|
10062
10447
|
api
|
|
10063
10448
|
} = useApiContext();
|
|
10064
10449
|
const firBorderAtStart = _initialSigmet ? _initialSigmet.locationIndicatorATSR : _productConfig.active_firs[0];
|
|
10450
|
+
const [phenomenaList, setPhenomenaList] = React__default.useState(getDefaultPhenomena(_productConfig).phenomena);
|
|
10065
10451
|
const {
|
|
10066
10452
|
geoJSON: startGeoJSON,
|
|
10067
10453
|
setGeoJSON: setStartGeoJSON,
|
|
@@ -10170,6 +10556,9 @@ const SigmetForm = ({
|
|
|
10170
10556
|
const onChangeForm = () => {
|
|
10171
10557
|
updateTac(watch);
|
|
10172
10558
|
};
|
|
10559
|
+
React__default.useEffect(() => {
|
|
10560
|
+
updateTac(watch);
|
|
10561
|
+
}, [_initialSigmet, updateTac, watch]);
|
|
10173
10562
|
React__default.useEffect(() => {
|
|
10174
10563
|
const isInDrawMode = activeStartTool !== '' || activeEndTool !== '';
|
|
10175
10564
|
setDialogActionsDisabled && setDialogActionsDisabled(isInDrawMode);
|
|
@@ -10184,7 +10573,7 @@ const SigmetForm = ({
|
|
|
10184
10573
|
const {
|
|
10185
10574
|
isShortTest
|
|
10186
10575
|
} = useShortTestHelpers();
|
|
10187
|
-
const onChangeFir = event => {
|
|
10576
|
+
const onChangeFir = (event, newPhenomenaList) => {
|
|
10188
10577
|
const newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
|
|
10189
10578
|
const newFirGeoJSON = addFeatureProperties(getFir(_productConfig, newFIRValue), featurePropsFIR);
|
|
10190
10579
|
// delete shape
|
|
@@ -10196,6 +10585,8 @@ const SigmetForm = ({
|
|
|
10196
10585
|
// update tool buttons with new fir geoJSON
|
|
10197
10586
|
setStartEditModes(updateDrawToolsWithFir(startEditModes, newFirGeoJSON));
|
|
10198
10587
|
setEndEditModes(updateDrawToolsWithFir(endEditModes, newFirGeoJSON));
|
|
10588
|
+
// update available phenomena for the FIR
|
|
10589
|
+
setPhenomenaList(newPhenomenaList);
|
|
10199
10590
|
};
|
|
10200
10591
|
const renderForm = () => jsxs(Grid, Object.assign({
|
|
10201
10592
|
container: true,
|
|
@@ -10225,6 +10616,8 @@ const SigmetForm = ({
|
|
|
10225
10616
|
onChange: onChangeForm
|
|
10226
10617
|
}), !_isCancelSigmet && jsx(Phenomenon, {
|
|
10227
10618
|
productType: "sigmet",
|
|
10619
|
+
productConfig: _productConfig,
|
|
10620
|
+
phenomenaList: phenomenaList,
|
|
10228
10621
|
isDisabled: isDisabled,
|
|
10229
10622
|
isReadOnly: isReadOnly,
|
|
10230
10623
|
onChange: onChangeForm
|
|
@@ -10389,6 +10782,7 @@ const AirmetForm = ({
|
|
|
10389
10782
|
productConfig: _productConfig = airmetConfig,
|
|
10390
10783
|
product
|
|
10391
10784
|
}) => {
|
|
10785
|
+
const [phenomenaList, setPhenomenaList] = React__default.useState(getDefaultPhenomena(_productConfig).phenomena);
|
|
10392
10786
|
const {
|
|
10393
10787
|
api
|
|
10394
10788
|
} = useApiContext();
|
|
@@ -10456,6 +10850,9 @@ const AirmetForm = ({
|
|
|
10456
10850
|
const onChangeForm = () => {
|
|
10457
10851
|
updateTac(watch);
|
|
10458
10852
|
};
|
|
10853
|
+
React__default.useEffect(() => {
|
|
10854
|
+
updateTac(watch);
|
|
10855
|
+
}, [_initialAirmet, updateTac, watch]);
|
|
10459
10856
|
React__default.useEffect(() => {
|
|
10460
10857
|
const isInDrawMode = activeStartTool !== '';
|
|
10461
10858
|
if (!isReadOnly && isInDrawMode !== isDisabled) {
|
|
@@ -10468,7 +10865,7 @@ const AirmetForm = ({
|
|
|
10468
10865
|
hasLevels,
|
|
10469
10866
|
hasCloudLevels
|
|
10470
10867
|
} = useConditionalFields();
|
|
10471
|
-
const onChangeFir = event => {
|
|
10868
|
+
const onChangeFir = (event, newPhenomenaList) => {
|
|
10472
10869
|
const newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
|
|
10473
10870
|
const newFirGeoJSON = addFeatureProperties(getFir(_productConfig, newFIRValue), featurePropsFIR);
|
|
10474
10871
|
// delete shape
|
|
@@ -10477,6 +10874,8 @@ const AirmetForm = ({
|
|
|
10477
10874
|
setStartGeoJSONIntersectionBounds(newFirGeoJSON);
|
|
10478
10875
|
// update tool buttons with new fir geoJSON
|
|
10479
10876
|
setStartEditModes(updateDrawToolsWithFir(startEditModes, newFirGeoJSON));
|
|
10877
|
+
// update available phenomena for the FIR
|
|
10878
|
+
setPhenomenaList(newPhenomenaList);
|
|
10480
10879
|
// trigger validation for airmet specific fields that depend on FIR config
|
|
10481
10880
|
const fieldnames = ['windDirection', 'windSpeed', 'visibilityValue', 'cloudLevel.value', 'cloudLowerLevel.value'];
|
|
10482
10881
|
triggerValidations(fieldnames, getValues, trigger);
|
|
@@ -10509,6 +10908,8 @@ const AirmetForm = ({
|
|
|
10509
10908
|
onChange: onChangeForm
|
|
10510
10909
|
}), !_isCancelAirmet && jsx(Phenomenon, {
|
|
10511
10910
|
productType: "airmet",
|
|
10911
|
+
productConfig: _productConfig,
|
|
10912
|
+
phenomenaList: phenomenaList,
|
|
10512
10913
|
isDisabled: isDisabled,
|
|
10513
10914
|
isReadOnly: isReadOnly,
|
|
10514
10915
|
onChange: onChangeForm
|
|
@@ -10798,12 +11199,6 @@ const getStatusTagList = (product, cancelsSeqId) => {
|
|
|
10798
11199
|
}
|
|
10799
11200
|
});
|
|
10800
11201
|
};
|
|
10801
|
-
const getPhenomenon = (productType, phenomenon) => {
|
|
10802
|
-
if (productType === 'sigmet') {
|
|
10803
|
-
return SigmetPhenomena[phenomenon];
|
|
10804
|
-
}
|
|
10805
|
-
return AirmetPhenomena[phenomenon];
|
|
10806
|
-
};
|
|
10807
11202
|
const getCancelSeqId = product => {
|
|
10808
11203
|
if (isInstanceOfCancelSigmet(product)) {
|
|
10809
11204
|
return product.cancelsSigmetSequenceId;
|
|
@@ -10893,7 +11288,8 @@ const listRowStyles = {
|
|
|
10893
11288
|
};
|
|
10894
11289
|
const ProductListRow = ({
|
|
10895
11290
|
product,
|
|
10896
|
-
productType
|
|
11291
|
+
productType,
|
|
11292
|
+
productConfig
|
|
10897
11293
|
}) => {
|
|
10898
11294
|
const {
|
|
10899
11295
|
t
|
|
@@ -10923,6 +11319,7 @@ const ProductListRow = ({
|
|
|
10923
11319
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10924
11320
|
}, [product, apiCall]);
|
|
10925
11321
|
const cancelsSeqId = isInstanceOfCancelSigmetOrAirmet(product) ? getCancelSeqId(product) : null;
|
|
11322
|
+
const fir = product.firName || '';
|
|
10926
11323
|
const phenomenon = isInstanceOfSigmetOrAirmet(product) && product.phenomenon ? product.phenomenon : null;
|
|
10927
11324
|
const validTimeFormat = dateUtils.dateToString(dateUtils.utc(product.validDateStart), dateUtils.DATE_FORMAT_YEAR) === dateUtils.dateToString(dateUtils.utc(product.validDateEnd), dateUtils.DATE_FORMAT_YEAR) ? dateUtils.DATE_FORMAT_HOURS : dateUtils.DATE_FORMAT_NAME_OF_MONTH;
|
|
10928
11325
|
const validTime = formatValidTime(product.validDateStart, product.validDateEnd, validTimeFormat);
|
|
@@ -10972,7 +11369,7 @@ const ProductListRow = ({
|
|
|
10972
11369
|
children: [phenomenon !== null && jsx(ProductListRowHeader, {
|
|
10973
11370
|
title: productType.toUpperCase()
|
|
10974
11371
|
}), jsx(CustomTooltip, Object.assign({
|
|
10975
|
-
title: phenomenon !== null ? getPhenomenon(
|
|
11372
|
+
title: phenomenon !== null ? String(getPhenomenon(fir, phenomenon, productConfig)) : '',
|
|
10976
11373
|
placement: "bottom-start"
|
|
10977
11374
|
}, {
|
|
10978
11375
|
children: jsx(Typography, Object.assign({
|
|
@@ -11068,6 +11465,7 @@ const ProductListRow = ({
|
|
|
11068
11465
|
const ProductList = ({
|
|
11069
11466
|
productType,
|
|
11070
11467
|
productList,
|
|
11468
|
+
productConfig,
|
|
11071
11469
|
isLoading,
|
|
11072
11470
|
error,
|
|
11073
11471
|
onClickProductRow,
|
|
@@ -11127,7 +11525,7 @@ const ProductList = ({
|
|
|
11127
11525
|
containerType: 'inline-size'
|
|
11128
11526
|
}
|
|
11129
11527
|
}, {
|
|
11130
|
-
children: productList.map(
|
|
11528
|
+
children: productList.map(productListItem => {
|
|
11131
11529
|
const product = productType === 'sigmet' ? productListItem[productType] : productListItem[productType];
|
|
11132
11530
|
return jsx(ListItemButton, Object.assign({
|
|
11133
11531
|
"data-testid": "productListItem",
|
|
@@ -11140,9 +11538,10 @@ const ProductList = ({
|
|
|
11140
11538
|
}, {
|
|
11141
11539
|
children: jsx(ProductListRow, {
|
|
11142
11540
|
product: product,
|
|
11143
|
-
productType: productType
|
|
11541
|
+
productType: productType,
|
|
11542
|
+
productConfig: productConfig
|
|
11144
11543
|
})
|
|
11145
|
-
}), product.
|
|
11544
|
+
}), product.uuid);
|
|
11146
11545
|
})
|
|
11147
11546
|
}))]
|
|
11148
11547
|
}))]
|
|
@@ -11191,7 +11590,7 @@ const CancelSigmetVolcanicMovements = ({
|
|
|
11191
11590
|
};
|
|
11192
11591
|
|
|
11193
11592
|
const isVAPhenomenon = (product, action) => {
|
|
11194
|
-
return action ===
|
|
11593
|
+
return action === ProductAction.CANCEL && product !== null && !isInstanceOfCancelSigmetOrAirmet(product) && product.phenomenon === 'VA_CLD';
|
|
11195
11594
|
};
|
|
11196
11595
|
const prepareCancelSigmet = (sigmet, movement) => {
|
|
11197
11596
|
// If movement UNKNOWN, don't send to BE
|
|
@@ -11205,6 +11604,7 @@ const prepareCancelSigmet = (sigmet, movement) => {
|
|
|
11205
11604
|
const ProductFormDialogContent = ({
|
|
11206
11605
|
isOpen,
|
|
11207
11606
|
toggleDialogStatus,
|
|
11607
|
+
onRenewClick,
|
|
11208
11608
|
mode,
|
|
11209
11609
|
productType,
|
|
11210
11610
|
productConfig,
|
|
@@ -11262,7 +11662,7 @@ const ProductFormDialogContent = ({
|
|
|
11262
11662
|
description: getConfirmationDialogContent(action, productType),
|
|
11263
11663
|
confirmLabel: getConfirmationDialogButtonLabel(action, productType),
|
|
11264
11664
|
cancelLabel: getConfirmationDialogCancelLabel(action),
|
|
11265
|
-
catchOnCancel: action ===
|
|
11665
|
+
catchOnCancel: action === ProductAction.CLOSE,
|
|
11266
11666
|
content: isVAPhenomenon(product, action) && !isShortTest() ? jsx(CancelSigmetVolcanicMovements, {
|
|
11267
11667
|
sigmet: product,
|
|
11268
11668
|
productConfig: productConfig
|
|
@@ -11270,7 +11670,7 @@ const ProductFormDialogContent = ({
|
|
|
11270
11670
|
});
|
|
11271
11671
|
const onProductButtonPress = action => {
|
|
11272
11672
|
switch (action) {
|
|
11273
|
-
case
|
|
11673
|
+
case ProductAction.CLOSE:
|
|
11274
11674
|
if (mode === 'view' || !isDirty) {
|
|
11275
11675
|
onToggleDialog(false);
|
|
11276
11676
|
} else {
|
|
@@ -11287,54 +11687,57 @@ const ProductFormDialogContent = ({
|
|
|
11287
11687
|
});
|
|
11288
11688
|
}
|
|
11289
11689
|
break;
|
|
11290
|
-
case
|
|
11690
|
+
case ProductAction.CANCEL:
|
|
11291
11691
|
showConfirmDialog(action).then(() => {
|
|
11292
11692
|
// if volcanic sigmet - add to which FIR it's moving
|
|
11293
11693
|
if (isVAPhenomenon(product, action)) {
|
|
11294
|
-
postProduct(prepareCancelSigmet(product, watch('vaSigmetMoveToFIR')),
|
|
11694
|
+
postProduct(prepareCancelSigmet(product, watch('vaSigmetMoveToFIR')), 'CANCELLED');
|
|
11295
11695
|
} else {
|
|
11296
|
-
postProduct(product,
|
|
11696
|
+
postProduct(product, 'CANCELLED');
|
|
11297
11697
|
}
|
|
11298
11698
|
});
|
|
11299
11699
|
break;
|
|
11300
|
-
case
|
|
11700
|
+
case ProductAction.DISCARD:
|
|
11301
11701
|
showConfirmDialog(action).then(() => {
|
|
11302
11702
|
// If we're discarding a new SIGMET/AIRMET - just close the dialog
|
|
11303
|
-
if (mode === 'new') {
|
|
11703
|
+
if (mode === 'new' || !(product === null || product === void 0 ? void 0 : product.uuid)) {
|
|
11304
11704
|
onToggleDialog(false);
|
|
11305
11705
|
} else {
|
|
11306
11706
|
// If we're discarding an existing SIGMET/AIRMET - make call to BE
|
|
11307
|
-
postProduct(product,
|
|
11707
|
+
postProduct(product, 'DISCARDED');
|
|
11308
11708
|
}
|
|
11309
11709
|
});
|
|
11310
11710
|
break;
|
|
11711
|
+
case ProductAction.RENEW:
|
|
11712
|
+
onRenewClick();
|
|
11713
|
+
break;
|
|
11311
11714
|
default:
|
|
11312
|
-
toggleIsDraft(action ===
|
|
11715
|
+
toggleIsDraft(action === ProductAction.SAVE);
|
|
11313
11716
|
// validate form
|
|
11314
11717
|
handleSubmit(formValues => {
|
|
11315
|
-
if (action ===
|
|
11718
|
+
if (action === ProductAction.SAVE) {
|
|
11316
11719
|
// NO MODAL, SAVE DIRECTLY
|
|
11317
|
-
postProduct(formValues,
|
|
11720
|
+
postProduct(formValues, 'DRAFT');
|
|
11318
11721
|
} else {
|
|
11319
11722
|
// YES MODAL
|
|
11320
11723
|
showConfirmDialog(action).then(() => {
|
|
11321
|
-
postProduct(formValues,
|
|
11724
|
+
postProduct(formValues, 'PUBLISHED');
|
|
11322
11725
|
});
|
|
11323
11726
|
}
|
|
11324
11727
|
})();
|
|
11325
11728
|
break;
|
|
11326
11729
|
}
|
|
11327
11730
|
};
|
|
11328
|
-
const title = getDialogtitle(product, productType);
|
|
11731
|
+
const title = getDialogtitle(product, productType, productConfig);
|
|
11329
11732
|
return jsxs(ContentDialog, Object.assign({
|
|
11330
11733
|
open: isOpen,
|
|
11331
|
-
toggleDialogStatus: () => onProductButtonPress(
|
|
11734
|
+
toggleDialogStatus: () => onProductButtonPress(ProductAction.CLOSE),
|
|
11332
11735
|
"data-testid": "productform-dialog",
|
|
11333
11736
|
title: title,
|
|
11334
11737
|
fullWidth: true,
|
|
11335
11738
|
maxWidth: "xl",
|
|
11336
11739
|
disableEscapeKeyDown: true,
|
|
11337
|
-
onClose: () => onProductButtonPress(
|
|
11740
|
+
onClose: () => onProductButtonPress(ProductAction.CLOSE),
|
|
11338
11741
|
alertBanner: errorStoreMessage ? jsx(AlertBanner, {
|
|
11339
11742
|
severity: "error",
|
|
11340
11743
|
title: "An error has occurred while saving, please try again",
|
|
@@ -11343,6 +11746,7 @@ const ProductFormDialogContent = ({
|
|
|
11343
11746
|
options: getProductFormLifecycleButtons({
|
|
11344
11747
|
canBe: productCanBe,
|
|
11345
11748
|
onButtonPress: onProductButtonPress,
|
|
11749
|
+
productType,
|
|
11346
11750
|
areActionsDisabled: dialogActionsDisabled
|
|
11347
11751
|
}),
|
|
11348
11752
|
style: {
|
|
@@ -11411,6 +11815,7 @@ const ProductFormDialog = ({
|
|
|
11411
11815
|
isOpen,
|
|
11412
11816
|
productType,
|
|
11413
11817
|
toggleDialogStatus,
|
|
11818
|
+
handleRenewProductClick,
|
|
11414
11819
|
productListItem: _productListItem = null,
|
|
11415
11820
|
productConfig
|
|
11416
11821
|
}) => {
|
|
@@ -11425,6 +11830,7 @@ const ProductFormDialog = ({
|
|
|
11425
11830
|
return jsx(Wrapper, {
|
|
11426
11831
|
isOpen: isOpen,
|
|
11427
11832
|
toggleDialogStatus: toggleDialogStatus,
|
|
11833
|
+
onRenewClick: () => handleRenewProductClick(_productListItem),
|
|
11428
11834
|
mode: mode,
|
|
11429
11835
|
productCanBe: productCanBe,
|
|
11430
11836
|
product: product,
|
|
@@ -11520,15 +11926,38 @@ const useProductApi = (productType, productConfig) => {
|
|
|
11520
11926
|
fetchNewData
|
|
11521
11927
|
});
|
|
11522
11928
|
};
|
|
11929
|
+
const renewProduct = (oldProduct, productConfig) => Object.assign(Object.assign({}, oldProduct), {
|
|
11930
|
+
validDateStart: oldProduct.validDateEnd,
|
|
11931
|
+
validDateEnd: getDefaultValidUntilValue(productConfig, oldProduct.phenomenon, oldProduct.locationIndicatorATSR, oldProduct.validDateEnd),
|
|
11932
|
+
status: 'DRAFT',
|
|
11933
|
+
uuid: undefined,
|
|
11934
|
+
sequence: '-1'
|
|
11935
|
+
});
|
|
11936
|
+
const renewAirmet = (oldAirmet, productConfig) => {
|
|
11937
|
+
const airmet = oldAirmet.airmet;
|
|
11938
|
+
return Object.assign(Object.assign({}, oldAirmet), {
|
|
11939
|
+
uuid: undefined,
|
|
11940
|
+
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
11941
|
+
airmet: renewProduct(airmet, productConfig)
|
|
11942
|
+
});
|
|
11943
|
+
};
|
|
11944
|
+
const renewSigmet = (oldSigmet, productConfig) => {
|
|
11945
|
+
const sigmet = oldSigmet.sigmet;
|
|
11946
|
+
return Object.assign(Object.assign({}, oldSigmet), {
|
|
11947
|
+
uuid: undefined,
|
|
11948
|
+
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
11949
|
+
sigmet: renewProduct(sigmet, productConfig)
|
|
11950
|
+
});
|
|
11951
|
+
};
|
|
11523
11952
|
|
|
11524
|
-
/**
|
|
11525
|
-
* Shows the list of Sigmets or Airmets and allows to create, edit and view Sigmets/Airmets.
|
|
11526
|
-
* Needs to be wrapped in the ApiProvider.
|
|
11527
|
-
* Pass in either 'sigmet' or 'airmet' as prop to determine the mode
|
|
11528
|
-
* @param {string} productType productType: string - either 'sigmet' or 'airmet'. Determines mode in which wrapper is loaded
|
|
11529
|
-
*
|
|
11530
|
-
* @example
|
|
11531
|
-
* ```<ApiProvider baseURL="http://test.com" appURL="http://app.com" auth={auth} onSetAuth={onSetAuth} createApi={api.createApi} authTokenURL="url/tokenrefresh"> <MetInfoWrapper productType="sigmet"/> </ApiProvider>```
|
|
11953
|
+
/**
|
|
11954
|
+
* Shows the list of Sigmets or Airmets and allows to create, edit and view Sigmets/Airmets.
|
|
11955
|
+
* Needs to be wrapped in the ApiProvider.
|
|
11956
|
+
* Pass in either 'sigmet' or 'airmet' as prop to determine the mode
|
|
11957
|
+
* @param {string} productType productType: string - either 'sigmet' or 'airmet'. Determines mode in which wrapper is loaded
|
|
11958
|
+
*
|
|
11959
|
+
* @example
|
|
11960
|
+
* ```<ApiProvider baseURL="http://test.com" appURL="http://app.com" auth={auth} onSetAuth={onSetAuth} createApi={api.createApi} authTokenURL="url/tokenrefresh"> <MetInfoWrapper productType="sigmet"/> </ApiProvider>```
|
|
11532
11961
|
*/
|
|
11533
11962
|
const MetInfoWrapper = ({
|
|
11534
11963
|
productType,
|
|
@@ -11541,10 +11970,10 @@ const MetInfoWrapper = ({
|
|
|
11541
11970
|
fetchNewData: fetchNewProductList
|
|
11542
11971
|
} = useProductApi(productType, productConfig);
|
|
11543
11972
|
const [isFormDialogOpen, setIsFormDialogOpen] = React__default.useState(false);
|
|
11544
|
-
const [selectedProduct, setSelectedProduct] = React__default.useState(
|
|
11973
|
+
const [selectedProduct, setSelectedProduct] = React__default.useState();
|
|
11545
11974
|
usePoller([productList, errorList], fetchNewProductList, 60000);
|
|
11546
11975
|
React__default.useEffect(() => {
|
|
11547
|
-
if (selectedProduct) {
|
|
11976
|
+
if (selectedProduct && !isFormDialogOpen) {
|
|
11548
11977
|
toggleDialogOpen();
|
|
11549
11978
|
}
|
|
11550
11979
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -11564,9 +11993,16 @@ const MetInfoWrapper = ({
|
|
|
11564
11993
|
}
|
|
11565
11994
|
};
|
|
11566
11995
|
const handleNewProductClick = () => {
|
|
11567
|
-
setSelectedProduct(
|
|
11996
|
+
setSelectedProduct(undefined);
|
|
11568
11997
|
toggleDialogOpen();
|
|
11569
11998
|
};
|
|
11999
|
+
const handleRenewProductClick = oldProduct => {
|
|
12000
|
+
if (productType === 'sigmet') {
|
|
12001
|
+
setSelectedProduct(renewSigmet(oldProduct, productConfig));
|
|
12002
|
+
} else {
|
|
12003
|
+
setSelectedProduct(renewAirmet(oldProduct, productConfig));
|
|
12004
|
+
}
|
|
12005
|
+
};
|
|
11570
12006
|
return jsxs(Box$1, Object.assign({
|
|
11571
12007
|
"data-testid": "sigmetAirmetComponent",
|
|
11572
12008
|
sx: {
|
|
@@ -11579,6 +12015,7 @@ const MetInfoWrapper = ({
|
|
|
11579
12015
|
"data-testid": "sigmetAirmetList",
|
|
11580
12016
|
productList: productList,
|
|
11581
12017
|
productType: productType,
|
|
12018
|
+
productConfig: productConfig,
|
|
11582
12019
|
isLoading: isLoadingList,
|
|
11583
12020
|
error: errorList,
|
|
11584
12021
|
onClickProductRow: handleProductRowClick,
|
|
@@ -11588,6 +12025,7 @@ const MetInfoWrapper = ({
|
|
|
11588
12025
|
productConfig: productConfig,
|
|
11589
12026
|
isOpen: isFormDialogOpen,
|
|
11590
12027
|
toggleDialogStatus: toggleDialogOpen,
|
|
12028
|
+
handleRenewProductClick: handleRenewProductClick,
|
|
11591
12029
|
productListItem: selectedProduct
|
|
11592
12030
|
})]
|
|
11593
12031
|
}));
|
|
@@ -11686,8 +12124,8 @@ var anInstance$1 = function (it, Prototype) {
|
|
|
11686
12124
|
|
|
11687
12125
|
var uncurryThis$3 = functionUncurryThis;
|
|
11688
12126
|
var fails$1 = fails$o;
|
|
11689
|
-
var isCallable$4 = isCallable$
|
|
11690
|
-
var classof$1 = classof$
|
|
12127
|
+
var isCallable$4 = isCallable$o;
|
|
12128
|
+
var classof$1 = classof$8;
|
|
11691
12129
|
var getBuiltIn$2 = getBuiltIn$7;
|
|
11692
12130
|
var inspectSource$1 = inspectSource$3;
|
|
11693
12131
|
|
|
@@ -11802,10 +12240,10 @@ var userAgent$2 = engineUserAgent;
|
|
|
11802
12240
|
// eslint-disable-next-line redos/no-vulnerable -- safe
|
|
11803
12241
|
var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$2);
|
|
11804
12242
|
|
|
11805
|
-
var global$6 = global$
|
|
12243
|
+
var global$6 = global$o;
|
|
11806
12244
|
var apply = functionApply;
|
|
11807
12245
|
var bind$3 = functionBindContext;
|
|
11808
|
-
var isCallable$3 = isCallable$
|
|
12246
|
+
var isCallable$3 = isCallable$o;
|
|
11809
12247
|
var hasOwn = hasOwnProperty_1;
|
|
11810
12248
|
var fails = fails$o;
|
|
11811
12249
|
var html = html$2;
|
|
@@ -11919,7 +12357,7 @@ var task$1 = {
|
|
|
11919
12357
|
clear: clear
|
|
11920
12358
|
};
|
|
11921
12359
|
|
|
11922
|
-
var global$5 = global$
|
|
12360
|
+
var global$5 = global$o;
|
|
11923
12361
|
var DESCRIPTORS = descriptors;
|
|
11924
12362
|
|
|
11925
12363
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
@@ -11965,7 +12403,7 @@ var userAgent = engineUserAgent;
|
|
|
11965
12403
|
|
|
11966
12404
|
var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent);
|
|
11967
12405
|
|
|
11968
|
-
var global$4 = global$
|
|
12406
|
+
var global$4 = global$o;
|
|
11969
12407
|
var safeGetBuiltIn = safeGetBuiltIn$1;
|
|
11970
12408
|
var bind$2 = functionBindContext;
|
|
11971
12409
|
var macrotask = task$1.set;
|
|
@@ -12059,7 +12497,7 @@ var perform$3 = function (exec) {
|
|
|
12059
12497
|
}
|
|
12060
12498
|
};
|
|
12061
12499
|
|
|
12062
|
-
var global$3 = global$
|
|
12500
|
+
var global$3 = global$o;
|
|
12063
12501
|
|
|
12064
12502
|
var promiseNativeConstructor = global$3.Promise;
|
|
12065
12503
|
|
|
@@ -12073,9 +12511,9 @@ var engineIsBrowser = !IS_DENO$1 && !IS_NODE$1
|
|
|
12073
12511
|
&& typeof window == 'object'
|
|
12074
12512
|
&& typeof document == 'object';
|
|
12075
12513
|
|
|
12076
|
-
var global$2 = global$
|
|
12514
|
+
var global$2 = global$o;
|
|
12077
12515
|
var NativePromiseConstructor$3 = promiseNativeConstructor;
|
|
12078
|
-
var isCallable$2 = isCallable$
|
|
12516
|
+
var isCallable$2 = isCallable$o;
|
|
12079
12517
|
var isForced = isForced_1;
|
|
12080
12518
|
var inspectSource = inspectSource$3;
|
|
12081
12519
|
var wellKnownSymbol$3 = wellKnownSymbol$j;
|
|
@@ -12143,14 +12581,14 @@ newPromiseCapability$2.f = function (C) {
|
|
|
12143
12581
|
|
|
12144
12582
|
var $$5 = _export;
|
|
12145
12583
|
var IS_NODE = engineIsNode;
|
|
12146
|
-
var global$1 = global$
|
|
12584
|
+
var global$1 = global$o;
|
|
12147
12585
|
var call$5 = functionCall;
|
|
12148
12586
|
var defineBuiltIn$1 = defineBuiltIn$8;
|
|
12149
12587
|
var setPrototypeOf = objectSetPrototypeOf;
|
|
12150
12588
|
var setToStringTag = setToStringTag$4;
|
|
12151
12589
|
var setSpecies = setSpecies$2;
|
|
12152
12590
|
var aCallable$3 = aCallable$9;
|
|
12153
|
-
var isCallable$1 = isCallable$
|
|
12591
|
+
var isCallable$1 = isCallable$o;
|
|
12154
12592
|
var isObject$1 = isObject$c;
|
|
12155
12593
|
var anInstance = anInstance$1;
|
|
12156
12594
|
var speciesConstructor = speciesConstructor$1;
|
|
@@ -12439,7 +12877,7 @@ var isArrayIteratorMethod$1 = function (it) {
|
|
|
12439
12877
|
return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$2] === it);
|
|
12440
12878
|
};
|
|
12441
12879
|
|
|
12442
|
-
var classof = classof$
|
|
12880
|
+
var classof = classof$8;
|
|
12443
12881
|
var getMethod$1 = getMethod$4;
|
|
12444
12882
|
var isNullOrUndefined = isNullOrUndefined$5;
|
|
12445
12883
|
var Iterators = iterators;
|
|
@@ -12652,7 +13090,7 @@ var $$3 = _export;
|
|
|
12652
13090
|
var FORCED_PROMISE_CONSTRUCTOR$2 = promiseConstructorDetection.CONSTRUCTOR;
|
|
12653
13091
|
var NativePromiseConstructor = promiseNativeConstructor;
|
|
12654
13092
|
var getBuiltIn$1 = getBuiltIn$7;
|
|
12655
|
-
var isCallable = isCallable$
|
|
13093
|
+
var isCallable = isCallable$o;
|
|
12656
13094
|
var defineBuiltIn = defineBuiltIn$8;
|
|
12657
13095
|
|
|
12658
13096
|
var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
|
|
@@ -12742,22 +13180,22 @@ $({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
|
|
|
12742
13180
|
}
|
|
12743
13181
|
});
|
|
12744
13182
|
|
|
12745
|
-
/* *
|
|
12746
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12747
|
-
* you may not use this file except in compliance with the License.
|
|
12748
|
-
* You may obtain a copy of the License at
|
|
12749
|
-
*
|
|
12750
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12751
|
-
*
|
|
12752
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12753
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12754
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12755
|
-
* See the License for the specific language governing permissions and
|
|
12756
|
-
* limitations under the License.
|
|
12757
|
-
*
|
|
12758
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12759
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12760
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13183
|
+
/* *
|
|
13184
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13185
|
+
* you may not use this file except in compliance with the License.
|
|
13186
|
+
* You may obtain a copy of the License at
|
|
13187
|
+
*
|
|
13188
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13189
|
+
*
|
|
13190
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13191
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13192
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13193
|
+
* See the License for the specific language governing permissions and
|
|
13194
|
+
* limitations under the License.
|
|
13195
|
+
*
|
|
13196
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13197
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
13198
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
12761
13199
|
* */
|
|
12762
13200
|
const fakeAirmetList = [{
|
|
12763
13201
|
creationDate: '2020-09-17T12:00:00Z',
|
|
@@ -13744,22 +14182,22 @@ const fakeAirmetList = [{
|
|
|
13744
14182
|
}
|
|
13745
14183
|
}];
|
|
13746
14184
|
|
|
13747
|
-
/* *
|
|
13748
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13749
|
-
* you may not use this file except in compliance with the License.
|
|
13750
|
-
* You may obtain a copy of the License at
|
|
13751
|
-
*
|
|
13752
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13753
|
-
*
|
|
13754
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13755
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13756
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13757
|
-
* See the License for the specific language governing permissions and
|
|
13758
|
-
* limitations under the License.
|
|
13759
|
-
*
|
|
13760
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13761
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
13762
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
14185
|
+
/* *
|
|
14186
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14187
|
+
* you may not use this file except in compliance with the License.
|
|
14188
|
+
* You may obtain a copy of the License at
|
|
14189
|
+
*
|
|
14190
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14191
|
+
*
|
|
14192
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14193
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14194
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14195
|
+
* See the License for the specific language governing permissions and
|
|
14196
|
+
* limitations under the License.
|
|
14197
|
+
*
|
|
14198
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14199
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
14200
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13763
14201
|
* */
|
|
13764
14202
|
// TODO: [Loes Cornelis] Replace with correct strucutre and in JSON format - not js object
|
|
13765
14203
|
const fakeSigmetList = [{
|
|
@@ -15283,4 +15721,4 @@ ConnectedModuleWrapper = null) => {
|
|
|
15283
15721
|
}
|
|
15284
15722
|
};
|
|
15285
15723
|
|
|
15286
|
-
export { AirmetComponentsLookUp, AirmetForm,
|
|
15724
|
+
export { AirmetComponentsLookUp, AirmetForm, AirmetType, CloudLevelUnits, ContentDialog, Direction, DownloadSigmetAirmetConfigWrapper, LevelUnits, MapViewGeoJson, MetInfoWrapper, MovementUnit, ProductAction, ProductList, ProductListRow, ProductStatusDescription, SA_NAMESPACE, SigmetComponentsLookUp, SigmetForm, SigmetType, StartOrEndDrawing, VisibilityCause, WindUnit, airmetConfig, createApi$1 as createApi, createApi as createFakeApi, isInstanceOfAirmet, isInstanceOfCancelAirmet, isInstanceOfCancelSigmet, isInstanceOfCancelSigmetOrAirmet, isInstanceOfSigmet, isInstanceOfSigmetOrAirmet, sigmetAirmetTranslations as saTranslations, sigmetConfig };
|