@hpcc-js/ddl-shim 2.17.20 → 2.17.21

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/dist/index.min.js CHANGED
@@ -1 +1,3 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e=e||self)["@hpcc-js/ddl-shim"]={})}(this,function(e){"use strict";function r(e){return void 0!==e.WUID}function t(e){return!0===e.databomb}function a(e){return void 0!==e.URL}function i(e){return"PIE"===e.type||"BAR"===e.type}function s(e){return"LINE"===e.type}function o(e){return"CHORO"===e.type}function n(e){return"TABLE"===e.type}function l(e){return"SLIDER"===e.type}function u(e){return"GRAPH"===e.type}function p(e){return"FORM"===e.type}var d=Object.freeze({__proto__:null,isWorkunitDatasource:r,isDatabombDatasource:t,isHipieDatasource:a,isPieVisualization:i,isLineVisualization:s,isChoroVisualization:o,isTableVisualization:n,isSliderVisualization:l,isGraphVisualization:u,isHeatMapVisualization:function(e){return"HEAT_MAP"===e.type},isFormVisualization:p,isUSStateMapping:function(e){return void 0!==e.state},isUSCountyMapping:function(e){return void 0!==e.county},isGeohashMapping:function(e){return void 0!==e.geohash}});function c(e){return void 0!==e.output&&!f(e)}function f(e){return void 0!==e.request}var h=Object.freeze({__proto__:null,isDatabombRef:function(e){return!c(e)&&!f(e)},isWUResultRef:c,isRoxieServiceRef:f,isIFilterCondition:function(e){return!!e.viewID},isFilterActivity:function(e){return"filter"===e.type},isProjectActivity:function(e){return"project"===e.type},isMappingsActivity:function(e){return"mappings"===e.type},isGroupByActivity:function(e){return"groupby"===e.type},isSortActivity:function(e){return"sort"===e.type},isLimitActivity:function(e){return"limit"===e.type},VisibilitySet:["normal","flyout"]}),m=function(){return(m=Object.assign||function(e){for(var r,t=1,a=arguments.length;t<a;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e}).apply(this,arguments)};function v(e,r,t){if(t||2===arguments.length)for(var a,i=0,s=r.length;i<s;i++)!a&&i in r||(a||(a=Array.prototype.slice.call(r,0,i)),a[i]=r[i]);return e.concat(a||r)}var y={c3chart_Bar:"chart_Bar",c3chart_Column:"chart_Column",c3chart_Pie:"chart_Pie",c3chart_Area:"chart_Area",c3chart_Line:"chart_Line",amchart_Bar:"chart_Bar",amchart_Column:"chart_Column",amchart_Pie:"chart_Pie",amchart_Area:"chart_Area",amchart_Line:"chart_Line",google_Bar:"chart_Bar",google_Column:"chart_Column",google_Pie:"chart_Pie",google_Area:"chart_Area",google_Line:"chart_Line",other_Table:"dgrid_Table"},g={xAxisLabelRotation:[{name:"xAxisOverlapMode",transform:function(e){return"rotate"}},{name:"xAxisLabelRotation",transform:function(e){return e}}],tooltipLabelColor:{name:"tooltipLabelColor"},tooltipSeriesColor:{name:"tooltipSeriesColor"},tooltipValueColor:{name:"tooltipValueColor"},tooltipValueFormat:{name:"tooltipValueFormat"},timePattern:{name:"xAxisTypeTimePattern"},smoothLines:{name:"interpolate",transform:function(e){return!1===e?"linear":"catmullRom"}},holePercent:{name:"innerRadius"},flip:{name:"orientation",transform:function(e){return e?"vertical":"horizontal"}},bottomText:{name:"xAxisTitle"},xAxisTypeTimePattern:{name:"xAxisTypeTimePattern"},yAxisTypeTimePattern:{name:"yAxisTypeTimePattern"},valueFormat:{name:"tooltipValueFormat"},stacked:{name:"yAxisStacked"},showYGrid:{name:"yAxisGuideLines"},showXGrid:{name:"xAxisGuideLines"},showValueLabel:{name:"showValue"},low:{name:"yAxisDomainLow"},high:{name:"yAxisDomainHigh"},fillOpacity:{name:"interpolateFillOpacity"},areaFillOpacity:{name:"interpolateFillOpacity"},showToolbar:{name:"titleVisible"},showCSV:{name:"downloadButtonVisible"}};function P(e,r){e.dataviews.forEach(function(e){var t=e.id,a=function e(r,t,a){var i;for(var s in r){if(s===t&&r[s]===a){i=r;break}if(r[s]&&"object"==typeof r[s]&&void 0!==(i=e(r[s],t,a)))break}return i}(r,"__id",t);if(a){var i=a.__properties,s=a.__properties.chart?a.__properties.chart:a.__properties.widget,o=s.__properties;!function(r){e.visualization.__class=(t=r.__class,y[t]?y[t]:t),e.visualization.properties.__class="marshaller_VizChartPanel",e.visualization.properties.widget||(e.visualization.properties.widget={});var t;e.visualization.properties.widget.__class=e.visualization.__class}(s),function(r,t){for(var a in e.visualization.title=r.title||"",e.visualization.description="",e.visualization.visibility="flyout"===e.visualization.visibility?"flyout":"normal",e.visualization.chartType=e.visualization.__class.split("_")[1],r)if(void 0!==g[a]){var i=g[a].name;"function"==typeof g[a].transform?e.visualization.properties[i]=g[a].transform(r[a]):e.visualization.properties[i]=r[a]}t&&t.showLegend&&e.visualization.properties&&(e.visualization.properties.legendVisible=!0)}(i,o),function(r,t){e.visualization.title=e.visualization.title||t.title||"",e.visualization.description="",e.visualization.visibility="flyout"===e.visualization.visibility?"flyout":"normal",e.visualization.chartType=e.visualization.__class.split("_")[1];var a=function(r){if(void 0!==g[r])if(g[r]instanceof Array)g[r].forEach(function(a){var i=a.name;e.visualization.properties.widget[i]=a.transform(t[r]),"function"==typeof g[r].transform?e.visualization.properties.widget[i]=g[r].transform(t[r]):e.visualization.properties.widget[i]=t[r]});else{var a=g[r].name;e.visualization.properties.widget[a]=g[r].transform(t[r])}};for(var i in t)a(i)}(0,o),e.visualization.properties.chartType&&(e.visualization.properties.charttype=e.visualization.properties.chartType)}else console.warn(t+" not found in dermObj")})}function b(e){return e}var E=function(){function e(e,r,t,a){void 0===r&&(r="http://localhost:8010"),void 0===t&&(t="WUID"),void 0===a&&(a=!0),this._datasources={},this._datasourceUpdates={},this._visualizations={},this._ddl2Datasources={},this._ddl2DatasourceFields={},this._ddl2Dataviews={},this._ddl2DataviewActivities={},this._ddl=e,this._baseUrl=r,this._wuid=t,this._toLowerCase=a,this.indexDDL(),this.readDDL()}return e.prototype.toLowerCase=function(e){return this._toLowerCase?e.toLowerCase():e},e.prototype.isVizDatasourceRoxie=function(e){if(e.source&&a(this._datasources[e.source.id]))return!0;return!1},e.prototype.getDatasourceOutputs=function(e,r){for(var t=[],a=this._datasources[e],i=0,s=a.outputs;i<s.length;i++){var o=s[i];if(o.notify)for(var n=0,l=o.notify;n<l.length;n++){l[n]===r&&t.push({datasource:a,output:o})}}return t},e.prototype.getDatasourceFilters=function(e,r){for(var t={},a=0,i=this.getDatasourceOutputs(e,r);a<i.length;a++){var s=i[a];if(s.output.filter)for(var o=0,n=s.output.filter;o<n.length;o++){var l=n[o];t[l.fieldid]={datasource:s.datasource,output:s.output,filter:l}}}return t},e.prototype.indexDDL=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var i=a[t];this._visualizations[i.id]=i}for(var s=0,o=this._ddl.datasources;s<o.length;s++){var n=o[s];this._datasources[n.id]=n;for(var l=0,u=n.outputs;l<u.length;l++){var p=u[l];if(p.notify)for(var d=0,c=p.notify;d<c.length;d++){var f=c[d];this._datasourceUpdates[f]={id:n.id,output:p.from||p.id}}}}},e.prototype.readDDL=function(){for(var e=0,a=this._ddl.datasources;e<a.length;e++){var i=a[e];if(r(i)){for(var s={type:"wuresult",id:i.id,url:this._baseUrl,wuid:this._wuid,outputs:{}},o=0,n=i.outputs;o<n.length;o++){var l=n[o];this.output2output(l,s.outputs)}this._ddl2Datasources[i.id]=s}else if(t(i));else{for(var u=i.URL.split("/WsEcl/submit/query/"),p=u[0],d=u[1].split("/"),c=(s={type:"hipie",id:i.id,url:p,querySet:d[0],queryID:d[1],inputs:[],outputs:{}},0),f=i.outputs;c<f.length;c++){l=f[c];this.output2output(l,s.outputs)}this._ddl2Datasources[i.id]=s}}for(var h=0,m=this._ddl.dashboards;h<m.length;h++)for(var v=0,y=m[h].visualizations;v<y.length;v++){var g=y[v];"FORM"===g.type?(this._ddl2Datasources[g.id]={type:"form",id:g.id,fields:this.formFields2field(g.fields)},this._datasourceUpdates[g.id]={id:g.id}):"SLIDER"===g.type&&(this._ddl2Datasources[g.id]={type:"form",id:g.id,fields:this.formFields2field(g.fields,!0)},this._datasourceUpdates[g.id]={id:g.id}),this._ddl2Dataviews[g.id]=this.anyViz2view(g)}this.readGroupBy(),this.readFilters(),this.readSort(),this.readMappings()},e.prototype.readGroupBy=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var i=a[t];if(i.fields){for(var s=[],o=[],n=[],l=0,u=i.fields;l<u.length;l++){var p=u[l];if(p.properties&&p.properties.function)switch(p.properties.function){case"SUM":case"MIN":case"MAX":n.push({type:this.func2aggr(p.properties.function),inFieldID:this.toLowerCase(p.properties.params.param1),fieldID:this.toLowerCase(p.id)});break;case"AVE":n.push({type:this.func2aggr(p.properties.function),inFieldID:this.toLowerCase(p.properties.params.param1),baseCountFieldID:p.properties.params.param2?this.toLowerCase(p.properties.params.param2):void 0,fieldID:this.toLowerCase(p.id)});break;case"SCALE":if("object"==typeof p.properties.params.param1){var d=p.properties.params.param1;switch(d.function){case"SUM":case"MIN":case"MAX":n.push({type:this.func2aggr(d.function),inFieldID:this.toLowerCase(d.params.param1),fieldID:this.toLowerCase(p.id)})}}s.push({type:"scale",sourceFieldID:this.toLowerCase(p.id),fieldID:this.toLowerCase(p.id),factor:+p.properties.params.param2});break;default:throw o.push(this.toLowerCase(p.id)),new Error("Unhandled field function: "+p.properties.function)}else o.push(this.toLowerCase(p.id))}s.length&&(this._ddl2DataviewActivities[i.id].project.transformations=s),n.length&&(this._ddl2DataviewActivities[i.id].groupBy.groupByIDs=v([],o),this._ddl2DataviewActivities[i.id].groupBy.aggregates=n)}}},e.prototype.func2aggr=function(e){switch(e){case"SUM":return"sum";case"AVE":return"mean";case"MIN":return"min";case"MAX":return"max"}throw new Error("Unknown DDL1 Function Type: "+e)},e.prototype.readMappings=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var d=a[t];if(p(d));else if(i(d))this.readPieMappings(d);else if(o(d))this.readChoroMappings(d);else if(s(d))this.readLineMappings(d);else if(n(d))this.readTableMappings(d);else if(u(d))this.readGraphMappings(d);else{if(!l(d))throw new Error("Unkown DDL1 mapping type: "+d.type);this.readSliderMappings(d)}}},e.prototype.readPieMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.label)}),r.transformations.push({fieldID:"weight",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.weight[0])})},e.prototype.readChoroMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(this.anyChoroMapping2label(e.source.mappings))}),r.transformations.push({fieldID:"weight",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.weight[0])})},e.prototype.anyChoroMapping2label=function(e){return e.state||e.county||e.geohash},e.prototype.readLineMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:e.source.mappings.x[0],type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.x[0])});for(var t=0;t<e.source.mappings.y.length;++t)r.transformations.push({fieldID:e.source.mappings.y[t],type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.y[t])})},e.prototype.readTableMappings=function(e){for(var r=this._ddl2DataviewActivities[e.id].mappings,t=0;t<e.label.length;++t)r.transformations.push({fieldID:e.label[t],type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.value[t])})},e.prototype.readGraphEnums=function(e,r){void 0===r&&(r=!1);var t=[];if(e)for(var a in e){var i={};for(var s in e[a])"faChar"===s?i[s]=b(e[a][s]):r&&0===s.indexOf("icon_")?(console.log("Deprecated flag property: "+s),i[s.split("icon_")[1]]=e[a][s]):i[s]=e[a][s];r&&"0"===a||t.push({value:a,newValue:i})}return t},e.prototype.readGraphMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:"uid",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.uid)}),r.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.label)}),e.icon.fieldid&&r.transformations.push({fieldID:"icon",type:"map",sourceFieldID:this.toLowerCase(e.icon.fieldid),default:{fachar:b(e.icon.faChar)},mappings:this.readGraphEnums(e.icon.valuemappings)});var t=0;if(e.flag)for(var a=0,i=e.flag;a<i.length;a++){var s=i[a];s.fieldid&&r.transformations.push({fieldID:"annotation_"+t++,type:"map",sourceFieldID:this.toLowerCase(s.fieldid),default:{},mappings:this.readGraphEnums(s.valuemappings,!0)})}r.transformations.push({fieldID:"links",type:"=",sourceFieldID:this.toLowerCase(e.source.link.childfile),transformations:[{fieldID:"uid",type:"=",sourceFieldID:this.toLowerCase(e.source.link.mappings.uid)}]})},e.prototype.readSliderMappings=function(e){this._ddl2DataviewActivities[e.id].mappings.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.label)})},e.prototype.readFilters=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var i=a[t];if(i.events)for(var s in i.events)for(var o=0,n=i.events[s].updates;o<n.length;o++){var l=n[o],u=this._ddl2Dataviews[l.visualization],p=this.getDatasourceFilters(l.datasource,u.id);if(l.mappings)if(f(u.datasource))for(var d in l.mappings)u.datasource.request.push({source:i.id,remoteFieldID:this.toLowerCase(d),localFieldID:this.toLowerCase(l.mappings[d])});else{var c={viewID:i.id,mappings:[]};for(var d in l.mappings){var h=l.mappings[d],m=h&&p[h]?p[h].filter:void 0;m?c.mappings.push({remoteFieldID:this.toLowerCase(d),localFieldID:this.toLowerCase(l.mappings[d]),condition:this.rule2condition(m.rule),nullable:m.nullable}):console.warn('Select Mapping "'+h+'" in viz "'+i.id+'" not found in filters for "'+u.id+'"')}this._ddl2DataviewActivities[u.id].filters.conditions.push(c)}}}},e.prototype.rule2condition=function(e){switch(e){case"set":return"in";case"notequals":return"!="}return e},e.prototype.readSort=function(){for(var e=this,r=0,t=this._ddl.dashboards;r<t.length;r++)for(var a=0,i=t[r].visualizations;a<i.length;a++){var s=i[a];if(s.source){if(s.source.sort)this._ddl2DataviewActivities[s.id].sort.conditions=s.source.sort.map(function(r){return 0===r.indexOf("-")?{fieldID:e.toLowerCase(r.substr(1)),descending:!0}:{fieldID:e.toLowerCase(r),descending:!1}});if(s.source.first)this._ddl2DataviewActivities[s.id].limit.limit=+s.source.first}}},e.prototype.anyViz2view=function(e){var r={type:"project",transformations:[]},t={type:"filter",conditions:[]},a={type:"groupby",groupByIDs:[],aggregates:[]},i={type:"sort",conditions:[]},s={type:"limit",limit:0},o={type:"mappings",transformations:[]};this._ddl2DataviewActivities[e.id]={project:r,filters:t,sort:i,groupBy:a,limit:s,mappings:o};var n=this.isVizDatasourceRoxie(e)?{id:this._datasourceUpdates[e.id].id,request:[],output:this._datasourceUpdates[e.id].output}:{id:this._datasourceUpdates[e.id].id,output:this._datasourceUpdates[e.id].output};return{id:e.id,datasource:n,activities:[r,t,i,a,s],visualization:m(m({id:e.id,title:e.title||"",description:"",visibility:e.properties&&!0===e.properties.flyout?"flyout":"normal"},this.type2chartType(e.type)),{mappings:o,properties:e.properties||{}})}},e.prototype.type2chartType=function(e){switch(e){case"LINE":return{chartType:"Line",__class:"chart_Line"};case"BUBBLE":return{chartType:"Bubble",__class:"chart_Bubble"};case"PIE":return{chartType:"Pie",__class:"chart_Pie"};case"BAR":return{chartType:"Column",__class:"chart_Column"};case"FORM":return{chartType:"FieldForm",__class:"form_FieldForm"};case"WORD_CLOUD":return{chartType:"WordCloud",__class:"chart_WordCloud"};case"CHORO":return{chartType:"ChoroplethStates",__class:"map_ChoroplethStates"};case"SUMMARY":return{chartType:"Summary",__class:"chart_Summary"};case"SLIDER":return{chartType:"FieldForm",__class:"form_FieldForm"};case"HEAT_MAP":return{chartType:"HeatMap",__class:"other_HeatMap"};case"2DCHART":return{chartType:"Column",__class:"chart_Column"};case"GRAPH":return{chartType:"AdjacencyGraph",__class:"graph_AdjacencyGraph"};case"TABLE":default:return{chartType:"Table",__class:"dgrid_Table"}}},e.prototype.formFields2field=function(e,r){var t=this;return void 0===r&&(r=!1),e?e.map(function(e){switch(e.properties.type){case"range":return{type:"range",id:e.id,default:e.properties.default?e.properties.default:void 0};case"dataset":return{type:"dataset",id:e.id,default:[],children:[]};default:return{type:t.formFieldType2fieldType(e.properties.datatype,r),id:e.id,default:e.properties.default?e.properties.default[0]:void 0}}}):[]},e.prototype.formFieldType2fieldType=function(e,r){switch(e){case"bool":case"boolean":return"boolean";case"integer":case"unsigned":case"float":case"double":case"real":return"number";case"string":return"string";default:return r?"number":"string"}},e.prototype.output2output=function(e,r){r[e.from||e.id]={fields:this.filters2fields(e.filter)}},e.prototype.filters2fields=function(e){return e?e.filter(function(e){var r=e.fieldid.split("-");return 1===r.length||"range"===r[1]}).map(function(e){return{type:"string",id:e.fieldid.split("-")[0]}}):[]},e.prototype.getVizField=function(e,r){return{type:"string",id:"",default:""}},e.prototype.writeDatasources=function(){var e=[];for(var r in this._ddl2Datasources)e.push(this._ddl2Datasources[r]);return e},e.prototype.writeDataviews=function(){var e=[];for(var r in this._ddl2Dataviews)e.push(this._ddl2Dataviews[r]);return e},e.prototype.writeProperties=function(){return{}},e.prototype.write=function(){return{version:"2.2.1",createdBy:{name:"@hpcc-js/ddl-shim",version:"2.17.20"},datasources:this.writeDatasources(),dataviews:this.writeDataviews(),properties:this.writeProperties()}},e}();"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function w(e,r,t){return e(t={path:r,exports:{},require:function(e,r){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==r&&t.path)}},t.exports),t.exports}function _(e){return e&&e.default||e}var I,D=w(function(e,r){!function(e){function r(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];if(r.length>1){r[0]=r[0].slice(0,-1);for(var a=r.length-1,i=1;i<a;++i)r[i]=r[i].slice(1,-1);return r[a]=r[a].slice(1),r.join("")}return r[0]}function t(e){return"(?:"+e+")"}function a(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function i(e){return e.toUpperCase()}function s(e){var a=r("[0-9]","[A-Fa-f]"),i=t(t("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+t("%[89A-Fa-f]"+a+"%"+a+a)+"|"+t("%"+a+a)),s="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",o=r("[\\:\\/\\?\\#\\[\\]\\@]",s),n=e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]",l=e?"[\\uE000-\\uF8FF]":"[]",u=r("[A-Za-z]","[0-9]","[\\-\\.\\_\\~]",n),p=(t("[A-Za-z]"+r("[A-Za-z]","[0-9]","[\\+\\-\\.]")+"*"),t(t(i+"|"+r(u,s,"[\\:]"))+"*"),t(t("25[0-5]")+"|"+t("2[0-4][0-9]")+"|"+t("1[0-9][0-9]")+"|"+t("0?[1-9][0-9]")+"|0?0?[0-9]")),d=t(p+"\\."+p+"\\."+p+"\\."+p),c=t(a+"{1,4}"),f=t(t(c+"\\:"+c)+"|"+d),h=t(t(c+"\\:")+"{6}"+f),m=t("\\:\\:"+t(c+"\\:")+"{5}"+f),v=t(t(c)+"?\\:\\:"+t(c+"\\:")+"{4}"+f),y=t(t(t(c+"\\:")+"{0,1}"+c)+"?\\:\\:"+t(c+"\\:")+"{3}"+f),g=t(t(t(c+"\\:")+"{0,2}"+c)+"?\\:\\:"+t(c+"\\:")+"{2}"+f),P=t(t(t(c+"\\:")+"{0,3}"+c)+"?\\:\\:"+c+"\\:"+f),b=t(t(t(c+"\\:")+"{0,4}"+c)+"?\\:\\:"+f),E=t(t(t(c+"\\:")+"{0,5}"+c)+"?\\:\\:"+c),w=t(t(t(c+"\\:")+"{0,6}"+c)+"?\\:\\:"),_=t([h,m,v,y,g,P,b,E,w].join("|")),I=t(t(u+"|"+i)+"+"),D=(t("[vV]"+a+"+\\."+r(u,s,"[\\:]")+"+"),t(t(i+"|"+r(u,s))+"*"),t(i+"|"+r(u,s,"[\\:\\@]")));return t(t(i+"|"+r(u,s,"[\\@]"))+"+"),t(t(D+"|"+r("[\\/\\?]",l))+"*"),{NOT_SCHEME:new RegExp(r("[^]","[A-Za-z]","[0-9]","[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(r("[^\\%\\:]",u,s),"g"),NOT_HOST:new RegExp(r("[^\\%\\[\\]\\:]",u,s),"g"),NOT_PATH:new RegExp(r("[^\\%\\/\\:\\@]",u,s),"g"),NOT_PATH_NOSCHEME:new RegExp(r("[^\\%\\/\\@]",u,s),"g"),NOT_QUERY:new RegExp(r("[^\\%]",u,s,"[\\:\\@\\/\\?]",l),"g"),NOT_FRAGMENT:new RegExp(r("[^\\%]",u,s,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(r("[^]",u,s),"g"),UNRESERVED:new RegExp(u,"g"),OTHER_CHARS:new RegExp(r("[^\\%]",u,o),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+d+")$"),IPV6ADDRESS:new RegExp("^\\[?("+_+")"+t(t("\\%25|\\%(?!"+a+"{2})")+"("+I+")")+"?\\]?$")}}var o=s(!1),n=s(!0),l=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],a=!0,i=!1,s=void 0;try{for(var o,n=e[Symbol.iterator]();!(a=(o=n.next()).done)&&(t.push(o.value),!r||t.length!==r);a=!0);}catch(e){i=!0,s=e}finally{try{!a&&n.return&&n.return()}finally{if(i)throw s}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")},u=2147483647,p=/^xn--/,d=/[^\0-\x7E]/,c=/[\x2E\u3002\uFF0E\uFF61]/g,f={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,m=String.fromCharCode;function v(e){throw new RangeError(f[e])}function y(e,r){var t=e.split("@"),a="";t.length>1&&(a=t[0]+"@",e=t[1]);var i=(e=e.replace(c,".")).split("."),s=function(e,r){for(var t=[],a=e.length;a--;)t[a]=r(e[a]);return t}(i,r).join(".");return a+s}function g(e){for(var r=[],t=0,a=e.length;t<a;){var i=e.charCodeAt(t++);if(i>=55296&&i<=56319&&t<a){var s=e.charCodeAt(t++);56320==(64512&s)?r.push(((1023&i)<<10)+(1023&s)+65536):(r.push(i),t--)}else r.push(i)}return r}var P=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},b=function(e,r,t){var a=0;for(e=t?h(e/700):e>>1,e+=h(e/r);e>455;a+=36)e=h(e/35);return h(a+36*e/(e+38))},E=function(e){var r,t=[],a=e.length,i=0,s=128,o=72,n=e.lastIndexOf("-");n<0&&(n=0);for(var l=0;l<n;++l)e.charCodeAt(l)>=128&&v("not-basic"),t.push(e.charCodeAt(l));for(var p=n>0?n+1:0;p<a;){for(var d=i,c=1,f=36;;f+=36){p>=a&&v("invalid-input");var m=(r=e.charCodeAt(p++))-48<10?r-22:r-65<26?r-65:r-97<26?r-97:36;(m>=36||m>h((u-i)/c))&&v("overflow"),i+=m*c;var y=f<=o?1:f>=o+26?26:f-o;if(m<y)break;var g=36-y;c>h(u/g)&&v("overflow"),c*=g}var P=t.length+1;o=b(i-d,P,0==d),h(i/P)>u-s&&v("overflow"),s+=h(i/P),i%=P,t.splice(i++,0,s)}return String.fromCodePoint.apply(String,t)},w=function(e){var r=[],t=(e=g(e)).length,a=128,i=0,s=72,o=!0,n=!1,l=void 0;try{for(var p,d=e[Symbol.iterator]();!(o=(p=d.next()).done);o=!0){var c=p.value;c<128&&r.push(m(c))}}catch(e){n=!0,l=e}finally{try{!o&&d.return&&d.return()}finally{if(n)throw l}}var f=r.length,y=f;for(f&&r.push("-");y<t;){var E=u,w=!0,_=!1,I=void 0;try{for(var D,S=e[Symbol.iterator]();!(w=(D=S.next()).done);w=!0){var F=D.value;F>=a&&F<E&&(E=F)}}catch(e){_=!0,I=e}finally{try{!w&&S.return&&S.return()}finally{if(_)throw I}}var $=y+1;E-a>h((u-i)/$)&&v("overflow"),i+=(E-a)*$,a=E;var R=!0,j=!1,C=void 0;try{for(var x,A=e[Symbol.iterator]();!(R=(x=A.next()).done);R=!0){var O=x.value;if(O<a&&++i>u&&v("overflow"),O==a){for(var T=i,L=36;;L+=36){var z=L<=s?1:L>=s+26?26:L-s;if(T<z)break;var q=T-z,k=36-z;r.push(m(P(z+q%k,0))),T=h(q/k)}r.push(m(P(T,0))),s=b(i,$,y==f),i=0,++y}}}catch(e){j=!0,C=e}finally{try{!R&&A.return&&A.return()}finally{if(j)throw C}}++i,++a}return r.join("")},_={version:"2.1.0",ucs2:{decode:g,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}(e))}},decode:E,encode:w,toASCII:function(e){return y(e,function(e){return d.test(e)?"xn--"+w(e):e})},toUnicode:function(e){return y(e,function(e){return p.test(e)?E(e.slice(4).toLowerCase()):e})}},I={};function D(e){var r=e.charCodeAt(0);return r<16?"%0"+r.toString(16).toUpperCase():r<128?"%"+r.toString(16).toUpperCase():r<2048?"%"+(r>>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function S(e){for(var r="",t=0,a=e.length;t<a;){var i=parseInt(e.substr(t+1,2),16);if(i<128)r+=String.fromCharCode(i),t+=3;else if(i>=194&&i<224){if(a-t>=6){var s=parseInt(e.substr(t+4,2),16);r+=String.fromCharCode((31&i)<<6|63&s)}else r+=e.substr(t,6);t+=6}else if(i>=224){if(a-t>=9){var o=parseInt(e.substr(t+4,2),16),n=parseInt(e.substr(t+7,2),16);r+=String.fromCharCode((15&i)<<12|(63&o)<<6|63&n)}else r+=e.substr(t,9);t+=9}else r+=e.substr(t,3),t+=3}return r}function F(e,r){function t(e){var t=S(e);return t.match(r.UNRESERVED)?t:e}return e.scheme&&(e.scheme=String(e.scheme).replace(r.PCT_ENCODED,t).toLowerCase().replace(r.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(r.PCT_ENCODED,t).replace(r.NOT_USERINFO,D).replace(r.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(r.PCT_ENCODED,t).toLowerCase().replace(r.NOT_HOST,D).replace(r.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(r.PCT_ENCODED,t).replace(e.scheme?r.NOT_PATH:r.NOT_PATH_NOSCHEME,D).replace(r.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(r.PCT_ENCODED,t).replace(r.NOT_QUERY,D).replace(r.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(r.PCT_ENCODED,t).replace(r.NOT_FRAGMENT,D).replace(r.PCT_ENCODED,i)),e}function $(e){return e.replace(/^0*(.*)/,"$1")||"0"}function R(e,r){var t=e.match(r.IPV4ADDRESS)||[],a=l(t,2),i=a[1];return i?i.split(".").map($).join("."):e}function j(e,r){var t=e.match(r.IPV6ADDRESS)||[],a=l(t,3),i=a[1],s=a[2];if(i){for(var o=i.toLowerCase().split("::").reverse(),n=l(o,2),u=n[0],p=n[1],d=p?p.split(":").map($):[],c=u.split(":").map($),f=r.IPV4ADDRESS.test(c[c.length-1]),h=f?7:8,m=c.length-h,v=Array(h),y=0;y<h;++y)v[y]=d[y]||c[m+y]||"";f&&(v[h-1]=R(v[h-1],r));var g=v.reduce(function(e,r,t){if(!r||"0"===r){var a=e[e.length-1];a&&a.index+a.length===t?a.length++:e.push({index:t,length:1})}return e},[]),P=g.sort(function(e,r){return r.length-e.length})[0],b=void 0;if(P&&P.length>1){var E=v.slice(0,P.index),w=v.slice(P.index+P.length);b=E.join(":")+"::"+w.join(":")}else b=v.join(":");return s&&(b+="%"+s),b}return e}var C=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,x=void 0==="".match(/(){0}/)[1];function A(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t={},a=!1!==r.iri?n:o;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var i=e.match(C);if(i){x?(t.scheme=i[1],t.userinfo=i[3],t.host=i[4],t.port=parseInt(i[5],10),t.path=i[6]||"",t.query=i[7],t.fragment=i[8],isNaN(t.port)&&(t.port=i[5])):(t.scheme=i[1]||void 0,t.userinfo=-1!==e.indexOf("@")?i[3]:void 0,t.host=-1!==e.indexOf("//")?i[4]:void 0,t.port=parseInt(i[5],10),t.path=i[6]||"",t.query=-1!==e.indexOf("?")?i[7]:void 0,t.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),t.host&&(t.host=j(R(t.host,a),a)),void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?t.reference="relative":void 0===t.fragment?t.reference="absolute":t.reference="uri":t.reference="same-document",r.reference&&"suffix"!==r.reference&&r.reference!==t.reference&&(t.error=t.error||"URI is not a "+r.reference+" reference.");var s=I[(r.scheme||t.scheme||"").toLowerCase()];if(r.unicodeSupport||s&&s.unicodeSupport)F(t,a);else{if(t.host&&(r.domainHost||s&&s.domainHost))try{t.host=_.toASCII(t.host.replace(a.PCT_ENCODED,S).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}F(t,o)}s&&s.parse&&s.parse(t,r)}else t.error=t.error||"URI can not be parsed.";return t}var O=/^\.\.?\//,T=/^\/\.(\/|$)/,L=/^\/\.\.(\/|$)/,z=/^\/?(?:.|\n)*?(?=\/|$)/;function q(e){for(var r=[];e.length;)if(e.match(O))e=e.replace(O,"");else if(e.match(T))e=e.replace(T,"/");else if(e.match(L))e=e.replace(L,"/"),r.pop();else if("."===e||".."===e)e="";else{var t=e.match(z);if(!t)throw new Error("Unexpected dot segment condition");var a=t[0];e=e.slice(a.length),r.push(a)}return r.join("")}function k(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=r.iri?n:o,a=[],i=I[(r.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,r),e.host)if(t.IPV6ADDRESS.test(e.host));else if(r.domainHost||i&&i.domainHost)try{e.host=r.iri?_.toUnicode(e.host):_.toASCII(e.host.replace(t.PCT_ENCODED,S).toLowerCase())}catch(t){e.error=e.error||"Host's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+t}F(e,t),"suffix"!==r.reference&&e.scheme&&(a.push(e.scheme),a.push(":"));var s=function(e,r){var t=!1!==r.iri?n:o,a=[];return void 0!==e.userinfo&&(a.push(e.userinfo),a.push("@")),void 0!==e.host&&a.push(j(R(String(e.host),t),t).replace(t.IPV6ADDRESS,function(e,r,t){return"["+r+(t?"%25"+t:"")+"]"})),"number"!=typeof e.port&&"string"!=typeof e.port||(a.push(":"),a.push(String(e.port))),a.length?a.join(""):void 0}(e,r);if(void 0!==s&&("suffix"!==r.reference&&a.push("//"),a.push(s),e.path&&"/"!==e.path.charAt(0)&&a.push("/")),void 0!==e.path){var l=e.path;r.absolutePath||i&&i.absolutePath||(l=q(l)),void 0===s&&(l=l.replace(/^\/\//,"/%2F")),a.push(l)}return void 0!==e.query&&(a.push("?"),a.push(e.query)),void 0!==e.fragment&&(a.push("#"),a.push(e.fragment)),a.join("")}function V(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments[3],i={};return a||(e=A(k(e,t),t),r=A(k(r,t),t)),!(t=t||{}).tolerant&&r.scheme?(i.scheme=r.scheme,i.userinfo=r.userinfo,i.host=r.host,i.port=r.port,i.path=q(r.path||""),i.query=r.query):(void 0!==r.userinfo||void 0!==r.host||void 0!==r.port?(i.userinfo=r.userinfo,i.host=r.host,i.port=r.port,i.path=q(r.path||""),i.query=r.query):(r.path?("/"===r.path.charAt(0)?i.path=q(r.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:i.path=r.path:i.path="/"+r.path,i.path=q(i.path)),i.query=r.query):(i.path=e.path,void 0!==r.query?i.query=r.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=r.fragment,i}function M(e,r){return e&&e.toString().replace(r&&r.iri?n.PCT_ENCODED:o.PCT_ENCODED,S)}var N={scheme:"http",domainHost:!0,parse:function(e,r){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,r){var t="https"===String(e.scheme).toLowerCase();return e.port!==(t?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},U={scheme:"https",domainHost:N.domainHost,parse:N.parse,serialize:N.serialize};function Q(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var H={scheme:"ws",domainHost:!0,parse:function(e,r){var t=e;return t.secure=Q(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t},serialize:function(e,r){if(e.port!==(Q(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var t=e.resourceName.split("?"),a=l(t,2),i=a[0],s=a[1];e.path=i&&"/"!==i?i:void 0,e.query=s,e.resourceName=void 0}return e.fragment=void 0,e}},B={scheme:"wss",domainHost:H.domainHost,parse:H.parse,serialize:H.serialize},K={},G="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",W="[0-9A-Fa-f]",J=t(t("%[EFef][0-9A-Fa-f]%"+W+W+"%"+W+W)+"|"+t("%[89A-Fa-f][0-9A-Fa-f]%"+W+W)+"|"+t("%"+W+W)),Z=r("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),X=new RegExp(G,"g"),Y=new RegExp(J,"g"),ee=new RegExp(r("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',Z),"g"),re=new RegExp(r("[^]",G,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),te=re;function ae(e){var r=S(e);return r.match(X)?r:e}var ie={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var i=!1,s={},o=t.query.split("&"),n=0,l=o.length;n<l;++n){var u=o[n].split("=");switch(u[0]){case"to":for(var p=u[1].split(","),d=0,c=p.length;d<c;++d)a.push(p[d]);break;case"subject":t.subject=M(u[1],r);break;case"body":t.body=M(u[1],r);break;default:i=!0,s[M(u[0],r)]=M(u[1],r)}}i&&(t.headers=s)}t.query=void 0;for(var f=0,h=a.length;f<h;++f){var m=a[f].split("@");if(m[0]=M(m[0]),r.unicodeSupport)m[1]=M(m[1],r).toLowerCase();else try{m[1]=_.toASCII(M(m[1],r).toLowerCase())}catch(e){t.error=t.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}a[f]=m.join("@")}return t},serialize:function(e,r){var t,a=e,s=null!=(t=e.to)?t instanceof Array?t:"number"!=typeof t.length||t.split||t.setInterval||t.call?[t]:Array.prototype.slice.call(t):[];if(s){for(var o=0,n=s.length;o<n;++o){var l=String(s[o]),u=l.lastIndexOf("@"),p=l.slice(0,u).replace(Y,ae).replace(Y,i).replace(ee,D),d=l.slice(u+1);try{d=r.iri?_.toUnicode(d):_.toASCII(M(d,r).toLowerCase())}catch(e){a.error=a.error||"Email address's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+e}s[o]=p+"@"+d}a.path=s.join(",")}var c=e.headers=e.headers||{};e.subject&&(c.subject=e.subject),e.body&&(c.body=e.body);var f=[];for(var h in c)c[h]!==K[h]&&f.push(h.replace(Y,ae).replace(Y,i).replace(re,D)+"="+c[h].replace(Y,ae).replace(Y,i).replace(te,D));return f.length&&(a.query=f.join("&")),a}},se=/^([^\:]+)\:(.*)/,oe={scheme:"urn",parse:function(e,r){var t=e.path&&e.path.match(se),a=e;if(t){var i=r.scheme||a.scheme||"urn",s=t[1].toLowerCase(),o=t[2],n=i+":"+(r.nid||s),l=I[n];a.nid=s,a.nss=o,a.path=void 0,l&&(a=l.parse(a,r))}else a.error=a.error||"URN can not be parsed.";return a},serialize:function(e,r){var t=r.scheme||e.scheme||"urn",a=e.nid,i=t+":"+(r.nid||a),s=I[i];s&&(e=s.serialize(e,r));var o=e,n=e.nss;return o.path=(a||r.nid)+":"+n,o}},ne=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,le={scheme:"urn:uuid",parse:function(e,r){var t=e;return t.uuid=t.nss,t.nss=void 0,r.tolerant||t.uuid&&t.uuid.match(ne)||(t.error=t.error||"UUID is not valid."),t},serialize:function(e,r){var t=e;return t.nss=(e.uuid||"").toLowerCase(),t}};I[N.scheme]=N,I[U.scheme]=U,I[H.scheme]=H,I[B.scheme]=B,I[ie.scheme]=ie,I[oe.scheme]=oe,I[le.scheme]=le,e.SCHEMES=I,e.pctEncChar=D,e.pctDecChars=S,e.parse=A,e.removeDotSegments=q,e.serialize=k,e.resolveComponents=V,e.resolve=function(e,r,t){var a=function(e,r){var t=e;if(r)for(var a in r)t[a]=r[a];return t}({scheme:"null"},t);return k(V(A(e,a),A(r,a),a,!0),a)},e.normalize=function(e,r){return"string"==typeof e?e=k(A(e,r),r):"object"===a(e)&&(e=A(k(e,r),r)),e},e.equal=function(e,r,t){return"string"==typeof e?e=k(A(e,t),t):"object"===a(e)&&(e=k(e,t)),"string"==typeof r?r=k(A(r,t),t):"object"===a(r)&&(r=k(r,t)),e===r},e.escapeComponent=function(e,r){return e&&e.toString().replace(r&&r.iri?n.ESCAPE:o.ESCAPE,D)},e.unescapeComponent=M,Object.defineProperty(e,"__esModule",{value:!0})}(r)});(I=D)&&I.__esModule&&Object.prototype.hasOwnProperty.call(I,"default")&&I.default;var S=Array.isArray,F=Object.keys,$=Object.prototype.hasOwnProperty,R=function e(r,t){if(r===t)return!0;if(r&&t&&"object"==typeof r&&"object"==typeof t){var a,i,s,o=S(r),n=S(t);if(o&&n){if((i=r.length)!=t.length)return!1;for(a=i;0!=a--;)if(!e(r[a],t[a]))return!1;return!0}if(o!=n)return!1;var l=r instanceof Date,u=t instanceof Date;if(l!=u)return!1;if(l&&u)return r.getTime()==t.getTime();var p=r instanceof RegExp,d=t instanceof RegExp;if(p!=d)return!1;if(p&&d)return r.toString()==t.toString();var c=F(r);if((i=c.length)!==F(t).length)return!1;for(a=i;0!=a--;)if(!$.call(t,c[a]))return!1;for(a=i;0!=a--;)if(!e(r[s=c[a]],t[s]))return!1;return!0}return r!=r&&t!=t},j={copy:function(e,r){for(var t in r=r||{},e)r[t]=e[t];return r},checkDataType:C,checkDataTypes:function(e,r){switch(e.length){case 1:return C(e[0],r,!0);default:var t="",a=A(e);for(var i in a.array&&a.object&&(t=a.null?"(":"(!"+r+" || ",t+="typeof "+r+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer,a)t+=(t?" && ":"")+C(i,r,!0);return t}},coerceToTypes:function(e,r){if(Array.isArray(r)){for(var t=[],a=0;a<r.length;a++){var i=r[a];x[i]?t[t.length]=i:"array"===e&&"array"===i&&(t[t.length]=i)}if(t.length)return t}else{if(x[r])return[r];if("array"===e&&"array"===r)return["array"]}},toHash:A,getProperty:L,escapeQuotes:z,equal:R,ucs2length:function(e){for(var r,t=0,a=e.length,i=0;i<a;)t++,(r=e.charCodeAt(i++))>=55296&&r<=56319&&i<a&&56320==(64512&(r=e.charCodeAt(i)))&&i++;return t},varOccurences:function(e,r){r+="[^0-9]";var t=e.match(new RegExp(r,"g"));return t?t.length:0},varReplace:function(e,r,t){return r+="([^0-9])",t=t.replace(/\$/g,"$$$$"),e.replace(new RegExp(r,"g"),t+"$1")},cleanUpCode:function(e){return e.replace(q,"").replace(k,"").replace(V,"if (!($1))")},finalCleanUpCode:function(e,r){var t=e.match(M);t&&2==t.length&&(e=r?e.replace(U,"").replace(B,K):e.replace(N,"").replace(Q,H));return(t=e.match(G))&&3===t.length?e.replace(W,""):e},schemaHasRules:function(e,r){if("boolean"==typeof e)return!e;for(var t in e)if(r[t])return!0},schemaHasRulesExcept:function(e,r,t){if("boolean"==typeof e)return!e&&"not"!=t;for(var a in e)if(a!=t&&r[a])return!0},schemaUnknownRules:function(e,r){if("boolean"==typeof e)return;for(var t in e)if(!r[t])return t},toQuotedString:J,getPathExpr:function(e,r,t,a){return Y(e,t?"'/' + "+r+(a?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):a?"'[' + "+r+" + ']'":"'[\\'' + "+r+" + '\\']'")},getPath:function(e,r,t){var a=J(t?"/"+ee(r):L(r));return Y(e,a)},getData:function(e,r,t){var a,i,s,o;if(""===e)return"rootData";if("/"==e[0]){if(!Z.test(e))throw new Error("Invalid JSON-pointer: "+e);i=e,s="rootData"}else{if(!(o=e.match(X)))throw new Error("Invalid JSON-pointer: "+e);if(a=+o[1],"#"==(i=o[2])){if(a>=r)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(a>r)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(s="data"+(r-a||""),!i)return s}for(var n=s,l=i.split("/"),u=0;u<l.length;u++){var p=l[u];p&&(s+=L(re(p)),n+=" && "+s)}return n},unescapeFragment:function(e){return re(decodeURIComponent(e))},unescapeJsonPointer:re,escapeFragment:function(e){return encodeURIComponent(ee(e))},escapeJsonPointer:ee};function C(e,r,t){var a=t?" !== ":" === ",i=t?" || ":" && ",s=t?"!":"",o=t?"":"!";switch(e){case"null":return r+a+"null";case"array":return s+"Array.isArray("+r+")";case"object":return"("+s+r+i+"typeof "+r+a+'"object"'+i+o+"Array.isArray("+r+"))";case"integer":return"(typeof "+r+a+'"number"'+i+o+"("+r+" % 1)"+i+r+a+r+")";default:return"typeof "+r+a+'"'+e+'"'}}var x=A(["string","number","integer","boolean","null"]);function A(e){for(var r={},t=0;t<e.length;t++)r[e[t]]=!0;return r}var O=/^[a-z$_][a-z$_0-9]*$/i,T=/'|\\/g;function L(e){return"number"==typeof e?"["+e+"]":O.test(e)?"."+e:"['"+z(e)+"']"}function z(e){return e.replace(T,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var q=/else\s*{\s*}/g,k=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,V=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var M=/[^v.]errors/g,N=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,U=/var errors = 0;|var vErrors = null;/g,Q="return errors === 0;",H="validate.errors = null; return true;",B=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,K="return data;",G=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,W=/if \(rootData === undefined\) rootData = data;/;function J(e){return"'"+z(e)+"'"}var Z=/^\/(?:[^~]|~0|~1)*$/,X=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Y(e,r){return'""'==e?r:(e+" + "+r).replace(/' \+ '/g,"")}function ee(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function re(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}var te=function(e){j.copy(e,this)};var ae=w(function(e){var r=e.exports=function(e,t,a){"function"==typeof t&&(a=t,t={}),function e(t,a,i,s,o,n,l,u,p,d){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var c in a(s,o,n,l,u,p,d),s){var f=s[c];if(Array.isArray(f)){if(c in r.arrayKeywords)for(var h=0;h<f.length;h++)e(t,a,i,f[h],o+"/"+c+"/"+h,n,o,c,s,h)}else if(c in r.propsKeywords){if(f&&"object"==typeof f)for(var m in f)e(t,a,i,f[m],o+"/"+c+"/"+m.replace(/~/g,"~0").replace(/\//g,"~1"),n,o,c,s,m)}else(c in r.keywords||t.allKeys&&!(c in r.skipKeywords))&&e(t,a,i,f,o+"/"+c,n,o,c,s)}i(s,o,n,l,u,p,d)}}(t,"function"==typeof(a=t.cb||a)?a:a.pre||function(){},a.post||function(){},e,"",e)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}}),ie=se;function se(e,r,t){var a=this._refs[t];if("string"==typeof a){if(!this._refs[a])return se.call(this,e,r,a);a=this._refs[a]}if((a=a||this._schemas[t])instanceof te)return pe(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var i,s,o,n=oe.call(this,r,t);return n&&(i=n.schema,r=n.root,o=n.baseId),i instanceof te?s=i.validate||e.call(this,i.schema,r,void 0,o):void 0!==i&&(s=pe(i,this._opts.inlineRefs)?i:e.call(this,i,r,void 0,o)),s}function oe(e,r){var t=D.parse(r),a=ce(t),i=de(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==i){var s=he(a),o=this._refs[s];if("string"==typeof o)return function(e,r,t){var a=oe.call(this,e,r);if(a){var i=a.schema,s=a.baseId;e=a.root;var o=this._getId(i);return o&&(s=me(s,o)),le.call(this,t,s,i,e)}}.call(this,e,o,t);if(o instanceof te)o.validate||this._compile(o),e=o;else{if(!((o=this._schemas[s])instanceof te))return;if(o.validate||this._compile(o),s==he(r))return{schema:o,root:e,baseId:i};e=o}if(!e.schema)return;i=de(this._getId(e.schema))}return le.call(this,t,i,e.schema,e)}se.normalizeId=he,se.fullPath=de,se.url=me,se.ids=function(e){var r=he(this._getId(e)),t={"":r},a={"":de(r,!1)},i={},s=this;return ae(e,{allKeys:!0},function(e,r,o,n,l,u,p){if(""!==r){var d=s._getId(e),c=t[n],f=a[n]+"/"+l;if(void 0!==p&&(f+="/"+("number"==typeof p?p:j.escapeFragment(p))),"string"==typeof d){d=c=he(c?D.resolve(c,d):d);var h=s._refs[d];if("string"==typeof h&&(h=s._refs[h]),h&&h.schema){if(!R(e,h.schema))throw new Error('id "'+d+'" resolves to more than one schema')}else if(d!=he(f))if("#"==d[0]){if(i[d]&&!R(e,i[d]))throw new Error('id "'+d+'" resolves to more than one schema');i[d]=e}else s._refs[d]=f}t[r]=c,a[r]=f}}),i},se.inlineRef=pe,se.schema=oe;var ne=j.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function le(e,r,t,a){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s<i.length;s++){var o=i[s];if(o){if(void 0===(t=t[o=j.unescapeFragment(o)]))break;var n;if(!ne[o]&&((n=this._getId(t))&&(r=me(r,n)),t.$ref)){var l=me(r,t.$ref),u=oe.call(this,a,l);u&&(t=u.schema,a=u.root,r=u.baseId)}}}return void 0!==t&&t!==a.schema?{schema:t,root:a,baseId:r}:void 0}}var ue=j.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function pe(e,r){return!1!==r&&(void 0===r||!0===r?function e(r){var t;if(Array.isArray(r)){for(var a=0;a<r.length;a++)if("object"==typeof(t=r[a])&&!e(t))return!1}else for(var i in r){if("$ref"==i)return!1;if("object"==typeof(t=r[i])&&!e(t))return!1}return!0}(e):r?function e(r){var t,a=0;if(Array.isArray(r)){for(var i=0;i<r.length;i++)if("object"==typeof(t=r[i])&&(a+=e(t)),a==1/0)return 1/0}else for(var s in r){if("$ref"==s)return 1/0;if(ue[s])a++;else if("object"==typeof(t=r[s])&&(a+=e(t)+1),a==1/0)return 1/0}return a}(e)<=r:void 0)}function de(e,r){return!1!==r&&(e=he(e)),ce(D.parse(e))}function ce(e){return D.serialize(e).split("#")[0]+"#"}var fe=/#\/?$/;function he(e){return e?e.replace(fe,""):""}function me(e,r){return r=he(r),D.resolve(e,r)}var ve={Validation:ge(function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0}),MissingRef:ge(ye)};function ye(e,r,t){this.message=t||ye.message(e,r),this.missingRef=ie.url(e,r),this.missingSchema=ie.normalizeId(ie.fullPath(this.missingRef))}function ge(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}ye.message=function(e,r){return"can't resolve reference "+r+" from id "+e};var Pe=function(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});var t,a="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(t=r.cmp,function(e){return function(r,a){var i={key:r,value:e[r]},s={key:a,value:e[a]};return t(i,s)}}),s=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0!==r){if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);var t,o;if(Array.isArray(r)){for(o="[",t=0;t<r.length;t++)t&&(o+=","),o+=e(r[t])||"null";return o+"]"}if(null===r)return"null";if(-1!==s.indexOf(r)){if(a)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var n=s.push(r)-1,l=Object.keys(r).sort(i&&i(r));for(o="",t=0;t<l.length;t++){var u=l[t],p=e(r[u]);p&&(o&&(o+=","),o+=JSON.stringify(u)+":"+p)}return s.splice(n,1),"{"+o+"}"}}(e)},be=function(e,r,t){var a="",i=!0===e.schema.$async,s=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var n=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(n){var l="unknown keyword: "+n;if("log"!==e.opts.strictKeywords)throw new Error(l);e.logger.warn(l)}}if(e.isTop&&(a+=" var validate = ",i&&(e.async=!0,a+="async "),a+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(a+=" /*# sourceURL="+o+" */ ")),"boolean"==typeof e.schema||!s&&!e.schema.$ref){var u=e.level,p=e.dataLevel,d=e.schema["false schema"],c=e.schemaPath+e.util.getProperty("false schema"),f=e.errSchemaPath+"/false schema",h=!e.opts.allErrors,m="data"+(p||""),v="valid"+u;if(!1===e.schema){e.isTop?h=!0:a+=" var "+v+" = false; ",(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'boolean schema is false' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";var y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?a+=i?" return data; ":" validate.errors = null; return true; ":a+=" var "+v+" = true; ";return e.isTop&&(a+=" }; return validate; "),a}if(e.isTop){var g=e.isTop;u=e.level=0,p=e.dataLevel=0,m="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var P="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(P);e.logger.warn(P)}a+=" var vErrors = null; ",a+=" var errors = 0; ",a+=" if (rootData === undefined) rootData = data; "}else{u=e.level,m="data"+((p=e.dataLevel)||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),i&&!e.async)throw new Error("async schema in sync schema");a+=" var errs_"+u+" = errors;"}v="valid"+u,h=!e.opts.allErrors;var b="",E="",w=e.schema.type,_=Array.isArray(w);if(w&&e.opts.nullable&&!0===e.schema.nullable&&(_?-1==w.indexOf("null")&&(w=w.concat("null")):"null"!=w&&(w=[w,"null"],_=!0)),_&&1==w.length&&(w=w[0],_=!1),e.schema.$ref&&s){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(s=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(a+=" "+e.RULES.all.$comment.code(e,"$comment")),w){if(e.opts.coerceTypes)var I=e.util.coerceToTypes(e.opts.coerceTypes,w);var D=e.RULES.types[w];if(I||_||!0===D||D&&!X(D)){c=e.schemaPath+".type",f=e.errSchemaPath+"/type",c=e.schemaPath+".type",f=e.errSchemaPath+"/type";var S=_?"checkDataTypes":"checkDataType";if(a+=" if ("+e.util[S](w,m,!0)+") { ",I){var F="dataType"+u,$="coerced"+u;a+=" var "+F+" = typeof "+m+"; ","array"==e.opts.coerceTypes&&(a+=" if ("+F+" == 'object' && Array.isArray("+m+")) "+F+" = 'array'; "),a+=" var "+$+" = undefined; ";var R="",j=I;if(j)for(var C,x=-1,A=j.length-1;x<A;)C=j[x+=1],x&&(a+=" if ("+$+" === undefined) { ",R+="}"),"array"==e.opts.coerceTypes&&"array"!=C&&(a+=" if ("+F+" == 'array' && "+m+".length == 1) { "+$+" = "+m+" = "+m+"[0]; "+F+" = typeof "+m+"; } "),"string"==C?a+=" if ("+F+" == 'number' || "+F+" == 'boolean') "+$+" = '' + "+m+"; else if ("+m+" === null) "+$+" = ''; ":"number"==C||"integer"==C?(a+=" if ("+F+" == 'boolean' || "+m+" === null || ("+F+" == 'string' && "+m+" && "+m+" == +"+m+" ","integer"==C&&(a+=" && !("+m+" % 1)"),a+=")) "+$+" = +"+m+"; "):"boolean"==C?a+=" if ("+m+" === 'false' || "+m+" === 0 || "+m+" === null) "+$+" = false; else if ("+m+" === 'true' || "+m+" === 1) "+$+" = true; ":"null"==C?a+=" if ("+m+" === '' || "+m+" === 0 || "+m+" === false) "+$+" = null; ":"array"==e.opts.coerceTypes&&"array"==C&&(a+=" if ("+F+" == 'string' || "+F+" == 'number' || "+F+" == 'boolean' || "+m+" == null) "+$+" = ["+m+"]; ");a+=" "+R+" if ("+$+" === undefined) { ",(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",a+=_?""+w.join(","):""+w,a+="' } ",!1!==e.opts.messages&&(a+=" , message: 'should be ",a+=_?""+w.join(","):""+w,a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ";var O=p?"data"+(p-1||""):"parentData";a+=" "+m+" = "+$+"; ",p||(a+="if ("+O+" !== undefined)"),a+=" "+O+"["+(p?e.dataPathArr[p]:"parentDataProperty")+"] = "+$+"; } "}else{(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",a+=_?""+w.join(","):""+w,a+="' } ",!1!==e.opts.messages&&(a+=" , message: 'should be ",a+=_?""+w.join(","):""+w,a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}a+=" } "}}if(e.schema.$ref&&!s)a+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",h&&(a+=" } if (errors === ",a+=g?"0":"errs_"+u,a+=") { ",E+="}");else{var T=e.RULES;if(T)for(var L=-1,z=T.length-1;L<z;)if(X(D=T[L+=1])){if(D.type&&(a+=" if ("+e.util.checkDataType(D.type,m)+") { "),e.opts.useDefaults)if("object"==D.type&&e.schema.properties){d=e.schema.properties;var q=Object.keys(d);if(q)for(var k,V=-1,M=q.length-1;V<M;){if(void 0!==(Q=d[k=q[V+=1]]).default){var N=m+e.util.getProperty(k);if(e.compositeRule){if(e.opts.strictDefaults){P="default is ignored for: "+N;if("log"!==e.opts.strictDefaults)throw new Error(P);e.logger.warn(P)}}else a+=" if ("+N+" === undefined ","empty"==e.opts.useDefaults&&(a+=" || "+N+" === null || "+N+" === '' "),a+=" ) "+N+" = ","shared"==e.opts.useDefaults?a+=" "+e.useDefault(Q.default)+" ":a+=" "+JSON.stringify(Q.default)+" ",a+="; "}}}else if("array"==D.type&&Array.isArray(e.schema.items)){var U=e.schema.items;if(U){x=-1;for(var Q,H=U.length-1;x<H;)if(void 0!==(Q=U[x+=1]).default){N=m+"["+x+"]";if(e.compositeRule){if(e.opts.strictDefaults){P="default is ignored for: "+N;if("log"!==e.opts.strictDefaults)throw new Error(P);e.logger.warn(P)}}else a+=" if ("+N+" === undefined ","empty"==e.opts.useDefaults&&(a+=" || "+N+" === null || "+N+" === '' "),a+=" ) "+N+" = ","shared"==e.opts.useDefaults?a+=" "+e.useDefault(Q.default)+" ":a+=" "+JSON.stringify(Q.default)+" ",a+="; "}}}var B=D.rules;if(B)for(var K,G=-1,W=B.length-1;G<W;)if(Y(K=B[G+=1])){var J=K.code(e,K.keyword,D.type);J&&(a+=" "+J+" ",h&&(b+="}"))}if(h&&(a+=" "+b+" ",b=""),D.type&&(a+=" } ",w&&w===D.type&&!I)){a+=" else { ";var Z;c=e.schemaPath+".type",f=e.errSchemaPath+"/type";(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",a+=_?""+w.join(","):""+w,a+="' } ",!1!==e.opts.messages&&(a+=" , message: 'should be ",a+=_?""+w.join(","):""+w,a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } "}h&&(a+=" if (errors === ",a+=g?"0":"errs_"+u,a+=") { ",E+="}")}}function X(e){for(var r=e.rules,t=0;t<r.length;t++)if(Y(r[t]))return!0}function Y(r){return void 0!==e.schema[r.keyword]||r.implements&&function(r){for(var t=r.implements,a=0;a<t.length;a++)if(void 0!==e.schema[t[a]])return!0}(r)}return h&&(a+=" "+E+" "),g?(i?(a+=" if (errors === 0) return data; ",a+=" else throw new ValidationError(vErrors); "):(a+=" validate.errors = vErrors; ",a+=" return errors === 0; "),a+=" }; return validate;"):a+=" var "+v+" = errors === errs_"+u+";",a=e.util.cleanUpCode(a),g&&(a=e.util.finalCleanUpCode(a,i)),a},Ee=j.ucs2length,we=ve.Validation,_e=function e(r,t,a,i){var s=this,o=this._opts,n=[void 0],l={},u=[],p={},d=[],c={},f=[];t=t||{schema:r,refVal:n,refs:l};var h=function(e,r,t){var a=Ie.call(this,e,r,t);return a>=0?{index:a,compiling:!0}:(a=this._compilations.length,this._compilations[a]={schema:e,root:r,baseId:t},{index:a,compiling:!1})}.call(this,r,t,i);var m=this._compilations[h.index];if(h.compiling)return m.callValidate=function e(){var r=m.validate;var t=r.apply(this,arguments);e.errors=r.errors;return t};var v=this._formats;var y=this.RULES;try{var g=b(r,t,a,i);m.validate=g;var P=m.callValidate;return P&&(P.schema=g.schema,P.errors=null,P.refs=g.refs,P.refVal=g.refVal,P.root=g.root,P.$async=g.$async,o.sourceCode&&(P.source=g.source)),g}finally{(function(e,r,t){var a=Ie.call(this,e,r,t);a>=0&&this._compilations.splice(a,1)}).call(this,r,t,i)}function b(r,a,i,p){var c=!a||a&&a.schema==r;if(a.schema!=t.schema)return e.call(s,r,a,i,p);var h,m=!0===r.$async,g=be({isTop:!0,schema:r,isRoot:c,baseId:p,root:a,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:ve.MissingRef,RULES:y,validate:be,util:j,resolve:ie,resolveRef:E,usePattern:I,useDefault:D,useCustomRule:S,opts:o,formats:v,logger:s.logger,self:s});g=Re(n,Fe)+Re(u,De)+Re(d,Se)+Re(f,$e)+g,o.processCode&&(g=o.processCode(g));try{var P=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",g);h=P(s,y,v,t,n,d,f,R,Ee,we),n[0]=h}catch(e){throw s.logger.error("Error compiling schema, function code:",g),e}return h.schema=r,h.errors=null,h.refs=l,h.refVal=n,h.root=c?h:a,m&&(h.$async=!0),!0===o.sourceCode&&(h.source={code:g,patterns:u,defaults:d}),h}function E(r,i,u){i=ie.url(r,i);var p,d,c=l[i];if(void 0!==c)return _(p=n[c],d="refVal["+c+"]");if(!u&&t.refs){var f=t.refs[i];if(void 0!==f)return p=t.refVal[f],d=w(i,p),_(p,d)}d=w(i);var h=ie.call(s,b,t,i);if(void 0===h){var m=a&&a[i];m&&(h=ie.inlineRef(m,o.inlineRefs)?m:e.call(s,m,t,a,r))}if(void 0!==h)return function(e,r){var t=l[e];n[t]=r}(i,h),_(h,d);!function(e){delete l[e]}(i)}function w(e,r){var t=n.length;return n[t]=r,l[e]=t,"refVal"+t}function _(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function I(e){var r=p[e];return void 0===r&&(r=p[e]=u.length,u[r]=e),"pattern"+r}function D(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return j.toQuotedString(e);case"object":if(null===e)return"null";var r=Pe(e),t=c[r];return void 0===t&&(t=c[r]=d.length,d[t]=e),"default"+t}}function S(e,r,t,a){if(!1!==s._opts.validateSchema){var i=e.definition.dependencies;if(i&&!i.every(function(e){return Object.prototype.hasOwnProperty.call(t,e)}))throw new Error("parent schema must have all required keywords: "+i.join(","));var n=e.definition.validateSchema;if(n){var l=n(r);if(!l){var u="keyword schema is invalid: "+s.errorsText(n.errors);if("log"!=s._opts.validateSchema)throw new Error(u);s.logger.error(u)}}}var p,d=e.definition.compile,c=e.definition.inline,h=e.definition.macro;if(d)p=d.call(s,r,t,a);else if(h)p=h.call(s,r,t,a),!1!==o.validateSchema&&s.validateSchema(p,!0);else if(c)p=c.call(s,a,e.keyword,r,t);else if(!(p=e.definition.validate))return;if(void 0===p)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var m=f.length;return f[m]=p,{code:"customRule"+m,validate:p}}};function Ie(e,r,t){for(var a=0;a<this._compilations.length;a++){var i=this._compilations[a];if(i.schema==e&&i.root==r&&i.baseId==t)return a}return-1}function De(e,r){return"var pattern"+e+" = new RegExp("+j.toQuotedString(r[e])+");"}function Se(e){return"var default"+e+" = defaults["+e+"];"}function Fe(e,r){return void 0===r[e]?"":"var refVal"+e+" = refVal["+e+"];"}function $e(e){return"var customRule"+e+" = customRules["+e+"];"}function Re(e,r){if(!e.length)return"";for(var t="",a=0;a<e.length;a++)t+=r(a,e);return t}var je=w(function(e){var r=e.exports=function(){this._cache={}};r.prototype.put=function(e,r){this._cache[e]=r},r.prototype.get=function(e){return this._cache[e]},r.prototype.del=function(e){delete this._cache[e]},r.prototype.clear=function(){this._cache={}}}),Ce=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,xe=[0,31,28,31,30,31,30,31,31,30,31,30,31],Ae=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,Oe=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,Te=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,Le=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,ze=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,qe=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,ke=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Ve=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Me=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,Ne=Ue;function Ue(e){return e="full"==e?"full":"fast",j.copy(Ue[e])}function Qe(e){var r=e.match(Ce);if(!r)return!1;var t=+r[1],a=+r[2],i=+r[3];return a>=1&&a<=12&&i>=1&&i<=(2==a&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(t)?29:xe[a])}function He(e,r){var t=e.match(Ae);if(!t)return!1;var a=t[1],i=t[2],s=t[3],o=t[5];return(a<=23&&i<=59&&s<=59||23==a&&59==i&&60==s)&&(!r||o)}Ue.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":Le,url:ze,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:Oe,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:We,uuid:qe,"json-pointer":ke,"json-pointer-uri-fragment":Ve,"relative-json-pointer":Me},Ue.full={date:Qe,time:He,"date-time":function(e){var r=e.split(Be);return 2==r.length&&Qe(r[0])&&He(r[1],!0)},uri:function(e){return Ke.test(e)&&Te.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":Le,url:ze,email:/^[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,hostname:function(e){return e.length<=255&&Oe.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:We,uuid:qe,"json-pointer":ke,"json-pointer-uri-fragment":Ve,"relative-json-pointer":Me};var Be=/t|\s/i;var Ke=/\/|:/;var Ge=/[^\\]\\Z/;function We(e){if(Ge.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}var Je=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n;var f="maximum"==r,h=f?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[h],v=e.opts.$data&&m&&m.$data,y=f?"<":">",g=f?">":"<",P=void 0;if(v){var b=e.util.getData(m.$data,o,e.dataPathArr),E="exclusive"+s,w="exclType"+s,_="exclIsNumber"+s,I="' + "+(F="op"+s)+" + '";i+=" var schemaExcl"+s+" = "+b+"; ",i+=" var "+E+"; var "+w+" = typeof "+(b="schemaExcl"+s)+"; if ("+w+" != 'boolean' && "+w+" != 'undefined' && "+w+" != 'number') { ";var D;P=h;(D=D||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(P||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+h+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var S=i;i=D.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+S+"]); ":i+=" validate.errors = ["+S+"]; return false; ":i+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" "+w+" == 'number' ? ( ("+E+" = "+a+" === undefined || "+b+" "+y+"= "+a+") ? "+d+" "+g+"= "+b+" : "+d+" "+g+" "+a+" ) : ( ("+E+" = "+b+" === true) ? "+d+" "+g+"= "+a+" : "+d+" "+g+" "+a+" ) || "+d+" !== "+d+") { var op"+s+" = "+E+" ? '"+y+"' : '"+y+"='; ",void 0===n&&(P=h,u=e.errSchemaPath+"/"+h,a=b,c=v)}else{I=y;if((_="number"==typeof m)&&c){var F="'"+I+"'";i+=" if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" ( "+a+" === undefined || "+m+" "+y+"= "+a+" ? "+d+" "+g+"= "+m+" : "+d+" "+g+" "+a+" ) || "+d+" !== "+d+") { "}else{_&&void 0===n?(E=!0,P=h,u=e.errSchemaPath+"/"+h,a=m,g+="="):(_&&(a=Math[f?"min":"max"](m,n)),m===(!_||a)?(E=!0,P=h,u=e.errSchemaPath+"/"+h,g+="="):(E=!1,I+="="));F="'"+I+"'";i+=" if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" "+d+" "+g+" "+a+" || "+d+" !== "+d+") { "}}P=P||r,(D=D||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(P||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+F+", limit: "+a+", exclusive: "+E+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+I+" ",i+=c?"' + "+a:a+"'"),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";S=i;return i=D.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+S+"]); ":i+=" validate.errors = ["+S+"]; return false; ":i+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",p&&(i+=" else { "),i},Ze=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" "+d+".length "+("maxItems"==r?">":"<")+" "+a+") { ";var f=r,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==r?"more":"fewer",i+=" than ",i+=c?"' + "+a+" + '":""+n,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=h.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i},Xe=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n;var f="maxLength"==r?">":"<";i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),!1===e.opts.unicode?i+=" "+d+".length ":i+=" ucs2length("+d+") ",i+=" "+f+" "+a+") { ";var h=r,m=m||[];m.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==r?"longer":"shorter",i+=" than ",i+=c?"' + "+a+" + '":""+n,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var v=i;return i=m.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i},Ye=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" Object.keys("+d+").length "+("maxProperties"==r?">":"<")+" "+a+") { ";var f=r,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==r?"more":"fewer",i+=" than ",i+=c?"' + "+a+" + '":""+n,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=h.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i},er={$ref:function(e,r,t){var a,i,s=" ",o=e.level,n=e.dataLevel,l=e.schema[r],u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(n||""),c="valid"+o;if("#"==l||"#/"==l)e.isRoot?(a=e.async,i="validate"):(a=!0===e.root.schema.$async,i="root.refVal[0]");else{var f=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===f){var h=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(h),(g=g||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(s+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(s+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),s+=" } "):s+=" {} ";var m=s;s=g.pop(),!e.compositeRule&&p?e.async?s+=" throw new ValidationError(["+m+"]); ":s+=" validate.errors = ["+m+"]; return false; ":s+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",p&&(s+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,h);e.logger.warn(h),p&&(s+=" if (true) { ")}}else if(f.inline){var v=e.util.copy(e);v.level++;var y="valid"+v.level;v.schema=f.schema,v.schemaPath="",v.errSchemaPath=l,s+=" "+e.validate(v).replace(/validate\.schema/g,f.code)+" ",p&&(s+=" if ("+y+") { ")}else a=!0===f.$async||e.async&&!1!==f.$async,i=f.code}if(i){var g;(g=g||[]).push(s),s="",e.opts.passContext?s+=" "+i+".call(this, ":s+=" "+i+"( ",s+=" "+d+", (dataPath || '')",'""'!=e.errorPath&&(s+=" + "+e.errorPath);var P=s+=" , "+(n?"data"+(n-1||""):"parentData")+" , "+(n?e.dataPathArr[n]:"parentDataProperty")+", rootData) ";if(s=g.pop(),a){if(!e.async)throw new Error("async schema referenced by sync schema");p&&(s+=" var "+c+"; "),s+=" try { await "+P+"; ",p&&(s+=" "+c+" = true; "),s+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",p&&(s+=" "+c+" = false; "),s+=" } ",p&&(s+=" if ("+c+") { ")}else s+=" if (!"+P+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",p&&(s+=" else { ")}return s},allOf:function(e,r,t){var a=" ",i=e.schema[r],s=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,n=!e.opts.allErrors,l=e.util.copy(e),u="";l.level++;var p="valid"+l.level,d=l.baseId,c=!0,f=i;if(f)for(var h,m=-1,v=f.length-1;m<v;)h=f[m+=1],e.util.schemaHasRules(h,e.RULES.all)&&(c=!1,l.schema=h,l.schemaPath=s+"["+m+"]",l.errSchemaPath=o+"/"+m,a+=" "+e.validate(l)+" ",l.baseId=d,n&&(a+=" if ("+p+") { ",u+="}"));return n&&(a+=c?" if (true) { ":" "+u.slice(0,-1)+" "),a=e.util.cleanUpCode(a)},anyOf:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e),h="";f.level++;var m="valid"+f.level;if(o.every(function(r){return e.util.schemaHasRules(r,e.RULES.all)})){var v=f.baseId;a+=" var "+c+" = errors; var "+d+" = false; ";var y=e.compositeRule;e.compositeRule=f.compositeRule=!0;var g=o;if(g)for(var P,b=-1,E=g.length-1;b<E;)P=g[b+=1],f.schema=P,f.schemaPath=n+"["+b+"]",f.errSchemaPath=l+"/"+b,a+=" "+e.validate(f)+" ",f.baseId=v,a+=" "+d+" = "+d+" || "+m+"; if (!"+d+") { ",h+="}";e.compositeRule=f.compositeRule=y,a+=" "+h+" if (!"+d+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+=" } else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a},$comment:function(e,r,t){var a=" ",i=e.schema[r],s=e.errSchemaPath+"/"+r,o=(e.opts.allErrors,e.util.toQuotedString(i));return!0===e.opts.$comment?a+=" console.log("+o+");":"function"==typeof e.opts.$comment&&(a+=" self._opts.$comment("+o+", "+e.util.toQuotedString(s)+", validate.root.schema);"),a},const:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c=e.opts.$data&&o&&o.$data;c&&(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; "),c||(a+=" var schema"+i+" = validate.schema"+n+";"),a+="var "+d+" = equal("+p+", schema"+i+"); if (!"+d+") { ";var f=f||[];f.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",u&&(a+=" else { "),a},contains:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level,m="i"+i,v=f.dataLevel=e.dataLevel+1,y="data"+v,g=e.baseId,P=e.util.schemaHasRules(o,e.RULES.all);if(a+="var "+c+" = errors;var "+d+";",P){var b=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=o,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+h+" = false; for (var "+m+" = 0; "+m+" < "+p+".length; "+m+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var E=p+"["+m+"]";f.dataPathArr[v]=m;var w=e.validate(f);f.baseId=g,e.util.varOccurences(w,y)<2?a+=" "+e.util.varReplace(w,y,E)+" ":a+=" var "+y+" = "+E+"; "+w+" ",a+=" if ("+h+") break; } ",e.compositeRule=f.compositeRule=b,a+=" if (!"+h+") {"}else a+=" if ("+p+".length == 0) {";var _=_||[];_.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var I=a;return a=_.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",P&&(a+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)},dependencies:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="errs__"+i,c=e.util.copy(e),f="";c.level++;var h="valid"+c.level,m={},v={},y=e.opts.ownProperties;for(E in o){var g=o[E],P=Array.isArray(g)?v:m;P[E]=g}a+="var "+d+" = errors;";var b=e.errorPath;for(var E in a+="var missing"+i+";",v)if((P=v[E]).length){if(a+=" if ( "+p+e.util.getProperty(E)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(E)+"') "),u){a+=" && ( ";var w=P;if(w)for(var _=-1,I=w.length-1;_<I;)j=w[_+=1],_&&(a+=" || "),a+=" ( ( "+(O=p+(A=e.util.getProperty(j)))+" === undefined ",y&&(a+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(j)+"') "),a+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?j:A)+") ) ";a+=")) { ";var D="missing"+i,S="' + "+D+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,D,!0):b+" + "+D);var F=F||[];F.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+S+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",1==P.length?a+="property "+e.util.escapeQuotes(P[0]):a+="properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var $=a;a=F.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+$+"]); ":a+=" validate.errors = ["+$+"]; return false; ":a+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{a+=" ) { ";var R=P;if(R)for(var j,C=-1,x=R.length-1;C<x;){j=R[C+=1];var A=e.util.getProperty(j),O=(S=e.util.escapeQuotes(j),p+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,j,e.opts.jsonPointers)),a+=" if ( "+O+" === undefined ",y&&(a+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(j)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+S+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",1==P.length?a+="property "+e.util.escapeQuotes(P[0]):a+="properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}a+=" } ",u&&(f+="}",a+=" else { ")}e.errorPath=b;var T=c.baseId;for(var E in m)g=m[E],e.util.schemaHasRules(g,e.RULES.all)&&(a+=" "+h+" = true; if ( "+p+e.util.getProperty(E)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(E)+"') "),a+=") { ",c.schema=g,c.schemaPath=n+e.util.getProperty(E),c.errSchemaPath=l+"/"+e.util.escapeFragment(E),a+=" "+e.validate(c)+" ",c.baseId=T,a+=" } ",u&&(a+=" if ("+h+") { ",f+="}"));return u&&(a+=" "+f+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)},enum:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c=e.opts.$data&&o&&o.$data;c&&(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ");var f="i"+i,h="schema"+i;c||(a+=" var "+h+" = validate.schema"+n+";"),a+="var "+d+";",c&&(a+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),a+=d+" = false;for (var "+f+"=0; "+f+"<"+h+".length; "+f+"++) if (equal("+p+", "+h+"["+f+"])) { "+d+" = true; break; }",c&&(a+=" } "),a+=" if (!"+d+") { ";var m=m||[];m.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var v=a;return a=m.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+v+"]); ":a+=" validate.errors = ["+v+"]; return false; ":a+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",u&&(a+=" else { "),a},format:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||"");if(!1===e.opts.format)return u&&(a+=" if (true) { "),a;var d,c=e.opts.$data&&o&&o.$data;c?(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",d="schema"+i):d=o;var f=e.opts.unknownFormats,h=Array.isArray(f);if(c)a+=" var "+(m="format"+i)+" = formats["+d+"]; var "+(v="isObject"+i)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(y="formatType"+i)+" = "+v+" && "+m+".type || 'string'; if ("+v+") { ",e.async&&(a+=" var async"+i+" = "+m+".async; "),a+=" "+m+" = "+m+".validate; } if ( ",c&&(a+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),a+=" (","ignore"!=f&&(a+=" ("+d+" && !"+m+" ",h&&(a+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),a+=") || "),a+=" ("+m+" && "+y+" == '"+t+"' && !(typeof "+m+" == 'function' ? ",e.async?a+=" (async"+i+" ? await "+m+"("+p+") : "+m+"("+p+")) ":a+=" "+m+"("+p+") ",a+=" : "+m+".test("+p+"))))) {";else{var m;if(!(m=e.formats[o])){if("ignore"==f)return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(a+=" if (true) { "),a;if(h&&f.indexOf(o)>=0)return u&&(a+=" if (true) { "),a;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,y=(v="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(v){var g=!0===m.async;m=m.validate}if(y!=t)return u&&(a+=" if (true) { "),a;if(g){if(!e.async)throw new Error("async format in sync schema");a+=" if (!(await "+(P="formats"+e.util.getProperty(o)+".validate")+"("+p+"))) { "}else{a+=" if (! ";var P="formats"+e.util.getProperty(o);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+p+") ":" "+P+".test("+p+") ",a+=") { "}}var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",a+=c?""+d:""+e.util.toQuotedString(o),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=c?"' + "+d+" + '":""+e.util.escapeQuotes(o),a+="\"' "),e.opts.verbose&&(a+=" , schema: ",a+=c?"validate.schema"+n:""+e.util.toQuotedString(o),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var E=a;return a=b.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+E+"]); ":a+=" validate.errors = ["+E+"]; return false; ":a+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",u&&(a+=" else { "),a},if:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level,m=e.schema.then,v=e.schema.else,y=void 0!==m&&e.util.schemaHasRules(m,e.RULES.all),g=void 0!==v&&e.util.schemaHasRules(v,e.RULES.all),P=f.baseId;if(y||g){var b;f.createErrors=!1,f.schema=o,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+c+" = errors; var "+d+" = true; ";var E=e.compositeRule;e.compositeRule=f.compositeRule=!0,a+=" "+e.validate(f)+" ",f.baseId=P,f.createErrors=!0,a+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.compositeRule=f.compositeRule=E,y?(a+=" if ("+h+") { ",f.schema=e.schema.then,f.schemaPath=e.schemaPath+".then",f.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+d+" = "+h+"; ",y&&g?a+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",a+=" } ",g&&(a+=" else { ")):a+=" if (!"+h+") { ",g&&(f.schema=e.schema.else,f.schemaPath=e.schemaPath+".else",f.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+d+" = "+h+"; ",y&&g?a+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",a+=" } "),a+=" if (!"+d+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+=" } ",u&&(a+=" else { "),a=e.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a},items:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e),h="";f.level++;var m="valid"+f.level,v="i"+i,y=f.dataLevel=e.dataLevel+1,g="data"+y,P=e.baseId;if(a+="var "+c+" = errors;var "+d+";",Array.isArray(o)){var b=e.schema.additionalItems;if(!1===b){a+=" "+d+" = "+p+".length <= "+o.length+"; ";var E=l;l=e.errSchemaPath+"/additionalItems",a+=" if (!"+d+") { ";var w=w||[];w.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+o.length+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var _=a;a=w.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+_+"]); ":a+=" validate.errors = ["+_+"]; return false; ":a+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l=E,u&&(h+="}",a+=" else { ")}var I=o;if(I)for(var D,S=-1,F=I.length-1;S<F;)if(D=I[S+=1],e.util.schemaHasRules(D,e.RULES.all)){a+=" "+m+" = true; if ("+p+".length > "+S+") { ";var $=p+"["+S+"]";f.schema=D,f.schemaPath=n+"["+S+"]",f.errSchemaPath=l+"/"+S,f.errorPath=e.util.getPathExpr(e.errorPath,S,e.opts.jsonPointers,!0),f.dataPathArr[y]=S;var R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",a+=" } ",u&&(a+=" if ("+m+") { ",h+="}")}"object"==typeof b&&e.util.schemaHasRules(b,e.RULES.all)&&(f.schema=b,f.schemaPath=e.schemaPath+".additionalItems",f.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+m+" = true; if ("+p+".length > "+o.length+") { for (var "+v+" = "+o.length+"; "+v+" < "+p+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0),$=p+"["+v+"]",f.dataPathArr[y]=v,R=e.validate(f),f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",u&&(a+=" if (!"+m+") break; "),a+=" } } ",u&&(a+=" if ("+m+") { ",h+="}"))}else e.util.schemaHasRules(o,e.RULES.all)&&(f.schema=o,f.schemaPath=n,f.errSchemaPath=l,a+=" for (var "+v+" = 0; "+v+" < "+p+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0),$=p+"["+v+"]",f.dataPathArr[y]=v,R=e.validate(f),f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",u&&(a+=" if (!"+m+") break; "),a+=" }");return u&&(a+=" "+h+" if ("+c+" == errors) {"),a=e.util.cleanUpCode(a)},maximum:Je,minimum:Je,maxItems:Ze,minItems:Ze,maxLength:Xe,minLength:Xe,maxProperties:Ye,minProperties:Ye,multipleOf:function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="var division"+s+";if (",c&&(i+=" "+a+" !== undefined && ( typeof "+a+" != 'number' || "),i+=" (division"+s+" = "+d+" / "+a+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+s+") - division"+s+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+s+" !== parseInt(division"+s+") ",i+=" ) ",c&&(i+=" ) "),i+=" ) { ";var f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=c?"' + "+a:a+"'"),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var h=i;return i=f.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i},not:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="errs__"+i,c=e.util.copy(e);c.level++;var f="valid"+c.level;if(e.util.schemaHasRules(o,e.RULES.all)){c.schema=o,c.schemaPath=n,c.errSchemaPath=l,a+=" var "+d+" = errors; ";var h,m=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.createErrors=!1,c.opts.allErrors&&(h=c.opts.allErrors,c.opts.allErrors=!1),a+=" "+e.validate(c)+" ",c.createErrors=!0,h&&(c.opts.allErrors=h),e.compositeRule=c.compositeRule=m,a+=" if ("+f+") { ";var v=v||[];v.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var y=a;a=v.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ");return a},oneOf:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e),h="";f.level++;var m="valid"+f.level,v=f.baseId,y="prevValid"+i,g="passingSchemas"+i;a+="var "+c+" = errors , "+y+" = false , "+d+" = false , "+g+" = null; ";var P=e.compositeRule;e.compositeRule=f.compositeRule=!0;var b=o;if(b)for(var E,w=-1,_=b.length-1;w<_;)E=b[w+=1],e.util.schemaHasRules(E,e.RULES.all)?(f.schema=E,f.schemaPath=n+"["+w+"]",f.errSchemaPath=l+"/"+w,a+=" "+e.validate(f)+" ",f.baseId=v):a+=" var "+m+" = true; ",w&&(a+=" if ("+m+" && "+y+") { "+d+" = false; "+g+" = ["+g+", "+w+"]; } else { ",h+="}"),a+=" if ("+m+") { "+d+" = "+y+" = true; "+g+" = "+w+"; }";return e.compositeRule=f.compositeRule=P,a+=h+"if (!"+d+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+g+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+="} else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a},pattern:function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'string') || "),i+=" !"+(c?"(new RegExp("+a+"))":e.usePattern(n))+".test("+d+") ) { ";var f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",i+=c?""+a:""+e.util.toQuotedString(n),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=c?"' + "+a+" + '":""+e.util.escapeQuotes(n),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+e.util.toQuotedString(n),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var h=i;return i=f.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i},properties:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="errs__"+i,c=e.util.copy(e),f="";c.level++;var h="valid"+c.level,m="key"+i,v="idx"+i,y=c.dataLevel=e.dataLevel+1,g="data"+y,P="dataProperties"+i,b=Object.keys(o||{}),E=e.schema.patternProperties||{},w=Object.keys(E),_=e.schema.additionalProperties,I=b.length||w.length,D=!1===_,S="object"==typeof _&&Object.keys(_).length,F=e.opts.removeAdditional,$=D||S||F,R=e.opts.ownProperties,j=e.baseId,C=e.schema.required;if(C&&(!e.opts.$data||!C.$data)&&C.length<e.opts.loopRequired)var x=e.util.toHash(C);if(a+="var "+d+" = errors;var "+h+" = true;",R&&(a+=" var "+P+" = undefined;"),$){if(a+=R?" "+P+" = "+P+" || Object.keys("+p+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+p+") { ",I){if(a+=" var isAdditional"+i+" = !(false ",b.length)if(b.length>8)a+=" || validate.schema"+n+".hasOwnProperty("+m+") ";else{var A=b;if(A)for(var O=-1,T=A.length-1;O<T;)G=A[O+=1],a+=" || "+m+" == "+e.util.toQuotedString(G)+" "}if(w.length){var L=w;if(L)for(var z=-1,q=L.length-1;z<q;)ie=L[z+=1],a+=" || "+e.usePattern(ie)+".test("+m+") "}a+=" ); if (isAdditional"+i+") { "}if("all"==F)a+=" delete "+p+"["+m+"]; ";else{var k=e.errorPath,V="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),D)if(F)a+=" delete "+p+"["+m+"]; ";else{a+=" "+h+" = false; ";var M=l;l=e.errSchemaPath+"/additionalProperties",(re=re||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+V+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is an invalid additional property":a+="should NOT have additional properties",a+="' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var N=a;a=re.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+N+"]); ":a+=" validate.errors = ["+N+"]; return false; ":a+=" var err = "+N+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=M,u&&(a+=" break; ")}else if(S)if("failing"==F){a+=" var "+d+" = errors; ";var U=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.schema=_,c.schemaPath=e.schemaPath+".additionalProperties",c.errSchemaPath=e.errSchemaPath+"/additionalProperties",c.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var Q=p+"["+m+"]";c.dataPathArr[y]=m;var H=e.validate(c);c.baseId=j,e.util.varOccurences(H,g)<2?a+=" "+e.util.varReplace(H,g,Q)+" ":a+=" var "+g+" = "+Q+"; "+H+" ",a+=" if (!"+h+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+p+"["+m+"]; } ",e.compositeRule=c.compositeRule=U}else c.schema=_,c.schemaPath=e.schemaPath+".additionalProperties",c.errSchemaPath=e.errSchemaPath+"/additionalProperties",c.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers),Q=p+"["+m+"]",c.dataPathArr[y]=m,H=e.validate(c),c.baseId=j,e.util.varOccurences(H,g)<2?a+=" "+e.util.varReplace(H,g,Q)+" ":a+=" var "+g+" = "+Q+"; "+H+" ",u&&(a+=" if (!"+h+") break; ");e.errorPath=k}I&&(a+=" } "),a+=" } ",u&&(a+=" if ("+h+") { ",f+="}")}var B=e.opts.useDefaults&&!e.compositeRule;if(b.length){var K=b;if(K)for(var G,W=-1,J=K.length-1;W<J;){var Z=o[G=K[W+=1]];if(e.util.schemaHasRules(Z,e.RULES.all)){var X=e.util.getProperty(G),Y=(Q=p+X,B&&void 0!==Z.default);if(c.schema=Z,c.schemaPath=n+X,c.errSchemaPath=l+"/"+e.util.escapeFragment(G),c.errorPath=e.util.getPath(e.errorPath,G,e.opts.jsonPointers),c.dataPathArr[y]=e.util.toQuotedString(G),H=e.validate(c),c.baseId=j,e.util.varOccurences(H,g)<2){H=e.util.varReplace(H,g,Q);var ee=Q}else ee=g,a+=" var "+g+" = "+Q+"; ";if(Y)a+=" "+H+" ";else{if(x&&x[G]){a+=" if ( "+ee+" === undefined ",R&&(a+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(G)+"') "),a+=") { "+h+" = false; ",k=e.errorPath,M=l;var re,te=e.util.escapeQuotes(G);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(k,G,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(re=re||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+te+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+te+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",N=a,a=re.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+N+"]); ":a+=" validate.errors = ["+N+"]; return false; ":a+=" var err = "+N+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=M,e.errorPath=k,a+=" } else { "}else u?(a+=" if ( "+ee+" === undefined ",R&&(a+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(G)+"') "),a+=") { "+h+" = true; } else { "):(a+=" if ("+ee+" !== undefined ",R&&(a+=" && Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(G)+"') "),a+=" ) { ");a+=" "+H+" } "}}u&&(a+=" if ("+h+") { ",f+="}")}}if(w.length){var ae=w;if(ae)for(var ie,se=-1,oe=ae.length-1;se<oe;)Z=E[ie=ae[se+=1]],e.util.schemaHasRules(Z,e.RULES.all)&&(c.schema=Z,c.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),c.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),a+=R?" "+P+" = "+P+" || Object.keys("+p+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+p+") { ",a+=" if ("+e.usePattern(ie)+".test("+m+")) { ",c.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers),Q=p+"["+m+"]",c.dataPathArr[y]=m,H=e.validate(c),c.baseId=j,e.util.varOccurences(H,g)<2?a+=" "+e.util.varReplace(H,g,Q)+" ":a+=" var "+g+" = "+Q+"; "+H+" ",u&&(a+=" if (!"+h+") break; "),a+=" } ",u&&(a+=" else "+h+" = true; "),a+=" } ",u&&(a+=" if ("+h+") { ",f+="}"))}return u&&(a+=" "+f+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)},propertyNames:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="errs__"+i,c=e.util.copy(e);c.level++;var f="valid"+c.level;if(a+="var "+d+" = errors;",e.util.schemaHasRules(o,e.RULES.all)){c.schema=o,c.schemaPath=n,c.errSchemaPath=l;var h="key"+i,m="idx"+i,v="i"+i,y="' + "+h+" + '",g="data"+(c.dataLevel=e.dataLevel+1),P="dataProperties"+i,b=e.opts.ownProperties,E=e.baseId;b&&(a+=" var "+P+" = undefined; "),a+=b?" "+P+" = "+P+" || Object.keys("+p+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+h+" = "+P+"["+m+"]; ":" for (var "+h+" in "+p+") { ",a+=" var startErrs"+i+" = errors; ";var w=h,_=e.compositeRule;e.compositeRule=c.compositeRule=!0;var I=e.validate(c);c.baseId=E,e.util.varOccurences(I,g)<2?a+=" "+e.util.varReplace(I,g,w)+" ":a+=" var "+g+" = "+w+"; "+I+" ",e.compositeRule=c.compositeRule=_,a+=" if (!"+f+") { for (var "+v+"=startErrs"+i+"; "+v+"<errors; "+v+"++) { vErrors["+v+"].propertyName = "+h+"; } var err = ",!1!==e.createErrors?(a+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(a+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),u&&(a+=" break; "),a+=" } }"}return u&&(a+=" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)},required:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,p="data"+(s||""),d="valid"+i,c=e.opts.$data&&o&&o.$data;c&&(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ");var f="schema"+i;if(!c)if(o.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var h=[],m=o;if(m)for(var v,y=-1,g=m.length-1;y<g;){v=m[y+=1];var P=e.schema.properties[v];P&&e.util.schemaHasRules(P,e.RULES.all)||(h[h.length]=v)}}else h=o;if(c||h.length){var b=e.errorPath,E=c||h.length>=e.opts.loopRequired,w=e.opts.ownProperties;if(u)if(a+=" var missing"+i+"; ",E){c||(a+=" var "+f+" = validate.schema"+n+"; ");var _="' + "+(R="schema"+i+"["+(F="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,R,e.opts.jsonPointers)),a+=" var "+d+" = true; ",c&&(a+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),a+=" for (var "+F+" = 0; "+F+" < "+f+".length; "+F+"++) { "+d+" = "+p+"["+f+"["+F+"]] !== undefined ",w&&(a+=" && Object.prototype.hasOwnProperty.call("+p+", "+f+"["+F+"]) "),a+="; if (!"+d+") break; } ",c&&(a+=" } "),a+=" if (!"+d+") { ",(D=D||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var I=a;a=D.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var D,S=h;if(S)for(var F=-1,$=S.length-1;F<$;)C=S[F+=1],F&&(a+=" || "),a+=" ( ( "+(T=p+(O=e.util.getProperty(C)))+" === undefined ",w&&(a+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(C)+"') "),a+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?C:O)+") ) ";a+=") { ",_="' + "+(R="missing"+i)+" + '",e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,R,!0):b+" + "+R),(D=D||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",I=a,a=D.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else if(E){var R;c||(a+=" var "+f+" = validate.schema"+n+"; "),_="' + "+(R="schema"+i+"["+(F="i"+i)+"]")+" + '",e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,R,e.opts.jsonPointers)),c&&(a+=" if ("+f+" && !Array.isArray("+f+")) { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+f+" !== undefined) { "),a+=" for (var "+F+" = 0; "+F+" < "+f+".length; "+F+"++) { if ("+p+"["+f+"["+F+"]] === undefined ",w&&(a+=" || ! Object.prototype.hasOwnProperty.call("+p+", "+f+"["+F+"]) "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",c&&(a+=" } ")}else{var j=h;if(j)for(var C,x=-1,A=j.length-1;x<A;){C=j[x+=1];var O=e.util.getProperty(C),T=(_=e.util.escapeQuotes(C),p+O);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,C,e.opts.jsonPointers)),a+=" if ( "+T+" === undefined ",w&&(a+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(C)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else u&&(a+=" if (true) {");return a},uniqueItems:function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,d="data"+(o||""),c="valid"+s,f=e.opts.$data&&n&&n.$data;if(f?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,(n||f)&&!1!==e.opts.uniqueItems){f&&(i+=" var "+c+"; if ("+a+" === false || "+a+" === undefined) "+c+" = true; else if (typeof "+a+" != 'boolean') "+c+" = false; else { "),i+=" var i = "+d+".length , "+c+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,m=Array.isArray(h);if(!h||"object"==h||"array"==h||m&&(h.indexOf("object")>=0||h.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+c+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var v="checkDataType"+(m?"s":"");i+=" if ("+e.util[v](h,"item",!0)+") continue; ",m&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+c+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",f&&(i+=" } "),i+=" if (!"+c+") { ";var y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var g=i;i=y.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+g+"]); ":i+=" validate.errors = ["+g+"]; return false; ":i+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",p&&(i+=" else { ")}else p&&(i+=" if (true) { ");return i},validate:be},rr=j.toHash,tr=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],r=["type","$comment"];return e.all=rr(r),e.types=rr(["number","integer","string","array","object","boolean","null"]),e.forEach(function(t){t.rules=t.rules.map(function(t){var a;if("object"==typeof t){var i=Object.keys(t)[0];a=t[i],t=i,a.forEach(function(t){r.push(t),e.all[t]=!0})}return r.push(t),e.all[t]={keyword:t,code:er[t],implements:a}}),e.all.$comment={keyword:"$comment",code:er.$comment},t.type&&(e.types[t.type]=t)}),e.keywords=rr(r.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e},ar=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"],ir=function(e,r){for(var t=0;t<r.length;t++){e=JSON.parse(JSON.stringify(e));var a,i=r[t].split("/"),s=e;for(a=1;a<i.length;a++)s=s[i[a]];for(a=0;a<ar.length;a++){var o=ar[a],n=s[o];n&&(s[o]={anyOf:[n,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e},sr=ve.MissingRef,or=function e(r,t,a){var i=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof t&&(a=t,t=void 0);var s=o(r).then(function(){var e=i._addSchema(r,void 0,t);return e.validate||function e(r){try{return i._compile(r)}catch(e){if(e instanceof sr)return function a(e){var a=e.missingSchema;if(l(a))throw new Error("Schema "+a+" is loaded but "+e.missingRef+" cannot be resolved");var s=i._loadingSchemas[a];s||(s=i._loadingSchemas[a]=i._opts.loadSchema(a)).then(n,n);return s.then(function(e){if(!l(a))return o(e).then(function(){l(a)||i.addSchema(e,a,void 0,t)})}).then(function(){return function e(r){try{return i._compile(r)}catch(e){if(e instanceof sr)return a(e);throw e}function a(a){var s=a.missingSchema;if(u(s))throw new Error("Schema "+s+" is loaded but "+a.missingRef+" cannot be resolved");var n=i._loadingSchemas[s];return n||(n=i._loadingSchemas[s]=i._opts.loadSchema(s)).then(l,l),n.then(function(e){if(!u(s))return o(e).then(function(){u(s)||i.addSchema(e,s,void 0,t)})}).then(function(){return e(r)});function l(){delete i._loadingSchemas[s]}function u(e){return i._refs[e]||i._schemas[e]}}}(r)});function n(){delete i._loadingSchemas[a]}function l(e){return i._refs[e]||i._schemas[e]}}(e);throw e}function a(a){var s=a.missingSchema;if(u(s))throw new Error("Schema "+s+" is loaded but "+a.missingRef+" cannot be resolved");var n=i._loadingSchemas[s];return n||(n=i._loadingSchemas[s]=i._opts.loadSchema(s)).then(l,l),n.then(function(e){if(!u(s))return o(e).then(function(){u(s)||i.addSchema(e,s,void 0,t)})}).then(function(){return e(r)});function l(){delete i._loadingSchemas[s]}function u(e){return i._refs[e]||i._schemas[e]}}}(e)});a&&s.then(function(e){a(null,e)},a);return s;function o(r){var t=r.$schema;return t&&!i.getSchema(t)?e.call(i,{$ref:t},!0):Promise.resolve()}};var nr=function(e,r,t){var a,i,s=" ",o=e.level,n=e.dataLevel,l=e.schema[r],u=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,d=!e.opts.allErrors,c="data"+(n||""),f="valid"+o,h="errs__"+o,m=e.opts.$data&&l&&l.$data;m?(s+=" var schema"+o+" = "+e.util.getData(l.$data,n,e.dataPathArr)+"; ",i="schema"+o):i=l;var v,y,g,P,b,E="definition"+o,w=this.definition,_="";if(m&&w.$data){b="keywordValidate"+o;var I=w.validateSchema;s+=" var "+E+" = RULES.custom['"+r+"'].definition; var "+b+" = "+E+".validate;"}else{if(!(P=e.useCustomRule(this,l,e.schema,e)))return;i="validate.schema"+u,b=P.code,v=w.compile,y=w.inline,g=w.macro}var D=b+".errors",S="i"+o,F="ruleErr"+o,$=w.async;if($&&!e.async)throw new Error("async keyword in sync schema");if(y||g||(s+=D+" = null;"),s+="var "+h+" = errors;var "+f+";",m&&w.$data&&(_+="}",s+=" if ("+i+" === undefined) { "+f+" = true; } else { ",I&&(_+="}",s+=" "+f+" = "+E+".validateSchema("+i+"); if ("+f+") { ")),y)w.statements?s+=" "+P.validate+" ":s+=" "+f+" = "+P.validate+"; ";else if(g){var R=e.util.copy(e);_="";R.level++;var j="valid"+R.level;R.schema=P.validate,R.schemaPath="";var C=e.compositeRule;e.compositeRule=R.compositeRule=!0;var x=e.validate(R).replace(/validate\.schema/g,b);e.compositeRule=R.compositeRule=C,s+=" "+x}else{(L=L||[]).push(s),s="",s+=" "+b+".call( ",e.opts.passContext?s+="this":s+="self",v||!1===w.schema?s+=" , "+c+" ":s+=" , "+i+" , "+c+" , validate.schema"+e.schemaPath+" ",s+=" , (dataPath || '')",'""'!=e.errorPath&&(s+=" + "+e.errorPath);var A=n?"data"+(n-1||""):"parentData",O=n?e.dataPathArr[n]:"parentDataProperty",T=s+=" , "+A+" , "+O+" , rootData ) ";s=L.pop(),!1===w.errors?(s+=" "+f+" = ",$&&(s+="await "),s+=T+"; "):s+=$?" var "+(D="customErrors"+o)+" = null; try { "+f+" = await "+T+"; } catch (e) { "+f+" = false; if (e instanceof ValidationError) "+D+" = e.errors; else throw e; } ":" "+D+" = null; "+f+" = "+T+"; "}if(w.modifying&&(s+=" if ("+A+") "+c+" = "+A+"["+O+"];"),s+=""+_,w.valid)d&&(s+=" if (true) { ");else{var L;s+=" if ( ",void 0===w.valid?(s+=" !",s+=g?""+j:""+f):s+=" "+!w.valid+" ",s+=") { ",a=this.keyword,(L=L||[]).push(s),s="",(L=L||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(s+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(s+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var z=s;s=L.pop(),!e.compositeRule&&d?e.async?s+=" throw new ValidationError(["+z+"]); ":s+=" validate.errors = ["+z+"]; return false; ":s+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var q=s;s=L.pop(),y?w.errors?"full"!=w.errors&&(s+=" for (var "+S+"="+h+"; "+S+"<errors; "+S+"++) { var "+F+" = vErrors["+S+"]; if ("+F+".dataPath === undefined) "+F+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+F+".schemaPath === undefined) { "+F+'.schemaPath = "'+p+'"; } ',e.opts.verbose&&(s+=" "+F+".schema = "+i+"; "+F+".data = "+c+"; "),s+=" } "):!1===w.errors?s+=" "+q+" ":(s+=" if ("+h+" == errors) { "+q+" } else { for (var "+S+"="+h+"; "+S+"<errors; "+S+"++) { var "+F+" = vErrors["+S+"]; if ("+F+".dataPath === undefined) "+F+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+F+".schemaPath === undefined) { "+F+'.schemaPath = "'+p+'"; } ',e.opts.verbose&&(s+=" "+F+".schema = "+i+"; "+F+".data = "+c+"; "),s+=" } } "):g?(s+=" var err = ",!1!==e.createErrors?(s+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(s+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(s+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ",s+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?s+=" throw new ValidationError(vErrors); ":s+=" validate.errors = vErrors; return false; ")):!1===w.errors?s+=" "+q+" ":(s+=" if (Array.isArray("+D+")) { if (vErrors === null) vErrors = "+D+"; else vErrors = vErrors.concat("+D+"); errors = vErrors.length; for (var "+S+"="+h+"; "+S+"<errors; "+S+"++) { var "+F+" = vErrors["+S+"]; if ("+F+".dataPath === undefined) "+F+".dataPath = (dataPath || '') + "+e.errorPath+"; "+F+'.schemaPath = "'+p+'"; ',e.opts.verbose&&(s+=" "+F+".schema = "+i+"; "+F+".data = "+c+"; "),s+=" } } else { "+q+" } "),s+=" } ",d&&(s+=" else { ")}return s},lr="http://json-schema.org/draft-07/schema#",ur="http://json-schema.org/draft-07/schema#",pr="Core schema meta-schema",dr={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},cr=["object","boolean"],fr={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},hr={$schema:lr,$id:ur,title:pr,definitions:dr,type:cr,properties:fr,default:!0},mr=_(Object.freeze({__proto__:null,$schema:lr,$id:ur,title:pr,definitions:dr,type:cr,properties:fr,default:hr})),vr=/^[a-z_$][a-z0-9_$-]*$/i,yr=mr,gr=function(e,r){var t=this.RULES;if(t.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!vr.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(r){this.validateKeyword(r,!0);var a=r.type;if(Array.isArray(a))for(var i=0;i<a.length;i++)o(e,a[i],r);else o(e,a,r);var s=r.metaSchema;s&&(r.$data&&this._opts.$data&&(s={anyOf:[s,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),r.validateSchema=this.compile(s,!0))}function o(e,r,a){for(var i,s=0;s<t.length;s++){var o=t[s];if(o.type==r){i=o;break}}i||(i={type:r,rules:[]},t.push(i));var n={keyword:e,definition:a,custom:!0,code:nr,implements:a.implements};i.rules.push(n),t.custom[e]=n}return t.keywords[e]=t.all[e]=!0,this},Pr=function(e){var r=this.RULES.custom[e];return r?r.definition:this.RULES.keywords[e]||!1},br=function(e){var r=this.RULES;delete r.keywords[e],delete r.all[e],delete r.custom[e];for(var t=0;t<r.length;t++)for(var a=r[t].rules,i=0;i<a.length;i++)if(a[i].keyword==e){a.splice(i,1);break}return this},Er=function e(r,t){e.errors=null;var a=this._validateKeyword=this._validateKeyword||this.compile(wr,!0);if(a(r))return!0;e.errors=a.errors;if(t)throw new Error("custom keyword definition is invalid: "+this.errorsText(a.errors));return!1},wr={definitions:{simpleTypes:yr.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:yr.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}};var _r="http://json-schema.org/draft-07/schema#",Ir="https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#",Dr="Meta-schema for $data reference (JSON Schema extension proposal)",Sr=["$data"],Fr={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},$r={$schema:_r,$id:Ir,description:Dr,type:"object",required:Sr,properties:Fr,additionalProperties:!1},Rr=_(Object.freeze({__proto__:null,$schema:_r,$id:Ir,description:Dr,type:"object",required:Sr,properties:Fr,additionalProperties:!1,default:$r})),jr=Or;Or.prototype.validate=function(e,r){var t;if("string"==typeof e){if(!(t=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var a=this._addSchema(e);t=a.validate||this._compile(a)}var i=t(r);!0!==t.$async&&(this.errors=t.errors);return i},Or.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},Or.prototype.addSchema=function(e,r,t,a){if(Array.isArray(e)){for(var i=0;i<e.length;i++)this.addSchema(e[i],void 0,t,a);return this}var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw new Error("schema id must be string");return Vr(this,r=ie.normalizeId(r||s)),this._schemas[r]=this._addSchema(e,t,a,!0),this},Or.prototype.addMetaSchema=function(e,r,t){return this.addSchema(e,r,t,!0),this},Or.prototype.validateSchema=function(e,r){var t=e.$schema;if(void 0!==t&&"string"!=typeof t)throw new Error("$schema must be a string");if(!(t=t||this._opts.defaultMeta||function(e){var r=e._opts.meta;return e._opts.defaultMeta="object"==typeof r?e._getId(r)||r:e.getSchema(Cr)?Cr:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var a=this.validate(t,e);if(!a&&r){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return a},Or.prototype.getSchema=function(e){var r=Tr(this,e);switch(typeof r){case"object":return r.validate||this._compile(r);case"string":return this.getSchema(r);case"undefined":return function(e,r){var t=ie.schema.call(e,{schema:{}},r);if(t){var a=t.schema,i=t.root,s=t.baseId,o=_e.call(e,a,i,void 0,s);return e._fragments[r]=new te({ref:r,fragment:!0,schema:a,root:i,baseId:s,validate:o}),o}}(this,e)}},Or.prototype.removeSchema=function(e){if(e instanceof RegExp)return Lr(this,this._schemas,e),Lr(this,this._refs,e),this;switch(typeof e){case"undefined":return Lr(this,this._schemas),Lr(this,this._refs),this._cache.clear(),this;case"string":var r=Tr(this,e);return r&&this._cache.del(r.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var t=this._opts.serialize,a=t?t(e):e;this._cache.del(a);var i=this._getId(e);i&&(i=ie.normalizeId(i),delete this._schemas[i],delete this._refs[i])}return this},Or.prototype.addFormat=function(e,r){"string"==typeof r&&(r=new RegExp(r));return this._formats[e]=r,this},Or.prototype.errorsText=function(e,r){if(!(e=e||this.errors))return"No errors";for(var t=void 0===(r=r||{}).separator?", ":r.separator,a=void 0===r.dataVar?"data":r.dataVar,i="",s=0;s<e.length;s++){var o=e[s];o&&(i+=a+o.dataPath+" "+o.message+t)}return i.slice(0,-t.length)},Or.prototype._addSchema=function(e,r,t,a){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var i=this._opts.serialize,s=i?i(e):e,o=this._cache.get(s);if(o)return o;a=a||!1!==this._opts.addUsedSchema;var n=ie.normalizeId(this._getId(e));n&&a&&Vr(this,n);var l,u=!1!==this._opts.validateSchema&&!r;u&&!(l=n&&n==ie.normalizeId(e.$schema))&&this.validateSchema(e,!0);var p=ie.ids.call(this,e),d=new te({id:n,schema:e,localRefs:p,cacheKey:s,meta:t});"#"!=n[0]&&a&&(this._refs[n]=d);this._cache.put(s,d),u&&l&&this.validateSchema(e,!0);return d},Or.prototype._compile=function(e,r){if(e.compiling)return e.validate=i,i.schema=e.schema,i.errors=null,i.root=r||i,!0===e.schema.$async&&(i.$async=!0),i;var t,a;e.compiling=!0,e.meta&&(t=this._opts,this._opts=this._metaOpts);try{a=_e.call(this,e.schema,r,e.localRefs)}catch(r){throw delete e.validate,r}finally{e.compiling=!1,e.meta&&(this._opts=t)}return e.validate=a,e.refs=a.refs,e.refVal=a.refVal,e.root=a.root,a;function i(){var r=e.validate,t=r.apply(this,arguments);return i.errors=r.errors,t}},Or.prototype.compileAsync=or,Or.prototype.addKeyword=gr,Or.prototype.getKeyword=Pr,Or.prototype.removeKeyword=br,Or.prototype.validateKeyword=Er,Or.ValidationError=ve.Validation,Or.MissingRefError=ve.MissingRef,Or.$dataMetaSchema=ir;var Cr="http://json-schema.org/draft-07/schema",xr=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],Ar=["/properties"];function Or(e){if(!(this instanceof Or))return new Or(e);e=this._opts=j.copy(e)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:Mr,warn:Mr,error:Mr};else{if(void 0===r&&(r=console),!("object"==typeof r&&r.log&&r.warn&&r.error))throw new Error("logger must implement log, warn and error methods");e.logger=r}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=Ne(e.format),this._cache=e.cache||new je,this._loadingSchemas={},this._compilations=[],this.RULES=tr(),this._getId=function(e){switch(e.schemaId){case"auto":return kr;case"id":return zr;default:return qr}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=Pe),this._metaOpts=function(e){for(var r=j.copy(e._opts),t=0;t<xr.length;t++)delete r[xr[t]];return r}(this),e.formats&&function(e){for(var r in e._opts.formats){var t=e._opts.formats[r];e.addFormat(r,t)}}(this),function(e){var r;e._opts.$data&&(r=Rr,e.addMetaSchema(r,r.$id,!0));if(!1===e._opts.meta)return;var t=mr;e._opts.$data&&(t=ir(t,Ar));e.addMetaSchema(t,Cr,!0),e._refs["http://json-schema.org/schema"]=Cr}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var r=e._opts.schemas;if(!r)return;if(Array.isArray(r))e.addSchema(r);else for(var t in r)e.addSchema(r[t],t)}(this)}function Tr(e,r){return r=ie.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function Lr(e,r,t){for(var a in r){var i=r[a];i.meta||t&&!t.test(a)||(e._cache.del(i.cacheKey),delete r[a])}}function zr(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function qr(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function kr(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function Vr(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function Mr(){}var Nr=Object.freeze(Object.assign(Object.create(null),jr,{default:jr,__moduleExports:jr})),Ur="#/definitions/Schema",Qr="http://json-schema.org/draft-07/schema#",Hr={ActivityType:{anyOf:[{$ref:"#/definitions/IFilter"},{$ref:"#/definitions/IProject"},{$ref:"#/definitions/IGroupBy"},{$ref:"#/definitions/ISort"},{$ref:"#/definitions/ILimit"},{$ref:"#/definitions/IMappings"}]},AggregateType:{anyOf:[{$ref:"#/definitions/IAggregate"},{$ref:"#/definitions/ICount"}]},Dataset:{items:{},type:"array"},DatasourceType:{anyOf:[{$ref:"#/definitions/IWUResult"},{$ref:"#/definitions/ILogicalFile"},{$ref:"#/definitions/IRoxieService"},{$ref:"#/definitions/IHipieService"},{$ref:"#/definitions/IRestService"},{$ref:"#/definitions/IForm"},{$ref:"#/definitions/IDatabomb"}]},FilterCondition:{anyOf:[{$ref:"#/definitions/IFilterCondition"},{$ref:"#/definitions/IFilterStaticCondition"}]},IActivityType:{enum:["filter","project","groupby","sort","limit","mappings"],type:"string"},IAggregate:{additionalProperties:!1,properties:{baseCountFieldID:{type:"string"},fieldID:{type:"string"},inFieldID:{type:"string"},type:{$ref:"#/definitions/IAggregateType"}},required:["fieldID","type","inFieldID"],type:"object"},IAggregateType:{enum:["min","max","sum","mean","variance","deviation"],type:"string"},ICalculated:{additionalProperties:!1,properties:{fieldID:{type:"string"},sourceFieldID1:{type:"string"},sourceFieldID2:{type:"string"},type:{$ref:"#/definitions/ICalculatedType"}},required:["fieldID","type","sourceFieldID1","sourceFieldID2"],type:"object"},ICalculatedType:{enum:["+","-","*","/"],type:"string"},ICount:{additionalProperties:!1,properties:{fieldID:{type:"string"},type:{enum:["count"],type:"string"}},required:["fieldID","type"],type:"object"},IDatabomb:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"},format:{$ref:"#/definitions/IDatabombFormat"},id:{type:"string"},payload:{type:"string"},type:{enum:["databomb"],type:"string"}},required:["fields","format","id","type"],type:"object"},IDatabombFormat:{enum:["csv","tsv","json"],type:"string"},IDatabombRef:{additionalProperties:!1,properties:{id:{type:"string"}},required:["id"],type:"object"},IDatasource:{additionalProperties:!1,properties:{id:{type:"string"},type:{$ref:"#/definitions/IDatasourceType"}},required:["type","id"],type:"object"},IDatasourceRef:{anyOf:[{$ref:"#/definitions/IDatabombRef"},{$ref:"#/definitions/IWUResultRef"},{$ref:"#/definitions/IRoxieServiceRef"},{$ref:"#/definitions/IHipieSqlRef"}]},IDatasourceType:{enum:["wuresult","logicalfile","roxie","hipie","rest","form","databomb"],type:"string"},IEquals:{additionalProperties:!1,properties:{fieldID:{type:"string"},sourceFieldID:{type:"string"},transformations:{items:{$ref:"#/definitions/MultiTransformationType"},type:"array"},type:{enum:["="],type:"string"}},required:["fieldID","type","sourceFieldID"],type:"object"},IField:{anyOf:[{$ref:"#/definitions/IFieldBoolean"},{$ref:"#/definitions/IFieldNumber"},{$ref:"#/definitions/IFieldNumber64"},{$ref:"#/definitions/IFieldString"},{$ref:"#/definitions/IFieldRange"},{$ref:"#/definitions/IFieldDataset"},{$ref:"#/definitions/IFieldSet"},{$ref:"#/definitions/IFieldObject"}]},IFieldBoolean:{additionalProperties:!1,properties:{default:{type:"boolean"},id:{type:"string"},type:{enum:["boolean"],type:"string"}},required:["type","id"],type:"object"},IFieldDataset:{additionalProperties:!1,properties:{children:{items:{$ref:"#/definitions/IField"},type:"array"},default:{$ref:"#/definitions/Dataset"},id:{type:"string"},type:{enum:["dataset"],type:"string"}},required:["type","id","children"],type:"object"},IFieldNumber:{additionalProperties:!1,properties:{default:{type:"number"},id:{type:"string"},type:{enum:["number"],type:"string"}},required:["type","id"],type:"object"},IFieldNumber64:{additionalProperties:!1,properties:{default:{$ref:"#/definitions/Number64"},id:{type:"string"},type:{enum:["number64"],type:"string"}},required:["type","id"],type:"object"},IFieldObject:{additionalProperties:!1,properties:{default:{type:"object"},fields:{additionalProperties:{$ref:"#/definitions/IField"},type:"object"},id:{type:"string"},type:{enum:["object"],type:"string"}},required:["type","id","fields"],type:"object"},IFieldRange:{additionalProperties:!1,properties:{default:{$ref:"#/definitions/Range"},id:{type:"string"},type:{enum:["range"],type:"string"}},required:["type","id"],type:"object"},IFieldSet:{additionalProperties:!1,properties:{default:{items:{type:["string","number"]},type:"array"},fieldType:{enum:["string","number"],type:"string"},id:{type:"string"},type:{enum:["set"],type:"string"}},required:["type","id","fieldType"],type:"object"},IFieldString:{additionalProperties:!1,properties:{default:{type:"string"},id:{type:"string"},type:{enum:["string"],type:"string"}},required:["type","id"],type:"object"},IFieldType:{enum:["boolean","number","number64","string","range","dataset","set","object"],type:"string"},IFilter:{additionalProperties:!1,properties:{conditions:{items:{$ref:"#/definitions/FilterCondition"},type:"array"},type:{enum:["filter"],type:"string"}},required:["conditions","type"],type:"object"},IFilterCondition:{additionalProperties:!1,properties:{mappings:{items:{$ref:"#/definitions/IMapping"},type:"array"},viewID:{type:"string"}},required:["viewID","mappings"],type:"object"},IFilterStaticCondition:{additionalProperties:!1,properties:{condition:{$ref:"#/definitions/IMappingConditionType"},localFieldID:{type:"string"},value:{type:["string","number"]}},required:["localFieldID","condition","value"],type:"object"},IForm:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"},id:{type:"string"},type:{enum:["form"],type:"string"}},required:["fields","id","type"],type:"object"},IGroupBy:{additionalProperties:!1,properties:{aggregates:{items:{$ref:"#/definitions/AggregateType"},type:"array"},groupByIDs:{items:{type:"string"},type:"array"},type:{enum:["groupby"],type:"string"}},required:["aggregates","groupByIDs","type"],type:"object"},IHipieService:{additionalProperties:!1,properties:{id:{type:"string"},inputs:{items:{$ref:"#/definitions/IField"},type:"array"},outputs:{$ref:"#/definitions/OutputDict"},queryID:{type:"string"},querySet:{type:"string"},type:{enum:["hipie"],type:"string"},url:{type:"string"}},required:["id","inputs","outputs","queryID","querySet","type","url"],type:"object"},IHipieSqlRef:{additionalProperties:!1,properties:{id:{type:"string"}},required:["id"],type:"object"},ILimit:{additionalProperties:!1,properties:{limit:{type:"number"},type:{enum:["limit"],type:"string"}},required:["limit","type"],type:"object"},ILogicalFile:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"},id:{type:"string"},logicalFile:{type:"string"},type:{enum:["logicalfile"],type:"string"},url:{type:"string"}},required:["fields","id","logicalFile","type","url"],type:"object"},IMap:{additionalProperties:!1,properties:{default:{},fieldID:{type:"string"},mappings:{items:{$ref:"#/definitions/IMapMapping"},type:"array"},sourceFieldID:{type:"string"},type:{enum:["map"],type:"string"}},required:["fieldID","type","sourceFieldID","default","mappings"],type:"object"},IMapMapping:{additionalProperties:!1,properties:{newValue:{},value:{}},required:["value","newValue"],type:"object"},IMapping:{additionalProperties:!1,properties:{condition:{$ref:"#/definitions/IMappingConditionType"},localFieldID:{type:"string"},nullable:{type:"boolean"},remoteFieldID:{type:"string"}},required:["remoteFieldID","localFieldID","condition","nullable"],type:"object"},IMappingConditionType:{enum:["==","!=",">",">=","<","<=","range","in"],type:"string"},IMappings:{additionalProperties:!1,properties:{transformations:{items:{$ref:"#/definitions/ProjectTransformationType"},type:"array"},type:{enum:["mappings"],type:"string"}},required:["transformations","type"],type:"object"},IMulti:{additionalProperties:!1,properties:{fieldID:{type:"string"},transformations:{items:{$ref:"#/definitions/MultiTransformationType"},type:"array"},type:{enum:["multi"],type:"string"}},required:["fieldID","type","transformations"],type:"object"},IOutput:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"}},required:["fields"],type:"object"},IProject:{additionalProperties:!1,properties:{transformations:{items:{$ref:"#/definitions/ProjectTransformationType"},type:"array"},type:{enum:["project"],type:"string"}},required:["transformations","type"],type:"object"},IProperties:{type:"object"},IRequestField:{additionalProperties:!1,properties:{localFieldID:{type:"string"},remoteFieldID:{type:"string"},source:{type:"string"},value:{type:"string"}},required:["localFieldID","source","remoteFieldID","value"],type:"object"},IRestService:{additionalProperties:!1,properties:{action:{type:"string"},id:{type:"string"},inputs:{items:{$ref:"#/definitions/IField"},type:"array"},mode:{enum:["get","post"],type:"string"},outputs:{$ref:"#/definitions/OutputDict"},type:{enum:["rest"],type:"string"},url:{type:"string"}},required:["action","id","inputs","outputs","type","url"],type:"object"},IRoxieService:{additionalProperties:!1,properties:{id:{type:"string"},inputs:{items:{$ref:"#/definitions/IField"},type:"array"},outputs:{$ref:"#/definitions/OutputDict"},queryID:{type:"string"},querySet:{type:"string"},type:{enum:["roxie"],type:"string"},url:{type:"string"}},required:["id","inputs","outputs","queryID","querySet","type","url"],type:"object"},IRoxieServiceRef:{additionalProperties:!1,properties:{id:{type:"string"},output:{type:"string"},request:{items:{$ref:"#/definitions/IRequestField"},type:"array"}},required:["id","output","request"],type:"object"},IScale:{additionalProperties:!1,properties:{factor:{type:"number"},fieldID:{type:"string"},sourceFieldID:{type:"string"},type:{enum:["scale"],type:"string"}},required:["fieldID","type","sourceFieldID","factor"],type:"object"},ISort:{additionalProperties:!1,properties:{conditions:{items:{$ref:"#/definitions/ISortCondition"},type:"array"},type:{enum:["sort"],type:"string"}},required:["conditions","type"],type:"object"},ISortCondition:{additionalProperties:!1,properties:{descending:{type:"boolean"},fieldID:{type:"string"}},required:["fieldID","descending"],type:"object"},ITemplate:{additionalProperties:!1,properties:{fieldID:{type:"string"},template:{type:"string"},type:{enum:["template"],type:"string"}},required:["fieldID","type","template"],type:"object"},IView:{additionalProperties:!1,properties:{activities:{items:{$ref:"#/definitions/ActivityType"},type:"array"},datasource:{$ref:"#/definitions/IDatasourceRef"},id:{type:"string"},visualization:{$ref:"#/definitions/IVisualization"}},required:["id","datasource","activities","visualization"],type:"object"},IVisualization:{additionalProperties:!1,properties:{__class:{type:"string"},chartType:{type:"string"},description:{type:"string"},id:{type:"string"},mappings:{$ref:"#/definitions/IMappings"},properties:{$ref:"#/definitions/IWidgetProperties"},secondaryDataviewID:{type:"string"},title:{type:"string"},visibility:{$ref:"#/definitions/VisibilityType"}},required:["__class","chartType","id","mappings","properties","title","visibility"],type:"object"},IWUResult:{additionalProperties:!1,properties:{id:{type:"string"},outputs:{$ref:"#/definitions/OutputDict"},type:{enum:["wuresult"],type:"string"},url:{type:"string"},wuid:{type:"string"}},required:["id","outputs","type","url","wuid"],type:"object"},IWUResultRef:{additionalProperties:!1,properties:{id:{type:"string"},output:{type:"string"}},required:["id","output"],type:"object"},IWidgetProperties:{additionalProperties:{anyOf:[{type:"string"},{items:{type:"string"},type:"array"},{type:"number"},{type:"boolean"},{not:{}},{$ref:"#/definitions/IWidgetProperties"},{items:{$ref:"#/definitions/IWidgetProperties"},type:"array"}]},properties:{__class:{type:"string"}},required:["__class"],type:"object"},MultiTransformationType:{anyOf:[{$ref:"#/definitions/IEquals"},{$ref:"#/definitions/ICalculated"},{$ref:"#/definitions/IScale"},{$ref:"#/definitions/ITemplate"},{$ref:"#/definitions/IMap"}]},Number64:{type:"string"},OutputDict:{additionalProperties:{$ref:"#/definitions/IOutput"},type:"object"},ProjectTransformationType:{anyOf:[{$ref:"#/definitions/MultiTransformationType"},{$ref:"#/definitions/IMulti"}]},Range:{items:[{type:["number","string"]},{type:["number","string"]}],maxItems:2,minItems:2,type:"array"},Schema:{additionalProperties:!1,properties:{createdBy:{additionalProperties:!1,properties:{name:{type:"string"},version:{type:"string"}},required:["name","version"],type:"object"},datasources:{items:{$ref:"#/definitions/DatasourceType"},type:"array"},dataviews:{items:{$ref:"#/definitions/IView"},type:"array"},defs:{additionalProperties:!1,properties:{activityTypes:{additionalProperties:!1,properties:{filter:{$ref:"#/definitions/IFilter"},groupby:{$ref:"#/definitions/IGroupBy"},limit:{$ref:"#/definitions/ILimit"},mappings:{$ref:"#/definitions/IMappings"},project:{$ref:"#/definitions/IProject"},sort:{$ref:"#/definitions/ISort"}},required:["filter","project","groupby","sort","limit","mappings"],type:"object"},aggregateTypes:{additionalProperties:!1,properties:{aggregate:{$ref:"#/definitions/IAggregate"},count:{$ref:"#/definitions/ICount"}},required:["aggregate","count"],type:"object"},datasourceRefTypes:{additionalProperties:!1,properties:{roxieServiceRef:{$ref:"#/definitions/IRoxieServiceRef"},wuResultRef:{$ref:"#/definitions/IWUResultRef"}},required:["wuResultRef","roxieServiceRef"],type:"object"},datasourceTypes:{additionalProperties:!1,properties:{databomb:{$ref:"#/definitions/IDatabomb"},datasource:{$ref:"#/definitions/IDatasource"},form:{$ref:"#/definitions/IForm"},hipieService:{$ref:"#/definitions/IHipieService"},logicalFile:{$ref:"#/definitions/ILogicalFile"},roxieService:{$ref:"#/definitions/IRoxieService"},wuresult:{$ref:"#/definitions/IWUResult"}},required:["datasource","logicalFile","form","databomb","wuresult","hipieService","roxieService"],type:"object"},fieldTypes:{additionalProperties:!1,properties:{dataset:{$ref:"#/definitions/Dataset"},field:{$ref:"#/definitions/IField"},fieldBoolean:{$ref:"#/definitions/IFieldBoolean"},fieldDataset:{$ref:"#/definitions/IFieldDataset"},fieldNumber:{$ref:"#/definitions/IFieldNumber"},fieldNumber64:{$ref:"#/definitions/IFieldNumber64"},fieldObject:{$ref:"#/definitions/IFieldObject"},fieldRange:{$ref:"#/definitions/IFieldRange"},fieldSet:{$ref:"#/definitions/IFieldSet"},fieldString:{$ref:"#/definitions/IFieldString"},fieldType:{$ref:"#/definitions/IFieldType"},number64:{$ref:"#/definitions/Number64"},range:{$ref:"#/definitions/Range"}},required:["number64","range","dataset","fieldType","fieldBoolean","fieldNumber","fieldNumber64","fieldString","fieldRange","fieldDataset","fieldSet","fieldObject","field"],type:"object"},transformationTypes:{additionalProperties:!1,properties:{calculated:{$ref:"#/definitions/ICalculated"},equals:{$ref:"#/definitions/IEquals"},map:{$ref:"#/definitions/IMap"},multi:{$ref:"#/definitions/IMulti"},scale:{$ref:"#/definitions/IScale"},template:{$ref:"#/definitions/ITemplate"}},required:["equals","calculated","scale","template","map","multi"],type:"object"}},required:["fieldTypes","datasourceTypes","datasourceRefTypes","activityTypes","aggregateTypes","transformationTypes"],type:"object"},hipieProperties:{$ref:"#/definitions/IProperties"},properties:{$ref:"#/definitions/IProperties"},version:{enum:["2.2.1"],type:"string"}},required:["version","createdBy","datasources","dataviews"],type:"object"},VisibilityType:{enum:["normal","flyout"],type:"string"}},Br={$ref:Ur,$schema:Qr,definitions:Hr},Kr=Object.freeze({__proto__:null,$ref:Ur,$schema:Qr,definitions:Hr,default:Br}),Gr=jr||Nr,Wr=Kr,Jr={allErrors:!1,verbose:!0,jsonPointers:!1};e.BUILD_VERSION="2.94.0",e.DDL1=d,e.DDL2=h,e.PKG_NAME="@hpcc-js/ddl-shim",e.PKG_VERSION="2.17.20",e.ddl2Schema=Wr,e.isDDL2Schema=function(e){return void 0!==e.version&&void 0!==e.datasources&&void 0!==e.dataviews},e.upgrade=function(e,r,t,a,i){void 0===a&&(a=!0),void 0===i&&(i={});var s,o=new E(e,r,t,a).write();return o.properties=(P(o,s=i),function(e,r){var t={layout:[]};if(r&&r.__properties)return r.__properties.content.forEach(function(e){var r={id:e.__properties.widget.__id,position:[e.__properties.gridCol,e.__properties.gridRow,e.__properties.gridColSpan,e.__properties.gridRowSpan]};t.layout.push(r)}),t}(0,s)),o},e.validate2=function(e){return function(e,r){var t=new Gr(Jr).compile(r);return{success:t(e),errors:t.errors}}(e,Kr)},Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self)["@hpcc-js/ddl-shim"]={})}(this,(function(e){"use strict";function r(e,r){return r.forEach((function(r){r&&"string"!=typeof r&&!Array.isArray(r)&&Object.keys(r).forEach((function(t){if("default"!==t&&!(t in e)){var a=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,a.get?a:{enumerable:!0,get:function(){return r[t]}})}}))})),Object.freeze(e)}var t="@hpcc-js/ddl-shim",a="2.17.21";function i(e){return void 0!==e.WUID}function s(e){return!0===e.databomb}function o(e){return void 0!==e.URL}function n(e){return"PIE"===e.type||"BAR"===e.type}function l(e){return"LINE"===e.type}function p(e){return"CHORO"===e.type}function u(e){return"TABLE"===e.type}function d(e){return"SLIDER"===e.type}function c(e){return"GRAPH"===e.type}function f(e){return"FORM"===e.type}var h=Object.freeze({__proto__:null,isWorkunitDatasource:i,isDatabombDatasource:s,isHipieDatasource:o,isPieVisualization:n,isLineVisualization:l,isChoroVisualization:p,isTableVisualization:u,isSliderVisualization:d,isGraphVisualization:c,isHeatMapVisualization:function(e){return"HEAT_MAP"===e.type},isFormVisualization:f,isUSStateMapping:function(e){return void 0!==e.state},isUSCountyMapping:function(e){return void 0!==e.county},isGeohashMapping:function(e){return void 0!==e.geohash}});function m(e){return void 0!==e.output&&!v(e)}function v(e){return void 0!==e.request}var y=Object.freeze({__proto__:null,isDatabombRef:function(e){return!m(e)&&!v(e)},isWUResultRef:m,isRoxieServiceRef:v,isIFilterCondition:function(e){return!!e.viewID},isFilterActivity:function(e){return"filter"===e.type},isProjectActivity:function(e){return"project"===e.type},isMappingsActivity:function(e){return"mappings"===e.type},isGroupByActivity:function(e){return"groupby"===e.type},isSortActivity:function(e){return"sort"===e.type},isLimitActivity:function(e){return"limit"===e.type},VisibilitySet:["normal","flyout"]}),g=function(){return g=Object.assign||function(e){for(var r,t=1,a=arguments.length;t<a;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},g.apply(this,arguments)};function P(e,r,t){if(t||2===arguments.length)for(var a,i=0,s=r.length;i<s;i++)!a&&i in r||(a||(a=Array.prototype.slice.call(r,0,i)),a[i]=r[i]);return e.concat(a||Array.prototype.slice.call(r))}var b={c3chart_Bar:"chart_Bar",c3chart_Column:"chart_Column",c3chart_Pie:"chart_Pie",c3chart_Area:"chart_Area",c3chart_Line:"chart_Line",amchart_Bar:"chart_Bar",amchart_Column:"chart_Column",amchart_Pie:"chart_Pie",amchart_Area:"chart_Area",amchart_Line:"chart_Line",google_Bar:"chart_Bar",google_Column:"chart_Column",google_Pie:"chart_Pie",google_Area:"chart_Area",google_Line:"chart_Line",other_Table:"dgrid_Table"},E={xAxisLabelRotation:[{name:"xAxisOverlapMode",transform:function(e){return"rotate"}},{name:"xAxisLabelRotation",transform:function(e){return e}}],tooltipLabelColor:{name:"tooltipLabelColor"},tooltipSeriesColor:{name:"tooltipSeriesColor"},tooltipValueColor:{name:"tooltipValueColor"},tooltipValueFormat:{name:"tooltipValueFormat"},timePattern:{name:"xAxisTypeTimePattern"},smoothLines:{name:"interpolate",transform:function(e){return!1===e?"linear":"catmullRom"}},holePercent:{name:"innerRadius"},flip:{name:"orientation",transform:function(e){return e?"vertical":"horizontal"}},bottomText:{name:"xAxisTitle"},xAxisTypeTimePattern:{name:"xAxisTypeTimePattern"},yAxisTypeTimePattern:{name:"yAxisTypeTimePattern"},valueFormat:{name:"tooltipValueFormat"},stacked:{name:"yAxisStacked"},showYGrid:{name:"yAxisGuideLines"},showXGrid:{name:"xAxisGuideLines"},showValueLabel:{name:"showValue"},low:{name:"yAxisDomainLow"},high:{name:"yAxisDomainHigh"},fillOpacity:{name:"interpolateFillOpacity"},areaFillOpacity:{name:"interpolateFillOpacity"},showToolbar:{name:"titleVisible"},showCSV:{name:"downloadButtonVisible"}};function w(e,r,t){var a;for(var i in e){if(i===r&&e[i]===t){a=e;break}if(e[i]&&"object"==typeof e[i]&&void 0!==(a=w(e[i],r,t)))break}return a}function _(e,r){e.dataviews.forEach((function(e){var t=e.id,a=w(r,"__id",t);if(a){var i=a.__properties,s=a.__properties.chart?a.__properties.chart:a.__properties.widget,o=s.__properties;!function(r){e.visualization.__class=t(r.__class),e.visualization.properties.__class="marshaller_VizChartPanel",e.visualization.properties.widget||(e.visualization.properties.widget={});function t(e){return b[e]?b[e]:e}e.visualization.properties.widget.__class=e.visualization.__class}(s),function(r,t){for(var a in e.visualization.title=r.title||"",e.visualization.description="",e.visualization.visibility="flyout"===e.visualization.visibility?"flyout":"normal",e.visualization.chartType=e.visualization.__class.split("_")[1],r)if(void 0!==E[a]){var i=E[a].name;"function"==typeof E[a].transform?e.visualization.properties[i]=E[a].transform(r[a]):e.visualization.properties[i]=r[a]}t&&t.showLegend&&e.visualization.properties&&(e.visualization.properties.legendVisible=!0)}(i,o),function(r,t){e.visualization.title=e.visualization.title||t.title||"",e.visualization.description="",e.visualization.visibility="flyout"===e.visualization.visibility?"flyout":"normal",e.visualization.chartType=e.visualization.__class.split("_")[1];var a=function(r){if(void 0!==E[r])if(E[r]instanceof Array)E[r].forEach((function(a){var i=a.name;e.visualization.properties.widget[i]=a.transform(t[r]),"function"==typeof E[r].transform?e.visualization.properties.widget[i]=E[r].transform(t[r]):e.visualization.properties.widget[i]=t[r]}));else{var a=E[r].name;e.visualization.properties.widget[a]=E[r].transform(t[r])}};for(var i in t)a(i)}(0,o),e.visualization.properties.chartType&&(e.visualization.properties.charttype=e.visualization.properties.chartType)}else console.warn(t+" not found in dermObj")}))}var I=function(){function e(e,r,t,a){void 0===r&&(r="http://localhost:8010"),void 0===t&&(t="WUID"),void 0===a&&(a=!0),this._datasources={},this._datasourceUpdates={},this._visualizations={},this._ddl2Datasources={},this._ddl2DatasourceFields={},this._ddl2Dataviews={},this._ddl2DataviewActivities={},this._ddl=e,this._baseUrl=r,this._wuid=t,this._toLowerCase=a,this.indexDDL(),this.readDDL()}return e.prototype.toLowerCase=function(e){return this._toLowerCase?e.toLowerCase():e},e.prototype.isVizDatasourceRoxie=function(e){if(e.source&&o(this._datasources[e.source.id]))return!0;return!1},e.prototype.getDatasourceOutputs=function(e,r){for(var t=[],a=this._datasources[e],i=0,s=a.outputs;i<s.length;i++){var o=s[i];if(o.notify)for(var n=0,l=o.notify;n<l.length;n++){l[n]===r&&t.push({datasource:a,output:o})}}return t},e.prototype.getDatasourceFilters=function(e,r){for(var t={},a=0,i=this.getDatasourceOutputs(e,r);a<i.length;a++){var s=i[a];if(s.output.filter)for(var o=0,n=s.output.filter;o<n.length;o++){var l=n[o];t[l.fieldid]={datasource:s.datasource,output:s.output,filter:l}}}return t},e.prototype.indexDDL=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var i=a[t];this._visualizations[i.id]=i}for(var s=0,o=this._ddl.datasources;s<o.length;s++){var n=o[s];this._datasources[n.id]=n;for(var l=0,p=n.outputs;l<p.length;l++){var u=p[l];if(u.notify)for(var d=0,c=u.notify;d<c.length;d++){var f=c[d];this._datasourceUpdates[f]={id:n.id,output:u.from||u.id}}}}},e.prototype.readDDL=function(){for(var e=0,r=this._ddl.datasources;e<r.length;e++){var t=r[e];if(i(t)){for(var a={type:"wuresult",id:t.id,url:this._baseUrl,wuid:this._wuid,outputs:{}},o=0,n=t.outputs;o<n.length;o++){var l=n[o];this.output2output(l,a.outputs)}this._ddl2Datasources[t.id]=a}else if(s(t));else{for(var p=t.URL.split("/WsEcl/submit/query/"),u=p[0],d=p[1].split("/"),c=(a={type:"hipie",id:t.id,url:u,querySet:d[0],queryID:d[1],inputs:[],outputs:{}},0),f=t.outputs;c<f.length;c++){l=f[c];this.output2output(l,a.outputs)}this._ddl2Datasources[t.id]=a}}for(var h=0,m=this._ddl.dashboards;h<m.length;h++)for(var v=0,y=m[h].visualizations;v<y.length;v++){var g=y[v];"FORM"===g.type?(this._ddl2Datasources[g.id]={type:"form",id:g.id,fields:this.formFields2field(g.fields)},this._datasourceUpdates[g.id]={id:g.id}):"SLIDER"===g.type&&(this._ddl2Datasources[g.id]={type:"form",id:g.id,fields:this.formFields2field(g.fields,!0)},this._datasourceUpdates[g.id]={id:g.id}),this._ddl2Dataviews[g.id]=this.anyViz2view(g)}this.readGroupBy(),this.readFilters(),this.readSort(),this.readMappings()},e.prototype.readGroupBy=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var i=a[t];if(i.fields){for(var s=[],o=[],n=[],l=0,p=i.fields;l<p.length;l++){var u=p[l];if(u.properties&&u.properties.function)switch(u.properties.function){case"SUM":case"MIN":case"MAX":n.push({type:this.func2aggr(u.properties.function),inFieldID:this.toLowerCase(u.properties.params.param1),fieldID:this.toLowerCase(u.id)});break;case"AVE":n.push({type:this.func2aggr(u.properties.function),inFieldID:this.toLowerCase(u.properties.params.param1),baseCountFieldID:u.properties.params.param2?this.toLowerCase(u.properties.params.param2):void 0,fieldID:this.toLowerCase(u.id)});break;case"SCALE":if("object"==typeof u.properties.params.param1){var d=u.properties.params.param1;switch(d.function){case"SUM":case"MIN":case"MAX":n.push({type:this.func2aggr(d.function),inFieldID:this.toLowerCase(d.params.param1),fieldID:this.toLowerCase(u.id)})}}s.push({type:"scale",sourceFieldID:this.toLowerCase(u.id),fieldID:this.toLowerCase(u.id),factor:+u.properties.params.param2});break;default:throw o.push(this.toLowerCase(u.id)),new Error("Unhandled field function: ".concat(u.properties.function))}else o.push(this.toLowerCase(u.id))}s.length&&(this._ddl2DataviewActivities[i.id].project.transformations=s),n.length&&(this._ddl2DataviewActivities[i.id].groupBy.groupByIDs=P([],o,!0),this._ddl2DataviewActivities[i.id].groupBy.aggregates=n)}}},e.prototype.func2aggr=function(e){switch(e){case"SUM":return"sum";case"AVE":return"mean";case"MIN":return"min";case"MAX":return"max"}throw new Error("Unknown DDL1 Function Type: ".concat(e))},e.prototype.readMappings=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var i=a[t];if(f(i));else if(n(i))this.readPieMappings(i);else if(p(i))this.readChoroMappings(i);else if(l(i))this.readLineMappings(i);else if(u(i))this.readTableMappings(i);else if(c(i))this.readGraphMappings(i);else{if(!d(i))throw new Error("Unkown DDL1 mapping type: ".concat(i.type));this.readSliderMappings(i)}}},e.prototype.readPieMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.label)}),r.transformations.push({fieldID:"weight",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.weight[0])})},e.prototype.readChoroMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(this.anyChoroMapping2label(e.source.mappings))}),r.transformations.push({fieldID:"weight",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.weight[0])})},e.prototype.anyChoroMapping2label=function(e){return e.state||e.county||e.geohash},e.prototype.readLineMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:e.source.mappings.x[0],type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.x[0])});for(var t=0;t<e.source.mappings.y.length;++t)r.transformations.push({fieldID:e.source.mappings.y[t],type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.y[t])})},e.prototype.readTableMappings=function(e){for(var r=this._ddl2DataviewActivities[e.id].mappings,t=0;t<e.label.length;++t)r.transformations.push({fieldID:e.label[t],type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.value[t])})},e.prototype.readGraphEnums=function(e,r){void 0===r&&(r=!1);var t=[];if(e)for(var a in e){var i={};for(var s in e[a])"faChar"===s?i[s]=e[a][s]:r&&0===s.indexOf("icon_")?(console.log("Deprecated flag property: "+s),i[s.split("icon_")[1]]=e[a][s]):i[s]=e[a][s];r&&"0"===a||t.push({value:a,newValue:i})}return t},e.prototype.readGraphMappings=function(e){var r=this._ddl2DataviewActivities[e.id].mappings;r.transformations.push({fieldID:"uid",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.uid)}),r.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.label)}),e.icon.fieldid&&r.transformations.push({fieldID:"icon",type:"map",sourceFieldID:this.toLowerCase(e.icon.fieldid),default:{fachar:e.icon.faChar},mappings:this.readGraphEnums(e.icon.valuemappings)});var t=0;if(e.flag)for(var a=0,i=e.flag;a<i.length;a++){var s=i[a];s.fieldid&&r.transformations.push({fieldID:"annotation_".concat(t++),type:"map",sourceFieldID:this.toLowerCase(s.fieldid),default:{},mappings:this.readGraphEnums(s.valuemappings,!0)})}r.transformations.push({fieldID:"links",type:"=",sourceFieldID:this.toLowerCase(e.source.link.childfile),transformations:[{fieldID:"uid",type:"=",sourceFieldID:this.toLowerCase(e.source.link.mappings.uid)}]})},e.prototype.readSliderMappings=function(e){this._ddl2DataviewActivities[e.id].mappings.transformations.push({fieldID:"label",type:"=",sourceFieldID:this.toLowerCase(e.source.mappings.label)})},e.prototype.readFilters=function(){for(var e=0,r=this._ddl.dashboards;e<r.length;e++)for(var t=0,a=r[e].visualizations;t<a.length;t++){var i=a[t];if(i.events)for(var s in i.events)for(var o=0,n=i.events[s].updates;o<n.length;o++){var l=n[o],p=this._ddl2Dataviews[l.visualization],u=this.getDatasourceFilters(l.datasource,p.id);if(l.mappings)if(v(p.datasource))for(var d in l.mappings)p.datasource.request.push({source:i.id,remoteFieldID:this.toLowerCase(d),localFieldID:this.toLowerCase(l.mappings[d])});else{var c={viewID:i.id,mappings:[]};for(var d in l.mappings){var f=l.mappings[d],h=f&&u[f]?u[f].filter:void 0;h?c.mappings.push({remoteFieldID:this.toLowerCase(d),localFieldID:this.toLowerCase(l.mappings[d]),condition:this.rule2condition(h.rule),nullable:h.nullable}):console.warn('Select Mapping "'.concat(f,'" in viz "').concat(i.id,'" not found in filters for "').concat(p.id,'"'))}this._ddl2DataviewActivities[p.id].filters.conditions.push(c)}}}},e.prototype.rule2condition=function(e){switch(e){case"set":return"in";case"notequals":return"!="}return e},e.prototype.readSort=function(){for(var e=this,r=0,t=this._ddl.dashboards;r<t.length;r++)for(var a=0,i=t[r].visualizations;a<i.length;a++){var s=i[a];if(s.source){if(s.source.sort)this._ddl2DataviewActivities[s.id].sort.conditions=s.source.sort.map((function(r){return 0===r.indexOf("-")?{fieldID:e.toLowerCase(r.substr(1)),descending:!0}:{fieldID:e.toLowerCase(r),descending:!1}}));if(s.source.first)this._ddl2DataviewActivities[s.id].limit.limit=+s.source.first}}},e.prototype.anyViz2view=function(e){var r={type:"project",transformations:[]},t={type:"filter",conditions:[]},a={type:"groupby",groupByIDs:[],aggregates:[]},i={type:"sort",conditions:[]},s={type:"limit",limit:0},o={type:"mappings",transformations:[]};this._ddl2DataviewActivities[e.id]={project:r,filters:t,sort:i,groupBy:a,limit:s,mappings:o};var n=this.isVizDatasourceRoxie(e)?{id:this._datasourceUpdates[e.id].id,request:[],output:this._datasourceUpdates[e.id].output}:{id:this._datasourceUpdates[e.id].id,output:this._datasourceUpdates[e.id].output};return{id:e.id,datasource:n,activities:[r,t,i,a,s],visualization:g(g({id:e.id,title:e.title||"",description:"",visibility:e.properties&&!0===e.properties.flyout?"flyout":"normal"},this.type2chartType(e.type)),{mappings:o,properties:e.properties||{}})}},e.prototype.type2chartType=function(e){switch(e){case"LINE":return{chartType:"Line",__class:"chart_Line"};case"BUBBLE":return{chartType:"Bubble",__class:"chart_Bubble"};case"PIE":return{chartType:"Pie",__class:"chart_Pie"};case"BAR":case"2DCHART":return{chartType:"Column",__class:"chart_Column"};case"FORM":case"SLIDER":return{chartType:"FieldForm",__class:"form_FieldForm"};case"WORD_CLOUD":return{chartType:"WordCloud",__class:"chart_WordCloud"};case"CHORO":return{chartType:"ChoroplethStates",__class:"map_ChoroplethStates"};case"SUMMARY":return{chartType:"Summary",__class:"chart_Summary"};case"HEAT_MAP":return{chartType:"HeatMap",__class:"other_HeatMap"};case"GRAPH":return{chartType:"AdjacencyGraph",__class:"graph_AdjacencyGraph"};default:return{chartType:"Table",__class:"dgrid_Table"}}},e.prototype.formFields2field=function(e,r){var t=this;return void 0===r&&(r=!1),e?e.map((function(e){switch(e.properties.type){case"range":return{type:"range",id:e.id,default:e.properties.default?e.properties.default:void 0};case"dataset":return{type:"dataset",id:e.id,default:[],children:[]};default:return{type:t.formFieldType2fieldType(e.properties.datatype,r),id:e.id,default:e.properties.default?e.properties.default[0]:void 0}}})):[]},e.prototype.formFieldType2fieldType=function(e,r){switch(e){case"bool":case"boolean":return"boolean";case"integer":case"unsigned":case"float":case"double":case"real":return"number";case"string":return"string";default:return r?"number":"string"}},e.prototype.output2output=function(e,r){r[e.from||e.id]={fields:this.filters2fields(e.filter)}},e.prototype.filters2fields=function(e){return e?e.filter((function(e){var r=e.fieldid.split("-");return 1===r.length||"range"===r[1]})).map((function(e){return{type:"string",id:e.fieldid.split("-")[0]}})):[]},e.prototype.getVizField=function(e,r){return{type:"string",id:"",default:""}},e.prototype.writeDatasources=function(){var e=[];for(var r in this._ddl2Datasources)e.push(this._ddl2Datasources[r]);return e},e.prototype.writeDataviews=function(){var e=[];for(var r in this._ddl2Dataviews)e.push(this._ddl2Dataviews[r]);return e},e.prototype.writeProperties=function(){return{}},e.prototype.write=function(){return{version:"2.2.1",createdBy:{name:t,version:a},datasources:this.writeDatasources(),dataviews:this.writeDataviews(),properties:this.writeProperties()}},e}();"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var D={exports:{}};
2
+ /** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
3
+ !function(e,r){!function(e){function r(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];if(r.length>1){r[0]=r[0].slice(0,-1);for(var a=r.length-1,i=1;i<a;++i)r[i]=r[i].slice(1,-1);return r[a]=r[a].slice(1),r.join("")}return r[0]}function t(e){return"(?:"+e+")"}function a(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function i(e){return e.toUpperCase()}function s(e){return null!=e?e instanceof Array?e:"number"!=typeof e.length||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e):[]}function o(e,r){var t=e;if(r)for(var a in r)t[a]=r[a];return t}function n(e){var a="[A-Za-z]",i="[0-9]",s=r(i,"[A-Fa-f]"),o=t(t("%[EFef]"+s+"%"+s+s+"%"+s+s)+"|"+t("%[89A-Fa-f]"+s+"%"+s+s)+"|"+t("%"+s+s)),n="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",l=r("[\\:\\/\\?\\#\\[\\]\\@]",n),p=e?"[\\uE000-\\uF8FF]":"[]",u=r(a,i,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]");t(a+r(a,i,"[\\+\\-\\.]")+"*"),t(t(o+"|"+r(u,n,"[\\:]"))+"*");var d=t(t("25[0-5]")+"|"+t("2[0-4]"+i)+"|"+t("1"+i+i)+"|"+t("0?[1-9]"+i)+"|0?0?"+i),c=t(d+"\\."+d+"\\."+d+"\\."+d),f=t(s+"{1,4}"),h=t(t(f+"\\:"+f)+"|"+c),m=t(t(f+"\\:")+"{6}"+h),v=t("\\:\\:"+t(f+"\\:")+"{5}"+h),y=t(t(f)+"?\\:\\:"+t(f+"\\:")+"{4}"+h),g=t(t(t(f+"\\:")+"{0,1}"+f)+"?\\:\\:"+t(f+"\\:")+"{3}"+h),P=t(t(t(f+"\\:")+"{0,2}"+f)+"?\\:\\:"+t(f+"\\:")+"{2}"+h),b=t(t(t(f+"\\:")+"{0,3}"+f)+"?\\:\\:"+f+"\\:"+h),E=t(t(t(f+"\\:")+"{0,4}"+f)+"?\\:\\:"+h),w=t(t(t(f+"\\:")+"{0,5}"+f)+"?\\:\\:"+f),_=t(t(t(f+"\\:")+"{0,6}"+f)+"?\\:\\:"),I=t([m,v,y,g,P,b,E,w,_].join("|")),D=t(t(u+"|"+o)+"+");t("[vV]"+s+"+\\."+r(u,n,"[\\:]")+"+"),t(t(o+"|"+r(u,n))+"*");var S=t(o+"|"+r(u,n,"[\\:\\@]"));return t(t(o+"|"+r(u,n,"[\\@]"))+"+"),t(t(S+"|"+r("[\\/\\?]",p))+"*"),{NOT_SCHEME:new RegExp(r("[^]",a,i,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(r("[^\\%\\:]",u,n),"g"),NOT_HOST:new RegExp(r("[^\\%\\[\\]\\:]",u,n),"g"),NOT_PATH:new RegExp(r("[^\\%\\/\\:\\@]",u,n),"g"),NOT_PATH_NOSCHEME:new RegExp(r("[^\\%\\/\\@]",u,n),"g"),NOT_QUERY:new RegExp(r("[^\\%]",u,n,"[\\:\\@\\/\\?]",p),"g"),NOT_FRAGMENT:new RegExp(r("[^\\%]",u,n,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(r("[^]",u,n),"g"),UNRESERVED:new RegExp(u,"g"),OTHER_CHARS:new RegExp(r("[^\\%]",u,l),"g"),PCT_ENCODED:new RegExp(o,"g"),IPV4ADDRESS:new RegExp("^("+c+")$"),IPV6ADDRESS:new RegExp("^\\[?("+I+")"+t(t("\\%25|\\%(?!"+s+"{2})")+"("+D+")")+"?\\]?$")}}var l=n(!1),p=n(!0),u=function(){function e(e,r){var t=[],a=!0,i=!1,s=void 0;try{for(var o,n=e[Symbol.iterator]();!(a=(o=n.next()).done)&&(t.push(o.value),!r||t.length!==r);a=!0);}catch(e){i=!0,s=e}finally{try{!a&&n.return&&n.return()}finally{if(i)throw s}}return t}return function(r,t){if(Array.isArray(r))return r;if(Symbol.iterator in Object(r))return e(r,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),d=function(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)},c=2147483647,f=36,h=1,m=26,v=38,y=700,g=72,P=128,b="-",E=/^xn--/,w=/[^\0-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,I={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},D=f-h,S=Math.floor,F=String.fromCharCode;function $(e){throw new RangeError(I[e])}function R(e,r){for(var t=[],a=e.length;a--;)t[a]=r(e[a]);return t}function j(e,r){var t=e.split("@"),a="";return t.length>1&&(a=t[0]+"@",e=t[1]),a+R((e=e.replace(_,".")).split("."),r).join(".")}function C(e){for(var r=[],t=0,a=e.length;t<a;){var i=e.charCodeAt(t++);if(i>=55296&&i<=56319&&t<a){var s=e.charCodeAt(t++);56320==(64512&s)?r.push(((1023&i)<<10)+(1023&s)+65536):(r.push(i),t--)}else r.push(i)}return r}var x=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:f},A=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},O=function(e,r,t){var a=0;for(e=t?S(e/y):e>>1,e+=S(e/r);e>D*m>>1;a+=f)e=S(e/D);return S(a+(D+1)*e/(e+v))},T=function(e){var r=[],t=e.length,a=0,i=P,s=g,o=e.lastIndexOf(b);o<0&&(o=0);for(var n=0;n<o;++n)e.charCodeAt(n)>=128&&$("not-basic"),r.push(e.charCodeAt(n));for(var l=o>0?o+1:0;l<t;){for(var p=a,u=1,d=f;;d+=f){l>=t&&$("invalid-input");var v=x(e.charCodeAt(l++));(v>=f||v>S((c-a)/u))&&$("overflow"),a+=v*u;var y=d<=s?h:d>=s+m?m:d-s;if(v<y)break;var E=f-y;u>S(c/E)&&$("overflow"),u*=E}var w=r.length+1;s=O(a-p,w,0==p),S(a/w)>c-i&&$("overflow"),i+=S(a/w),a%=w,r.splice(a++,0,i)}return String.fromCodePoint.apply(String,r)},L=function(e){var r=[],t=(e=C(e)).length,a=P,i=0,s=g,o=!0,n=!1,l=void 0;try{for(var p,u=e[Symbol.iterator]();!(o=(p=u.next()).done);o=!0){var d=p.value;d<128&&r.push(F(d))}}catch(e){n=!0,l=e}finally{try{!o&&u.return&&u.return()}finally{if(n)throw l}}var v=r.length,y=v;for(v&&r.push(b);y<t;){var E=c,w=!0,_=!1,I=void 0;try{for(var D,R=e[Symbol.iterator]();!(w=(D=R.next()).done);w=!0){var j=D.value;j>=a&&j<E&&(E=j)}}catch(e){_=!0,I=e}finally{try{!w&&R.return&&R.return()}finally{if(_)throw I}}var x=y+1;E-a>S((c-i)/x)&&$("overflow"),i+=(E-a)*x,a=E;var T=!0,L=!1,z=void 0;try{for(var q,k=e[Symbol.iterator]();!(T=(q=k.next()).done);T=!0){var V=q.value;if(V<a&&++i>c&&$("overflow"),V==a){for(var N=i,M=f;;M+=f){var U=M<=s?h:M>=s+m?m:M-s;if(N<U)break;var Q=N-U,H=f-U;r.push(F(A(U+Q%H,0))),N=S(Q/H)}r.push(F(A(N,0))),s=O(i,x,y==v),i=0,++y}}}catch(e){L=!0,z=e}finally{try{!T&&k.return&&k.return()}finally{if(L)throw z}}++i,++a}return r.join("")},z=function(e){return j(e,(function(e){return E.test(e)?T(e.slice(4).toLowerCase()):e}))},q=function(e){return j(e,(function(e){return w.test(e)?"xn--"+L(e):e}))},k={version:"2.1.0",ucs2:{decode:C,encode:function(e){return String.fromCodePoint.apply(String,d(e))}},decode:T,encode:L,toASCII:q,toUnicode:z},V={};function N(e){var r=e.charCodeAt(0);return r<16?"%0"+r.toString(16).toUpperCase():r<128?"%"+r.toString(16).toUpperCase():r<2048?"%"+(r>>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function M(e){for(var r="",t=0,a=e.length;t<a;){var i=parseInt(e.substr(t+1,2),16);if(i<128)r+=String.fromCharCode(i),t+=3;else if(i>=194&&i<224){if(a-t>=6){var s=parseInt(e.substr(t+4,2),16);r+=String.fromCharCode((31&i)<<6|63&s)}else r+=e.substr(t,6);t+=6}else if(i>=224){if(a-t>=9){var o=parseInt(e.substr(t+4,2),16),n=parseInt(e.substr(t+7,2),16);r+=String.fromCharCode((15&i)<<12|(63&o)<<6|63&n)}else r+=e.substr(t,9);t+=9}else r+=e.substr(t,3),t+=3}return r}function U(e,r){function t(e){var t=M(e);return t.match(r.UNRESERVED)?t:e}return e.scheme&&(e.scheme=String(e.scheme).replace(r.PCT_ENCODED,t).toLowerCase().replace(r.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(r.PCT_ENCODED,t).replace(r.NOT_USERINFO,N).replace(r.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(r.PCT_ENCODED,t).toLowerCase().replace(r.NOT_HOST,N).replace(r.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(r.PCT_ENCODED,t).replace(e.scheme?r.NOT_PATH:r.NOT_PATH_NOSCHEME,N).replace(r.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(r.PCT_ENCODED,t).replace(r.NOT_QUERY,N).replace(r.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(r.PCT_ENCODED,t).replace(r.NOT_FRAGMENT,N).replace(r.PCT_ENCODED,i)),e}function Q(e){return e.replace(/^0*(.*)/,"$1")||"0"}function H(e,r){var t=e.match(r.IPV4ADDRESS)||[],a=u(t,2)[1];return a?a.split(".").map(Q).join("."):e}function B(e,r){var t=e.match(r.IPV6ADDRESS)||[],a=u(t,3),i=a[1],s=a[2];if(i){for(var o=i.toLowerCase().split("::").reverse(),n=u(o,2),l=n[0],p=n[1],d=p?p.split(":").map(Q):[],c=l.split(":").map(Q),f=r.IPV4ADDRESS.test(c[c.length-1]),h=f?7:8,m=c.length-h,v=Array(h),y=0;y<h;++y)v[y]=d[y]||c[m+y]||"";f&&(v[h-1]=H(v[h-1],r));var g=v.reduce((function(e,r,t){if(!r||"0"===r){var a=e[e.length-1];a&&a.index+a.length===t?a.length++:e.push({index:t,length:1})}return e}),[]).sort((function(e,r){return r.length-e.length}))[0],P=void 0;if(g&&g.length>1){var b=v.slice(0,g.index),E=v.slice(g.index+g.length);P=b.join(":")+"::"+E.join(":")}else P=v.join(":");return s&&(P+="%"+s),P}return e}var K=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,G=void 0==="".match(/(){0}/)[1];function W(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t={},a=!1!==r.iri?p:l;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var i=e.match(K);if(i){G?(t.scheme=i[1],t.userinfo=i[3],t.host=i[4],t.port=parseInt(i[5],10),t.path=i[6]||"",t.query=i[7],t.fragment=i[8],isNaN(t.port)&&(t.port=i[5])):(t.scheme=i[1]||void 0,t.userinfo=-1!==e.indexOf("@")?i[3]:void 0,t.host=-1!==e.indexOf("//")?i[4]:void 0,t.port=parseInt(i[5],10),t.path=i[6]||"",t.query=-1!==e.indexOf("?")?i[7]:void 0,t.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),t.host&&(t.host=B(H(t.host,a),a)),void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?t.reference="relative":void 0===t.fragment?t.reference="absolute":t.reference="uri":t.reference="same-document",r.reference&&"suffix"!==r.reference&&r.reference!==t.reference&&(t.error=t.error||"URI is not a "+r.reference+" reference.");var s=V[(r.scheme||t.scheme||"").toLowerCase()];if(r.unicodeSupport||s&&s.unicodeSupport)U(t,a);else{if(t.host&&(r.domainHost||s&&s.domainHost))try{t.host=k.toASCII(t.host.replace(a.PCT_ENCODED,M).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}U(t,l)}s&&s.parse&&s.parse(t,r)}else t.error=t.error||"URI can not be parsed.";return t}function J(e,r){var t=!1!==r.iri?p:l,a=[];return void 0!==e.userinfo&&(a.push(e.userinfo),a.push("@")),void 0!==e.host&&a.push(B(H(String(e.host),t),t).replace(t.IPV6ADDRESS,(function(e,r,t){return"["+r+(t?"%25"+t:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(a.push(":"),a.push(String(e.port))),a.length?a.join(""):void 0}var Z=/^\.\.?\//,X=/^\/\.(\/|$)/,Y=/^\/\.\.(\/|$)/,ee=/^\/?(?:.|\n)*?(?=\/|$)/;function re(e){for(var r=[];e.length;)if(e.match(Z))e=e.replace(Z,"");else if(e.match(X))e=e.replace(X,"/");else if(e.match(Y))e=e.replace(Y,"/"),r.pop();else if("."===e||".."===e)e="";else{var t=e.match(ee);if(!t)throw new Error("Unexpected dot segment condition");var a=t[0];e=e.slice(a.length),r.push(a)}return r.join("")}function te(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=r.iri?p:l,a=[],i=V[(r.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,r),e.host)if(t.IPV6ADDRESS.test(e.host));else if(r.domainHost||i&&i.domainHost)try{e.host=r.iri?k.toUnicode(e.host):k.toASCII(e.host.replace(t.PCT_ENCODED,M).toLowerCase())}catch(t){e.error=e.error||"Host's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+t}U(e,t),"suffix"!==r.reference&&e.scheme&&(a.push(e.scheme),a.push(":"));var s=J(e,r);if(void 0!==s&&("suffix"!==r.reference&&a.push("//"),a.push(s),e.path&&"/"!==e.path.charAt(0)&&a.push("/")),void 0!==e.path){var o=e.path;r.absolutePath||i&&i.absolutePath||(o=re(o)),void 0===s&&(o=o.replace(/^\/\//,"/%2F")),a.push(o)}return void 0!==e.query&&(a.push("?"),a.push(e.query)),void 0!==e.fragment&&(a.push("#"),a.push(e.fragment)),a.join("")}function ae(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a={};return arguments[3]||(e=W(te(e,t),t),r=W(te(r,t),t)),!(t=t||{}).tolerant&&r.scheme?(a.scheme=r.scheme,a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=re(r.path||""),a.query=r.query):(void 0!==r.userinfo||void 0!==r.host||void 0!==r.port?(a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=re(r.path||""),a.query=r.query):(r.path?("/"===r.path.charAt(0)?a.path=re(r.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?a.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:a.path=r.path:a.path="/"+r.path,a.path=re(a.path)),a.query=r.query):(a.path=e.path,void 0!==r.query?a.query=r.query:a.query=e.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=r.fragment,a}function ie(e,r,t){var a=o({scheme:"null"},t);return te(ae(W(e,a),W(r,a),a,!0),a)}function se(e,r){return"string"==typeof e?e=te(W(e,r),r):"object"===a(e)&&(e=W(te(e,r),r)),e}function oe(e,r,t){return"string"==typeof e?e=te(W(e,t),t):"object"===a(e)&&(e=te(e,t)),"string"==typeof r?r=te(W(r,t),t):"object"===a(r)&&(r=te(r,t)),e===r}function ne(e,r){return e&&e.toString().replace(r&&r.iri?p.ESCAPE:l.ESCAPE,N)}function le(e,r){return e&&e.toString().replace(r&&r.iri?p.PCT_ENCODED:l.PCT_ENCODED,M)}var pe={scheme:"http",domainHost:!0,parse:function(e,r){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,r){var t="https"===String(e.scheme).toLowerCase();return e.port!==(t?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},ue={scheme:"https",domainHost:pe.domainHost,parse:pe.parse,serialize:pe.serialize};function de(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var ce={scheme:"ws",domainHost:!0,parse:function(e,r){var t=e;return t.secure=de(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t},serialize:function(e,r){if(e.port!==(de(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var t=e.resourceName.split("?"),a=u(t,2),i=a[0],s=a[1];e.path=i&&"/"!==i?i:void 0,e.query=s,e.resourceName=void 0}return e.fragment=void 0,e}},fe={scheme:"wss",domainHost:ce.domainHost,parse:ce.parse,serialize:ce.serialize},he={},me="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",ve="[0-9A-Fa-f]",ye=t(t("%[EFef]"+ve+"%"+ve+ve+"%"+ve+ve)+"|"+t("%[89A-Fa-f]"+ve+"%"+ve+ve)+"|"+t("%"+ve+ve)),ge="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",Pe=r("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),be="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",Ee=new RegExp(me,"g"),we=new RegExp(ye,"g"),_e=new RegExp(r("[^]",ge,"[\\.]",'[\\"]',Pe),"g"),Ie=new RegExp(r("[^]",me,be),"g"),De=Ie;function Se(e){var r=M(e);return r.match(Ee)?r:e}var Fe={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var i=!1,s={},o=t.query.split("&"),n=0,l=o.length;n<l;++n){var p=o[n].split("=");switch(p[0]){case"to":for(var u=p[1].split(","),d=0,c=u.length;d<c;++d)a.push(u[d]);break;case"subject":t.subject=le(p[1],r);break;case"body":t.body=le(p[1],r);break;default:i=!0,s[le(p[0],r)]=le(p[1],r)}}i&&(t.headers=s)}t.query=void 0;for(var f=0,h=a.length;f<h;++f){var m=a[f].split("@");if(m[0]=le(m[0]),r.unicodeSupport)m[1]=le(m[1],r).toLowerCase();else try{m[1]=k.toASCII(le(m[1],r).toLowerCase())}catch(e){t.error=t.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}a[f]=m.join("@")}return t},serialize:function(e,r){var t=e,a=s(e.to);if(a){for(var o=0,n=a.length;o<n;++o){var l=String(a[o]),p=l.lastIndexOf("@"),u=l.slice(0,p).replace(we,Se).replace(we,i).replace(_e,N),d=l.slice(p+1);try{d=r.iri?k.toUnicode(d):k.toASCII(le(d,r).toLowerCase())}catch(e){t.error=t.error||"Email address's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+e}a[o]=u+"@"+d}t.path=a.join(",")}var c=e.headers=e.headers||{};e.subject&&(c.subject=e.subject),e.body&&(c.body=e.body);var f=[];for(var h in c)c[h]!==he[h]&&f.push(h.replace(we,Se).replace(we,i).replace(Ie,N)+"="+c[h].replace(we,Se).replace(we,i).replace(De,N));return f.length&&(t.query=f.join("&")),t}},$e=/^([^\:]+)\:(.*)/,Re={scheme:"urn",parse:function(e,r){var t=e.path&&e.path.match($e),a=e;if(t){var i=r.scheme||a.scheme||"urn",s=t[1].toLowerCase(),o=t[2],n=i+":"+(r.nid||s),l=V[n];a.nid=s,a.nss=o,a.path=void 0,l&&(a=l.parse(a,r))}else a.error=a.error||"URN can not be parsed.";return a},serialize:function(e,r){var t=r.scheme||e.scheme||"urn",a=e.nid,i=t+":"+(r.nid||a),s=V[i];s&&(e=s.serialize(e,r));var o=e,n=e.nss;return o.path=(a||r.nid)+":"+n,o}},je=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Ce={scheme:"urn:uuid",parse:function(e,r){var t=e;return t.uuid=t.nss,t.nss=void 0,r.tolerant||t.uuid&&t.uuid.match(je)||(t.error=t.error||"UUID is not valid."),t},serialize:function(e,r){var t=e;return t.nss=(e.uuid||"").toLowerCase(),t}};V[pe.scheme]=pe,V[ue.scheme]=ue,V[ce.scheme]=ce,V[fe.scheme]=fe,V[Fe.scheme]=Fe,V[Re.scheme]=Re,V[Ce.scheme]=Ce,e.SCHEMES=V,e.pctEncChar=N,e.pctDecChars=M,e.parse=W,e.removeDotSegments=re,e.serialize=te,e.resolveComponents=ae,e.resolve=ie,e.normalize=se,e.equal=oe,e.escapeComponent=ne,e.unescapeComponent=le,Object.defineProperty(e,"__esModule",{value:!0})}(r)}(0,D.exports);var S=Array.isArray,F=Object.keys,$=Object.prototype.hasOwnProperty,R=function e(r,t){if(r===t)return!0;if(r&&t&&"object"==typeof r&&"object"==typeof t){var a,i,s,o=S(r),n=S(t);if(o&&n){if((i=r.length)!=t.length)return!1;for(a=i;0!=a--;)if(!e(r[a],t[a]))return!1;return!0}if(o!=n)return!1;var l=r instanceof Date,p=t instanceof Date;if(l!=p)return!1;if(l&&p)return r.getTime()==t.getTime();var u=r instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return r.toString()==t.toString();var c=F(r);if((i=c.length)!==F(t).length)return!1;for(a=i;0!=a--;)if(!$.call(t,c[a]))return!1;for(a=i;0!=a--;)if(!e(r[s=c[a]],t[s]))return!1;return!0}return r!=r&&t!=t},j={copy:function(e,r){for(var t in r=r||{},e)r[t]=e[t];return r},checkDataType:C,checkDataTypes:function(e,r){if(1===e.length)return C(e[0],r,!0);var t="",a=A(e);for(var i in a.array&&a.object&&(t=a.null?"(":"(!"+r+" || ",t+="typeof "+r+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer,a)t+=(t?" && ":"")+C(i,r,!0);return t},coerceToTypes:function(e,r){if(Array.isArray(r)){for(var t=[],a=0;a<r.length;a++){var i=r[a];(x[i]||"array"===e&&"array"===i)&&(t[t.length]=i)}if(t.length)return t}else{if(x[r])return[r];if("array"===e&&"array"===r)return["array"]}},toHash:A,getProperty:L,escapeQuotes:z,equal:R,ucs2length:function(e){for(var r,t=0,a=e.length,i=0;i<a;)t++,(r=e.charCodeAt(i++))>=55296&&r<=56319&&i<a&&56320==(64512&(r=e.charCodeAt(i)))&&i++;return t},varOccurences:function(e,r){r+="[^0-9]";var t=e.match(new RegExp(r,"g"));return t?t.length:0},varReplace:function(e,r,t){return r+="([^0-9])",t=t.replace(/\$/g,"$$$$"),e.replace(new RegExp(r,"g"),t+"$1")},cleanUpCode:function(e){return e.replace(q,"").replace(k,"").replace(V,"if (!($1))")},finalCleanUpCode:function(e,r){var t=e.match(N);t&&2==t.length&&(e=r?e.replace(U,"").replace(Q,"return data;"):e.replace(M,"").replace("return errors === 0;","validate.errors = null; return true;"));return(t=e.match(H))&&3===t.length?e.replace(B,""):e},schemaHasRules:function(e,r){if("boolean"==typeof e)return!e;for(var t in e)if(r[t])return!0},schemaHasRulesExcept:function(e,r,t){if("boolean"==typeof e)return!e&&"not"!=t;for(var a in e)if(a!=t&&r[a])return!0},schemaUnknownRules:function(e,r){if("boolean"==typeof e)return;for(var t in e)if(!r[t])return t},toQuotedString:K,getPathExpr:function(e,r,t,a){return J(e,t?"'/' + "+r+(a?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):a?"'[' + "+r+" + ']'":"'[\\'' + "+r+" + '\\']'")},getPath:function(e,r,t){var a=K(t?"/"+Z(r):L(r));return J(e,a)},getData:function(e,r,t){var a,i,s,o;if(""===e)return"rootData";if("/"==e[0]){if(!G.test(e))throw new Error("Invalid JSON-pointer: "+e);i=e,s="rootData"}else{if(!(o=e.match(W)))throw new Error("Invalid JSON-pointer: "+e);if(a=+o[1],"#"==(i=o[2])){if(a>=r)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(a>r)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(s="data"+(r-a||""),!i)return s}for(var n=s,l=i.split("/"),p=0;p<l.length;p++){var u=l[p];u&&(s+=L(X(u)),n+=" && "+s)}return n},unescapeFragment:function(e){return X(decodeURIComponent(e))},unescapeJsonPointer:X,escapeFragment:function(e){return encodeURIComponent(Z(e))},escapeJsonPointer:Z};function C(e,r,t){var a=t?" !== ":" === ",i=t?" || ":" && ",s=t?"!":"",o=t?"":"!";switch(e){case"null":return r+a+"null";case"array":return s+"Array.isArray("+r+")";case"object":return"("+s+r+i+"typeof "+r+a+'"object"'+i+o+"Array.isArray("+r+"))";case"integer":return"(typeof "+r+a+'"number"'+i+o+"("+r+" % 1)"+i+r+a+r+")";default:return"typeof "+r+a+'"'+e+'"'}}var x=A(["string","number","integer","boolean","null"]);function A(e){for(var r={},t=0;t<e.length;t++)r[e[t]]=!0;return r}var O=/^[a-z$_][a-z$_0-9]*$/i,T=/'|\\/g;function L(e){return"number"==typeof e?"["+e+"]":O.test(e)?"."+e:"['"+z(e)+"']"}function z(e){return e.replace(T,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var q=/else\s*{\s*}/g,k=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,V=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var N=/[^v.]errors/g,M=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,U=/var errors = 0;|var vErrors = null;/g,Q=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,H=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,B=/if \(rootData === undefined\) rootData = data;/;function K(e){return"'"+z(e)+"'"}var G=/^\/(?:[^~]|~0|~1)*$/,W=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function J(e,r){return'""'==e?r:(e+" + "+r).replace(/' \+ '/g,"")}function Z(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function X(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}var Y=j,ee=function(e){Y.copy(e,this)};var re={exports:{}},te=re.exports=function(e,r,t){"function"==typeof r&&(t=r,r={}),ae(r,"function"==typeof(t=r.cb||t)?t:t.pre||function(){},t.post||function(){},e,"",e)};function ae(e,r,t,a,i,s,o,n,l,p){if(a&&"object"==typeof a&&!Array.isArray(a)){for(var u in r(a,i,s,o,n,l,p),a){var d=a[u];if(Array.isArray(d)){if(u in te.arrayKeywords)for(var c=0;c<d.length;c++)ae(e,r,t,d[c],i+"/"+u+"/"+c,s,i,u,a,c)}else if(u in te.propsKeywords){if(d&&"object"==typeof d)for(var f in d)ae(e,r,t,d[f],i+"/"+u+"/"+f.replace(/~/g,"~0").replace(/\//g,"~1"),s,i,u,a,f)}else(u in te.keywords||e.allKeys&&!(u in te.skipKeywords))&&ae(e,r,t,d,i+"/"+u,s,i,u,a)}t(a,i,s,o,n,l,p)}}te.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},te.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},te.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},te.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};var ie=D.exports,se=R,oe=j,ne=ee,le=re.exports,pe=ue;function ue(e,r,t){var a=this._refs[t];if("string"==typeof a){if(!this._refs[a])return ue.call(this,e,r,a);a=this._refs[a]}if((a=a||this._schemas[t])instanceof ne)return ve(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var i,s,o,n=de.call(this,r,t);return n&&(i=n.schema,r=n.root,o=n.baseId),i instanceof ne?s=i.validate||e.call(this,i.schema,r,void 0,o):void 0!==i&&(s=ve(i,this._opts.inlineRefs)?i:e.call(this,i,r,void 0,o)),s}function de(e,r){var t=ie.parse(r),a=be(t),i=Pe(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==i){var s=we(a),o=this._refs[s];if("string"==typeof o)return ce.call(this,e,o,t);if(o instanceof ne)o.validate||this._compile(o),e=o;else{if(!((o=this._schemas[s])instanceof ne))return;if(o.validate||this._compile(o),s==we(r))return{schema:o,root:e,baseId:i};e=o}if(!e.schema)return;i=Pe(this._getId(e.schema))}return he.call(this,t,i,e.schema,e)}function ce(e,r,t){var a=de.call(this,e,r);if(a){var i=a.schema,s=a.baseId;e=a.root;var o=this._getId(i);return o&&(s=_e(s,o)),he.call(this,t,s,i,e)}}ue.normalizeId=we,ue.fullPath=Pe,ue.url=_e,ue.ids=function(e){var r=we(this._getId(e)),t={"":r},a={"":Pe(r,!1)},i={},s=this;return le(e,{allKeys:!0},(function(e,r,o,n,l,p,u){if(""!==r){var d=s._getId(e),c=t[n],f=a[n]+"/"+l;if(void 0!==u&&(f+="/"+("number"==typeof u?u:oe.escapeFragment(u))),"string"==typeof d){d=c=we(c?ie.resolve(c,d):d);var h=s._refs[d];if("string"==typeof h&&(h=s._refs[h]),h&&h.schema){if(!se(e,h.schema))throw new Error('id "'+d+'" resolves to more than one schema')}else if(d!=we(f))if("#"==d[0]){if(i[d]&&!se(e,i[d]))throw new Error('id "'+d+'" resolves to more than one schema');i[d]=e}else s._refs[d]=f}t[r]=c,a[r]=f}})),i},ue.inlineRef=ve,ue.schema=de;var fe=oe.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function he(e,r,t,a){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s<i.length;s++){var o=i[s];if(o){if(void 0===(t=t[o=oe.unescapeFragment(o)]))break;var n;if(!fe[o]&&((n=this._getId(t))&&(r=_e(r,n)),t.$ref)){var l=_e(r,t.$ref),p=de.call(this,a,l);p&&(t=p.schema,a=p.root,r=p.baseId)}}}return void 0!==t&&t!==a.schema?{schema:t,root:a,baseId:r}:void 0}}var me=oe.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function ve(e,r){return!1!==r&&(void 0===r||!0===r?ye(e):r?ge(e)<=r:void 0)}function ye(e){var r;if(Array.isArray(e)){for(var t=0;t<e.length;t++)if("object"==typeof(r=e[t])&&!ye(r))return!1}else for(var a in e){if("$ref"==a)return!1;if("object"==typeof(r=e[a])&&!ye(r))return!1}return!0}function ge(e){var r,t=0;if(Array.isArray(e)){for(var a=0;a<e.length;a++)if("object"==typeof(r=e[a])&&(t+=ge(r)),t==1/0)return 1/0}else for(var i in e){if("$ref"==i)return 1/0;if(me[i])t++;else if("object"==typeof(r=e[i])&&(t+=ge(r)+1),t==1/0)return 1/0}return t}function Pe(e,r){return!1!==r&&(e=we(e)),be(ie.parse(e))}function be(e){return ie.serialize(e).split("#")[0]+"#"}var Ee=/#\/?$/;function we(e){return e?e.replace(Ee,""):""}function _e(e,r){return r=we(r),ie.resolve(e,r)}var Ie=pe,De={Validation:Fe((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:Fe(Se)};function Se(e,r,t){this.message=t||Se.message(e,r),this.missingRef=Ie.url(e,r),this.missingSchema=Ie.normalizeId(Ie.fullPath(this.missingRef))}function Fe(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}Se.message=function(e,r){return"can't resolve reference "+r+" from id "+e};var $e=function(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});var t,a="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(t=r.cmp,function(e){return function(r,a){var i={key:r,value:e[r]},s={key:a,value:e[a]};return t(i,s)}}),s=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0!==r){if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);var t,o;if(Array.isArray(r)){for(o="[",t=0;t<r.length;t++)t&&(o+=","),o+=e(r[t])||"null";return o+"]"}if(null===r)return"null";if(-1!==s.indexOf(r)){if(a)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var n=s.push(r)-1,l=Object.keys(r).sort(i&&i(r));for(o="",t=0;t<l.length;t++){var p=l[t],u=e(r[p]);u&&(o&&(o+=","),o+=JSON.stringify(p)+":"+u)}return s.splice(n,1),"{"+o+"}"}}(e)},Re=function(e,r,t){var a="",i=!0===e.schema.$async,s=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var n=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(n){var l="unknown keyword: "+n;if("log"!==e.opts.strictKeywords)throw new Error(l);e.logger.warn(l)}}if(e.isTop&&(a+=" var validate = ",i&&(e.async=!0,a+="async "),a+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(a+=" /*# sourceURL="+o+" */ ")),"boolean"==typeof e.schema||!s&&!e.schema.$ref){r="false schema";var p=e.level,u=e.dataLevel,d=e.schema[r],c=e.schemaPath+e.util.getProperty(r),f=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,m="data"+(u||""),v="valid"+p;if(!1===e.schema){e.isTop?h=!0:a+=" var "+v+" = false; ",(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'boolean schema is false' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";var y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?a+=i?" return data; ":" validate.errors = null; return true; ":a+=" var "+v+" = true; ";return e.isTop&&(a+=" }; return validate; "),a}if(e.isTop){var g=e.isTop;p=e.level=0,u=e.dataLevel=0,m="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var P="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(P);e.logger.warn(P)}a+=" var vErrors = null; ",a+=" var errors = 0; ",a+=" if (rootData === undefined) rootData = data; "}else{p=e.level,m="data"+((u=e.dataLevel)||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),i&&!e.async)throw new Error("async schema in sync schema");a+=" var errs_"+p+" = errors;"}v="valid"+p,h=!e.opts.allErrors;var b="",E="",w=e.schema.type,_=Array.isArray(w);if(w&&e.opts.nullable&&!0===e.schema.nullable&&(_?-1==w.indexOf("null")&&(w=w.concat("null")):"null"!=w&&(w=[w,"null"],_=!0)),_&&1==w.length&&(w=w[0],_=!1),e.schema.$ref&&s){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(s=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(a+=" "+e.RULES.all.$comment.code(e,"$comment")),w){if(e.opts.coerceTypes)var I=e.util.coerceToTypes(e.opts.coerceTypes,w);var D=e.RULES.types[w];if(I||_||!0===D||D&&!X(D)){c=e.schemaPath+".type",f=e.errSchemaPath+"/type",c=e.schemaPath+".type",f=e.errSchemaPath+"/type";var S=_?"checkDataTypes":"checkDataType";if(a+=" if ("+e.util[S](w,m,!0)+") { ",I){var F="dataType"+p,$="coerced"+p;a+=" var "+F+" = typeof "+m+"; ","array"==e.opts.coerceTypes&&(a+=" if ("+F+" == 'object' && Array.isArray("+m+")) "+F+" = 'array'; "),a+=" var "+$+" = undefined; ";var R="",j=I;if(j)for(var C,x=-1,A=j.length-1;x<A;)C=j[x+=1],x&&(a+=" if ("+$+" === undefined) { ",R+="}"),"array"==e.opts.coerceTypes&&"array"!=C&&(a+=" if ("+F+" == 'array' && "+m+".length == 1) { "+$+" = "+m+" = "+m+"[0]; "+F+" = typeof "+m+"; } "),"string"==C?a+=" if ("+F+" == 'number' || "+F+" == 'boolean') "+$+" = '' + "+m+"; else if ("+m+" === null) "+$+" = ''; ":"number"==C||"integer"==C?(a+=" if ("+F+" == 'boolean' || "+m+" === null || ("+F+" == 'string' && "+m+" && "+m+" == +"+m+" ","integer"==C&&(a+=" && !("+m+" % 1)"),a+=")) "+$+" = +"+m+"; "):"boolean"==C?a+=" if ("+m+" === 'false' || "+m+" === 0 || "+m+" === null) "+$+" = false; else if ("+m+" === 'true' || "+m+" === 1) "+$+" = true; ":"null"==C?a+=" if ("+m+" === '' || "+m+" === 0 || "+m+" === false) "+$+" = null; ":"array"==e.opts.coerceTypes&&"array"==C&&(a+=" if ("+F+" == 'string' || "+F+" == 'number' || "+F+" == 'boolean' || "+m+" == null) "+$+" = ["+m+"]; ");a+=" "+R+" if ("+$+" === undefined) { ",(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",a+=_?""+w.join(","):""+w,a+="' } ",!1!==e.opts.messages&&(a+=" , message: 'should be ",a+=_?""+w.join(","):""+w,a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ";var O=u?"data"+(u-1||""):"parentData";a+=" "+m+" = "+$+"; ",u||(a+="if ("+O+" !== undefined)"),a+=" "+O+"["+(u?e.dataPathArr[u]:"parentDataProperty")+"] = "+$+"; } "}else{(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",a+=_?""+w.join(","):""+w,a+="' } ",!1!==e.opts.messages&&(a+=" , message: 'should be ",a+=_?""+w.join(","):""+w,a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}a+=" } "}}if(e.schema.$ref&&!s)a+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",h&&(a+=" } if (errors === ",a+=g?"0":"errs_"+p,a+=") { ",E+="}");else{var T=e.RULES;if(T)for(var L=-1,z=T.length-1;L<z;)if(X(D=T[L+=1])){if(D.type&&(a+=" if ("+e.util.checkDataType(D.type,m)+") { "),e.opts.useDefaults)if("object"==D.type&&e.schema.properties){d=e.schema.properties;var q=Object.keys(d);if(q)for(var k,V=-1,N=q.length-1;V<N;){if(void 0!==(Q=d[k=q[V+=1]]).default){var M=m+e.util.getProperty(k);if(e.compositeRule){if(e.opts.strictDefaults){P="default is ignored for: "+M;if("log"!==e.opts.strictDefaults)throw new Error(P);e.logger.warn(P)}}else a+=" if ("+M+" === undefined ","empty"==e.opts.useDefaults&&(a+=" || "+M+" === null || "+M+" === '' "),a+=" ) "+M+" = ","shared"==e.opts.useDefaults?a+=" "+e.useDefault(Q.default)+" ":a+=" "+JSON.stringify(Q.default)+" ",a+="; "}}}else if("array"==D.type&&Array.isArray(e.schema.items)){var U=e.schema.items;if(U){x=-1;for(var Q,H=U.length-1;x<H;)if(void 0!==(Q=U[x+=1]).default){M=m+"["+x+"]";if(e.compositeRule){if(e.opts.strictDefaults){P="default is ignored for: "+M;if("log"!==e.opts.strictDefaults)throw new Error(P);e.logger.warn(P)}}else a+=" if ("+M+" === undefined ","empty"==e.opts.useDefaults&&(a+=" || "+M+" === null || "+M+" === '' "),a+=" ) "+M+" = ","shared"==e.opts.useDefaults?a+=" "+e.useDefault(Q.default)+" ":a+=" "+JSON.stringify(Q.default)+" ",a+="; "}}}var B=D.rules;if(B)for(var K,G=-1,W=B.length-1;G<W;)if(Y(K=B[G+=1])){var J=K.code(e,K.keyword,D.type);J&&(a+=" "+J+" ",h&&(b+="}"))}if(h&&(a+=" "+b+" ",b=""),D.type&&(a+=" } ",w&&w===D.type&&!I)){a+=" else { ";var Z;c=e.schemaPath+".type",f=e.errSchemaPath+"/type";(Z=Z||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",a+=_?""+w.join(","):""+w,a+="' } ",!1!==e.opts.messages&&(a+=" , message: 'should be ",a+=_?""+w.join(","):""+w,a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),a+=" } "):a+=" {} ";y=a;a=Z.pop(),!e.compositeRule&&h?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } "}h&&(a+=" if (errors === ",a+=g?"0":"errs_"+p,a+=") { ",E+="}")}}function X(e){for(var r=e.rules,t=0;t<r.length;t++)if(Y(r[t]))return!0}function Y(r){return void 0!==e.schema[r.keyword]||r.implements&&function(r){for(var t=r.implements,a=0;a<t.length;a++)if(void 0!==e.schema[t[a]])return!0}(r)}return h&&(a+=" "+E+" "),g?(i?(a+=" if (errors === 0) return data; ",a+=" else throw new ValidationError(vErrors); "):(a+=" validate.errors = vErrors; ",a+=" return errors === 0; "),a+=" }; return validate;"):a+=" var "+v+" = errors === errs_"+p+";",a=e.util.cleanUpCode(a),g&&(a=e.util.finalCleanUpCode(a,i)),a},je=pe,Ce=j,xe=De,Ae=$e,Oe=Re,Te=Ce.ucs2length,Le=R,ze=xe.Validation,qe=function e(r,t,a,i){var s=this,o=this._opts,n=[void 0],l={},p=[],u={},d=[],c={},f=[];t=t||{schema:r,refVal:n,refs:l};var h=ke.call(this,r,t,i),m=this._compilations[h.index];if(h.compiling)return m.callValidate=function e(){var r=m.validate,t=r.apply(this,arguments);return e.errors=r.errors,t};var v=this._formats,y=this.RULES;try{var g=b(r,t,a,i);m.validate=g;var P=m.callValidate;return P&&(P.schema=g.schema,P.errors=null,P.refs=g.refs,P.refVal=g.refVal,P.root=g.root,P.$async=g.$async,o.sourceCode&&(P.source=g.source)),g}finally{Ve.call(this,r,t,i)}function b(r,a,i,u){var c=!a||a&&a.schema==r;if(a.schema!=t.schema)return e.call(s,r,a,i,u);var h,m=!0===r.$async,g=Oe({isTop:!0,schema:r,isRoot:c,baseId:u,root:a,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:xe.MissingRef,RULES:y,validate:Oe,util:Ce,resolve:je,resolveRef:E,usePattern:I,useDefault:D,useCustomRule:S,opts:o,formats:v,logger:s.logger,self:s});g=Be(n,Qe)+Be(p,Me)+Be(d,Ue)+Be(f,He)+g,o.processCode&&(g=o.processCode(g));try{h=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",g)(s,y,v,t,n,d,f,Le,Te,ze),n[0]=h}catch(e){throw s.logger.error("Error compiling schema, function code:",g),e}return h.schema=r,h.errors=null,h.refs=l,h.refVal=n,h.root=c?h:a,m&&(h.$async=!0),!0===o.sourceCode&&(h.source={code:g,patterns:p,defaults:d}),h}function E(r,i,p){i=je.url(r,i);var u,d,c=l[i];if(void 0!==c)return _(u=n[c],d="refVal["+c+"]");if(!p&&t.refs){var f=t.refs[i];if(void 0!==f)return _(u=t.refVal[f],d=w(i,u))}d=w(i);var h=je.call(s,b,t,i);if(void 0===h){var m=a&&a[i];m&&(h=je.inlineRef(m,o.inlineRefs)?m:e.call(s,m,t,a,r))}if(void 0!==h)return function(e,r){var t=l[e];n[t]=r}(i,h),_(h,d);!function(e){delete l[e]}(i)}function w(e,r){var t=n.length;return n[t]=r,l[e]=t,"refVal"+t}function _(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function I(e){var r=u[e];return void 0===r&&(r=u[e]=p.length,p[r]=e),"pattern"+r}function D(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return Ce.toQuotedString(e);case"object":if(null===e)return"null";var r=Ae(e),t=c[r];return void 0===t&&(t=c[r]=d.length,d[t]=e),"default"+t}}function S(e,r,t,a){if(!1!==s._opts.validateSchema){var i=e.definition.dependencies;if(i&&!i.every((function(e){return Object.prototype.hasOwnProperty.call(t,e)})))throw new Error("parent schema must have all required keywords: "+i.join(","));var n=e.definition.validateSchema;if(n)if(!n(r)){var l="keyword schema is invalid: "+s.errorsText(n.errors);if("log"!=s._opts.validateSchema)throw new Error(l);s.logger.error(l)}}var p,u=e.definition.compile,d=e.definition.inline,c=e.definition.macro;if(u)p=u.call(s,r,t,a);else if(c)p=c.call(s,r,t,a),!1!==o.validateSchema&&s.validateSchema(p,!0);else if(d)p=d.call(s,a,e.keyword,r,t);else if(!(p=e.definition.validate))return;if(void 0===p)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=f.length;return f[h]=p,{code:"customRule"+h,validate:p}}};function ke(e,r,t){var a=Ne.call(this,e,r,t);return a>=0?{index:a,compiling:!0}:(a=this._compilations.length,this._compilations[a]={schema:e,root:r,baseId:t},{index:a,compiling:!1})}function Ve(e,r,t){var a=Ne.call(this,e,r,t);a>=0&&this._compilations.splice(a,1)}function Ne(e,r,t){for(var a=0;a<this._compilations.length;a++){var i=this._compilations[a];if(i.schema==e&&i.root==r&&i.baseId==t)return a}return-1}function Me(e,r){return"var pattern"+e+" = new RegExp("+Ce.toQuotedString(r[e])+");"}function Ue(e){return"var default"+e+" = defaults["+e+"];"}function Qe(e,r){return void 0===r[e]?"":"var refVal"+e+" = refVal["+e+"];"}function He(e){return"var customRule"+e+" = customRules["+e+"];"}function Be(e,r){if(!e.length)return"";for(var t="",a=0;a<e.length;a++)t+=r(a,e);return t}var Ke={exports:{}},Ge=Ke.exports=function(){this._cache={}};Ge.prototype.put=function(e,r){this._cache[e]=r},Ge.prototype.get=function(e){return this._cache[e]},Ge.prototype.del=function(e){delete this._cache[e]},Ge.prototype.clear=function(){this._cache={}};var We=j,Je=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Ze=[0,31,28,31,30,31,30,31,31,30,31,30,31],Xe=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,Ye=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,er=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,rr=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,tr=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,ar=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,ir=/^(?:\/(?:[^~/]|~0|~1)*)*$/,sr=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,or=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,nr=lr;function lr(e){return e="full"==e?"full":"fast",We.copy(lr[e])}function pr(e){var r=e.match(Je);if(!r)return!1;var t=+r[1],a=+r[2],i=+r[3];return a>=1&&a<=12&&i>=1&&i<=(2==a&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(t)?29:Ze[a])}function ur(e,r){var t=e.match(Xe);if(!t)return!1;var a=t[1],i=t[2],s=t[3],o=t[5];return(a<=23&&i<=59&&s<=59||23==a&&59==i&&60==s)&&(!r||o)}lr.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":rr,url:tr,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:Ye,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:hr,uuid:ar,"json-pointer":ir,"json-pointer-uri-fragment":sr,"relative-json-pointer":or},lr.full={date:pr,time:ur,"date-time":function(e){var r=e.split(dr);return 2==r.length&&pr(r[0])&&ur(r[1],!0)},uri:function(e){return cr.test(e)&&er.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":rr,url:tr,email:/^[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,hostname:function(e){return e.length<=255&&Ye.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:hr,uuid:ar,"json-pointer":ir,"json-pointer-uri-fragment":sr,"relative-json-pointer":or};var dr=/t|\s/i;var cr=/\/|:/;var fr=/[^\\]\\Z/;function hr(e){if(fr.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}var mr=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n;var f="maximum"==r,h=f?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[h],v=e.opts.$data&&m&&m.$data,y=f?"<":">",g=f?">":"<",P=void 0;if(v){var b=e.util.getData(m.$data,o,e.dataPathArr),E="exclusive"+s,w="exclType"+s,_="exclIsNumber"+s,I="' + "+(F="op"+s)+" + '";i+=" var schemaExcl"+s+" = "+b+"; ",i+=" var "+E+"; var "+w+" = typeof "+(b="schemaExcl"+s)+"; if ("+w+" != 'boolean' && "+w+" != 'undefined' && "+w+" != 'number') { ";var D;P=h;(D=D||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(P||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+h+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var S=i;i=D.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+S+"]); ":i+=" validate.errors = ["+S+"]; return false; ":i+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" "+w+" == 'number' ? ( ("+E+" = "+a+" === undefined || "+b+" "+y+"= "+a+") ? "+d+" "+g+"= "+b+" : "+d+" "+g+" "+a+" ) : ( ("+E+" = "+b+" === true) ? "+d+" "+g+"= "+a+" : "+d+" "+g+" "+a+" ) || "+d+" !== "+d+") { var op"+s+" = "+E+" ? '"+y+"' : '"+y+"='; ",void 0===n&&(P=h,p=e.errSchemaPath+"/"+h,a=b,c=v)}else{I=y;if((_="number"==typeof m)&&c){var F="'"+I+"'";i+=" if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" ( "+a+" === undefined || "+m+" "+y+"= "+a+" ? "+d+" "+g+"= "+m+" : "+d+" "+g+" "+a+" ) || "+d+" !== "+d+") { "}else{_&&void 0===n?(E=!0,P=h,p=e.errSchemaPath+"/"+h,a=m,g+="="):(_&&(a=Math[f?"min":"max"](m,n)),m===(!_||a)?(E=!0,P=h,p=e.errSchemaPath+"/"+h,g+="="):(E=!1,I+="="));F="'"+I+"'";i+=" if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" "+d+" "+g+" "+a+" || "+d+" !== "+d+") { "}}P=P||r,(D=D||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(P||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { comparison: "+F+", limit: "+a+", exclusive: "+E+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+I+" ",i+=c?"' + "+a:a+"'"),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";S=i;return i=D.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+S+"]); ":i+=" validate.errors = ["+S+"]; return false; ":i+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",u&&(i+=" else { "),i},vr=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" "+d+".length "+("maxItems"==r?">":"<")+" "+a+") { ";var f=r,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==r?"more":"fewer",i+=" than ",i+=c?"' + "+a+" + '":""+n,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=h.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i},yr=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n;var f="maxLength"==r?">":"<";i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),!1===e.opts.unicode?i+=" "+d+".length ":i+=" ucs2length("+d+") ",i+=" "+f+" "+a+") { ";var h=r,m=m||[];m.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==r?"longer":"shorter",i+=" than ",i+=c?"' + "+a+" + '":""+n,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var v=i;return i=m.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i},gr=function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),i+=" Object.keys("+d+").length "+("maxProperties"==r?">":"<")+" "+a+") { ";var f=r,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==r?"more":"fewer",i+=" than ",i+=c?"' + "+a+" + '":""+n,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=h.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i},Pr={$ref:function(e,r,t){var a,i,s=" ",o=e.level,n=e.dataLevel,l=e.schema[r],p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(n||""),c="valid"+o;if("#"==l||"#/"==l)e.isRoot?(a=e.async,i="validate"):(a=!0===e.root.schema.$async,i="root.refVal[0]");else{var f=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===f){var h=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(h),(g=g||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(s+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(s+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),s+=" } "):s+=" {} ";var m=s;s=g.pop(),!e.compositeRule&&u?e.async?s+=" throw new ValidationError(["+m+"]); ":s+=" validate.errors = ["+m+"]; return false; ":s+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(s+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,h);e.logger.warn(h),u&&(s+=" if (true) { ")}}else if(f.inline){var v=e.util.copy(e);v.level++;var y="valid"+v.level;v.schema=f.schema,v.schemaPath="",v.errSchemaPath=l,s+=" "+e.validate(v).replace(/validate\.schema/g,f.code)+" ",u&&(s+=" if ("+y+") { ")}else a=!0===f.$async||e.async&&!1!==f.$async,i=f.code}if(i){var g;(g=g||[]).push(s),s="",e.opts.passContext?s+=" "+i+".call(this, ":s+=" "+i+"( ",s+=" "+d+", (dataPath || '')",'""'!=e.errorPath&&(s+=" + "+e.errorPath);var P=s+=" , "+(n?"data"+(n-1||""):"parentData")+" , "+(n?e.dataPathArr[n]:"parentDataProperty")+", rootData) ";if(s=g.pop(),a){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(s+=" var "+c+"; "),s+=" try { await "+P+"; ",u&&(s+=" "+c+" = true; "),s+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(s+=" "+c+" = false; "),s+=" } ",u&&(s+=" if ("+c+") { ")}else s+=" if (!"+P+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",u&&(s+=" else { ")}return s},allOf:function(e,r,t){var a=" ",i=e.schema[r],s=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,n=!e.opts.allErrors,l=e.util.copy(e),p="";l.level++;var u="valid"+l.level,d=l.baseId,c=!0,f=i;if(f)for(var h,m=-1,v=f.length-1;m<v;)h=f[m+=1],e.util.schemaHasRules(h,e.RULES.all)&&(c=!1,l.schema=h,l.schemaPath=s+"["+m+"]",l.errSchemaPath=o+"/"+m,a+=" "+e.validate(l)+" ",l.baseId=d,n&&(a+=" if ("+u+") { ",p+="}"));return n&&(a+=c?" if (true) { ":" "+p.slice(0,-1)+" "),a=e.util.cleanUpCode(a)},anyOf:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e),h="";f.level++;var m="valid"+f.level,v=o.every((function(r){return e.util.schemaHasRules(r,e.RULES.all)}));if(v){var y=f.baseId;a+=" var "+c+" = errors; var "+d+" = false; ";var g=e.compositeRule;e.compositeRule=f.compositeRule=!0;var P=o;if(P)for(var b,E=-1,w=P.length-1;E<w;)b=P[E+=1],f.schema=b,f.schemaPath=n+"["+E+"]",f.errSchemaPath=l+"/"+E,a+=" "+e.validate(f)+" ",f.baseId=y,a+=" "+d+" = "+d+" || "+m+"; if (!"+d+") { ",h+="}";e.compositeRule=f.compositeRule=g,a+=" "+h+" if (!"+d+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+=" } else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)}else p&&(a+=" if (true) { ");return a},$comment:function(e,r,t){var a=" ",i=e.schema[r],s=e.errSchemaPath+"/"+r;e.opts.allErrors;var o=e.util.toQuotedString(i);return!0===e.opts.$comment?a+=" console.log("+o+");":"function"==typeof e.opts.$comment&&(a+=" self._opts.$comment("+o+", "+e.util.toQuotedString(s)+", validate.root.schema);"),a},const:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c=e.opts.$data&&o&&o.$data;c&&(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; "),c||(a+=" var schema"+i+" = validate.schema"+n+";"),a+="var "+d+" = equal("+u+", schema"+i+"); if (!"+d+") { ";var f=f||[];f.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",p&&(a+=" else { "),a},contains:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level,m="i"+i,v=f.dataLevel=e.dataLevel+1,y="data"+v,g=e.baseId,P=e.util.schemaHasRules(o,e.RULES.all);if(a+="var "+c+" = errors;var "+d+";",P){var b=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=o,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+h+" = false; for (var "+m+" = 0; "+m+" < "+u+".length; "+m+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var E=u+"["+m+"]";f.dataPathArr[v]=m;var w=e.validate(f);f.baseId=g,e.util.varOccurences(w,y)<2?a+=" "+e.util.varReplace(w,y,E)+" ":a+=" var "+y+" = "+E+"; "+w+" ",a+=" if ("+h+") break; } ",e.compositeRule=f.compositeRule=b,a+=" if (!"+h+") {"}else a+=" if ("+u+".length == 0) {";var _=_||[];_.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var I=a;return a=_.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",P&&(a+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)},dependencies:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="errs__"+i,c=e.util.copy(e),f="";c.level++;var h="valid"+c.level,m={},v={},y=e.opts.ownProperties;for(E in o){var g=o[E],P=Array.isArray(g)?v:m;P[E]=g}a+="var "+d+" = errors;";var b=e.errorPath;for(var E in a+="var missing"+i+";",v)if((P=v[E]).length){if(a+=" if ( "+u+e.util.getProperty(E)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(E)+"') "),p){a+=" && ( ";var w=P;if(w)for(var _=-1,I=w.length-1;_<I;){j=w[_+=1],_&&(a+=" || "),a+=" ( ( "+(O=u+(A=e.util.getProperty(j)))+" === undefined ",y&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(j)+"') "),a+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?j:A)+") ) "}a+=")) { ";var D="missing"+i,S="' + "+D+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,D,!0):b+" + "+D);var F=F||[];F.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+S+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",1==P.length?a+="property "+e.util.escapeQuotes(P[0]):a+="properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var $=a;a=F.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+$+"]); ":a+=" validate.errors = ["+$+"]; return false; ":a+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{a+=" ) { ";var R=P;if(R)for(var j,C=-1,x=R.length-1;C<x;){j=R[C+=1];var A=e.util.getProperty(j),O=(S=e.util.escapeQuotes(j),u+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,j,e.opts.jsonPointers)),a+=" if ( "+O+" === undefined ",y&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(j)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+S+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",1==P.length?a+="property "+e.util.escapeQuotes(P[0]):a+="properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}a+=" } ",p&&(f+="}",a+=" else { ")}e.errorPath=b;var T=c.baseId;for(var E in m){g=m[E];e.util.schemaHasRules(g,e.RULES.all)&&(a+=" "+h+" = true; if ( "+u+e.util.getProperty(E)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(E)+"') "),a+=") { ",c.schema=g,c.schemaPath=n+e.util.getProperty(E),c.errSchemaPath=l+"/"+e.util.escapeFragment(E),a+=" "+e.validate(c)+" ",c.baseId=T,a+=" } ",p&&(a+=" if ("+h+") { ",f+="}"))}return p&&(a+=" "+f+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)},enum:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c=e.opts.$data&&o&&o.$data;c&&(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ");var f="i"+i,h="schema"+i;c||(a+=" var "+h+" = validate.schema"+n+";"),a+="var "+d+";",c&&(a+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),a+=d+" = false;for (var "+f+"=0; "+f+"<"+h+".length; "+f+"++) if (equal("+u+", "+h+"["+f+"])) { "+d+" = true; break; }",c&&(a+=" } "),a+=" if (!"+d+") { ";var m=m||[];m.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var v=a;return a=m.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+v+"]); ":a+=" validate.errors = ["+v+"]; return false; ":a+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",p&&(a+=" else { "),a},format:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||"");if(!1===e.opts.format)return p&&(a+=" if (true) { "),a;var d,c=e.opts.$data&&o&&o.$data;c?(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",d="schema"+i):d=o;var f=e.opts.unknownFormats,h=Array.isArray(f);if(c){a+=" var "+(m="format"+i)+" = formats["+d+"]; var "+(v="isObject"+i)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(y="formatType"+i)+" = "+v+" && "+m+".type || 'string'; if ("+v+") { ",e.async&&(a+=" var async"+i+" = "+m+".async; "),a+=" "+m+" = "+m+".validate; } if ( ",c&&(a+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),a+=" (","ignore"!=f&&(a+=" ("+d+" && !"+m+" ",h&&(a+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),a+=") || "),a+=" ("+m+" && "+y+" == '"+t+"' && !(typeof "+m+" == 'function' ? ",e.async?a+=" (async"+i+" ? await "+m+"("+u+") : "+m+"("+u+")) ":a+=" "+m+"("+u+") ",a+=" : "+m+".test("+u+"))))) {"}else{var m;if(!(m=e.formats[o])){if("ignore"==f)return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),p&&(a+=" if (true) { "),a;if(h&&f.indexOf(o)>=0)return p&&(a+=" if (true) { "),a;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,y=(v="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(v){var g=!0===m.async;m=m.validate}if(y!=t)return p&&(a+=" if (true) { "),a;if(g){if(!e.async)throw new Error("async format in sync schema");a+=" if (!(await "+(P="formats"+e.util.getProperty(o)+".validate")+"("+u+"))) { "}else{a+=" if (! ";var P="formats"+e.util.getProperty(o);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+u+") ":" "+P+".test("+u+") ",a+=") { "}}var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",a+=c?""+d:""+e.util.toQuotedString(o),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=c?"' + "+d+" + '":""+e.util.escapeQuotes(o),a+="\"' "),e.opts.verbose&&(a+=" , schema: ",a+=c?"validate.schema"+n:""+e.util.toQuotedString(o),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var E=a;return a=b.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+E+"]); ":a+=" validate.errors = ["+E+"]; return false; ":a+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",p&&(a+=" else { "),a},if:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level,m=e.schema.then,v=e.schema.else,y=void 0!==m&&e.util.schemaHasRules(m,e.RULES.all),g=void 0!==v&&e.util.schemaHasRules(v,e.RULES.all),P=f.baseId;if(y||g){var b;f.createErrors=!1,f.schema=o,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+c+" = errors; var "+d+" = true; ";var E=e.compositeRule;e.compositeRule=f.compositeRule=!0,a+=" "+e.validate(f)+" ",f.baseId=P,f.createErrors=!0,a+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.compositeRule=f.compositeRule=E,y?(a+=" if ("+h+") { ",f.schema=e.schema.then,f.schemaPath=e.schemaPath+".then",f.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+d+" = "+h+"; ",y&&g?a+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",a+=" } ",g&&(a+=" else { ")):a+=" if (!"+h+") { ",g&&(f.schema=e.schema.else,f.schemaPath=e.schemaPath+".else",f.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+d+" = "+h+"; ",y&&g?a+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",a+=" } "),a+=" if (!"+d+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+=" } ",p&&(a+=" else { "),a=e.util.cleanUpCode(a)}else p&&(a+=" if (true) { ");return a},items:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e),h="";f.level++;var m="valid"+f.level,v="i"+i,y=f.dataLevel=e.dataLevel+1,g="data"+y,P=e.baseId;if(a+="var "+c+" = errors;var "+d+";",Array.isArray(o)){var b=e.schema.additionalItems;if(!1===b){a+=" "+d+" = "+u+".length <= "+o.length+"; ";var E=l;l=e.errSchemaPath+"/additionalItems",a+=" if (!"+d+") { ";var w=w||[];w.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+o.length+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var _=a;a=w.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+_+"]); ":a+=" validate.errors = ["+_+"]; return false; ":a+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l=E,p&&(h+="}",a+=" else { ")}var I=o;if(I)for(var D,S=-1,F=I.length-1;S<F;)if(D=I[S+=1],e.util.schemaHasRules(D,e.RULES.all)){a+=" "+m+" = true; if ("+u+".length > "+S+") { ";var $=u+"["+S+"]";f.schema=D,f.schemaPath=n+"["+S+"]",f.errSchemaPath=l+"/"+S,f.errorPath=e.util.getPathExpr(e.errorPath,S,e.opts.jsonPointers,!0),f.dataPathArr[y]=S;var R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",a+=" } ",p&&(a+=" if ("+m+") { ",h+="}")}if("object"==typeof b&&e.util.schemaHasRules(b,e.RULES.all)){f.schema=b,f.schemaPath=e.schemaPath+".additionalItems",f.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+m+" = true; if ("+u+".length > "+o.length+") { for (var "+v+" = "+o.length+"; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=u+"["+v+"]";f.dataPathArr[y]=v;R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",p&&(a+=" if (!"+m+") break; "),a+=" } } ",p&&(a+=" if ("+m+") { ",h+="}")}}else if(e.util.schemaHasRules(o,e.RULES.all)){f.schema=o,f.schemaPath=n,f.errSchemaPath=l,a+=" for (var "+v+" = 0; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=u+"["+v+"]";f.dataPathArr[y]=v;R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",p&&(a+=" if (!"+m+") break; "),a+=" }"}return p&&(a+=" "+h+" if ("+c+" == errors) {"),a=e.util.cleanUpCode(a)},maximum:mr,minimum:mr,maxItems:vr,minItems:vr,maxLength:yr,minLength:yr,maxProperties:gr,minProperties:gr,multipleOf:function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="var division"+s+";if (",c&&(i+=" "+a+" !== undefined && ( typeof "+a+" != 'number' || "),i+=" (division"+s+" = "+d+" / "+a+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+s+") - division"+s+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+s+" !== parseInt(division"+s+") ",i+=" ) ",c&&(i+=" ) "),i+=" ) { ";var f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { multipleOf: "+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=c?"' + "+a:a+"'"),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var h=i;return i=f.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i},not:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="errs__"+i,c=e.util.copy(e);c.level++;var f="valid"+c.level;if(e.util.schemaHasRules(o,e.RULES.all)){c.schema=o,c.schemaPath=n,c.errSchemaPath=l,a+=" var "+d+" = errors; ";var h,m=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.createErrors=!1,c.opts.allErrors&&(h=c.opts.allErrors,c.opts.allErrors=!1),a+=" "+e.validate(c)+" ",c.createErrors=!0,h&&(c.opts.allErrors=h),e.compositeRule=c.compositeRule=m,a+=" if ("+f+") { ";var v=v||[];v.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var y=a;a=v.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",p&&(a+=" if (false) { ");return a},oneOf:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c="errs__"+i,f=e.util.copy(e),h="";f.level++;var m="valid"+f.level,v=f.baseId,y="prevValid"+i,g="passingSchemas"+i;a+="var "+c+" = errors , "+y+" = false , "+d+" = false , "+g+" = null; ";var P=e.compositeRule;e.compositeRule=f.compositeRule=!0;var b=o;if(b)for(var E,w=-1,_=b.length-1;w<_;)E=b[w+=1],e.util.schemaHasRules(E,e.RULES.all)?(f.schema=E,f.schemaPath=n+"["+w+"]",f.errSchemaPath=l+"/"+w,a+=" "+e.validate(f)+" ",f.baseId=v):a+=" var "+m+" = true; ",w&&(a+=" if ("+m+" && "+y+") { "+d+" = false; "+g+" = ["+g+", "+w+"]; } else { ",h+="}"),a+=" if ("+m+") { "+d+" = "+y+" = true; "+g+" = "+w+"; }";return e.compositeRule=f.compositeRule=P,a+=h+"if (!"+d+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+g+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+="} else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a},pattern:function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(o||""),c=e.opts.$data&&n&&n.$data;c?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,i+="if ( ",c&&(i+=" ("+a+" !== undefined && typeof "+a+" != 'string') || "),i+=" !"+(c?"(new RegExp("+a+"))":e.usePattern(n))+".test("+d+") ) { ";var f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { pattern: ",i+=c?""+a:""+e.util.toQuotedString(n),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=c?"' + "+a+" + '":""+e.util.escapeQuotes(n),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+e.util.toQuotedString(n),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var h=i;return i=f.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i},properties:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="errs__"+i,c=e.util.copy(e),f="";c.level++;var h="valid"+c.level,m="key"+i,v="idx"+i,y=c.dataLevel=e.dataLevel+1,g="data"+y,P="dataProperties"+i,b=Object.keys(o||{}),E=e.schema.patternProperties||{},w=Object.keys(E),_=e.schema.additionalProperties,I=b.length||w.length,D=!1===_,S="object"==typeof _&&Object.keys(_).length,F=e.opts.removeAdditional,$=D||S||F,R=e.opts.ownProperties,j=e.baseId,C=e.schema.required;if(C&&(!e.opts.$data||!C.$data)&&C.length<e.opts.loopRequired)var x=e.util.toHash(C);if(a+="var "+d+" = errors;var "+h+" = true;",R&&(a+=" var "+P+" = undefined;"),$){if(a+=R?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+u+") { ",I){if(a+=" var isAdditional"+i+" = !(false ",b.length)if(b.length>8)a+=" || validate.schema"+n+".hasOwnProperty("+m+") ";else{var A=b;if(A)for(var O=-1,T=A.length-1;O<T;)G=A[O+=1],a+=" || "+m+" == "+e.util.toQuotedString(G)+" "}if(w.length){var L=w;if(L)for(var z=-1,q=L.length-1;z<q;)ie=L[z+=1],a+=" || "+e.usePattern(ie)+".test("+m+") "}a+=" ); if (isAdditional"+i+") { "}if("all"==F)a+=" delete "+u+"["+m+"]; ";else{var k=e.errorPath,V="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),D)if(F)a+=" delete "+u+"["+m+"]; ";else{a+=" "+h+" = false; ";var N=l;l=e.errSchemaPath+"/additionalProperties",(re=re||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+V+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is an invalid additional property":a+="should NOT have additional properties",a+="' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var M=a;a=re.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+M+"]); ":a+=" validate.errors = ["+M+"]; return false; ":a+=" var err = "+M+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=N,p&&(a+=" break; ")}else if(S)if("failing"==F){a+=" var "+d+" = errors; ";var U=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.schema=_,c.schemaPath=e.schemaPath+".additionalProperties",c.errSchemaPath=e.errSchemaPath+"/additionalProperties",c.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var Q=u+"["+m+"]";c.dataPathArr[y]=m;var H=e.validate(c);c.baseId=j,e.util.varOccurences(H,g)<2?a+=" "+e.util.varReplace(H,g,Q)+" ":a+=" var "+g+" = "+Q+"; "+H+" ",a+=" if (!"+h+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+u+"["+m+"]; } ",e.compositeRule=c.compositeRule=U}else{c.schema=_,c.schemaPath=e.schemaPath+".additionalProperties",c.errSchemaPath=e.errSchemaPath+"/additionalProperties",c.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);Q=u+"["+m+"]";c.dataPathArr[y]=m;H=e.validate(c);c.baseId=j,e.util.varOccurences(H,g)<2?a+=" "+e.util.varReplace(H,g,Q)+" ":a+=" var "+g+" = "+Q+"; "+H+" ",p&&(a+=" if (!"+h+") break; ")}e.errorPath=k}I&&(a+=" } "),a+=" } ",p&&(a+=" if ("+h+") { ",f+="}")}var B=e.opts.useDefaults&&!e.compositeRule;if(b.length){var K=b;if(K)for(var G,W=-1,J=K.length-1;W<J;){var Z=o[G=K[W+=1]];if(e.util.schemaHasRules(Z,e.RULES.all)){var X=e.util.getProperty(G),Y=(Q=u+X,B&&void 0!==Z.default);c.schema=Z,c.schemaPath=n+X,c.errSchemaPath=l+"/"+e.util.escapeFragment(G),c.errorPath=e.util.getPath(e.errorPath,G,e.opts.jsonPointers),c.dataPathArr[y]=e.util.toQuotedString(G);H=e.validate(c);if(c.baseId=j,e.util.varOccurences(H,g)<2){H=e.util.varReplace(H,g,Q);var ee=Q}else{ee=g;a+=" var "+g+" = "+Q+"; "}if(Y)a+=" "+H+" ";else{if(x&&x[G]){a+=" if ( "+ee+" === undefined ",R&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(G)+"') "),a+=") { "+h+" = false; ";k=e.errorPath,N=l;var re,te=e.util.escapeQuotes(G);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(k,G,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(re=re||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+te+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+te+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";M=a;a=re.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+M+"]); ":a+=" validate.errors = ["+M+"]; return false; ":a+=" var err = "+M+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=N,e.errorPath=k,a+=" } else { "}else p?(a+=" if ( "+ee+" === undefined ",R&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(G)+"') "),a+=") { "+h+" = true; } else { "):(a+=" if ("+ee+" !== undefined ",R&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(G)+"') "),a+=" ) { ");a+=" "+H+" } "}}p&&(a+=" if ("+h+") { ",f+="}")}}if(w.length){var ae=w;if(ae)for(var ie,se=-1,oe=ae.length-1;se<oe;){Z=E[ie=ae[se+=1]];if(e.util.schemaHasRules(Z,e.RULES.all)){c.schema=Z,c.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),c.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),a+=R?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+u+") { ",a+=" if ("+e.usePattern(ie)+".test("+m+")) { ",c.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);Q=u+"["+m+"]";c.dataPathArr[y]=m;H=e.validate(c);c.baseId=j,e.util.varOccurences(H,g)<2?a+=" "+e.util.varReplace(H,g,Q)+" ":a+=" var "+g+" = "+Q+"; "+H+" ",p&&(a+=" if (!"+h+") break; "),a+=" } ",p&&(a+=" else "+h+" = true; "),a+=" } ",p&&(a+=" if ("+h+") { ",f+="}")}}}return p&&(a+=" "+f+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)},propertyNames:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="errs__"+i,c=e.util.copy(e);c.level++;var f="valid"+c.level;if(a+="var "+d+" = errors;",e.util.schemaHasRules(o,e.RULES.all)){c.schema=o,c.schemaPath=n,c.errSchemaPath=l;var h="key"+i,m="idx"+i,v="i"+i,y="' + "+h+" + '",g="data"+(c.dataLevel=e.dataLevel+1),P="dataProperties"+i,b=e.opts.ownProperties,E=e.baseId;b&&(a+=" var "+P+" = undefined; "),a+=b?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+h+" = "+P+"["+m+"]; ":" for (var "+h+" in "+u+") { ",a+=" var startErrs"+i+" = errors; ";var w=h,_=e.compositeRule;e.compositeRule=c.compositeRule=!0;var I=e.validate(c);c.baseId=E,e.util.varOccurences(I,g)<2?a+=" "+e.util.varReplace(I,g,w)+" ":a+=" var "+g+" = "+w+"; "+I+" ",e.compositeRule=c.compositeRule=_,a+=" if (!"+f+") { for (var "+v+"=startErrs"+i+"; "+v+"<errors; "+v+"++) { vErrors["+v+"].propertyName = "+h+"; } var err = ",!1!==e.createErrors?(a+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(a+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),p&&(a+=" break; "),a+=" } }"}return p&&(a+=" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)},required:function(e,r,t){var a=" ",i=e.level,s=e.dataLevel,o=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,p=!e.opts.allErrors,u="data"+(s||""),d="valid"+i,c=e.opts.$data&&o&&o.$data;c&&(a+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ");var f="schema"+i;if(!c)if(o.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var h=[],m=o;if(m)for(var v,y=-1,g=m.length-1;y<g;){v=m[y+=1];var P=e.schema.properties[v];P&&e.util.schemaHasRules(P,e.RULES.all)||(h[h.length]=v)}}else h=o;if(c||h.length){var b=e.errorPath,E=c||h.length>=e.opts.loopRequired,w=e.opts.ownProperties;if(p)if(a+=" var missing"+i+"; ",E){c||(a+=" var "+f+" = validate.schema"+n+"; ");var _="' + "+(R="schema"+i+"["+(S="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,R,e.opts.jsonPointers)),a+=" var "+d+" = true; ",c&&(a+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),a+=" for (var "+S+" = 0; "+S+" < "+f+".length; "+S+"++) { "+d+" = "+u+"["+f+"["+S+"]] !== undefined ",w&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", "+f+"["+S+"]) "),a+="; if (!"+d+") break; } ",c&&(a+=" } "),a+=" if (!"+d+") { ",($=$||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var I=a;a=$.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var D=h;if(D)for(var S=-1,F=D.length-1;S<F;){C=D[S+=1],S&&(a+=" || "),a+=" ( ( "+(T=u+(O=e.util.getProperty(C)))+" === undefined ",w&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(C)+"') "),a+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?C:O)+") ) "}a+=") { ";var $;_="' + "+(R="missing"+i)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,R,!0):b+" + "+R),($=$||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";I=a;a=$.pop(),!e.compositeRule&&p?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else if(E){c||(a+=" var "+f+" = validate.schema"+n+"; ");var R;_="' + "+(R="schema"+i+"["+(S="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,R,e.opts.jsonPointers)),c&&(a+=" if ("+f+" && !Array.isArray("+f+")) { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+f+" !== undefined) { "),a+=" for (var "+S+" = 0; "+S+" < "+f+".length; "+S+"++) { if ("+u+"["+f+"["+S+"]] === undefined ",w&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", "+f+"["+S+"]) "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",c&&(a+=" } ")}else{var j=h;if(j)for(var C,x=-1,A=j.length-1;x<A;){C=j[x+=1];var O=e.util.getProperty(C),T=(_=e.util.escapeQuotes(C),u+O);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,C,e.opts.jsonPointers)),a+=" if ( "+T+" === undefined ",w&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(C)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+_+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else p&&(a+=" if (true) {");return a},uniqueItems:function(e,r,t){var a,i=" ",s=e.level,o=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),p=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,d="data"+(o||""),c="valid"+s,f=e.opts.$data&&n&&n.$data;if(f?(i+=" var schema"+s+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",a="schema"+s):a=n,(n||f)&&!1!==e.opts.uniqueItems){f&&(i+=" var "+c+"; if ("+a+" === false || "+a+" === undefined) "+c+" = true; else if (typeof "+a+" != 'boolean') "+c+" = false; else { "),i+=" var i = "+d+".length , "+c+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,m=Array.isArray(h);if(!h||"object"==h||"array"==h||m&&(h.indexOf("object")>=0||h.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+c+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var v="checkDataType"+(m?"s":"");i+=" if ("+e.util[v](h,"item",!0)+") continue; ",m&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+c+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",f&&(i+=" } "),i+=" if (!"+c+") { ";var y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+l:""+n,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var g=i;i=y.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+g+"]); ":i+=" validate.errors = ["+g+"]; return false; ":i+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",u&&(i+=" else { ")}else u&&(i+=" if (true) { ");return i},validate:Re},br=Pr,Er=j.toHash,wr=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"],_r=De.MissingRef,Ir=function e(r,t,a){var i=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof t&&(a=t,t=void 0);var s=o(r).then((function(){var e=i._addSchema(r,void 0,t);return e.validate||n(e)}));a&&s.then((function(e){a(null,e)}),a);return s;function o(r){var t=r.$schema;return t&&!i.getSchema(t)?e.call(i,{$ref:t},!0):Promise.resolve()}function n(e){try{return i._compile(e)}catch(r){if(r instanceof _r)return function(r){var a=r.missingSchema;if(p(a))throw new Error("Schema "+a+" is loaded but "+r.missingRef+" cannot be resolved");var s=i._loadingSchemas[a];s||(s=i._loadingSchemas[a]=i._opts.loadSchema(a)).then(l,l);return s.then((function(e){if(!p(a))return o(e).then((function(){p(a)||i.addSchema(e,a,void 0,t)}))})).then((function(){return n(e)}));function l(){delete i._loadingSchemas[a]}function p(e){return i._refs[e]||i._schemas[e]}}(r);throw r}}};var Dr={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0},Sr=/^[a-z_$][a-z0-9_$-]*$/i,Fr=function(e,r,t){var a,i,s=" ",o=e.level,n=e.dataLevel,l=e.schema[r],p=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,d=!e.opts.allErrors,c="data"+(n||""),f="valid"+o,h="errs__"+o,m=e.opts.$data&&l&&l.$data;m?(s+=" var schema"+o+" = "+e.util.getData(l.$data,n,e.dataPathArr)+"; ",i="schema"+o):i=l;var v,y,g,P,b,E=this,w="definition"+o,_=E.definition,I="";if(m&&_.$data){b="keywordValidate"+o;var D=_.validateSchema;s+=" var "+w+" = RULES.custom['"+r+"'].definition; var "+b+" = "+w+".validate;"}else{if(!(P=e.useCustomRule(E,l,e.schema,e)))return;i="validate.schema"+p,b=P.code,v=_.compile,y=_.inline,g=_.macro}var S=b+".errors",F="i"+o,$="ruleErr"+o,R=_.async;if(R&&!e.async)throw new Error("async keyword in sync schema");if(y||g||(s+=S+" = null;"),s+="var "+h+" = errors;var "+f+";",m&&_.$data&&(I+="}",s+=" if ("+i+" === undefined) { "+f+" = true; } else { ",D&&(I+="}",s+=" "+f+" = "+w+".validateSchema("+i+"); if ("+f+") { ")),y)_.statements?s+=" "+P.validate+" ":s+=" "+f+" = "+P.validate+"; ";else if(g){var j=e.util.copy(e);I="";j.level++;var C="valid"+j.level;j.schema=P.validate,j.schemaPath="";var x=e.compositeRule;e.compositeRule=j.compositeRule=!0;var A=e.validate(j).replace(/validate\.schema/g,b);e.compositeRule=j.compositeRule=x,s+=" "+A}else{(z=z||[]).push(s),s="",s+=" "+b+".call( ",e.opts.passContext?s+="this":s+="self",v||!1===_.schema?s+=" , "+c+" ":s+=" , "+i+" , "+c+" , validate.schema"+e.schemaPath+" ",s+=" , (dataPath || '')",'""'!=e.errorPath&&(s+=" + "+e.errorPath);var O=n?"data"+(n-1||""):"parentData",T=n?e.dataPathArr[n]:"parentDataProperty",L=s+=" , "+O+" , "+T+" , rootData ) ";s=z.pop(),!1===_.errors?(s+=" "+f+" = ",R&&(s+="await "),s+=L+"; "):s+=R?" var "+(S="customErrors"+o)+" = null; try { "+f+" = await "+L+"; } catch (e) { "+f+" = false; if (e instanceof ValidationError) "+S+" = e.errors; else throw e; } ":" "+S+" = null; "+f+" = "+L+"; "}if(_.modifying&&(s+=" if ("+O+") "+c+" = "+O+"["+T+"];"),s+=""+I,_.valid)d&&(s+=" if (true) { ");else{var z;s+=" if ( ",void 0===_.valid?(s+=" !",s+=g?""+C:""+f):s+=" "+!_.valid+" ",s+=") { ",a=E.keyword,(z=z||[]).push(s),s="",(z=z||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+E.keyword+"' } ",!1!==e.opts.messages&&(s+=" , message: 'should pass \""+E.keyword+"\" keyword validation' "),e.opts.verbose&&(s+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var q=s;s=z.pop(),!e.compositeRule&&d?e.async?s+=" throw new ValidationError(["+q+"]); ":s+=" validate.errors = ["+q+"]; return false; ":s+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var k=s;s=z.pop(),y?_.errors?"full"!=_.errors&&(s+=" for (var "+F+"="+h+"; "+F+"<errors; "+F+"++) { var "+$+" = vErrors["+F+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(s+=" "+$+".schema = "+i+"; "+$+".data = "+c+"; "),s+=" } "):!1===_.errors?s+=" "+k+" ":(s+=" if ("+h+" == errors) { "+k+" } else { for (var "+F+"="+h+"; "+F+"<errors; "+F+"++) { var "+$+" = vErrors["+F+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(s+=" "+$+".schema = "+i+"; "+$+".data = "+c+"; "),s+=" } } "):g?(s+=" var err = ",!1!==e.createErrors?(s+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+E.keyword+"' } ",!1!==e.opts.messages&&(s+=" , message: 'should pass \""+E.keyword+"\" keyword validation' "),e.opts.verbose&&(s+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ",s+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?s+=" throw new ValidationError(vErrors); ":s+=" validate.errors = vErrors; return false; ")):!1===_.errors?s+=" "+k+" ":(s+=" if (Array.isArray("+S+")) { if (vErrors === null) vErrors = "+S+"; else vErrors = vErrors.concat("+S+"); errors = vErrors.length; for (var "+F+"="+h+"; "+F+"<errors; "+F+"++) { var "+$+" = vErrors["+F+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; "+$+'.schemaPath = "'+u+'"; ',e.opts.verbose&&(s+=" "+$+".schema = "+i+"; "+$+".data = "+c+"; "),s+=" } } else { "+k+" } "),s+=" } ",d&&(s+=" else { ")}return s},$r=Dr,Rr={add:function(e,r){var t=this.RULES;if(t.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!Sr.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(r){this.validateKeyword(r,!0);var a=r.type;if(Array.isArray(a))for(var i=0;i<a.length;i++)o(e,a[i],r);else o(e,a,r);var s=r.metaSchema;s&&(r.$data&&this._opts.$data&&(s={anyOf:[s,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),r.validateSchema=this.compile(s,!0))}function o(e,r,a){for(var i,s=0;s<t.length;s++){var o=t[s];if(o.type==r){i=o;break}}i||(i={type:r,rules:[]},t.push(i));var n={keyword:e,definition:a,custom:!0,code:Fr,implements:a.implements};i.rules.push(n),t.custom[e]=n}return t.keywords[e]=t.all[e]=!0,this},get:function(e){var r=this.RULES.custom[e];return r?r.definition:this.RULES.keywords[e]||!1},remove:function(e){var r=this.RULES;delete r.keywords[e],delete r.all[e],delete r.custom[e];for(var t=0;t<r.length;t++)for(var a=r[t].rules,i=0;i<a.length;i++)if(a[i].keyword==e){a.splice(i,1);break}return this},validate:function e(r,t){e.errors=null;var a=this._validateKeyword=this._validateKeyword||this.compile(jr,!0);if(a(r))return!0;if(e.errors=a.errors,t)throw new Error("custom keyword definition is invalid: "+this.errorsText(a.errors));return!1}},jr={definitions:{simpleTypes:$r.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:$r.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}};var Cr={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1},xr=qe,Ar=pe,Or=Ke.exports,Tr=ee,Lr=$e,zr=nr,qr=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],r=["type","$comment"];return e.all=Er(r),e.types=Er(["number","integer","string","array","object","boolean","null"]),e.forEach((function(t){t.rules=t.rules.map((function(t){var a;if("object"==typeof t){var i=Object.keys(t)[0];a=t[i],t=i,a.forEach((function(t){r.push(t),e.all[t]=!0}))}return r.push(t),e.all[t]={keyword:t,code:br[t],implements:a}})),e.all.$comment={keyword:"$comment",code:br.$comment},t.type&&(e.types[t.type]=t)})),e.keywords=Er(r.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e},kr=function(e,r){for(var t=0;t<r.length;t++){e=JSON.parse(JSON.stringify(e));var a,i=r[t].split("/"),s=e;for(a=1;a<i.length;a++)s=s[i[a]];for(a=0;a<wr.length;a++){var o=wr[a],n=s[o];n&&(s[o]={anyOf:[n,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e},Vr=j,Nr=Kr;Kr.prototype.validate=function(e,r){var t;if("string"==typeof e){if(!(t=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var a=this._addSchema(e);t=a.validate||this._compile(a)}var i=t(r);!0!==t.$async&&(this.errors=t.errors);return i},Kr.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},Kr.prototype.addSchema=function(e,r,t,a){if(Array.isArray(e)){for(var i=0;i<e.length;i++)this.addSchema(e[i],void 0,t,a);return this}var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw new Error("schema id must be string");return Yr(this,r=Ar.normalizeId(r||s)),this._schemas[r]=this._addSchema(e,t,a,!0),this},Kr.prototype.addMetaSchema=function(e,r,t){return this.addSchema(e,r,t,!0),this},Kr.prototype.validateSchema=function(e,r){var t=e.$schema;if(void 0!==t&&"string"!=typeof t)throw new Error("$schema must be a string");if(!(t=t||this._opts.defaultMeta||function(e){var r=e._opts.meta;return e._opts.defaultMeta="object"==typeof r?e._getId(r)||r:e.getSchema(Qr)?Qr:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var a=this.validate(t,e);if(!a&&r){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return a},Kr.prototype.getSchema=function(e){var r=Gr(this,e);switch(typeof r){case"object":return r.validate||this._compile(r);case"string":return this.getSchema(r);case"undefined":return function(e,r){var t=Ar.schema.call(e,{schema:{}},r);if(t){var a=t.schema,i=t.root,s=t.baseId,o=xr.call(e,a,i,void 0,s);return e._fragments[r]=new Tr({ref:r,fragment:!0,schema:a,root:i,baseId:s,validate:o}),o}}(this,e)}},Kr.prototype.removeSchema=function(e){if(e instanceof RegExp)return Wr(this,this._schemas,e),Wr(this,this._refs,e),this;switch(typeof e){case"undefined":return Wr(this,this._schemas),Wr(this,this._refs),this._cache.clear(),this;case"string":var r=Gr(this,e);return r&&this._cache.del(r.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var t=this._opts.serialize,a=t?t(e):e;this._cache.del(a);var i=this._getId(e);i&&(i=Ar.normalizeId(i),delete this._schemas[i],delete this._refs[i])}return this},Kr.prototype.addFormat=function(e,r){"string"==typeof r&&(r=new RegExp(r));return this._formats[e]=r,this},Kr.prototype.errorsText=function(e,r){if(!(e=e||this.errors))return"No errors";for(var t=void 0===(r=r||{}).separator?", ":r.separator,a=void 0===r.dataVar?"data":r.dataVar,i="",s=0;s<e.length;s++){var o=e[s];o&&(i+=a+o.dataPath+" "+o.message+t)}return i.slice(0,-t.length)},Kr.prototype._addSchema=function(e,r,t,a){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var i=this._opts.serialize,s=i?i(e):e,o=this._cache.get(s);if(o)return o;a=a||!1!==this._opts.addUsedSchema;var n=Ar.normalizeId(this._getId(e));n&&a&&Yr(this,n);var l,p=!1!==this._opts.validateSchema&&!r;p&&!(l=n&&n==Ar.normalizeId(e.$schema))&&this.validateSchema(e,!0);var u=Ar.ids.call(this,e),d=new Tr({id:n,schema:e,localRefs:u,cacheKey:s,meta:t});"#"!=n[0]&&a&&(this._refs[n]=d);this._cache.put(s,d),p&&l&&this.validateSchema(e,!0);return d},Kr.prototype._compile=function(e,r){if(e.compiling)return e.validate=i,i.schema=e.schema,i.errors=null,i.root=r||i,!0===e.schema.$async&&(i.$async=!0),i;var t,a;e.compiling=!0,e.meta&&(t=this._opts,this._opts=this._metaOpts);try{a=xr.call(this,e.schema,r,e.localRefs)}catch(r){throw delete e.validate,r}finally{e.compiling=!1,e.meta&&(this._opts=t)}return e.validate=a,e.refs=a.refs,e.refVal=a.refVal,e.root=a.root,a;function i(){var r=e.validate,t=r.apply(this,arguments);return i.errors=r.errors,t}},Kr.prototype.compileAsync=Ir;var Mr=Rr;Kr.prototype.addKeyword=Mr.add,Kr.prototype.getKeyword=Mr.get,Kr.prototype.removeKeyword=Mr.remove,Kr.prototype.validateKeyword=Mr.validate;var Ur=De;Kr.ValidationError=Ur.Validation,Kr.MissingRefError=Ur.MissingRef,Kr.$dataMetaSchema=kr;var Qr="http://json-schema.org/draft-07/schema",Hr=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],Br=["/properties"];function Kr(e){if(!(this instanceof Kr))return new Kr(e);e=this._opts=Vr.copy(e)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:et,warn:et,error:et};else{if(void 0===r&&(r=console),!("object"==typeof r&&r.log&&r.warn&&r.error))throw new Error("logger must implement log, warn and error methods");e.logger=r}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=zr(e.format),this._cache=e.cache||new Or,this._loadingSchemas={},this._compilations=[],this.RULES=qr(),this._getId=function(e){switch(e.schemaId){case"auto":return Xr;case"id":return Jr;default:return Zr}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=Lr),this._metaOpts=function(e){for(var r=Vr.copy(e._opts),t=0;t<Hr.length;t++)delete r[Hr[t]];return r}(this),e.formats&&function(e){for(var r in e._opts.formats){var t=e._opts.formats[r];e.addFormat(r,t)}}(this),function(e){var r;e._opts.$data&&(r=Cr,e.addMetaSchema(r,r.$id,!0));if(!1===e._opts.meta)return;var t=Dr;e._opts.$data&&(t=kr(t,Br));e.addMetaSchema(t,Qr,!0),e._refs["http://json-schema.org/schema"]=Qr}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var r=e._opts.schemas;if(!r)return;if(Array.isArray(r))e.addSchema(r);else for(var t in r)e.addSchema(r[t],t)}(this)}function Gr(e,r){return r=Ar.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function Wr(e,r,t){for(var a in r){var i=r[a];i.meta||t&&!t.test(a)||(e._cache.del(i.cacheKey),delete r[a])}}function Jr(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function Zr(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function Xr(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function Yr(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function et(){}var rt=Object.freeze(r({__proto__:null,default:Nr},[Nr])),tt="#/definitions/Schema",at="http://json-schema.org/draft-07/schema#",it={ActivityType:{anyOf:[{$ref:"#/definitions/IFilter"},{$ref:"#/definitions/IProject"},{$ref:"#/definitions/IGroupBy"},{$ref:"#/definitions/ISort"},{$ref:"#/definitions/ILimit"},{$ref:"#/definitions/IMappings"}]},AggregateType:{anyOf:[{$ref:"#/definitions/IAggregate"},{$ref:"#/definitions/ICount"}]},Dataset:{items:{},type:"array"},DatasourceType:{anyOf:[{$ref:"#/definitions/IWUResult"},{$ref:"#/definitions/ILogicalFile"},{$ref:"#/definitions/IRoxieService"},{$ref:"#/definitions/IHipieService"},{$ref:"#/definitions/IRestService"},{$ref:"#/definitions/IForm"},{$ref:"#/definitions/IDatabomb"}]},FilterCondition:{anyOf:[{$ref:"#/definitions/IFilterCondition"},{$ref:"#/definitions/IFilterStaticCondition"}]},IActivityType:{enum:["filter","project","groupby","sort","limit","mappings"],type:"string"},IAggregate:{additionalProperties:!1,properties:{baseCountFieldID:{type:"string"},fieldID:{type:"string"},inFieldID:{type:"string"},type:{$ref:"#/definitions/IAggregateType"}},required:["fieldID","type","inFieldID"],type:"object"},IAggregateType:{enum:["min","max","sum","mean","variance","deviation"],type:"string"},ICalculated:{additionalProperties:!1,properties:{fieldID:{type:"string"},sourceFieldID1:{type:"string"},sourceFieldID2:{type:"string"},type:{$ref:"#/definitions/ICalculatedType"}},required:["fieldID","type","sourceFieldID1","sourceFieldID2"],type:"object"},ICalculatedType:{enum:["+","-","*","/"],type:"string"},ICount:{additionalProperties:!1,properties:{fieldID:{type:"string"},type:{enum:["count"],type:"string"}},required:["fieldID","type"],type:"object"},IDatabomb:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"},format:{$ref:"#/definitions/IDatabombFormat"},id:{type:"string"},payload:{type:"string"},type:{enum:["databomb"],type:"string"}},required:["fields","format","id","type"],type:"object"},IDatabombFormat:{enum:["csv","tsv","json"],type:"string"},IDatabombRef:{additionalProperties:!1,properties:{id:{type:"string"}},required:["id"],type:"object"},IDatasource:{additionalProperties:!1,properties:{id:{type:"string"},type:{$ref:"#/definitions/IDatasourceType"}},required:["type","id"],type:"object"},IDatasourceRef:{anyOf:[{$ref:"#/definitions/IDatabombRef"},{$ref:"#/definitions/IWUResultRef"},{$ref:"#/definitions/IRoxieServiceRef"},{$ref:"#/definitions/IHipieSqlRef"}]},IDatasourceType:{enum:["wuresult","logicalfile","roxie","hipie","rest","form","databomb"],type:"string"},IEquals:{additionalProperties:!1,properties:{fieldID:{type:"string"},sourceFieldID:{type:"string"},transformations:{items:{$ref:"#/definitions/MultiTransformationType"},type:"array"},type:{enum:["="],type:"string"}},required:["fieldID","type","sourceFieldID"],type:"object"},IField:{anyOf:[{$ref:"#/definitions/IFieldBoolean"},{$ref:"#/definitions/IFieldNumber"},{$ref:"#/definitions/IFieldNumber64"},{$ref:"#/definitions/IFieldString"},{$ref:"#/definitions/IFieldRange"},{$ref:"#/definitions/IFieldDataset"},{$ref:"#/definitions/IFieldSet"},{$ref:"#/definitions/IFieldObject"}]},IFieldBoolean:{additionalProperties:!1,properties:{default:{type:"boolean"},id:{type:"string"},type:{enum:["boolean"],type:"string"}},required:["type","id"],type:"object"},IFieldDataset:{additionalProperties:!1,properties:{children:{items:{$ref:"#/definitions/IField"},type:"array"},default:{$ref:"#/definitions/Dataset"},id:{type:"string"},type:{enum:["dataset"],type:"string"}},required:["type","id","children"],type:"object"},IFieldNumber:{additionalProperties:!1,properties:{default:{type:"number"},id:{type:"string"},type:{enum:["number"],type:"string"}},required:["type","id"],type:"object"},IFieldNumber64:{additionalProperties:!1,properties:{default:{$ref:"#/definitions/Number64"},id:{type:"string"},type:{enum:["number64"],type:"string"}},required:["type","id"],type:"object"},IFieldObject:{additionalProperties:!1,properties:{default:{type:"object"},fields:{additionalProperties:{$ref:"#/definitions/IField"},type:"object"},id:{type:"string"},type:{enum:["object"],type:"string"}},required:["type","id","fields"],type:"object"},IFieldRange:{additionalProperties:!1,properties:{default:{$ref:"#/definitions/Range"},id:{type:"string"},type:{enum:["range"],type:"string"}},required:["type","id"],type:"object"},IFieldSet:{additionalProperties:!1,properties:{default:{items:{type:["string","number"]},type:"array"},fieldType:{enum:["string","number"],type:"string"},id:{type:"string"},type:{enum:["set"],type:"string"}},required:["type","id","fieldType"],type:"object"},IFieldString:{additionalProperties:!1,properties:{default:{type:"string"},id:{type:"string"},type:{enum:["string"],type:"string"}},required:["type","id"],type:"object"},IFieldType:{enum:["boolean","number","number64","string","range","dataset","set","object"],type:"string"},IFilter:{additionalProperties:!1,properties:{conditions:{items:{$ref:"#/definitions/FilterCondition"},type:"array"},type:{enum:["filter"],type:"string"}},required:["conditions","type"],type:"object"},IFilterCondition:{additionalProperties:!1,properties:{mappings:{items:{$ref:"#/definitions/IMapping"},type:"array"},viewID:{type:"string"}},required:["viewID","mappings"],type:"object"},IFilterStaticCondition:{additionalProperties:!1,properties:{condition:{$ref:"#/definitions/IMappingConditionType"},localFieldID:{type:"string"},value:{type:["string","number"]}},required:["localFieldID","condition","value"],type:"object"},IForm:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"},id:{type:"string"},type:{enum:["form"],type:"string"}},required:["fields","id","type"],type:"object"},IGroupBy:{additionalProperties:!1,properties:{aggregates:{items:{$ref:"#/definitions/AggregateType"},type:"array"},groupByIDs:{items:{type:"string"},type:"array"},type:{enum:["groupby"],type:"string"}},required:["aggregates","groupByIDs","type"],type:"object"},IHipieService:{additionalProperties:!1,properties:{id:{type:"string"},inputs:{items:{$ref:"#/definitions/IField"},type:"array"},outputs:{$ref:"#/definitions/OutputDict"},queryID:{type:"string"},querySet:{type:"string"},type:{enum:["hipie"],type:"string"},url:{type:"string"}},required:["id","inputs","outputs","queryID","querySet","type","url"],type:"object"},IHipieSqlRef:{additionalProperties:!1,properties:{id:{type:"string"}},required:["id"],type:"object"},ILimit:{additionalProperties:!1,properties:{limit:{type:"number"},type:{enum:["limit"],type:"string"}},required:["limit","type"],type:"object"},ILogicalFile:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"},id:{type:"string"},logicalFile:{type:"string"},type:{enum:["logicalfile"],type:"string"},url:{type:"string"}},required:["fields","id","logicalFile","type","url"],type:"object"},IMap:{additionalProperties:!1,properties:{default:{},fieldID:{type:"string"},mappings:{items:{$ref:"#/definitions/IMapMapping"},type:"array"},sourceFieldID:{type:"string"},type:{enum:["map"],type:"string"}},required:["fieldID","type","sourceFieldID","default","mappings"],type:"object"},IMapMapping:{additionalProperties:!1,properties:{newValue:{},value:{}},required:["value","newValue"],type:"object"},IMapping:{additionalProperties:!1,properties:{condition:{$ref:"#/definitions/IMappingConditionType"},localFieldID:{type:"string"},nullable:{type:"boolean"},remoteFieldID:{type:"string"}},required:["remoteFieldID","localFieldID","condition","nullable"],type:"object"},IMappingConditionType:{enum:["==","!=",">",">=","<","<=","range","in"],type:"string"},IMappings:{additionalProperties:!1,properties:{transformations:{items:{$ref:"#/definitions/ProjectTransformationType"},type:"array"},type:{enum:["mappings"],type:"string"}},required:["transformations","type"],type:"object"},IMulti:{additionalProperties:!1,properties:{fieldID:{type:"string"},transformations:{items:{$ref:"#/definitions/MultiTransformationType"},type:"array"},type:{enum:["multi"],type:"string"}},required:["fieldID","type","transformations"],type:"object"},IOutput:{additionalProperties:!1,properties:{fields:{items:{$ref:"#/definitions/IField"},type:"array"}},required:["fields"],type:"object"},IProject:{additionalProperties:!1,properties:{transformations:{items:{$ref:"#/definitions/ProjectTransformationType"},type:"array"},type:{enum:["project"],type:"string"}},required:["transformations","type"],type:"object"},IProperties:{type:"object"},IRequestField:{additionalProperties:!1,properties:{localFieldID:{type:"string"},remoteFieldID:{type:"string"},source:{type:"string"},value:{type:"string"}},required:["localFieldID","source","remoteFieldID","value"],type:"object"},IRestService:{additionalProperties:!1,properties:{action:{type:"string"},id:{type:"string"},inputs:{items:{$ref:"#/definitions/IField"},type:"array"},mode:{enum:["get","post"],type:"string"},outputs:{$ref:"#/definitions/OutputDict"},type:{enum:["rest"],type:"string"},url:{type:"string"}},required:["action","id","inputs","outputs","type","url"],type:"object"},IRoxieService:{additionalProperties:!1,properties:{id:{type:"string"},inputs:{items:{$ref:"#/definitions/IField"},type:"array"},outputs:{$ref:"#/definitions/OutputDict"},queryID:{type:"string"},querySet:{type:"string"},type:{enum:["roxie"],type:"string"},url:{type:"string"}},required:["id","inputs","outputs","queryID","querySet","type","url"],type:"object"},IRoxieServiceRef:{additionalProperties:!1,properties:{id:{type:"string"},output:{type:"string"},request:{items:{$ref:"#/definitions/IRequestField"},type:"array"}},required:["id","output","request"],type:"object"},IScale:{additionalProperties:!1,properties:{factor:{type:"number"},fieldID:{type:"string"},sourceFieldID:{type:"string"},type:{enum:["scale"],type:"string"}},required:["fieldID","type","sourceFieldID","factor"],type:"object"},ISort:{additionalProperties:!1,properties:{conditions:{items:{$ref:"#/definitions/ISortCondition"},type:"array"},type:{enum:["sort"],type:"string"}},required:["conditions","type"],type:"object"},ISortCondition:{additionalProperties:!1,properties:{descending:{type:"boolean"},fieldID:{type:"string"}},required:["fieldID","descending"],type:"object"},ITemplate:{additionalProperties:!1,properties:{fieldID:{type:"string"},template:{type:"string"},type:{enum:["template"],type:"string"}},required:["fieldID","type","template"],type:"object"},IView:{additionalProperties:!1,properties:{activities:{items:{$ref:"#/definitions/ActivityType"},type:"array"},datasource:{$ref:"#/definitions/IDatasourceRef"},id:{type:"string"},visualization:{$ref:"#/definitions/IVisualization"}},required:["id","datasource","activities","visualization"],type:"object"},IVisualization:{additionalProperties:!1,properties:{__class:{type:"string"},chartType:{type:"string"},description:{type:"string"},id:{type:"string"},mappings:{$ref:"#/definitions/IMappings"},properties:{$ref:"#/definitions/IWidgetProperties"},secondaryDataviewID:{type:"string"},title:{type:"string"},visibility:{$ref:"#/definitions/VisibilityType"}},required:["__class","chartType","id","mappings","properties","title","visibility"],type:"object"},IWUResult:{additionalProperties:!1,properties:{id:{type:"string"},outputs:{$ref:"#/definitions/OutputDict"},type:{enum:["wuresult"],type:"string"},url:{type:"string"},wuid:{type:"string"}},required:["id","outputs","type","url","wuid"],type:"object"},IWUResultRef:{additionalProperties:!1,properties:{id:{type:"string"},output:{type:"string"}},required:["id","output"],type:"object"},IWidgetProperties:{additionalProperties:{anyOf:[{type:"string"},{items:{type:"string"},type:"array"},{type:"number"},{type:"boolean"},{not:{}},{$ref:"#/definitions/IWidgetProperties"},{items:{$ref:"#/definitions/IWidgetProperties"},type:"array"}]},properties:{__class:{type:"string"}},required:["__class"],type:"object"},MultiTransformationType:{anyOf:[{$ref:"#/definitions/IEquals"},{$ref:"#/definitions/ICalculated"},{$ref:"#/definitions/IScale"},{$ref:"#/definitions/ITemplate"},{$ref:"#/definitions/IMap"}]},Number64:{type:"string"},OutputDict:{additionalProperties:{$ref:"#/definitions/IOutput"},type:"object"},ProjectTransformationType:{anyOf:[{$ref:"#/definitions/MultiTransformationType"},{$ref:"#/definitions/IMulti"}]},Range:{items:[{type:["number","string"]},{type:["number","string"]}],maxItems:2,minItems:2,type:"array"},Schema:{additionalProperties:!1,properties:{createdBy:{additionalProperties:!1,properties:{name:{type:"string"},version:{type:"string"}},required:["name","version"],type:"object"},datasources:{items:{$ref:"#/definitions/DatasourceType"},type:"array"},dataviews:{items:{$ref:"#/definitions/IView"},type:"array"},defs:{additionalProperties:!1,properties:{activityTypes:{additionalProperties:!1,properties:{filter:{$ref:"#/definitions/IFilter"},groupby:{$ref:"#/definitions/IGroupBy"},limit:{$ref:"#/definitions/ILimit"},mappings:{$ref:"#/definitions/IMappings"},project:{$ref:"#/definitions/IProject"},sort:{$ref:"#/definitions/ISort"}},required:["filter","project","groupby","sort","limit","mappings"],type:"object"},aggregateTypes:{additionalProperties:!1,properties:{aggregate:{$ref:"#/definitions/IAggregate"},count:{$ref:"#/definitions/ICount"}},required:["aggregate","count"],type:"object"},datasourceRefTypes:{additionalProperties:!1,properties:{roxieServiceRef:{$ref:"#/definitions/IRoxieServiceRef"},wuResultRef:{$ref:"#/definitions/IWUResultRef"}},required:["wuResultRef","roxieServiceRef"],type:"object"},datasourceTypes:{additionalProperties:!1,properties:{databomb:{$ref:"#/definitions/IDatabomb"},datasource:{$ref:"#/definitions/IDatasource"},form:{$ref:"#/definitions/IForm"},hipieService:{$ref:"#/definitions/IHipieService"},logicalFile:{$ref:"#/definitions/ILogicalFile"},roxieService:{$ref:"#/definitions/IRoxieService"},wuresult:{$ref:"#/definitions/IWUResult"}},required:["datasource","logicalFile","form","databomb","wuresult","hipieService","roxieService"],type:"object"},fieldTypes:{additionalProperties:!1,properties:{dataset:{$ref:"#/definitions/Dataset"},field:{$ref:"#/definitions/IField"},fieldBoolean:{$ref:"#/definitions/IFieldBoolean"},fieldDataset:{$ref:"#/definitions/IFieldDataset"},fieldNumber:{$ref:"#/definitions/IFieldNumber"},fieldNumber64:{$ref:"#/definitions/IFieldNumber64"},fieldObject:{$ref:"#/definitions/IFieldObject"},fieldRange:{$ref:"#/definitions/IFieldRange"},fieldSet:{$ref:"#/definitions/IFieldSet"},fieldString:{$ref:"#/definitions/IFieldString"},fieldType:{$ref:"#/definitions/IFieldType"},number64:{$ref:"#/definitions/Number64"},range:{$ref:"#/definitions/Range"}},required:["number64","range","dataset","fieldType","fieldBoolean","fieldNumber","fieldNumber64","fieldString","fieldRange","fieldDataset","fieldSet","fieldObject","field"],type:"object"},transformationTypes:{additionalProperties:!1,properties:{calculated:{$ref:"#/definitions/ICalculated"},equals:{$ref:"#/definitions/IEquals"},map:{$ref:"#/definitions/IMap"},multi:{$ref:"#/definitions/IMulti"},scale:{$ref:"#/definitions/IScale"},template:{$ref:"#/definitions/ITemplate"}},required:["equals","calculated","scale","template","map","multi"],type:"object"}},required:["fieldTypes","datasourceTypes","datasourceRefTypes","activityTypes","aggregateTypes","transformationTypes"],type:"object"},hipieProperties:{$ref:"#/definitions/IProperties"},properties:{$ref:"#/definitions/IProperties"},version:{enum:["2.2.1"],type:"string"}},required:["version","createdBy","datasources","dataviews"],type:"object"},VisibilityType:{enum:["normal","flyout"],type:"string"}},st={$ref:tt,$schema:at,definitions:it},ot=Object.freeze({__proto__:null,$ref:tt,$schema:at,definitions:it,default:st}),nt=Nr||rt,lt=ot,pt={allErrors:!1,verbose:!0,jsonPointers:!1};e.BUILD_VERSION="2.97.0",e.DDL1=h,e.DDL2=y,e.PKG_NAME=t,e.PKG_VERSION=a,e.ddl2Schema=lt,e.isDDL2Schema=function(e){return void 0!==e.version&&void 0!==e.datasources&&void 0!==e.dataviews},e.upgrade=function(e,r,t,a,i){void 0===a&&(a=!0),void 0===i&&(i={});var s,o=new I(e,r,t,a).write();return o.properties=(_(o,s=i),function(e,r){var t={layout:[]};if(r&&r.__properties)return r.__properties.content.forEach((function(e){var r={id:e.__properties.widget.__id,position:[e.__properties.gridCol,e.__properties.gridRow,e.__properties.gridColSpan,e.__properties.gridRowSpan]};t.layout.push(r)})),t}(0,s)),o},e.validate2=function(e){return function(e,r){var t=new nt(pt).compile(r);return{success:t(e),errors:t.errors}}(e,ot)},Object.defineProperty(e,"__esModule",{value:!0})}));