colu
Version:
Colu SDK for engine and colored-coins api.
127 lines • 3.73 MB
JavaScript
"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};(function(f){if((typeof exports==="undefined"?"undefined":_typeof(exports))==="object"&&typeof module!=="undefined"){module.exports=f();}else if(typeof define==="function"&&define.amd){define([],f);}else{var g;if(typeof window!=="undefined"){g=window;}else if(typeof global!=="undefined"){g=global;}else if(typeof self!=="undefined"){g=self;}else{g=this;}g.Colu=f();}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f;}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e);},l,l.exports,e,t,n,r);}return n[o].exports;}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++){s(r[o]);}return s;}({1:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){module.exports=after;function after(count,callback,err_cb){var bail=false;err_cb=err_cb||noop;proxy.count=count;return count===0?callback():proxy;function proxy(err,result){if(proxy.count<=0){throw new Error('after called too many times');}--proxy.count;// after first error, rest are passed to err_cb
if(err){bail=true;callback(err);// future error callbacks will go to error handler
callback=err_cb;}else if(proxy.count===0&&!bail){callback(null,result);}}}function noop(){}}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\after\\index.js","/node_modules\\after",require("form-data"));},{"_process":403,"buffer":149,"form-data":278}],2:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';var compileSchema=require('./compile'),resolve=require('./compile/resolve'),Cache=require('./cache'),SchemaObject=require('./compile/schema_obj'),stableStringify=require('json-stable-stringify'),formats=require('./compile/formats'),rules=require('./compile/rules'),v5=require('./v5'),util=require('./compile/util'),async=require('./async'),co=require('co');module.exports=Ajv;Ajv.prototype.compileAsync=async.compile;var customKeyword=require('./keyword');Ajv.prototype.addKeyword=customKeyword.add;Ajv.prototype.getKeyword=customKeyword.get;Ajv.prototype.removeKeyword=customKeyword.remove;Ajv.ValidationError=require('./compile/validation_error');var META_SCHEMA_ID='http://json-schema.org/draft-04/schema';var SCHEMA_URI_FORMAT=/^(?:(?:[a-z][a-z0-9+-.]*:)?\/\/)?[^\s]*$/i;function SCHEMA_URI_FORMAT_FUNC(str){return SCHEMA_URI_FORMAT.test(str);}var META_IGNORE_OPTIONS=['removeAdditional','useDefaults','coerceTypes'];/**
* Creates validator instance.
* Usage: `Ajv(opts)`
* @param {Object} opts optional options
* @return {Object} ajv instance
*/function Ajv(opts){if(!(this instanceof Ajv))return new Ajv(opts);var self=this;opts=this._opts=util.copy(opts)||{};this._schemas={};this._refs={};this._fragments={};this._formats=formats(opts.format);this._cache=opts.cache||new Cache();this._loadingSchemas={};this._compilations=[];this.RULES=rules();// this is done on purpose, so that methods are bound to the instance
// (without using bind) so that they can be used without the instance
this.validate=validate;this.compile=compile;this.addSchema=addSchema;this.addMetaSchema=addMetaSchema;this.validateSchema=validateSchema;this.getSchema=getSchema;this.removeSchema=removeSchema;this.addFormat=addFormat;this.errorsText=errorsText;this._addSchema=_addSchema;this._compile=_compile;opts.loopRequired=opts.loopRequired||Infinity;if(opts.async||opts.transpile)async.setup(opts);if(opts.beautify===true)opts.beautify={indent_size:2};if(opts.errorDataPath=='property')opts._errorDataPathProperty=true;this._metaOpts=getMetaSchemaOptions();if(opts.formats)addInitialFormats();addDraft4MetaSchema();if(opts.v5)v5.enable(this);if(_typeof(opts.meta)=='object')addMetaSchema(opts.meta);addInitialSchemas();/**
* Validate data using schema
* Schema will be compiled and cached (using serialized JSON as key. [json-stable-stringify](https://github.com/substack/json-stable-stringify) is used to serialize.
* @param {String|Object} schemaKeyRef key, ref or schema object
* @param {Any} data to be validated
* @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).
*/function validate(schemaKeyRef,data){var v;if(typeof schemaKeyRef=='string'){v=getSchema(schemaKeyRef);if(!v)throw new Error('no schema with key or ref "'+schemaKeyRef+'"');}else{var schemaObj=_addSchema(schemaKeyRef);v=schemaObj.validate||_compile(schemaObj);}var valid=v(data);if(v.$async===true)return self._opts.async=='*'?co(valid):valid;self.errors=v.errors;return valid;}/**
* Create validating function for passed schema.
* @param {Object} schema schema object
* @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords.
* @return {Function} validating function
*/function compile(schema,_meta){var schemaObj=_addSchema(schema,undefined,_meta);return schemaObj.validate||_compile(schemaObj);}/**
* Adds schema to the instance.
* @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored.
* @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.
* @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead.
* @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.
*/function addSchema(schema,key,_skipValidation,_meta){if(Array.isArray(schema)){for(var i=0;i<schema.length;i++){addSchema(schema[i],undefined,_skipValidation,_meta);}return;}// can key/id have # inside?
key=resolve.normalizeId(key||schema.id);checkUnique(key);self._schemas[key]=_addSchema(schema,_skipValidation,_meta,true);}/**
* Add schema that will be used to validate other schemas
* options in META_IGNORE_OPTIONS are alway set to false
* @param {Object} schema schema object
* @param {String} key optional schema key
* @param {Boolean} skipValidation true to skip schema validation, can be used to override validateSchema option for meta-schema
*/function addMetaSchema(schema,key,skipValidation){addSchema(schema,key,skipValidation,true);}/**
* Validate schema
* @param {Object} schema schema to validate
* @param {Boolean} throwOrLogError pass true to throw (or log) an error if invalid
* @return {Boolean} true if schema is valid
*/function validateSchema(schema,throwOrLogError){var $schema=schema.$schema||self._opts.defaultMeta||defaultMeta();var currentUriFormat=self._formats.uri;self._formats.uri=typeof currentUriFormat=='function'?SCHEMA_URI_FORMAT_FUNC:SCHEMA_URI_FORMAT;var valid;try{valid=validate($schema,schema);}finally{self._formats.uri=currentUriFormat;}if(!valid&&throwOrLogError){var message='schema is invalid: '+errorsText();if(self._opts.validateSchema=='log')console.error(message);else throw new Error(message);}return valid;}function defaultMeta(){var meta=self._opts.meta;self._opts.defaultMeta=(typeof meta==="undefined"?"undefined":_typeof(meta))=='object'?meta.id||meta:self._opts.v5?v5.META_SCHEMA_ID:META_SCHEMA_ID;return self._opts.defaultMeta;}/**
* Get compiled schema from the instance by `key` or `ref`.
* @param {String} keyRef `key` that was passed to `addSchema` or full schema reference (`schema.id` or resolved id).
* @return {Function} schema validating function (with property `schema`).
*/function getSchema(keyRef){var schemaObj=_getSchemaObj(keyRef);switch(typeof schemaObj==="undefined"?"undefined":_typeof(schemaObj)){case'object':return schemaObj.validate||_compile(schemaObj);case'string':return getSchema(schemaObj);case'undefined':return _getSchemaFragment(keyRef);}}function _getSchemaFragment(ref){var res=resolve.schema.call(self,{schema:{}},ref);if(res){var schema=res.schema,root=res.root,baseId=res.baseId;var v=compileSchema.call(self,schema,root,undefined,baseId);self._fragments[ref]=new SchemaObject({ref:ref,fragment:true,schema:schema,root:root,baseId:baseId,validate:v});return v;}}function _getSchemaObj(keyRef){keyRef=resolve.normalizeId(keyRef);return self._schemas[keyRef]||self._refs[keyRef]||self._fragments[keyRef];}/**
* Remove cached schema(s).
* If no parameter is passed all schemas but meta-schemas are removed.
* If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.
* Even if schema is referenced by other schemas it still can be removed as other schemas have local references.
* @param {String|Object|RegExp} schemaKeyRef key, ref, pattern to match key/ref or schema object
*/function removeSchema(schemaKeyRef){if(schemaKeyRef instanceof RegExp){_removeAllSchemas(self._schemas,schemaKeyRef);_removeAllSchemas(self._refs,schemaKeyRef);return;}switch(typeof schemaKeyRef==="undefined"?"undefined":_typeof(schemaKeyRef)){case'undefined':_removeAllSchemas(self._schemas);_removeAllSchemas(self._refs);self._cache.clear();return;case'string':var schemaObj=_getSchemaObj(schemaKeyRef);if(schemaObj)self._cache.del(schemaObj.jsonStr);delete self._schemas[schemaKeyRef];delete self._refs[schemaKeyRef];return;case'object':var jsonStr=stableStringify(schemaKeyRef);self._cache.del(jsonStr);var id=schemaKeyRef.id;if(id){id=resolve.normalizeId(id);delete self._schemas[id];delete self._refs[id];}}}function _removeAllSchemas(schemas,regex){for(var keyRef in schemas){var schemaObj=schemas[keyRef];if(!schemaObj.meta&&(!regex||regex.test(keyRef))){self._cache.del(schemaObj.jsonStr);delete schemas[keyRef];}}}function _addSchema(schema,skipValidation,meta,shouldAddSchema){if((typeof schema==="undefined"?"undefined":_typeof(schema))!='object')throw new Error('schema should be object');var jsonStr=stableStringify(schema);var cached=self._cache.get(jsonStr);if(cached)return cached;shouldAddSchema=shouldAddSchema||self._opts.addUsedSchema!==false;var id=resolve.normalizeId(schema.id);if(id&&shouldAddSchema)checkUnique(id);var willValidate=self._opts.validateSchema!==false&&!skipValidation;var recursiveMeta;if(willValidate&&!(recursiveMeta=schema.id&&schema.id==schema.$schema))validateSchema(schema,true);var localRefs=resolve.ids.call(self,schema);var schemaObj=new SchemaObject({id:id,schema:schema,localRefs:localRefs,jsonStr:jsonStr,meta:meta});if(id[0]!='#'&&shouldAddSchema)self._refs[id]=schemaObj;self._cache.put(jsonStr,schemaObj);if(willValidate&&recursiveMeta)validateSchema(schema,true);return schemaObj;}function _compile(schemaObj,root){if(schemaObj.compiling){schemaObj.validate=callValidate;callValidate.schema=schemaObj.schema;callValidate.errors=null;callValidate.root=root?root:callValidate;if(schemaObj.schema.$async===true)callValidate.$async=true;return callValidate;}schemaObj.compiling=true;var currentOpts;if(schemaObj.meta){currentOpts=self._opts;self._opts=self._metaOpts;}var v;try{v=compileSchema.call(self,schemaObj.schema,root,schemaObj.localRefs);}finally{schemaObj.compiling=false;if(schemaObj.meta)self._opts=currentOpts;}schemaObj.validate=v;schemaObj.refs=v.refs;schemaObj.refVal=v.refVal;schemaObj.root=v.root;return v;function callValidate(){var _validate=schemaObj.validate;var result=_validate.apply(null,arguments);callValidate.errors=_validate.errors;return result;}}/**
* Convert array of error message objects to string
* @param {Array<Object>} errors optional array of validation errors, if not passed errors from the instance are used.
* @param {Object} options optional options with properties `separator` and `dataVar`.
* @return {String} human readable string with all errors descriptions
*/function errorsText(errors,options){errors=errors||self.errors;if(!errors)return'No errors';options=options||{};var separator=options.separator===undefined?', ':options.separator;var dataVar=options.dataVar===undefined?'data':options.dataVar;var text='';for(var i=0;i<errors.length;i++){var e=errors[i];if(e)text+=dataVar+e.dataPath+' '+e.message+separator;}return text.slice(0,-separator.length);}/**
* Add custom format
* @param {String} name format name
* @param {String|RegExp|Function} format string is converted to RegExp; function should return boolean (true when valid)
*/function addFormat(name,format){if(typeof format=='string')format=new RegExp(format);self._formats[name]=format;}function addDraft4MetaSchema(){if(self._opts.meta!==false){var metaSchema=require('./refs/json-schema-draft-04.json');addMetaSchema(metaSchema,META_SCHEMA_ID,true);self._refs['http://json-schema.org/schema']=META_SCHEMA_ID;}}function addInitialSchemas(){var optsSchemas=self._opts.schemas;if(!optsSchemas)return;if(Array.isArray(optsSchemas))addSchema(optsSchemas);else for(var key in optsSchemas){addSchema(optsSchemas[key],key);}}function addInitialFormats(){for(var name in self._opts.formats){var format=self._opts.formats[name];addFormat(name,format);}}function checkUnique(id){if(self._schemas[id]||self._refs[id])throw new Error('schema with key or id "'+id+'" already exists');}function getMetaSchemaOptions(){var metaOpts=util.copy(self._opts);for(var i=0;i<META_IGNORE_OPTIONS.length;i++){delete metaOpts[META_IGNORE_OPTIONS[i]];}return metaOpts;}}}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\ajv.js","/node_modules\\ajv\\lib",require("form-data"));},{"./async":3,"./cache":4,"./compile":8,"./compile/formats":7,"./compile/resolve":9,"./compile/rules":10,"./compile/schema_obj":11,"./compile/util":13,"./compile/validation_error":14,"./keyword":39,"./refs/json-schema-draft-04.json":40,"./v5":42,"_process":403,"buffer":149,"co":153,"form-data":278,"json-stable-stringify":43}],3:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';module.exports={setup:setupAsync,compile:compileAsync};var util=require('./compile/util');var ASYNC={'*':checkGenerators,'co*':checkGenerators,'es7':checkAsyncFunction};var TRANSPILE={'nodent':getNodent,'regenerator':getRegenerator};var MODES=[{async:'co*'},{async:'es7',transpile:'nodent'},{async:'co*',transpile:'regenerator'}];var regenerator,nodent;function setupAsync(opts,required){if(required!==false)required=true;var async=opts.async,transpile=opts.transpile,check;switch(typeof transpile==="undefined"?"undefined":_typeof(transpile)){case'string':var get=TRANSPILE[transpile];if(!get)throw new Error('bad transpiler: '+transpile);return opts._transpileFunc=get(opts,required);case'undefined':case'boolean':if(typeof async=='string'){check=ASYNC[async];if(!check)throw new Error('bad async mode: '+async);return opts.transpile=check(opts,required);}for(var i=0;i<MODES.length;i++){var _opts=MODES[i];if(setupAsync(_opts,false)){util.copy(_opts,opts);return opts.transpile;}}/* istanbul ignore next */throw new Error('generators, nodent and regenerator are not available');case'function':return opts._transpileFunc=opts.transpile;default:throw new Error('bad transpiler: '+transpile);}}function checkGenerators(opts,required){/* jshint evil: true */try{new Function('(function*(){})()')();return true;}catch(e){/* istanbul ignore next */if(required)throw new Error('generators not supported');}}function checkAsyncFunction(opts,required){/* jshint evil: true */try{new Function('(async function(){})()')();/* istanbul ignore next */return true;}catch(e){if(required)throw new Error('es7 async functions not supported');}}function getRegenerator(opts,required){try{if(!regenerator){var name='regenerator';regenerator=require(name);regenerator.runtime();}if(!opts.async||opts.async===true)opts.async='es7';return regeneratorTranspile;}catch(e){/* istanbul ignore next */if(required)throw new Error('regenerator not available');}}function regeneratorTranspile(code){return regenerator.compile(code).code;}function getNodent(opts,required){/* jshint evil: true */try{if(!nodent){var name='nodent';nodent=require(name)({log:false,dontInstallRequireHook:true});}if(opts.async!='es7'){if(opts.async&&opts.async!==true)console.warn('nodent transpiles only es7 async functions');opts.async='es7';}return nodentTranspile;}catch(e){/* istanbul ignore next */if(required)throw new Error('nodent not available');}}function nodentTranspile(code){return nodent.compile(code,'',{promises:true,sourcemap:false}).code;}/**
* Creates validating function for passed schema with asynchronous loading of missing schemas.
* `loadSchema` option should be a function that accepts schema uri and node-style callback.
* @this Ajv
* @param {Object} schema schema object
* @param {Function} callback node-style callback, it is always called with 2 parameters: error (or null) and validating function.
*/function compileAsync(schema,callback){/* eslint no-shadow: 0 *//* jshint validthis: true */var schemaObj;var self=this;try{schemaObj=this._addSchema(schema);}catch(e){setTimeout(function(){callback(e);});return;}if(schemaObj.validate){setTimeout(function(){callback(null,schemaObj.validate);});}else{if(typeof this._opts.loadSchema!='function')throw new Error('options.loadSchema should be a function');_compileAsync(schema,callback,true);}function _compileAsync(schema,callback,firstCall){var validate;try{validate=self.compile(schema);}catch(e){if(e.missingSchema)loadMissingSchema(e);else deferCallback(e);return;}deferCallback(null,validate);function loadMissingSchema(e){var ref=e.missingSchema;if(self._refs[ref]||self._schemas[ref])return callback(new Error('Schema '+ref+' is loaded but '+e.missingRef+' cannot be resolved'));var _callbacks=self._loadingSchemas[ref];if(_callbacks){if(typeof _callbacks=='function')self._loadingSchemas[ref]=[_callbacks,schemaLoaded];else _callbacks[_callbacks.length]=schemaLoaded;}else{self._loadingSchemas[ref]=schemaLoaded;self._opts.loadSchema(ref,function(err,sch){var _callbacks=self._loadingSchemas[ref];delete self._loadingSchemas[ref];if(typeof _callbacks=='function'){_callbacks(err,sch);}else{for(var i=0;i<_callbacks.length;i++){_callbacks[i](err,sch);}}});}function schemaLoaded(err,sch){if(err)return callback(err);if(!(self._refs[ref]||self._schemas[ref])){try{self.addSchema(sch,ref);}catch(e){callback(e);return;}}_compileAsync(schema,callback);}}function deferCallback(err,validate){if(firstCall)setTimeout(function(){callback(err,validate);});else return callback(err,validate);}}}}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\async.js","/node_modules\\ajv\\lib",require("form-data"));},{"./compile/util":13,"_process":403,"buffer":149,"form-data":278}],4:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';var Cache=module.exports=function Cache(){this._cache={};};Cache.prototype.put=function Cache_put(key,value){this._cache[key]=value;};Cache.prototype.get=function Cache_get(key){return this._cache[key];};Cache.prototype.del=function Cache_del(key){delete this._cache[key];};Cache.prototype.clear=function Cache_clear(){this._cache={};};}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\cache.js","/node_modules\\ajv\\lib",require("form-data"));},{"_process":403,"buffer":149,"form-data":278}],5:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';//all requires must be explicit because browserify won't work with dynamic requires
module.exports={'$ref':require('../dotjs/ref'),allOf:require('../dotjs/allOf'),anyOf:require('../dotjs/anyOf'),dependencies:require('../dotjs/dependencies'),'enum':require('../dotjs/enum'),format:require('../dotjs/format'),items:require('../dotjs/items'),maximum:require('../dotjs/_limit'),minimum:require('../dotjs/_limit'),maxItems:require('../dotjs/_limitItems'),minItems:require('../dotjs/_limitItems'),maxLength:require('../dotjs/_limitLength'),minLength:require('../dotjs/_limitLength'),maxProperties:require('../dotjs/_limitProperties'),minProperties:require('../dotjs/_limitProperties'),multipleOf:require('../dotjs/multipleOf'),not:require('../dotjs/not'),oneOf:require('../dotjs/oneOf'),pattern:require('../dotjs/pattern'),properties:require('../dotjs/properties'),required:require('../dotjs/required'),uniqueItems:require('../dotjs/uniqueItems'),validate:require('../dotjs/validate')};}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\compile\\_rules.js","/node_modules\\ajv\\lib\\compile",require("form-data"));},{"../dotjs/_limit":16,"../dotjs/_limitItems":17,"../dotjs/_limitLength":18,"../dotjs/_limitProperties":19,"../dotjs/allOf":20,"../dotjs/anyOf":21,"../dotjs/dependencies":24,"../dotjs/enum":25,"../dotjs/format":26,"../dotjs/items":27,"../dotjs/multipleOf":28,"../dotjs/not":29,"../dotjs/oneOf":30,"../dotjs/pattern":31,"../dotjs/properties":33,"../dotjs/ref":34,"../dotjs/required":35,"../dotjs/uniqueItems":37,"../dotjs/validate":38,"_process":403,"buffer":149,"form-data":278}],6:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';/*eslint complexity: 0*/module.exports=function equal(a,b){if(a===b)return true;var arrA=Array.isArray(a),arrB=Array.isArray(b),i;if(arrA&&arrB){if(a.length!=b.length)return false;for(i=0;i<a.length;i++){if(!equal(a[i],b[i]))return false;}return true;}if(arrA!=arrB)return false;if(a&&b&&(typeof a==="undefined"?"undefined":_typeof(a))==='object'&&(typeof b==="undefined"?"undefined":_typeof(b))==='object'){var keys=Object.keys(a);if(keys.length!==Object.keys(b).length)return false;var dateA=a instanceof Date,dateB=b instanceof Date;if(dateA&&dateB)return a.getTime()==b.getTime();if(dateA!=dateB)return false;var regexpA=a instanceof RegExp,regexpB=b instanceof RegExp;if(regexpA&®expB)return a.toString()==b.toString();if(regexpA!=regexpB)return false;for(i=0;i<keys.length;i++){if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return false;}for(i=0;i<keys.length;i++){if(!equal(a[keys[i]],b[keys[i]]))return false;}return true;}return false;};}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\compile\\equal.js","/node_modules\\ajv\\lib\\compile",require("form-data"));},{"_process":403,"buffer":149,"form-data":278}],7:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';var util=require('./util');var DATE=/^\d\d\d\d-(\d\d)-(\d\d)$/;var DAYS=[0,31,29,31,30,31,30,31,31,30,31,30,31];var TIME=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i;var HOSTNAME=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;var URI=/^(?:[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;var UUID=/^(?:urn\:uuid\:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;var JSON_POINTER=/^(?:\/(?:[^~\/]|~0|~1)*)*$|^\#(?:\/(?:[a-z0-9_\-\.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;var RELATIVE_JSON_POINTER=/^(?:0|[1-9][0-9]*)(?:\#|(?:\/(?:[^~\/]|~0|~1)*)*)$/;module.exports=formats;function formats(mode){mode=mode=='full'?'full':'fast';var formatDefs=util.copy(formats[mode]);for(var fName in formats.compare){formatDefs[fName]={validate:formatDefs[fName],compare:formats.compare[fName]};}return formatDefs;}formats.fast={// date: http://tools.ietf.org/html/rfc3339#section-5.6
date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,// date-time: http://tools.ietf.org/html/rfc3339#section-5.6
time:/^[0-2]\d:[0-5]\d:[0-5]\d(?:\.\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(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js
uri:/^(?:[a-z][a-z0-9+-.]*)?(?:\:|\/)\/?[^\s]*$/i,// email (sources from jsen validator):
// http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363
// http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')
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:HOSTNAME,// optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html
ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,// optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses
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:regex,// uuid: http://tools.ietf.org/html/rfc4122
uuid:UUID,// JSON-pointer: https://tools.ietf.org/html/rfc6901
// uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A
'json-pointer':JSON_POINTER,// relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00
'relative-json-pointer':RELATIVE_JSON_POINTER};formats.full={date:date,time:time,'date-time':date_time,uri:uri,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:hostname,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:regex,uuid:UUID,'json-pointer':JSON_POINTER,'relative-json-pointer':RELATIVE_JSON_POINTER};formats.compare={date:compareDate,time:compareTime,'date-time':compareDateTime};function date(str){// full-date from http://tools.ietf.org/html/rfc3339#section-5.6
var matches=str.match(DATE);if(!matches)return false;var month=+matches[1];var day=+matches[2];return month>=1&&month<=12&&day>=1&&day<=DAYS[month];}function time(str,full){var matches=str.match(TIME);if(!matches)return false;var hour=matches[1];var minute=matches[2];var second=matches[3];var timeZone=matches[5];return hour<=23&&minute<=59&&second<=59&&(!full||timeZone);}var DATE_TIME_SEPARATOR=/t|\s/i;function date_time(str){// http://tools.ietf.org/html/rfc3339#section-5.6
var dateTime=str.split(DATE_TIME_SEPARATOR);return dateTime.length==2&&date(dateTime[0])&&time(dateTime[1],true);}function hostname(str){// https://tools.ietf.org/html/rfc1034#section-3.5
// https://tools.ietf.org/html/rfc1123#section-2
return str.length<=255&&HOSTNAME.test(str);}var NOT_URI_FRAGMENT=/\/|\:/;function uri(str){// http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "."
return NOT_URI_FRAGMENT.test(str)&&URI.test(str);}function regex(str){try{new RegExp(str);return true;}catch(e){return false;}}function compareDate(d1,d2){if(!(d1&&d2))return;if(d1>d2)return 1;if(d1<d2)return-1;if(d1===d2)return 0;}function compareTime(t1,t2){if(!(t1&&t2))return;t1=t1.match(TIME);t2=t2.match(TIME);if(!(t1&&t2))return;t1=t1[1]+t1[2]+t1[3]+(t1[4]||'');t2=t2[1]+t2[2]+t2[3]+(t2[4]||'');if(t1>t2)return 1;if(t1<t2)return-1;if(t1===t2)return 0;}function compareDateTime(dt1,dt2){if(!(dt1&&dt2))return;dt1=dt1.split(DATE_TIME_SEPARATOR);dt2=dt2.split(DATE_TIME_SEPARATOR);var res=compareDate(dt1[0],dt2[0]);if(res===undefined)return;return res||compareTime(dt1[1],dt2[1]);}}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\compile\\formats.js","/node_modules\\ajv\\lib\\compile",require("form-data"));},{"./util":13,"_process":403,"buffer":149,"form-data":278}],8:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';var resolve=require('./resolve'),util=require('./util'),stableStringify=require('json-stable-stringify'),async=require('../async');var beautify;function loadBeautify(){if(beautify===undefined){var name='js-beautify';try{beautify=require(name).js_beautify;}catch(e){beautify=false;}}}var validateGenerator=require('../dotjs/validate');/**
* Functions below are used inside compiled validations function
*/var co=require('co');var ucs2length=util.ucs2length;var equal=require('./equal');// this error is thrown by async schemas to return validation errors via exception
var ValidationError=require('./validation_error');module.exports=compile;/**
* Compiles schema to validation function
* @this Ajv
* @param {Object} schema schema object
* @param {Object} root object with information about the root schema for this schema
* @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution
* @param {String} baseId base ID for IDs in the schema
* @return {Function} validation function
*/function compile(schema,root,localRefs,baseId){/* jshint validthis: true, evil: true *//* eslint no-shadow: 0 */var self=this,opts=this._opts,refVal=[undefined],refs={},patterns=[],patternsHash={},defaults=[],defaultsHash={},customRules=[],keepSourceCode=opts.sourceCode!==false;root=root||{schema:schema,refVal:refVal,refs:refs};var c=checkCompiling.call(this,schema,root,baseId);var compilation=this._compilations[c.index];if(c.compiling)return compilation.callValidate=callValidate;var formats=this._formats;var RULES=this.RULES;try{var v=localCompile(schema,root,localRefs,baseId);compilation.validate=v;var cv=compilation.callValidate;if(cv){cv.schema=v.schema;cv.errors=null;cv.refs=v.refs;cv.refVal=v.refVal;cv.root=v.root;cv.$async=v.$async;if(keepSourceCode)cv.sourceCode=v.sourceCode;}return v;}finally{endCompiling.call(this,schema,root,baseId);}function callValidate(){var validate=compilation.validate;var result=validate.apply(null,arguments);callValidate.errors=validate.errors;return result;}function localCompile(_schema,_root,localRefs,baseId){var isRoot=!_root||_root&&_root.schema==_schema;if(_root.schema!=root.schema)return compile.call(self,_schema,_root,localRefs,baseId);var $async=_schema.$async===true;if($async&&!opts.transpile)async.setup(opts);var sourceCode=validateGenerator({isTop:true,schema:_schema,isRoot:isRoot,baseId:baseId,root:_root,schemaPath:'',errSchemaPath:'#',errorPath:'""',RULES:RULES,validate:validateGenerator,util:util,resolve:resolve,resolveRef:resolveRef,usePattern:usePattern,useDefault:useDefault,useCustomRule:useCustomRule,opts:opts,formats:formats,self:self});sourceCode=vars(refVal,refValCode)+vars(patterns,patternCode)+vars(defaults,defaultCode)+vars(customRules,customRuleCode)+sourceCode;if(opts.beautify){loadBeautify();/* istanbul ignore else */if(beautify)sourceCode=beautify(sourceCode,opts.beautify);else console.error('"npm install js-beautify" to use beautify option');}// console.log('\n\n\n *** \n', sourceCode);
var validate,validateCode,transpile=opts._transpileFunc;try{validateCode=$async&&transpile?transpile(sourceCode):sourceCode;var makeValidate=new Function('self','RULES','formats','root','refVal','defaults','customRules','co','equal','ucs2length','ValidationError',validateCode);validate=makeValidate(self,RULES,formats,root,refVal,defaults,customRules,co,equal,ucs2length,ValidationError);refVal[0]=validate;}catch(e){console.error('Error compiling schema, function code:',validateCode);throw e;}validate.schema=_schema;validate.errors=null;validate.refs=refs;validate.refVal=refVal;validate.root=isRoot?validate:_root;if($async)validate.$async=true;if(keepSourceCode)validate.sourceCode=sourceCode;if(opts.sourceCode===true){validate.source={patterns:patterns,defaults:defaults};}return validate;}function resolveRef(baseId,ref,isRoot){ref=resolve.url(baseId,ref);var refIndex=refs[ref];var _refVal,refCode;if(refIndex!==undefined){_refVal=refVal[refIndex];refCode='refVal['+refIndex+']';return resolvedRef(_refVal,refCode);}if(!isRoot&&root.refs){var rootRefId=root.refs[ref];if(rootRefId!==undefined){_refVal=root.refVal[rootRefId];refCode=addLocalRef(ref,_refVal);return resolvedRef(_refVal,refCode);}}refCode=addLocalRef(ref);var v=resolve.call(self,localCompile,root,ref);if(!v){var localSchema=localRefs&&localRefs[ref];if(localSchema){v=resolve.inlineRef(localSchema,opts.inlineRefs)?localSchema:compile.call(self,localSchema,root,localRefs,baseId);}}if(v){replaceLocalRef(ref,v);return resolvedRef(v,refCode);}}function addLocalRef(ref,v){var refId=refVal.length;refVal[refId]=v;refs[ref]=refId;return'refVal'+refId;}function replaceLocalRef(ref,v){var refId=refs[ref];refVal[refId]=v;}function resolvedRef(refVal,code){return(typeof refVal==="undefined"?"undefined":_typeof(refVal))=='object'?{code:code,schema:refVal,inline:true}:{code:code,$async:refVal&&refVal.$async};}function usePattern(regexStr){var index=patternsHash[regexStr];if(index===undefined){index=patternsHash[regexStr]=patterns.length;patterns[index]=regexStr;}return'pattern'+index;}function useDefault(value){switch(typeof value==="undefined"?"undefined":_typeof(value)){case'boolean':case'number':return''+value;case'string':return util.toQuotedString(value);case'object':if(value===null)return'null';var valueStr=stableStringify(value);var index=defaultsHash[valueStr];if(index===undefined){index=defaultsHash[valueStr]=defaults.length;defaults[index]=value;}return'default'+index;}}function useCustomRule(rule,schema,parentSchema,it){var validateSchema=rule.definition.validateSchema;if(validateSchema&&self._opts.validateSchema!==false){var valid=validateSchema(schema);if(!valid){var message='keyword schema is invalid: '+self.errorsText(validateSchema.errors);if(self._opts.validateSchema=='log')console.error(message);else throw new Error(message);}}var compile=rule.definition.compile,inline=rule.definition.inline,macro=rule.definition.macro;var validate;if(compile){validate=compile.call(self,schema,parentSchema,it);}else if(macro){validate=macro.call(self,schema,parentSchema,it);if(opts.validateSchema!==false)self.validateSchema(validate,true);}else if(inline){validate=inline.call(self,it,rule.keyword,schema,parentSchema);}else{validate=rule.definition.validate;}var index=customRules.length;customRules[index]=validate;return{code:'customRule'+index,validate:validate};}}/**
* Checks if the schema is currently compiled
* @this Ajv
* @param {Object} schema schema to compile
* @param {Object} root root object
* @param {String} baseId base schema ID
* @return {Object} object with properties "index" (compilation index) and "compiling" (boolean)
*/function checkCompiling(schema,root,baseId){/* jshint validthis: true */var index=compIndex.call(this,schema,root,baseId);if(index>=0)return{index:index,compiling:true};index=this._compilations.length;this._compilations[index]={schema:schema,root:root,baseId:baseId};return{index:index,compiling:false};}/**
* Removes the schema from the currently compiled list
* @this Ajv
* @param {Object} schema schema to compile
* @param {Object} root root object
* @param {String} baseId base schema ID
*/function endCompiling(schema,root,baseId){/* jshint validthis: true */var i=compIndex.call(this,schema,root,baseId);if(i>=0)this._compilations.splice(i,1);}/**
* Index of schema compilation in the currently compiled list
* @this Ajv
* @param {Object} schema schema to compile
* @param {Object} root root object
* @param {String} baseId base schema ID
* @return {Integer} compilation index
*/function compIndex(schema,root,baseId){/* jshint validthis: true */for(var i=0;i<this._compilations.length;i++){var c=this._compilations[i];if(c.schema==schema&&c.root==root&&c.baseId==baseId)return i;}return-1;}function patternCode(i,patterns){return'var pattern'+i+' = new RegExp('+util.toQuotedString(patterns[i])+');';}function defaultCode(i){return'var default'+i+' = defaults['+i+'];';}function refValCode(i,refVal){return refVal[i]?'var refVal'+i+' = refVal['+i+'];':'';}function customRuleCode(i){return'var customRule'+i+' = customRules['+i+'];';}function vars(arr,statement){if(!arr.length)return'';var code='';for(var i=0;i<arr.length;i++){code+=statement(i,arr);}return code;}}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\compile\\index.js","/node_modules\\ajv\\lib\\compile",require("form-data"));},{"../async":3,"../dotjs/validate":38,"./equal":6,"./resolve":9,"./util":13,"./validation_error":14,"_process":403,"buffer":149,"co":153,"form-data":278,"json-stable-stringify":43}],9:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';var url=require('url'),equal=require('./equal'),util=require('./util'),SchemaObject=require('./schema_obj');module.exports=resolve;resolve.normalizeId=normalizeId;resolve.fullPath=getFullPath;resolve.url=resolveUrl;resolve.ids=resolveIds;resolve.inlineRef=inlineRef;resolve.schema=resolveSchema;/**
* [resolve and compile the references ($ref)]
* @this Ajv
* @param {Function} compile reference to schema compilation funciton (localCompile)
* @param {Object} root object with information about the root schema for the current schema
* @param {String} ref reference to resolve
* @return {Object|Function} schema object (if the schema can be inlined) or validation function
*/function resolve(compile,root,ref){/* jshint validthis: true */var refVal=this._refs[ref];if(typeof refVal=='string'){if(this._refs[refVal])refVal=this._refs[refVal];else return resolve.call(this,compile,root,refVal);}refVal=refVal||this._schemas[ref];if(refVal instanceof SchemaObject){return inlineRef(refVal.schema,this._opts.inlineRefs)?refVal.schema:refVal.validate||this._compile(refVal);}var res=resolveSchema.call(this,root,ref);var schema,v,baseId;if(res){schema=res.schema;root=res.root;baseId=res.baseId;}if(schema instanceof SchemaObject){v=schema.validate||compile.call(this,schema.schema,root,undefined,baseId);}else if(schema){v=inlineRef(schema,this._opts.inlineRefs)?schema:compile.call(this,schema,root,undefined,baseId);}return v;}/**
* Resolve schema, its root and baseId
* @this Ajv
* @param {Object} root root object with properties schema, refVal, refs
* @param {String} ref reference to resolve
* @return {Object} object with properties schema, root, baseId
*/function resolveSchema(root,ref){/* jshint validthis: true */var p=url.parse(ref,false,true),refPath=_getFullPath(p),baseId=getFullPath(root.schema.id);if(refPath!==baseId){var id=normalizeId(refPath);var refVal=this._refs[id];if(typeof refVal=='string'){return resolveRecursive.call(this,root,refVal,p);}else if(refVal instanceof SchemaObject){if(!refVal.validate)this._compile(refVal);root=refVal;}else{refVal=this._schemas[id];if(refVal instanceof SchemaObject){if(!refVal.validate)this._compile(refVal);if(id==normalizeId(ref))return{schema:refVal,root:root,baseId:baseId};root=refVal;}else{return;}}if(!root.schema)return;baseId=getFullPath(root.schema.id);}return getJsonPointer.call(this,p,baseId,root.schema,root);}/* @this Ajv */function resolveRecursive(root,ref,parsedRef){/* jshint validthis: true */var res=resolveSchema.call(this,root,ref);if(res){var schema=res.schema;var baseId=res.baseId;root=res.root;if(schema.id)baseId=resolveUrl(baseId,schema.id);return getJsonPointer.call(this,parsedRef,baseId,schema,root);}}var PREVENT_SCOPE_CHANGE=util.toHash(['properties','patternProperties','enum','dependencies','definitions']);/* @this Ajv */function getJsonPointer(parsedRef,baseId,schema,root){/* jshint validthis: true */parsedRef.hash=parsedRef.hash||'';if(parsedRef.hash.slice(0,2)!='#/')return;var parts=parsedRef.hash.split('/');for(var i=1;i<parts.length;i++){var part=parts[i];if(part){part=util.unescapeFragment(part);schema=schema[part];if(!schema)break;if(schema.id&&!PREVENT_SCOPE_CHANGE[part])baseId=resolveUrl(baseId,schema.id);if(schema.$ref){var $ref=resolveUrl(baseId,schema.$ref);var res=resolveSchema.call(this,root,$ref);if(res){schema=res.schema;root=res.root;baseId=res.baseId;}}}}if(schema&&schema!=root.schema)return{schema:schema,root:root,baseId:baseId};}var SIMPLE_INLINED=util.toHash(['type','format','pattern','maxLength','minLength','maxProperties','minProperties','maxItems','minItems','maximum','minimum','uniqueItems','multipleOf','required','enum']);function inlineRef(schema,limit){if(limit===false)return false;if(limit===undefined||limit===true)return checkNoRef(schema);else if(limit)return countKeys(schema)<=limit;}function checkNoRef(schema){var item;if(Array.isArray(schema)){for(var i=0;i<schema.length;i++){item=schema[i];if((typeof item==="undefined"?"undefined":_typeof(item))=='object'&&!checkNoRef(item))return false;}}else{for(var key in schema){if(key=='$ref')return false;item=schema[key];if((typeof item==="undefined"?"undefined":_typeof(item))=='object'&&!checkNoRef(item))return false;}}return true;}function countKeys(schema){var count=0,item;if(Array.isArray(schema)){for(var i=0;i<schema.length;i++){item=schema[i];if((typeof item==="undefined"?"undefined":_typeof(item))=='object')count+=countKeys(item);if(count==Infinity)return Infinity;}}else{for(var key in schema){if(key=='$ref')return Infinity;if(SIMPLE_INLINED[key]){count++;}else{item=schema[key];if((typeof item==="undefined"?"undefined":_typeof(item))=='object')count+=countKeys(item)+1;if(count==Infinity)return Infinity;}}}return count;}function getFullPath(id,normalize){if(normalize!==false)id=normalizeId(id);var p=url.parse(id,false,true);return _getFullPath(p);}function _getFullPath(p){var protocolSeparator=p.protocol||p.href.slice(0,2)=='//'?'//':'';return(p.protocol||'')+protocolSeparator+(p.host||'')+(p.path||'')+'#';}var TRAILING_SLASH_HASH=/#\/?$/;function normalizeId(id){return id?id.replace(TRAILING_SLASH_HASH,''):'';}function resolveUrl(baseId,id){id=normalizeId(id);return url.resolve(baseId,id);}/* @this Ajv */function resolveIds(schema){/* eslint no-shadow: 0 *//* jshint validthis: true */var id=normalizeId(schema.id);var localRefs={};_resolveIds.call(this,schema,getFullPath(id,false),id);return localRefs;/* @this Ajv */function _resolveIds(schema,fullPath,baseId){/* jshint validthis: true */if(Array.isArray(schema)){for(var i=0;i<schema.length;i++){_resolveIds.call(this,schema[i],fullPath+'/'+i,baseId);}}else if(schema&&(typeof schema==="undefined"?"undefined":_typeof(schema))=='object'){if(typeof schema.id=='string'){var id=baseId=baseId?url.resolve(baseId,schema.id):schema.id;id=normalizeId(id);var refVal=this._refs[id];if(typeof refVal=='string')refVal=this._refs[refVal];if(refVal&&refVal.schema){if(!equal(schema,refVal.schema))throw new Error('id "'+id+'" resolves to more than one schema');}else if(id!=normalizeId(fullPath)){if(id[0]=='#'){if(localRefs[id]&&!equal(schema,localRefs[id]))throw new Error('id "'+id+'" resolves to more than one schema');localRefs[id]=schema;}else{this._refs[id]=fullPath;}}}for(var key in schema){_resolveIds.call(this,schema[key],fullPath+'/'+util.escapeFragment(key),baseId);}}}}}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\compile\\resolve.js","/node_modules\\ajv\\lib\\compile",require("form-data"));},{"./equal":6,"./schema_obj":11,"./util":13,"_process":403,"buffer":149,"form-data":278,"url":524}],10:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname,FormData){'use strict';var ruleModules=require('./_rules'),toHash=require('./util').toHash;module.exports=function rules(){var RULES=[{type:'number',rules:['maximum','minimum','multipleOf']},{type:'string',rules:['maxLength','minLength','pattern','format']},{type:'array',rules:['maxItems','minItems','uniqueItems','items']},{type:'object',rules:['maxProperties','minProperties','required','dependencies','properties']},{rules:['$ref','enum','not','anyOf','oneOf','allOf']}];var ALL=['type','additionalProperties','patternProperties'];var KEYWORDS=['additionalItems','$schema','id','title','description','default'];var TYPES=['number','integer','string','array','object','boolean','null'];RULES.all=toHash(ALL);RULES.forEach(function(group){group.rules=group.rules.map(function(keyword){ALL.push(keyword);var rule=RULES.all[keyword]={keyword:keyword,code:ruleModules[keyword]};return rule;});});RULES.keywords=toHash(ALL.concat(KEYWORDS));RULES.types=toHash(TYPES);RULES.custom={};return RULES;};}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\ajv\\lib\\compile\\rules.js","/node_modules\\ajv\\lib\\compile",require("form-data"));},{"./_rules":5,"./util":13,"_process":403,"buffer":149,"form-data":278}],11:[function(require,module,exports){(function(process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dir