@pagefront/lint-commerce 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -6
- package/dist/catalogue.js +12 -3
- package/dist/index.d.ts +7 -4
- package/dist/index.js +6 -3
- package/dist/legacy-schemas.d.ts +9 -0
- package/dist/legacy-schemas.js +2446 -0
- package/dist/organization-catalogue.js +6 -3
- package/dist/organization-schema.d.ts +2 -1
- package/dist/organization-schema.js +9 -7
- package/dist/product-schema.d.ts +2 -2
- package/dist/product-schema.js +54 -22
- package/dist/releases.d.ts +36 -0
- package/dist/releases.js +41 -0
- package/dist/rules/configurator-pricing.d.ts +21 -2
- package/dist/rules/configurator-pricing.js +41 -5
- package/dist/rules/org-e-002.d.ts +7 -0
- package/dist/rules/org-e-002.js +13 -0
- package/dist/rules/org-e-003.d.ts +7 -0
- package/dist/rules/org-e-003.js +13 -0
- package/dist/rules/pdp-e-002.d.ts +3 -9
- package/dist/rules/pdp-e-002.js +6 -26
- package/dist/rules/pdp-e-008.js +1 -1
- package/dist/rules/pdp-e-009.d.ts +1 -1
- package/dist/rules/pdp-e-009.js +3 -3
- package/dist/rules/pdp-e-013.d.ts +9 -0
- package/dist/rules/pdp-e-013.js +26 -0
- package/dist/rules/pdp-e-014.d.ts +11 -0
- package/dist/rules/pdp-e-014.js +34 -0
- package/dist/rules/pdp-e-015.d.ts +2 -0
- package/dist/rules/pdp-e-015.js +91 -0
- package/dist/rules/pdp-e-016.d.ts +7 -0
- package/dist/rules/pdp-e-016.js +13 -0
- package/dist/rules/pdp-w-032.d.ts +3 -2
- package/dist/rules/pdp-w-032.js +20 -12
- package/dist/rules/pdp-w-036.d.ts +2 -0
- package/dist/rules/pdp-w-036.js +31 -0
- package/dist/rules/pdp-w-037.d.ts +2 -0
- package/dist/rules/pdp-w-037.js +37 -0
- package/dist/rules/pdp-w-038.d.ts +2 -0
- package/dist/rules/pdp-w-038.js +30 -0
- package/dist/rules/pdp-w-039.d.ts +10 -0
- package/dist/rules/pdp-w-039.js +29 -0
- package/dist/rules/release-schema.d.ts +16 -0
- package/dist/rules/release-schema.js +77 -0
- package/dist/schema-validators.d.ts +2 -0
- package/dist/schema-validators.js +10 -4
- package/dist/sheet-type.d.ts +17 -0
- package/dist/sheet-type.js +25 -0
- package/dist/validate-and-lint.d.ts +9 -5
- package/dist/validate-and-lint.js +17 -9
- package/dist/validate-organization.d.ts +4 -4
- package/dist/validate-organization.js +8 -5
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
// Generated by scripts/compile-validators.mjs; do not edit.
|
|
2
|
-
// schemas sha256
|
|
2
|
+
// schemas sha256 37ef7e02be7de68b8616dec33256c00b52e4f9cd8e9e94d33e1e212958431fd9
|
|
3
3
|
import ucs2lengthModule from "ajv/dist/runtime/ucs2length.js";
|
|
4
4
|
import { fullFormats } from "ajv-formats/dist/formats.js";
|
|
5
5
|
const ucs2length = typeof ucs2lengthModule === "function" ? ucs2lengthModule : ucs2lengthModule.default;
|
|
6
|
-
export const validateProduct = validate20;const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json","title":"Pagefront Product Sheet v0.9","description":"Formal schema for the Pagefront product sheet. Revision of 2026-10-01 (breaking, within v0.9): configurator pricing moves from pagefront:configurator to the offer. The configurator loses basePrice, basePriceCurrency and priceFormula, its options lose priceModifier and currency, and it gains an optional @id and an exclusions[] array; configurator dimensions gain affectsPrice; Offer and AggregateOffer accept pagefront:configuratorPricing, which names the configurator it prices and carries baseConfiguration, basePrice, modifiers, optional adjustments[] and a pricing completeness flag. v0.9 sheets that carried prices inside the configurator no longer validate. v0.9 was otherwise an additive release on top of v0.8: the legalEntity entry's organization now also validates in reference-stub form (@type + @id, no name) so entries can reference a Commerce Organization Sheet; the inline form and all other constraints are unchanged, and v0.8 sheets remain valid once their format_version is updated. v0.8 is an additive release on top of v0.7: it adds a pagefront:featureGroup[] array for grouped, ordered technical specifications (groups of Schema.org PropertyValue entries, with an optional pagefront:presentationValue display variant per entry), a pagefront:productHighlights[] array of ordered publisher-authored selling-point strings, and a pagefront:legalEntity[] array for role-typed legal entities behind a product (closed role enum: brand_owner, licensee, authorized_representative, importer, manufacturer — EU GPSR responsible persons and similar). gtin and gtin13 now accept a string or an array of strings (regional packaging, re-releases); category now accepts the display string, a Schema.org CategoryCode object, or a mixed array of both. The pagefront:Document role enum gains repairability_index, recall_notice, and declaration_of_conformity; the pagefront:RelatedProduct relationship enum gains service. v0.8 also adds two GPSR-driven safety fields: a pagefront:safetyWarning[] array for typed, language-scoped safety warnings (text required; optional pictogram URL and open-vocabulary hazardCategory) and a pagefront:safetyNotice[] array for structured recall/safety notices (closed noticeType enum: recall, warning; closed remedy enum: repair, replacement, refund). v0.7 sheets remain valid under v0.8 once their format_version is updated. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true},"variantEntry":{"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"type":["string","number"]},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"imageObject":{"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true},"videoObject":{"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true},"questionObject":{"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true},"documentObject":{"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false},"relatedProductObject":{"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false},"gtinValue":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]},"gtin13Value":{"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]},"categoryCode":{"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true},"featureGroup":{"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false},"featureEntry":{"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true},"legalEntity":{"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false},"safetyWarning":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false},"safetyNotice":{"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"offer":{"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"type":"string"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true},"aggregateOffer":{"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"type":"number"},"highPrice":{"type":"number"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true},"priceOnRequest":{"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"sizeChart":{"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false},"measurement":{"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false},"modelReference":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false},"sizeRecommendation":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false},"sizeAdjustment":{"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false},"material":{"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false},"construction":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true},"manufacturingStage":{"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false},"gemstone":{"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false},"configurator":{"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false},"configuratorDimension":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"configurationSelection":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"configuratorPricing":{"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)?$"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false},"madeToOrderTerms":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false},"duration":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false},"deliveryEstimate":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false},"aftermarketService":{"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"promotion":{"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"type":"string"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false}}};const formats0 = fullFormats.uri;const formats6 = fullFormats["date-time"];const pattern4 = new RegExp("^\\d+(\\.\\d+)?$", "u");const schema32 = {"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true};const schema33 = {"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]};const schema34 = {"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]};const schema38 = {"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true};const schema40 = {"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true};const schema41 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true};const schema42 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};const schema51 = {"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true};const schema52 = {"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false};const schema53 = {"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false};const schema56 = {"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false};const schema57 = {"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false};const schema58 = {"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false};const schema64 = {"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false};const schema66 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true};const schema67 = {"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false};const schema68 = {"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false};const formats50 = /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;const formats42 = fullFormats.date;const func1 = ucs2length;const func8 = Object.prototype.hasOwnProperty;const pattern5 = new RegExp("^[0-9]{13}$", "u");const pattern9 = new RegExp("^[A-Z]{2}$", "u");const pattern10 = new RegExp("^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$", "u");const schema35 = {"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"type":["string","number"]},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate22.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err1 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(!(formats0(data1))){const err2 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}else {const err3 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.url !== undefined){let data2 = data.url;if(typeof data2 === "string"){if(!(formats0(data2))){const err4 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.sheet_url !== undefined){let data3 = data.sheet_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err6 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.name !== undefined){if(typeof data.name !== "string"){const err8 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err9 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.gtin13 !== undefined){let data6 = data.gtin13;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(typeof data6 === "string"){if(!pattern5.test(data6)){const err10 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs17 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data6)){if(data6.length < 1){const err12 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}const len0 = data6.length;for(let i0=0; i0<len0; i0++){let data7 = data6[i0];if(typeof data7 === "string"){if(!pattern5.test(data7)){const err13 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err16 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data8 = data.gtin;const _errs25 = errors;let valid6 = false;let passing1 = null;const _errs26 = errors;if(typeof data8 !== "string"){const err17 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid1 = _errs26 === errors;if(_valid1){valid6 = true;passing1 = 0;}const _errs28 = errors;if(Array.isArray(data8)){if(data8.length < 1){const err18 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}const len1 = data8.length;for(let i1=0; i1<len1; i1++){if(typeof data8[i1] !== "string"){const err19 = {instancePath:instancePath+"/gtin/" + i1,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid1 = _errs28 === errors;if(_valid1 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid1){valid6 = true;passing1 = 1;}}if(!valid6){const err21 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs25;if(vErrors !== null){if(_errs25){vErrors.length = _errs25;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err22 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err23 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.color !== undefined){if(typeof data.color !== "string"){const err24 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.size !== undefined){if(typeof data.size !== "string"){const err25 = {instancePath:instancePath+"/size",schemaPath:"#/properties/size/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err26 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.price !== undefined){let data15 = data.price;if((typeof data15 !== "string") && (!((typeof data15 == "number") && (isFinite(data15))))){const err27 = {instancePath:instancePath+"/price",schemaPath:"#/properties/price/type",keyword:"type",params:{type: schema35.properties.price.type},message:"must be string,number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.image !== undefined){let data16 = data.image;if(typeof data16 === "string"){if(!(formats0(data16))){const err28 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}else {const err29 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err30 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate22.errors = vErrors;return errors === 0;}validate22.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema43 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"type":"string"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true};const schema44 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false};const schema45 = {"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"type":"string"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false};const schema46 = {"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};const pattern11 = new RegExp("^[A-Z]{3}$", "u");const pattern12 = new RegExp("^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$", "u");const pattern13 = new RegExp("^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$", "u");const schema47 = {"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)?$"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false};const schema48 = {"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}};const pattern15 = new RegExp("^[0-9]+(\\.[0-9]+)?$", "u");const pattern16 = new RegExp("^-?[0-9]+(\\.[0-9]+)?$", "u");function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate25.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.configurator === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "configurator"},message:"must have required property '"+"configurator"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.baseConfiguration === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "baseConfiguration"},message:"must have required property '"+"baseConfiguration"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.basePrice === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "basePrice"},message:"must have required property '"+"basePrice"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.modifiers === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "modifiers"},message:"must have required property '"+"modifiers"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(((((((key0 === "@type") || (key0 === "configurator")) || (key0 === "baseConfiguration")) || (key0 === "basePrice")) || (key0 === "modifiers")) || (key0 === "adjustments")) || (key0 === "pricing"))){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["@type"] !== undefined){if("pagefront:ConfiguratorPricing" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ConfiguratorPricing"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.configurator !== undefined){let data1 = data.configurator;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@id"] === undefined){const err7 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data1){if(!((key1 === "@type") || (key1 === "@id"))){const err8 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Configurator" !== data1["@type"]){const err9 = {instancePath:instancePath+"/configurator/@type",schemaPath:"#/properties/configurator/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data1["@id"] !== undefined){let data3 = data1["@id"];if(typeof data3 === "string"){if(func1(data3) < 1){const err10 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.baseConfiguration !== undefined){let data4 = data.baseConfiguration;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){for(const key2 in data4){let data5 = data4[key2];const _errs14 = errors;let valid4 = false;const _errs15 = errors;if(typeof data5 !== "string"){const err13 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs15 === errors;valid4 = valid4 || _valid0;const _errs17 = errors;if(!((typeof data5 == "number") && (isFinite(data5)))){const err14 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid0 = _errs17 === errors;valid4 = valid4 || _valid0;const _errs19 = errors;if(typeof data5 !== "boolean"){const err15 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;valid4 = valid4 || _valid0;if(!valid4){const err16 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}}else {const err17 = {instancePath:instancePath+"/baseConfiguration",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.basePrice !== undefined){let data6 = data.basePrice;if(typeof data6 === "string"){if(!pattern15.test(data6)){const err18 = {instancePath:instancePath+"/basePrice",schemaPath:"#/properties/basePrice/pattern",keyword:"pattern",params:{pattern: "^[0-9]+(\\.[0-9]+)?$"},message:"must match pattern \""+"^[0-9]+(\\.[0-9]+)?$"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/basePrice",schemaPath:"#/properties/basePrice/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.modifiers !== undefined){let data7 = data.modifiers;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){for(const key3 in data7){let data8 = data7[key3];if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key4 in data8){let data9 = data8[key4];if(typeof data9 === "string"){if(!pattern16.test(data9)){const err20 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/additionalProperties/pattern",keyword:"pattern",params:{pattern: "^-?[0-9]+(\\.[0-9]+)?$"},message:"must match pattern \""+"^-?[0-9]+(\\.[0-9]+)?$"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/modifiers",schemaPath:"#/properties/modifiers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.adjustments !== undefined){let data10 = data.adjustments;if(Array.isArray(data10)){const len0 = data10.length;for(let i0=0; i0<len0; i0++){let data11 = data10[i0];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11.when === undefined){const err24 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "when"},message:"must have required property '"+"when"+"'"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}if(data11.priceModifier === undefined){const err25 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "priceModifier"},message:"must have required property '"+"priceModifier"+"'"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}for(const key5 in data11){if(!((key5 === "when") || (key5 === "priceModifier"))){const err26 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data11.when !== undefined){let data12 = data11.when;if(data12 && typeof data12 == "object" && !Array.isArray(data12)){for(const key6 in data12){let data13 = data12[key6];const _errs41 = errors;let valid12 = false;const _errs42 = errors;if(typeof data13 !== "string"){const err27 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid1 = _errs42 === errors;valid12 = valid12 || _valid1;const _errs44 = errors;if(!((typeof data13 == "number") && (isFinite(data13)))){const err28 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid1 = _errs44 === errors;valid12 = valid12 || _valid1;const _errs46 = errors;if(typeof data13 !== "boolean"){const err29 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}var _valid1 = _errs46 === errors;valid12 = valid12 || _valid1;if(!valid12){const err30 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {errors = _errs41;if(vErrors !== null){if(_errs41){vErrors.length = _errs41;}else {vErrors = null;}}}}}else {const err31 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}if(data12 && typeof data12 == "object" && !Array.isArray(data12)){if(Object.keys(data12).length < 1){const err32 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}else {const err33 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data11.priceModifier !== undefined){let data14 = data11.priceModifier;if(typeof data14 === "string"){if(!pattern16.test(data14)){const err34 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/properties/adjustments/items/properties/priceModifier/pattern",keyword:"pattern",params:{pattern: "^-?[0-9]+(\\.[0-9]+)?$"},message:"must match pattern \""+"^-?[0-9]+(\\.[0-9]+)?$"+"\""};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/properties/adjustments/items/properties/priceModifier/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}}else {const err36 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}}else {const err37 = {instancePath:instancePath+"/adjustments",schemaPath:"#/properties/adjustments/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data.pricing !== undefined){let data15 = data.pricing;if(typeof data15 !== "string"){const err38 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}if(!((data15 === "complete") || (data15 === "partial"))){const err39 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/enum",keyword:"enum",params:{allowedValues: schema47.properties.pricing.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}}else {const err40 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}validate25.errors = vErrors;return errors === 0;}validate25.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = false;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.price === undefined){const err0 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "price"},message:"must have required property '"+"price"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.priceCurrency === undefined){const err1 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid0 = _errs2 === errors;valid0 = valid0 || _valid0;const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.priceSpecification === undefined){const err2 = {instancePath,schemaPath:"#/anyOf/1/required",keyword:"required",params:{missingProperty: "priceSpecification"},message:"must have required property '"+"priceSpecification"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs3 === errors;valid0 = valid0 || _valid0;const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data["pagefront:priceOnRequest"] === undefined){const err3 = {instancePath,schemaPath:"#/anyOf/2/required",keyword:"required",params:{missingProperty: "pagefront:priceOnRequest"},message:"must have required property '"+"pagefront:priceOnRequest"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(!valid0){const err4 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@type"] !== undefined){if("Offer" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "Offer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err7 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.itemOffered !== undefined){let data2 = data.itemOffered;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err8 = {instancePath:instancePath+"/itemOffered",schemaPath:"#/properties/itemOffered/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.price !== undefined){if(typeof data.price !== "string"){const err9 = {instancePath:instancePath+"/price",schemaPath:"#/properties/price/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern11.test(data4)){const err10 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.priceSpecification !== undefined){let data5 = data.priceSpecification;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){const err12 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid1 = _errs17 === errors;if(_valid1){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(!(data6 && typeof data6 == "object" && !Array.isArray(data6))){const err13 = {instancePath:instancePath+"/priceSpecification/" + i0,schemaPath:"#/properties/priceSpecification/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid1 = _errs19 === errors;if(_valid1 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid1){valid2 = true;passing0 = 1;}}if(!valid2){const err15 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.availability !== undefined){let data7 = data.availability;if(typeof data7 === "string"){if(!pattern12.test(data7)){const err16 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.itemCondition !== undefined){let data8 = data.itemCondition;if(typeof data8 === "string"){if(!pattern13.test(data8)){const err18 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.seller !== undefined){let data9 = data.seller;if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9["pagefront:sheetUrl"] !== undefined){let data10 = data9["pagefront:sheetUrl"];if(typeof data10 === "string"){if(!(formats0(data10))){const err20 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.shippingDetails !== undefined){let data11 = data.shippingDetails;const _errs32 = errors;let valid6 = false;let passing1 = null;const _errs33 = errors;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err23 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var _valid2 = _errs33 === errors;if(_valid2){valid6 = true;passing1 = 0;}const _errs35 = errors;if(Array.isArray(data11)){const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err24 = {instancePath:instancePath+"/shippingDetails/" + i1,schemaPath:"#/properties/shippingDetails/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid2 = _errs35 === errors;if(_valid2 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid2){valid6 = true;passing1 = 1;}}if(!valid6){const err26 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs32;if(vErrors !== null){if(_errs32){vErrors.length = _errs32;}else {vErrors = null;}}}}if(data.hasMerchantReturnPolicy !== undefined){let data13 = data.hasMerchantReturnPolicy;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err27 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.warranty !== undefined){let data14 = data.warranty;if(!(data14 && typeof data14 == "object" && !Array.isArray(data14))){const err28 = {instancePath:instancePath+"/warranty",schemaPath:"#/properties/warranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err29 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.acceptedPaymentMethod !== undefined){if(!(Array.isArray(data.acceptedPaymentMethod))){const err30 = {instancePath:instancePath+"/acceptedPaymentMethod",schemaPath:"#/properties/acceptedPaymentMethod/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data["pagefront:estimatedDelivery"] !== undefined){let data17 = data["pagefront:estimatedDelivery"];if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17["@type"] === undefined){const err31 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}for(const key0 in data17){if(!((((key0 === "@type") || (key0 === "earliest")) || (key0 === "latest")) || (key0 === "description"))){const err32 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data17["@type"] !== undefined){if("pagefront:DeliveryEstimate" !== data17["@type"]){const err33 = {instancePath:instancePath+"/pagefront:estimatedDelivery/@type",schemaPath:"#/$defs/deliveryEstimate/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:DeliveryEstimate"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data17.earliest !== undefined){let data19 = data17.earliest;if(typeof data19 === "string"){if(!(formats42.validate(data19))){const err34 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}if(data17.latest !== undefined){let data20 = data17.latest;if(typeof data20 === "string"){if(!(formats42.validate(data20))){const err36 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data17.description !== undefined){if(typeof data17.description !== "string"){const err38 = {instancePath:instancePath+"/pagefront:estimatedDelivery/description",schemaPath:"#/$defs/deliveryEstimate/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}}else {const err39 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data["pagefront:promotions"] !== undefined){let data22 = data["pagefront:promotions"];if(Array.isArray(data22)){const len2 = data22.length;for(let i2=0; i2<len2; i2++){let data23 = data22[i2];if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err40 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}if(data23.scope === undefined){const err41 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/required",keyword:"required",params:{missingProperty: "scope"},message:"must have required property '"+"scope"+"'"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}for(const key1 in data23){if(!((((((((key1 === "@type") || (key1 === "code")) || (key1 === "discountPercentage")) || (key1 === "discountAmount")) || (key1 === "discountCurrency")) || (key1 === "scope")) || (key1 === "occasion")) || (key1 === "validUntil"))){const err42 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}if(data23["@type"] !== undefined){if("pagefront:Promotion" !== data23["@type"]){const err43 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/@type",schemaPath:"#/$defs/promotion/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Promotion"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}if(data23.code !== undefined){if(typeof data23.code !== "string"){const err44 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/code",schemaPath:"#/$defs/promotion/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data23.discountPercentage !== undefined){let data26 = data23.discountPercentage;if((typeof data26 == "number") && (isFinite(data26))){if(data26 > 100 || isNaN(data26)){const err45 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(data26 < 0 || isNaN(data26)){const err46 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}else {const err47 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data23.discountAmount !== undefined){if(typeof data23.discountAmount !== "string"){const err48 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountAmount",schemaPath:"#/$defs/promotion/properties/discountAmount/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data23.discountCurrency !== undefined){let data28 = data23.discountCurrency;if(typeof data28 === "string"){if(!pattern11.test(data28)){const err49 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountCurrency",schemaPath:"#/$defs/promotion/properties/discountCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}else {const err50 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountCurrency",schemaPath:"#/$defs/promotion/properties/discountCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data23.scope !== undefined){let data29 = data23.scope;if(typeof data29 !== "string"){const err51 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/scope",schemaPath:"#/$defs/promotion/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}if(!(((data29 === "product") || (data29 === "category")) || (data29 === "site_wide"))){const err52 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/scope",schemaPath:"#/$defs/promotion/properties/scope/enum",keyword:"enum",params:{allowedValues: schema45.properties.scope.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data23.occasion !== undefined){if(typeof data23.occasion !== "string"){const err53 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/occasion",schemaPath:"#/$defs/promotion/properties/occasion/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data23.validUntil !== undefined){let data31 = data23.validUntil;if(typeof data31 === "string"){if(!(formats6.validate(data31))){const err54 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/validUntil",schemaPath:"#/$defs/promotion/properties/validUntil/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}else {const err55 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/validUntil",schemaPath:"#/$defs/promotion/properties/validUntil/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}}else {const err56 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}}else {const err57 = {instancePath:instancePath+"/pagefront:promotions",schemaPath:"#/properties/pagefront%3Apromotions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data["pagefront:priceOnRequest"] !== undefined){let data32 = data["pagefront:priceOnRequest"];if(data32 && typeof data32 == "object" && !Array.isArray(data32)){if(data32["@type"] === undefined){const err58 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data32.method === undefined){const err59 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "method"},message:"must have required property '"+"method"+"'"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}for(const key2 in data32){if(!((((((key2 === "@type") || (key2 === "method")) || (key2 === "contactUrl")) || (key2 === "contactEmail")) || (key2 === "contactPhone")) || (key2 === "note"))){const err60 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data32["@type"] !== undefined){if("pagefront:PriceOnRequest" !== data32["@type"]){const err61 = {instancePath:instancePath+"/pagefront:priceOnRequest/@type",schemaPath:"#/$defs/priceOnRequest/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:PriceOnRequest"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data32.method !== undefined){let data34 = data32.method;if(typeof data34 !== "string"){const err62 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}if(!((((((data34 === "authorized_retailer") || (data34 === "dealer_network")) || (data34 === "quote_form")) || (data34 === "email")) || (data34 === "phone")) || (data34 === "unspecified"))){const err63 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/enum",keyword:"enum",params:{allowedValues: schema46.properties.method.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}if(data32.contactUrl !== undefined){let data35 = data32.contactUrl;if(typeof data35 === "string"){if(!(formats0(data35))){const err64 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}else {const err65 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data32.contactEmail !== undefined){let data36 = data32.contactEmail;if(typeof data36 === "string"){if(!(formats50.test(data36))){const err66 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}else {const err67 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data32.contactPhone !== undefined){if(typeof data32.contactPhone !== "string"){const err68 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactPhone",schemaPath:"#/$defs/priceOnRequest/properties/contactPhone/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data32.note !== undefined){if(typeof data32.note !== "string"){const err69 = {instancePath:instancePath+"/pagefront:priceOnRequest/note",schemaPath:"#/$defs/priceOnRequest/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate25(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}}if(data["pagefront:configuratorPricing"] !== undefined){if(data.price === undefined){const err71 = {instancePath,schemaPath:"#/dependentRequired",keyword:"dependentRequired",params:{property: "pagefront:configuratorPricing",
|
|
6
|
+
export const validateProduct = validate20;const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/product/v0.9.0.json","title":"Pagefront Product Sheet 0.9.0","description":"Formal schema for the Pagefront Product Sheet, sheet spec version 0.9.0, a member of commerce release 0.3.0. The envelope carries release in place of format_version: release names the commerce release the sheet is written against, and $schema names this sheet-spec version. A sheet carrying format_version belongs to the legacy draft line and validates against the legacy schema at .../product/v0.9.json, which is otherwise identical. History, in legacy format versions: revision of 2026-10-01 (breaking, within v0.9): configurator pricing moves from pagefront:configurator to the offer. The configurator loses basePrice, basePriceCurrency and priceFormula, its options lose priceModifier and currency, and it gains an optional @id and an exclusions[] array; configurator dimensions gain affectsPrice, inputType (select or text, for free-text dimensions) and maxLength; Offer and AggregateOffer accept pagefront:configuratorPricing, which names the configurator it prices and carries baseConfiguration, basePrice, modifiers, optional adjustments[] and a pricing completeness flag; every amount field (Offer price, AggregateOffer lowPrice and highPrice, variant price hints, promotion discountAmount, and the pricing block's basePrice, modifiers and adjustment amounts) references a shared definition, a JSON number or a plain decimal string: nonNegativeAmount for prices, bounds, base prices, price hints and discount amounts, and the signed amount for modifiers and adjustment amounts. v0.9 sheets that carried prices inside the configurator no longer validate. v0.9 was otherwise an additive release on top of v0.8: the legalEntity entry's organization now also validates in reference-stub form (@type + @id, no name) so entries can reference a Commerce Organization Sheet; the inline form and all other constraints are unchanged, and v0.8 sheets remain valid once their format_version is updated. v0.8 is an additive release on top of v0.7: it adds a pagefront:featureGroup[] array for grouped, ordered technical specifications (groups of Schema.org PropertyValue entries, with an optional pagefront:presentationValue display variant per entry), a pagefront:productHighlights[] array of ordered publisher-authored selling-point strings, and a pagefront:legalEntity[] array for role-typed legal entities behind a product (closed role enum: brand_owner, licensee, authorized_representative, importer, manufacturer — EU GPSR responsible persons and similar). gtin and gtin13 now accept a string or an array of strings (regional packaging, re-releases); category now accepts the display string, a Schema.org CategoryCode object, or a mixed array of both. The pagefront:Document role enum gains repairability_index, recall_notice, and declaration_of_conformity; the pagefront:RelatedProduct relationship enum gains service. v0.8 also adds two GPSR-driven safety fields: a pagefront:safetyWarning[] array for typed, language-scoped safety warnings (text required; optional pictogram URL and open-vocabulary hazardCategory) and a pagefront:safetyNotice[] array for structured recall/safety notices (closed noticeType enum: recall, warning; closed remedy enum: repair, replacement, refund). v0.7 sheets remain valid under v0.8 once their format_version is updated. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["release","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"release":{"type":"string","pattern":"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true},"amount":{"description":"A currency amount: a JSON number, or a decimal string with a dot as decimal point, no thousands separators and no currency symbol. A Sheet uses one of the two carriers for all its amounts.","oneOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"}]},"nonNegativeAmount":{"description":"An amount that is zero or positive: the same two carriers as amount, with no leading minus. Used for prices, price bounds, base prices, price hints and discount amounts; only modifiers and adjustment amounts are signed.","oneOf":[{"type":"number","minimum":0},{"type":"string","pattern":"^\\d+(\\.\\d+)?$"}]},"variantEntry":{"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"imageObject":{"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true},"videoObject":{"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true},"questionObject":{"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true},"documentObject":{"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false},"relatedProductObject":{"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false},"gtinValue":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]},"gtin13Value":{"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]},"categoryCode":{"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true},"featureGroup":{"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false},"featureEntry":{"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true},"legalEntity":{"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false},"safetyWarning":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false},"safetyNotice":{"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"offer":{"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true},"aggregateOffer":{"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"$ref":"#/$defs/nonNegativeAmount"},"highPrice":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true},"priceOnRequest":{"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"sizeChart":{"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false},"measurement":{"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false},"modelReference":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false},"sizeRecommendation":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false},"sizeAdjustment":{"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false},"material":{"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false},"construction":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true},"manufacturingStage":{"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false},"gemstone":{"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false},"configurator":{"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false},"configuratorDimension":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"inputType":{"type":"string","enum":["select","text"],"default":"select"},"maxLength":{"type":"integer","minimum":1},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"configurationSelection":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"configuratorPricing":{"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"$ref":"#/$defs/nonNegativeAmount"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/$defs/amount"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"$ref":"#/$defs/amount"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false},"madeToOrderTerms":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false},"duration":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false},"deliveryEstimate":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false},"aftermarketService":{"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"promotion":{"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"$ref":"#/$defs/nonNegativeAmount"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false}}};const formats0 = fullFormats.uri;const formats6 = fullFormats["date-time"];const pattern4 = new RegExp("^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$", "u");const pattern5 = new RegExp("^\\d+(\\.\\d+)?$", "u");const schema32 = {"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true};const schema33 = {"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]};const schema34 = {"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]};const schema39 = {"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true};const schema41 = {"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true};const schema42 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true};const schema43 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};const schema59 = {"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true};const schema60 = {"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false};const schema61 = {"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false};const schema64 = {"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false};const schema65 = {"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false};const schema66 = {"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false};const schema72 = {"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false};const schema74 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true};const schema75 = {"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false};const schema76 = {"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false};const formats50 = /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;const formats42 = fullFormats.date;const func1 = ucs2length;const func8 = Object.prototype.hasOwnProperty;const pattern6 = new RegExp("^[0-9]{13}$", "u");const pattern11 = new RegExp("^[A-Z]{2}$", "u");const pattern12 = new RegExp("^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$", "u");const schema35 = {"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true};const schema38 = {"description":"An amount that is zero or positive: the same two carriers as amount, with no leading minus. Used for prices, price bounds, base prices, price hints and discount amounts; only modifiers and adjustment amounts are signed.","oneOf":[{"type":"number","minimum":0},{"type":"string","pattern":"^\\d+(\\.\\d+)?$"}]};function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate22.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err1 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(!(formats0(data1))){const err2 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}else {const err3 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.url !== undefined){let data2 = data.url;if(typeof data2 === "string"){if(!(formats0(data2))){const err4 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.sheet_url !== undefined){let data3 = data.sheet_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err6 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.name !== undefined){if(typeof data.name !== "string"){const err8 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err9 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.gtin13 !== undefined){let data6 = data.gtin13;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(typeof data6 === "string"){if(!pattern6.test(data6)){const err10 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs17 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data6)){if(data6.length < 1){const err12 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}const len0 = data6.length;for(let i0=0; i0<len0; i0++){let data7 = data6[i0];if(typeof data7 === "string"){if(!pattern6.test(data7)){const err13 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err16 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data8 = data.gtin;const _errs25 = errors;let valid6 = false;let passing1 = null;const _errs26 = errors;if(typeof data8 !== "string"){const err17 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid1 = _errs26 === errors;if(_valid1){valid6 = true;passing1 = 0;}const _errs28 = errors;if(Array.isArray(data8)){if(data8.length < 1){const err18 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}const len1 = data8.length;for(let i1=0; i1<len1; i1++){if(typeof data8[i1] !== "string"){const err19 = {instancePath:instancePath+"/gtin/" + i1,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid1 = _errs28 === errors;if(_valid1 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid1){valid6 = true;passing1 = 1;}}if(!valid6){const err21 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs25;if(vErrors !== null){if(_errs25){vErrors.length = _errs25;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err22 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err23 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.color !== undefined){if(typeof data.color !== "string"){const err24 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.size !== undefined){if(typeof data.size !== "string"){const err25 = {instancePath:instancePath+"/size",schemaPath:"#/properties/size/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err26 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.price !== undefined){let data15 = data.price;const _errs44 = errors;let valid10 = false;let passing2 = null;const _errs45 = errors;if((typeof data15 == "number") && (isFinite(data15))){if(data15 < 0 || isNaN(data15)){const err27 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}else {const err28 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid2 = _errs45 === errors;if(_valid2){valid10 = true;passing2 = 0;}const _errs47 = errors;if(typeof data15 === "string"){if(!pattern5.test(data15)){const err29 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}else {const err30 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid2 = _errs47 === errors;if(_valid2 && valid10){valid10 = false;passing2 = [passing2, 1];}else {if(_valid2){valid10 = true;passing2 = 1;}}if(!valid10){const err31 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}else {errors = _errs44;if(vErrors !== null){if(_errs44){vErrors.length = _errs44;}else {vErrors = null;}}}}if(data.image !== undefined){let data16 = data.image;if(typeof data16 === "string"){if(!(formats0(data16))){const err32 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}else {const err33 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err34 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}}else {const err35 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}validate22.errors = vErrors;return errors === 0;}validate22.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema44 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true};const schema46 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false};const schema49 = {"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};const pattern14 = new RegExp("^[A-Z]{3}$", "u");const pattern15 = new RegExp("^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$", "u");const pattern16 = new RegExp("^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$", "u");const schema47 = {"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"$ref":"#/$defs/nonNegativeAmount"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false};function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate25.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.scope === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "scope"},message:"must have required property '"+"scope"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((((((((key0 === "@type") || (key0 === "code")) || (key0 === "discountPercentage")) || (key0 === "discountAmount")) || (key0 === "discountCurrency")) || (key0 === "scope")) || (key0 === "occasion")) || (key0 === "validUntil"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data["@type"] !== undefined){if("pagefront:Promotion" !== data["@type"]){const err3 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Promotion"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.code !== undefined){if(typeof data.code !== "string"){const err4 = {instancePath:instancePath+"/code",schemaPath:"#/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.discountPercentage !== undefined){let data2 = data.discountPercentage;if((typeof data2 == "number") && (isFinite(data2))){if(data2 > 100 || isNaN(data2)){const err5 = {instancePath:instancePath+"/discountPercentage",schemaPath:"#/properties/discountPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data2 < 0 || isNaN(data2)){const err6 = {instancePath:instancePath+"/discountPercentage",schemaPath:"#/properties/discountPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/discountPercentage",schemaPath:"#/properties/discountPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.discountAmount !== undefined){let data3 = data.discountAmount;const _errs9 = errors;let valid2 = false;let passing0 = null;const _errs10 = errors;if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err8 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid0 = _errs10 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs12 = errors;if(typeof data3 === "string"){if(!pattern5.test(data3)){const err10 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs12 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err12 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}else {errors = _errs9;if(vErrors !== null){if(_errs9){vErrors.length = _errs9;}else {vErrors = null;}}}}if(data.discountCurrency !== undefined){let data4 = data.discountCurrency;if(typeof data4 === "string"){if(!pattern14.test(data4)){const err13 = {instancePath:instancePath+"/discountCurrency",schemaPath:"#/properties/discountCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/discountCurrency",schemaPath:"#/properties/discountCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.scope !== undefined){let data5 = data.scope;if(typeof data5 !== "string"){const err15 = {instancePath:instancePath+"/scope",schemaPath:"#/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(!(((data5 === "product") || (data5 === "category")) || (data5 === "site_wide"))){const err16 = {instancePath:instancePath+"/scope",schemaPath:"#/properties/scope/enum",keyword:"enum",params:{allowedValues: schema47.properties.scope.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.occasion !== undefined){if(typeof data.occasion !== "string"){const err17 = {instancePath:instancePath+"/occasion",schemaPath:"#/properties/occasion/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.validUntil !== undefined){let data7 = data.validUntil;if(typeof data7 === "string"){if(!(formats6.validate(data7))){const err18 = {instancePath:instancePath+"/validUntil",schemaPath:"#/properties/validUntil/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/validUntil",schemaPath:"#/properties/validUntil/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate25.errors = vErrors;return errors === 0;}validate25.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema50 = {"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"$ref":"#/$defs/nonNegativeAmount"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/$defs/amount"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"$ref":"#/$defs/amount"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false};const schema51 = {"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}};const schema53 = {"description":"A currency amount: a JSON number, or a decimal string with a dot as decimal point, no thousands separators and no currency symbol. A Sheet uses one of the two carriers for all its amounts.","oneOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"}]};const pattern20 = new RegExp("^-?\\d+(\\.\\d+)?$", "u");function validate27(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate27.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.configurator === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "configurator"},message:"must have required property '"+"configurator"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.baseConfiguration === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "baseConfiguration"},message:"must have required property '"+"baseConfiguration"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.basePrice === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "basePrice"},message:"must have required property '"+"basePrice"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.modifiers === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "modifiers"},message:"must have required property '"+"modifiers"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(((((((key0 === "@type") || (key0 === "configurator")) || (key0 === "baseConfiguration")) || (key0 === "basePrice")) || (key0 === "modifiers")) || (key0 === "adjustments")) || (key0 === "pricing"))){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["@type"] !== undefined){if("pagefront:ConfiguratorPricing" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ConfiguratorPricing"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.configurator !== undefined){let data1 = data.configurator;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@id"] === undefined){const err7 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data1){if(!((key1 === "@type") || (key1 === "@id"))){const err8 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Configurator" !== data1["@type"]){const err9 = {instancePath:instancePath+"/configurator/@type",schemaPath:"#/properties/configurator/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data1["@id"] !== undefined){let data3 = data1["@id"];if(typeof data3 === "string"){if(func1(data3) < 1){const err10 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.baseConfiguration !== undefined){let data4 = data.baseConfiguration;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){for(const key2 in data4){let data5 = data4[key2];const _errs14 = errors;let valid4 = false;const _errs15 = errors;if(typeof data5 !== "string"){const err13 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs15 === errors;valid4 = valid4 || _valid0;const _errs17 = errors;if(!((typeof data5 == "number") && (isFinite(data5)))){const err14 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid0 = _errs17 === errors;valid4 = valid4 || _valid0;const _errs19 = errors;if(typeof data5 !== "boolean"){const err15 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;valid4 = valid4 || _valid0;if(!valid4){const err16 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}}else {const err17 = {instancePath:instancePath+"/baseConfiguration",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.basePrice !== undefined){let data6 = data.basePrice;const _errs23 = errors;let valid6 = false;let passing0 = null;const _errs24 = errors;if((typeof data6 == "number") && (isFinite(data6))){if(data6 < 0 || isNaN(data6)){const err18 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid1 = _errs24 === errors;if(_valid1){valid6 = true;passing0 = 0;}const _errs26 = errors;if(typeof data6 === "string"){if(!pattern5.test(data6)){const err20 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}var _valid1 = _errs26 === errors;if(_valid1 && valid6){valid6 = false;passing0 = [passing0, 1];}else {if(_valid1){valid6 = true;passing0 = 1;}}if(!valid6){const err22 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}else {errors = _errs23;if(vErrors !== null){if(_errs23){vErrors.length = _errs23;}else {vErrors = null;}}}}if(data.modifiers !== undefined){let data7 = data.modifiers;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){for(const key3 in data7){let data8 = data7[key3];if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key4 in data8){let data9 = data8[key4];const _errs36 = errors;let valid10 = false;let passing1 = null;const _errs37 = errors;if(!((typeof data9 == "number") && (isFinite(data9)))){const err23 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var _valid2 = _errs37 === errors;if(_valid2){valid10 = true;passing1 = 0;}const _errs39 = errors;if(typeof data9 === "string"){if(!pattern20.test(data9)){const err24 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^-?\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^-?\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}else {const err25 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid2 = _errs39 === errors;if(_valid2 && valid10){valid10 = false;passing1 = [passing1, 1];}else {if(_valid2){valid10 = true;passing1 = 1;}}if(!valid10){const err26 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs36;if(vErrors !== null){if(_errs36){vErrors.length = _errs36;}else {vErrors = null;}}}}}else {const err27 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}else {const err28 = {instancePath:instancePath+"/modifiers",schemaPath:"#/properties/modifiers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.adjustments !== undefined){let data10 = data.adjustments;if(Array.isArray(data10)){const len0 = data10.length;for(let i0=0; i0<len0; i0++){let data11 = data10[i0];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11.when === undefined){const err29 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "when"},message:"must have required property '"+"when"+"'"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(data11.priceModifier === undefined){const err30 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "priceModifier"},message:"must have required property '"+"priceModifier"+"'"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}for(const key5 in data11){if(!((key5 === "when") || (key5 === "priceModifier"))){const err31 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data11.when !== undefined){let data12 = data11.when;if(data12 && typeof data12 == "object" && !Array.isArray(data12)){for(const key6 in data12){let data13 = data12[key6];const _errs51 = errors;let valid16 = false;const _errs52 = errors;if(typeof data13 !== "string"){const err32 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}var _valid3 = _errs52 === errors;valid16 = valid16 || _valid3;const _errs54 = errors;if(!((typeof data13 == "number") && (isFinite(data13)))){const err33 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var _valid3 = _errs54 === errors;valid16 = valid16 || _valid3;const _errs56 = errors;if(typeof data13 !== "boolean"){const err34 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var _valid3 = _errs56 === errors;valid16 = valid16 || _valid3;if(!valid16){const err35 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}else {errors = _errs51;if(vErrors !== null){if(_errs51){vErrors.length = _errs51;}else {vErrors = null;}}}}}else {const err36 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}if(data12 && typeof data12 == "object" && !Array.isArray(data12)){if(Object.keys(data12).length < 1){const err37 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}else {const err38 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}if(data11.priceModifier !== undefined){let data14 = data11.priceModifier;const _errs61 = errors;let valid18 = false;let passing2 = null;const _errs62 = errors;if(!((typeof data14 == "number") && (isFinite(data14)))){const err39 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}var _valid4 = _errs62 === errors;if(_valid4){valid18 = true;passing2 = 0;}const _errs64 = errors;if(typeof data14 === "string"){if(!pattern20.test(data14)){const err40 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^-?\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^-?\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}else {const err41 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid4 = _errs64 === errors;if(_valid4 && valid18){valid18 = false;passing2 = [passing2, 1];}else {if(_valid4){valid18 = true;passing2 = 1;}}if(!valid18){const err42 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs61;if(vErrors !== null){if(_errs61){vErrors.length = _errs61;}else {vErrors = null;}}}}}else {const err43 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}}else {const err44 = {instancePath:instancePath+"/adjustments",schemaPath:"#/properties/adjustments/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data.pricing !== undefined){let data15 = data.pricing;if(typeof data15 !== "string"){const err45 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(!((data15 === "complete") || (data15 === "partial"))){const err46 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/enum",keyword:"enum",params:{allowedValues: schema50.properties.pricing.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}}else {const err47 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}validate27.errors = vErrors;return errors === 0;}validate27.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = false;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.price === undefined){const err0 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "price"},message:"must have required property '"+"price"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.priceCurrency === undefined){const err1 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid0 = _errs2 === errors;valid0 = valid0 || _valid0;const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.priceSpecification === undefined){const err2 = {instancePath,schemaPath:"#/anyOf/1/required",keyword:"required",params:{missingProperty: "priceSpecification"},message:"must have required property '"+"priceSpecification"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs3 === errors;valid0 = valid0 || _valid0;const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data["pagefront:priceOnRequest"] === undefined){const err3 = {instancePath,schemaPath:"#/anyOf/2/required",keyword:"required",params:{missingProperty: "pagefront:priceOnRequest"},message:"must have required property '"+"pagefront:priceOnRequest"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(!valid0){const err4 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@type"] !== undefined){if("Offer" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "Offer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err7 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.itemOffered !== undefined){let data2 = data.itemOffered;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err8 = {instancePath:instancePath+"/itemOffered",schemaPath:"#/properties/itemOffered/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.price !== undefined){let data3 = data.price;const _errs13 = errors;let valid3 = false;let passing0 = null;const _errs14 = errors;if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err9 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs14 === errors;if(_valid1){valid3 = true;passing0 = 0;}const _errs16 = errors;if(typeof data3 === "string"){if(!pattern5.test(data3)){const err11 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid1 = _errs16 === errors;if(_valid1 && valid3){valid3 = false;passing0 = [passing0, 1];}else {if(_valid1){valid3 = true;passing0 = 1;}}if(!valid3){const err13 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs13;if(vErrors !== null){if(_errs13){vErrors.length = _errs13;}else {vErrors = null;}}}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern14.test(data4)){const err14 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.priceSpecification !== undefined){let data5 = data.priceSpecification;const _errs21 = errors;let valid4 = false;let passing1 = null;const _errs22 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){const err16 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid2 = _errs22 === errors;if(_valid2){valid4 = true;passing1 = 0;}const _errs24 = errors;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(!(data6 && typeof data6 == "object" && !Array.isArray(data6))){const err17 = {instancePath:instancePath+"/priceSpecification/" + i0,schemaPath:"#/properties/priceSpecification/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid2 = _errs24 === errors;if(_valid2 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid2){valid4 = true;passing1 = 1;}}if(!valid4){const err19 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {errors = _errs21;if(vErrors !== null){if(_errs21){vErrors.length = _errs21;}else {vErrors = null;}}}}if(data.availability !== undefined){let data7 = data.availability;if(typeof data7 === "string"){if(!pattern15.test(data7)){const err20 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data.itemCondition !== undefined){let data8 = data.itemCondition;if(typeof data8 === "string"){if(!pattern16.test(data8)){const err22 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}else {const err23 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.seller !== undefined){let data9 = data.seller;if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9["pagefront:sheetUrl"] !== undefined){let data10 = data9["pagefront:sheetUrl"];if(typeof data10 === "string"){if(!(formats0(data10))){const err24 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}else {const err25 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}}else {const err26 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.shippingDetails !== undefined){let data11 = data.shippingDetails;const _errs37 = errors;let valid8 = false;let passing2 = null;const _errs38 = errors;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err27 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid3 = _errs38 === errors;if(_valid3){valid8 = true;passing2 = 0;}const _errs40 = errors;if(Array.isArray(data11)){const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err28 = {instancePath:instancePath+"/shippingDetails/" + i1,schemaPath:"#/properties/shippingDetails/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}var _valid3 = _errs40 === errors;if(_valid3 && valid8){valid8 = false;passing2 = [passing2, 1];}else {if(_valid3){valid8 = true;passing2 = 1;}}if(!valid8){const err30 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {errors = _errs37;if(vErrors !== null){if(_errs37){vErrors.length = _errs37;}else {vErrors = null;}}}}if(data.hasMerchantReturnPolicy !== undefined){let data13 = data.hasMerchantReturnPolicy;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err31 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data.warranty !== undefined){let data14 = data.warranty;if(!(data14 && typeof data14 == "object" && !Array.isArray(data14))){const err32 = {instancePath:instancePath+"/warranty",schemaPath:"#/properties/warranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err33 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data.acceptedPaymentMethod !== undefined){if(!(Array.isArray(data.acceptedPaymentMethod))){const err34 = {instancePath:instancePath+"/acceptedPaymentMethod",schemaPath:"#/properties/acceptedPaymentMethod/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}if(data["pagefront:estimatedDelivery"] !== undefined){let data17 = data["pagefront:estimatedDelivery"];if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17["@type"] === undefined){const err35 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}for(const key0 in data17){if(!((((key0 === "@type") || (key0 === "earliest")) || (key0 === "latest")) || (key0 === "description"))){const err36 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}if(data17["@type"] !== undefined){if("pagefront:DeliveryEstimate" !== data17["@type"]){const err37 = {instancePath:instancePath+"/pagefront:estimatedDelivery/@type",schemaPath:"#/$defs/deliveryEstimate/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:DeliveryEstimate"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data17.earliest !== undefined){let data19 = data17.earliest;if(typeof data19 === "string"){if(!(formats42.validate(data19))){const err38 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}else {const err39 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data17.latest !== undefined){let data20 = data17.latest;if(typeof data20 === "string"){if(!(formats42.validate(data20))){const err40 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}else {const err41 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}}if(data17.description !== undefined){if(typeof data17.description !== "string"){const err42 = {instancePath:instancePath+"/pagefront:estimatedDelivery/description",schemaPath:"#/$defs/deliveryEstimate/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}else {const err43 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}if(data["pagefront:promotions"] !== undefined){let data22 = data["pagefront:promotions"];if(Array.isArray(data22)){const len2 = data22.length;for(let i2=0; i2<len2; i2++){if(!(validate25(data22[i2], {instancePath:instancePath+"/pagefront:promotions/" + i2,parentData:data22,parentDataProperty:i2,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}}}else {const err44 = {instancePath:instancePath+"/pagefront:promotions",schemaPath:"#/properties/pagefront%3Apromotions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data["pagefront:priceOnRequest"] !== undefined){let data24 = data["pagefront:priceOnRequest"];if(data24 && typeof data24 == "object" && !Array.isArray(data24)){if(data24["@type"] === undefined){const err45 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(data24.method === undefined){const err46 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "method"},message:"must have required property '"+"method"+"'"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}for(const key1 in data24){if(!((((((key1 === "@type") || (key1 === "method")) || (key1 === "contactUrl")) || (key1 === "contactEmail")) || (key1 === "contactPhone")) || (key1 === "note"))){const err47 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data24["@type"] !== undefined){if("pagefront:PriceOnRequest" !== data24["@type"]){const err48 = {instancePath:instancePath+"/pagefront:priceOnRequest/@type",schemaPath:"#/$defs/priceOnRequest/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:PriceOnRequest"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data24.method !== undefined){let data26 = data24.method;if(typeof data26 !== "string"){const err49 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}if(!((((((data26 === "authorized_retailer") || (data26 === "dealer_network")) || (data26 === "quote_form")) || (data26 === "email")) || (data26 === "phone")) || (data26 === "unspecified"))){const err50 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/enum",keyword:"enum",params:{allowedValues: schema49.properties.method.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data24.contactUrl !== undefined){let data27 = data24.contactUrl;if(typeof data27 === "string"){if(!(formats0(data27))){const err51 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data24.contactEmail !== undefined){let data28 = data24.contactEmail;if(typeof data28 === "string"){if(!(formats50.test(data28))){const err53 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}else {const err54 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data24.contactPhone !== undefined){if(typeof data24.contactPhone !== "string"){const err55 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactPhone",schemaPath:"#/$defs/priceOnRequest/properties/contactPhone/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}if(data24.note !== undefined){if(typeof data24.note !== "string"){const err56 = {instancePath:instancePath+"/pagefront:priceOnRequest/note",schemaPath:"#/$defs/priceOnRequest/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}}else {const err57 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate27(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate27.errors : vErrors.concat(validate27.errors);errors = vErrors.length;}}if(data["pagefront:configuratorPricing"] !== undefined){if(data.price === undefined){const err58 = {instancePath,schemaPath:"#/dependentRequired",keyword:"dependentRequired",params:{property: "pagefront:configuratorPricing",
|
|
7
7
|
missingProperty: "price",
|
|
8
8
|
depsCount: 2,
|
|
9
|
-
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [
|
|
9
|
+
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data.priceCurrency === undefined){const err59 = {instancePath,schemaPath:"#/dependentRequired",keyword:"dependentRequired",params:{property: "pagefront:configuratorPricing",
|
|
10
10
|
missingProperty: "priceCurrency",
|
|
11
11
|
depsCount: 2,
|
|
12
|
-
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}}else {const err73 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema50 = {"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"type":"number"},"highPrice":{"type":"number"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.lowPrice === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "lowPrice"},message:"must have required property '"+"lowPrice"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.highPrice === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "highPrice"},message:"must have required property '"+"highPrice"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.priceCurrency === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data["@type"] !== undefined){if("AggregateOffer" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "AggregateOffer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.lowPrice !== undefined){let data2 = data.lowPrice;if(!((typeof data2 == "number") && (isFinite(data2)))){const err6 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/properties/lowPrice/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.highPrice !== undefined){let data3 = data.highPrice;if(!((typeof data3 == "number") && (isFinite(data3)))){const err7 = {instancePath:instancePath+"/highPrice",schemaPath:"#/properties/highPrice/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern11.test(data4)){const err8 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.offerCount !== undefined){let data5 = data.offerCount;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err10 = {instancePath:instancePath+"/offerCount",schemaPath:"#/properties/offerCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.availability !== undefined){let data6 = data.availability;if(typeof data6 === "string"){if(!pattern12.test(data6)){const err11 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.itemCondition !== undefined){let data7 = data.itemCondition;if(typeof data7 === "string"){if(!pattern13.test(data7)){const err13 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err15 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.validFrom !== undefined){if(typeof data.validFrom !== "string"){const err16 = {instancePath:instancePath+"/validFrom",schemaPath:"#/properties/validFrom/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.validThrough !== undefined){if(typeof data.validThrough !== "string"){const err17 = {instancePath:instancePath+"/validThrough",schemaPath:"#/properties/validThrough/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.seller !== undefined){let data11 = data.seller;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err18 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate25(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}}}else {const err19 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}validate28.errors = vErrors;return errors === 0;}validate28.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema54 = {"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false};const schema55 = {"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true};function validate31(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate31.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.name === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.feature === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "feature"},message:"must have required property '"+"feature"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "name")) || (key0 === "sortOrder")) || (key0 === "feature"))){const err3 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@type"] !== undefined){if("pagefront:FeatureGroup" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:FeatureGroup"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.name !== undefined){let data1 = data.name;if(typeof data1 === "string"){if(func1(data1) < 1){const err5 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sortOrder !== undefined){let data2 = data.sortOrder;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err7 = {instancePath:instancePath+"/sortOrder",schemaPath:"#/properties/sortOrder/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.feature !== undefined){let data3 = data.feature;if(Array.isArray(data3)){if(data3.length < 1){const err8 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4["@type"] === undefined){const err9 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data4.name === undefined){const err10 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data4.value === undefined){const err11 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data4["@type"] !== undefined){if("PropertyValue" !== data4["@type"]){const err12 = {instancePath:instancePath+"/feature/" + i0+"/@type",schemaPath:"#/$defs/featureEntry/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data4.propertyID !== undefined){if(typeof data4.propertyID !== "string"){const err13 = {instancePath:instancePath+"/feature/" + i0+"/propertyID",schemaPath:"#/$defs/featureEntry/properties/propertyID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data4.name !== undefined){let data7 = data4.name;if(typeof data7 === "string"){if(func1(data7) < 1){const err14 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data4.value !== undefined){let data8 = data4.value;const _errs19 = errors;let valid5 = false;const _errs20 = errors;if(typeof data8 !== "string"){const err16 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid0 = _errs20 === errors;valid5 = valid5 || _valid0;const _errs22 = errors;if(!((typeof data8 == "number") && (isFinite(data8)))){const err17 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid0 = _errs22 === errors;valid5 = valid5 || _valid0;const _errs24 = errors;if(typeof data8 !== "boolean"){const err18 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid0 = _errs24 === errors;valid5 = valid5 || _valid0;if(!valid5){const err19 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data4.unitCode !== undefined){if(typeof data4.unitCode !== "string"){const err20 = {instancePath:instancePath+"/feature/" + i0+"/unitCode",schemaPath:"#/$defs/featureEntry/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data4.description !== undefined){if(typeof data4.description !== "string"){const err21 = {instancePath:instancePath+"/feature/" + i0+"/description",schemaPath:"#/$defs/featureEntry/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data4["pagefront:presentationValue"] !== undefined){if(typeof data4["pagefront:presentationValue"] !== "string"){const err22 = {instancePath:instancePath+"/feature/" + i0+"/pagefront:presentationValue",schemaPath:"#/$defs/featureEntry/properties/pagefront%3ApresentationValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}validate31.errors = vErrors;return errors === 0;}validate31.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema59 = {"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false};const schema60 = {"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false};const schema61 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false};function validate33(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate33.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.unitCode === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "unitCode"},message:"must have required property '"+"unitCode"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.sizes === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sizes"},message:"must have required property '"+"sizes"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.measurements === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "measurements"},message:"must have required property '"+"measurements"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "unitCode")) || (key0 === "sizes")) || (key0 === "measurements")) || (key0 === "modelReferences"))){const err4 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeChart" !== data["@type"]){const err5 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeChart"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.unitCode !== undefined){if(typeof data.unitCode !== "string"){const err6 = {instancePath:instancePath+"/unitCode",schemaPath:"#/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sizes !== undefined){let data2 = data.sizes;if(Array.isArray(data2)){if(data2.length < 1){const err7 = {instancePath:instancePath+"/sizes",schemaPath:"#/properties/sizes/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 = data2.length;for(let i0=0; i0<len0; i0++){if(typeof data2[i0] !== "string"){const err8 = {instancePath:instancePath+"/sizes/" + i0,schemaPath:"#/properties/sizes/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+"/sizes",schemaPath:"#/properties/sizes/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.measurements !== undefined){let data4 = data.measurements;if(Array.isArray(data4)){if(data4.length < 1){const err10 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}const len1 = data4.length;for(let i1=0; i1<len1; i1++){let data5 = data4[i1];if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5["@type"] === undefined){const err11 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data5.name === undefined){const err12 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data5.values === undefined){const err13 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "values"},message:"must have required property '"+"values"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key1 in data5){if(!(((key1 === "@type") || (key1 === "name")) || (key1 === "values"))){const err14 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data5["@type"] !== undefined){if("pagefront:Measurement" !== data5["@type"]){const err15 = {instancePath:instancePath+"/measurements/" + i1+"/@type",schemaPath:"#/$defs/measurement/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Measurement"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data5.name !== undefined){if(typeof data5.name !== "string"){const err16 = {instancePath:instancePath+"/measurements/" + i1+"/name",schemaPath:"#/$defs/measurement/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data5.values !== undefined){let data8 = data5.values;if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key2 in data8){let data9 = data8[key2];if(!((typeof data9 == "number") && (isFinite(data9)))){const err17 = {instancePath:instancePath+"/measurements/" + i1+"/values/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/measurement/properties/values/additionalProperties/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath:instancePath+"/measurements/" + i1+"/values",schemaPath:"#/$defs/measurement/properties/values/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.modelReferences !== undefined){let data10 = data.modelReferences;if(Array.isArray(data10)){const len2 = data10.length;for(let i2=0; i2<len2; i2++){let data11 = data10[i2];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11["@type"] === undefined){const err21 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(data11.name === undefined){const err22 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}for(const key3 in data11){if(!((((key3 === "@type") || (key3 === "name")) || (key3 === "heightCm")) || (key3 === "wearsSize"))){const err23 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data11["@type"] !== undefined){if("pagefront:ModelReference" !== data11["@type"]){const err24 = {instancePath:instancePath+"/modelReferences/" + i2+"/@type",schemaPath:"#/$defs/modelReference/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ModelReference"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data11.name !== undefined){if(typeof data11.name !== "string"){const err25 = {instancePath:instancePath+"/modelReferences/" + i2+"/name",schemaPath:"#/$defs/modelReference/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data11.heightCm !== undefined){let data14 = data11.heightCm;if((typeof data14 == "number") && (isFinite(data14))){if(data14 < 0 || isNaN(data14)){const err26 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}else {const err27 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data11.wearsSize !== undefined){if(typeof data11.wearsSize !== "string"){const err28 = {instancePath:instancePath+"/modelReferences/" + i2+"/wearsSize",schemaPath:"#/$defs/modelReference/properties/wearsSize/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}else {const err30 = {instancePath:instancePath+"/modelReferences",schemaPath:"#/properties/modelReferences/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate33.errors = vErrors;return errors === 0;}validate33.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema62 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false};const schema63 = {"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false};function validate35(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate35.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "fitProfile")) || (key0 === "sizeAdjustment")) || (key0 === "description")) || (key0 === "appliesTo"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeRecommendation" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeRecommendation"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.fitProfile !== undefined){let data1 = data.fitProfile;if(typeof data1 !== "string"){const err3 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!(((data1 === "runs_small") || (data1 === "true_to_size")) || (data1 === "runs_large"))){const err4 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/enum",keyword:"enum",params:{allowedValues: schema62.properties.fitProfile.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.sizeAdjustment !== undefined){let data2 = data.sizeAdjustment;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2["@type"] === undefined){const err5 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data2.direction === undefined){const err6 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "direction"},message:"must have required property '"+"direction"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data2.magnitude === undefined){const err7 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "magnitude"},message:"must have required property '"+"magnitude"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data2){if(!((((key1 === "@type") || (key1 === "direction")) || (key1 === "magnitude")) || (key1 === "sizeSystem"))){const err8 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data2["@type"] !== undefined){if("pagefront:SizeAdjustment" !== data2["@type"]){const err9 = {instancePath:instancePath+"/sizeAdjustment/@type",schemaPath:"#/$defs/sizeAdjustment/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeAdjustment"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data2.direction !== undefined){let data4 = data2.direction;if(typeof data4 !== "string"){const err10 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(!((data4 === "up") || (data4 === "down"))){const err11 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/enum",keyword:"enum",params:{allowedValues: schema63.properties.direction.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data2.magnitude !== undefined){let data5 = data2.magnitude;if((typeof data5 == "number") && (isFinite(data5))){if(data5 < 0 || isNaN(data5)){const err12 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data2.sizeSystem !== undefined){if(typeof data2.sizeSystem !== "string"){const err14 = {instancePath:instancePath+"/sizeAdjustment/sizeSystem",schemaPath:"#/$defs/sizeAdjustment/properties/sizeSystem/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err16 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.appliesTo !== undefined){if(typeof data.appliesTo !== "string"){const err17 = {instancePath:instancePath+"/appliesTo",schemaPath:"#/properties/appliesTo/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}validate35.errors = vErrors;return errors === 0;}validate35.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema69 = {"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false};const schema70 = {"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};function validate37(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate37.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.dimensions === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "dimensions"},message:"must have required property '"+"dimensions"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "@id")) || (key0 === "dimensions")) || (key0 === "exclusions"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data["@type"] !== undefined){if("pagefront:Configurator" !== data["@type"]){const err3 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(func1(data1) < 1){const err4 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.dimensions !== undefined){let data2 = data.dimensions;if(Array.isArray(data2)){if(data2.length < 1){const err6 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.name === undefined){const err7 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data3){if(!(((((key1 === "name") || (key1 === "options")) || (key1 === "affectsPrice")) || (key1 === "system")) || (key1 === "note"))){const err8 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data3.name !== undefined){if(typeof data3.name !== "string"){const err9 = {instancePath:instancePath+"/dimensions/" + i0+"/name",schemaPath:"#/$defs/configuratorDimension/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data3.options !== undefined){let data5 = data3.options;if(Array.isArray(data5)){const len1 = data5.length;for(let i1=0; i1<len1; i1++){let data6 = data5[i1];if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.value === undefined){const err10 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data6.value !== undefined){let data7 = data6.value;const _errs19 = errors;let valid8 = false;const _errs20 = errors;if(typeof data7 !== "string"){const err11 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs20 === errors;valid8 = valid8 || _valid0;const _errs22 = errors;if(!((typeof data7 == "number") && (isFinite(data7)))){const err12 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs22 === errors;valid8 = valid8 || _valid0;const _errs24 = errors;if(typeof data7 !== "boolean"){const err13 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs24 === errors;valid8 = valid8 || _valid0;if(!valid8){const err14 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data6.description !== undefined){if(typeof data6.description !== "string"){const err15 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/description",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data6.priceModifier !== undefined){const err16 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/priceModifier",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/priceModifier/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data6.currency !== undefined){const err17 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/currency",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/currency/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/dimensions/" + i0+"/options",schemaPath:"#/$defs/configuratorDimension/properties/options/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data3.affectsPrice !== undefined){if(typeof data3.affectsPrice !== "boolean"){const err20 = {instancePath:instancePath+"/dimensions/" + i0+"/affectsPrice",schemaPath:"#/$defs/configuratorDimension/properties/affectsPrice/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data3.system !== undefined){if(typeof data3.system !== "string"){const err21 = {instancePath:instancePath+"/dimensions/" + i0+"/system",schemaPath:"#/$defs/configuratorDimension/properties/system/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data3.note !== undefined){if(typeof data3.note !== "string"){const err22 = {instancePath:instancePath+"/dimensions/" + i0+"/note",schemaPath:"#/$defs/configuratorDimension/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.exclusions !== undefined){let data14 = data.exclusions;if(Array.isArray(data14)){const len2 = data14.length;for(let i2=0; i2<len2; i2++){let data15 = data14[i2];if(data15 && typeof data15 == "object" && !Array.isArray(data15)){for(const key2 in data15){let data16 = data15[key2];const _errs41 = errors;let valid13 = false;const _errs42 = errors;if(typeof data16 !== "string"){const err25 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid1 = _errs42 === errors;valid13 = valid13 || _valid1;const _errs44 = errors;if(!((typeof data16 == "number") && (isFinite(data16)))){const err26 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid1 = _errs44 === errors;valid13 = valid13 || _valid1;const _errs46 = errors;if(typeof data16 !== "boolean"){const err27 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid1 = _errs46 === errors;valid13 = valid13 || _valid1;if(!valid13){const err28 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs41;if(vErrors !== null){if(_errs41){vErrors.length = _errs41;}else {vErrors = null;}}}}}else {const err29 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(data15 && typeof data15 == "object" && !Array.isArray(data15)){if(Object.keys(data15).length < 1){const err30 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}else {const err31 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}}else {const err32 = {instancePath:instancePath+"/exclusions",schemaPath:"#/properties/exclusions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}}else {const err33 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}validate37.errors = vErrors;return errors === 0;}validate37.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema72 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false};const schema73 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false};const schema74 = {"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false};function validate39(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate39.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "productionLeadTime")) || (key0 === "cancellationPolicy")) || (key0 === "returnsExceptions")) || (key0 === "aftermarketServices"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:MadeToOrderTerms" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:MadeToOrderTerms"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.productionLeadTime !== undefined){let data1 = data.productionLeadTime;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@type"] === undefined){const err3 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key1 in data1){if(!((((key1 === "@type") || (key1 === "minDays")) || (key1 === "maxDays")) || (key1 === "description"))){const err4 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Duration" !== data1["@type"]){const err5 = {instancePath:instancePath+"/productionLeadTime/@type",schemaPath:"#/$defs/duration/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Duration"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data1.minDays !== undefined){let data3 = data1.minDays;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err6 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err7 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}if(data1.maxDays !== undefined){let data4 = data1.maxDays;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err8 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 < 0 || isNaN(data4)){const err9 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data1.description !== undefined){if(typeof data1.description !== "string"){const err10 = {instancePath:instancePath+"/productionLeadTime/description",schemaPath:"#/$defs/duration/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.cancellationPolicy !== undefined){if(typeof data.cancellationPolicy !== "string"){const err12 = {instancePath:instancePath+"/cancellationPolicy",schemaPath:"#/properties/cancellationPolicy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.returnsExceptions !== undefined){let data7 = data.returnsExceptions;if(Array.isArray(data7)){const len0 = data7.length;for(let i0=0; i0<len0; i0++){if(typeof data7[i0] !== "string"){const err13 = {instancePath:instancePath+"/returnsExceptions/" + i0,schemaPath:"#/properties/returnsExceptions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/returnsExceptions",schemaPath:"#/properties/returnsExceptions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.aftermarketServices !== undefined){let data9 = data.aftermarketServices;if(Array.isArray(data9)){const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10["@type"] === undefined){const err15 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data10.service === undefined){const err16 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "service"},message:"must have required property '"+"service"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}for(const key2 in data10){if(!((((key2 === "@type") || (key2 === "service")) || (key2 === "limit")) || (key2 === "description"))){const err17 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data10["@type"] !== undefined){if("pagefront:AftermarketService" !== data10["@type"]){const err18 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/@type",schemaPath:"#/$defs/aftermarketService/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AftermarketService"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data10.service !== undefined){if(typeof data10.service !== "string"){const err19 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/service",schemaPath:"#/$defs/aftermarketService/properties/service/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data10.limit !== undefined){if(typeof data10.limit !== "string"){const err20 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/limit",schemaPath:"#/$defs/aftermarketService/properties/limit/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data10.description !== undefined){if(typeof data10.description !== "string"){const err21 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/description",schemaPath:"#/$defs/aftermarketService/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/aftermarketServices",schemaPath:"#/properties/aftermarketServices/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}validate39.errors = vErrors;return errors === 0;}validate39.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = true;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data["@type"] === undefined) && (missing0 = "@type")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(data["@type"] !== undefined){if("ProductGroup" !== data["@type"]){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}}var _valid0 = _errs2 === errors;errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}let ifClause0;if(_valid0){const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productGroupID === undefined){const err2 = {instancePath,schemaPath:"#/then/required",keyword:"required",params:{missingProperty: "productGroupID"},message:"must have required property '"+"productGroupID"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs4 === errors;valid0 = _valid0;ifClause0 = "then";}else {const _errs5 = errors;const _errs6 = errors;let valid2 = false;const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.sku === undefined){const err3 = {instancePath,schemaPath:"#/else/anyOf/0/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid1 = _errs7 === errors;valid2 = valid2 || _valid1;const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin13 === undefined){const err4 = {instancePath,schemaPath:"#/else/anyOf/1/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var _valid1 = _errs8 === errors;valid2 = valid2 || _valid1;const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin === undefined){const err5 = {instancePath,schemaPath:"#/else/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid1 = _errs9 === errors;valid2 = valid2 || _valid1;const _errs10 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.mpn === undefined){const err6 = {instancePath,schemaPath:"#/else/anyOf/3/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var _valid1 = _errs10 === errors;valid2 = valid2 || _valid1;const _errs11 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productID === undefined){const err7 = {instancePath,schemaPath:"#/else/anyOf/4/required",keyword:"required",params:{missingProperty: "productID"},message:"must have required property '"+"productID"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}var _valid1 = _errs11 === errors;valid2 = valid2 || _valid1;if(!valid2){const err8 = {instancePath,schemaPath:"#/else/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {errors = _errs6;if(vErrors !== null){if(_errs6){vErrors.length = _errs6;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data.url === undefined){const err9 = {instancePath,schemaPath:"#/else/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}var _valid0 = _errs5 === errors;valid0 = _valid0;ifClause0 = "else";}if(!valid0){const err10 = {instancePath,schemaPath:"#/if",keyword:"if",params:{failingKeyword: ifClause0},message:"must match \""+ifClause0+"\" schema"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err11 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data["@type"] === undefined){const err12 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data["@id"] === undefined){const err13 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data.name === undefined){const err14 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data.inLanguage === undefined){const err15 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data["@context"] !== undefined){let data1 = data["@context"];const _errs14 = errors;let valid4 = false;let passing0 = null;const _errs15 = errors;if("https://schema.org" !== data1){const err16 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid2 = _errs15 === errors;if(_valid2){valid4 = true;passing0 = 0;}const _errs16 = errors;if(Array.isArray(data1)){if(data1.length < 1){const err17 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}const len0 = data1.length;for(let i0=0; i0<len0; i0++){let data2 = data1[i0];const _errs19 = errors;let valid7 = false;let passing1 = null;const _errs20 = errors;if(typeof data2 === "string"){if(!(formats0(data2))){const err18 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid3 = _errs20 === errors;if(_valid3){valid7 = true;passing1 = 0;}const _errs22 = errors;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err20 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid3 = _errs22 === errors;if(_valid3 && valid7){valid7 = false;passing1 = [passing1, 1];}else {if(_valid3){valid7 = true;passing1 = 1;}}if(!valid7){const err21 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}}else {const err22 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid2 = _errs16 === errors;if(_valid2 && valid4){valid4 = false;passing0 = [passing0, 1];}else {if(_valid2){valid4 = true;passing0 = 1;}}if(!valid4){const err23 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err24 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data["@id"] !== undefined){let data4 = data["@id"];if(typeof data4 === "string"){if(!(formats0(data4))){const err25 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.url !== undefined){let data5 = data.url;if(typeof data5 === "string"){if(!(formats0(data5))){const err27 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}else {const err28 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.name !== undefined){let data6 = data.name;if(typeof data6 === "string"){if(func1(data6) < 1){const err29 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}else {const err30 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err31 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err32 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data.gtin13 !== undefined){let data9 = data.gtin13;const _errs38 = errors;let valid9 = false;let passing2 = null;const _errs39 = errors;if(typeof data9 === "string"){if(!pattern5.test(data9)){const err33 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}else {const err34 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var _valid4 = _errs39 === errors;if(_valid4){valid9 = true;passing2 = 0;}const _errs41 = errors;if(Array.isArray(data9)){if(data9.length < 1){const err35 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(typeof data10 === "string"){if(!pattern5.test(data10)){const err36 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}else {const err38 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid4 = _errs41 === errors;if(_valid4 && valid9){valid9 = false;passing2 = [passing2, 1];}else {if(_valid4){valid9 = true;passing2 = 1;}}if(!valid9){const err39 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data11 = data.gtin;const _errs47 = errors;let valid13 = false;let passing3 = null;const _errs48 = errors;if(typeof data11 !== "string"){const err40 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}var _valid5 = _errs48 === errors;if(_valid5){valid13 = true;passing3 = 0;}const _errs50 = errors;if(Array.isArray(data11)){if(data11.length < 1){const err41 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}const len2 = data11.length;for(let i2=0; i2<len2; i2++){if(typeof data11[i2] !== "string"){const err42 = {instancePath:instancePath+"/gtin/" + i2,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}else {const err43 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}var _valid5 = _errs50 === errors;if(_valid5 && valid13){valid13 = false;passing3 = [passing3, 1];}else {if(_valid5){valid13 = true;passing3 = 1;}}if(!valid13){const err44 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {errors = _errs47;if(vErrors !== null){if(_errs47){vErrors.length = _errs47;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err45 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err46 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data.productGroupID !== undefined){if(typeof data.productGroupID !== "string"){const err47 = {instancePath:instancePath+"/productGroupID",schemaPath:"#/properties/productGroupID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data.variesBy !== undefined){let data16 = data.variesBy;if(Array.isArray(data16)){const len3 = data16.length;for(let i3=0; i3<len3; i3++){if(typeof data16[i3] !== "string"){const err48 = {instancePath:instancePath+"/variesBy/" + i3,schemaPath:"#/properties/variesBy/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}}else {const err49 = {instancePath:instancePath+"/variesBy",schemaPath:"#/properties/variesBy/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}if(data.hasVariant !== undefined){let data18 = data.hasVariant;if(Array.isArray(data18)){const len4 = data18.length;for(let i4=0; i4<len4; i4++){if(!(validate22(data18[i4], {instancePath:instancePath+"/hasVariant/" + i4,parentData:data18,parentDataProperty:i4,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);errors = vErrors.length;}}}else {const err50 = {instancePath:instancePath+"/hasVariant",schemaPath:"#/properties/hasVariant/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.brand !== undefined){let data20 = data.brand;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20["pagefront:sheetUrl"] !== undefined){let data21 = data20["pagefront:sheetUrl"];if(typeof data21 === "string"){if(!(formats0(data21))){const err51 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}}else {const err53 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err54 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data.category !== undefined){let data23 = data.category;const _errs74 = errors;let valid21 = false;let passing4 = null;const _errs75 = errors;if(typeof data23 !== "string"){const err55 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid6 = _errs75 === errors;if(_valid6){valid21 = true;passing4 = 0;}const _errs77 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err56 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data23.codeValue === undefined){const err57 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data23["@type"] !== undefined){if("CategoryCode" !== data23["@type"]){const err58 = {instancePath:instancePath+"/category/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data23.codeValue !== undefined){let data25 = data23.codeValue;if(typeof data25 === "string"){if(func1(data25) < 1){const err59 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}else {const err60 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data23.inCodeSet !== undefined){let data26 = data23.inCodeSet;const _errs85 = errors;let valid24 = false;let passing5 = null;const _errs86 = errors;if(typeof data26 === "string"){if(!(formats0(data26))){const err61 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}else {const err62 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}var _valid7 = _errs86 === errors;if(_valid7){valid24 = true;passing5 = 0;}const _errs88 = errors;if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err63 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}var _valid7 = _errs88 === errors;if(_valid7 && valid24){valid24 = false;passing5 = [passing5, 1];}else {if(_valid7){valid24 = true;passing5 = 1;}}if(!valid24){const err64 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs85;if(vErrors !== null){if(_errs85){vErrors.length = _errs85;}else {vErrors = null;}}}}if(data23.name !== undefined){if(typeof data23.name !== "string"){const err65 = {instancePath:instancePath+"/category/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}}else {const err66 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}var _valid6 = _errs77 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 1];}else {if(_valid6){valid21 = true;passing4 = 1;}const _errs92 = errors;if(Array.isArray(data23)){if(data23.length < 1){const err67 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}const len5 = data23.length;for(let i5=0; i5<len5; i5++){let data28 = data23[i5];const _errs95 = errors;let valid27 = false;let passing6 = null;const _errs96 = errors;if(typeof data28 !== "string"){const err68 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}var _valid8 = _errs96 === errors;if(_valid8){valid27 = true;passing6 = 0;}const _errs98 = errors;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if(data28["@type"] === undefined){const err69 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}if(data28.codeValue === undefined){const err70 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}if(data28["@type"] !== undefined){if("CategoryCode" !== data28["@type"]){const err71 = {instancePath:instancePath+"/category/" + i5+"/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data28.codeValue !== undefined){let data30 = data28.codeValue;if(typeof data30 === "string"){if(func1(data30) < 1){const err72 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}else {const err73 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}if(data28.inCodeSet !== undefined){let data31 = data28.inCodeSet;const _errs106 = errors;let valid30 = false;let passing7 = null;const _errs107 = errors;if(typeof data31 === "string"){if(!(formats0(data31))){const err74 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}else {const err75 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs107 === errors;if(_valid9){valid30 = true;passing7 = 0;}const _errs109 = errors;if(!(data31 && typeof data31 == "object" && !Array.isArray(data31))){const err76 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}var _valid9 = _errs109 === errors;if(_valid9 && valid30){valid30 = false;passing7 = [passing7, 1];}else {if(_valid9){valid30 = true;passing7 = 1;}}if(!valid30){const err77 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}else {errors = _errs106;if(vErrors !== null){if(_errs106){vErrors.length = _errs106;}else {vErrors = null;}}}}if(data28.name !== undefined){if(typeof data28.name !== "string"){const err78 = {instancePath:instancePath+"/category/" + i5+"/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}}else {const err79 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}var _valid8 = _errs98 === errors;if(_valid8 && valid27){valid27 = false;passing6 = [passing6, 1];}else {if(_valid8){valid27 = true;passing6 = 1;}}if(!valid27){const err80 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}else {errors = _errs95;if(vErrors !== null){if(_errs95){vErrors.length = _errs95;}else {vErrors = null;}}}}}else {const err81 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}var _valid6 = _errs92 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 2];}else {if(_valid6){valid21 = true;passing4 = 2;}}}if(!valid21){const err82 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}else {errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}}}if(data.color !== undefined){if(typeof data.color !== "string"){const err83 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err84 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data.weight !== undefined){let data35 = data.weight;if(!(data35 && typeof data35 == "object" && !Array.isArray(data35))){const err85 = {instancePath:instancePath+"/weight",schemaPath:"#/properties/weight/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}if(data.height !== undefined){let data36 = data.height;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err86 = {instancePath:instancePath+"/height",schemaPath:"#/properties/height/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data.width !== undefined){let data37 = data.width;if(!(data37 && typeof data37 == "object" && !Array.isArray(data37))){const err87 = {instancePath:instancePath+"/width",schemaPath:"#/properties/width/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data.depth !== undefined){let data38 = data.depth;if(!(data38 && typeof data38 == "object" && !Array.isArray(data38))){const err88 = {instancePath:instancePath+"/depth",schemaPath:"#/properties/depth/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}if(data.countryOfOrigin !== undefined){let data39 = data.countryOfOrigin;if(typeof data39 === "string"){if(!pattern9.test(data39)){const err89 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}else {const err90 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}if(data.image !== undefined){let data40 = data.image;if(Array.isArray(data40)){const len6 = data40.length;for(let i6=0; i6<len6; i6++){let data41 = data40[i6];if(data41 && typeof data41 == "object" && !Array.isArray(data41)){if(data41["@type"] === undefined){const err91 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}if(data41.url === undefined){const err92 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}if(data41["@type"] !== undefined){if("ImageObject" !== data41["@type"]){const err93 = {instancePath:instancePath+"/image/" + i6+"/@type",schemaPath:"#/$defs/imageObject/properties/%40type/const",keyword:"const",params:{allowedValue: "ImageObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}if(data41.url !== undefined){let data43 = data41.url;if(typeof data43 === "string"){if(!(formats0(data43))){const err94 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}else {const err95 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data41.caption !== undefined){if(typeof data41.caption !== "string"){const err96 = {instancePath:instancePath+"/image/" + i6+"/caption",schemaPath:"#/$defs/imageObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}if(data41.additionalProperty !== undefined){let data45 = data41.additionalProperty;if(Array.isArray(data45)){const len7 = data45.length;for(let i7=0; i7<len7; i7++){let data46 = data45[i7];const _errs143 = errors;let valid38 = true;const _errs144 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){let missing1;if((data46.name === undefined) && (missing1 = "name")){const err97 = {};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}else {if(data46.name !== undefined){if("role" !== data46.name){const err98 = {};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}}}var _valid10 = _errs144 === errors;errors = _errs143;if(vErrors !== null){if(_errs143){vErrors.length = _errs143;}else {vErrors = null;}}if(_valid10){const _errs146 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.value !== undefined){let data48 = data46.value;if(!((((((((data48 === "hero") || (data48 === "packshot")) || (data48 === "lifestyle")) || (data48 === "detail")) || (data48 === "flatlay")) || (data48 === "swatch")) || (data48 === "size_chart")) || (data48 === "context"))){const err99 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema40.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}}var _valid10 = _errs146 === errors;valid38 = _valid10;if(valid38){var props2 = {};props2.value = true;props2.name = true;}}if(!valid38){const err100 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(props2 !== true){props2 = props2 || {};props2["@type"] = true;props2.name = true;props2.value = true;}if(data46["@type"] !== undefined){if("PropertyValue" !== data46["@type"]){const err101 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/@type",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}}if(data46.name !== undefined){if(typeof data46.name !== "string"){const err102 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/name",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data46.value !== undefined){if(typeof data46.value !== "string"){const err103 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}else {const err104 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}}else {const err105 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty",schemaPath:"#/$defs/imageObject/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}}else {const err106 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}}}else {const err107 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}if(data.video !== undefined){let data52 = data.video;if(Array.isArray(data52)){const len8 = data52.length;for(let i8=0; i8<len8; i8++){let data53 = data52[i8];const _errs158 = errors;let valid45 = false;const _errs159 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.url === undefined){const err108 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/0/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}}var _valid11 = _errs159 === errors;valid45 = valid45 || _valid11;const _errs160 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.contentUrl === undefined){const err109 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/1/required",keyword:"required",params:{missingProperty: "contentUrl"},message:"must have required property '"+"contentUrl"+"'"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}var _valid11 = _errs160 === errors;valid45 = valid45 || _valid11;const _errs161 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.embedUrl === undefined){const err110 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/2/required",keyword:"required",params:{missingProperty: "embedUrl"},message:"must have required property '"+"embedUrl"+"'"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}var _valid11 = _errs161 === errors;valid45 = valid45 || _valid11;if(!valid45){const err111 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}else {errors = _errs158;if(vErrors !== null){if(_errs158){vErrors.length = _errs158;}else {vErrors = null;}}}if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53["@type"] === undefined){const err112 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}if(data53["@type"] !== undefined){if("VideoObject" !== data53["@type"]){const err113 = {instancePath:instancePath+"/video/" + i8+"/@type",schemaPath:"#/$defs/videoObject/properties/%40type/const",keyword:"const",params:{allowedValue: "VideoObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data53.url !== undefined){let data55 = data53.url;if(typeof data55 === "string"){if(!(formats0(data55))){const err114 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data53.contentUrl !== undefined){let data56 = data53.contentUrl;if(typeof data56 === "string"){if(!(formats0(data56))){const err116 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}else {const err117 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data53.embedUrl !== undefined){let data57 = data53.embedUrl;if(typeof data57 === "string"){if(!(formats0(data57))){const err118 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}else {const err119 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(data53.thumbnailUrl !== undefined){let data58 = data53.thumbnailUrl;if(typeof data58 === "string"){if(!(formats0(data58))){const err120 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}else {const err121 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}if(data53.duration !== undefined){let data59 = data53.duration;if(typeof data59 === "string"){if(!pattern10.test(data59)){const err122 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/pattern",keyword:"pattern",params:{pattern: "^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},message:"must match pattern \""+"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"+"\""};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}else {const err123 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}if(data53.uploadDate !== undefined){if(typeof data53.uploadDate !== "string"){const err124 = {instancePath:instancePath+"/video/" + i8+"/uploadDate",schemaPath:"#/$defs/videoObject/properties/uploadDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}if(data53.caption !== undefined){if(typeof data53.caption !== "string"){const err125 = {instancePath:instancePath+"/video/" + i8+"/caption",schemaPath:"#/$defs/videoObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data53.transcript !== undefined){if(typeof data53.transcript !== "string"){const err126 = {instancePath:instancePath+"/video/" + i8+"/transcript",schemaPath:"#/$defs/videoObject/properties/transcript/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}if(data53.description !== undefined){if(typeof data53.description !== "string"){const err127 = {instancePath:instancePath+"/video/" + i8+"/description",schemaPath:"#/$defs/videoObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}if(data53.name !== undefined){if(typeof data53.name !== "string"){const err128 = {instancePath:instancePath+"/video/" + i8+"/name",schemaPath:"#/$defs/videoObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data53.additionalProperty !== undefined){let data65 = data53.additionalProperty;if(Array.isArray(data65)){const len9 = data65.length;for(let i9=0; i9<len9; i9++){let data66 = data65[i9];const _errs189 = errors;let valid50 = true;const _errs190 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){let missing2;if((data66.name === undefined) && (missing2 = "name")){const err129 = {};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}else {if(data66.name !== undefined){if("role" !== data66.name){const err130 = {};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}}}var _valid12 = _errs190 === errors;errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}if(_valid12){const _errs192 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(data66.value !== undefined){let data68 = data66.value;if(!((((((((data68 === "overview") || (data68 === "tutorial")) || (data68 === "lifestyle")) || (data68 === "construction")) || (data68 === "demonstration")) || (data68 === "comparison")) || (data68 === "unboxing")) || (data68 === "spin"))){const err131 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema41.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}var _valid12 = _errs192 === errors;valid50 = _valid12;if(valid50){var props3 = {};props3.value = true;props3.name = true;}}if(!valid50){const err132 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(props3 !== true){props3 = props3 || {};props3["@type"] = true;props3.name = true;props3.value = true;}if(data66["@type"] !== undefined){if("PropertyValue" !== data66["@type"]){const err133 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/@type",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}if(data66.name !== undefined){if(typeof data66.name !== "string"){const err134 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/name",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}if(data66.value !== undefined){if(typeof data66.value !== "string"){const err135 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}}else {const err136 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}else {const err137 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty",schemaPath:"#/$defs/videoObject/properties/additionalProperty/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+"/video/" + i8,schemaPath:"#/$defs/videoObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}}else {const err139 = {instancePath:instancePath+"/video",schemaPath:"#/properties/video/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err140 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data.hasCertification !== undefined){let data73 = data.hasCertification;if(Array.isArray(data73)){const len10 = data73.length;for(let i10=0; i10<len10; i10++){let data74 = data73[i10];if(data74 && typeof data74 == "object" && !Array.isArray(data74)){if(data74["@type"] === undefined){const err141 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}if(data74.name === undefined){const err142 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}if(data74["@type"] !== undefined){if("Certification" !== data74["@type"]){const err143 = {instancePath:instancePath+"/hasCertification/" + i10+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}if(data74.name !== undefined){if(typeof data74.name !== "string"){const err144 = {instancePath:instancePath+"/hasCertification/" + i10+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(data74.issuedBy !== undefined){let data77 = data74.issuedBy;if(!(data77 && typeof data77 == "object" && !Array.isArray(data77))){const err145 = {instancePath:instancePath+"/hasCertification/" + i10+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}if(data74.about !== undefined){if(typeof data74.about !== "string"){const err146 = {instancePath:instancePath+"/hasCertification/" + i10+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data74.additionalProperty !== undefined){if(!(Array.isArray(data74.additionalProperty))){const err147 = {instancePath:instancePath+"/hasCertification/" + i10+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/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+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}}else {const err149 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data.manufacturer !== undefined){let data80 = data.manufacturer;if(!(data80 && typeof data80 == "object" && !Array.isArray(data80))){const err150 = {instancePath:instancePath+"/manufacturer",schemaPath:"#/properties/manufacturer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}if(data.offers !== undefined){let data81 = data.offers;if(Array.isArray(data81)){if(data81.length < 1){const err151 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}const len11 = data81.length;for(let i11=0; i11<len11; i11++){let data82 = data81[i11];const _errs221 = errors;let valid60 = false;let passing8 = null;const _errs222 = errors;if(!(validate24(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}var _valid13 = _errs222 === errors;if(_valid13){valid60 = true;passing8 = 0;var props4 = true;}const _errs223 = errors;if(!(validate28(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}var _valid13 = _errs223 === errors;if(_valid13 && valid60){valid60 = false;passing8 = [passing8, 1];}else {if(_valid13){valid60 = true;passing8 = 1;if(props4 !== true){props4 = true;}}}if(!valid60){const err152 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/properties/offers/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}else {errors = _errs221;if(vErrors !== null){if(_errs221){vErrors.length = _errs221;}else {vErrors = null;}}}}}else {const err153 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}}if(data.aggregateRating !== undefined){let data83 = data.aggregateRating;if(!(data83 && typeof data83 == "object" && !Array.isArray(data83))){const err154 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}}if(data.review !== undefined){if(!(Array.isArray(data.review))){const err155 = {instancePath:instancePath+"/review",schemaPath:"#/properties/review/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}if(data.isVariantOf !== undefined){let data85 = data.isVariantOf;if(!(data85 && typeof data85 == "object" && !Array.isArray(data85))){const err156 = {instancePath:instancePath+"/isVariantOf",schemaPath:"#/properties/isVariantOf/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}}if(data.isRelatedTo !== undefined){if(!(Array.isArray(data.isRelatedTo))){const err157 = {instancePath:instancePath+"/isRelatedTo",schemaPath:"#/properties/isRelatedTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}if(data.isSimilarTo !== undefined){if(!(Array.isArray(data.isSimilarTo))){const err158 = {instancePath:instancePath+"/isSimilarTo",schemaPath:"#/properties/isSimilarTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}}if(data.isPartOf !== undefined){let data88 = data.isPartOf;const _errs235 = errors;let valid61 = false;let passing9 = null;const _errs236 = errors;if(!(data88 && typeof data88 == "object" && !Array.isArray(data88))){const err159 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}var _valid14 = _errs236 === errors;if(_valid14){valid61 = true;passing9 = 0;}const _errs238 = errors;if(!(Array.isArray(data88))){const err160 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}var _valid14 = _errs238 === errors;if(_valid14 && valid61){valid61 = false;passing9 = [passing9, 1];}else {if(_valid14){valid61 = true;passing9 = 1;}}if(!valid61){const err161 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}else {errors = _errs235;if(vErrors !== null){if(_errs235){vErrors.length = _errs235;}else {vErrors = null;}}}}if(data.hasPart !== undefined){let data89 = data.hasPart;const _errs241 = errors;let valid62 = false;let passing10 = null;const _errs242 = errors;if(!(data89 && typeof data89 == "object" && !Array.isArray(data89))){const err162 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}var _valid15 = _errs242 === errors;if(_valid15){valid62 = true;passing10 = 0;}const _errs244 = errors;if(!(Array.isArray(data89))){const err163 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}var _valid15 = _errs244 === errors;if(_valid15 && valid62){valid62 = false;passing10 = [passing10, 1];}else {if(_valid15){valid62 = true;passing10 = 1;}}if(!valid62){const err164 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}else {errors = _errs241;if(vErrors !== null){if(_errs241){vErrors.length = _errs241;}else {vErrors = null;}}}}if(data.question !== undefined){let data90 = data.question;if(Array.isArray(data90)){const len12 = data90.length;for(let i12=0; i12<len12; i12++){let data91 = data90[i12];if(data91 && typeof data91 == "object" && !Array.isArray(data91)){if(data91["@type"] === undefined){const err165 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}if(data91.name === undefined){const err166 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}if(data91.acceptedAnswer === undefined){const err167 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "acceptedAnswer"},message:"must have required property '"+"acceptedAnswer"+"'"};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}if(data91["@type"] !== undefined){if("Question" !== data91["@type"]){const err168 = {instancePath:instancePath+"/question/" + i12+"/@type",schemaPath:"#/$defs/questionObject/properties/%40type/const",keyword:"const",params:{allowedValue: "Question"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data91.name !== undefined){let data93 = data91.name;if(typeof data93 === "string"){if(func1(data93) < 1){const err169 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}else {const err170 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}if(data91.acceptedAnswer !== undefined){let data94 = data91.acceptedAnswer;if(data94 && typeof data94 == "object" && !Array.isArray(data94)){if(data94["@type"] === undefined){const err171 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}if(data94.text === undefined){const err172 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}if(data94["@type"] !== undefined){if("Answer" !== data94["@type"]){const err173 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/@type",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}if(data94.text !== undefined){let data96 = data94.text;if(typeof data96 === "string"){if(func1(data96) < 1){const err174 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}else {const err175 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}}else {const err176 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data91.suggestedAnswer !== undefined){let data97 = data91.suggestedAnswer;if(Array.isArray(data97)){const len13 = data97.length;for(let i13=0; i13<len13; i13++){let data98 = data97[i13];if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98["@type"] === undefined){const err177 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}if(data98.text === undefined){const err178 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}if(data98["@type"] !== undefined){if("Answer" !== data98["@type"]){const err179 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/@type",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(data98.text !== undefined){let data100 = data98.text;if(typeof data100 === "string"){if(func1(data100) < 1){const err180 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}else {const err181 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}}}else {const err182 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}}}else {const err183 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/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+"/question/" + i12,schemaPath:"#/$defs/questionObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}}}else {const err185 = {instancePath:instancePath+"/question",schemaPath:"#/properties/question/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}}if(data["pagefront:document"] !== undefined){let data101 = data["pagefront:document"];if(Array.isArray(data101)){const len14 = data101.length;for(let i14=0; i14<len14; i14++){let data102 = data101[i14];if(data102 && typeof data102 == "object" && !Array.isArray(data102)){if(data102["@type"] === undefined){const err186 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}if(data102.url === undefined){const err187 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}if(data102.role === undefined){const err188 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err188];}else {vErrors.push(err188);}errors++;}for(const key0 in data102){if(!(((((((key0 === "@type") || (key0 === "url")) || (key0 === "role")) || (key0 === "name")) || (key0 === "inLanguage")) || (key0 === "description")) || (key0 === "encodingFormat"))){const err189 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}if(data102["@type"] !== undefined){if("pagefront:Document" !== data102["@type"]){const err190 = {instancePath:instancePath+"/pagefront:document/" + i14+"/@type",schemaPath:"#/$defs/documentObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Document"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err190];}else {vErrors.push(err190);}errors++;}}if(data102.url !== undefined){let data104 = data102.url;if(typeof data104 === "string"){if(!(formats0(data104))){const err191 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}}else {const err192 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}}if(data102.role !== undefined){let data105 = data102.role;if(typeof data105 !== "string"){const err193 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}if(!((((((((((((((((((data105 === "manual") || (data105 === "assembly")) || (data105 === "care_guide")) || (data105 === "spec_sheet")) || (data105 === "compatibility")) || (data105 === "warranty")) || (data105 === "certificate")) || (data105 === "environmental_declaration")) || (data105 === "audit_report")) || (data105 === "lab_test")) || (data105 === "safety_data_sheet")) || (data105 === "installation_guide")) || (data105 === "user_guide")) || (data105 === "quick_start")) || (data105 === "brochure")) || (data105 === "repairability_index")) || (data105 === "recall_notice")) || (data105 === "declaration_of_conformity"))){const err194 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/enum",keyword:"enum",params:{allowedValues: schema52.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}if(data102.name !== undefined){if(typeof data102.name !== "string"){const err195 = {instancePath:instancePath+"/pagefront:document/" + i14+"/name",schemaPath:"#/$defs/documentObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}}if(data102.inLanguage !== undefined){if(typeof data102.inLanguage !== "string"){const err196 = {instancePath:instancePath+"/pagefront:document/" + i14+"/inLanguage",schemaPath:"#/$defs/documentObject/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}}if(data102.description !== undefined){if(typeof data102.description !== "string"){const err197 = {instancePath:instancePath+"/pagefront:document/" + i14+"/description",schemaPath:"#/$defs/documentObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}}if(data102.encodingFormat !== undefined){if(typeof data102.encodingFormat !== "string"){const err198 = {instancePath:instancePath+"/pagefront:document/" + i14+"/encodingFormat",schemaPath:"#/$defs/documentObject/properties/encodingFormat/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}}}else {const err199 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}}}else {const err200 = {instancePath:instancePath+"/pagefront:document",schemaPath:"#/properties/pagefront%3Adocument/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}}if(data["pagefront:relatedProduct"] !== undefined){let data110 = data["pagefront:relatedProduct"];if(Array.isArray(data110)){const len15 = data110.length;for(let i15=0; i15<len15; i15++){let data111 = data110[i15];const _errs293 = errors;let valid78 = false;const _errs294 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@id"] === undefined){const err201 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}var _valid16 = _errs294 === errors;valid78 = valid78 || _valid16;const _errs295 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.sku === undefined){const err202 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/1/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}}var _valid16 = _errs295 === errors;valid78 = valid78 || _valid16;const _errs296 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin === undefined){const err203 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}}var _valid16 = _errs296 === errors;valid78 = valid78 || _valid16;const _errs297 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin13 === undefined){const err204 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/3/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}}var _valid16 = _errs297 === errors;valid78 = valid78 || _valid16;const _errs298 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.mpn === undefined){const err205 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/4/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}var _valid16 = _errs298 === errors;valid78 = valid78 || _valid16;if(!valid78){const err206 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}else {errors = _errs293;if(vErrors !== null){if(_errs293){vErrors.length = _errs293;}else {vErrors = null;}}}if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@type"] === undefined){const err207 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}if(data111.relationship === undefined){const err208 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "relationship"},message:"must have required property '"+"relationship"+"'"};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}for(const key1 in data111){if(!(func8.call(schema53.properties, key1))){const err209 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}}if(data111["@type"] !== undefined){if("pagefront:RelatedProduct" !== data111["@type"]){const err210 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@type",schemaPath:"#/$defs/relatedProductObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:RelatedProduct"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}}if(data111.relationship !== undefined){let data113 = data111.relationship;if(typeof data113 !== "string"){const err211 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}if(!(((((((((((data113 === "accessory") || (data113 === "consumable")) || (data113 === "required_part")) || (data113 === "spare_part")) || (data113 === "often_bought_with")) || (data113 === "recommended_with")) || (data113 === "replaces")) || (data113 === "replaced_by")) || (data113 === "bundle_component")) || (data113 === "compatible_with")) || (data113 === "service"))){const err212 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/enum",keyword:"enum",params:{allowedValues: schema53.properties.relationship.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}if(data111["@id"] !== undefined){let data114 = data111["@id"];if(typeof data114 === "string"){if(!(formats0(data114))){const err213 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}else {const err214 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}if(data111.sku !== undefined){if(typeof data111.sku !== "string"){const err215 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/sku",schemaPath:"#/$defs/relatedProductObject/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data111.gtin !== undefined){if(typeof data111.gtin !== "string"){const err216 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin",schemaPath:"#/$defs/relatedProductObject/properties/gtin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}if(data111.gtin13 !== undefined){let data117 = data111.gtin13;if(typeof data117 === "string"){if(!pattern5.test(data117)){const err217 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}else {const err218 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}}if(data111.mpn !== undefined){if(typeof data111.mpn !== "string"){const err219 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/mpn",schemaPath:"#/$defs/relatedProductObject/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}}if(data111.name !== undefined){if(typeof data111.name !== "string"){const err220 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/name",schemaPath:"#/$defs/relatedProductObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}if(data111.url !== undefined){let data120 = data111.url;if(typeof data120 === "string"){if(!(formats0(data120))){const err221 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}else {const err222 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}if(data111.image !== undefined){let data121 = data111.image;if(typeof data121 === "string"){if(!(formats0(data121))){const err223 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}}else {const err224 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}}}else {const err225 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}}}else {const err226 = {instancePath:instancePath+"/pagefront:relatedProduct",schemaPath:"#/properties/pagefront%3ArelatedProduct/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}}if(data["pagefront:featureGroup"] !== undefined){let data122 = data["pagefront:featureGroup"];if(Array.isArray(data122)){if(data122.length < 1){const err227 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}const len16 = data122.length;for(let i16=0; i16<len16; i16++){if(!(validate31(data122[i16], {instancePath:instancePath+"/pagefront:featureGroup/" + i16,parentData:data122,parentDataProperty:i16,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);errors = vErrors.length;}}}else {const err228 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}}if(data["pagefront:productHighlights"] !== undefined){let data124 = data["pagefront:productHighlights"];if(Array.isArray(data124)){if(data124.length < 1){const err229 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}const len17 = data124.length;for(let i17=0; i17<len17; i17++){if(typeof data124[i17] !== "string"){const err230 = {instancePath:instancePath+"/pagefront:productHighlights/" + i17,schemaPath:"#/properties/pagefront%3AproductHighlights/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}}}else {const err231 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}}if(data["pagefront:legalEntity"] !== undefined){let data126 = data["pagefront:legalEntity"];if(Array.isArray(data126)){if(data126.length < 1){const err232 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/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 len18 = data126.length;for(let i18=0; i18<len18; i18++){let data127 = data126[i18];if(data127 && typeof data127 == "object" && !Array.isArray(data127)){if(data127["@type"] === undefined){const err233 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}if(data127.role === undefined){const err234 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}if(data127.organization === undefined){const err235 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}for(const key2 in data127){if(!(((key2 === "@type") || (key2 === "role")) || (key2 === "organization"))){const err236 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}}if(data127["@type"] !== undefined){if("pagefront:LegalEntity" !== data127["@type"]){const err237 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/@type",schemaPath:"#/$defs/legalEntity/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:LegalEntity"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}if(data127.role !== undefined){let data129 = data127.role;if(typeof data129 !== "string"){const err238 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}if(!(((((data129 === "brand_owner") || (data129 === "licensee")) || (data129 === "authorized_representative")) || (data129 === "importer")) || (data129 === "manufacturer"))){const err239 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/enum",keyword:"enum",params:{allowedValues: schema56.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}}if(data127.organization !== undefined){let data130 = data127.organization;const _errs337 = errors;let valid88 = false;const _errs338 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130.name === undefined){const err240 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}}var _valid17 = _errs338 === errors;valid88 = valid88 || _valid17;const _errs339 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@id"] === undefined){const err241 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}var _valid17 = _errs339 === errors;valid88 = valid88 || _valid17;if(!valid88){const err242 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}else {errors = _errs337;if(vErrors !== null){if(_errs337){vErrors.length = _errs337;}else {vErrors = null;}}}if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@type"] === undefined){const err243 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}if(data130["@type"] !== undefined){if("Organization" !== data130["@type"]){const err244 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@type",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40type/const",keyword:"const",params:{allowedValue: "Organization"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err244];}else {vErrors.push(err244);}errors++;}}if(data130["@id"] !== undefined){let data132 = data130["@id"];if(typeof data132 === "string"){if(!(formats0(data132))){const err245 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}}else {const err246 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}}if(data130.name !== undefined){let data133 = data130.name;if(typeof data133 === "string"){if(func1(data133) < 1){const err247 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}}else {const err248 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}}if(data130.address !== undefined){let data134 = data130.address;if(!(data134 && typeof data134 == "object" && !Array.isArray(data134))){const err249 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/address",schemaPath:"#/$defs/legalEntity/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}}if(data130.url !== undefined){let data135 = data130.url;if(typeof data135 === "string"){if(!(formats0(data135))){const err250 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}}else {const err251 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}}if(data130.email !== undefined){let data136 = data130.email;if(typeof data136 === "string"){if(!(formats50.test(data136))){const err252 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err252];}else {vErrors.push(err252);}errors++;}}else {const err253 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}}if(data130["pagefront:sheetUrl"] !== undefined){let data137 = data130["pagefront:sheetUrl"];if(typeof data137 === "string"){if(!(formats0(data137))){const err254 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}}else {const err255 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/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+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}}}else {const err257 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}}else {const err258 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}}if(data["pagefront:safetyWarning"] !== undefined){let data138 = data["pagefront:safetyWarning"];if(Array.isArray(data138)){if(data138.length < 1){const err259 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}const len19 = data138.length;for(let i19=0; i19<len19; i19++){let data139 = data138[i19];if(data139 && typeof data139 == "object" && !Array.isArray(data139)){if(data139["@type"] === undefined){const err260 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}if(data139.text === undefined){const err261 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}for(const key3 in data139){if(!((((key3 === "@type") || (key3 === "text")) || (key3 === "pictogram")) || (key3 === "hazardCategory"))){const err262 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}}if(data139["@type"] !== undefined){if("pagefront:SafetyWarning" !== data139["@type"]){const err263 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/@type",schemaPath:"#/$defs/safetyWarning/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyWarning"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}}if(data139.text !== undefined){let data141 = data139.text;if(typeof data141 === "string"){if(func1(data141) < 1){const err264 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}}else {const err265 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err265];}else {vErrors.push(err265);}errors++;}}if(data139.pictogram !== undefined){let data142 = data139.pictogram;if(typeof data142 === "string"){if(!(formats0(data142))){const err266 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err266];}else {vErrors.push(err266);}errors++;}}else {const err267 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err267];}else {vErrors.push(err267);}errors++;}}if(data139.hazardCategory !== undefined){if(typeof data139.hazardCategory !== "string"){const err268 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/hazardCategory",schemaPath:"#/$defs/safetyWarning/properties/hazardCategory/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err268];}else {vErrors.push(err268);}errors++;}}}else {const err269 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err269];}else {vErrors.push(err269);}errors++;}}}else {const err270 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err270];}else {vErrors.push(err270);}errors++;}}if(data["pagefront:safetyNotice"] !== undefined){let data144 = data["pagefront:safetyNotice"];if(Array.isArray(data144)){if(data144.length < 1){const err271 = {instancePath:instancePath+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err271];}else {vErrors.push(err271);}errors++;}const len20 = data144.length;for(let i20=0; i20<len20; i20++){let data145 = data144[i20];if(data145 && typeof data145 == "object" && !Array.isArray(data145)){if(data145["@type"] === undefined){const err272 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err272];}else {vErrors.push(err272);}errors++;}if(data145.noticeType === undefined){const err273 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "noticeType"},message:"must have required property '"+"noticeType"+"'"};if(vErrors === null){vErrors = [err273];}else {vErrors.push(err273);}errors++;}for(const key4 in data145){if(!((((((((key4 === "@type") || (key4 === "noticeType")) || (key4 === "hazard")) || (key4 === "remedy")) || (key4 === "description")) || (key4 === "reference")) || (key4 === "datePublished")) || (key4 === "url"))){const err274 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err274];}else {vErrors.push(err274);}errors++;}}if(data145["@type"] !== undefined){if("pagefront:SafetyNotice" !== data145["@type"]){const err275 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/@type",schemaPath:"#/$defs/safetyNotice/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyNotice"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err275];}else {vErrors.push(err275);}errors++;}}if(data145.noticeType !== undefined){let data147 = data145.noticeType;if(typeof data147 !== "string"){const err276 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err276];}else {vErrors.push(err276);}errors++;}if(!((data147 === "recall") || (data147 === "warning"))){const err277 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/enum",keyword:"enum",params:{allowedValues: schema58.properties.noticeType.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err277];}else {vErrors.push(err277);}errors++;}}if(data145.hazard !== undefined){if(typeof data145.hazard !== "string"){const err278 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/hazard",schemaPath:"#/$defs/safetyNotice/properties/hazard/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err278];}else {vErrors.push(err278);}errors++;}}if(data145.remedy !== undefined){let data149 = data145.remedy;if(typeof data149 !== "string"){const err279 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err279];}else {vErrors.push(err279);}errors++;}if(!(((data149 === "repair") || (data149 === "replacement")) || (data149 === "refund"))){const err280 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/enum",keyword:"enum",params:{allowedValues: schema58.properties.remedy.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err280];}else {vErrors.push(err280);}errors++;}}if(data145.description !== undefined){if(typeof data145.description !== "string"){const err281 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/description",schemaPath:"#/$defs/safetyNotice/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err281];}else {vErrors.push(err281);}errors++;}}if(data145.reference !== undefined){let data151 = data145.reference;if(typeof data151 === "string"){if(!(formats0(data151))){const err282 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err282];}else {vErrors.push(err282);}errors++;}}else {const err283 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err283];}else {vErrors.push(err283);}errors++;}}if(data145.datePublished !== undefined){let data152 = data145.datePublished;if(typeof data152 === "string"){if(!(formats42.validate(data152))){const err284 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err284];}else {vErrors.push(err284);}errors++;}}else {const err285 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err285];}else {vErrors.push(err285);}errors++;}}if(data145.url !== undefined){let data153 = data145.url;if(typeof data153 === "string"){if(!(formats0(data153))){const err286 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err286];}else {vErrors.push(err286);}errors++;}}else {const err287 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/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+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/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+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err289];}else {vErrors.push(err289);}errors++;}}if(data["pagefront:sizeChart"] !== undefined){if(!(validate33(data["pagefront:sizeChart"], {instancePath:instancePath+"/pagefront:sizeChart",parentData:data,parentDataProperty:"pagefront:sizeChart",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate33.errors : vErrors.concat(validate33.errors);errors = vErrors.length;}}if(data["pagefront:sizeRecommendation"] !== undefined){if(!(validate35(data["pagefront:sizeRecommendation"], {instancePath:instancePath+"/pagefront:sizeRecommendation",parentData:data,parentDataProperty:"pagefront:sizeRecommendation",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate35.errors : vErrors.concat(validate35.errors);errors = vErrors.length;}}if(data["pagefront:materialComposition"] !== undefined){let data156 = data["pagefront:materialComposition"];if(Array.isArray(data156)){const len21 = data156.length;for(let i21=0; i21<len21; i21++){let data157 = data156[i21];if(data157 && typeof data157 == "object" && !Array.isArray(data157)){if(data157["@type"] === undefined){const err290 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err290];}else {vErrors.push(err290);}errors++;}if(data157.material === undefined){const err291 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err291];}else {vErrors.push(err291);}errors++;}for(const key5 in data157){if(!(((((((key5 === "@type") || (key5 === "material")) || (key5 === "percentage")) || (key5 === "purity")) || (key5 === "purityPercentage")) || (key5 === "provenance")) || (key5 === "weightGrams"))){const err292 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err292];}else {vErrors.push(err292);}errors++;}}if(data157["@type"] !== undefined){if("pagefront:Material" !== data157["@type"]){const err293 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err293];}else {vErrors.push(err293);}errors++;}}if(data157.material !== undefined){if(typeof data157.material !== "string"){const err294 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err294];}else {vErrors.push(err294);}errors++;}}if(data157.percentage !== undefined){let data160 = data157.percentage;if((typeof data160 == "number") && (isFinite(data160))){if(data160 > 100 || isNaN(data160)){const err295 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err295];}else {vErrors.push(err295);}errors++;}if(data160 < 0 || isNaN(data160)){const err296 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err296];}else {vErrors.push(err296);}errors++;}}else {const err297 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err297];}else {vErrors.push(err297);}errors++;}}if(data157.purity !== undefined){if(typeof data157.purity !== "string"){const err298 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err298];}else {vErrors.push(err298);}errors++;}}if(data157.purityPercentage !== undefined){let data162 = data157.purityPercentage;if((typeof data162 == "number") && (isFinite(data162))){if(data162 > 100 || isNaN(data162)){const err299 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err299];}else {vErrors.push(err299);}errors++;}if(data162 < 0 || isNaN(data162)){const err300 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err300];}else {vErrors.push(err300);}errors++;}}else {const err301 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err301];}else {vErrors.push(err301);}errors++;}}if(data157.provenance !== undefined){let data163 = data157.provenance;if(typeof data163 !== "string"){const err302 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err302];}else {vErrors.push(err302);}errors++;}if(!((((((data163 === "virgin") || (data163 === "recycled")) || (data163 === "fair_mined")) || (data163 === "lab_grown")) || (data163 === "reclaimed")) || (data163 === "deadstock"))){const err303 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema64.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err303];}else {vErrors.push(err303);}errors++;}}if(data157.weightGrams !== undefined){let data164 = data157.weightGrams;if((typeof data164 == "number") && (isFinite(data164))){if(data164 < 0 || isNaN(data164)){const err304 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err304];}else {vErrors.push(err304);}errors++;}}else {const err305 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err305];}else {vErrors.push(err305);}errors++;}}}else {const err306 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err306];}else {vErrors.push(err306);}errors++;}}}else {const err307 = {instancePath:instancePath+"/pagefront:materialComposition",schemaPath:"#/properties/pagefront%3AmaterialComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err307];}else {vErrors.push(err307);}errors++;}}if(data["pagefront:fabricComposition"] !== undefined){let data165 = data["pagefront:fabricComposition"];if(Array.isArray(data165)){const len22 = data165.length;for(let i22=0; i22<len22; i22++){let data166 = data165[i22];if(data166 && typeof data166 == "object" && !Array.isArray(data166)){if(data166["@type"] === undefined){const err308 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err308];}else {vErrors.push(err308);}errors++;}if(data166.material === undefined){const err309 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err309];}else {vErrors.push(err309);}errors++;}for(const key6 in data166){if(!(((((((key6 === "@type") || (key6 === "material")) || (key6 === "percentage")) || (key6 === "purity")) || (key6 === "purityPercentage")) || (key6 === "provenance")) || (key6 === "weightGrams"))){const err310 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err310];}else {vErrors.push(err310);}errors++;}}if(data166["@type"] !== undefined){if("pagefront:Material" !== data166["@type"]){const err311 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err311];}else {vErrors.push(err311);}errors++;}}if(data166.material !== undefined){if(typeof data166.material !== "string"){const err312 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err312];}else {vErrors.push(err312);}errors++;}}if(data166.percentage !== undefined){let data169 = data166.percentage;if((typeof data169 == "number") && (isFinite(data169))){if(data169 > 100 || isNaN(data169)){const err313 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err313];}else {vErrors.push(err313);}errors++;}if(data169 < 0 || isNaN(data169)){const err314 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err314];}else {vErrors.push(err314);}errors++;}}else {const err315 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err315];}else {vErrors.push(err315);}errors++;}}if(data166.purity !== undefined){if(typeof data166.purity !== "string"){const err316 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err316];}else {vErrors.push(err316);}errors++;}}if(data166.purityPercentage !== undefined){let data171 = data166.purityPercentage;if((typeof data171 == "number") && (isFinite(data171))){if(data171 > 100 || isNaN(data171)){const err317 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err317];}else {vErrors.push(err317);}errors++;}if(data171 < 0 || isNaN(data171)){const err318 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err318];}else {vErrors.push(err318);}errors++;}}else {const err319 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err319];}else {vErrors.push(err319);}errors++;}}if(data166.provenance !== undefined){let data172 = data166.provenance;if(typeof data172 !== "string"){const err320 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err320];}else {vErrors.push(err320);}errors++;}if(!((((((data172 === "virgin") || (data172 === "recycled")) || (data172 === "fair_mined")) || (data172 === "lab_grown")) || (data172 === "reclaimed")) || (data172 === "deadstock"))){const err321 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema64.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err321];}else {vErrors.push(err321);}errors++;}}if(data166.weightGrams !== undefined){let data173 = data166.weightGrams;if((typeof data173 == "number") && (isFinite(data173))){if(data173 < 0 || isNaN(data173)){const err322 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err322];}else {vErrors.push(err322);}errors++;}}else {const err323 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err323];}else {vErrors.push(err323);}errors++;}}}else {const err324 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err324];}else {vErrors.push(err324);}errors++;}}}else {const err325 = {instancePath:instancePath+"/pagefront:fabricComposition",schemaPath:"#/properties/pagefront%3AfabricComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err325];}else {vErrors.push(err325);}errors++;}}if(data["pagefront:construction"] !== undefined){let data174 = data["pagefront:construction"];if(data174 && typeof data174 == "object" && !Array.isArray(data174)){if(data174["@type"] === undefined){const err326 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err326];}else {vErrors.push(err326);}errors++;}if(data174["@type"] !== undefined){if("pagefront:Construction" !== data174["@type"]){const err327 = {instancePath:instancePath+"/pagefront:construction/@type",schemaPath:"#/$defs/construction/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Construction"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err327];}else {vErrors.push(err327);}errors++;}}if(data174.stitch !== undefined){if(typeof data174.stitch !== "string"){const err328 = {instancePath:instancePath+"/pagefront:construction/stitch",schemaPath:"#/$defs/construction/properties/stitch/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err328];}else {vErrors.push(err328);}errors++;}}if(data174.gauge !== undefined){let data177 = data174.gauge;if(!((typeof data177 == "number") && (isFinite(data177)))){const err329 = {instancePath:instancePath+"/pagefront:construction/gauge",schemaPath:"#/$defs/construction/properties/gauge/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err329];}else {vErrors.push(err329);}errors++;}}if(data174.machine !== undefined){if(typeof data174.machine !== "string"){const err330 = {instancePath:instancePath+"/pagefront:construction/machine",schemaPath:"#/$defs/construction/properties/machine/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err330];}else {vErrors.push(err330);}errors++;}}if(data174.constructionNotes !== undefined){if(typeof data174.constructionNotes !== "string"){const err331 = {instancePath:instancePath+"/pagefront:construction/constructionNotes",schemaPath:"#/$defs/construction/properties/constructionNotes/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err331];}else {vErrors.push(err331);}errors++;}}}else {const err332 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err332];}else {vErrors.push(err332);}errors++;}}if(data["pagefront:manufacturingChain"] !== undefined){let data180 = data["pagefront:manufacturingChain"];if(Array.isArray(data180)){const len23 = data180.length;for(let i23=0; i23<len23; i23++){let data181 = data180[i23];if(data181 && typeof data181 == "object" && !Array.isArray(data181)){if(data181["@type"] === undefined){const err333 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err333];}else {vErrors.push(err333);}errors++;}if(data181.stage === undefined){const err334 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "stage"},message:"must have required property '"+"stage"+"'"};if(vErrors === null){vErrors = [err334];}else {vErrors.push(err334);}errors++;}if(data181.country === undefined){const err335 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "country"},message:"must have required property '"+"country"+"'"};if(vErrors === null){vErrors = [err335];}else {vErrors.push(err335);}errors++;}for(const key7 in data181){if(!(((((key7 === "@type") || (key7 === "stage")) || (key7 === "country")) || (key7 === "facility")) || (key7 === "facilityCountry"))){const err336 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err336];}else {vErrors.push(err336);}errors++;}}if(data181["@type"] !== undefined){if("pagefront:ManufacturingStage" !== data181["@type"]){const err337 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/@type",schemaPath:"#/$defs/manufacturingStage/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ManufacturingStage"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err337];}else {vErrors.push(err337);}errors++;}}if(data181.stage !== undefined){if(typeof data181.stage !== "string"){const err338 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/stage",schemaPath:"#/$defs/manufacturingStage/properties/stage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err338];}else {vErrors.push(err338);}errors++;}}if(data181.country !== undefined){let data184 = data181.country;if(typeof data184 === "string"){if(!pattern9.test(data184)){const err339 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err339];}else {vErrors.push(err339);}errors++;}}else {const err340 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err340];}else {vErrors.push(err340);}errors++;}}if(data181.facility !== undefined){if(typeof data181.facility !== "string"){const err341 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facility",schemaPath:"#/$defs/manufacturingStage/properties/facility/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err341];}else {vErrors.push(err341);}errors++;}}if(data181.facilityCountry !== undefined){let data186 = data181.facilityCountry;if(typeof data186 === "string"){if(!pattern9.test(data186)){const err342 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err342];}else {vErrors.push(err342);}errors++;}}else {const err343 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err343];}else {vErrors.push(err343);}errors++;}}}else {const err344 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err344];}else {vErrors.push(err344);}errors++;}}}else {const err345 = {instancePath:instancePath+"/pagefront:manufacturingChain",schemaPath:"#/properties/pagefront%3AmanufacturingChain/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err345];}else {vErrors.push(err345);}errors++;}}if(data["pagefront:gemstone"] !== undefined){let data187 = data["pagefront:gemstone"];if(data187 && typeof data187 == "object" && !Array.isArray(data187)){if(data187["@type"] === undefined){const err346 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err346];}else {vErrors.push(err346);}errors++;}if(data187.type === undefined){const err347 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err347];}else {vErrors.push(err347);}errors++;}for(const key8 in data187){if(!(func8.call(schema68.properties, key8))){const err348 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err348];}else {vErrors.push(err348);}errors++;}}if(data187["@type"] !== undefined){if("pagefront:Gemstone" !== data187["@type"]){const err349 = {instancePath:instancePath+"/pagefront:gemstone/@type",schemaPath:"#/$defs/gemstone/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Gemstone"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err349];}else {vErrors.push(err349);}errors++;}}if(data187.type !== undefined){if(typeof data187.type !== "string"){const err350 = {instancePath:instancePath+"/pagefront:gemstone/type",schemaPath:"#/$defs/gemstone/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err350];}else {vErrors.push(err350);}errors++;}}if(data187.origin !== undefined){let data190 = data187.origin;if(typeof data190 !== "string"){const err351 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err351];}else {vErrors.push(err351);}errors++;}if(!((((data190 === "natural_mined") || (data190 === "lab_grown")) || (data190 === "treated")) || (data190 === "synthetic"))){const err352 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/enum",keyword:"enum",params:{allowedValues: schema68.properties.origin.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err352];}else {vErrors.push(err352);}errors++;}}if(data187.shape !== undefined){if(typeof data187.shape !== "string"){const err353 = {instancePath:instancePath+"/pagefront:gemstone/shape",schemaPath:"#/$defs/gemstone/properties/shape/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err353];}else {vErrors.push(err353);}errors++;}}if(data187.caratWeight !== undefined){let data192 = data187.caratWeight;if((typeof data192 == "number") && (isFinite(data192))){if(data192 < 0 || isNaN(data192)){const err354 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err354];}else {vErrors.push(err354);}errors++;}}else {const err355 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err355];}else {vErrors.push(err355);}errors++;}}if(data187.colorGrade !== undefined){if(typeof data187.colorGrade !== "string"){const err356 = {instancePath:instancePath+"/pagefront:gemstone/colorGrade",schemaPath:"#/$defs/gemstone/properties/colorGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err356];}else {vErrors.push(err356);}errors++;}}if(data187.clarityGrade !== undefined){if(typeof data187.clarityGrade !== "string"){const err357 = {instancePath:instancePath+"/pagefront:gemstone/clarityGrade",schemaPath:"#/$defs/gemstone/properties/clarityGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err357];}else {vErrors.push(err357);}errors++;}}if(data187.cutGrade !== undefined){if(typeof data187.cutGrade !== "string"){const err358 = {instancePath:instancePath+"/pagefront:gemstone/cutGrade",schemaPath:"#/$defs/gemstone/properties/cutGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err358];}else {vErrors.push(err358);}errors++;}}if(data187.certifyingBody !== undefined){if(typeof data187.certifyingBody !== "string"){const err359 = {instancePath:instancePath+"/pagefront:gemstone/certifyingBody",schemaPath:"#/$defs/gemstone/properties/certifyingBody/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err359];}else {vErrors.push(err359);}errors++;}}}else {const err360 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err360];}else {vErrors.push(err360);}errors++;}}if(data["pagefront:configurator"] !== undefined){if(!(validate37(data["pagefront:configurator"], {instancePath:instancePath+"/pagefront:configurator",parentData:data,parentDataProperty:"pagefront:configurator",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate37.errors : vErrors.concat(validate37.errors);errors = vErrors.length;}}if(data["pagefront:madeToOrderTerms"] !== undefined){if(!(validate39(data["pagefront:madeToOrderTerms"], {instancePath:instancePath+"/pagefront:madeToOrderTerms",parentData:data,parentDataProperty:"pagefront:madeToOrderTerms",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate39.errors : vErrors.concat(validate39.errors);errors = vErrors.length;}}if(data["pagefront:manufacturerWarranty"] !== undefined){let data199 = data["pagefront:manufacturerWarranty"];if(!(data199 && typeof data199 == "object" && !Array.isArray(data199))){const err361 = {instancePath:instancePath+"/pagefront:manufacturerWarranty",schemaPath:"#/properties/pagefront%3AmanufacturerWarranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err361];}else {vErrors.push(err361);}errors++;}}if(data["pagefront:careInstructions"] !== undefined){let data200 = data["pagefront:careInstructions"];if(Array.isArray(data200)){const len24 = data200.length;for(let i24=0; i24<len24; i24++){if(typeof data200[i24] !== "string"){const err362 = {instancePath:instancePath+"/pagefront:careInstructions/" + i24,schemaPath:"#/properties/pagefront%3AcareInstructions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err362];}else {vErrors.push(err362);}errors++;}}}else {const err363 = {instancePath:instancePath+"/pagefront:careInstructions",schemaPath:"#/properties/pagefront%3AcareInstructions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err363];}else {vErrors.push(err363);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data202 = data["pagefront:availableLanguages"];if(Array.isArray(data202)){const len25 = data202.length;for(let i25=0; i25<len25; i25++){let data203 = data202[i25];if(data203 && typeof data203 == "object" && !Array.isArray(data203)){if(data203.lang === undefined){const err364 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err364];}else {vErrors.push(err364);}errors++;}if(data203.url === undefined){const err365 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err365];}else {vErrors.push(err365);}errors++;}for(const key9 in data203){if(!((key9 === "lang") || (key9 === "url"))){const err366 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err366];}else {vErrors.push(err366);}errors++;}}if(data203.lang !== undefined){if(typeof data203.lang !== "string"){const err367 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err367];}else {vErrors.push(err367);}errors++;}}if(data203.url !== undefined){let data205 = data203.url;if(typeof data205 === "string"){if(!(formats0(data205))){const err368 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err368];}else {vErrors.push(err368);}errors++;}}else {const err369 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err369];}else {vErrors.push(err369);}errors++;}}}else {const err370 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err370];}else {vErrors.push(err370);}errors++;}}}else {const err371 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err371];}else {vErrors.push(err371);}errors++;}}}else {const err372 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err372];}else {vErrors.push(err372);}errors++;}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern4.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate21(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};export const validateOrganization = validate42;const schema75 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json","title":"Pagefront Commerce Organization Sheet v0.9","description":"Formal schema for the Pagefront Commerce Organization Sheet — the sheet describing the entity behind products (brand owner, manufacturer, seller), introduced with commerce format 0.9 alongside the reference-capable legalEntity and the seller-sheet return/shipping model. The data block roots on Schema.org Organization (recognized subtypes permitted; @type is not constrained to a single value). pagefront:commerceRole is the required role discriminator, an array of one or more values from the closed enum brand_owner / manufacturer / seller. pagefront:fulfillmentTerms carries the store-wide shipping defaults as an array of Schema.org-native OfferShippingDetails objects; only the attachment shell is validated, the payload is Schema.org content. pagefront:socialAccount carries the organization's official social accounts (platform / url / handle; publisher-stated only), distinct from sameAs, which carries identity authority records only. pagefront:authorizedResellers carries the brand's authorization claim over its distribution — a pagefront:AuthorizedResellers object with an optional exhaustive flag and a reseller array whose entries name an Organization either as a reference stub (@id) or inline (name plus url and/or address), with optional Schema.org-native areaServed; valid only where commerceRole includes brand_owner (linter ORG-W-006). There is no GTIN-equivalent identifier requirement: identity is @id + name. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true}}};const schema76 = {"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true};const schema77 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate43(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate43.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data["@id"] === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.name === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.inLanguage === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data["pagefront:commerceRole"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "pagefront:commerceRole"},message:"must have required property '"+"pagefront:commerceRole"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@context"] !== undefined){let data0 = data["@context"];const _errs3 = errors;let valid1 = false;let passing0 = null;const _errs4 = errors;if("https://schema.org" !== data0){const err6 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs4 === errors;if(_valid0){valid1 = true;passing0 = 0;}const _errs5 = errors;if(Array.isArray(data0)){if(data0.length < 1){const err7 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/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 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs8 = errors;let valid4 = false;let passing1 = null;const _errs9 = errors;if(typeof data1 === "string"){if(!(formats0(data1))){const err8 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid1 = _errs9 === errors;if(_valid1){valid4 = true;passing1 = 0;}const _errs11 = errors;if(!(data1 && typeof data1 == "object" && !Array.isArray(data1))){const err10 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs11 === errors;if(_valid1 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid1){valid4 = true;passing1 = 1;}}if(!valid4){const err11 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}}}else {const err12 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs5 === errors;if(_valid0 && valid1){valid1 = false;passing0 = [passing0, 1];}else {if(_valid0){valid1 = true;passing0 = 1;}}if(!valid1){const err13 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err14 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data["@id"] !== undefined){let data3 = data["@id"];if(typeof data3 === "string"){if(!(formats0(data3))){const err15 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.name !== undefined){let data4 = data.name;if(typeof data4 === "string"){if(func1(data4) < 1){const err17 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.legalName !== undefined){if(typeof data.legalName !== "string"){const err19 = {instancePath:instancePath+"/legalName",schemaPath:"#/properties/legalName/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err20 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.url !== undefined){let data7 = data.url;if(typeof data7 === "string"){if(!(formats0(data7))){const err21 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err23 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.slogan !== undefined){if(typeof data.slogan !== "string"){const err24 = {instancePath:instancePath+"/slogan",schemaPath:"#/properties/slogan/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.logo !== undefined){let data10 = data.logo;const _errs30 = errors;let valid5 = false;let passing2 = null;const _errs31 = errors;if(typeof data10 === "string"){if(!(formats0(data10))){const err25 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid2 = _errs31 === errors;if(_valid2){valid5 = true;passing2 = 0;}const _errs33 = errors;if(!(data10 && typeof data10 == "object" && !Array.isArray(data10))){const err27 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid2 = _errs33 === errors;if(_valid2 && valid5){valid5 = false;passing2 = [passing2, 1];}else {if(_valid2){valid5 = true;passing2 = 1;}}if(!valid5){const err28 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}}if(data.iso6523Code !== undefined){if(typeof data.iso6523Code !== "string"){const err29 = {instancePath:instancePath+"/iso6523Code",schemaPath:"#/properties/iso6523Code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.identifier !== undefined){let data12 = data.identifier;const _errs38 = errors;let valid6 = false;let passing3 = null;const _errs39 = errors;if(typeof data12 !== "string"){const err30 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid3 = _errs39 === errors;if(_valid3){valid6 = true;passing3 = 0;}const _errs41 = errors;if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err31 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}var _valid3 = _errs41 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 1];}else {if(_valid3){valid6 = true;passing3 = 1;}const _errs43 = errors;if(Array.isArray(data12)){const len1 = data12.length;for(let i1=0; i1<len1; i1++){let data13 = data12[i1];const _errs46 = errors;let valid9 = false;let passing4 = null;const _errs47 = errors;if(typeof data13 !== "string"){const err32 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}var _valid4 = _errs47 === errors;if(_valid4){valid9 = true;passing4 = 0;}const _errs49 = errors;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err33 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var _valid4 = _errs49 === errors;if(_valid4 && valid9){valid9 = false;passing4 = [passing4, 1];}else {if(_valid4){valid9 = true;passing4 = 1;}}if(!valid9){const err34 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {errors = _errs46;if(vErrors !== null){if(_errs46){vErrors.length = _errs46;}else {vErrors = null;}}}}}else {const err35 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}var _valid3 = _errs43 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 2];}else {if(_valid3){valid6 = true;passing3 = 2;}}}if(!valid6){const err36 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.sameAs !== undefined){let data14 = data.sameAs;const _errs52 = errors;let valid10 = false;let passing5 = null;const _errs53 = errors;if(typeof data14 === "string"){if(!(formats0(data14))){const err37 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}else {const err38 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid5 = _errs53 === errors;if(_valid5){valid10 = true;passing5 = 0;}const _errs55 = errors;if(Array.isArray(data14)){const len2 = data14.length;for(let i2=0; i2<len2; i2++){let data15 = data14[i2];if(typeof data15 === "string"){if(!(formats0(data15))){const err39 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}else {const err40 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/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+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid5 = _errs55 === errors;if(_valid5 && valid10){valid10 = false;passing5 = [passing5, 1];}else {if(_valid5){valid10 = true;passing5 = 1;}}if(!valid10){const err42 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}}}if(data.email !== undefined){let data16 = data.email;if(typeof data16 === "string"){if(!(formats50.test(data16))){const err43 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}else {const err44 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data.address !== undefined){let data17 = data.address;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){const err45 = {instancePath:instancePath+"/address",schemaPath:"#/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.contactPoint !== undefined){let data18 = data.contactPoint;const _errs64 = errors;let valid13 = false;let passing6 = null;const _errs65 = errors;if(!(data18 && typeof data18 == "object" && !Array.isArray(data18))){const err46 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}var _valid6 = _errs65 === errors;if(_valid6){valid13 = true;passing6 = 0;}const _errs67 = errors;if(Array.isArray(data18)){const len3 = data18.length;for(let i3=0; i3<len3; i3++){let data19 = data18[i3];if(!(data19 && typeof data19 == "object" && !Array.isArray(data19))){const err47 = {instancePath:instancePath+"/contactPoint/" + i3,schemaPath:"#/properties/contactPoint/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}}else {const err48 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}var _valid6 = _errs67 === errors;if(_valid6 && valid13){valid13 = false;passing6 = [passing6, 1];}else {if(_valid6){valid13 = true;passing6 = 1;}}if(!valid13){const err49 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {errors = _errs64;if(vErrors !== null){if(_errs64){vErrors.length = _errs64;}else {vErrors = null;}}}}if(data.foundingDate !== undefined){if(typeof data.foundingDate !== "string"){const err50 = {instancePath:instancePath+"/foundingDate",schemaPath:"#/properties/foundingDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.numberOfEmployees !== undefined){let data21 = data.numberOfEmployees;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err51 = {instancePath:instancePath+"/numberOfEmployees",schemaPath:"#/properties/numberOfEmployees/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data.parentOrganization !== undefined){let data22 = data.parentOrganization;if(!(data22 && typeof data22 == "object" && !Array.isArray(data22))){const err52 = {instancePath:instancePath+"/parentOrganization",schemaPath:"#/properties/parentOrganization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data.subOrganization !== undefined){let data23 = data.subOrganization;const _errs78 = errors;let valid16 = false;let passing7 = null;const _errs79 = errors;if(!(data23 && typeof data23 == "object" && !Array.isArray(data23))){const err53 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}var _valid7 = _errs79 === errors;if(_valid7){valid16 = true;passing7 = 0;}const _errs81 = errors;if(Array.isArray(data23)){const len4 = data23.length;for(let i4=0; i4<len4; i4++){let data24 = data23[i4];if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){const err54 = {instancePath:instancePath+"/subOrganization/" + i4,schemaPath:"#/properties/subOrganization/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}else {const err55 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid7 = _errs81 === errors;if(_valid7 && valid16){valid16 = false;passing7 = [passing7, 1];}else {if(_valid7){valid16 = true;passing7 = 1;}}if(!valid16){const err56 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}else {errors = _errs78;if(vErrors !== null){if(_errs78){vErrors.length = _errs78;}else {vErrors = null;}}}}if(data.location !== undefined){let data25 = data.location;const _errs86 = errors;let valid19 = false;let passing8 = null;const _errs87 = errors;if(!(data25 && typeof data25 == "object" && !Array.isArray(data25))){const err57 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}var _valid8 = _errs87 === errors;if(_valid8){valid19 = true;passing8 = 0;}const _errs89 = errors;if(Array.isArray(data25)){const len5 = data25.length;for(let i5=0; i5<len5; i5++){let data26 = data25[i5];if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err58 = {instancePath:instancePath+"/location/" + i5,schemaPath:"#/properties/location/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}}else {const err59 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}var _valid8 = _errs89 === errors;if(_valid8 && valid19){valid19 = false;passing8 = [passing8, 1];}else {if(_valid8){valid19 = true;passing8 = 1;}}if(!valid19){const err60 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}else {errors = _errs86;if(vErrors !== null){if(_errs86){vErrors.length = _errs86;}else {vErrors = null;}}}}if(data.brand !== undefined){let data27 = data.brand;if(!(data27 && typeof data27 == "object" && !Array.isArray(data27))){const err61 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data.aggregateRating !== undefined){let data28 = data.aggregateRating;if(!(data28 && typeof data28 == "object" && !Array.isArray(data28))){const err62 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}}if(data.hasCertification !== undefined){let data29 = data.hasCertification;if(Array.isArray(data29)){const len6 = data29.length;for(let i6=0; i6<len6; i6++){let data30 = data29[i6];if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30["@type"] === undefined){const err63 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}if(data30.name === undefined){const err64 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}if(data30["@type"] !== undefined){if("Certification" !== data30["@type"]){const err65 = {instancePath:instancePath+"/hasCertification/" + i6+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data30.name !== undefined){if(typeof data30.name !== "string"){const err66 = {instancePath:instancePath+"/hasCertification/" + i6+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}if(data30.issuedBy !== undefined){let data33 = data30.issuedBy;if(!(data33 && typeof data33 == "object" && !Array.isArray(data33))){const err67 = {instancePath:instancePath+"/hasCertification/" + i6+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data30.about !== undefined){if(typeof data30.about !== "string"){const err68 = {instancePath:instancePath+"/hasCertification/" + i6+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data30.additionalProperty !== undefined){if(!(Array.isArray(data30.additionalProperty))){const err69 = {instancePath:instancePath+"/hasCertification/" + i6+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}else {const err71 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data.hasMerchantReturnPolicy !== undefined){let data36 = data.hasMerchantReturnPolicy;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err72 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}if(data.paymentAccepted !== undefined){let data37 = data.paymentAccepted;const _errs115 = errors;let valid26 = false;let passing9 = null;const _errs116 = errors;if(typeof data37 !== "string"){const err73 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}var _valid9 = _errs116 === errors;if(_valid9){valid26 = true;passing9 = 0;}const _errs118 = errors;if(Array.isArray(data37)){const len7 = data37.length;for(let i7=0; i7<len7; i7++){if(typeof data37[i7] !== "string"){const err74 = {instancePath:instancePath+"/paymentAccepted/" + i7,schemaPath:"#/properties/paymentAccepted/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}}else {const err75 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs118 === errors;if(_valid9 && valid26){valid26 = false;passing9 = [passing9, 1];}else {if(_valid9){valid26 = true;passing9 = 1;}}if(!valid26){const err76 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {errors = _errs115;if(vErrors !== null){if(_errs115){vErrors.length = _errs115;}else {vErrors = null;}}}}if(data["pagefront:commerceRole"] !== undefined){let data39 = data["pagefront:commerceRole"];if(Array.isArray(data39)){if(data39.length < 1){const err77 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}const len8 = data39.length;for(let i8=0; i8<len8; i8++){let data40 = data39[i8];if(typeof data40 !== "string"){const err78 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}if(!(((data40 === "brand_owner") || (data40 === "manufacturer")) || (data40 === "seller"))){const err79 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/enum",keyword:"enum",params:{allowedValues: schema76.properties["pagefront:commerceRole"].items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}else {const err80 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}if(data["pagefront:fulfillmentTerms"] !== undefined){let data41 = data["pagefront:fulfillmentTerms"];if(Array.isArray(data41)){const len9 = data41.length;for(let i9=0; i9<len9; i9++){let data42 = data41[i9];if(data42 && typeof data42 == "object" && !Array.isArray(data42)){if(data42["@type"] === undefined){const err81 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}if(data42["@type"] !== undefined){if("OfferShippingDetails" !== data42["@type"]){const err82 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9+"/@type",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/properties/%40type/const",keyword:"const",params:{allowedValue: "OfferShippingDetails"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}}else {const err83 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}}else {const err84 = {instancePath:instancePath+"/pagefront:fulfillmentTerms",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data["pagefront:socialAccount"] !== undefined){let data44 = data["pagefront:socialAccount"];if(Array.isArray(data44)){const len10 = data44.length;for(let i10=0; i10<len10; i10++){let data45 = data44[i10];if(data45 && typeof data45 == "object" && !Array.isArray(data45)){if(data45.platform === undefined){const err85 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "platform"},message:"must have required property '"+"platform"+"'"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}if(data45.url === undefined){const err86 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}if(data45["@type"] !== undefined){if("pagefront:SocialAccount" !== data45["@type"]){const err87 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/@type",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SocialAccount"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data45.platform !== undefined){let data47 = data45.platform;if(typeof data47 === "string"){if(func1(data47) < 1){const err88 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}else {const err89 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}if(data45.url !== undefined){let data48 = data45.url;if(typeof data48 === "string"){if(!(formats0(data48))){const err90 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}else {const err91 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}}if(data45.handle !== undefined){let data49 = data45.handle;if(typeof data49 === "string"){if(func1(data49) < 1){const err92 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}else {const err93 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}}else {const err94 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}else {const err95 = {instancePath:instancePath+"/pagefront:socialAccount",schemaPath:"#/properties/pagefront%3AsocialAccount/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data["pagefront:authorizedResellers"] !== undefined){let data50 = data["pagefront:authorizedResellers"];if(data50 && typeof data50 == "object" && !Array.isArray(data50)){if(data50.reseller === undefined){const err96 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/required",keyword:"required",params:{missingProperty: "reseller"},message:"must have required property '"+"reseller"+"'"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}for(const key0 in data50){if(!(((key0 === "@type") || (key0 === "exhaustive")) || (key0 === "reseller"))){const err97 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}if(data50["@type"] !== undefined){if("pagefront:AuthorizedResellers" !== data50["@type"]){const err98 = {instancePath:instancePath+"/pagefront:authorizedResellers/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AuthorizedResellers"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}if(data50.exhaustive !== undefined){if(typeof data50.exhaustive !== "boolean"){const err99 = {instancePath:instancePath+"/pagefront:authorizedResellers/exhaustive",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/exhaustive/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}if(data50.reseller !== undefined){let data53 = data50.reseller;if(Array.isArray(data53)){if(data53.length < 1){const err100 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const len11 = data53.length;for(let i11=0; i11<len11; i11++){let data54 = data53[i11];if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.organization === undefined){const err101 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}for(const key1 in data54){if(!((key1 === "organization") || (key1 === "areaServed"))){const err102 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data54.organization !== undefined){let data55 = data54.organization;const _errs157 = errors;let valid41 = false;const _errs158 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@id"] === undefined){const err103 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}var _valid10 = _errs158 === errors;valid41 = valid41 || _valid10;const _errs159 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err104 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(data55.url === undefined){const err105 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}var _valid10 = _errs159 === errors;valid41 = valid41 || _valid10;const _errs160 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err106 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}if(data55.address === undefined){const err107 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "address"},message:"must have required property '"+"address"+"'"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}var _valid10 = _errs160 === errors;valid41 = valid41 || _valid10;if(!valid41){const err108 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}else {errors = _errs157;if(vErrors !== null){if(_errs157){vErrors.length = _errs157;}else {vErrors = null;}}}if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@type"] !== undefined){if(typeof data55["@type"] !== "string"){const err109 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}if(data55["@id"] !== undefined){let data57 = data55["@id"];if(typeof data57 === "string"){if(!(formats0(data57))){const err110 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}else {const err111 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}if(data55.name !== undefined){let data58 = data55.name;if(typeof data58 === "string"){if(func1(data58) < 1){const err112 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}else {const err113 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data55.url !== undefined){let data59 = data55.url;if(typeof data59 === "string"){if(!(formats0(data59))){const err114 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data55.address !== undefined){let data60 = data55.address;if(!(data60 && typeof data60 == "object" && !Array.isArray(data60))){const err116 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/address",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}}else {const err117 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data54.areaServed !== undefined){let data61 = data54.areaServed;const _errs173 = errors;let valid43 = false;let passing10 = null;const _errs174 = errors;if(!(data61 && typeof data61 == "object" && !Array.isArray(data61))){const err118 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}var _valid11 = _errs174 === errors;if(_valid11){valid43 = true;passing10 = 0;}const _errs176 = errors;if(Array.isArray(data61)){if(data61.length < 1){const err119 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}const len12 = data61.length;for(let i12=0; i12<len12; i12++){let data62 = data61[i12];if(!(data62 && typeof data62 == "object" && !Array.isArray(data62))){const err120 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed/" + i12,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}}else {const err121 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}var _valid11 = _errs176 === errors;if(_valid11 && valid43){valid43 = false;passing10 = [passing10, 1];}else {if(_valid11){valid43 = true;passing10 = 1;}}if(!valid43){const err122 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {errors = _errs173;if(vErrors !== null){if(_errs173){vErrors.length = _errs173;}else {vErrors = null;}}}}}else {const err123 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}else {const err124 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}}else {const err125 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data63 = data["pagefront:availableLanguages"];if(Array.isArray(data63)){const len13 = data63.length;for(let i13=0; i13<len13; i13++){let data64 = data63[i13];if(data64 && typeof data64 == "object" && !Array.isArray(data64)){if(data64.lang === undefined){const err126 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(data64.url === undefined){const err127 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}for(const key2 in data64){if(!((key2 === "lang") || (key2 === "url"))){const err128 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data64.lang !== undefined){if(typeof data64.lang !== "string"){const err129 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}if(data64.url !== undefined){let data66 = data64.url;if(typeof data66 === "string"){if(!(formats0(data66))){const err130 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}else {const err131 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}else {const err132 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}}else {const err133 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}}else {const err134 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}validate43.errors = vErrors;return errors === 0;}validate43.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate42(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate42.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern4.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate43(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate43.errors : vErrors.concat(validate43.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate42.errors = vErrors;return errors === 0;}validate42.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|
|
12
|
+
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}}else {const err60 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema56 = {"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"$ref":"#/$defs/nonNegativeAmount"},"highPrice":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true};function validate30(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate30.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.lowPrice === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "lowPrice"},message:"must have required property '"+"lowPrice"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.highPrice === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "highPrice"},message:"must have required property '"+"highPrice"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.priceCurrency === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data["@type"] !== undefined){if("AggregateOffer" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "AggregateOffer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.lowPrice !== undefined){let data2 = data.lowPrice;const _errs7 = errors;let valid2 = false;let passing0 = null;const _errs8 = errors;if((typeof data2 == "number") && (isFinite(data2))){if(data2 < 0 || isNaN(data2)){const err6 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}var _valid0 = _errs8 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs10 = errors;if(typeof data2 === "string"){if(!pattern5.test(data2)){const err8 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid0 = _errs10 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err10 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}else {errors = _errs7;if(vErrors !== null){if(_errs7){vErrors.length = _errs7;}else {vErrors = null;}}}}if(data.highPrice !== undefined){let data3 = data.highPrice;const _errs14 = errors;let valid4 = false;let passing1 = null;const _errs15 = errors;if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err11 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid1 = _errs15 === errors;if(_valid1){valid4 = true;passing1 = 0;}const _errs17 = errors;if(typeof data3 === "string"){if(!pattern5.test(data3)){const err13 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid1 = _errs17 === errors;if(_valid1 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid1){valid4 = true;passing1 = 1;}}if(!valid4){const err15 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern14.test(data4)){const err16 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.offerCount !== undefined){let data5 = data.offerCount;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err18 = {instancePath:instancePath+"/offerCount",schemaPath:"#/properties/offerCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.availability !== undefined){let data6 = data.availability;if(typeof data6 === "string"){if(!pattern15.test(data6)){const err19 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}else {const err20 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.itemCondition !== undefined){let data7 = data.itemCondition;if(typeof data7 === "string"){if(!pattern16.test(data7)){const err21 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err23 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.validFrom !== undefined){if(typeof data.validFrom !== "string"){const err24 = {instancePath:instancePath+"/validFrom",schemaPath:"#/properties/validFrom/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.validThrough !== undefined){if(typeof data.validThrough !== "string"){const err25 = {instancePath:instancePath+"/validThrough",schemaPath:"#/properties/validThrough/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.seller !== undefined){let data11 = data.seller;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err26 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate27(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate27.errors : vErrors.concat(validate27.errors);errors = vErrors.length;}}}else {const err27 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}validate30.errors = vErrors;return errors === 0;}validate30.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema62 = {"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false};const schema63 = {"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true};function validate33(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate33.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.name === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.feature === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "feature"},message:"must have required property '"+"feature"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "name")) || (key0 === "sortOrder")) || (key0 === "feature"))){const err3 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@type"] !== undefined){if("pagefront:FeatureGroup" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:FeatureGroup"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.name !== undefined){let data1 = data.name;if(typeof data1 === "string"){if(func1(data1) < 1){const err5 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sortOrder !== undefined){let data2 = data.sortOrder;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err7 = {instancePath:instancePath+"/sortOrder",schemaPath:"#/properties/sortOrder/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.feature !== undefined){let data3 = data.feature;if(Array.isArray(data3)){if(data3.length < 1){const err8 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4["@type"] === undefined){const err9 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data4.name === undefined){const err10 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data4.value === undefined){const err11 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data4["@type"] !== undefined){if("PropertyValue" !== data4["@type"]){const err12 = {instancePath:instancePath+"/feature/" + i0+"/@type",schemaPath:"#/$defs/featureEntry/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data4.propertyID !== undefined){if(typeof data4.propertyID !== "string"){const err13 = {instancePath:instancePath+"/feature/" + i0+"/propertyID",schemaPath:"#/$defs/featureEntry/properties/propertyID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data4.name !== undefined){let data7 = data4.name;if(typeof data7 === "string"){if(func1(data7) < 1){const err14 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data4.value !== undefined){let data8 = data4.value;const _errs19 = errors;let valid5 = false;const _errs20 = errors;if(typeof data8 !== "string"){const err16 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid0 = _errs20 === errors;valid5 = valid5 || _valid0;const _errs22 = errors;if(!((typeof data8 == "number") && (isFinite(data8)))){const err17 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid0 = _errs22 === errors;valid5 = valid5 || _valid0;const _errs24 = errors;if(typeof data8 !== "boolean"){const err18 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid0 = _errs24 === errors;valid5 = valid5 || _valid0;if(!valid5){const err19 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data4.unitCode !== undefined){if(typeof data4.unitCode !== "string"){const err20 = {instancePath:instancePath+"/feature/" + i0+"/unitCode",schemaPath:"#/$defs/featureEntry/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data4.description !== undefined){if(typeof data4.description !== "string"){const err21 = {instancePath:instancePath+"/feature/" + i0+"/description",schemaPath:"#/$defs/featureEntry/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data4["pagefront:presentationValue"] !== undefined){if(typeof data4["pagefront:presentationValue"] !== "string"){const err22 = {instancePath:instancePath+"/feature/" + i0+"/pagefront:presentationValue",schemaPath:"#/$defs/featureEntry/properties/pagefront%3ApresentationValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}validate33.errors = vErrors;return errors === 0;}validate33.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema67 = {"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false};const schema68 = {"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false};const schema69 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false};function validate35(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate35.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.unitCode === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "unitCode"},message:"must have required property '"+"unitCode"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.sizes === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sizes"},message:"must have required property '"+"sizes"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.measurements === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "measurements"},message:"must have required property '"+"measurements"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "unitCode")) || (key0 === "sizes")) || (key0 === "measurements")) || (key0 === "modelReferences"))){const err4 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeChart" !== data["@type"]){const err5 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeChart"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.unitCode !== undefined){if(typeof data.unitCode !== "string"){const err6 = {instancePath:instancePath+"/unitCode",schemaPath:"#/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sizes !== undefined){let data2 = data.sizes;if(Array.isArray(data2)){if(data2.length < 1){const err7 = {instancePath:instancePath+"/sizes",schemaPath:"#/properties/sizes/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 = data2.length;for(let i0=0; i0<len0; i0++){if(typeof data2[i0] !== "string"){const err8 = {instancePath:instancePath+"/sizes/" + i0,schemaPath:"#/properties/sizes/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+"/sizes",schemaPath:"#/properties/sizes/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.measurements !== undefined){let data4 = data.measurements;if(Array.isArray(data4)){if(data4.length < 1){const err10 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}const len1 = data4.length;for(let i1=0; i1<len1; i1++){let data5 = data4[i1];if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5["@type"] === undefined){const err11 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data5.name === undefined){const err12 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data5.values === undefined){const err13 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "values"},message:"must have required property '"+"values"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key1 in data5){if(!(((key1 === "@type") || (key1 === "name")) || (key1 === "values"))){const err14 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data5["@type"] !== undefined){if("pagefront:Measurement" !== data5["@type"]){const err15 = {instancePath:instancePath+"/measurements/" + i1+"/@type",schemaPath:"#/$defs/measurement/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Measurement"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data5.name !== undefined){if(typeof data5.name !== "string"){const err16 = {instancePath:instancePath+"/measurements/" + i1+"/name",schemaPath:"#/$defs/measurement/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data5.values !== undefined){let data8 = data5.values;if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key2 in data8){let data9 = data8[key2];if(!((typeof data9 == "number") && (isFinite(data9)))){const err17 = {instancePath:instancePath+"/measurements/" + i1+"/values/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/measurement/properties/values/additionalProperties/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath:instancePath+"/measurements/" + i1+"/values",schemaPath:"#/$defs/measurement/properties/values/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.modelReferences !== undefined){let data10 = data.modelReferences;if(Array.isArray(data10)){const len2 = data10.length;for(let i2=0; i2<len2; i2++){let data11 = data10[i2];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11["@type"] === undefined){const err21 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(data11.name === undefined){const err22 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}for(const key3 in data11){if(!((((key3 === "@type") || (key3 === "name")) || (key3 === "heightCm")) || (key3 === "wearsSize"))){const err23 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data11["@type"] !== undefined){if("pagefront:ModelReference" !== data11["@type"]){const err24 = {instancePath:instancePath+"/modelReferences/" + i2+"/@type",schemaPath:"#/$defs/modelReference/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ModelReference"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data11.name !== undefined){if(typeof data11.name !== "string"){const err25 = {instancePath:instancePath+"/modelReferences/" + i2+"/name",schemaPath:"#/$defs/modelReference/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data11.heightCm !== undefined){let data14 = data11.heightCm;if((typeof data14 == "number") && (isFinite(data14))){if(data14 < 0 || isNaN(data14)){const err26 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}else {const err27 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data11.wearsSize !== undefined){if(typeof data11.wearsSize !== "string"){const err28 = {instancePath:instancePath+"/modelReferences/" + i2+"/wearsSize",schemaPath:"#/$defs/modelReference/properties/wearsSize/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}else {const err30 = {instancePath:instancePath+"/modelReferences",schemaPath:"#/properties/modelReferences/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate35.errors = vErrors;return errors === 0;}validate35.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema70 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false};const schema71 = {"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false};function validate37(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate37.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "fitProfile")) || (key0 === "sizeAdjustment")) || (key0 === "description")) || (key0 === "appliesTo"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeRecommendation" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeRecommendation"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.fitProfile !== undefined){let data1 = data.fitProfile;if(typeof data1 !== "string"){const err3 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!(((data1 === "runs_small") || (data1 === "true_to_size")) || (data1 === "runs_large"))){const err4 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/enum",keyword:"enum",params:{allowedValues: schema70.properties.fitProfile.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.sizeAdjustment !== undefined){let data2 = data.sizeAdjustment;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2["@type"] === undefined){const err5 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data2.direction === undefined){const err6 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "direction"},message:"must have required property '"+"direction"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data2.magnitude === undefined){const err7 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "magnitude"},message:"must have required property '"+"magnitude"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data2){if(!((((key1 === "@type") || (key1 === "direction")) || (key1 === "magnitude")) || (key1 === "sizeSystem"))){const err8 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data2["@type"] !== undefined){if("pagefront:SizeAdjustment" !== data2["@type"]){const err9 = {instancePath:instancePath+"/sizeAdjustment/@type",schemaPath:"#/$defs/sizeAdjustment/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeAdjustment"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data2.direction !== undefined){let data4 = data2.direction;if(typeof data4 !== "string"){const err10 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(!((data4 === "up") || (data4 === "down"))){const err11 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/enum",keyword:"enum",params:{allowedValues: schema71.properties.direction.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data2.magnitude !== undefined){let data5 = data2.magnitude;if((typeof data5 == "number") && (isFinite(data5))){if(data5 < 0 || isNaN(data5)){const err12 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data2.sizeSystem !== undefined){if(typeof data2.sizeSystem !== "string"){const err14 = {instancePath:instancePath+"/sizeAdjustment/sizeSystem",schemaPath:"#/$defs/sizeAdjustment/properties/sizeSystem/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err16 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.appliesTo !== undefined){if(typeof data.appliesTo !== "string"){const err17 = {instancePath:instancePath+"/appliesTo",schemaPath:"#/properties/appliesTo/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}validate37.errors = vErrors;return errors === 0;}validate37.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema77 = {"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false};const schema78 = {"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"inputType":{"type":"string","enum":["select","text"],"default":"select"},"maxLength":{"type":"integer","minimum":1},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};function validate39(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate39.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.dimensions === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "dimensions"},message:"must have required property '"+"dimensions"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "@id")) || (key0 === "dimensions")) || (key0 === "exclusions"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data["@type"] !== undefined){if("pagefront:Configurator" !== data["@type"]){const err3 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(func1(data1) < 1){const err4 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.dimensions !== undefined){let data2 = data.dimensions;if(Array.isArray(data2)){if(data2.length < 1){const err6 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.name === undefined){const err7 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data3){if(!(((((((key1 === "name") || (key1 === "options")) || (key1 === "affectsPrice")) || (key1 === "inputType")) || (key1 === "maxLength")) || (key1 === "system")) || (key1 === "note"))){const err8 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data3.name !== undefined){if(typeof data3.name !== "string"){const err9 = {instancePath:instancePath+"/dimensions/" + i0+"/name",schemaPath:"#/$defs/configuratorDimension/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data3.options !== undefined){let data5 = data3.options;if(Array.isArray(data5)){const len1 = data5.length;for(let i1=0; i1<len1; i1++){let data6 = data5[i1];if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.value === undefined){const err10 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data6.value !== undefined){let data7 = data6.value;const _errs19 = errors;let valid8 = false;const _errs20 = errors;if(typeof data7 !== "string"){const err11 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs20 === errors;valid8 = valid8 || _valid0;const _errs22 = errors;if(!((typeof data7 == "number") && (isFinite(data7)))){const err12 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs22 === errors;valid8 = valid8 || _valid0;const _errs24 = errors;if(typeof data7 !== "boolean"){const err13 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs24 === errors;valid8 = valid8 || _valid0;if(!valid8){const err14 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data6.description !== undefined){if(typeof data6.description !== "string"){const err15 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/description",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data6.priceModifier !== undefined){const err16 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/priceModifier",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/priceModifier/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data6.currency !== undefined){const err17 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/currency",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/currency/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/dimensions/" + i0+"/options",schemaPath:"#/$defs/configuratorDimension/properties/options/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data3.affectsPrice !== undefined){if(typeof data3.affectsPrice !== "boolean"){const err20 = {instancePath:instancePath+"/dimensions/" + i0+"/affectsPrice",schemaPath:"#/$defs/configuratorDimension/properties/affectsPrice/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data3.inputType !== undefined){let data12 = data3.inputType;if(typeof data12 !== "string"){const err21 = {instancePath:instancePath+"/dimensions/" + i0+"/inputType",schemaPath:"#/$defs/configuratorDimension/properties/inputType/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(!((data12 === "select") || (data12 === "text"))){const err22 = {instancePath:instancePath+"/dimensions/" + i0+"/inputType",schemaPath:"#/$defs/configuratorDimension/properties/inputType/enum",keyword:"enum",params:{allowedValues: schema78.properties.inputType.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data3.maxLength !== undefined){let data13 = data3.maxLength;if(!(((typeof data13 == "number") && (!(data13 % 1) && !isNaN(data13))) && (isFinite(data13)))){const err23 = {instancePath:instancePath+"/dimensions/" + i0+"/maxLength",schemaPath:"#/$defs/configuratorDimension/properties/maxLength/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if((typeof data13 == "number") && (isFinite(data13))){if(data13 < 1 || isNaN(data13)){const err24 = {instancePath:instancePath+"/dimensions/" + i0+"/maxLength",schemaPath:"#/$defs/configuratorDimension/properties/maxLength/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}if(data3.system !== undefined){if(typeof data3.system !== "string"){const err25 = {instancePath:instancePath+"/dimensions/" + i0+"/system",schemaPath:"#/$defs/configuratorDimension/properties/system/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data3.note !== undefined){if(typeof data3.note !== "string"){const err26 = {instancePath:instancePath+"/dimensions/" + i0+"/note",schemaPath:"#/$defs/configuratorDimension/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}else {const err27 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}else {const err28 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.exclusions !== undefined){let data16 = data.exclusions;if(Array.isArray(data16)){const len2 = data16.length;for(let i2=0; i2<len2; i2++){let data17 = data16[i2];if(data17 && typeof data17 == "object" && !Array.isArray(data17)){for(const key2 in data17){let data18 = data17[key2];const _errs45 = errors;let valid13 = false;const _errs46 = errors;if(typeof data18 !== "string"){const err29 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}var _valid1 = _errs46 === errors;valid13 = valid13 || _valid1;const _errs48 = errors;if(!((typeof data18 == "number") && (isFinite(data18)))){const err30 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid1 = _errs48 === errors;valid13 = valid13 || _valid1;const _errs50 = errors;if(typeof data18 !== "boolean"){const err31 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}var _valid1 = _errs50 === errors;valid13 = valid13 || _valid1;if(!valid13){const err32 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}else {errors = _errs45;if(vErrors !== null){if(_errs45){vErrors.length = _errs45;}else {vErrors = null;}}}}}else {const err33 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(Object.keys(data17).length < 1){const err34 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}}else {const err36 = {instancePath:instancePath+"/exclusions",schemaPath:"#/properties/exclusions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}}else {const err37 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}validate39.errors = vErrors;return errors === 0;}validate39.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema80 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false};const schema81 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false};const schema82 = {"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false};function validate41(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate41.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "productionLeadTime")) || (key0 === "cancellationPolicy")) || (key0 === "returnsExceptions")) || (key0 === "aftermarketServices"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:MadeToOrderTerms" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:MadeToOrderTerms"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.productionLeadTime !== undefined){let data1 = data.productionLeadTime;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@type"] === undefined){const err3 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key1 in data1){if(!((((key1 === "@type") || (key1 === "minDays")) || (key1 === "maxDays")) || (key1 === "description"))){const err4 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Duration" !== data1["@type"]){const err5 = {instancePath:instancePath+"/productionLeadTime/@type",schemaPath:"#/$defs/duration/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Duration"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data1.minDays !== undefined){let data3 = data1.minDays;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err6 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err7 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}if(data1.maxDays !== undefined){let data4 = data1.maxDays;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err8 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 < 0 || isNaN(data4)){const err9 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data1.description !== undefined){if(typeof data1.description !== "string"){const err10 = {instancePath:instancePath+"/productionLeadTime/description",schemaPath:"#/$defs/duration/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.cancellationPolicy !== undefined){if(typeof data.cancellationPolicy !== "string"){const err12 = {instancePath:instancePath+"/cancellationPolicy",schemaPath:"#/properties/cancellationPolicy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.returnsExceptions !== undefined){let data7 = data.returnsExceptions;if(Array.isArray(data7)){const len0 = data7.length;for(let i0=0; i0<len0; i0++){if(typeof data7[i0] !== "string"){const err13 = {instancePath:instancePath+"/returnsExceptions/" + i0,schemaPath:"#/properties/returnsExceptions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/returnsExceptions",schemaPath:"#/properties/returnsExceptions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.aftermarketServices !== undefined){let data9 = data.aftermarketServices;if(Array.isArray(data9)){const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10["@type"] === undefined){const err15 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data10.service === undefined){const err16 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "service"},message:"must have required property '"+"service"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}for(const key2 in data10){if(!((((key2 === "@type") || (key2 === "service")) || (key2 === "limit")) || (key2 === "description"))){const err17 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data10["@type"] !== undefined){if("pagefront:AftermarketService" !== data10["@type"]){const err18 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/@type",schemaPath:"#/$defs/aftermarketService/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AftermarketService"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data10.service !== undefined){if(typeof data10.service !== "string"){const err19 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/service",schemaPath:"#/$defs/aftermarketService/properties/service/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data10.limit !== undefined){if(typeof data10.limit !== "string"){const err20 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/limit",schemaPath:"#/$defs/aftermarketService/properties/limit/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data10.description !== undefined){if(typeof data10.description !== "string"){const err21 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/description",schemaPath:"#/$defs/aftermarketService/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/aftermarketServices",schemaPath:"#/properties/aftermarketServices/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}validate41.errors = vErrors;return errors === 0;}validate41.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = true;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data["@type"] === undefined) && (missing0 = "@type")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(data["@type"] !== undefined){if("ProductGroup" !== data["@type"]){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}}var _valid0 = _errs2 === errors;errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}let ifClause0;if(_valid0){const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productGroupID === undefined){const err2 = {instancePath,schemaPath:"#/then/required",keyword:"required",params:{missingProperty: "productGroupID"},message:"must have required property '"+"productGroupID"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs4 === errors;valid0 = _valid0;ifClause0 = "then";}else {const _errs5 = errors;const _errs6 = errors;let valid2 = false;const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.sku === undefined){const err3 = {instancePath,schemaPath:"#/else/anyOf/0/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid1 = _errs7 === errors;valid2 = valid2 || _valid1;const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin13 === undefined){const err4 = {instancePath,schemaPath:"#/else/anyOf/1/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var _valid1 = _errs8 === errors;valid2 = valid2 || _valid1;const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin === undefined){const err5 = {instancePath,schemaPath:"#/else/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid1 = _errs9 === errors;valid2 = valid2 || _valid1;const _errs10 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.mpn === undefined){const err6 = {instancePath,schemaPath:"#/else/anyOf/3/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var _valid1 = _errs10 === errors;valid2 = valid2 || _valid1;const _errs11 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productID === undefined){const err7 = {instancePath,schemaPath:"#/else/anyOf/4/required",keyword:"required",params:{missingProperty: "productID"},message:"must have required property '"+"productID"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}var _valid1 = _errs11 === errors;valid2 = valid2 || _valid1;if(!valid2){const err8 = {instancePath,schemaPath:"#/else/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {errors = _errs6;if(vErrors !== null){if(_errs6){vErrors.length = _errs6;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data.url === undefined){const err9 = {instancePath,schemaPath:"#/else/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}var _valid0 = _errs5 === errors;valid0 = _valid0;ifClause0 = "else";}if(!valid0){const err10 = {instancePath,schemaPath:"#/if",keyword:"if",params:{failingKeyword: ifClause0},message:"must match \""+ifClause0+"\" schema"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err11 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data["@type"] === undefined){const err12 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data["@id"] === undefined){const err13 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data.name === undefined){const err14 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data.inLanguage === undefined){const err15 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data["@context"] !== undefined){let data1 = data["@context"];const _errs14 = errors;let valid4 = false;let passing0 = null;const _errs15 = errors;if("https://schema.org" !== data1){const err16 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid2 = _errs15 === errors;if(_valid2){valid4 = true;passing0 = 0;}const _errs16 = errors;if(Array.isArray(data1)){if(data1.length < 1){const err17 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}const len0 = data1.length;for(let i0=0; i0<len0; i0++){let data2 = data1[i0];const _errs19 = errors;let valid7 = false;let passing1 = null;const _errs20 = errors;if(typeof data2 === "string"){if(!(formats0(data2))){const err18 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid3 = _errs20 === errors;if(_valid3){valid7 = true;passing1 = 0;}const _errs22 = errors;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err20 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid3 = _errs22 === errors;if(_valid3 && valid7){valid7 = false;passing1 = [passing1, 1];}else {if(_valid3){valid7 = true;passing1 = 1;}}if(!valid7){const err21 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}}else {const err22 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid2 = _errs16 === errors;if(_valid2 && valid4){valid4 = false;passing0 = [passing0, 1];}else {if(_valid2){valid4 = true;passing0 = 1;}}if(!valid4){const err23 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err24 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data["@id"] !== undefined){let data4 = data["@id"];if(typeof data4 === "string"){if(!(formats0(data4))){const err25 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.url !== undefined){let data5 = data.url;if(typeof data5 === "string"){if(!(formats0(data5))){const err27 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}else {const err28 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.name !== undefined){let data6 = data.name;if(typeof data6 === "string"){if(func1(data6) < 1){const err29 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}else {const err30 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err31 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err32 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data.gtin13 !== undefined){let data9 = data.gtin13;const _errs38 = errors;let valid9 = false;let passing2 = null;const _errs39 = errors;if(typeof data9 === "string"){if(!pattern6.test(data9)){const err33 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}else {const err34 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var _valid4 = _errs39 === errors;if(_valid4){valid9 = true;passing2 = 0;}const _errs41 = errors;if(Array.isArray(data9)){if(data9.length < 1){const err35 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(typeof data10 === "string"){if(!pattern6.test(data10)){const err36 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}else {const err38 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid4 = _errs41 === errors;if(_valid4 && valid9){valid9 = false;passing2 = [passing2, 1];}else {if(_valid4){valid9 = true;passing2 = 1;}}if(!valid9){const err39 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data11 = data.gtin;const _errs47 = errors;let valid13 = false;let passing3 = null;const _errs48 = errors;if(typeof data11 !== "string"){const err40 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}var _valid5 = _errs48 === errors;if(_valid5){valid13 = true;passing3 = 0;}const _errs50 = errors;if(Array.isArray(data11)){if(data11.length < 1){const err41 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}const len2 = data11.length;for(let i2=0; i2<len2; i2++){if(typeof data11[i2] !== "string"){const err42 = {instancePath:instancePath+"/gtin/" + i2,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}else {const err43 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}var _valid5 = _errs50 === errors;if(_valid5 && valid13){valid13 = false;passing3 = [passing3, 1];}else {if(_valid5){valid13 = true;passing3 = 1;}}if(!valid13){const err44 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {errors = _errs47;if(vErrors !== null){if(_errs47){vErrors.length = _errs47;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err45 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err46 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data.productGroupID !== undefined){if(typeof data.productGroupID !== "string"){const err47 = {instancePath:instancePath+"/productGroupID",schemaPath:"#/properties/productGroupID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data.variesBy !== undefined){let data16 = data.variesBy;if(Array.isArray(data16)){const len3 = data16.length;for(let i3=0; i3<len3; i3++){if(typeof data16[i3] !== "string"){const err48 = {instancePath:instancePath+"/variesBy/" + i3,schemaPath:"#/properties/variesBy/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}}else {const err49 = {instancePath:instancePath+"/variesBy",schemaPath:"#/properties/variesBy/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}if(data.hasVariant !== undefined){let data18 = data.hasVariant;if(Array.isArray(data18)){const len4 = data18.length;for(let i4=0; i4<len4; i4++){if(!(validate22(data18[i4], {instancePath:instancePath+"/hasVariant/" + i4,parentData:data18,parentDataProperty:i4,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);errors = vErrors.length;}}}else {const err50 = {instancePath:instancePath+"/hasVariant",schemaPath:"#/properties/hasVariant/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.brand !== undefined){let data20 = data.brand;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20["pagefront:sheetUrl"] !== undefined){let data21 = data20["pagefront:sheetUrl"];if(typeof data21 === "string"){if(!(formats0(data21))){const err51 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}}else {const err53 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err54 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data.category !== undefined){let data23 = data.category;const _errs74 = errors;let valid21 = false;let passing4 = null;const _errs75 = errors;if(typeof data23 !== "string"){const err55 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid6 = _errs75 === errors;if(_valid6){valid21 = true;passing4 = 0;}const _errs77 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err56 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data23.codeValue === undefined){const err57 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data23["@type"] !== undefined){if("CategoryCode" !== data23["@type"]){const err58 = {instancePath:instancePath+"/category/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data23.codeValue !== undefined){let data25 = data23.codeValue;if(typeof data25 === "string"){if(func1(data25) < 1){const err59 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}else {const err60 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data23.inCodeSet !== undefined){let data26 = data23.inCodeSet;const _errs85 = errors;let valid24 = false;let passing5 = null;const _errs86 = errors;if(typeof data26 === "string"){if(!(formats0(data26))){const err61 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}else {const err62 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}var _valid7 = _errs86 === errors;if(_valid7){valid24 = true;passing5 = 0;}const _errs88 = errors;if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err63 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}var _valid7 = _errs88 === errors;if(_valid7 && valid24){valid24 = false;passing5 = [passing5, 1];}else {if(_valid7){valid24 = true;passing5 = 1;}}if(!valid24){const err64 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs85;if(vErrors !== null){if(_errs85){vErrors.length = _errs85;}else {vErrors = null;}}}}if(data23.name !== undefined){if(typeof data23.name !== "string"){const err65 = {instancePath:instancePath+"/category/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}}else {const err66 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}var _valid6 = _errs77 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 1];}else {if(_valid6){valid21 = true;passing4 = 1;}const _errs92 = errors;if(Array.isArray(data23)){if(data23.length < 1){const err67 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}const len5 = data23.length;for(let i5=0; i5<len5; i5++){let data28 = data23[i5];const _errs95 = errors;let valid27 = false;let passing6 = null;const _errs96 = errors;if(typeof data28 !== "string"){const err68 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}var _valid8 = _errs96 === errors;if(_valid8){valid27 = true;passing6 = 0;}const _errs98 = errors;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if(data28["@type"] === undefined){const err69 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}if(data28.codeValue === undefined){const err70 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}if(data28["@type"] !== undefined){if("CategoryCode" !== data28["@type"]){const err71 = {instancePath:instancePath+"/category/" + i5+"/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data28.codeValue !== undefined){let data30 = data28.codeValue;if(typeof data30 === "string"){if(func1(data30) < 1){const err72 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}else {const err73 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}if(data28.inCodeSet !== undefined){let data31 = data28.inCodeSet;const _errs106 = errors;let valid30 = false;let passing7 = null;const _errs107 = errors;if(typeof data31 === "string"){if(!(formats0(data31))){const err74 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}else {const err75 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs107 === errors;if(_valid9){valid30 = true;passing7 = 0;}const _errs109 = errors;if(!(data31 && typeof data31 == "object" && !Array.isArray(data31))){const err76 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}var _valid9 = _errs109 === errors;if(_valid9 && valid30){valid30 = false;passing7 = [passing7, 1];}else {if(_valid9){valid30 = true;passing7 = 1;}}if(!valid30){const err77 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}else {errors = _errs106;if(vErrors !== null){if(_errs106){vErrors.length = _errs106;}else {vErrors = null;}}}}if(data28.name !== undefined){if(typeof data28.name !== "string"){const err78 = {instancePath:instancePath+"/category/" + i5+"/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}}else {const err79 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}var _valid8 = _errs98 === errors;if(_valid8 && valid27){valid27 = false;passing6 = [passing6, 1];}else {if(_valid8){valid27 = true;passing6 = 1;}}if(!valid27){const err80 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}else {errors = _errs95;if(vErrors !== null){if(_errs95){vErrors.length = _errs95;}else {vErrors = null;}}}}}else {const err81 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}var _valid6 = _errs92 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 2];}else {if(_valid6){valid21 = true;passing4 = 2;}}}if(!valid21){const err82 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}else {errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}}}if(data.color !== undefined){if(typeof data.color !== "string"){const err83 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err84 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data.weight !== undefined){let data35 = data.weight;if(!(data35 && typeof data35 == "object" && !Array.isArray(data35))){const err85 = {instancePath:instancePath+"/weight",schemaPath:"#/properties/weight/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}if(data.height !== undefined){let data36 = data.height;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err86 = {instancePath:instancePath+"/height",schemaPath:"#/properties/height/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data.width !== undefined){let data37 = data.width;if(!(data37 && typeof data37 == "object" && !Array.isArray(data37))){const err87 = {instancePath:instancePath+"/width",schemaPath:"#/properties/width/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data.depth !== undefined){let data38 = data.depth;if(!(data38 && typeof data38 == "object" && !Array.isArray(data38))){const err88 = {instancePath:instancePath+"/depth",schemaPath:"#/properties/depth/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}if(data.countryOfOrigin !== undefined){let data39 = data.countryOfOrigin;if(typeof data39 === "string"){if(!pattern11.test(data39)){const err89 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}else {const err90 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}if(data.image !== undefined){let data40 = data.image;if(Array.isArray(data40)){const len6 = data40.length;for(let i6=0; i6<len6; i6++){let data41 = data40[i6];if(data41 && typeof data41 == "object" && !Array.isArray(data41)){if(data41["@type"] === undefined){const err91 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}if(data41.url === undefined){const err92 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}if(data41["@type"] !== undefined){if("ImageObject" !== data41["@type"]){const err93 = {instancePath:instancePath+"/image/" + i6+"/@type",schemaPath:"#/$defs/imageObject/properties/%40type/const",keyword:"const",params:{allowedValue: "ImageObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}if(data41.url !== undefined){let data43 = data41.url;if(typeof data43 === "string"){if(!(formats0(data43))){const err94 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}else {const err95 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data41.caption !== undefined){if(typeof data41.caption !== "string"){const err96 = {instancePath:instancePath+"/image/" + i6+"/caption",schemaPath:"#/$defs/imageObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}if(data41.additionalProperty !== undefined){let data45 = data41.additionalProperty;if(Array.isArray(data45)){const len7 = data45.length;for(let i7=0; i7<len7; i7++){let data46 = data45[i7];const _errs143 = errors;let valid38 = true;const _errs144 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){let missing1;if((data46.name === undefined) && (missing1 = "name")){const err97 = {};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}else {if(data46.name !== undefined){if("role" !== data46.name){const err98 = {};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}}}var _valid10 = _errs144 === errors;errors = _errs143;if(vErrors !== null){if(_errs143){vErrors.length = _errs143;}else {vErrors = null;}}if(_valid10){const _errs146 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.value !== undefined){let data48 = data46.value;if(!((((((((data48 === "hero") || (data48 === "packshot")) || (data48 === "lifestyle")) || (data48 === "detail")) || (data48 === "flatlay")) || (data48 === "swatch")) || (data48 === "size_chart")) || (data48 === "context"))){const err99 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema41.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}}var _valid10 = _errs146 === errors;valid38 = _valid10;if(valid38){var props2 = {};props2.value = true;props2.name = true;}}if(!valid38){const err100 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(props2 !== true){props2 = props2 || {};props2["@type"] = true;props2.name = true;props2.value = true;}if(data46["@type"] !== undefined){if("PropertyValue" !== data46["@type"]){const err101 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/@type",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}}if(data46.name !== undefined){if(typeof data46.name !== "string"){const err102 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/name",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data46.value !== undefined){if(typeof data46.value !== "string"){const err103 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}else {const err104 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}}else {const err105 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty",schemaPath:"#/$defs/imageObject/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}}else {const err106 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}}}else {const err107 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}if(data.video !== undefined){let data52 = data.video;if(Array.isArray(data52)){const len8 = data52.length;for(let i8=0; i8<len8; i8++){let data53 = data52[i8];const _errs158 = errors;let valid45 = false;const _errs159 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.url === undefined){const err108 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/0/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}}var _valid11 = _errs159 === errors;valid45 = valid45 || _valid11;const _errs160 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.contentUrl === undefined){const err109 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/1/required",keyword:"required",params:{missingProperty: "contentUrl"},message:"must have required property '"+"contentUrl"+"'"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}var _valid11 = _errs160 === errors;valid45 = valid45 || _valid11;const _errs161 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.embedUrl === undefined){const err110 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/2/required",keyword:"required",params:{missingProperty: "embedUrl"},message:"must have required property '"+"embedUrl"+"'"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}var _valid11 = _errs161 === errors;valid45 = valid45 || _valid11;if(!valid45){const err111 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}else {errors = _errs158;if(vErrors !== null){if(_errs158){vErrors.length = _errs158;}else {vErrors = null;}}}if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53["@type"] === undefined){const err112 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}if(data53["@type"] !== undefined){if("VideoObject" !== data53["@type"]){const err113 = {instancePath:instancePath+"/video/" + i8+"/@type",schemaPath:"#/$defs/videoObject/properties/%40type/const",keyword:"const",params:{allowedValue: "VideoObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data53.url !== undefined){let data55 = data53.url;if(typeof data55 === "string"){if(!(formats0(data55))){const err114 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data53.contentUrl !== undefined){let data56 = data53.contentUrl;if(typeof data56 === "string"){if(!(formats0(data56))){const err116 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}else {const err117 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data53.embedUrl !== undefined){let data57 = data53.embedUrl;if(typeof data57 === "string"){if(!(formats0(data57))){const err118 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}else {const err119 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(data53.thumbnailUrl !== undefined){let data58 = data53.thumbnailUrl;if(typeof data58 === "string"){if(!(formats0(data58))){const err120 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}else {const err121 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}if(data53.duration !== undefined){let data59 = data53.duration;if(typeof data59 === "string"){if(!pattern12.test(data59)){const err122 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/pattern",keyword:"pattern",params:{pattern: "^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},message:"must match pattern \""+"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"+"\""};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}else {const err123 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}if(data53.uploadDate !== undefined){if(typeof data53.uploadDate !== "string"){const err124 = {instancePath:instancePath+"/video/" + i8+"/uploadDate",schemaPath:"#/$defs/videoObject/properties/uploadDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}if(data53.caption !== undefined){if(typeof data53.caption !== "string"){const err125 = {instancePath:instancePath+"/video/" + i8+"/caption",schemaPath:"#/$defs/videoObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data53.transcript !== undefined){if(typeof data53.transcript !== "string"){const err126 = {instancePath:instancePath+"/video/" + i8+"/transcript",schemaPath:"#/$defs/videoObject/properties/transcript/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}if(data53.description !== undefined){if(typeof data53.description !== "string"){const err127 = {instancePath:instancePath+"/video/" + i8+"/description",schemaPath:"#/$defs/videoObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}if(data53.name !== undefined){if(typeof data53.name !== "string"){const err128 = {instancePath:instancePath+"/video/" + i8+"/name",schemaPath:"#/$defs/videoObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data53.additionalProperty !== undefined){let data65 = data53.additionalProperty;if(Array.isArray(data65)){const len9 = data65.length;for(let i9=0; i9<len9; i9++){let data66 = data65[i9];const _errs189 = errors;let valid50 = true;const _errs190 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){let missing2;if((data66.name === undefined) && (missing2 = "name")){const err129 = {};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}else {if(data66.name !== undefined){if("role" !== data66.name){const err130 = {};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}}}var _valid12 = _errs190 === errors;errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}if(_valid12){const _errs192 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(data66.value !== undefined){let data68 = data66.value;if(!((((((((data68 === "overview") || (data68 === "tutorial")) || (data68 === "lifestyle")) || (data68 === "construction")) || (data68 === "demonstration")) || (data68 === "comparison")) || (data68 === "unboxing")) || (data68 === "spin"))){const err131 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema42.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}var _valid12 = _errs192 === errors;valid50 = _valid12;if(valid50){var props3 = {};props3.value = true;props3.name = true;}}if(!valid50){const err132 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(props3 !== true){props3 = props3 || {};props3["@type"] = true;props3.name = true;props3.value = true;}if(data66["@type"] !== undefined){if("PropertyValue" !== data66["@type"]){const err133 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/@type",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}if(data66.name !== undefined){if(typeof data66.name !== "string"){const err134 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/name",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}if(data66.value !== undefined){if(typeof data66.value !== "string"){const err135 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}}else {const err136 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}else {const err137 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty",schemaPath:"#/$defs/videoObject/properties/additionalProperty/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+"/video/" + i8,schemaPath:"#/$defs/videoObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}}else {const err139 = {instancePath:instancePath+"/video",schemaPath:"#/properties/video/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err140 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data.hasCertification !== undefined){let data73 = data.hasCertification;if(Array.isArray(data73)){const len10 = data73.length;for(let i10=0; i10<len10; i10++){let data74 = data73[i10];if(data74 && typeof data74 == "object" && !Array.isArray(data74)){if(data74["@type"] === undefined){const err141 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}if(data74.name === undefined){const err142 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}if(data74["@type"] !== undefined){if("Certification" !== data74["@type"]){const err143 = {instancePath:instancePath+"/hasCertification/" + i10+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}if(data74.name !== undefined){if(typeof data74.name !== "string"){const err144 = {instancePath:instancePath+"/hasCertification/" + i10+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(data74.issuedBy !== undefined){let data77 = data74.issuedBy;if(!(data77 && typeof data77 == "object" && !Array.isArray(data77))){const err145 = {instancePath:instancePath+"/hasCertification/" + i10+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}if(data74.about !== undefined){if(typeof data74.about !== "string"){const err146 = {instancePath:instancePath+"/hasCertification/" + i10+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data74.additionalProperty !== undefined){if(!(Array.isArray(data74.additionalProperty))){const err147 = {instancePath:instancePath+"/hasCertification/" + i10+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/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+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}}else {const err149 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data.manufacturer !== undefined){let data80 = data.manufacturer;if(!(data80 && typeof data80 == "object" && !Array.isArray(data80))){const err150 = {instancePath:instancePath+"/manufacturer",schemaPath:"#/properties/manufacturer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}if(data.offers !== undefined){let data81 = data.offers;if(Array.isArray(data81)){if(data81.length < 1){const err151 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}const len11 = data81.length;for(let i11=0; i11<len11; i11++){let data82 = data81[i11];const _errs221 = errors;let valid60 = false;let passing8 = null;const _errs222 = errors;if(!(validate24(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}var _valid13 = _errs222 === errors;if(_valid13){valid60 = true;passing8 = 0;var props4 = true;}const _errs223 = errors;if(!(validate30(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate30.errors : vErrors.concat(validate30.errors);errors = vErrors.length;}var _valid13 = _errs223 === errors;if(_valid13 && valid60){valid60 = false;passing8 = [passing8, 1];}else {if(_valid13){valid60 = true;passing8 = 1;if(props4 !== true){props4 = true;}}}if(!valid60){const err152 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/properties/offers/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}else {errors = _errs221;if(vErrors !== null){if(_errs221){vErrors.length = _errs221;}else {vErrors = null;}}}}}else {const err153 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}}if(data.aggregateRating !== undefined){let data83 = data.aggregateRating;if(!(data83 && typeof data83 == "object" && !Array.isArray(data83))){const err154 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}}if(data.review !== undefined){if(!(Array.isArray(data.review))){const err155 = {instancePath:instancePath+"/review",schemaPath:"#/properties/review/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}if(data.isVariantOf !== undefined){let data85 = data.isVariantOf;if(!(data85 && typeof data85 == "object" && !Array.isArray(data85))){const err156 = {instancePath:instancePath+"/isVariantOf",schemaPath:"#/properties/isVariantOf/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}}if(data.isRelatedTo !== undefined){if(!(Array.isArray(data.isRelatedTo))){const err157 = {instancePath:instancePath+"/isRelatedTo",schemaPath:"#/properties/isRelatedTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}if(data.isSimilarTo !== undefined){if(!(Array.isArray(data.isSimilarTo))){const err158 = {instancePath:instancePath+"/isSimilarTo",schemaPath:"#/properties/isSimilarTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}}if(data.isPartOf !== undefined){let data88 = data.isPartOf;const _errs235 = errors;let valid61 = false;let passing9 = null;const _errs236 = errors;if(!(data88 && typeof data88 == "object" && !Array.isArray(data88))){const err159 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}var _valid14 = _errs236 === errors;if(_valid14){valid61 = true;passing9 = 0;}const _errs238 = errors;if(!(Array.isArray(data88))){const err160 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}var _valid14 = _errs238 === errors;if(_valid14 && valid61){valid61 = false;passing9 = [passing9, 1];}else {if(_valid14){valid61 = true;passing9 = 1;}}if(!valid61){const err161 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}else {errors = _errs235;if(vErrors !== null){if(_errs235){vErrors.length = _errs235;}else {vErrors = null;}}}}if(data.hasPart !== undefined){let data89 = data.hasPart;const _errs241 = errors;let valid62 = false;let passing10 = null;const _errs242 = errors;if(!(data89 && typeof data89 == "object" && !Array.isArray(data89))){const err162 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}var _valid15 = _errs242 === errors;if(_valid15){valid62 = true;passing10 = 0;}const _errs244 = errors;if(!(Array.isArray(data89))){const err163 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}var _valid15 = _errs244 === errors;if(_valid15 && valid62){valid62 = false;passing10 = [passing10, 1];}else {if(_valid15){valid62 = true;passing10 = 1;}}if(!valid62){const err164 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}else {errors = _errs241;if(vErrors !== null){if(_errs241){vErrors.length = _errs241;}else {vErrors = null;}}}}if(data.question !== undefined){let data90 = data.question;if(Array.isArray(data90)){const len12 = data90.length;for(let i12=0; i12<len12; i12++){let data91 = data90[i12];if(data91 && typeof data91 == "object" && !Array.isArray(data91)){if(data91["@type"] === undefined){const err165 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}if(data91.name === undefined){const err166 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}if(data91.acceptedAnswer === undefined){const err167 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "acceptedAnswer"},message:"must have required property '"+"acceptedAnswer"+"'"};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}if(data91["@type"] !== undefined){if("Question" !== data91["@type"]){const err168 = {instancePath:instancePath+"/question/" + i12+"/@type",schemaPath:"#/$defs/questionObject/properties/%40type/const",keyword:"const",params:{allowedValue: "Question"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data91.name !== undefined){let data93 = data91.name;if(typeof data93 === "string"){if(func1(data93) < 1){const err169 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}else {const err170 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}if(data91.acceptedAnswer !== undefined){let data94 = data91.acceptedAnswer;if(data94 && typeof data94 == "object" && !Array.isArray(data94)){if(data94["@type"] === undefined){const err171 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}if(data94.text === undefined){const err172 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}if(data94["@type"] !== undefined){if("Answer" !== data94["@type"]){const err173 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/@type",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}if(data94.text !== undefined){let data96 = data94.text;if(typeof data96 === "string"){if(func1(data96) < 1){const err174 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}else {const err175 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}}else {const err176 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data91.suggestedAnswer !== undefined){let data97 = data91.suggestedAnswer;if(Array.isArray(data97)){const len13 = data97.length;for(let i13=0; i13<len13; i13++){let data98 = data97[i13];if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98["@type"] === undefined){const err177 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}if(data98.text === undefined){const err178 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}if(data98["@type"] !== undefined){if("Answer" !== data98["@type"]){const err179 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/@type",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(data98.text !== undefined){let data100 = data98.text;if(typeof data100 === "string"){if(func1(data100) < 1){const err180 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}else {const err181 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}}}else {const err182 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}}}else {const err183 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/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+"/question/" + i12,schemaPath:"#/$defs/questionObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}}}else {const err185 = {instancePath:instancePath+"/question",schemaPath:"#/properties/question/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}}if(data["pagefront:document"] !== undefined){let data101 = data["pagefront:document"];if(Array.isArray(data101)){const len14 = data101.length;for(let i14=0; i14<len14; i14++){let data102 = data101[i14];if(data102 && typeof data102 == "object" && !Array.isArray(data102)){if(data102["@type"] === undefined){const err186 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}if(data102.url === undefined){const err187 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}if(data102.role === undefined){const err188 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err188];}else {vErrors.push(err188);}errors++;}for(const key0 in data102){if(!(((((((key0 === "@type") || (key0 === "url")) || (key0 === "role")) || (key0 === "name")) || (key0 === "inLanguage")) || (key0 === "description")) || (key0 === "encodingFormat"))){const err189 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}if(data102["@type"] !== undefined){if("pagefront:Document" !== data102["@type"]){const err190 = {instancePath:instancePath+"/pagefront:document/" + i14+"/@type",schemaPath:"#/$defs/documentObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Document"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err190];}else {vErrors.push(err190);}errors++;}}if(data102.url !== undefined){let data104 = data102.url;if(typeof data104 === "string"){if(!(formats0(data104))){const err191 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}}else {const err192 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}}if(data102.role !== undefined){let data105 = data102.role;if(typeof data105 !== "string"){const err193 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}if(!((((((((((((((((((data105 === "manual") || (data105 === "assembly")) || (data105 === "care_guide")) || (data105 === "spec_sheet")) || (data105 === "compatibility")) || (data105 === "warranty")) || (data105 === "certificate")) || (data105 === "environmental_declaration")) || (data105 === "audit_report")) || (data105 === "lab_test")) || (data105 === "safety_data_sheet")) || (data105 === "installation_guide")) || (data105 === "user_guide")) || (data105 === "quick_start")) || (data105 === "brochure")) || (data105 === "repairability_index")) || (data105 === "recall_notice")) || (data105 === "declaration_of_conformity"))){const err194 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/enum",keyword:"enum",params:{allowedValues: schema60.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}if(data102.name !== undefined){if(typeof data102.name !== "string"){const err195 = {instancePath:instancePath+"/pagefront:document/" + i14+"/name",schemaPath:"#/$defs/documentObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}}if(data102.inLanguage !== undefined){if(typeof data102.inLanguage !== "string"){const err196 = {instancePath:instancePath+"/pagefront:document/" + i14+"/inLanguage",schemaPath:"#/$defs/documentObject/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}}if(data102.description !== undefined){if(typeof data102.description !== "string"){const err197 = {instancePath:instancePath+"/pagefront:document/" + i14+"/description",schemaPath:"#/$defs/documentObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}}if(data102.encodingFormat !== undefined){if(typeof data102.encodingFormat !== "string"){const err198 = {instancePath:instancePath+"/pagefront:document/" + i14+"/encodingFormat",schemaPath:"#/$defs/documentObject/properties/encodingFormat/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}}}else {const err199 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}}}else {const err200 = {instancePath:instancePath+"/pagefront:document",schemaPath:"#/properties/pagefront%3Adocument/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}}if(data["pagefront:relatedProduct"] !== undefined){let data110 = data["pagefront:relatedProduct"];if(Array.isArray(data110)){const len15 = data110.length;for(let i15=0; i15<len15; i15++){let data111 = data110[i15];const _errs293 = errors;let valid78 = false;const _errs294 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@id"] === undefined){const err201 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}var _valid16 = _errs294 === errors;valid78 = valid78 || _valid16;const _errs295 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.sku === undefined){const err202 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/1/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}}var _valid16 = _errs295 === errors;valid78 = valid78 || _valid16;const _errs296 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin === undefined){const err203 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}}var _valid16 = _errs296 === errors;valid78 = valid78 || _valid16;const _errs297 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin13 === undefined){const err204 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/3/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}}var _valid16 = _errs297 === errors;valid78 = valid78 || _valid16;const _errs298 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.mpn === undefined){const err205 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/4/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}var _valid16 = _errs298 === errors;valid78 = valid78 || _valid16;if(!valid78){const err206 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}else {errors = _errs293;if(vErrors !== null){if(_errs293){vErrors.length = _errs293;}else {vErrors = null;}}}if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@type"] === undefined){const err207 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}if(data111.relationship === undefined){const err208 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "relationship"},message:"must have required property '"+"relationship"+"'"};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}for(const key1 in data111){if(!(func8.call(schema61.properties, key1))){const err209 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}}if(data111["@type"] !== undefined){if("pagefront:RelatedProduct" !== data111["@type"]){const err210 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@type",schemaPath:"#/$defs/relatedProductObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:RelatedProduct"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}}if(data111.relationship !== undefined){let data113 = data111.relationship;if(typeof data113 !== "string"){const err211 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}if(!(((((((((((data113 === "accessory") || (data113 === "consumable")) || (data113 === "required_part")) || (data113 === "spare_part")) || (data113 === "often_bought_with")) || (data113 === "recommended_with")) || (data113 === "replaces")) || (data113 === "replaced_by")) || (data113 === "bundle_component")) || (data113 === "compatible_with")) || (data113 === "service"))){const err212 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/enum",keyword:"enum",params:{allowedValues: schema61.properties.relationship.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}if(data111["@id"] !== undefined){let data114 = data111["@id"];if(typeof data114 === "string"){if(!(formats0(data114))){const err213 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}else {const err214 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}if(data111.sku !== undefined){if(typeof data111.sku !== "string"){const err215 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/sku",schemaPath:"#/$defs/relatedProductObject/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data111.gtin !== undefined){if(typeof data111.gtin !== "string"){const err216 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin",schemaPath:"#/$defs/relatedProductObject/properties/gtin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}if(data111.gtin13 !== undefined){let data117 = data111.gtin13;if(typeof data117 === "string"){if(!pattern6.test(data117)){const err217 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}else {const err218 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}}if(data111.mpn !== undefined){if(typeof data111.mpn !== "string"){const err219 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/mpn",schemaPath:"#/$defs/relatedProductObject/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}}if(data111.name !== undefined){if(typeof data111.name !== "string"){const err220 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/name",schemaPath:"#/$defs/relatedProductObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}if(data111.url !== undefined){let data120 = data111.url;if(typeof data120 === "string"){if(!(formats0(data120))){const err221 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}else {const err222 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}if(data111.image !== undefined){let data121 = data111.image;if(typeof data121 === "string"){if(!(formats0(data121))){const err223 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}}else {const err224 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}}}else {const err225 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}}}else {const err226 = {instancePath:instancePath+"/pagefront:relatedProduct",schemaPath:"#/properties/pagefront%3ArelatedProduct/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}}if(data["pagefront:featureGroup"] !== undefined){let data122 = data["pagefront:featureGroup"];if(Array.isArray(data122)){if(data122.length < 1){const err227 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}const len16 = data122.length;for(let i16=0; i16<len16; i16++){if(!(validate33(data122[i16], {instancePath:instancePath+"/pagefront:featureGroup/" + i16,parentData:data122,parentDataProperty:i16,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate33.errors : vErrors.concat(validate33.errors);errors = vErrors.length;}}}else {const err228 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}}if(data["pagefront:productHighlights"] !== undefined){let data124 = data["pagefront:productHighlights"];if(Array.isArray(data124)){if(data124.length < 1){const err229 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}const len17 = data124.length;for(let i17=0; i17<len17; i17++){if(typeof data124[i17] !== "string"){const err230 = {instancePath:instancePath+"/pagefront:productHighlights/" + i17,schemaPath:"#/properties/pagefront%3AproductHighlights/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}}}else {const err231 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}}if(data["pagefront:legalEntity"] !== undefined){let data126 = data["pagefront:legalEntity"];if(Array.isArray(data126)){if(data126.length < 1){const err232 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/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 len18 = data126.length;for(let i18=0; i18<len18; i18++){let data127 = data126[i18];if(data127 && typeof data127 == "object" && !Array.isArray(data127)){if(data127["@type"] === undefined){const err233 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}if(data127.role === undefined){const err234 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}if(data127.organization === undefined){const err235 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}for(const key2 in data127){if(!(((key2 === "@type") || (key2 === "role")) || (key2 === "organization"))){const err236 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}}if(data127["@type"] !== undefined){if("pagefront:LegalEntity" !== data127["@type"]){const err237 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/@type",schemaPath:"#/$defs/legalEntity/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:LegalEntity"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}if(data127.role !== undefined){let data129 = data127.role;if(typeof data129 !== "string"){const err238 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}if(!(((((data129 === "brand_owner") || (data129 === "licensee")) || (data129 === "authorized_representative")) || (data129 === "importer")) || (data129 === "manufacturer"))){const err239 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/enum",keyword:"enum",params:{allowedValues: schema64.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}}if(data127.organization !== undefined){let data130 = data127.organization;const _errs337 = errors;let valid88 = false;const _errs338 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130.name === undefined){const err240 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}}var _valid17 = _errs338 === errors;valid88 = valid88 || _valid17;const _errs339 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@id"] === undefined){const err241 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}var _valid17 = _errs339 === errors;valid88 = valid88 || _valid17;if(!valid88){const err242 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}else {errors = _errs337;if(vErrors !== null){if(_errs337){vErrors.length = _errs337;}else {vErrors = null;}}}if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@type"] === undefined){const err243 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}if(data130["@type"] !== undefined){if("Organization" !== data130["@type"]){const err244 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@type",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40type/const",keyword:"const",params:{allowedValue: "Organization"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err244];}else {vErrors.push(err244);}errors++;}}if(data130["@id"] !== undefined){let data132 = data130["@id"];if(typeof data132 === "string"){if(!(formats0(data132))){const err245 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}}else {const err246 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}}if(data130.name !== undefined){let data133 = data130.name;if(typeof data133 === "string"){if(func1(data133) < 1){const err247 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}}else {const err248 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}}if(data130.address !== undefined){let data134 = data130.address;if(!(data134 && typeof data134 == "object" && !Array.isArray(data134))){const err249 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/address",schemaPath:"#/$defs/legalEntity/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}}if(data130.url !== undefined){let data135 = data130.url;if(typeof data135 === "string"){if(!(formats0(data135))){const err250 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}}else {const err251 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}}if(data130.email !== undefined){let data136 = data130.email;if(typeof data136 === "string"){if(!(formats50.test(data136))){const err252 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err252];}else {vErrors.push(err252);}errors++;}}else {const err253 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}}if(data130["pagefront:sheetUrl"] !== undefined){let data137 = data130["pagefront:sheetUrl"];if(typeof data137 === "string"){if(!(formats0(data137))){const err254 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}}else {const err255 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/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+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}}}else {const err257 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}}else {const err258 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}}if(data["pagefront:safetyWarning"] !== undefined){let data138 = data["pagefront:safetyWarning"];if(Array.isArray(data138)){if(data138.length < 1){const err259 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}const len19 = data138.length;for(let i19=0; i19<len19; i19++){let data139 = data138[i19];if(data139 && typeof data139 == "object" && !Array.isArray(data139)){if(data139["@type"] === undefined){const err260 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}if(data139.text === undefined){const err261 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}for(const key3 in data139){if(!((((key3 === "@type") || (key3 === "text")) || (key3 === "pictogram")) || (key3 === "hazardCategory"))){const err262 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}}if(data139["@type"] !== undefined){if("pagefront:SafetyWarning" !== data139["@type"]){const err263 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/@type",schemaPath:"#/$defs/safetyWarning/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyWarning"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}}if(data139.text !== undefined){let data141 = data139.text;if(typeof data141 === "string"){if(func1(data141) < 1){const err264 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}}else {const err265 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err265];}else {vErrors.push(err265);}errors++;}}if(data139.pictogram !== undefined){let data142 = data139.pictogram;if(typeof data142 === "string"){if(!(formats0(data142))){const err266 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err266];}else {vErrors.push(err266);}errors++;}}else {const err267 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err267];}else {vErrors.push(err267);}errors++;}}if(data139.hazardCategory !== undefined){if(typeof data139.hazardCategory !== "string"){const err268 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/hazardCategory",schemaPath:"#/$defs/safetyWarning/properties/hazardCategory/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err268];}else {vErrors.push(err268);}errors++;}}}else {const err269 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err269];}else {vErrors.push(err269);}errors++;}}}else {const err270 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err270];}else {vErrors.push(err270);}errors++;}}if(data["pagefront:safetyNotice"] !== undefined){let data144 = data["pagefront:safetyNotice"];if(Array.isArray(data144)){if(data144.length < 1){const err271 = {instancePath:instancePath+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err271];}else {vErrors.push(err271);}errors++;}const len20 = data144.length;for(let i20=0; i20<len20; i20++){let data145 = data144[i20];if(data145 && typeof data145 == "object" && !Array.isArray(data145)){if(data145["@type"] === undefined){const err272 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err272];}else {vErrors.push(err272);}errors++;}if(data145.noticeType === undefined){const err273 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "noticeType"},message:"must have required property '"+"noticeType"+"'"};if(vErrors === null){vErrors = [err273];}else {vErrors.push(err273);}errors++;}for(const key4 in data145){if(!((((((((key4 === "@type") || (key4 === "noticeType")) || (key4 === "hazard")) || (key4 === "remedy")) || (key4 === "description")) || (key4 === "reference")) || (key4 === "datePublished")) || (key4 === "url"))){const err274 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err274];}else {vErrors.push(err274);}errors++;}}if(data145["@type"] !== undefined){if("pagefront:SafetyNotice" !== data145["@type"]){const err275 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/@type",schemaPath:"#/$defs/safetyNotice/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyNotice"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err275];}else {vErrors.push(err275);}errors++;}}if(data145.noticeType !== undefined){let data147 = data145.noticeType;if(typeof data147 !== "string"){const err276 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err276];}else {vErrors.push(err276);}errors++;}if(!((data147 === "recall") || (data147 === "warning"))){const err277 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/enum",keyword:"enum",params:{allowedValues: schema66.properties.noticeType.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err277];}else {vErrors.push(err277);}errors++;}}if(data145.hazard !== undefined){if(typeof data145.hazard !== "string"){const err278 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/hazard",schemaPath:"#/$defs/safetyNotice/properties/hazard/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err278];}else {vErrors.push(err278);}errors++;}}if(data145.remedy !== undefined){let data149 = data145.remedy;if(typeof data149 !== "string"){const err279 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err279];}else {vErrors.push(err279);}errors++;}if(!(((data149 === "repair") || (data149 === "replacement")) || (data149 === "refund"))){const err280 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/enum",keyword:"enum",params:{allowedValues: schema66.properties.remedy.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err280];}else {vErrors.push(err280);}errors++;}}if(data145.description !== undefined){if(typeof data145.description !== "string"){const err281 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/description",schemaPath:"#/$defs/safetyNotice/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err281];}else {vErrors.push(err281);}errors++;}}if(data145.reference !== undefined){let data151 = data145.reference;if(typeof data151 === "string"){if(!(formats0(data151))){const err282 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err282];}else {vErrors.push(err282);}errors++;}}else {const err283 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err283];}else {vErrors.push(err283);}errors++;}}if(data145.datePublished !== undefined){let data152 = data145.datePublished;if(typeof data152 === "string"){if(!(formats42.validate(data152))){const err284 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err284];}else {vErrors.push(err284);}errors++;}}else {const err285 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err285];}else {vErrors.push(err285);}errors++;}}if(data145.url !== undefined){let data153 = data145.url;if(typeof data153 === "string"){if(!(formats0(data153))){const err286 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err286];}else {vErrors.push(err286);}errors++;}}else {const err287 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/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+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/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+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err289];}else {vErrors.push(err289);}errors++;}}if(data["pagefront:sizeChart"] !== undefined){if(!(validate35(data["pagefront:sizeChart"], {instancePath:instancePath+"/pagefront:sizeChart",parentData:data,parentDataProperty:"pagefront:sizeChart",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate35.errors : vErrors.concat(validate35.errors);errors = vErrors.length;}}if(data["pagefront:sizeRecommendation"] !== undefined){if(!(validate37(data["pagefront:sizeRecommendation"], {instancePath:instancePath+"/pagefront:sizeRecommendation",parentData:data,parentDataProperty:"pagefront:sizeRecommendation",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate37.errors : vErrors.concat(validate37.errors);errors = vErrors.length;}}if(data["pagefront:materialComposition"] !== undefined){let data156 = data["pagefront:materialComposition"];if(Array.isArray(data156)){const len21 = data156.length;for(let i21=0; i21<len21; i21++){let data157 = data156[i21];if(data157 && typeof data157 == "object" && !Array.isArray(data157)){if(data157["@type"] === undefined){const err290 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err290];}else {vErrors.push(err290);}errors++;}if(data157.material === undefined){const err291 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err291];}else {vErrors.push(err291);}errors++;}for(const key5 in data157){if(!(((((((key5 === "@type") || (key5 === "material")) || (key5 === "percentage")) || (key5 === "purity")) || (key5 === "purityPercentage")) || (key5 === "provenance")) || (key5 === "weightGrams"))){const err292 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err292];}else {vErrors.push(err292);}errors++;}}if(data157["@type"] !== undefined){if("pagefront:Material" !== data157["@type"]){const err293 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err293];}else {vErrors.push(err293);}errors++;}}if(data157.material !== undefined){if(typeof data157.material !== "string"){const err294 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err294];}else {vErrors.push(err294);}errors++;}}if(data157.percentage !== undefined){let data160 = data157.percentage;if((typeof data160 == "number") && (isFinite(data160))){if(data160 > 100 || isNaN(data160)){const err295 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err295];}else {vErrors.push(err295);}errors++;}if(data160 < 0 || isNaN(data160)){const err296 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err296];}else {vErrors.push(err296);}errors++;}}else {const err297 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err297];}else {vErrors.push(err297);}errors++;}}if(data157.purity !== undefined){if(typeof data157.purity !== "string"){const err298 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err298];}else {vErrors.push(err298);}errors++;}}if(data157.purityPercentage !== undefined){let data162 = data157.purityPercentage;if((typeof data162 == "number") && (isFinite(data162))){if(data162 > 100 || isNaN(data162)){const err299 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err299];}else {vErrors.push(err299);}errors++;}if(data162 < 0 || isNaN(data162)){const err300 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err300];}else {vErrors.push(err300);}errors++;}}else {const err301 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err301];}else {vErrors.push(err301);}errors++;}}if(data157.provenance !== undefined){let data163 = data157.provenance;if(typeof data163 !== "string"){const err302 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err302];}else {vErrors.push(err302);}errors++;}if(!((((((data163 === "virgin") || (data163 === "recycled")) || (data163 === "fair_mined")) || (data163 === "lab_grown")) || (data163 === "reclaimed")) || (data163 === "deadstock"))){const err303 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema72.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err303];}else {vErrors.push(err303);}errors++;}}if(data157.weightGrams !== undefined){let data164 = data157.weightGrams;if((typeof data164 == "number") && (isFinite(data164))){if(data164 < 0 || isNaN(data164)){const err304 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err304];}else {vErrors.push(err304);}errors++;}}else {const err305 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err305];}else {vErrors.push(err305);}errors++;}}}else {const err306 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err306];}else {vErrors.push(err306);}errors++;}}}else {const err307 = {instancePath:instancePath+"/pagefront:materialComposition",schemaPath:"#/properties/pagefront%3AmaterialComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err307];}else {vErrors.push(err307);}errors++;}}if(data["pagefront:fabricComposition"] !== undefined){let data165 = data["pagefront:fabricComposition"];if(Array.isArray(data165)){const len22 = data165.length;for(let i22=0; i22<len22; i22++){let data166 = data165[i22];if(data166 && typeof data166 == "object" && !Array.isArray(data166)){if(data166["@type"] === undefined){const err308 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err308];}else {vErrors.push(err308);}errors++;}if(data166.material === undefined){const err309 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err309];}else {vErrors.push(err309);}errors++;}for(const key6 in data166){if(!(((((((key6 === "@type") || (key6 === "material")) || (key6 === "percentage")) || (key6 === "purity")) || (key6 === "purityPercentage")) || (key6 === "provenance")) || (key6 === "weightGrams"))){const err310 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err310];}else {vErrors.push(err310);}errors++;}}if(data166["@type"] !== undefined){if("pagefront:Material" !== data166["@type"]){const err311 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err311];}else {vErrors.push(err311);}errors++;}}if(data166.material !== undefined){if(typeof data166.material !== "string"){const err312 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err312];}else {vErrors.push(err312);}errors++;}}if(data166.percentage !== undefined){let data169 = data166.percentage;if((typeof data169 == "number") && (isFinite(data169))){if(data169 > 100 || isNaN(data169)){const err313 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err313];}else {vErrors.push(err313);}errors++;}if(data169 < 0 || isNaN(data169)){const err314 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err314];}else {vErrors.push(err314);}errors++;}}else {const err315 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err315];}else {vErrors.push(err315);}errors++;}}if(data166.purity !== undefined){if(typeof data166.purity !== "string"){const err316 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err316];}else {vErrors.push(err316);}errors++;}}if(data166.purityPercentage !== undefined){let data171 = data166.purityPercentage;if((typeof data171 == "number") && (isFinite(data171))){if(data171 > 100 || isNaN(data171)){const err317 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err317];}else {vErrors.push(err317);}errors++;}if(data171 < 0 || isNaN(data171)){const err318 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err318];}else {vErrors.push(err318);}errors++;}}else {const err319 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err319];}else {vErrors.push(err319);}errors++;}}if(data166.provenance !== undefined){let data172 = data166.provenance;if(typeof data172 !== "string"){const err320 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err320];}else {vErrors.push(err320);}errors++;}if(!((((((data172 === "virgin") || (data172 === "recycled")) || (data172 === "fair_mined")) || (data172 === "lab_grown")) || (data172 === "reclaimed")) || (data172 === "deadstock"))){const err321 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema72.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err321];}else {vErrors.push(err321);}errors++;}}if(data166.weightGrams !== undefined){let data173 = data166.weightGrams;if((typeof data173 == "number") && (isFinite(data173))){if(data173 < 0 || isNaN(data173)){const err322 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err322];}else {vErrors.push(err322);}errors++;}}else {const err323 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err323];}else {vErrors.push(err323);}errors++;}}}else {const err324 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err324];}else {vErrors.push(err324);}errors++;}}}else {const err325 = {instancePath:instancePath+"/pagefront:fabricComposition",schemaPath:"#/properties/pagefront%3AfabricComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err325];}else {vErrors.push(err325);}errors++;}}if(data["pagefront:construction"] !== undefined){let data174 = data["pagefront:construction"];if(data174 && typeof data174 == "object" && !Array.isArray(data174)){if(data174["@type"] === undefined){const err326 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err326];}else {vErrors.push(err326);}errors++;}if(data174["@type"] !== undefined){if("pagefront:Construction" !== data174["@type"]){const err327 = {instancePath:instancePath+"/pagefront:construction/@type",schemaPath:"#/$defs/construction/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Construction"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err327];}else {vErrors.push(err327);}errors++;}}if(data174.stitch !== undefined){if(typeof data174.stitch !== "string"){const err328 = {instancePath:instancePath+"/pagefront:construction/stitch",schemaPath:"#/$defs/construction/properties/stitch/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err328];}else {vErrors.push(err328);}errors++;}}if(data174.gauge !== undefined){let data177 = data174.gauge;if(!((typeof data177 == "number") && (isFinite(data177)))){const err329 = {instancePath:instancePath+"/pagefront:construction/gauge",schemaPath:"#/$defs/construction/properties/gauge/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err329];}else {vErrors.push(err329);}errors++;}}if(data174.machine !== undefined){if(typeof data174.machine !== "string"){const err330 = {instancePath:instancePath+"/pagefront:construction/machine",schemaPath:"#/$defs/construction/properties/machine/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err330];}else {vErrors.push(err330);}errors++;}}if(data174.constructionNotes !== undefined){if(typeof data174.constructionNotes !== "string"){const err331 = {instancePath:instancePath+"/pagefront:construction/constructionNotes",schemaPath:"#/$defs/construction/properties/constructionNotes/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err331];}else {vErrors.push(err331);}errors++;}}}else {const err332 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err332];}else {vErrors.push(err332);}errors++;}}if(data["pagefront:manufacturingChain"] !== undefined){let data180 = data["pagefront:manufacturingChain"];if(Array.isArray(data180)){const len23 = data180.length;for(let i23=0; i23<len23; i23++){let data181 = data180[i23];if(data181 && typeof data181 == "object" && !Array.isArray(data181)){if(data181["@type"] === undefined){const err333 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err333];}else {vErrors.push(err333);}errors++;}if(data181.stage === undefined){const err334 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "stage"},message:"must have required property '"+"stage"+"'"};if(vErrors === null){vErrors = [err334];}else {vErrors.push(err334);}errors++;}if(data181.country === undefined){const err335 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "country"},message:"must have required property '"+"country"+"'"};if(vErrors === null){vErrors = [err335];}else {vErrors.push(err335);}errors++;}for(const key7 in data181){if(!(((((key7 === "@type") || (key7 === "stage")) || (key7 === "country")) || (key7 === "facility")) || (key7 === "facilityCountry"))){const err336 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err336];}else {vErrors.push(err336);}errors++;}}if(data181["@type"] !== undefined){if("pagefront:ManufacturingStage" !== data181["@type"]){const err337 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/@type",schemaPath:"#/$defs/manufacturingStage/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ManufacturingStage"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err337];}else {vErrors.push(err337);}errors++;}}if(data181.stage !== undefined){if(typeof data181.stage !== "string"){const err338 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/stage",schemaPath:"#/$defs/manufacturingStage/properties/stage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err338];}else {vErrors.push(err338);}errors++;}}if(data181.country !== undefined){let data184 = data181.country;if(typeof data184 === "string"){if(!pattern11.test(data184)){const err339 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err339];}else {vErrors.push(err339);}errors++;}}else {const err340 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err340];}else {vErrors.push(err340);}errors++;}}if(data181.facility !== undefined){if(typeof data181.facility !== "string"){const err341 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facility",schemaPath:"#/$defs/manufacturingStage/properties/facility/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err341];}else {vErrors.push(err341);}errors++;}}if(data181.facilityCountry !== undefined){let data186 = data181.facilityCountry;if(typeof data186 === "string"){if(!pattern11.test(data186)){const err342 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err342];}else {vErrors.push(err342);}errors++;}}else {const err343 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err343];}else {vErrors.push(err343);}errors++;}}}else {const err344 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err344];}else {vErrors.push(err344);}errors++;}}}else {const err345 = {instancePath:instancePath+"/pagefront:manufacturingChain",schemaPath:"#/properties/pagefront%3AmanufacturingChain/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err345];}else {vErrors.push(err345);}errors++;}}if(data["pagefront:gemstone"] !== undefined){let data187 = data["pagefront:gemstone"];if(data187 && typeof data187 == "object" && !Array.isArray(data187)){if(data187["@type"] === undefined){const err346 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err346];}else {vErrors.push(err346);}errors++;}if(data187.type === undefined){const err347 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err347];}else {vErrors.push(err347);}errors++;}for(const key8 in data187){if(!(func8.call(schema76.properties, key8))){const err348 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err348];}else {vErrors.push(err348);}errors++;}}if(data187["@type"] !== undefined){if("pagefront:Gemstone" !== data187["@type"]){const err349 = {instancePath:instancePath+"/pagefront:gemstone/@type",schemaPath:"#/$defs/gemstone/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Gemstone"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err349];}else {vErrors.push(err349);}errors++;}}if(data187.type !== undefined){if(typeof data187.type !== "string"){const err350 = {instancePath:instancePath+"/pagefront:gemstone/type",schemaPath:"#/$defs/gemstone/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err350];}else {vErrors.push(err350);}errors++;}}if(data187.origin !== undefined){let data190 = data187.origin;if(typeof data190 !== "string"){const err351 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err351];}else {vErrors.push(err351);}errors++;}if(!((((data190 === "natural_mined") || (data190 === "lab_grown")) || (data190 === "treated")) || (data190 === "synthetic"))){const err352 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/enum",keyword:"enum",params:{allowedValues: schema76.properties.origin.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err352];}else {vErrors.push(err352);}errors++;}}if(data187.shape !== undefined){if(typeof data187.shape !== "string"){const err353 = {instancePath:instancePath+"/pagefront:gemstone/shape",schemaPath:"#/$defs/gemstone/properties/shape/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err353];}else {vErrors.push(err353);}errors++;}}if(data187.caratWeight !== undefined){let data192 = data187.caratWeight;if((typeof data192 == "number") && (isFinite(data192))){if(data192 < 0 || isNaN(data192)){const err354 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err354];}else {vErrors.push(err354);}errors++;}}else {const err355 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err355];}else {vErrors.push(err355);}errors++;}}if(data187.colorGrade !== undefined){if(typeof data187.colorGrade !== "string"){const err356 = {instancePath:instancePath+"/pagefront:gemstone/colorGrade",schemaPath:"#/$defs/gemstone/properties/colorGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err356];}else {vErrors.push(err356);}errors++;}}if(data187.clarityGrade !== undefined){if(typeof data187.clarityGrade !== "string"){const err357 = {instancePath:instancePath+"/pagefront:gemstone/clarityGrade",schemaPath:"#/$defs/gemstone/properties/clarityGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err357];}else {vErrors.push(err357);}errors++;}}if(data187.cutGrade !== undefined){if(typeof data187.cutGrade !== "string"){const err358 = {instancePath:instancePath+"/pagefront:gemstone/cutGrade",schemaPath:"#/$defs/gemstone/properties/cutGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err358];}else {vErrors.push(err358);}errors++;}}if(data187.certifyingBody !== undefined){if(typeof data187.certifyingBody !== "string"){const err359 = {instancePath:instancePath+"/pagefront:gemstone/certifyingBody",schemaPath:"#/$defs/gemstone/properties/certifyingBody/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err359];}else {vErrors.push(err359);}errors++;}}}else {const err360 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err360];}else {vErrors.push(err360);}errors++;}}if(data["pagefront:configurator"] !== undefined){if(!(validate39(data["pagefront:configurator"], {instancePath:instancePath+"/pagefront:configurator",parentData:data,parentDataProperty:"pagefront:configurator",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate39.errors : vErrors.concat(validate39.errors);errors = vErrors.length;}}if(data["pagefront:madeToOrderTerms"] !== undefined){if(!(validate41(data["pagefront:madeToOrderTerms"], {instancePath:instancePath+"/pagefront:madeToOrderTerms",parentData:data,parentDataProperty:"pagefront:madeToOrderTerms",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate41.errors : vErrors.concat(validate41.errors);errors = vErrors.length;}}if(data["pagefront:manufacturerWarranty"] !== undefined){let data199 = data["pagefront:manufacturerWarranty"];if(!(data199 && typeof data199 == "object" && !Array.isArray(data199))){const err361 = {instancePath:instancePath+"/pagefront:manufacturerWarranty",schemaPath:"#/properties/pagefront%3AmanufacturerWarranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err361];}else {vErrors.push(err361);}errors++;}}if(data["pagefront:careInstructions"] !== undefined){let data200 = data["pagefront:careInstructions"];if(Array.isArray(data200)){const len24 = data200.length;for(let i24=0; i24<len24; i24++){if(typeof data200[i24] !== "string"){const err362 = {instancePath:instancePath+"/pagefront:careInstructions/" + i24,schemaPath:"#/properties/pagefront%3AcareInstructions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err362];}else {vErrors.push(err362);}errors++;}}}else {const err363 = {instancePath:instancePath+"/pagefront:careInstructions",schemaPath:"#/properties/pagefront%3AcareInstructions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err363];}else {vErrors.push(err363);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data202 = data["pagefront:availableLanguages"];if(Array.isArray(data202)){const len25 = data202.length;for(let i25=0; i25<len25; i25++){let data203 = data202[i25];if(data203 && typeof data203 == "object" && !Array.isArray(data203)){if(data203.lang === undefined){const err364 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err364];}else {vErrors.push(err364);}errors++;}if(data203.url === undefined){const err365 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err365];}else {vErrors.push(err365);}errors++;}for(const key9 in data203){if(!((key9 === "lang") || (key9 === "url"))){const err366 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err366];}else {vErrors.push(err366);}errors++;}}if(data203.lang !== undefined){if(typeof data203.lang !== "string"){const err367 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err367];}else {vErrors.push(err367);}errors++;}}if(data203.url !== undefined){let data205 = data203.url;if(typeof data205 === "string"){if(!(formats0(data205))){const err368 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err368];}else {vErrors.push(err368);}errors++;}}else {const err369 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err369];}else {vErrors.push(err369);}errors++;}}}else {const err370 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err370];}else {vErrors.push(err370);}errors++;}}}else {const err371 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err371];}else {vErrors.push(err371);}errors++;}}}else {const err372 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err372];}else {vErrors.push(err372);}errors++;}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/product/v0.9.0.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.release === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "release"},message:"must have required property '"+"release"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "release")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.release !== undefined){let data1 = data.release;if(typeof data1 === "string"){if(!pattern4.test(data1)){const err9 = {instancePath:instancePath+"/release",schemaPath:"#/properties/release/pattern",keyword:"pattern",params:{pattern: "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"},message:"must match pattern \""+"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"+"\""};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {instancePath:instancePath+"/release",schemaPath:"#/properties/release/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern5.test(data2)){const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}else {const err20 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.data !== undefined){if(!(validate21(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}}}else {const err21 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};export const validateOrganization = validate44;const schema83 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/organization/v0.3.0.json","title":"Pagefront Commerce Organization Sheet 0.3.0","description":"Sheet spec version 0.3.0, a member of commerce release 0.3.0: the envelope carries release in place of format_version, and $schema names this sheet-spec version; a sheet carrying format_version belongs to the legacy draft line and validates against the legacy schema at .../organization/v0.9.json, which is otherwise identical. Formal schema for the Pagefront Commerce Organization Sheet — the sheet describing the entity behind products (brand owner, manufacturer, seller), introduced with commerce format 0.9 alongside the reference-capable legalEntity and the seller-sheet return/shipping model. The data block roots on Schema.org Organization (recognized subtypes permitted; @type is not constrained to a single value). pagefront:commerceRole is the required role discriminator, an array of one or more values from the closed enum brand_owner / manufacturer / seller. pagefront:fulfillmentTerms carries the store-wide shipping defaults as an array of Schema.org-native OfferShippingDetails objects; only the attachment shell is validated, the payload is Schema.org content. pagefront:socialAccount carries the organization's official social accounts (platform / url / handle; publisher-stated only), distinct from sameAs, which carries identity authority records only. pagefront:authorizedResellers carries the brand's authorization claim over its distribution — a pagefront:AuthorizedResellers object with an optional exhaustive flag and a reseller array whose entries name an Organization either as a reference stub (@id) or inline (name plus url and/or address), with optional Schema.org-native areaServed; valid only where commerceRole includes brand_owner (linter ORG-W-006). There is no GTIN-equivalent identifier requirement: identity is @id + name. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["release","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"release":{"type":"string","pattern":"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true}}};const schema84 = {"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true};const schema85 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate45(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate45.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data["@id"] === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.name === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.inLanguage === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data["pagefront:commerceRole"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "pagefront:commerceRole"},message:"must have required property '"+"pagefront:commerceRole"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@context"] !== undefined){let data0 = data["@context"];const _errs3 = errors;let valid1 = false;let passing0 = null;const _errs4 = errors;if("https://schema.org" !== data0){const err6 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs4 === errors;if(_valid0){valid1 = true;passing0 = 0;}const _errs5 = errors;if(Array.isArray(data0)){if(data0.length < 1){const err7 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/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 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs8 = errors;let valid4 = false;let passing1 = null;const _errs9 = errors;if(typeof data1 === "string"){if(!(formats0(data1))){const err8 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid1 = _errs9 === errors;if(_valid1){valid4 = true;passing1 = 0;}const _errs11 = errors;if(!(data1 && typeof data1 == "object" && !Array.isArray(data1))){const err10 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs11 === errors;if(_valid1 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid1){valid4 = true;passing1 = 1;}}if(!valid4){const err11 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}}}else {const err12 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs5 === errors;if(_valid0 && valid1){valid1 = false;passing0 = [passing0, 1];}else {if(_valid0){valid1 = true;passing0 = 1;}}if(!valid1){const err13 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err14 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data["@id"] !== undefined){let data3 = data["@id"];if(typeof data3 === "string"){if(!(formats0(data3))){const err15 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.name !== undefined){let data4 = data.name;if(typeof data4 === "string"){if(func1(data4) < 1){const err17 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.legalName !== undefined){if(typeof data.legalName !== "string"){const err19 = {instancePath:instancePath+"/legalName",schemaPath:"#/properties/legalName/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err20 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.url !== undefined){let data7 = data.url;if(typeof data7 === "string"){if(!(formats0(data7))){const err21 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err23 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.slogan !== undefined){if(typeof data.slogan !== "string"){const err24 = {instancePath:instancePath+"/slogan",schemaPath:"#/properties/slogan/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.logo !== undefined){let data10 = data.logo;const _errs30 = errors;let valid5 = false;let passing2 = null;const _errs31 = errors;if(typeof data10 === "string"){if(!(formats0(data10))){const err25 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid2 = _errs31 === errors;if(_valid2){valid5 = true;passing2 = 0;}const _errs33 = errors;if(!(data10 && typeof data10 == "object" && !Array.isArray(data10))){const err27 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid2 = _errs33 === errors;if(_valid2 && valid5){valid5 = false;passing2 = [passing2, 1];}else {if(_valid2){valid5 = true;passing2 = 1;}}if(!valid5){const err28 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}}if(data.iso6523Code !== undefined){if(typeof data.iso6523Code !== "string"){const err29 = {instancePath:instancePath+"/iso6523Code",schemaPath:"#/properties/iso6523Code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.identifier !== undefined){let data12 = data.identifier;const _errs38 = errors;let valid6 = false;let passing3 = null;const _errs39 = errors;if(typeof data12 !== "string"){const err30 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid3 = _errs39 === errors;if(_valid3){valid6 = true;passing3 = 0;}const _errs41 = errors;if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err31 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}var _valid3 = _errs41 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 1];}else {if(_valid3){valid6 = true;passing3 = 1;}const _errs43 = errors;if(Array.isArray(data12)){const len1 = data12.length;for(let i1=0; i1<len1; i1++){let data13 = data12[i1];const _errs46 = errors;let valid9 = false;let passing4 = null;const _errs47 = errors;if(typeof data13 !== "string"){const err32 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}var _valid4 = _errs47 === errors;if(_valid4){valid9 = true;passing4 = 0;}const _errs49 = errors;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err33 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var _valid4 = _errs49 === errors;if(_valid4 && valid9){valid9 = false;passing4 = [passing4, 1];}else {if(_valid4){valid9 = true;passing4 = 1;}}if(!valid9){const err34 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {errors = _errs46;if(vErrors !== null){if(_errs46){vErrors.length = _errs46;}else {vErrors = null;}}}}}else {const err35 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}var _valid3 = _errs43 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 2];}else {if(_valid3){valid6 = true;passing3 = 2;}}}if(!valid6){const err36 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.sameAs !== undefined){let data14 = data.sameAs;const _errs52 = errors;let valid10 = false;let passing5 = null;const _errs53 = errors;if(typeof data14 === "string"){if(!(formats0(data14))){const err37 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}else {const err38 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid5 = _errs53 === errors;if(_valid5){valid10 = true;passing5 = 0;}const _errs55 = errors;if(Array.isArray(data14)){const len2 = data14.length;for(let i2=0; i2<len2; i2++){let data15 = data14[i2];if(typeof data15 === "string"){if(!(formats0(data15))){const err39 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}else {const err40 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/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+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid5 = _errs55 === errors;if(_valid5 && valid10){valid10 = false;passing5 = [passing5, 1];}else {if(_valid5){valid10 = true;passing5 = 1;}}if(!valid10){const err42 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}}}if(data.email !== undefined){let data16 = data.email;if(typeof data16 === "string"){if(!(formats50.test(data16))){const err43 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}else {const err44 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data.address !== undefined){let data17 = data.address;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){const err45 = {instancePath:instancePath+"/address",schemaPath:"#/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.contactPoint !== undefined){let data18 = data.contactPoint;const _errs64 = errors;let valid13 = false;let passing6 = null;const _errs65 = errors;if(!(data18 && typeof data18 == "object" && !Array.isArray(data18))){const err46 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}var _valid6 = _errs65 === errors;if(_valid6){valid13 = true;passing6 = 0;}const _errs67 = errors;if(Array.isArray(data18)){const len3 = data18.length;for(let i3=0; i3<len3; i3++){let data19 = data18[i3];if(!(data19 && typeof data19 == "object" && !Array.isArray(data19))){const err47 = {instancePath:instancePath+"/contactPoint/" + i3,schemaPath:"#/properties/contactPoint/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}}else {const err48 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}var _valid6 = _errs67 === errors;if(_valid6 && valid13){valid13 = false;passing6 = [passing6, 1];}else {if(_valid6){valid13 = true;passing6 = 1;}}if(!valid13){const err49 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {errors = _errs64;if(vErrors !== null){if(_errs64){vErrors.length = _errs64;}else {vErrors = null;}}}}if(data.foundingDate !== undefined){if(typeof data.foundingDate !== "string"){const err50 = {instancePath:instancePath+"/foundingDate",schemaPath:"#/properties/foundingDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.numberOfEmployees !== undefined){let data21 = data.numberOfEmployees;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err51 = {instancePath:instancePath+"/numberOfEmployees",schemaPath:"#/properties/numberOfEmployees/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data.parentOrganization !== undefined){let data22 = data.parentOrganization;if(!(data22 && typeof data22 == "object" && !Array.isArray(data22))){const err52 = {instancePath:instancePath+"/parentOrganization",schemaPath:"#/properties/parentOrganization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data.subOrganization !== undefined){let data23 = data.subOrganization;const _errs78 = errors;let valid16 = false;let passing7 = null;const _errs79 = errors;if(!(data23 && typeof data23 == "object" && !Array.isArray(data23))){const err53 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}var _valid7 = _errs79 === errors;if(_valid7){valid16 = true;passing7 = 0;}const _errs81 = errors;if(Array.isArray(data23)){const len4 = data23.length;for(let i4=0; i4<len4; i4++){let data24 = data23[i4];if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){const err54 = {instancePath:instancePath+"/subOrganization/" + i4,schemaPath:"#/properties/subOrganization/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}else {const err55 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid7 = _errs81 === errors;if(_valid7 && valid16){valid16 = false;passing7 = [passing7, 1];}else {if(_valid7){valid16 = true;passing7 = 1;}}if(!valid16){const err56 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}else {errors = _errs78;if(vErrors !== null){if(_errs78){vErrors.length = _errs78;}else {vErrors = null;}}}}if(data.location !== undefined){let data25 = data.location;const _errs86 = errors;let valid19 = false;let passing8 = null;const _errs87 = errors;if(!(data25 && typeof data25 == "object" && !Array.isArray(data25))){const err57 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}var _valid8 = _errs87 === errors;if(_valid8){valid19 = true;passing8 = 0;}const _errs89 = errors;if(Array.isArray(data25)){const len5 = data25.length;for(let i5=0; i5<len5; i5++){let data26 = data25[i5];if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err58 = {instancePath:instancePath+"/location/" + i5,schemaPath:"#/properties/location/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}}else {const err59 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}var _valid8 = _errs89 === errors;if(_valid8 && valid19){valid19 = false;passing8 = [passing8, 1];}else {if(_valid8){valid19 = true;passing8 = 1;}}if(!valid19){const err60 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}else {errors = _errs86;if(vErrors !== null){if(_errs86){vErrors.length = _errs86;}else {vErrors = null;}}}}if(data.brand !== undefined){let data27 = data.brand;if(!(data27 && typeof data27 == "object" && !Array.isArray(data27))){const err61 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data.aggregateRating !== undefined){let data28 = data.aggregateRating;if(!(data28 && typeof data28 == "object" && !Array.isArray(data28))){const err62 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}}if(data.hasCertification !== undefined){let data29 = data.hasCertification;if(Array.isArray(data29)){const len6 = data29.length;for(let i6=0; i6<len6; i6++){let data30 = data29[i6];if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30["@type"] === undefined){const err63 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}if(data30.name === undefined){const err64 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}if(data30["@type"] !== undefined){if("Certification" !== data30["@type"]){const err65 = {instancePath:instancePath+"/hasCertification/" + i6+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data30.name !== undefined){if(typeof data30.name !== "string"){const err66 = {instancePath:instancePath+"/hasCertification/" + i6+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}if(data30.issuedBy !== undefined){let data33 = data30.issuedBy;if(!(data33 && typeof data33 == "object" && !Array.isArray(data33))){const err67 = {instancePath:instancePath+"/hasCertification/" + i6+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data30.about !== undefined){if(typeof data30.about !== "string"){const err68 = {instancePath:instancePath+"/hasCertification/" + i6+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data30.additionalProperty !== undefined){if(!(Array.isArray(data30.additionalProperty))){const err69 = {instancePath:instancePath+"/hasCertification/" + i6+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}else {const err71 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data.hasMerchantReturnPolicy !== undefined){let data36 = data.hasMerchantReturnPolicy;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err72 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}if(data.paymentAccepted !== undefined){let data37 = data.paymentAccepted;const _errs115 = errors;let valid26 = false;let passing9 = null;const _errs116 = errors;if(typeof data37 !== "string"){const err73 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}var _valid9 = _errs116 === errors;if(_valid9){valid26 = true;passing9 = 0;}const _errs118 = errors;if(Array.isArray(data37)){const len7 = data37.length;for(let i7=0; i7<len7; i7++){if(typeof data37[i7] !== "string"){const err74 = {instancePath:instancePath+"/paymentAccepted/" + i7,schemaPath:"#/properties/paymentAccepted/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}}else {const err75 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs118 === errors;if(_valid9 && valid26){valid26 = false;passing9 = [passing9, 1];}else {if(_valid9){valid26 = true;passing9 = 1;}}if(!valid26){const err76 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {errors = _errs115;if(vErrors !== null){if(_errs115){vErrors.length = _errs115;}else {vErrors = null;}}}}if(data["pagefront:commerceRole"] !== undefined){let data39 = data["pagefront:commerceRole"];if(Array.isArray(data39)){if(data39.length < 1){const err77 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}const len8 = data39.length;for(let i8=0; i8<len8; i8++){let data40 = data39[i8];if(typeof data40 !== "string"){const err78 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}if(!(((data40 === "brand_owner") || (data40 === "manufacturer")) || (data40 === "seller"))){const err79 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/enum",keyword:"enum",params:{allowedValues: schema84.properties["pagefront:commerceRole"].items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}else {const err80 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}if(data["pagefront:fulfillmentTerms"] !== undefined){let data41 = data["pagefront:fulfillmentTerms"];if(Array.isArray(data41)){const len9 = data41.length;for(let i9=0; i9<len9; i9++){let data42 = data41[i9];if(data42 && typeof data42 == "object" && !Array.isArray(data42)){if(data42["@type"] === undefined){const err81 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}if(data42["@type"] !== undefined){if("OfferShippingDetails" !== data42["@type"]){const err82 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9+"/@type",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/properties/%40type/const",keyword:"const",params:{allowedValue: "OfferShippingDetails"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}}else {const err83 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}}else {const err84 = {instancePath:instancePath+"/pagefront:fulfillmentTerms",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data["pagefront:socialAccount"] !== undefined){let data44 = data["pagefront:socialAccount"];if(Array.isArray(data44)){const len10 = data44.length;for(let i10=0; i10<len10; i10++){let data45 = data44[i10];if(data45 && typeof data45 == "object" && !Array.isArray(data45)){if(data45.platform === undefined){const err85 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "platform"},message:"must have required property '"+"platform"+"'"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}if(data45.url === undefined){const err86 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}if(data45["@type"] !== undefined){if("pagefront:SocialAccount" !== data45["@type"]){const err87 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/@type",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SocialAccount"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data45.platform !== undefined){let data47 = data45.platform;if(typeof data47 === "string"){if(func1(data47) < 1){const err88 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}else {const err89 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}if(data45.url !== undefined){let data48 = data45.url;if(typeof data48 === "string"){if(!(formats0(data48))){const err90 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}else {const err91 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}}if(data45.handle !== undefined){let data49 = data45.handle;if(typeof data49 === "string"){if(func1(data49) < 1){const err92 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}else {const err93 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}}else {const err94 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}else {const err95 = {instancePath:instancePath+"/pagefront:socialAccount",schemaPath:"#/properties/pagefront%3AsocialAccount/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data["pagefront:authorizedResellers"] !== undefined){let data50 = data["pagefront:authorizedResellers"];if(data50 && typeof data50 == "object" && !Array.isArray(data50)){if(data50.reseller === undefined){const err96 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/required",keyword:"required",params:{missingProperty: "reseller"},message:"must have required property '"+"reseller"+"'"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}for(const key0 in data50){if(!(((key0 === "@type") || (key0 === "exhaustive")) || (key0 === "reseller"))){const err97 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}if(data50["@type"] !== undefined){if("pagefront:AuthorizedResellers" !== data50["@type"]){const err98 = {instancePath:instancePath+"/pagefront:authorizedResellers/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AuthorizedResellers"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}if(data50.exhaustive !== undefined){if(typeof data50.exhaustive !== "boolean"){const err99 = {instancePath:instancePath+"/pagefront:authorizedResellers/exhaustive",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/exhaustive/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}if(data50.reseller !== undefined){let data53 = data50.reseller;if(Array.isArray(data53)){if(data53.length < 1){const err100 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const len11 = data53.length;for(let i11=0; i11<len11; i11++){let data54 = data53[i11];if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.organization === undefined){const err101 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}for(const key1 in data54){if(!((key1 === "organization") || (key1 === "areaServed"))){const err102 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data54.organization !== undefined){let data55 = data54.organization;const _errs157 = errors;let valid41 = false;const _errs158 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@id"] === undefined){const err103 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}var _valid10 = _errs158 === errors;valid41 = valid41 || _valid10;const _errs159 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err104 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(data55.url === undefined){const err105 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}var _valid10 = _errs159 === errors;valid41 = valid41 || _valid10;const _errs160 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err106 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}if(data55.address === undefined){const err107 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "address"},message:"must have required property '"+"address"+"'"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}var _valid10 = _errs160 === errors;valid41 = valid41 || _valid10;if(!valid41){const err108 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}else {errors = _errs157;if(vErrors !== null){if(_errs157){vErrors.length = _errs157;}else {vErrors = null;}}}if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@type"] !== undefined){if(typeof data55["@type"] !== "string"){const err109 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}if(data55["@id"] !== undefined){let data57 = data55["@id"];if(typeof data57 === "string"){if(!(formats0(data57))){const err110 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}else {const err111 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}if(data55.name !== undefined){let data58 = data55.name;if(typeof data58 === "string"){if(func1(data58) < 1){const err112 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}else {const err113 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data55.url !== undefined){let data59 = data55.url;if(typeof data59 === "string"){if(!(formats0(data59))){const err114 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data55.address !== undefined){let data60 = data55.address;if(!(data60 && typeof data60 == "object" && !Array.isArray(data60))){const err116 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/address",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}}else {const err117 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data54.areaServed !== undefined){let data61 = data54.areaServed;const _errs173 = errors;let valid43 = false;let passing10 = null;const _errs174 = errors;if(!(data61 && typeof data61 == "object" && !Array.isArray(data61))){const err118 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}var _valid11 = _errs174 === errors;if(_valid11){valid43 = true;passing10 = 0;}const _errs176 = errors;if(Array.isArray(data61)){if(data61.length < 1){const err119 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}const len12 = data61.length;for(let i12=0; i12<len12; i12++){let data62 = data61[i12];if(!(data62 && typeof data62 == "object" && !Array.isArray(data62))){const err120 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed/" + i12,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}}else {const err121 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}var _valid11 = _errs176 === errors;if(_valid11 && valid43){valid43 = false;passing10 = [passing10, 1];}else {if(_valid11){valid43 = true;passing10 = 1;}}if(!valid43){const err122 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {errors = _errs173;if(vErrors !== null){if(_errs173){vErrors.length = _errs173;}else {vErrors = null;}}}}}else {const err123 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}else {const err124 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}}else {const err125 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data63 = data["pagefront:availableLanguages"];if(Array.isArray(data63)){const len13 = data63.length;for(let i13=0; i13<len13; i13++){let data64 = data63[i13];if(data64 && typeof data64 == "object" && !Array.isArray(data64)){if(data64.lang === undefined){const err126 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(data64.url === undefined){const err127 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}for(const key2 in data64){if(!((key2 === "lang") || (key2 === "url"))){const err128 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data64.lang !== undefined){if(typeof data64.lang !== "string"){const err129 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}if(data64.url !== undefined){let data66 = data64.url;if(typeof data66 === "string"){if(!(formats0(data66))){const err130 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}else {const err131 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}else {const err132 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}}else {const err133 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}}else {const err134 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}validate45.errors = vErrors;return errors === 0;}validate45.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate44(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/organization/v0.3.0.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate44.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.release === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "release"},message:"must have required property '"+"release"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "release")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.release !== undefined){let data1 = data.release;if(typeof data1 === "string"){if(!pattern4.test(data1)){const err9 = {instancePath:instancePath+"/release",schemaPath:"#/properties/release/pattern",keyword:"pattern",params:{pattern: "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"},message:"must match pattern \""+"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"+"\""};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {instancePath:instancePath+"/release",schemaPath:"#/properties/release/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern5.test(data2)){const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}else {const err20 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.data !== undefined){if(!(validate45(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors);errors = vErrors.length;}}}else {const err21 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}validate44.errors = vErrors;return errors === 0;}validate44.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};export const validateLegacyProduct = validate47;const schema86 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json","title":"Pagefront Product Sheet v0.9","description":"Formal schema for the Pagefront product sheet. Revision of 2026-10-01 (breaking, within v0.9): configurator pricing moves from pagefront:configurator to the offer. The configurator loses basePrice, basePriceCurrency and priceFormula, its options lose priceModifier and currency, and it gains an optional @id and an exclusions[] array; configurator dimensions gain affectsPrice, inputType (select or text, for free-text dimensions) and maxLength; Offer and AggregateOffer accept pagefront:configuratorPricing, which names the configurator it prices and carries baseConfiguration, basePrice, modifiers, optional adjustments[] and a pricing completeness flag; every amount field (Offer price, AggregateOffer lowPrice and highPrice, variant price hints, promotion discountAmount, and the pricing block's basePrice, modifiers and adjustment amounts) references a shared definition, a JSON number or a plain decimal string: nonNegativeAmount for prices, bounds, base prices, price hints and discount amounts, and the signed amount for modifiers and adjustment amounts. v0.9 sheets that carried prices inside the configurator no longer validate. v0.9 was otherwise an additive release on top of v0.8: the legalEntity entry's organization now also validates in reference-stub form (@type + @id, no name) so entries can reference a Commerce Organization Sheet; the inline form and all other constraints are unchanged, and v0.8 sheets remain valid once their format_version is updated. v0.8 is an additive release on top of v0.7: it adds a pagefront:featureGroup[] array for grouped, ordered technical specifications (groups of Schema.org PropertyValue entries, with an optional pagefront:presentationValue display variant per entry), a pagefront:productHighlights[] array of ordered publisher-authored selling-point strings, and a pagefront:legalEntity[] array for role-typed legal entities behind a product (closed role enum: brand_owner, licensee, authorized_representative, importer, manufacturer — EU GPSR responsible persons and similar). gtin and gtin13 now accept a string or an array of strings (regional packaging, re-releases); category now accepts the display string, a Schema.org CategoryCode object, or a mixed array of both. The pagefront:Document role enum gains repairability_index, recall_notice, and declaration_of_conformity; the pagefront:RelatedProduct relationship enum gains service. v0.8 also adds two GPSR-driven safety fields: a pagefront:safetyWarning[] array for typed, language-scoped safety warnings (text required; optional pictogram URL and open-vocabulary hazardCategory) and a pagefront:safetyNotice[] array for structured recall/safety notices (closed noticeType enum: recall, warning; closed remedy enum: repair, replacement, refund). v0.7 sheets remain valid under v0.8 once their format_version is updated. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true},"amount":{"description":"A currency amount: a JSON number, or a decimal string with a dot as decimal point, no thousands separators and no currency symbol. A Sheet uses one of the two carriers for all its amounts.","oneOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"}]},"nonNegativeAmount":{"description":"An amount that is zero or positive: the same two carriers as amount, with no leading minus. Used for prices, price bounds, base prices, price hints and discount amounts; only modifiers and adjustment amounts are signed.","oneOf":[{"type":"number","minimum":0},{"type":"string","pattern":"^\\d+(\\.\\d+)?$"}]},"variantEntry":{"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"imageObject":{"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true},"videoObject":{"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true},"questionObject":{"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true},"documentObject":{"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false},"relatedProductObject":{"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false},"gtinValue":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]},"gtin13Value":{"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]},"categoryCode":{"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true},"featureGroup":{"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false},"featureEntry":{"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true},"legalEntity":{"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false},"safetyWarning":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false},"safetyNotice":{"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"offer":{"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true},"aggregateOffer":{"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"$ref":"#/$defs/nonNegativeAmount"},"highPrice":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true},"priceOnRequest":{"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"sizeChart":{"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false},"measurement":{"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false},"modelReference":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false},"sizeRecommendation":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false},"sizeAdjustment":{"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false},"material":{"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false},"construction":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true},"manufacturingStage":{"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false},"gemstone":{"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false},"configurator":{"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false},"configuratorDimension":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"inputType":{"type":"string","enum":["select","text"],"default":"select"},"maxLength":{"type":"integer","minimum":1},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"configurationSelection":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"configuratorPricing":{"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"$ref":"#/$defs/nonNegativeAmount"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/$defs/amount"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"$ref":"#/$defs/amount"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false},"madeToOrderTerms":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false},"duration":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false},"deliveryEstimate":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false},"aftermarketService":{"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"promotion":{"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"$ref":"#/$defs/nonNegativeAmount"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false}}};const schema87 = {"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true};const schema88 = {"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]};const schema89 = {"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]};const schema94 = {"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true};const schema96 = {"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true};const schema97 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true};const schema98 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};const schema114 = {"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true};const schema115 = {"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false};const schema116 = {"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false};const schema119 = {"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false};const schema120 = {"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false};const schema121 = {"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false};const schema127 = {"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false};const schema129 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true};const schema130 = {"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false};const schema131 = {"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false};const schema90 = {"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true};const schema93 = {"description":"An amount that is zero or positive: the same two carriers as amount, with no leading minus. Used for prices, price bounds, base prices, price hints and discount amounts; only modifiers and adjustment amounts are signed.","oneOf":[{"type":"number","minimum":0},{"type":"string","pattern":"^\\d+(\\.\\d+)?$"}]};function validate49(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate49.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err1 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(!(formats0(data1))){const err2 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}else {const err3 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.url !== undefined){let data2 = data.url;if(typeof data2 === "string"){if(!(formats0(data2))){const err4 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.sheet_url !== undefined){let data3 = data.sheet_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err6 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.name !== undefined){if(typeof data.name !== "string"){const err8 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err9 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.gtin13 !== undefined){let data6 = data.gtin13;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(typeof data6 === "string"){if(!pattern6.test(data6)){const err10 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs17 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data6)){if(data6.length < 1){const err12 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}const len0 = data6.length;for(let i0=0; i0<len0; i0++){let data7 = data6[i0];if(typeof data7 === "string"){if(!pattern6.test(data7)){const err13 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err16 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data8 = data.gtin;const _errs25 = errors;let valid6 = false;let passing1 = null;const _errs26 = errors;if(typeof data8 !== "string"){const err17 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid1 = _errs26 === errors;if(_valid1){valid6 = true;passing1 = 0;}const _errs28 = errors;if(Array.isArray(data8)){if(data8.length < 1){const err18 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}const len1 = data8.length;for(let i1=0; i1<len1; i1++){if(typeof data8[i1] !== "string"){const err19 = {instancePath:instancePath+"/gtin/" + i1,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid1 = _errs28 === errors;if(_valid1 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid1){valid6 = true;passing1 = 1;}}if(!valid6){const err21 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs25;if(vErrors !== null){if(_errs25){vErrors.length = _errs25;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err22 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err23 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.color !== undefined){if(typeof data.color !== "string"){const err24 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.size !== undefined){if(typeof data.size !== "string"){const err25 = {instancePath:instancePath+"/size",schemaPath:"#/properties/size/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err26 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.price !== undefined){let data15 = data.price;const _errs44 = errors;let valid10 = false;let passing2 = null;const _errs45 = errors;if((typeof data15 == "number") && (isFinite(data15))){if(data15 < 0 || isNaN(data15)){const err27 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}else {const err28 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid2 = _errs45 === errors;if(_valid2){valid10 = true;passing2 = 0;}const _errs47 = errors;if(typeof data15 === "string"){if(!pattern5.test(data15)){const err29 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}else {const err30 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid2 = _errs47 === errors;if(_valid2 && valid10){valid10 = false;passing2 = [passing2, 1];}else {if(_valid2){valid10 = true;passing2 = 1;}}if(!valid10){const err31 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}else {errors = _errs44;if(vErrors !== null){if(_errs44){vErrors.length = _errs44;}else {vErrors = null;}}}}if(data.image !== undefined){let data16 = data.image;if(typeof data16 === "string"){if(!(formats0(data16))){const err32 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}else {const err33 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err34 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}}else {const err35 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}validate49.errors = vErrors;return errors === 0;}validate49.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema99 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true};const schema101 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false};const schema104 = {"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};const schema102 = {"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"$ref":"#/$defs/nonNegativeAmount"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false};function validate52(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate52.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.scope === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "scope"},message:"must have required property '"+"scope"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((((((((key0 === "@type") || (key0 === "code")) || (key0 === "discountPercentage")) || (key0 === "discountAmount")) || (key0 === "discountCurrency")) || (key0 === "scope")) || (key0 === "occasion")) || (key0 === "validUntil"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data["@type"] !== undefined){if("pagefront:Promotion" !== data["@type"]){const err3 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Promotion"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.code !== undefined){if(typeof data.code !== "string"){const err4 = {instancePath:instancePath+"/code",schemaPath:"#/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.discountPercentage !== undefined){let data2 = data.discountPercentage;if((typeof data2 == "number") && (isFinite(data2))){if(data2 > 100 || isNaN(data2)){const err5 = {instancePath:instancePath+"/discountPercentage",schemaPath:"#/properties/discountPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data2 < 0 || isNaN(data2)){const err6 = {instancePath:instancePath+"/discountPercentage",schemaPath:"#/properties/discountPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/discountPercentage",schemaPath:"#/properties/discountPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.discountAmount !== undefined){let data3 = data.discountAmount;const _errs9 = errors;let valid2 = false;let passing0 = null;const _errs10 = errors;if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err8 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid0 = _errs10 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs12 = errors;if(typeof data3 === "string"){if(!pattern5.test(data3)){const err10 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs12 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err12 = {instancePath:instancePath+"/discountAmount",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}else {errors = _errs9;if(vErrors !== null){if(_errs9){vErrors.length = _errs9;}else {vErrors = null;}}}}if(data.discountCurrency !== undefined){let data4 = data.discountCurrency;if(typeof data4 === "string"){if(!pattern14.test(data4)){const err13 = {instancePath:instancePath+"/discountCurrency",schemaPath:"#/properties/discountCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/discountCurrency",schemaPath:"#/properties/discountCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.scope !== undefined){let data5 = data.scope;if(typeof data5 !== "string"){const err15 = {instancePath:instancePath+"/scope",schemaPath:"#/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(!(((data5 === "product") || (data5 === "category")) || (data5 === "site_wide"))){const err16 = {instancePath:instancePath+"/scope",schemaPath:"#/properties/scope/enum",keyword:"enum",params:{allowedValues: schema102.properties.scope.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.occasion !== undefined){if(typeof data.occasion !== "string"){const err17 = {instancePath:instancePath+"/occasion",schemaPath:"#/properties/occasion/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.validUntil !== undefined){let data7 = data.validUntil;if(typeof data7 === "string"){if(!(formats6.validate(data7))){const err18 = {instancePath:instancePath+"/validUntil",schemaPath:"#/properties/validUntil/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/validUntil",schemaPath:"#/properties/validUntil/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate52.errors = vErrors;return errors === 0;}validate52.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema105 = {"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"$ref":"#/$defs/nonNegativeAmount"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/$defs/amount"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"$ref":"#/$defs/amount"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false};const schema106 = {"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}};const schema108 = {"description":"A currency amount: a JSON number, or a decimal string with a dot as decimal point, no thousands separators and no currency symbol. A Sheet uses one of the two carriers for all its amounts.","oneOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"}]};function validate54(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate54.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.configurator === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "configurator"},message:"must have required property '"+"configurator"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.baseConfiguration === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "baseConfiguration"},message:"must have required property '"+"baseConfiguration"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.basePrice === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "basePrice"},message:"must have required property '"+"basePrice"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.modifiers === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "modifiers"},message:"must have required property '"+"modifiers"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(((((((key0 === "@type") || (key0 === "configurator")) || (key0 === "baseConfiguration")) || (key0 === "basePrice")) || (key0 === "modifiers")) || (key0 === "adjustments")) || (key0 === "pricing"))){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["@type"] !== undefined){if("pagefront:ConfiguratorPricing" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ConfiguratorPricing"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.configurator !== undefined){let data1 = data.configurator;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@id"] === undefined){const err7 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data1){if(!((key1 === "@type") || (key1 === "@id"))){const err8 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Configurator" !== data1["@type"]){const err9 = {instancePath:instancePath+"/configurator/@type",schemaPath:"#/properties/configurator/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data1["@id"] !== undefined){let data3 = data1["@id"];if(typeof data3 === "string"){if(func1(data3) < 1){const err10 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.baseConfiguration !== undefined){let data4 = data.baseConfiguration;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){for(const key2 in data4){let data5 = data4[key2];const _errs14 = errors;let valid4 = false;const _errs15 = errors;if(typeof data5 !== "string"){const err13 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs15 === errors;valid4 = valid4 || _valid0;const _errs17 = errors;if(!((typeof data5 == "number") && (isFinite(data5)))){const err14 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid0 = _errs17 === errors;valid4 = valid4 || _valid0;const _errs19 = errors;if(typeof data5 !== "boolean"){const err15 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;valid4 = valid4 || _valid0;if(!valid4){const err16 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}}else {const err17 = {instancePath:instancePath+"/baseConfiguration",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.basePrice !== undefined){let data6 = data.basePrice;const _errs23 = errors;let valid6 = false;let passing0 = null;const _errs24 = errors;if((typeof data6 == "number") && (isFinite(data6))){if(data6 < 0 || isNaN(data6)){const err18 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid1 = _errs24 === errors;if(_valid1){valid6 = true;passing0 = 0;}const _errs26 = errors;if(typeof data6 === "string"){if(!pattern5.test(data6)){const err20 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}var _valid1 = _errs26 === errors;if(_valid1 && valid6){valid6 = false;passing0 = [passing0, 1];}else {if(_valid1){valid6 = true;passing0 = 1;}}if(!valid6){const err22 = {instancePath:instancePath+"/basePrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}else {errors = _errs23;if(vErrors !== null){if(_errs23){vErrors.length = _errs23;}else {vErrors = null;}}}}if(data.modifiers !== undefined){let data7 = data.modifiers;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){for(const key3 in data7){let data8 = data7[key3];if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key4 in data8){let data9 = data8[key4];const _errs36 = errors;let valid10 = false;let passing1 = null;const _errs37 = errors;if(!((typeof data9 == "number") && (isFinite(data9)))){const err23 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var _valid2 = _errs37 === errors;if(_valid2){valid10 = true;passing1 = 0;}const _errs39 = errors;if(typeof data9 === "string"){if(!pattern20.test(data9)){const err24 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^-?\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^-?\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}else {const err25 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid2 = _errs39 === errors;if(_valid2 && valid10){valid10 = false;passing1 = [passing1, 1];}else {if(_valid2){valid10 = true;passing1 = 1;}}if(!valid10){const err26 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/amount/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs36;if(vErrors !== null){if(_errs36){vErrors.length = _errs36;}else {vErrors = null;}}}}}else {const err27 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}else {const err28 = {instancePath:instancePath+"/modifiers",schemaPath:"#/properties/modifiers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.adjustments !== undefined){let data10 = data.adjustments;if(Array.isArray(data10)){const len0 = data10.length;for(let i0=0; i0<len0; i0++){let data11 = data10[i0];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11.when === undefined){const err29 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "when"},message:"must have required property '"+"when"+"'"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(data11.priceModifier === undefined){const err30 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "priceModifier"},message:"must have required property '"+"priceModifier"+"'"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}for(const key5 in data11){if(!((key5 === "when") || (key5 === "priceModifier"))){const err31 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data11.when !== undefined){let data12 = data11.when;if(data12 && typeof data12 == "object" && !Array.isArray(data12)){for(const key6 in data12){let data13 = data12[key6];const _errs51 = errors;let valid16 = false;const _errs52 = errors;if(typeof data13 !== "string"){const err32 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}var _valid3 = _errs52 === errors;valid16 = valid16 || _valid3;const _errs54 = errors;if(!((typeof data13 == "number") && (isFinite(data13)))){const err33 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var _valid3 = _errs54 === errors;valid16 = valid16 || _valid3;const _errs56 = errors;if(typeof data13 !== "boolean"){const err34 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var _valid3 = _errs56 === errors;valid16 = valid16 || _valid3;if(!valid16){const err35 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}else {errors = _errs51;if(vErrors !== null){if(_errs51){vErrors.length = _errs51;}else {vErrors = null;}}}}}else {const err36 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}if(data12 && typeof data12 == "object" && !Array.isArray(data12)){if(Object.keys(data12).length < 1){const err37 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}else {const err38 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}if(data11.priceModifier !== undefined){let data14 = data11.priceModifier;const _errs61 = errors;let valid18 = false;let passing2 = null;const _errs62 = errors;if(!((typeof data14 == "number") && (isFinite(data14)))){const err39 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}var _valid4 = _errs62 === errors;if(_valid4){valid18 = true;passing2 = 0;}const _errs64 = errors;if(typeof data14 === "string"){if(!pattern20.test(data14)){const err40 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^-?\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^-?\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}else {const err41 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid4 = _errs64 === errors;if(_valid4 && valid18){valid18 = false;passing2 = [passing2, 1];}else {if(_valid4){valid18 = true;passing2 = 1;}}if(!valid18){const err42 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/$defs/amount/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs61;if(vErrors !== null){if(_errs61){vErrors.length = _errs61;}else {vErrors = null;}}}}}else {const err43 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}}else {const err44 = {instancePath:instancePath+"/adjustments",schemaPath:"#/properties/adjustments/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data.pricing !== undefined){let data15 = data.pricing;if(typeof data15 !== "string"){const err45 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(!((data15 === "complete") || (data15 === "partial"))){const err46 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/enum",keyword:"enum",params:{allowedValues: schema105.properties.pricing.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}}else {const err47 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}validate54.errors = vErrors;return errors === 0;}validate54.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate51(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate51.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = false;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.price === undefined){const err0 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "price"},message:"must have required property '"+"price"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.priceCurrency === undefined){const err1 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid0 = _errs2 === errors;valid0 = valid0 || _valid0;const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.priceSpecification === undefined){const err2 = {instancePath,schemaPath:"#/anyOf/1/required",keyword:"required",params:{missingProperty: "priceSpecification"},message:"must have required property '"+"priceSpecification"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs3 === errors;valid0 = valid0 || _valid0;const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data["pagefront:priceOnRequest"] === undefined){const err3 = {instancePath,schemaPath:"#/anyOf/2/required",keyword:"required",params:{missingProperty: "pagefront:priceOnRequest"},message:"must have required property '"+"pagefront:priceOnRequest"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(!valid0){const err4 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@type"] !== undefined){if("Offer" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "Offer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err7 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.itemOffered !== undefined){let data2 = data.itemOffered;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err8 = {instancePath:instancePath+"/itemOffered",schemaPath:"#/properties/itemOffered/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.price !== undefined){let data3 = data.price;const _errs13 = errors;let valid3 = false;let passing0 = null;const _errs14 = errors;if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err9 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs14 === errors;if(_valid1){valid3 = true;passing0 = 0;}const _errs16 = errors;if(typeof data3 === "string"){if(!pattern5.test(data3)){const err11 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid1 = _errs16 === errors;if(_valid1 && valid3){valid3 = false;passing0 = [passing0, 1];}else {if(_valid1){valid3 = true;passing0 = 1;}}if(!valid3){const err13 = {instancePath:instancePath+"/price",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs13;if(vErrors !== null){if(_errs13){vErrors.length = _errs13;}else {vErrors = null;}}}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern14.test(data4)){const err14 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.priceSpecification !== undefined){let data5 = data.priceSpecification;const _errs21 = errors;let valid4 = false;let passing1 = null;const _errs22 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){const err16 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid2 = _errs22 === errors;if(_valid2){valid4 = true;passing1 = 0;}const _errs24 = errors;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(!(data6 && typeof data6 == "object" && !Array.isArray(data6))){const err17 = {instancePath:instancePath+"/priceSpecification/" + i0,schemaPath:"#/properties/priceSpecification/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid2 = _errs24 === errors;if(_valid2 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid2){valid4 = true;passing1 = 1;}}if(!valid4){const err19 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {errors = _errs21;if(vErrors !== null){if(_errs21){vErrors.length = _errs21;}else {vErrors = null;}}}}if(data.availability !== undefined){let data7 = data.availability;if(typeof data7 === "string"){if(!pattern15.test(data7)){const err20 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data.itemCondition !== undefined){let data8 = data.itemCondition;if(typeof data8 === "string"){if(!pattern16.test(data8)){const err22 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}else {const err23 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.seller !== undefined){let data9 = data.seller;if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9["pagefront:sheetUrl"] !== undefined){let data10 = data9["pagefront:sheetUrl"];if(typeof data10 === "string"){if(!(formats0(data10))){const err24 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}else {const err25 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}}else {const err26 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.shippingDetails !== undefined){let data11 = data.shippingDetails;const _errs37 = errors;let valid8 = false;let passing2 = null;const _errs38 = errors;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err27 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid3 = _errs38 === errors;if(_valid3){valid8 = true;passing2 = 0;}const _errs40 = errors;if(Array.isArray(data11)){const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err28 = {instancePath:instancePath+"/shippingDetails/" + i1,schemaPath:"#/properties/shippingDetails/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}var _valid3 = _errs40 === errors;if(_valid3 && valid8){valid8 = false;passing2 = [passing2, 1];}else {if(_valid3){valid8 = true;passing2 = 1;}}if(!valid8){const err30 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {errors = _errs37;if(vErrors !== null){if(_errs37){vErrors.length = _errs37;}else {vErrors = null;}}}}if(data.hasMerchantReturnPolicy !== undefined){let data13 = data.hasMerchantReturnPolicy;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err31 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data.warranty !== undefined){let data14 = data.warranty;if(!(data14 && typeof data14 == "object" && !Array.isArray(data14))){const err32 = {instancePath:instancePath+"/warranty",schemaPath:"#/properties/warranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err33 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data.acceptedPaymentMethod !== undefined){if(!(Array.isArray(data.acceptedPaymentMethod))){const err34 = {instancePath:instancePath+"/acceptedPaymentMethod",schemaPath:"#/properties/acceptedPaymentMethod/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}if(data["pagefront:estimatedDelivery"] !== undefined){let data17 = data["pagefront:estimatedDelivery"];if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17["@type"] === undefined){const err35 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}for(const key0 in data17){if(!((((key0 === "@type") || (key0 === "earliest")) || (key0 === "latest")) || (key0 === "description"))){const err36 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}if(data17["@type"] !== undefined){if("pagefront:DeliveryEstimate" !== data17["@type"]){const err37 = {instancePath:instancePath+"/pagefront:estimatedDelivery/@type",schemaPath:"#/$defs/deliveryEstimate/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:DeliveryEstimate"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data17.earliest !== undefined){let data19 = data17.earliest;if(typeof data19 === "string"){if(!(formats42.validate(data19))){const err38 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}else {const err39 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data17.latest !== undefined){let data20 = data17.latest;if(typeof data20 === "string"){if(!(formats42.validate(data20))){const err40 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}else {const err41 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}}if(data17.description !== undefined){if(typeof data17.description !== "string"){const err42 = {instancePath:instancePath+"/pagefront:estimatedDelivery/description",schemaPath:"#/$defs/deliveryEstimate/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}else {const err43 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}if(data["pagefront:promotions"] !== undefined){let data22 = data["pagefront:promotions"];if(Array.isArray(data22)){const len2 = data22.length;for(let i2=0; i2<len2; i2++){if(!(validate52(data22[i2], {instancePath:instancePath+"/pagefront:promotions/" + i2,parentData:data22,parentDataProperty:i2,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate52.errors : vErrors.concat(validate52.errors);errors = vErrors.length;}}}else {const err44 = {instancePath:instancePath+"/pagefront:promotions",schemaPath:"#/properties/pagefront%3Apromotions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data["pagefront:priceOnRequest"] !== undefined){let data24 = data["pagefront:priceOnRequest"];if(data24 && typeof data24 == "object" && !Array.isArray(data24)){if(data24["@type"] === undefined){const err45 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(data24.method === undefined){const err46 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "method"},message:"must have required property '"+"method"+"'"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}for(const key1 in data24){if(!((((((key1 === "@type") || (key1 === "method")) || (key1 === "contactUrl")) || (key1 === "contactEmail")) || (key1 === "contactPhone")) || (key1 === "note"))){const err47 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data24["@type"] !== undefined){if("pagefront:PriceOnRequest" !== data24["@type"]){const err48 = {instancePath:instancePath+"/pagefront:priceOnRequest/@type",schemaPath:"#/$defs/priceOnRequest/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:PriceOnRequest"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data24.method !== undefined){let data26 = data24.method;if(typeof data26 !== "string"){const err49 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}if(!((((((data26 === "authorized_retailer") || (data26 === "dealer_network")) || (data26 === "quote_form")) || (data26 === "email")) || (data26 === "phone")) || (data26 === "unspecified"))){const err50 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/enum",keyword:"enum",params:{allowedValues: schema104.properties.method.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data24.contactUrl !== undefined){let data27 = data24.contactUrl;if(typeof data27 === "string"){if(!(formats0(data27))){const err51 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data24.contactEmail !== undefined){let data28 = data24.contactEmail;if(typeof data28 === "string"){if(!(formats50.test(data28))){const err53 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}else {const err54 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data24.contactPhone !== undefined){if(typeof data24.contactPhone !== "string"){const err55 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactPhone",schemaPath:"#/$defs/priceOnRequest/properties/contactPhone/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}if(data24.note !== undefined){if(typeof data24.note !== "string"){const err56 = {instancePath:instancePath+"/pagefront:priceOnRequest/note",schemaPath:"#/$defs/priceOnRequest/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}}else {const err57 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate54(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate54.errors : vErrors.concat(validate54.errors);errors = vErrors.length;}}if(data["pagefront:configuratorPricing"] !== undefined){if(data.price === undefined){const err58 = {instancePath,schemaPath:"#/dependentRequired",keyword:"dependentRequired",params:{property: "pagefront:configuratorPricing",
|
|
13
|
+
missingProperty: "price",
|
|
14
|
+
depsCount: 2,
|
|
15
|
+
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data.priceCurrency === undefined){const err59 = {instancePath,schemaPath:"#/dependentRequired",keyword:"dependentRequired",params:{property: "pagefront:configuratorPricing",
|
|
16
|
+
missingProperty: "priceCurrency",
|
|
17
|
+
depsCount: 2,
|
|
18
|
+
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}}else {const err60 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}validate51.errors = vErrors;return errors === 0;}validate51.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema111 = {"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"$ref":"#/$defs/nonNegativeAmount"},"highPrice":{"$ref":"#/$defs/nonNegativeAmount"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true};function validate57(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate57.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.lowPrice === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "lowPrice"},message:"must have required property '"+"lowPrice"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.highPrice === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "highPrice"},message:"must have required property '"+"highPrice"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.priceCurrency === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data["@type"] !== undefined){if("AggregateOffer" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "AggregateOffer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.lowPrice !== undefined){let data2 = data.lowPrice;const _errs7 = errors;let valid2 = false;let passing0 = null;const _errs8 = errors;if((typeof data2 == "number") && (isFinite(data2))){if(data2 < 0 || isNaN(data2)){const err6 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}var _valid0 = _errs8 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs10 = errors;if(typeof data2 === "string"){if(!pattern5.test(data2)){const err8 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid0 = _errs10 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err10 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}else {errors = _errs7;if(vErrors !== null){if(_errs7){vErrors.length = _errs7;}else {vErrors = null;}}}}if(data.highPrice !== undefined){let data3 = data.highPrice;const _errs14 = errors;let valid4 = false;let passing1 = null;const _errs15 = errors;if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err11 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid1 = _errs15 === errors;if(_valid1){valid4 = true;passing1 = 0;}const _errs17 = errors;if(typeof data3 === "string"){if(!pattern5.test(data3)){const err13 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid1 = _errs17 === errors;if(_valid1 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid1){valid4 = true;passing1 = 1;}}if(!valid4){const err15 = {instancePath:instancePath+"/highPrice",schemaPath:"#/$defs/nonNegativeAmount/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern14.test(data4)){const err16 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.offerCount !== undefined){let data5 = data.offerCount;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err18 = {instancePath:instancePath+"/offerCount",schemaPath:"#/properties/offerCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.availability !== undefined){let data6 = data.availability;if(typeof data6 === "string"){if(!pattern15.test(data6)){const err19 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}else {const err20 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.itemCondition !== undefined){let data7 = data.itemCondition;if(typeof data7 === "string"){if(!pattern16.test(data7)){const err21 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err23 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.validFrom !== undefined){if(typeof data.validFrom !== "string"){const err24 = {instancePath:instancePath+"/validFrom",schemaPath:"#/properties/validFrom/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.validThrough !== undefined){if(typeof data.validThrough !== "string"){const err25 = {instancePath:instancePath+"/validThrough",schemaPath:"#/properties/validThrough/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.seller !== undefined){let data11 = data.seller;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err26 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate54(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate54.errors : vErrors.concat(validate54.errors);errors = vErrors.length;}}}else {const err27 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}validate57.errors = vErrors;return errors === 0;}validate57.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema117 = {"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false};const schema118 = {"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true};function validate60(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate60.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.name === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.feature === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "feature"},message:"must have required property '"+"feature"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "name")) || (key0 === "sortOrder")) || (key0 === "feature"))){const err3 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@type"] !== undefined){if("pagefront:FeatureGroup" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:FeatureGroup"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.name !== undefined){let data1 = data.name;if(typeof data1 === "string"){if(func1(data1) < 1){const err5 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sortOrder !== undefined){let data2 = data.sortOrder;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err7 = {instancePath:instancePath+"/sortOrder",schemaPath:"#/properties/sortOrder/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.feature !== undefined){let data3 = data.feature;if(Array.isArray(data3)){if(data3.length < 1){const err8 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4["@type"] === undefined){const err9 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data4.name === undefined){const err10 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data4.value === undefined){const err11 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data4["@type"] !== undefined){if("PropertyValue" !== data4["@type"]){const err12 = {instancePath:instancePath+"/feature/" + i0+"/@type",schemaPath:"#/$defs/featureEntry/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data4.propertyID !== undefined){if(typeof data4.propertyID !== "string"){const err13 = {instancePath:instancePath+"/feature/" + i0+"/propertyID",schemaPath:"#/$defs/featureEntry/properties/propertyID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data4.name !== undefined){let data7 = data4.name;if(typeof data7 === "string"){if(func1(data7) < 1){const err14 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data4.value !== undefined){let data8 = data4.value;const _errs19 = errors;let valid5 = false;const _errs20 = errors;if(typeof data8 !== "string"){const err16 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid0 = _errs20 === errors;valid5 = valid5 || _valid0;const _errs22 = errors;if(!((typeof data8 == "number") && (isFinite(data8)))){const err17 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid0 = _errs22 === errors;valid5 = valid5 || _valid0;const _errs24 = errors;if(typeof data8 !== "boolean"){const err18 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid0 = _errs24 === errors;valid5 = valid5 || _valid0;if(!valid5){const err19 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data4.unitCode !== undefined){if(typeof data4.unitCode !== "string"){const err20 = {instancePath:instancePath+"/feature/" + i0+"/unitCode",schemaPath:"#/$defs/featureEntry/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data4.description !== undefined){if(typeof data4.description !== "string"){const err21 = {instancePath:instancePath+"/feature/" + i0+"/description",schemaPath:"#/$defs/featureEntry/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data4["pagefront:presentationValue"] !== undefined){if(typeof data4["pagefront:presentationValue"] !== "string"){const err22 = {instancePath:instancePath+"/feature/" + i0+"/pagefront:presentationValue",schemaPath:"#/$defs/featureEntry/properties/pagefront%3ApresentationValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}validate60.errors = vErrors;return errors === 0;}validate60.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema122 = {"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false};const schema123 = {"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false};const schema124 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false};function validate62(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate62.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.unitCode === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "unitCode"},message:"must have required property '"+"unitCode"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.sizes === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sizes"},message:"must have required property '"+"sizes"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.measurements === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "measurements"},message:"must have required property '"+"measurements"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "unitCode")) || (key0 === "sizes")) || (key0 === "measurements")) || (key0 === "modelReferences"))){const err4 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeChart" !== data["@type"]){const err5 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeChart"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.unitCode !== undefined){if(typeof data.unitCode !== "string"){const err6 = {instancePath:instancePath+"/unitCode",schemaPath:"#/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sizes !== undefined){let data2 = data.sizes;if(Array.isArray(data2)){if(data2.length < 1){const err7 = {instancePath:instancePath+"/sizes",schemaPath:"#/properties/sizes/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 = data2.length;for(let i0=0; i0<len0; i0++){if(typeof data2[i0] !== "string"){const err8 = {instancePath:instancePath+"/sizes/" + i0,schemaPath:"#/properties/sizes/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+"/sizes",schemaPath:"#/properties/sizes/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.measurements !== undefined){let data4 = data.measurements;if(Array.isArray(data4)){if(data4.length < 1){const err10 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}const len1 = data4.length;for(let i1=0; i1<len1; i1++){let data5 = data4[i1];if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5["@type"] === undefined){const err11 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data5.name === undefined){const err12 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data5.values === undefined){const err13 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "values"},message:"must have required property '"+"values"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key1 in data5){if(!(((key1 === "@type") || (key1 === "name")) || (key1 === "values"))){const err14 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data5["@type"] !== undefined){if("pagefront:Measurement" !== data5["@type"]){const err15 = {instancePath:instancePath+"/measurements/" + i1+"/@type",schemaPath:"#/$defs/measurement/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Measurement"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data5.name !== undefined){if(typeof data5.name !== "string"){const err16 = {instancePath:instancePath+"/measurements/" + i1+"/name",schemaPath:"#/$defs/measurement/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data5.values !== undefined){let data8 = data5.values;if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key2 in data8){let data9 = data8[key2];if(!((typeof data9 == "number") && (isFinite(data9)))){const err17 = {instancePath:instancePath+"/measurements/" + i1+"/values/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/measurement/properties/values/additionalProperties/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath:instancePath+"/measurements/" + i1+"/values",schemaPath:"#/$defs/measurement/properties/values/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.modelReferences !== undefined){let data10 = data.modelReferences;if(Array.isArray(data10)){const len2 = data10.length;for(let i2=0; i2<len2; i2++){let data11 = data10[i2];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11["@type"] === undefined){const err21 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(data11.name === undefined){const err22 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}for(const key3 in data11){if(!((((key3 === "@type") || (key3 === "name")) || (key3 === "heightCm")) || (key3 === "wearsSize"))){const err23 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data11["@type"] !== undefined){if("pagefront:ModelReference" !== data11["@type"]){const err24 = {instancePath:instancePath+"/modelReferences/" + i2+"/@type",schemaPath:"#/$defs/modelReference/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ModelReference"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data11.name !== undefined){if(typeof data11.name !== "string"){const err25 = {instancePath:instancePath+"/modelReferences/" + i2+"/name",schemaPath:"#/$defs/modelReference/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data11.heightCm !== undefined){let data14 = data11.heightCm;if((typeof data14 == "number") && (isFinite(data14))){if(data14 < 0 || isNaN(data14)){const err26 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}else {const err27 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data11.wearsSize !== undefined){if(typeof data11.wearsSize !== "string"){const err28 = {instancePath:instancePath+"/modelReferences/" + i2+"/wearsSize",schemaPath:"#/$defs/modelReference/properties/wearsSize/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}else {const err30 = {instancePath:instancePath+"/modelReferences",schemaPath:"#/properties/modelReferences/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate62.errors = vErrors;return errors === 0;}validate62.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema125 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false};const schema126 = {"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false};function validate64(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate64.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "fitProfile")) || (key0 === "sizeAdjustment")) || (key0 === "description")) || (key0 === "appliesTo"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeRecommendation" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeRecommendation"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.fitProfile !== undefined){let data1 = data.fitProfile;if(typeof data1 !== "string"){const err3 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!(((data1 === "runs_small") || (data1 === "true_to_size")) || (data1 === "runs_large"))){const err4 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/enum",keyword:"enum",params:{allowedValues: schema125.properties.fitProfile.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.sizeAdjustment !== undefined){let data2 = data.sizeAdjustment;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2["@type"] === undefined){const err5 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data2.direction === undefined){const err6 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "direction"},message:"must have required property '"+"direction"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data2.magnitude === undefined){const err7 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "magnitude"},message:"must have required property '"+"magnitude"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data2){if(!((((key1 === "@type") || (key1 === "direction")) || (key1 === "magnitude")) || (key1 === "sizeSystem"))){const err8 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data2["@type"] !== undefined){if("pagefront:SizeAdjustment" !== data2["@type"]){const err9 = {instancePath:instancePath+"/sizeAdjustment/@type",schemaPath:"#/$defs/sizeAdjustment/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeAdjustment"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data2.direction !== undefined){let data4 = data2.direction;if(typeof data4 !== "string"){const err10 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(!((data4 === "up") || (data4 === "down"))){const err11 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/enum",keyword:"enum",params:{allowedValues: schema126.properties.direction.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data2.magnitude !== undefined){let data5 = data2.magnitude;if((typeof data5 == "number") && (isFinite(data5))){if(data5 < 0 || isNaN(data5)){const err12 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data2.sizeSystem !== undefined){if(typeof data2.sizeSystem !== "string"){const err14 = {instancePath:instancePath+"/sizeAdjustment/sizeSystem",schemaPath:"#/$defs/sizeAdjustment/properties/sizeSystem/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err16 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.appliesTo !== undefined){if(typeof data.appliesTo !== "string"){const err17 = {instancePath:instancePath+"/appliesTo",schemaPath:"#/properties/appliesTo/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}validate64.errors = vErrors;return errors === 0;}validate64.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema132 = {"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false};const schema133 = {"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"inputType":{"type":"string","enum":["select","text"],"default":"select"},"maxLength":{"type":"integer","minimum":1},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};function validate66(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate66.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.dimensions === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "dimensions"},message:"must have required property '"+"dimensions"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "@id")) || (key0 === "dimensions")) || (key0 === "exclusions"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data["@type"] !== undefined){if("pagefront:Configurator" !== data["@type"]){const err3 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(func1(data1) < 1){const err4 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.dimensions !== undefined){let data2 = data.dimensions;if(Array.isArray(data2)){if(data2.length < 1){const err6 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.name === undefined){const err7 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data3){if(!(((((((key1 === "name") || (key1 === "options")) || (key1 === "affectsPrice")) || (key1 === "inputType")) || (key1 === "maxLength")) || (key1 === "system")) || (key1 === "note"))){const err8 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data3.name !== undefined){if(typeof data3.name !== "string"){const err9 = {instancePath:instancePath+"/dimensions/" + i0+"/name",schemaPath:"#/$defs/configuratorDimension/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data3.options !== undefined){let data5 = data3.options;if(Array.isArray(data5)){const len1 = data5.length;for(let i1=0; i1<len1; i1++){let data6 = data5[i1];if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.value === undefined){const err10 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data6.value !== undefined){let data7 = data6.value;const _errs19 = errors;let valid8 = false;const _errs20 = errors;if(typeof data7 !== "string"){const err11 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs20 === errors;valid8 = valid8 || _valid0;const _errs22 = errors;if(!((typeof data7 == "number") && (isFinite(data7)))){const err12 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs22 === errors;valid8 = valid8 || _valid0;const _errs24 = errors;if(typeof data7 !== "boolean"){const err13 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs24 === errors;valid8 = valid8 || _valid0;if(!valid8){const err14 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data6.description !== undefined){if(typeof data6.description !== "string"){const err15 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/description",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data6.priceModifier !== undefined){const err16 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/priceModifier",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/priceModifier/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data6.currency !== undefined){const err17 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/currency",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/currency/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/dimensions/" + i0+"/options",schemaPath:"#/$defs/configuratorDimension/properties/options/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data3.affectsPrice !== undefined){if(typeof data3.affectsPrice !== "boolean"){const err20 = {instancePath:instancePath+"/dimensions/" + i0+"/affectsPrice",schemaPath:"#/$defs/configuratorDimension/properties/affectsPrice/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data3.inputType !== undefined){let data12 = data3.inputType;if(typeof data12 !== "string"){const err21 = {instancePath:instancePath+"/dimensions/" + i0+"/inputType",schemaPath:"#/$defs/configuratorDimension/properties/inputType/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(!((data12 === "select") || (data12 === "text"))){const err22 = {instancePath:instancePath+"/dimensions/" + i0+"/inputType",schemaPath:"#/$defs/configuratorDimension/properties/inputType/enum",keyword:"enum",params:{allowedValues: schema133.properties.inputType.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data3.maxLength !== undefined){let data13 = data3.maxLength;if(!(((typeof data13 == "number") && (!(data13 % 1) && !isNaN(data13))) && (isFinite(data13)))){const err23 = {instancePath:instancePath+"/dimensions/" + i0+"/maxLength",schemaPath:"#/$defs/configuratorDimension/properties/maxLength/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if((typeof data13 == "number") && (isFinite(data13))){if(data13 < 1 || isNaN(data13)){const err24 = {instancePath:instancePath+"/dimensions/" + i0+"/maxLength",schemaPath:"#/$defs/configuratorDimension/properties/maxLength/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}if(data3.system !== undefined){if(typeof data3.system !== "string"){const err25 = {instancePath:instancePath+"/dimensions/" + i0+"/system",schemaPath:"#/$defs/configuratorDimension/properties/system/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data3.note !== undefined){if(typeof data3.note !== "string"){const err26 = {instancePath:instancePath+"/dimensions/" + i0+"/note",schemaPath:"#/$defs/configuratorDimension/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}else {const err27 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}else {const err28 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.exclusions !== undefined){let data16 = data.exclusions;if(Array.isArray(data16)){const len2 = data16.length;for(let i2=0; i2<len2; i2++){let data17 = data16[i2];if(data17 && typeof data17 == "object" && !Array.isArray(data17)){for(const key2 in data17){let data18 = data17[key2];const _errs45 = errors;let valid13 = false;const _errs46 = errors;if(typeof data18 !== "string"){const err29 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}var _valid1 = _errs46 === errors;valid13 = valid13 || _valid1;const _errs48 = errors;if(!((typeof data18 == "number") && (isFinite(data18)))){const err30 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid1 = _errs48 === errors;valid13 = valid13 || _valid1;const _errs50 = errors;if(typeof data18 !== "boolean"){const err31 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}var _valid1 = _errs50 === errors;valid13 = valid13 || _valid1;if(!valid13){const err32 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}else {errors = _errs45;if(vErrors !== null){if(_errs45){vErrors.length = _errs45;}else {vErrors = null;}}}}}else {const err33 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(Object.keys(data17).length < 1){const err34 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}}else {const err36 = {instancePath:instancePath+"/exclusions",schemaPath:"#/properties/exclusions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}}else {const err37 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}validate66.errors = vErrors;return errors === 0;}validate66.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema135 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false};const schema136 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false};const schema137 = {"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false};function validate68(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate68.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "productionLeadTime")) || (key0 === "cancellationPolicy")) || (key0 === "returnsExceptions")) || (key0 === "aftermarketServices"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:MadeToOrderTerms" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:MadeToOrderTerms"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.productionLeadTime !== undefined){let data1 = data.productionLeadTime;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@type"] === undefined){const err3 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key1 in data1){if(!((((key1 === "@type") || (key1 === "minDays")) || (key1 === "maxDays")) || (key1 === "description"))){const err4 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Duration" !== data1["@type"]){const err5 = {instancePath:instancePath+"/productionLeadTime/@type",schemaPath:"#/$defs/duration/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Duration"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data1.minDays !== undefined){let data3 = data1.minDays;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err6 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err7 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}if(data1.maxDays !== undefined){let data4 = data1.maxDays;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err8 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 < 0 || isNaN(data4)){const err9 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data1.description !== undefined){if(typeof data1.description !== "string"){const err10 = {instancePath:instancePath+"/productionLeadTime/description",schemaPath:"#/$defs/duration/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.cancellationPolicy !== undefined){if(typeof data.cancellationPolicy !== "string"){const err12 = {instancePath:instancePath+"/cancellationPolicy",schemaPath:"#/properties/cancellationPolicy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.returnsExceptions !== undefined){let data7 = data.returnsExceptions;if(Array.isArray(data7)){const len0 = data7.length;for(let i0=0; i0<len0; i0++){if(typeof data7[i0] !== "string"){const err13 = {instancePath:instancePath+"/returnsExceptions/" + i0,schemaPath:"#/properties/returnsExceptions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/returnsExceptions",schemaPath:"#/properties/returnsExceptions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.aftermarketServices !== undefined){let data9 = data.aftermarketServices;if(Array.isArray(data9)){const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10["@type"] === undefined){const err15 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data10.service === undefined){const err16 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "service"},message:"must have required property '"+"service"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}for(const key2 in data10){if(!((((key2 === "@type") || (key2 === "service")) || (key2 === "limit")) || (key2 === "description"))){const err17 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data10["@type"] !== undefined){if("pagefront:AftermarketService" !== data10["@type"]){const err18 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/@type",schemaPath:"#/$defs/aftermarketService/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AftermarketService"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data10.service !== undefined){if(typeof data10.service !== "string"){const err19 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/service",schemaPath:"#/$defs/aftermarketService/properties/service/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data10.limit !== undefined){if(typeof data10.limit !== "string"){const err20 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/limit",schemaPath:"#/$defs/aftermarketService/properties/limit/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data10.description !== undefined){if(typeof data10.description !== "string"){const err21 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/description",schemaPath:"#/$defs/aftermarketService/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/aftermarketServices",schemaPath:"#/properties/aftermarketServices/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}validate68.errors = vErrors;return errors === 0;}validate68.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate48(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate48.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = true;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data["@type"] === undefined) && (missing0 = "@type")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(data["@type"] !== undefined){if("ProductGroup" !== data["@type"]){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}}var _valid0 = _errs2 === errors;errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}let ifClause0;if(_valid0){const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productGroupID === undefined){const err2 = {instancePath,schemaPath:"#/then/required",keyword:"required",params:{missingProperty: "productGroupID"},message:"must have required property '"+"productGroupID"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs4 === errors;valid0 = _valid0;ifClause0 = "then";}else {const _errs5 = errors;const _errs6 = errors;let valid2 = false;const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.sku === undefined){const err3 = {instancePath,schemaPath:"#/else/anyOf/0/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid1 = _errs7 === errors;valid2 = valid2 || _valid1;const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin13 === undefined){const err4 = {instancePath,schemaPath:"#/else/anyOf/1/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var _valid1 = _errs8 === errors;valid2 = valid2 || _valid1;const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin === undefined){const err5 = {instancePath,schemaPath:"#/else/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid1 = _errs9 === errors;valid2 = valid2 || _valid1;const _errs10 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.mpn === undefined){const err6 = {instancePath,schemaPath:"#/else/anyOf/3/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var _valid1 = _errs10 === errors;valid2 = valid2 || _valid1;const _errs11 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productID === undefined){const err7 = {instancePath,schemaPath:"#/else/anyOf/4/required",keyword:"required",params:{missingProperty: "productID"},message:"must have required property '"+"productID"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}var _valid1 = _errs11 === errors;valid2 = valid2 || _valid1;if(!valid2){const err8 = {instancePath,schemaPath:"#/else/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {errors = _errs6;if(vErrors !== null){if(_errs6){vErrors.length = _errs6;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data.url === undefined){const err9 = {instancePath,schemaPath:"#/else/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}var _valid0 = _errs5 === errors;valid0 = _valid0;ifClause0 = "else";}if(!valid0){const err10 = {instancePath,schemaPath:"#/if",keyword:"if",params:{failingKeyword: ifClause0},message:"must match \""+ifClause0+"\" schema"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err11 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data["@type"] === undefined){const err12 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data["@id"] === undefined){const err13 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data.name === undefined){const err14 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data.inLanguage === undefined){const err15 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data["@context"] !== undefined){let data1 = data["@context"];const _errs14 = errors;let valid4 = false;let passing0 = null;const _errs15 = errors;if("https://schema.org" !== data1){const err16 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid2 = _errs15 === errors;if(_valid2){valid4 = true;passing0 = 0;}const _errs16 = errors;if(Array.isArray(data1)){if(data1.length < 1){const err17 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}const len0 = data1.length;for(let i0=0; i0<len0; i0++){let data2 = data1[i0];const _errs19 = errors;let valid7 = false;let passing1 = null;const _errs20 = errors;if(typeof data2 === "string"){if(!(formats0(data2))){const err18 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid3 = _errs20 === errors;if(_valid3){valid7 = true;passing1 = 0;}const _errs22 = errors;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err20 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid3 = _errs22 === errors;if(_valid3 && valid7){valid7 = false;passing1 = [passing1, 1];}else {if(_valid3){valid7 = true;passing1 = 1;}}if(!valid7){const err21 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}}else {const err22 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid2 = _errs16 === errors;if(_valid2 && valid4){valid4 = false;passing0 = [passing0, 1];}else {if(_valid2){valid4 = true;passing0 = 1;}}if(!valid4){const err23 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err24 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data["@id"] !== undefined){let data4 = data["@id"];if(typeof data4 === "string"){if(!(formats0(data4))){const err25 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.url !== undefined){let data5 = data.url;if(typeof data5 === "string"){if(!(formats0(data5))){const err27 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}else {const err28 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.name !== undefined){let data6 = data.name;if(typeof data6 === "string"){if(func1(data6) < 1){const err29 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}else {const err30 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err31 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err32 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data.gtin13 !== undefined){let data9 = data.gtin13;const _errs38 = errors;let valid9 = false;let passing2 = null;const _errs39 = errors;if(typeof data9 === "string"){if(!pattern6.test(data9)){const err33 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}else {const err34 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var _valid4 = _errs39 === errors;if(_valid4){valid9 = true;passing2 = 0;}const _errs41 = errors;if(Array.isArray(data9)){if(data9.length < 1){const err35 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(typeof data10 === "string"){if(!pattern6.test(data10)){const err36 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}else {const err38 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid4 = _errs41 === errors;if(_valid4 && valid9){valid9 = false;passing2 = [passing2, 1];}else {if(_valid4){valid9 = true;passing2 = 1;}}if(!valid9){const err39 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data11 = data.gtin;const _errs47 = errors;let valid13 = false;let passing3 = null;const _errs48 = errors;if(typeof data11 !== "string"){const err40 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}var _valid5 = _errs48 === errors;if(_valid5){valid13 = true;passing3 = 0;}const _errs50 = errors;if(Array.isArray(data11)){if(data11.length < 1){const err41 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}const len2 = data11.length;for(let i2=0; i2<len2; i2++){if(typeof data11[i2] !== "string"){const err42 = {instancePath:instancePath+"/gtin/" + i2,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}else {const err43 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}var _valid5 = _errs50 === errors;if(_valid5 && valid13){valid13 = false;passing3 = [passing3, 1];}else {if(_valid5){valid13 = true;passing3 = 1;}}if(!valid13){const err44 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {errors = _errs47;if(vErrors !== null){if(_errs47){vErrors.length = _errs47;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err45 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err46 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data.productGroupID !== undefined){if(typeof data.productGroupID !== "string"){const err47 = {instancePath:instancePath+"/productGroupID",schemaPath:"#/properties/productGroupID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data.variesBy !== undefined){let data16 = data.variesBy;if(Array.isArray(data16)){const len3 = data16.length;for(let i3=0; i3<len3; i3++){if(typeof data16[i3] !== "string"){const err48 = {instancePath:instancePath+"/variesBy/" + i3,schemaPath:"#/properties/variesBy/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}}else {const err49 = {instancePath:instancePath+"/variesBy",schemaPath:"#/properties/variesBy/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}if(data.hasVariant !== undefined){let data18 = data.hasVariant;if(Array.isArray(data18)){const len4 = data18.length;for(let i4=0; i4<len4; i4++){if(!(validate49(data18[i4], {instancePath:instancePath+"/hasVariant/" + i4,parentData:data18,parentDataProperty:i4,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate49.errors : vErrors.concat(validate49.errors);errors = vErrors.length;}}}else {const err50 = {instancePath:instancePath+"/hasVariant",schemaPath:"#/properties/hasVariant/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.brand !== undefined){let data20 = data.brand;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20["pagefront:sheetUrl"] !== undefined){let data21 = data20["pagefront:sheetUrl"];if(typeof data21 === "string"){if(!(formats0(data21))){const err51 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}}else {const err53 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err54 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data.category !== undefined){let data23 = data.category;const _errs74 = errors;let valid21 = false;let passing4 = null;const _errs75 = errors;if(typeof data23 !== "string"){const err55 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid6 = _errs75 === errors;if(_valid6){valid21 = true;passing4 = 0;}const _errs77 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err56 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data23.codeValue === undefined){const err57 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data23["@type"] !== undefined){if("CategoryCode" !== data23["@type"]){const err58 = {instancePath:instancePath+"/category/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data23.codeValue !== undefined){let data25 = data23.codeValue;if(typeof data25 === "string"){if(func1(data25) < 1){const err59 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}else {const err60 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data23.inCodeSet !== undefined){let data26 = data23.inCodeSet;const _errs85 = errors;let valid24 = false;let passing5 = null;const _errs86 = errors;if(typeof data26 === "string"){if(!(formats0(data26))){const err61 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}else {const err62 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}var _valid7 = _errs86 === errors;if(_valid7){valid24 = true;passing5 = 0;}const _errs88 = errors;if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err63 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}var _valid7 = _errs88 === errors;if(_valid7 && valid24){valid24 = false;passing5 = [passing5, 1];}else {if(_valid7){valid24 = true;passing5 = 1;}}if(!valid24){const err64 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs85;if(vErrors !== null){if(_errs85){vErrors.length = _errs85;}else {vErrors = null;}}}}if(data23.name !== undefined){if(typeof data23.name !== "string"){const err65 = {instancePath:instancePath+"/category/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}}else {const err66 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}var _valid6 = _errs77 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 1];}else {if(_valid6){valid21 = true;passing4 = 1;}const _errs92 = errors;if(Array.isArray(data23)){if(data23.length < 1){const err67 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}const len5 = data23.length;for(let i5=0; i5<len5; i5++){let data28 = data23[i5];const _errs95 = errors;let valid27 = false;let passing6 = null;const _errs96 = errors;if(typeof data28 !== "string"){const err68 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}var _valid8 = _errs96 === errors;if(_valid8){valid27 = true;passing6 = 0;}const _errs98 = errors;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if(data28["@type"] === undefined){const err69 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}if(data28.codeValue === undefined){const err70 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}if(data28["@type"] !== undefined){if("CategoryCode" !== data28["@type"]){const err71 = {instancePath:instancePath+"/category/" + i5+"/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data28.codeValue !== undefined){let data30 = data28.codeValue;if(typeof data30 === "string"){if(func1(data30) < 1){const err72 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}else {const err73 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}if(data28.inCodeSet !== undefined){let data31 = data28.inCodeSet;const _errs106 = errors;let valid30 = false;let passing7 = null;const _errs107 = errors;if(typeof data31 === "string"){if(!(formats0(data31))){const err74 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}else {const err75 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs107 === errors;if(_valid9){valid30 = true;passing7 = 0;}const _errs109 = errors;if(!(data31 && typeof data31 == "object" && !Array.isArray(data31))){const err76 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}var _valid9 = _errs109 === errors;if(_valid9 && valid30){valid30 = false;passing7 = [passing7, 1];}else {if(_valid9){valid30 = true;passing7 = 1;}}if(!valid30){const err77 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}else {errors = _errs106;if(vErrors !== null){if(_errs106){vErrors.length = _errs106;}else {vErrors = null;}}}}if(data28.name !== undefined){if(typeof data28.name !== "string"){const err78 = {instancePath:instancePath+"/category/" + i5+"/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}}else {const err79 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}var _valid8 = _errs98 === errors;if(_valid8 && valid27){valid27 = false;passing6 = [passing6, 1];}else {if(_valid8){valid27 = true;passing6 = 1;}}if(!valid27){const err80 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}else {errors = _errs95;if(vErrors !== null){if(_errs95){vErrors.length = _errs95;}else {vErrors = null;}}}}}else {const err81 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}var _valid6 = _errs92 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 2];}else {if(_valid6){valid21 = true;passing4 = 2;}}}if(!valid21){const err82 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}else {errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}}}if(data.color !== undefined){if(typeof data.color !== "string"){const err83 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err84 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data.weight !== undefined){let data35 = data.weight;if(!(data35 && typeof data35 == "object" && !Array.isArray(data35))){const err85 = {instancePath:instancePath+"/weight",schemaPath:"#/properties/weight/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}if(data.height !== undefined){let data36 = data.height;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err86 = {instancePath:instancePath+"/height",schemaPath:"#/properties/height/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data.width !== undefined){let data37 = data.width;if(!(data37 && typeof data37 == "object" && !Array.isArray(data37))){const err87 = {instancePath:instancePath+"/width",schemaPath:"#/properties/width/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data.depth !== undefined){let data38 = data.depth;if(!(data38 && typeof data38 == "object" && !Array.isArray(data38))){const err88 = {instancePath:instancePath+"/depth",schemaPath:"#/properties/depth/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}if(data.countryOfOrigin !== undefined){let data39 = data.countryOfOrigin;if(typeof data39 === "string"){if(!pattern11.test(data39)){const err89 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}else {const err90 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}if(data.image !== undefined){let data40 = data.image;if(Array.isArray(data40)){const len6 = data40.length;for(let i6=0; i6<len6; i6++){let data41 = data40[i6];if(data41 && typeof data41 == "object" && !Array.isArray(data41)){if(data41["@type"] === undefined){const err91 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}if(data41.url === undefined){const err92 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}if(data41["@type"] !== undefined){if("ImageObject" !== data41["@type"]){const err93 = {instancePath:instancePath+"/image/" + i6+"/@type",schemaPath:"#/$defs/imageObject/properties/%40type/const",keyword:"const",params:{allowedValue: "ImageObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}if(data41.url !== undefined){let data43 = data41.url;if(typeof data43 === "string"){if(!(formats0(data43))){const err94 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}else {const err95 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data41.caption !== undefined){if(typeof data41.caption !== "string"){const err96 = {instancePath:instancePath+"/image/" + i6+"/caption",schemaPath:"#/$defs/imageObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}if(data41.additionalProperty !== undefined){let data45 = data41.additionalProperty;if(Array.isArray(data45)){const len7 = data45.length;for(let i7=0; i7<len7; i7++){let data46 = data45[i7];const _errs143 = errors;let valid38 = true;const _errs144 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){let missing1;if((data46.name === undefined) && (missing1 = "name")){const err97 = {};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}else {if(data46.name !== undefined){if("role" !== data46.name){const err98 = {};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}}}var _valid10 = _errs144 === errors;errors = _errs143;if(vErrors !== null){if(_errs143){vErrors.length = _errs143;}else {vErrors = null;}}if(_valid10){const _errs146 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.value !== undefined){let data48 = data46.value;if(!((((((((data48 === "hero") || (data48 === "packshot")) || (data48 === "lifestyle")) || (data48 === "detail")) || (data48 === "flatlay")) || (data48 === "swatch")) || (data48 === "size_chart")) || (data48 === "context"))){const err99 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema96.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}}var _valid10 = _errs146 === errors;valid38 = _valid10;if(valid38){var props2 = {};props2.value = true;props2.name = true;}}if(!valid38){const err100 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(props2 !== true){props2 = props2 || {};props2["@type"] = true;props2.name = true;props2.value = true;}if(data46["@type"] !== undefined){if("PropertyValue" !== data46["@type"]){const err101 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/@type",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}}if(data46.name !== undefined){if(typeof data46.name !== "string"){const err102 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/name",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data46.value !== undefined){if(typeof data46.value !== "string"){const err103 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}else {const err104 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}}else {const err105 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty",schemaPath:"#/$defs/imageObject/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}}else {const err106 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}}}else {const err107 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}if(data.video !== undefined){let data52 = data.video;if(Array.isArray(data52)){const len8 = data52.length;for(let i8=0; i8<len8; i8++){let data53 = data52[i8];const _errs158 = errors;let valid45 = false;const _errs159 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.url === undefined){const err108 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/0/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}}var _valid11 = _errs159 === errors;valid45 = valid45 || _valid11;const _errs160 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.contentUrl === undefined){const err109 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/1/required",keyword:"required",params:{missingProperty: "contentUrl"},message:"must have required property '"+"contentUrl"+"'"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}var _valid11 = _errs160 === errors;valid45 = valid45 || _valid11;const _errs161 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.embedUrl === undefined){const err110 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/2/required",keyword:"required",params:{missingProperty: "embedUrl"},message:"must have required property '"+"embedUrl"+"'"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}var _valid11 = _errs161 === errors;valid45 = valid45 || _valid11;if(!valid45){const err111 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}else {errors = _errs158;if(vErrors !== null){if(_errs158){vErrors.length = _errs158;}else {vErrors = null;}}}if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53["@type"] === undefined){const err112 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}if(data53["@type"] !== undefined){if("VideoObject" !== data53["@type"]){const err113 = {instancePath:instancePath+"/video/" + i8+"/@type",schemaPath:"#/$defs/videoObject/properties/%40type/const",keyword:"const",params:{allowedValue: "VideoObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data53.url !== undefined){let data55 = data53.url;if(typeof data55 === "string"){if(!(formats0(data55))){const err114 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data53.contentUrl !== undefined){let data56 = data53.contentUrl;if(typeof data56 === "string"){if(!(formats0(data56))){const err116 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}else {const err117 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data53.embedUrl !== undefined){let data57 = data53.embedUrl;if(typeof data57 === "string"){if(!(formats0(data57))){const err118 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}else {const err119 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(data53.thumbnailUrl !== undefined){let data58 = data53.thumbnailUrl;if(typeof data58 === "string"){if(!(formats0(data58))){const err120 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}else {const err121 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}if(data53.duration !== undefined){let data59 = data53.duration;if(typeof data59 === "string"){if(!pattern12.test(data59)){const err122 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/pattern",keyword:"pattern",params:{pattern: "^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},message:"must match pattern \""+"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"+"\""};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}else {const err123 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}if(data53.uploadDate !== undefined){if(typeof data53.uploadDate !== "string"){const err124 = {instancePath:instancePath+"/video/" + i8+"/uploadDate",schemaPath:"#/$defs/videoObject/properties/uploadDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}if(data53.caption !== undefined){if(typeof data53.caption !== "string"){const err125 = {instancePath:instancePath+"/video/" + i8+"/caption",schemaPath:"#/$defs/videoObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data53.transcript !== undefined){if(typeof data53.transcript !== "string"){const err126 = {instancePath:instancePath+"/video/" + i8+"/transcript",schemaPath:"#/$defs/videoObject/properties/transcript/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}if(data53.description !== undefined){if(typeof data53.description !== "string"){const err127 = {instancePath:instancePath+"/video/" + i8+"/description",schemaPath:"#/$defs/videoObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}if(data53.name !== undefined){if(typeof data53.name !== "string"){const err128 = {instancePath:instancePath+"/video/" + i8+"/name",schemaPath:"#/$defs/videoObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data53.additionalProperty !== undefined){let data65 = data53.additionalProperty;if(Array.isArray(data65)){const len9 = data65.length;for(let i9=0; i9<len9; i9++){let data66 = data65[i9];const _errs189 = errors;let valid50 = true;const _errs190 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){let missing2;if((data66.name === undefined) && (missing2 = "name")){const err129 = {};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}else {if(data66.name !== undefined){if("role" !== data66.name){const err130 = {};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}}}var _valid12 = _errs190 === errors;errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}if(_valid12){const _errs192 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(data66.value !== undefined){let data68 = data66.value;if(!((((((((data68 === "overview") || (data68 === "tutorial")) || (data68 === "lifestyle")) || (data68 === "construction")) || (data68 === "demonstration")) || (data68 === "comparison")) || (data68 === "unboxing")) || (data68 === "spin"))){const err131 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema97.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}var _valid12 = _errs192 === errors;valid50 = _valid12;if(valid50){var props3 = {};props3.value = true;props3.name = true;}}if(!valid50){const err132 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(props3 !== true){props3 = props3 || {};props3["@type"] = true;props3.name = true;props3.value = true;}if(data66["@type"] !== undefined){if("PropertyValue" !== data66["@type"]){const err133 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/@type",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}if(data66.name !== undefined){if(typeof data66.name !== "string"){const err134 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/name",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}if(data66.value !== undefined){if(typeof data66.value !== "string"){const err135 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}}else {const err136 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}else {const err137 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty",schemaPath:"#/$defs/videoObject/properties/additionalProperty/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+"/video/" + i8,schemaPath:"#/$defs/videoObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}}else {const err139 = {instancePath:instancePath+"/video",schemaPath:"#/properties/video/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err140 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data.hasCertification !== undefined){let data73 = data.hasCertification;if(Array.isArray(data73)){const len10 = data73.length;for(let i10=0; i10<len10; i10++){let data74 = data73[i10];if(data74 && typeof data74 == "object" && !Array.isArray(data74)){if(data74["@type"] === undefined){const err141 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}if(data74.name === undefined){const err142 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}if(data74["@type"] !== undefined){if("Certification" !== data74["@type"]){const err143 = {instancePath:instancePath+"/hasCertification/" + i10+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}if(data74.name !== undefined){if(typeof data74.name !== "string"){const err144 = {instancePath:instancePath+"/hasCertification/" + i10+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(data74.issuedBy !== undefined){let data77 = data74.issuedBy;if(!(data77 && typeof data77 == "object" && !Array.isArray(data77))){const err145 = {instancePath:instancePath+"/hasCertification/" + i10+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}if(data74.about !== undefined){if(typeof data74.about !== "string"){const err146 = {instancePath:instancePath+"/hasCertification/" + i10+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data74.additionalProperty !== undefined){if(!(Array.isArray(data74.additionalProperty))){const err147 = {instancePath:instancePath+"/hasCertification/" + i10+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/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+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}}else {const err149 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data.manufacturer !== undefined){let data80 = data.manufacturer;if(!(data80 && typeof data80 == "object" && !Array.isArray(data80))){const err150 = {instancePath:instancePath+"/manufacturer",schemaPath:"#/properties/manufacturer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}if(data.offers !== undefined){let data81 = data.offers;if(Array.isArray(data81)){if(data81.length < 1){const err151 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}const len11 = data81.length;for(let i11=0; i11<len11; i11++){let data82 = data81[i11];const _errs221 = errors;let valid60 = false;let passing8 = null;const _errs222 = errors;if(!(validate51(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate51.errors : vErrors.concat(validate51.errors);errors = vErrors.length;}var _valid13 = _errs222 === errors;if(_valid13){valid60 = true;passing8 = 0;var props4 = true;}const _errs223 = errors;if(!(validate57(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate57.errors : vErrors.concat(validate57.errors);errors = vErrors.length;}var _valid13 = _errs223 === errors;if(_valid13 && valid60){valid60 = false;passing8 = [passing8, 1];}else {if(_valid13){valid60 = true;passing8 = 1;if(props4 !== true){props4 = true;}}}if(!valid60){const err152 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/properties/offers/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}else {errors = _errs221;if(vErrors !== null){if(_errs221){vErrors.length = _errs221;}else {vErrors = null;}}}}}else {const err153 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}}if(data.aggregateRating !== undefined){let data83 = data.aggregateRating;if(!(data83 && typeof data83 == "object" && !Array.isArray(data83))){const err154 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}}if(data.review !== undefined){if(!(Array.isArray(data.review))){const err155 = {instancePath:instancePath+"/review",schemaPath:"#/properties/review/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}if(data.isVariantOf !== undefined){let data85 = data.isVariantOf;if(!(data85 && typeof data85 == "object" && !Array.isArray(data85))){const err156 = {instancePath:instancePath+"/isVariantOf",schemaPath:"#/properties/isVariantOf/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}}if(data.isRelatedTo !== undefined){if(!(Array.isArray(data.isRelatedTo))){const err157 = {instancePath:instancePath+"/isRelatedTo",schemaPath:"#/properties/isRelatedTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}if(data.isSimilarTo !== undefined){if(!(Array.isArray(data.isSimilarTo))){const err158 = {instancePath:instancePath+"/isSimilarTo",schemaPath:"#/properties/isSimilarTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}}if(data.isPartOf !== undefined){let data88 = data.isPartOf;const _errs235 = errors;let valid61 = false;let passing9 = null;const _errs236 = errors;if(!(data88 && typeof data88 == "object" && !Array.isArray(data88))){const err159 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}var _valid14 = _errs236 === errors;if(_valid14){valid61 = true;passing9 = 0;}const _errs238 = errors;if(!(Array.isArray(data88))){const err160 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}var _valid14 = _errs238 === errors;if(_valid14 && valid61){valid61 = false;passing9 = [passing9, 1];}else {if(_valid14){valid61 = true;passing9 = 1;}}if(!valid61){const err161 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}else {errors = _errs235;if(vErrors !== null){if(_errs235){vErrors.length = _errs235;}else {vErrors = null;}}}}if(data.hasPart !== undefined){let data89 = data.hasPart;const _errs241 = errors;let valid62 = false;let passing10 = null;const _errs242 = errors;if(!(data89 && typeof data89 == "object" && !Array.isArray(data89))){const err162 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}var _valid15 = _errs242 === errors;if(_valid15){valid62 = true;passing10 = 0;}const _errs244 = errors;if(!(Array.isArray(data89))){const err163 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}var _valid15 = _errs244 === errors;if(_valid15 && valid62){valid62 = false;passing10 = [passing10, 1];}else {if(_valid15){valid62 = true;passing10 = 1;}}if(!valid62){const err164 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}else {errors = _errs241;if(vErrors !== null){if(_errs241){vErrors.length = _errs241;}else {vErrors = null;}}}}if(data.question !== undefined){let data90 = data.question;if(Array.isArray(data90)){const len12 = data90.length;for(let i12=0; i12<len12; i12++){let data91 = data90[i12];if(data91 && typeof data91 == "object" && !Array.isArray(data91)){if(data91["@type"] === undefined){const err165 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}if(data91.name === undefined){const err166 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}if(data91.acceptedAnswer === undefined){const err167 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "acceptedAnswer"},message:"must have required property '"+"acceptedAnswer"+"'"};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}if(data91["@type"] !== undefined){if("Question" !== data91["@type"]){const err168 = {instancePath:instancePath+"/question/" + i12+"/@type",schemaPath:"#/$defs/questionObject/properties/%40type/const",keyword:"const",params:{allowedValue: "Question"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data91.name !== undefined){let data93 = data91.name;if(typeof data93 === "string"){if(func1(data93) < 1){const err169 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}else {const err170 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}if(data91.acceptedAnswer !== undefined){let data94 = data91.acceptedAnswer;if(data94 && typeof data94 == "object" && !Array.isArray(data94)){if(data94["@type"] === undefined){const err171 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}if(data94.text === undefined){const err172 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}if(data94["@type"] !== undefined){if("Answer" !== data94["@type"]){const err173 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/@type",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}if(data94.text !== undefined){let data96 = data94.text;if(typeof data96 === "string"){if(func1(data96) < 1){const err174 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}else {const err175 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}}else {const err176 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data91.suggestedAnswer !== undefined){let data97 = data91.suggestedAnswer;if(Array.isArray(data97)){const len13 = data97.length;for(let i13=0; i13<len13; i13++){let data98 = data97[i13];if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98["@type"] === undefined){const err177 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}if(data98.text === undefined){const err178 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}if(data98["@type"] !== undefined){if("Answer" !== data98["@type"]){const err179 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/@type",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(data98.text !== undefined){let data100 = data98.text;if(typeof data100 === "string"){if(func1(data100) < 1){const err180 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}else {const err181 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}}}else {const err182 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}}}else {const err183 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/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+"/question/" + i12,schemaPath:"#/$defs/questionObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}}}else {const err185 = {instancePath:instancePath+"/question",schemaPath:"#/properties/question/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}}if(data["pagefront:document"] !== undefined){let data101 = data["pagefront:document"];if(Array.isArray(data101)){const len14 = data101.length;for(let i14=0; i14<len14; i14++){let data102 = data101[i14];if(data102 && typeof data102 == "object" && !Array.isArray(data102)){if(data102["@type"] === undefined){const err186 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}if(data102.url === undefined){const err187 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}if(data102.role === undefined){const err188 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err188];}else {vErrors.push(err188);}errors++;}for(const key0 in data102){if(!(((((((key0 === "@type") || (key0 === "url")) || (key0 === "role")) || (key0 === "name")) || (key0 === "inLanguage")) || (key0 === "description")) || (key0 === "encodingFormat"))){const err189 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}if(data102["@type"] !== undefined){if("pagefront:Document" !== data102["@type"]){const err190 = {instancePath:instancePath+"/pagefront:document/" + i14+"/@type",schemaPath:"#/$defs/documentObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Document"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err190];}else {vErrors.push(err190);}errors++;}}if(data102.url !== undefined){let data104 = data102.url;if(typeof data104 === "string"){if(!(formats0(data104))){const err191 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}}else {const err192 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}}if(data102.role !== undefined){let data105 = data102.role;if(typeof data105 !== "string"){const err193 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}if(!((((((((((((((((((data105 === "manual") || (data105 === "assembly")) || (data105 === "care_guide")) || (data105 === "spec_sheet")) || (data105 === "compatibility")) || (data105 === "warranty")) || (data105 === "certificate")) || (data105 === "environmental_declaration")) || (data105 === "audit_report")) || (data105 === "lab_test")) || (data105 === "safety_data_sheet")) || (data105 === "installation_guide")) || (data105 === "user_guide")) || (data105 === "quick_start")) || (data105 === "brochure")) || (data105 === "repairability_index")) || (data105 === "recall_notice")) || (data105 === "declaration_of_conformity"))){const err194 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/enum",keyword:"enum",params:{allowedValues: schema115.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}if(data102.name !== undefined){if(typeof data102.name !== "string"){const err195 = {instancePath:instancePath+"/pagefront:document/" + i14+"/name",schemaPath:"#/$defs/documentObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}}if(data102.inLanguage !== undefined){if(typeof data102.inLanguage !== "string"){const err196 = {instancePath:instancePath+"/pagefront:document/" + i14+"/inLanguage",schemaPath:"#/$defs/documentObject/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}}if(data102.description !== undefined){if(typeof data102.description !== "string"){const err197 = {instancePath:instancePath+"/pagefront:document/" + i14+"/description",schemaPath:"#/$defs/documentObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}}if(data102.encodingFormat !== undefined){if(typeof data102.encodingFormat !== "string"){const err198 = {instancePath:instancePath+"/pagefront:document/" + i14+"/encodingFormat",schemaPath:"#/$defs/documentObject/properties/encodingFormat/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}}}else {const err199 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}}}else {const err200 = {instancePath:instancePath+"/pagefront:document",schemaPath:"#/properties/pagefront%3Adocument/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}}if(data["pagefront:relatedProduct"] !== undefined){let data110 = data["pagefront:relatedProduct"];if(Array.isArray(data110)){const len15 = data110.length;for(let i15=0; i15<len15; i15++){let data111 = data110[i15];const _errs293 = errors;let valid78 = false;const _errs294 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@id"] === undefined){const err201 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}var _valid16 = _errs294 === errors;valid78 = valid78 || _valid16;const _errs295 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.sku === undefined){const err202 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/1/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}}var _valid16 = _errs295 === errors;valid78 = valid78 || _valid16;const _errs296 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin === undefined){const err203 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}}var _valid16 = _errs296 === errors;valid78 = valid78 || _valid16;const _errs297 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin13 === undefined){const err204 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/3/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}}var _valid16 = _errs297 === errors;valid78 = valid78 || _valid16;const _errs298 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.mpn === undefined){const err205 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/4/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}var _valid16 = _errs298 === errors;valid78 = valid78 || _valid16;if(!valid78){const err206 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}else {errors = _errs293;if(vErrors !== null){if(_errs293){vErrors.length = _errs293;}else {vErrors = null;}}}if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@type"] === undefined){const err207 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}if(data111.relationship === undefined){const err208 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "relationship"},message:"must have required property '"+"relationship"+"'"};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}for(const key1 in data111){if(!(func8.call(schema116.properties, key1))){const err209 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}}if(data111["@type"] !== undefined){if("pagefront:RelatedProduct" !== data111["@type"]){const err210 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@type",schemaPath:"#/$defs/relatedProductObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:RelatedProduct"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}}if(data111.relationship !== undefined){let data113 = data111.relationship;if(typeof data113 !== "string"){const err211 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}if(!(((((((((((data113 === "accessory") || (data113 === "consumable")) || (data113 === "required_part")) || (data113 === "spare_part")) || (data113 === "often_bought_with")) || (data113 === "recommended_with")) || (data113 === "replaces")) || (data113 === "replaced_by")) || (data113 === "bundle_component")) || (data113 === "compatible_with")) || (data113 === "service"))){const err212 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/enum",keyword:"enum",params:{allowedValues: schema116.properties.relationship.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}if(data111["@id"] !== undefined){let data114 = data111["@id"];if(typeof data114 === "string"){if(!(formats0(data114))){const err213 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}else {const err214 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}if(data111.sku !== undefined){if(typeof data111.sku !== "string"){const err215 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/sku",schemaPath:"#/$defs/relatedProductObject/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data111.gtin !== undefined){if(typeof data111.gtin !== "string"){const err216 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin",schemaPath:"#/$defs/relatedProductObject/properties/gtin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}if(data111.gtin13 !== undefined){let data117 = data111.gtin13;if(typeof data117 === "string"){if(!pattern6.test(data117)){const err217 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}else {const err218 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}}if(data111.mpn !== undefined){if(typeof data111.mpn !== "string"){const err219 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/mpn",schemaPath:"#/$defs/relatedProductObject/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}}if(data111.name !== undefined){if(typeof data111.name !== "string"){const err220 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/name",schemaPath:"#/$defs/relatedProductObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}if(data111.url !== undefined){let data120 = data111.url;if(typeof data120 === "string"){if(!(formats0(data120))){const err221 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}else {const err222 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}if(data111.image !== undefined){let data121 = data111.image;if(typeof data121 === "string"){if(!(formats0(data121))){const err223 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}}else {const err224 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}}}else {const err225 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}}}else {const err226 = {instancePath:instancePath+"/pagefront:relatedProduct",schemaPath:"#/properties/pagefront%3ArelatedProduct/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}}if(data["pagefront:featureGroup"] !== undefined){let data122 = data["pagefront:featureGroup"];if(Array.isArray(data122)){if(data122.length < 1){const err227 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}const len16 = data122.length;for(let i16=0; i16<len16; i16++){if(!(validate60(data122[i16], {instancePath:instancePath+"/pagefront:featureGroup/" + i16,parentData:data122,parentDataProperty:i16,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate60.errors : vErrors.concat(validate60.errors);errors = vErrors.length;}}}else {const err228 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}}if(data["pagefront:productHighlights"] !== undefined){let data124 = data["pagefront:productHighlights"];if(Array.isArray(data124)){if(data124.length < 1){const err229 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}const len17 = data124.length;for(let i17=0; i17<len17; i17++){if(typeof data124[i17] !== "string"){const err230 = {instancePath:instancePath+"/pagefront:productHighlights/" + i17,schemaPath:"#/properties/pagefront%3AproductHighlights/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}}}else {const err231 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}}if(data["pagefront:legalEntity"] !== undefined){let data126 = data["pagefront:legalEntity"];if(Array.isArray(data126)){if(data126.length < 1){const err232 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/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 len18 = data126.length;for(let i18=0; i18<len18; i18++){let data127 = data126[i18];if(data127 && typeof data127 == "object" && !Array.isArray(data127)){if(data127["@type"] === undefined){const err233 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}if(data127.role === undefined){const err234 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}if(data127.organization === undefined){const err235 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}for(const key2 in data127){if(!(((key2 === "@type") || (key2 === "role")) || (key2 === "organization"))){const err236 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}}if(data127["@type"] !== undefined){if("pagefront:LegalEntity" !== data127["@type"]){const err237 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/@type",schemaPath:"#/$defs/legalEntity/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:LegalEntity"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}if(data127.role !== undefined){let data129 = data127.role;if(typeof data129 !== "string"){const err238 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}if(!(((((data129 === "brand_owner") || (data129 === "licensee")) || (data129 === "authorized_representative")) || (data129 === "importer")) || (data129 === "manufacturer"))){const err239 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/enum",keyword:"enum",params:{allowedValues: schema119.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}}if(data127.organization !== undefined){let data130 = data127.organization;const _errs337 = errors;let valid88 = false;const _errs338 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130.name === undefined){const err240 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}}var _valid17 = _errs338 === errors;valid88 = valid88 || _valid17;const _errs339 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@id"] === undefined){const err241 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}var _valid17 = _errs339 === errors;valid88 = valid88 || _valid17;if(!valid88){const err242 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}else {errors = _errs337;if(vErrors !== null){if(_errs337){vErrors.length = _errs337;}else {vErrors = null;}}}if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@type"] === undefined){const err243 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}if(data130["@type"] !== undefined){if("Organization" !== data130["@type"]){const err244 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@type",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40type/const",keyword:"const",params:{allowedValue: "Organization"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err244];}else {vErrors.push(err244);}errors++;}}if(data130["@id"] !== undefined){let data132 = data130["@id"];if(typeof data132 === "string"){if(!(formats0(data132))){const err245 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}}else {const err246 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}}if(data130.name !== undefined){let data133 = data130.name;if(typeof data133 === "string"){if(func1(data133) < 1){const err247 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}}else {const err248 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}}if(data130.address !== undefined){let data134 = data130.address;if(!(data134 && typeof data134 == "object" && !Array.isArray(data134))){const err249 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/address",schemaPath:"#/$defs/legalEntity/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}}if(data130.url !== undefined){let data135 = data130.url;if(typeof data135 === "string"){if(!(formats0(data135))){const err250 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}}else {const err251 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}}if(data130.email !== undefined){let data136 = data130.email;if(typeof data136 === "string"){if(!(formats50.test(data136))){const err252 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err252];}else {vErrors.push(err252);}errors++;}}else {const err253 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}}if(data130["pagefront:sheetUrl"] !== undefined){let data137 = data130["pagefront:sheetUrl"];if(typeof data137 === "string"){if(!(formats0(data137))){const err254 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}}else {const err255 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/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+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}}}else {const err257 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}}else {const err258 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}}if(data["pagefront:safetyWarning"] !== undefined){let data138 = data["pagefront:safetyWarning"];if(Array.isArray(data138)){if(data138.length < 1){const err259 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}const len19 = data138.length;for(let i19=0; i19<len19; i19++){let data139 = data138[i19];if(data139 && typeof data139 == "object" && !Array.isArray(data139)){if(data139["@type"] === undefined){const err260 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}if(data139.text === undefined){const err261 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}for(const key3 in data139){if(!((((key3 === "@type") || (key3 === "text")) || (key3 === "pictogram")) || (key3 === "hazardCategory"))){const err262 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}}if(data139["@type"] !== undefined){if("pagefront:SafetyWarning" !== data139["@type"]){const err263 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/@type",schemaPath:"#/$defs/safetyWarning/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyWarning"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}}if(data139.text !== undefined){let data141 = data139.text;if(typeof data141 === "string"){if(func1(data141) < 1){const err264 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}}else {const err265 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err265];}else {vErrors.push(err265);}errors++;}}if(data139.pictogram !== undefined){let data142 = data139.pictogram;if(typeof data142 === "string"){if(!(formats0(data142))){const err266 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err266];}else {vErrors.push(err266);}errors++;}}else {const err267 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err267];}else {vErrors.push(err267);}errors++;}}if(data139.hazardCategory !== undefined){if(typeof data139.hazardCategory !== "string"){const err268 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/hazardCategory",schemaPath:"#/$defs/safetyWarning/properties/hazardCategory/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err268];}else {vErrors.push(err268);}errors++;}}}else {const err269 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err269];}else {vErrors.push(err269);}errors++;}}}else {const err270 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err270];}else {vErrors.push(err270);}errors++;}}if(data["pagefront:safetyNotice"] !== undefined){let data144 = data["pagefront:safetyNotice"];if(Array.isArray(data144)){if(data144.length < 1){const err271 = {instancePath:instancePath+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err271];}else {vErrors.push(err271);}errors++;}const len20 = data144.length;for(let i20=0; i20<len20; i20++){let data145 = data144[i20];if(data145 && typeof data145 == "object" && !Array.isArray(data145)){if(data145["@type"] === undefined){const err272 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err272];}else {vErrors.push(err272);}errors++;}if(data145.noticeType === undefined){const err273 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "noticeType"},message:"must have required property '"+"noticeType"+"'"};if(vErrors === null){vErrors = [err273];}else {vErrors.push(err273);}errors++;}for(const key4 in data145){if(!((((((((key4 === "@type") || (key4 === "noticeType")) || (key4 === "hazard")) || (key4 === "remedy")) || (key4 === "description")) || (key4 === "reference")) || (key4 === "datePublished")) || (key4 === "url"))){const err274 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err274];}else {vErrors.push(err274);}errors++;}}if(data145["@type"] !== undefined){if("pagefront:SafetyNotice" !== data145["@type"]){const err275 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/@type",schemaPath:"#/$defs/safetyNotice/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyNotice"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err275];}else {vErrors.push(err275);}errors++;}}if(data145.noticeType !== undefined){let data147 = data145.noticeType;if(typeof data147 !== "string"){const err276 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err276];}else {vErrors.push(err276);}errors++;}if(!((data147 === "recall") || (data147 === "warning"))){const err277 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/enum",keyword:"enum",params:{allowedValues: schema121.properties.noticeType.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err277];}else {vErrors.push(err277);}errors++;}}if(data145.hazard !== undefined){if(typeof data145.hazard !== "string"){const err278 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/hazard",schemaPath:"#/$defs/safetyNotice/properties/hazard/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err278];}else {vErrors.push(err278);}errors++;}}if(data145.remedy !== undefined){let data149 = data145.remedy;if(typeof data149 !== "string"){const err279 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err279];}else {vErrors.push(err279);}errors++;}if(!(((data149 === "repair") || (data149 === "replacement")) || (data149 === "refund"))){const err280 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/enum",keyword:"enum",params:{allowedValues: schema121.properties.remedy.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err280];}else {vErrors.push(err280);}errors++;}}if(data145.description !== undefined){if(typeof data145.description !== "string"){const err281 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/description",schemaPath:"#/$defs/safetyNotice/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err281];}else {vErrors.push(err281);}errors++;}}if(data145.reference !== undefined){let data151 = data145.reference;if(typeof data151 === "string"){if(!(formats0(data151))){const err282 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err282];}else {vErrors.push(err282);}errors++;}}else {const err283 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err283];}else {vErrors.push(err283);}errors++;}}if(data145.datePublished !== undefined){let data152 = data145.datePublished;if(typeof data152 === "string"){if(!(formats42.validate(data152))){const err284 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err284];}else {vErrors.push(err284);}errors++;}}else {const err285 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err285];}else {vErrors.push(err285);}errors++;}}if(data145.url !== undefined){let data153 = data145.url;if(typeof data153 === "string"){if(!(formats0(data153))){const err286 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err286];}else {vErrors.push(err286);}errors++;}}else {const err287 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/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+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/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+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err289];}else {vErrors.push(err289);}errors++;}}if(data["pagefront:sizeChart"] !== undefined){if(!(validate62(data["pagefront:sizeChart"], {instancePath:instancePath+"/pagefront:sizeChart",parentData:data,parentDataProperty:"pagefront:sizeChart",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate62.errors : vErrors.concat(validate62.errors);errors = vErrors.length;}}if(data["pagefront:sizeRecommendation"] !== undefined){if(!(validate64(data["pagefront:sizeRecommendation"], {instancePath:instancePath+"/pagefront:sizeRecommendation",parentData:data,parentDataProperty:"pagefront:sizeRecommendation",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate64.errors : vErrors.concat(validate64.errors);errors = vErrors.length;}}if(data["pagefront:materialComposition"] !== undefined){let data156 = data["pagefront:materialComposition"];if(Array.isArray(data156)){const len21 = data156.length;for(let i21=0; i21<len21; i21++){let data157 = data156[i21];if(data157 && typeof data157 == "object" && !Array.isArray(data157)){if(data157["@type"] === undefined){const err290 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err290];}else {vErrors.push(err290);}errors++;}if(data157.material === undefined){const err291 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err291];}else {vErrors.push(err291);}errors++;}for(const key5 in data157){if(!(((((((key5 === "@type") || (key5 === "material")) || (key5 === "percentage")) || (key5 === "purity")) || (key5 === "purityPercentage")) || (key5 === "provenance")) || (key5 === "weightGrams"))){const err292 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err292];}else {vErrors.push(err292);}errors++;}}if(data157["@type"] !== undefined){if("pagefront:Material" !== data157["@type"]){const err293 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err293];}else {vErrors.push(err293);}errors++;}}if(data157.material !== undefined){if(typeof data157.material !== "string"){const err294 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err294];}else {vErrors.push(err294);}errors++;}}if(data157.percentage !== undefined){let data160 = data157.percentage;if((typeof data160 == "number") && (isFinite(data160))){if(data160 > 100 || isNaN(data160)){const err295 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err295];}else {vErrors.push(err295);}errors++;}if(data160 < 0 || isNaN(data160)){const err296 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err296];}else {vErrors.push(err296);}errors++;}}else {const err297 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err297];}else {vErrors.push(err297);}errors++;}}if(data157.purity !== undefined){if(typeof data157.purity !== "string"){const err298 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err298];}else {vErrors.push(err298);}errors++;}}if(data157.purityPercentage !== undefined){let data162 = data157.purityPercentage;if((typeof data162 == "number") && (isFinite(data162))){if(data162 > 100 || isNaN(data162)){const err299 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err299];}else {vErrors.push(err299);}errors++;}if(data162 < 0 || isNaN(data162)){const err300 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err300];}else {vErrors.push(err300);}errors++;}}else {const err301 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err301];}else {vErrors.push(err301);}errors++;}}if(data157.provenance !== undefined){let data163 = data157.provenance;if(typeof data163 !== "string"){const err302 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err302];}else {vErrors.push(err302);}errors++;}if(!((((((data163 === "virgin") || (data163 === "recycled")) || (data163 === "fair_mined")) || (data163 === "lab_grown")) || (data163 === "reclaimed")) || (data163 === "deadstock"))){const err303 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema127.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err303];}else {vErrors.push(err303);}errors++;}}if(data157.weightGrams !== undefined){let data164 = data157.weightGrams;if((typeof data164 == "number") && (isFinite(data164))){if(data164 < 0 || isNaN(data164)){const err304 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err304];}else {vErrors.push(err304);}errors++;}}else {const err305 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err305];}else {vErrors.push(err305);}errors++;}}}else {const err306 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err306];}else {vErrors.push(err306);}errors++;}}}else {const err307 = {instancePath:instancePath+"/pagefront:materialComposition",schemaPath:"#/properties/pagefront%3AmaterialComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err307];}else {vErrors.push(err307);}errors++;}}if(data["pagefront:fabricComposition"] !== undefined){let data165 = data["pagefront:fabricComposition"];if(Array.isArray(data165)){const len22 = data165.length;for(let i22=0; i22<len22; i22++){let data166 = data165[i22];if(data166 && typeof data166 == "object" && !Array.isArray(data166)){if(data166["@type"] === undefined){const err308 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err308];}else {vErrors.push(err308);}errors++;}if(data166.material === undefined){const err309 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err309];}else {vErrors.push(err309);}errors++;}for(const key6 in data166){if(!(((((((key6 === "@type") || (key6 === "material")) || (key6 === "percentage")) || (key6 === "purity")) || (key6 === "purityPercentage")) || (key6 === "provenance")) || (key6 === "weightGrams"))){const err310 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err310];}else {vErrors.push(err310);}errors++;}}if(data166["@type"] !== undefined){if("pagefront:Material" !== data166["@type"]){const err311 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err311];}else {vErrors.push(err311);}errors++;}}if(data166.material !== undefined){if(typeof data166.material !== "string"){const err312 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err312];}else {vErrors.push(err312);}errors++;}}if(data166.percentage !== undefined){let data169 = data166.percentage;if((typeof data169 == "number") && (isFinite(data169))){if(data169 > 100 || isNaN(data169)){const err313 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err313];}else {vErrors.push(err313);}errors++;}if(data169 < 0 || isNaN(data169)){const err314 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err314];}else {vErrors.push(err314);}errors++;}}else {const err315 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err315];}else {vErrors.push(err315);}errors++;}}if(data166.purity !== undefined){if(typeof data166.purity !== "string"){const err316 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err316];}else {vErrors.push(err316);}errors++;}}if(data166.purityPercentage !== undefined){let data171 = data166.purityPercentage;if((typeof data171 == "number") && (isFinite(data171))){if(data171 > 100 || isNaN(data171)){const err317 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err317];}else {vErrors.push(err317);}errors++;}if(data171 < 0 || isNaN(data171)){const err318 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err318];}else {vErrors.push(err318);}errors++;}}else {const err319 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err319];}else {vErrors.push(err319);}errors++;}}if(data166.provenance !== undefined){let data172 = data166.provenance;if(typeof data172 !== "string"){const err320 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err320];}else {vErrors.push(err320);}errors++;}if(!((((((data172 === "virgin") || (data172 === "recycled")) || (data172 === "fair_mined")) || (data172 === "lab_grown")) || (data172 === "reclaimed")) || (data172 === "deadstock"))){const err321 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema127.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err321];}else {vErrors.push(err321);}errors++;}}if(data166.weightGrams !== undefined){let data173 = data166.weightGrams;if((typeof data173 == "number") && (isFinite(data173))){if(data173 < 0 || isNaN(data173)){const err322 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err322];}else {vErrors.push(err322);}errors++;}}else {const err323 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err323];}else {vErrors.push(err323);}errors++;}}}else {const err324 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err324];}else {vErrors.push(err324);}errors++;}}}else {const err325 = {instancePath:instancePath+"/pagefront:fabricComposition",schemaPath:"#/properties/pagefront%3AfabricComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err325];}else {vErrors.push(err325);}errors++;}}if(data["pagefront:construction"] !== undefined){let data174 = data["pagefront:construction"];if(data174 && typeof data174 == "object" && !Array.isArray(data174)){if(data174["@type"] === undefined){const err326 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err326];}else {vErrors.push(err326);}errors++;}if(data174["@type"] !== undefined){if("pagefront:Construction" !== data174["@type"]){const err327 = {instancePath:instancePath+"/pagefront:construction/@type",schemaPath:"#/$defs/construction/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Construction"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err327];}else {vErrors.push(err327);}errors++;}}if(data174.stitch !== undefined){if(typeof data174.stitch !== "string"){const err328 = {instancePath:instancePath+"/pagefront:construction/stitch",schemaPath:"#/$defs/construction/properties/stitch/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err328];}else {vErrors.push(err328);}errors++;}}if(data174.gauge !== undefined){let data177 = data174.gauge;if(!((typeof data177 == "number") && (isFinite(data177)))){const err329 = {instancePath:instancePath+"/pagefront:construction/gauge",schemaPath:"#/$defs/construction/properties/gauge/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err329];}else {vErrors.push(err329);}errors++;}}if(data174.machine !== undefined){if(typeof data174.machine !== "string"){const err330 = {instancePath:instancePath+"/pagefront:construction/machine",schemaPath:"#/$defs/construction/properties/machine/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err330];}else {vErrors.push(err330);}errors++;}}if(data174.constructionNotes !== undefined){if(typeof data174.constructionNotes !== "string"){const err331 = {instancePath:instancePath+"/pagefront:construction/constructionNotes",schemaPath:"#/$defs/construction/properties/constructionNotes/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err331];}else {vErrors.push(err331);}errors++;}}}else {const err332 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err332];}else {vErrors.push(err332);}errors++;}}if(data["pagefront:manufacturingChain"] !== undefined){let data180 = data["pagefront:manufacturingChain"];if(Array.isArray(data180)){const len23 = data180.length;for(let i23=0; i23<len23; i23++){let data181 = data180[i23];if(data181 && typeof data181 == "object" && !Array.isArray(data181)){if(data181["@type"] === undefined){const err333 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err333];}else {vErrors.push(err333);}errors++;}if(data181.stage === undefined){const err334 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "stage"},message:"must have required property '"+"stage"+"'"};if(vErrors === null){vErrors = [err334];}else {vErrors.push(err334);}errors++;}if(data181.country === undefined){const err335 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "country"},message:"must have required property '"+"country"+"'"};if(vErrors === null){vErrors = [err335];}else {vErrors.push(err335);}errors++;}for(const key7 in data181){if(!(((((key7 === "@type") || (key7 === "stage")) || (key7 === "country")) || (key7 === "facility")) || (key7 === "facilityCountry"))){const err336 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err336];}else {vErrors.push(err336);}errors++;}}if(data181["@type"] !== undefined){if("pagefront:ManufacturingStage" !== data181["@type"]){const err337 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/@type",schemaPath:"#/$defs/manufacturingStage/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ManufacturingStage"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err337];}else {vErrors.push(err337);}errors++;}}if(data181.stage !== undefined){if(typeof data181.stage !== "string"){const err338 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/stage",schemaPath:"#/$defs/manufacturingStage/properties/stage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err338];}else {vErrors.push(err338);}errors++;}}if(data181.country !== undefined){let data184 = data181.country;if(typeof data184 === "string"){if(!pattern11.test(data184)){const err339 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err339];}else {vErrors.push(err339);}errors++;}}else {const err340 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err340];}else {vErrors.push(err340);}errors++;}}if(data181.facility !== undefined){if(typeof data181.facility !== "string"){const err341 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facility",schemaPath:"#/$defs/manufacturingStage/properties/facility/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err341];}else {vErrors.push(err341);}errors++;}}if(data181.facilityCountry !== undefined){let data186 = data181.facilityCountry;if(typeof data186 === "string"){if(!pattern11.test(data186)){const err342 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err342];}else {vErrors.push(err342);}errors++;}}else {const err343 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err343];}else {vErrors.push(err343);}errors++;}}}else {const err344 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err344];}else {vErrors.push(err344);}errors++;}}}else {const err345 = {instancePath:instancePath+"/pagefront:manufacturingChain",schemaPath:"#/properties/pagefront%3AmanufacturingChain/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err345];}else {vErrors.push(err345);}errors++;}}if(data["pagefront:gemstone"] !== undefined){let data187 = data["pagefront:gemstone"];if(data187 && typeof data187 == "object" && !Array.isArray(data187)){if(data187["@type"] === undefined){const err346 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err346];}else {vErrors.push(err346);}errors++;}if(data187.type === undefined){const err347 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err347];}else {vErrors.push(err347);}errors++;}for(const key8 in data187){if(!(func8.call(schema131.properties, key8))){const err348 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err348];}else {vErrors.push(err348);}errors++;}}if(data187["@type"] !== undefined){if("pagefront:Gemstone" !== data187["@type"]){const err349 = {instancePath:instancePath+"/pagefront:gemstone/@type",schemaPath:"#/$defs/gemstone/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Gemstone"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err349];}else {vErrors.push(err349);}errors++;}}if(data187.type !== undefined){if(typeof data187.type !== "string"){const err350 = {instancePath:instancePath+"/pagefront:gemstone/type",schemaPath:"#/$defs/gemstone/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err350];}else {vErrors.push(err350);}errors++;}}if(data187.origin !== undefined){let data190 = data187.origin;if(typeof data190 !== "string"){const err351 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err351];}else {vErrors.push(err351);}errors++;}if(!((((data190 === "natural_mined") || (data190 === "lab_grown")) || (data190 === "treated")) || (data190 === "synthetic"))){const err352 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/enum",keyword:"enum",params:{allowedValues: schema131.properties.origin.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err352];}else {vErrors.push(err352);}errors++;}}if(data187.shape !== undefined){if(typeof data187.shape !== "string"){const err353 = {instancePath:instancePath+"/pagefront:gemstone/shape",schemaPath:"#/$defs/gemstone/properties/shape/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err353];}else {vErrors.push(err353);}errors++;}}if(data187.caratWeight !== undefined){let data192 = data187.caratWeight;if((typeof data192 == "number") && (isFinite(data192))){if(data192 < 0 || isNaN(data192)){const err354 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err354];}else {vErrors.push(err354);}errors++;}}else {const err355 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err355];}else {vErrors.push(err355);}errors++;}}if(data187.colorGrade !== undefined){if(typeof data187.colorGrade !== "string"){const err356 = {instancePath:instancePath+"/pagefront:gemstone/colorGrade",schemaPath:"#/$defs/gemstone/properties/colorGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err356];}else {vErrors.push(err356);}errors++;}}if(data187.clarityGrade !== undefined){if(typeof data187.clarityGrade !== "string"){const err357 = {instancePath:instancePath+"/pagefront:gemstone/clarityGrade",schemaPath:"#/$defs/gemstone/properties/clarityGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err357];}else {vErrors.push(err357);}errors++;}}if(data187.cutGrade !== undefined){if(typeof data187.cutGrade !== "string"){const err358 = {instancePath:instancePath+"/pagefront:gemstone/cutGrade",schemaPath:"#/$defs/gemstone/properties/cutGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err358];}else {vErrors.push(err358);}errors++;}}if(data187.certifyingBody !== undefined){if(typeof data187.certifyingBody !== "string"){const err359 = {instancePath:instancePath+"/pagefront:gemstone/certifyingBody",schemaPath:"#/$defs/gemstone/properties/certifyingBody/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err359];}else {vErrors.push(err359);}errors++;}}}else {const err360 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err360];}else {vErrors.push(err360);}errors++;}}if(data["pagefront:configurator"] !== undefined){if(!(validate66(data["pagefront:configurator"], {instancePath:instancePath+"/pagefront:configurator",parentData:data,parentDataProperty:"pagefront:configurator",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate66.errors : vErrors.concat(validate66.errors);errors = vErrors.length;}}if(data["pagefront:madeToOrderTerms"] !== undefined){if(!(validate68(data["pagefront:madeToOrderTerms"], {instancePath:instancePath+"/pagefront:madeToOrderTerms",parentData:data,parentDataProperty:"pagefront:madeToOrderTerms",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);errors = vErrors.length;}}if(data["pagefront:manufacturerWarranty"] !== undefined){let data199 = data["pagefront:manufacturerWarranty"];if(!(data199 && typeof data199 == "object" && !Array.isArray(data199))){const err361 = {instancePath:instancePath+"/pagefront:manufacturerWarranty",schemaPath:"#/properties/pagefront%3AmanufacturerWarranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err361];}else {vErrors.push(err361);}errors++;}}if(data["pagefront:careInstructions"] !== undefined){let data200 = data["pagefront:careInstructions"];if(Array.isArray(data200)){const len24 = data200.length;for(let i24=0; i24<len24; i24++){if(typeof data200[i24] !== "string"){const err362 = {instancePath:instancePath+"/pagefront:careInstructions/" + i24,schemaPath:"#/properties/pagefront%3AcareInstructions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err362];}else {vErrors.push(err362);}errors++;}}}else {const err363 = {instancePath:instancePath+"/pagefront:careInstructions",schemaPath:"#/properties/pagefront%3AcareInstructions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err363];}else {vErrors.push(err363);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data202 = data["pagefront:availableLanguages"];if(Array.isArray(data202)){const len25 = data202.length;for(let i25=0; i25<len25; i25++){let data203 = data202[i25];if(data203 && typeof data203 == "object" && !Array.isArray(data203)){if(data203.lang === undefined){const err364 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err364];}else {vErrors.push(err364);}errors++;}if(data203.url === undefined){const err365 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err365];}else {vErrors.push(err365);}errors++;}for(const key9 in data203){if(!((key9 === "lang") || (key9 === "url"))){const err366 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err366];}else {vErrors.push(err366);}errors++;}}if(data203.lang !== undefined){if(typeof data203.lang !== "string"){const err367 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err367];}else {vErrors.push(err367);}errors++;}}if(data203.url !== undefined){let data205 = data203.url;if(typeof data205 === "string"){if(!(formats0(data205))){const err368 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err368];}else {vErrors.push(err368);}errors++;}}else {const err369 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err369];}else {vErrors.push(err369);}errors++;}}}else {const err370 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err370];}else {vErrors.push(err370);}errors++;}}}else {const err371 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err371];}else {vErrors.push(err371);}errors++;}}}else {const err372 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err372];}else {vErrors.push(err372);}errors++;}validate48.errors = vErrors;return errors === 0;}validate48.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate47(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate47.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern5.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate48(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate48.errors : vErrors.concat(validate48.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate47.errors = vErrors;return errors === 0;}validate47.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};export const validateLegacyOrganization = validate71;const schema138 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json","title":"Pagefront Commerce Organization Sheet v0.9","description":"Formal schema for the Pagefront Commerce Organization Sheet — the sheet describing the entity behind products (brand owner, manufacturer, seller), introduced with commerce format 0.9 alongside the reference-capable legalEntity and the seller-sheet return/shipping model. The data block roots on Schema.org Organization (recognized subtypes permitted; @type is not constrained to a single value). pagefront:commerceRole is the required role discriminator, an array of one or more values from the closed enum brand_owner / manufacturer / seller. pagefront:fulfillmentTerms carries the store-wide shipping defaults as an array of Schema.org-native OfferShippingDetails objects; only the attachment shell is validated, the payload is Schema.org content. pagefront:socialAccount carries the organization's official social accounts (platform / url / handle; publisher-stated only), distinct from sameAs, which carries identity authority records only. pagefront:authorizedResellers carries the brand's authorization claim over its distribution — a pagefront:AuthorizedResellers object with an optional exhaustive flag and a reseller array whose entries name an Organization either as a reference stub (@id) or inline (name plus url and/or address), with optional Schema.org-native areaServed; valid only where commerceRole includes brand_owner (linter ORG-W-006). There is no GTIN-equivalent identifier requirement: identity is @id + name. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true}}};const schema139 = {"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true};const schema140 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate72(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate72.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data["@id"] === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.name === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.inLanguage === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data["pagefront:commerceRole"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "pagefront:commerceRole"},message:"must have required property '"+"pagefront:commerceRole"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@context"] !== undefined){let data0 = data["@context"];const _errs3 = errors;let valid1 = false;let passing0 = null;const _errs4 = errors;if("https://schema.org" !== data0){const err6 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs4 === errors;if(_valid0){valid1 = true;passing0 = 0;}const _errs5 = errors;if(Array.isArray(data0)){if(data0.length < 1){const err7 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/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 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs8 = errors;let valid4 = false;let passing1 = null;const _errs9 = errors;if(typeof data1 === "string"){if(!(formats0(data1))){const err8 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid1 = _errs9 === errors;if(_valid1){valid4 = true;passing1 = 0;}const _errs11 = errors;if(!(data1 && typeof data1 == "object" && !Array.isArray(data1))){const err10 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs11 === errors;if(_valid1 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid1){valid4 = true;passing1 = 1;}}if(!valid4){const err11 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}}}else {const err12 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs5 === errors;if(_valid0 && valid1){valid1 = false;passing0 = [passing0, 1];}else {if(_valid0){valid1 = true;passing0 = 1;}}if(!valid1){const err13 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err14 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data["@id"] !== undefined){let data3 = data["@id"];if(typeof data3 === "string"){if(!(formats0(data3))){const err15 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.name !== undefined){let data4 = data.name;if(typeof data4 === "string"){if(func1(data4) < 1){const err17 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.legalName !== undefined){if(typeof data.legalName !== "string"){const err19 = {instancePath:instancePath+"/legalName",schemaPath:"#/properties/legalName/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err20 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.url !== undefined){let data7 = data.url;if(typeof data7 === "string"){if(!(formats0(data7))){const err21 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err23 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.slogan !== undefined){if(typeof data.slogan !== "string"){const err24 = {instancePath:instancePath+"/slogan",schemaPath:"#/properties/slogan/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.logo !== undefined){let data10 = data.logo;const _errs30 = errors;let valid5 = false;let passing2 = null;const _errs31 = errors;if(typeof data10 === "string"){if(!(formats0(data10))){const err25 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid2 = _errs31 === errors;if(_valid2){valid5 = true;passing2 = 0;}const _errs33 = errors;if(!(data10 && typeof data10 == "object" && !Array.isArray(data10))){const err27 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid2 = _errs33 === errors;if(_valid2 && valid5){valid5 = false;passing2 = [passing2, 1];}else {if(_valid2){valid5 = true;passing2 = 1;}}if(!valid5){const err28 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}}if(data.iso6523Code !== undefined){if(typeof data.iso6523Code !== "string"){const err29 = {instancePath:instancePath+"/iso6523Code",schemaPath:"#/properties/iso6523Code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.identifier !== undefined){let data12 = data.identifier;const _errs38 = errors;let valid6 = false;let passing3 = null;const _errs39 = errors;if(typeof data12 !== "string"){const err30 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid3 = _errs39 === errors;if(_valid3){valid6 = true;passing3 = 0;}const _errs41 = errors;if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err31 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}var _valid3 = _errs41 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 1];}else {if(_valid3){valid6 = true;passing3 = 1;}const _errs43 = errors;if(Array.isArray(data12)){const len1 = data12.length;for(let i1=0; i1<len1; i1++){let data13 = data12[i1];const _errs46 = errors;let valid9 = false;let passing4 = null;const _errs47 = errors;if(typeof data13 !== "string"){const err32 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}var _valid4 = _errs47 === errors;if(_valid4){valid9 = true;passing4 = 0;}const _errs49 = errors;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err33 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var _valid4 = _errs49 === errors;if(_valid4 && valid9){valid9 = false;passing4 = [passing4, 1];}else {if(_valid4){valid9 = true;passing4 = 1;}}if(!valid9){const err34 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {errors = _errs46;if(vErrors !== null){if(_errs46){vErrors.length = _errs46;}else {vErrors = null;}}}}}else {const err35 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}var _valid3 = _errs43 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 2];}else {if(_valid3){valid6 = true;passing3 = 2;}}}if(!valid6){const err36 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.sameAs !== undefined){let data14 = data.sameAs;const _errs52 = errors;let valid10 = false;let passing5 = null;const _errs53 = errors;if(typeof data14 === "string"){if(!(formats0(data14))){const err37 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}else {const err38 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid5 = _errs53 === errors;if(_valid5){valid10 = true;passing5 = 0;}const _errs55 = errors;if(Array.isArray(data14)){const len2 = data14.length;for(let i2=0; i2<len2; i2++){let data15 = data14[i2];if(typeof data15 === "string"){if(!(formats0(data15))){const err39 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}else {const err40 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/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+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid5 = _errs55 === errors;if(_valid5 && valid10){valid10 = false;passing5 = [passing5, 1];}else {if(_valid5){valid10 = true;passing5 = 1;}}if(!valid10){const err42 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}}}if(data.email !== undefined){let data16 = data.email;if(typeof data16 === "string"){if(!(formats50.test(data16))){const err43 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}else {const err44 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data.address !== undefined){let data17 = data.address;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){const err45 = {instancePath:instancePath+"/address",schemaPath:"#/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.contactPoint !== undefined){let data18 = data.contactPoint;const _errs64 = errors;let valid13 = false;let passing6 = null;const _errs65 = errors;if(!(data18 && typeof data18 == "object" && !Array.isArray(data18))){const err46 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}var _valid6 = _errs65 === errors;if(_valid6){valid13 = true;passing6 = 0;}const _errs67 = errors;if(Array.isArray(data18)){const len3 = data18.length;for(let i3=0; i3<len3; i3++){let data19 = data18[i3];if(!(data19 && typeof data19 == "object" && !Array.isArray(data19))){const err47 = {instancePath:instancePath+"/contactPoint/" + i3,schemaPath:"#/properties/contactPoint/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}}else {const err48 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}var _valid6 = _errs67 === errors;if(_valid6 && valid13){valid13 = false;passing6 = [passing6, 1];}else {if(_valid6){valid13 = true;passing6 = 1;}}if(!valid13){const err49 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {errors = _errs64;if(vErrors !== null){if(_errs64){vErrors.length = _errs64;}else {vErrors = null;}}}}if(data.foundingDate !== undefined){if(typeof data.foundingDate !== "string"){const err50 = {instancePath:instancePath+"/foundingDate",schemaPath:"#/properties/foundingDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.numberOfEmployees !== undefined){let data21 = data.numberOfEmployees;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err51 = {instancePath:instancePath+"/numberOfEmployees",schemaPath:"#/properties/numberOfEmployees/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data.parentOrganization !== undefined){let data22 = data.parentOrganization;if(!(data22 && typeof data22 == "object" && !Array.isArray(data22))){const err52 = {instancePath:instancePath+"/parentOrganization",schemaPath:"#/properties/parentOrganization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data.subOrganization !== undefined){let data23 = data.subOrganization;const _errs78 = errors;let valid16 = false;let passing7 = null;const _errs79 = errors;if(!(data23 && typeof data23 == "object" && !Array.isArray(data23))){const err53 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}var _valid7 = _errs79 === errors;if(_valid7){valid16 = true;passing7 = 0;}const _errs81 = errors;if(Array.isArray(data23)){const len4 = data23.length;for(let i4=0; i4<len4; i4++){let data24 = data23[i4];if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){const err54 = {instancePath:instancePath+"/subOrganization/" + i4,schemaPath:"#/properties/subOrganization/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}else {const err55 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid7 = _errs81 === errors;if(_valid7 && valid16){valid16 = false;passing7 = [passing7, 1];}else {if(_valid7){valid16 = true;passing7 = 1;}}if(!valid16){const err56 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}else {errors = _errs78;if(vErrors !== null){if(_errs78){vErrors.length = _errs78;}else {vErrors = null;}}}}if(data.location !== undefined){let data25 = data.location;const _errs86 = errors;let valid19 = false;let passing8 = null;const _errs87 = errors;if(!(data25 && typeof data25 == "object" && !Array.isArray(data25))){const err57 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}var _valid8 = _errs87 === errors;if(_valid8){valid19 = true;passing8 = 0;}const _errs89 = errors;if(Array.isArray(data25)){const len5 = data25.length;for(let i5=0; i5<len5; i5++){let data26 = data25[i5];if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err58 = {instancePath:instancePath+"/location/" + i5,schemaPath:"#/properties/location/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}}else {const err59 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}var _valid8 = _errs89 === errors;if(_valid8 && valid19){valid19 = false;passing8 = [passing8, 1];}else {if(_valid8){valid19 = true;passing8 = 1;}}if(!valid19){const err60 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}else {errors = _errs86;if(vErrors !== null){if(_errs86){vErrors.length = _errs86;}else {vErrors = null;}}}}if(data.brand !== undefined){let data27 = data.brand;if(!(data27 && typeof data27 == "object" && !Array.isArray(data27))){const err61 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data.aggregateRating !== undefined){let data28 = data.aggregateRating;if(!(data28 && typeof data28 == "object" && !Array.isArray(data28))){const err62 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}}if(data.hasCertification !== undefined){let data29 = data.hasCertification;if(Array.isArray(data29)){const len6 = data29.length;for(let i6=0; i6<len6; i6++){let data30 = data29[i6];if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30["@type"] === undefined){const err63 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}if(data30.name === undefined){const err64 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}if(data30["@type"] !== undefined){if("Certification" !== data30["@type"]){const err65 = {instancePath:instancePath+"/hasCertification/" + i6+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data30.name !== undefined){if(typeof data30.name !== "string"){const err66 = {instancePath:instancePath+"/hasCertification/" + i6+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}if(data30.issuedBy !== undefined){let data33 = data30.issuedBy;if(!(data33 && typeof data33 == "object" && !Array.isArray(data33))){const err67 = {instancePath:instancePath+"/hasCertification/" + i6+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data30.about !== undefined){if(typeof data30.about !== "string"){const err68 = {instancePath:instancePath+"/hasCertification/" + i6+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data30.additionalProperty !== undefined){if(!(Array.isArray(data30.additionalProperty))){const err69 = {instancePath:instancePath+"/hasCertification/" + i6+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}else {const err71 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data.hasMerchantReturnPolicy !== undefined){let data36 = data.hasMerchantReturnPolicy;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err72 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}if(data.paymentAccepted !== undefined){let data37 = data.paymentAccepted;const _errs115 = errors;let valid26 = false;let passing9 = null;const _errs116 = errors;if(typeof data37 !== "string"){const err73 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}var _valid9 = _errs116 === errors;if(_valid9){valid26 = true;passing9 = 0;}const _errs118 = errors;if(Array.isArray(data37)){const len7 = data37.length;for(let i7=0; i7<len7; i7++){if(typeof data37[i7] !== "string"){const err74 = {instancePath:instancePath+"/paymentAccepted/" + i7,schemaPath:"#/properties/paymentAccepted/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}}else {const err75 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs118 === errors;if(_valid9 && valid26){valid26 = false;passing9 = [passing9, 1];}else {if(_valid9){valid26 = true;passing9 = 1;}}if(!valid26){const err76 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {errors = _errs115;if(vErrors !== null){if(_errs115){vErrors.length = _errs115;}else {vErrors = null;}}}}if(data["pagefront:commerceRole"] !== undefined){let data39 = data["pagefront:commerceRole"];if(Array.isArray(data39)){if(data39.length < 1){const err77 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}const len8 = data39.length;for(let i8=0; i8<len8; i8++){let data40 = data39[i8];if(typeof data40 !== "string"){const err78 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}if(!(((data40 === "brand_owner") || (data40 === "manufacturer")) || (data40 === "seller"))){const err79 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/enum",keyword:"enum",params:{allowedValues: schema139.properties["pagefront:commerceRole"].items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}else {const err80 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}if(data["pagefront:fulfillmentTerms"] !== undefined){let data41 = data["pagefront:fulfillmentTerms"];if(Array.isArray(data41)){const len9 = data41.length;for(let i9=0; i9<len9; i9++){let data42 = data41[i9];if(data42 && typeof data42 == "object" && !Array.isArray(data42)){if(data42["@type"] === undefined){const err81 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}if(data42["@type"] !== undefined){if("OfferShippingDetails" !== data42["@type"]){const err82 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9+"/@type",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/properties/%40type/const",keyword:"const",params:{allowedValue: "OfferShippingDetails"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}}else {const err83 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}}else {const err84 = {instancePath:instancePath+"/pagefront:fulfillmentTerms",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data["pagefront:socialAccount"] !== undefined){let data44 = data["pagefront:socialAccount"];if(Array.isArray(data44)){const len10 = data44.length;for(let i10=0; i10<len10; i10++){let data45 = data44[i10];if(data45 && typeof data45 == "object" && !Array.isArray(data45)){if(data45.platform === undefined){const err85 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "platform"},message:"must have required property '"+"platform"+"'"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}if(data45.url === undefined){const err86 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}if(data45["@type"] !== undefined){if("pagefront:SocialAccount" !== data45["@type"]){const err87 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/@type",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SocialAccount"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data45.platform !== undefined){let data47 = data45.platform;if(typeof data47 === "string"){if(func1(data47) < 1){const err88 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}else {const err89 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}if(data45.url !== undefined){let data48 = data45.url;if(typeof data48 === "string"){if(!(formats0(data48))){const err90 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}else {const err91 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}}if(data45.handle !== undefined){let data49 = data45.handle;if(typeof data49 === "string"){if(func1(data49) < 1){const err92 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}else {const err93 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}}else {const err94 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}else {const err95 = {instancePath:instancePath+"/pagefront:socialAccount",schemaPath:"#/properties/pagefront%3AsocialAccount/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data["pagefront:authorizedResellers"] !== undefined){let data50 = data["pagefront:authorizedResellers"];if(data50 && typeof data50 == "object" && !Array.isArray(data50)){if(data50.reseller === undefined){const err96 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/required",keyword:"required",params:{missingProperty: "reseller"},message:"must have required property '"+"reseller"+"'"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}for(const key0 in data50){if(!(((key0 === "@type") || (key0 === "exhaustive")) || (key0 === "reseller"))){const err97 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}if(data50["@type"] !== undefined){if("pagefront:AuthorizedResellers" !== data50["@type"]){const err98 = {instancePath:instancePath+"/pagefront:authorizedResellers/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AuthorizedResellers"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}if(data50.exhaustive !== undefined){if(typeof data50.exhaustive !== "boolean"){const err99 = {instancePath:instancePath+"/pagefront:authorizedResellers/exhaustive",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/exhaustive/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}if(data50.reseller !== undefined){let data53 = data50.reseller;if(Array.isArray(data53)){if(data53.length < 1){const err100 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const len11 = data53.length;for(let i11=0; i11<len11; i11++){let data54 = data53[i11];if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.organization === undefined){const err101 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}for(const key1 in data54){if(!((key1 === "organization") || (key1 === "areaServed"))){const err102 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data54.organization !== undefined){let data55 = data54.organization;const _errs157 = errors;let valid41 = false;const _errs158 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@id"] === undefined){const err103 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}var _valid10 = _errs158 === errors;valid41 = valid41 || _valid10;const _errs159 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err104 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(data55.url === undefined){const err105 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}var _valid10 = _errs159 === errors;valid41 = valid41 || _valid10;const _errs160 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err106 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}if(data55.address === undefined){const err107 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "address"},message:"must have required property '"+"address"+"'"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}var _valid10 = _errs160 === errors;valid41 = valid41 || _valid10;if(!valid41){const err108 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}else {errors = _errs157;if(vErrors !== null){if(_errs157){vErrors.length = _errs157;}else {vErrors = null;}}}if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@type"] !== undefined){if(typeof data55["@type"] !== "string"){const err109 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}if(data55["@id"] !== undefined){let data57 = data55["@id"];if(typeof data57 === "string"){if(!(formats0(data57))){const err110 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}else {const err111 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}if(data55.name !== undefined){let data58 = data55.name;if(typeof data58 === "string"){if(func1(data58) < 1){const err112 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}else {const err113 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data55.url !== undefined){let data59 = data55.url;if(typeof data59 === "string"){if(!(formats0(data59))){const err114 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data55.address !== undefined){let data60 = data55.address;if(!(data60 && typeof data60 == "object" && !Array.isArray(data60))){const err116 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/address",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}}else {const err117 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data54.areaServed !== undefined){let data61 = data54.areaServed;const _errs173 = errors;let valid43 = false;let passing10 = null;const _errs174 = errors;if(!(data61 && typeof data61 == "object" && !Array.isArray(data61))){const err118 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}var _valid11 = _errs174 === errors;if(_valid11){valid43 = true;passing10 = 0;}const _errs176 = errors;if(Array.isArray(data61)){if(data61.length < 1){const err119 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}const len12 = data61.length;for(let i12=0; i12<len12; i12++){let data62 = data61[i12];if(!(data62 && typeof data62 == "object" && !Array.isArray(data62))){const err120 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed/" + i12,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}}else {const err121 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}var _valid11 = _errs176 === errors;if(_valid11 && valid43){valid43 = false;passing10 = [passing10, 1];}else {if(_valid11){valid43 = true;passing10 = 1;}}if(!valid43){const err122 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {errors = _errs173;if(vErrors !== null){if(_errs173){vErrors.length = _errs173;}else {vErrors = null;}}}}}else {const err123 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}else {const err124 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}}else {const err125 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data63 = data["pagefront:availableLanguages"];if(Array.isArray(data63)){const len13 = data63.length;for(let i13=0; i13<len13; i13++){let data64 = data63[i13];if(data64 && typeof data64 == "object" && !Array.isArray(data64)){if(data64.lang === undefined){const err126 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(data64.url === undefined){const err127 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}for(const key2 in data64){if(!((key2 === "lang") || (key2 === "url"))){const err128 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data64.lang !== undefined){if(typeof data64.lang !== "string"){const err129 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}if(data64.url !== undefined){let data66 = data64.url;if(typeof data66 === "string"){if(!(formats0(data66))){const err130 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}else {const err131 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}else {const err132 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}}else {const err133 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}}else {const err134 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}validate72.errors = vErrors;return errors === 0;}validate72.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate71(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate71.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern5.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate72(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate71.errors = vErrors;return errors === 0;}validate71.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|