From aaf0aecc105d0cd4e4097fd071796fcc33b430a5 Mon Sep 17 00:00:00 2001 From: Sonu Farid Date: Thu, 5 Sep 2019 09:13:04 +0000 Subject: [PATCH] Issue 86: Correct the IPV4 regular expression IPV4 regular expression needs to be corrected from: (\d?\d?\d){0,255} -> (\d){1,3} with other checks to ensure each quad is less than 255 --- djv.js | 2 +- djv.js.map | 2 +- lib/utils/formats.js | 2 +- package-lock.json | 9769 ++++++++++++++++++------------------------ test/issues/86.js | 100 + 5 files changed, 4370 insertions(+), 5505 deletions(-) create mode 100644 test/issues/86.js diff --git a/djv.js b/djv.js index 6afb98c..a7f461e 100644 --- a/djv.js +++ b/djv.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@korzio/djv-draft-04")):"function"==typeof define&&define.amd?define(["@korzio/djv-draft-04"],t):"object"==typeof exports?exports.djv=t(require("@korzio/djv-draft-04")):e.djv=t(e["@korzio/djv-draft-04"])}("undefined"!=typeof self?self:this,function(e){return function(e){function t(a){if(r[a])return r[a].exports;var n=r[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=8)}([function(e,t,r){"use strict";function a(e,t,r){return"function"!=typeof e?e:e(t,r)}function n(e,t){return"object"===(void 0===e?"undefined":i(e))&&Object.prototype.hasOwnProperty.call(e,t)}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports={asExpression:a,hasProperty:n}},function(e,t,r){"use strict";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e){return"object"===(void 0===e?"undefined":f(e))||"boolean"==typeof e}function i(e){return!0===e?s.ANY_SCHEMA:!1===e?s.NOT_ANY_SCHEMA:e}function o(e){if("object"!==(void 0===e?"undefined":f(e))||null===e)return{enum:[e]};if(Array.isArray(e))return{items:e.map(o),additionalItems:!1};var t=Object.keys(e);return{properties:t.reduce(function(t,r){return Object.assign({},t,a({},r,o(e[r])))},{}),required:t}}var f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s={ANY_SCHEMA:{},NOT_ANY_SCHEMA:{not:{}}};e.exports={is:n,make:o,transform:i,transformation:s}},function(e,t,r){"use strict";function a(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t1?t-1:0),n=1;n2&&void 0!==arguments[2]?arguments[2]:{},a=r.inner,n=new Function("schema",e)(t);return a||(n.toString=function(){return e}),n}function o(e){var t=e.defineErrors,r=e.index;return"\n "+(t?"const errors = [];":"")+"\n "+(r?"let i"+Array.apply(void 0,a(Array(r))).map(function(e,t){return t+1}).join(",i")+";":"")+"\n "}function f(e){var t=e.context;if(e.inner||!t.length)return"";var r=[],a=[];return t.forEach(function(e,t){if("number"==typeof e)return void a.push(t+1+" = f"+(e+1));r.push(t+1+" = "+e)}),"const f"+r.concat(a).join(", f")+";"}function s(e){var t=e.defineErrors,r=e.lines,a=o(e),n=t?"if(errors.length) return errors;":"";return'\n "use strict";\n '+a+"\n "+r.join("\n")+"\n "+n+"\n "}function c(e,t){var r=e.cachedIndex,a=e.lines,n=t.context,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i.inner,c=i.errorHandler,u={context:n,inner:o,defineErrors:c,index:r,lines:a};return"\n "+f(u)+"\n function f0(data) {\n "+s(u)+"\n }\n return f0;\n "}function u(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])(\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9]))*$/.test(",")"],["",".length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])(\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(",")"]),d=a(["!/^[A-Za-z][A-Za-z0-9+\\-.]*:(?:\\/\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\?(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\#(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(",")"],["!/^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(",")"]),l=a(["!/^[^@]+@[^@]+\\.[^@]+$/.test(",")"],["!/^[^@]+@[^@]+\\\\.[^@]+$/.test(",")"]),y=a(["!/^(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}$/.test(",") || ",'.split(".")[3] > 255'],["!/^(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}$/.test(",") || ",'.split(".")[3] > 255']),h=a(["!/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/.test(",")"],["!/^((?=.*::)(?!.*::.+::)(::)?([\\\\dA-F]{1,4}:(:|\\\\b)|){5}|([\\\\dA-F]{1,4}:){6})((([\\\\dA-F]{1,4}((?!\\\\3)::|:\\\\b|$))|(?!\\\\2\\\\3)){2}|(((2[0-4]|1\\\\d|[1-9])?\\\\d|25[0-5])\\\\.?\\\\b){4})$/.test(",")"]),F=a(["/[^\\\\]\\\\[^.*+?^${}()|[\\]\\\\bBcdDfnrsStvwWxu0-9]/i.test(",")"],["/[^\\\\\\\\]\\\\\\\\[^.*+?^\\${}()|[\\\\]\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(",")"]),m=a(["!/^$|^\\/(?:~(?=[01])|[^~])*$/i.test(",")"],["!/^$|^\\\\/(?:~(?=[01])|[^~])*$/i.test(",")"]),v=a(["!/^(?:[A-Za-z][A-Za-z0-9+\\-.]*:(?:\\/\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\?(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\#(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\/\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\-._~!$&'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\?(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\#(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(",")"],["!/^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(",")"]),$=a(["!/^(?:(?:[^\\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.test(",")"],["!/^(?:(?:[^\\\\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.test(",")"]),b=r(2),g=b.expression;e.exports={alpha:g(n,"data"),alphanumeric:g(i,"data"),identifier:g(o,"data"),hexadecimal:g(f,"data"),numeric:g(s,"data"),"date-time":g(c,"data","data"),uppercase:g(u,"data","data"),lowercase:g(p,"data","data"),hostname:g(A,"data","data"),uri:g(d,"data"),email:g(l,"data"),ipv4:g(y,"data","data"),ipv6:g(h,"data"),regex:g(F,"data"),"json-pointer":g(m,"data"),"uri-reference":g(v,"data"),"uri-template":g($,"data")}},function(e,t,r){"use strict";var a=r(11),n=r(12),i=r(13),o=r(14),f=r(16),s=r(17),c=r(18),u=r(19),p=r(20),A=r(21),d=r(22),l=r(23),y=r(24),h=r(25),F=r(26),m=r(27);e.exports={name:{$ref:f,required:a,format:n,property:i,type:o,not:s,anyOf:c,oneOf:u,allOf:p,dependencies:A,properties:d,patternProperties:l,items:y,contains:h,constant:F,propertyNames:m},list:[f,a,n,i,o,s,c,u,p,A,d,l,y,h,F,m]}},function(e,t,r){"use strict";var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports={readOnly:"false",exclusiveMinimum:function(e){return"%s <= "+e.exclusiveMinimum},minimum:function(e){return"%s < "+e.minimum},exclusiveMaximum:function(e){return"%s >= "+e.exclusiveMaximum},maximum:function(e){return"%s > "+e.maximum},multipleOf:'($1/$2) % 1 !== 0 && typeof $1 === "number"',pattern:function(e){var t=void 0,r=void 0;return"string"==typeof e.pattern?t=e.pattern:(t=e.pattern[0],r=e.pattern[1]),'typeof ($1) === "string" && !'+new RegExp(t,r)+".test($1)"},minLength:'typeof $1 === "string" && function dltml(b,c){for(var a=0,d=b.length;a=e&&a=e&&ac}($1, $2)',minItems:"$1.length < $2 && Array.isArray($1)",maxItems:"$1.length > $2 && Array.isArray($1)",uniqueItems:function(e,t){return e.uniqueItems?(t(t.cache("{}")),'Array.isArray($1) && $1.some(function(item, key) {\n if(item !== null && typeof item === "object") key = JSON.stringify(item);\n else key = item;\n if('+t.cache("{}")+".hasOwnProperty(key)) return true;\n "+t.cache("{}")+"[key] = true;\n })"):"true"},minProperties:'!Array.isArray($1) && typeof $1 === "object" && Object.keys($1).length < $2',maxProperties:'!Array.isArray($1) && typeof $1 === "object" && Object.keys($1).length > $2',enum:function(e,t){return e.enum.map(function(e){var r="$1",n=e;return"object"===(void 0===e?"undefined":a(e))?(n="'"+JSON.stringify(e)+"'",r=t.cache("JSON.stringify($1)")):"string"==typeof e&&(n="'"+escape(e)+"'"),r+" != unescape("+n+")"}).join(" && ")}}},function(e,t,r){"use strict";e.exports=["$ref","$schema","type","not","anyOf","allOf","oneOf","properties","patternProperties","additionalProperties","items","additionalItems","required","default","title","description","definitions","dependencies","$id","contains","const","examples"]},function(e,t,r){"use strict";function a(e){return"string"!=typeof e?e:e.split(u)[0]}function n(e){return c.test(e)}function i(e){return e.replace(p,"$1")}function o(e){return"string"!=typeof e?e:e.split(u)[1]}function f(e){return e.filter(function(e){return"string"==typeof e}).reduce(function(e,t){if(!e.length||n(t))return t;if(!t)return e;if(0===t.indexOf("#")){var r=e.indexOf("#");return-1===r?e+t:e.slice(0,r)+t}var a=i(e)+t;return a+(-1===a.indexOf("#")?"#":"")},"")}function s(e){return decodeURIComponent(e.replace(/~1/g,"/").replace(/~0/g,"~"))}var c=/:\/\//,u=/#\/?/,p=/(^[^:]+:\/\/[^?#]*\/).*/,A={id:"$id"};e.exports={makePath:f,isFullUri:n,head:a,fragment:o,normalize:s,keys:A}},function(e,t,r){e.exports=r(9)},function(e,t,r){"use strict";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!(this instanceof n))return new n(e);this.options=e,this.resolved={},this.state=new A(null,this),this.useVersion(e.version,e.versionConfigure),this.addFormat(e.formats)}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(2),f=o.restore,s=o.expression,c=r(3),u=r(10),p=u.generate,A=u.State,d=r(28),l=d.add,y=d.use;Object.assign(n,{expression:s}),Object.assign(n.prototype,{validate:function(e,t){return this.resolve(e).fn(t)},addSchema:function(e,t){var r=this,a="object"===(void 0===e?"undefined":i(e))?e:t,n={schema:a,fn:p(this,a,void 0,this.options)};return[e,t.id].filter(function(e){return"string"==typeof e}).forEach(function(e){r.resolved[e]=Object.assign({name:e},n)}),n},removeSchema:function(e){e?delete this.resolved[e]:this.resolved={}},resolve:function(e){return"object"!==(void 0===e?"undefined":i(e))&&this.resolved[e]?this.resolved[e]:this.addSchema(e,this.state.resolve(e))},export:function(e){var t=this,r=void 0;return e?(r=this.resolve(e),r={name:e,schema:r.schema,fn:r.fn.toString()}):(r={},Object.keys(this.resolved).forEach(function(e){r[e]={name:e,schema:t.resolved[e].schema,fn:t.resolved[e].fn.toString()}})),JSON.stringify(r)},import:function(e){var t=this,r=JSON.parse(e),n=r;r.name&&r.fn&&r.schema&&(n=a({},r.name,r)),Object.keys(n).forEach(function(e){var r=n[e],a=r.name,i=r.schema,o=r.fn,s=f(o,i,t.options);t.resolved[a]={name:a,schema:i,fn:s}})},addFormat:function(e,t){if("string"==typeof e)return void(c[e]=t);"object"===(void 0===e?"undefined":i(e))&&Object.assign(c,e)},setErrorHandler:function(e){Object.assign(this.options,{errorHandler:e})},useVersion:function(e,t){"function"!=typeof t&&"draft-04"===e&&(t=r(29)),"function"==typeof t&&l(e,t),y(e)}}),e.exports=n},function(e,t,r){"use strict";function a(){var e=(arguments.length>0&&void 0!==arguments[0]&&arguments[0],arguments[1]);Object.assign(this,{context:[],entries:new Map,env:e})}function n(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new a(t,e),n=arguments[3],i=u(r,n);i.visit(t);var o=s(i,r,n);return c(o,t,n)}var i=r(4),o=i.list,f=r(2),s=f.body,c=f.restore,u=f.template,p=r(0),A=p.hasProperty,d=r(7),l=d.normalize,y=d.makePath,h=d.head,F=d.isFullUri,m=d.fragment,v=d.keys,$=r(1),b=$.is,g=$.transform;a.prototype=Object.assign(Object.create(Array.prototype),{addEntry:function(e,t){var r=this.entries.get(t);return!1===r?this.context.push(t):(void 0===r&&(this.entries.set(t,!1),r=n(this.env,t,this,{inner:!0}),this.entries.set(t,r),this.revealReference(t)),this.context.push(r))},revealReference:function(e){for(var t=this.context.indexOf(e);-1!==t;t=this.context.indexOf(e))this.context[t]=this.context.length},link:function(e){var t=this.resolve(e);return this.addEntry(e,t)},resolveReference:function(e){if(F(e))return e;for(var t=void 0,r=void 0,a=this.length-1;a>=0;a-=1,t=!1){var n=this[a],i=n[v.id],o=n.$ref;if(t=i||o,F(t)){r=a;break}}for(var f=[],s=this.length-1;s>r;s-=1){var c=this[s],u=c[v.id],p=c.$ref,A=u||p;h(A)&&f.push(A)}return y([t].concat(f,[e]))},ascend:function(e){for(var t=h(e),r=this.env.resolved[t]||{},a=r.schema,n=void 0===a?this[0]:a;n.$ref&&h(n.$ref)!==h(e)&&1===Object.keys(n).length;)n=this.ascend(n.$ref);return n},descend:function(e,t){var r=this,a=m(e);if(!a&&F(e))return t;a||(a=e);var n=a.split("/"),i=n.map(l).reduce(function(e,t,a){var i=e[t];return b(i)||(i=e.definitions&&e.definitions[t]),a!==n.length-1&&A(i,v.id)&&r.push(i),i},t);return b(i)?i:t},resolve:function(e){if("string"!=typeof e)return e;var t=this.resolveReference(e),r=this.ascend(t);return this.descend(e,r)},visit:function(e,t){var r=g(e),a=this.length;this.push(r),o.some(function(e){return e(r,t)}),this.length=a}}),e.exports={State:a,generate:n}},function(e,t,r){"use strict";e.exports=function(e,t){Array.isArray(e.required)&&t("if ("+t.data+" !== null && typeof "+t.data+" === 'object' && !Array.isArray("+t.data+")) {\n "+e.required.map(function(e){return"if (!"+t.data+'.hasOwnProperty(unescape("'+escape(e)+'"))) '+t.error("required",e)}).join("")+"\n }")}},function(e,t,r){"use strict";var a=r(3);e.exports=function(e,t){if(void 0!==e.format){var r=a[e.format];if("function"==typeof r){t("if ("+r({data:t.data,schema:e})+") "+t.error("format"))}}}},function(e,t,r){"use strict";var a=r(5),n=r(6),i=r(0),o=i.asExpression;e.exports=function(e,t){Object.keys(e).forEach(function(r){if(-1===n.indexOf(r)&&"format"!==r){var i=o(a[r],e,t);if(i){var f=t.error(r);t("if ("+i+") "+f,t.data,e[r])}}})}},function(e,t,r){"use strict";var a=r(15),n=r(0),i=n.hasProperty;e.exports=function(e,t){if(i(e,"type")){var r=t.error("type",e.type);t("if ("+("("+[].concat(e.type).map(function(e){return a[e]}).join(") && (")+")")+") "+r,t.data)}}},function(e,t,r){"use strict";e.exports={null:"%s !== null",string:'typeof %s !== "string"',boolean:'typeof %s !== "boolean"',number:'typeof %s !== "number" || %s !== %s',integer:'typeof %s !== "number" || %s % 1 !== 0',object:'!%s || typeof %s !== "object" || Array.isArray(%s)',array:"!Array.isArray(%s)",date:"!(%s instanceof Date)"}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty;e.exports=function(e,t){return!!n(e,"$ref")&&(t("if ("+t.link(e.$ref)+"("+t.data+")) "+t.error("$ref")),!0)}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty;e.exports=function(e,t){if(n(e,"not")){t("if (!"+(t.link(e.not)+"("+t.data+")")+") "+t.error("not"))}}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty;e.exports=function(e,t){if(n(e,"anyOf")){var r=t.error("anyOf"),a=e.anyOf.map(function(e){return t.link(e)+"("+t.data+")"}).join(" && ");t("if ("+a+") "+r)}}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty;e.exports=function(e,t){if(n(e,"oneOf")){var r=e.oneOf.map(function(e){return t.link(e)}),a=t.cache("["+r+"]"),i=t.cache("["+r+"]"),o=t.cache(i+".length - 1"),f=t.cache(i+".length - 1"),s=t.cache("0"),c=t.cache("0"),u=t.error("oneOf");t("for (\n "+a+", "+o+", "+s+";\n "+f+" >= 0 && "+f+" < "+i+".length;\n "+f+"--) {\n if(!"+i+"["+f+"]("+t.data+")) "+c+"++;\n }\n if ("+c+" !== 1) "+u+"\n ")}}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty;e.exports=function(e,t){if(n(e,"allOf")){var r=t.error("allOf"),a=e.allOf.map(function(e){return t.link(e)+"("+t.data+")"}).join(" || ");t("if ("+a+") "+r)}}},function(e,t,r){"use strict";function a(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t "+r+") "+n),e.items.forEach(function(e,r){t("if("+o+".length > "+r+") {"),o.push("["+r+"]"),t.visit(e),o.pop(),t("}")}),"object"===a(e.additionalItems)){var f=t.cache(r),s=t.cache(r);t("for ("+f+"; "+s+" < "+o+".length; "+s+"++) {"),o.push("["+t.cache(r)+"]"),t.visit(e.additionalItems),o.pop(),t("}")}}else{var c=t.cache("0"),u=t.cache("0");t("for ("+c+"; "+u+" < "+o+".length; "+u+"++) {"),o.push("["+u+"]"),t.visit(e.items),o.pop(),t("}")}t("}")}}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty;e.exports=function(e,t){if(n(e,"contains")){var r=t.error("contains"),a=""+t.link(e.contains),i=t.data,o=t.cache("0"),f=t.cache("0");t("if (Array.isArray("+i+")) {\n if ("+i+".length === 0) "+r+"\n for ("+o+"; "+f+" < "+i+".length; "+f+"++) {\n if (!"+a+"("+i.toString.apply(i.concat("["+f+"]"))+")) break;\n if ("+f+" === "+i+".length - 1) "+r+"\n }\n }")}}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty,i=r(1),o=i.make;e.exports=function(e,t){if(n(e,"const")){var r=o(e.const);t.visit(r)}}},function(e,t,r){"use strict";var a=r(0),n=a.hasProperty;e.exports=function(e,t){if(n(e,"propertyNames")){var r=t.link(e.propertyNames),a=t.error("propertyNames");t("if (Object.keys("+t.data+").some("+r+")) "+a)}}},function(e,t,r){"use strict";function a(e,t){d[e]=t}function n(e){if(e&&d[e]){(0,d[e])({properties:i,keywords:o,validators:f,formats:s,keys:u,transformation:A})}}var i=r(5),o=r(6),f=r(4),s=r(3),c=r(7),u=c.keys,p=r(1),A=p.transformation,d={};e.exports={add:a,use:n}},function(t,r){t.exports=e}])}); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@korzio/djv-draft-04")):"function"==typeof define&&define.amd?define(["@korzio/djv-draft-04"],t):"object"==typeof exports?exports.djv=t(require("@korzio/djv-draft-04")):e.djv=t(e["@korzio/djv-draft-04"])}("undefined"!=typeof self?self:this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=8)}([function(e,t,r){"use strict";function n(e,t,r){return"function"!=typeof e?e:e(t,r)}function a(e,t){return"object"===(void 0===e?"undefined":o(e))&&Object.prototype.hasOwnProperty.call(e,t)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports={asExpression:n,hasProperty:a}},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){return"object"===(void 0===e?"undefined":f(e))||"boolean"==typeof e}function o(e){return!0===e?s.ANY_SCHEMA:!1===e?s.NOT_ANY_SCHEMA:e}function i(e){if("object"!==(void 0===e?"undefined":f(e))||null===e)return{enum:[e]};if(Array.isArray(e))return{items:e.map(i),additionalItems:!1};var t=Object.keys(e);return{properties:t.reduce(function(t,r){return Object.assign({},t,n({},r,i(e[r])))},{}),required:t}}var f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s={ANY_SCHEMA:{},NOT_ANY_SCHEMA:{not:{}}};e.exports={is:a,make:i,transform:o,transformation:s}},function(e,t,r){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t1?t-1:0),a=1;a2&&void 0!==arguments[2]?arguments[2]:{},n=r.inner,a=new Function("schema",e)(t);return n||(a.toString=function(){return e}),a}function i(e){var t=e.defineErrors,r=e.index;return"\n "+(t?"const errors = [];":"")+"\n "+(r?"let i"+Array.apply(void 0,n(Array(r))).map(function(e,t){return t+1}).join(",i")+";":"")+"\n "}function f(e){var t=e.context;if(e.inner||!t.length)return"";var r=[],n=[];return t.forEach(function(e,t){if("number"==typeof e)return void n.push(t+1+" = f"+(e+1));r.push(t+1+" = "+e)}),"const f"+r.concat(n).join(", f")+";"}function s(e){var t=e.defineErrors,r=e.lines,n=i(e),a=t?"if(errors.length) return errors;":"";return'\n "use strict";\n '+n+"\n "+r.join("\n")+"\n "+a+"\n "}function c(e,t){var r=e.cachedIndex,n=e.lines,a=t.context,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.inner,c=o.errorHandler,u={context:a,inner:i,defineErrors:c,index:r,lines:n};return"\n "+f(u)+"\n function f0(data) {\n "+s(u)+"\n }\n return f0;\n "}function u(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])(\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9]))*$/.test(",")"],["",".length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])(\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(",")"]),d=n(["!/^[A-Za-z][A-Za-z0-9+\\-.]*:(?:\\/\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\?(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\#(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(",")"],["!/^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(",")"]),l=n(["!/^[^@]+@[^@]+\\.[^@]+$/.test(",")"],["!/^[^@]+@[^@]+\\\\.[^@]+$/.test(",")"]),y=n(["!/^(\\d){1,3}\\.(\\d){1,3}\\.(\\d){1,3}\\.(\\d){1,3}$/.test(",") || ",'.split(".").some(d => d > 255)'],["!/^(\\\\d){1,3}\\\\.(\\\\d){1,3}\\\\.(\\\\d){1,3}\\\\.(\\\\d){1,3}$/.test(",") || ",'.split(".").some(d => d > 255)']),h=n(["!/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/.test(",")"],["!/^((?=.*::)(?!.*::.+::)(::)?([\\\\dA-F]{1,4}:(:|\\\\b)|){5}|([\\\\dA-F]{1,4}:){6})((([\\\\dA-F]{1,4}((?!\\\\3)::|:\\\\b|$))|(?!\\\\2\\\\3)){2}|(((2[0-4]|1\\\\d|[1-9])?\\\\d|25[0-5])\\\\.?\\\\b){4})$/.test(",")"]),m=n(["/[^\\\\]\\\\[^.*+?^${}()|[\\]\\\\bBcdDfnrsStvwWxu0-9]/i.test(",")"],["/[^\\\\\\\\]\\\\\\\\[^.*+?^\\${}()|[\\\\]\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(",")"]),F=n(["!/^$|^\\/(?:~(?=[01])|[^~])*$/i.test(",")"],["!/^$|^\\\\/(?:~(?=[01])|[^~])*$/i.test(",")"]),v=n(["!/^(?:[A-Za-z][A-Za-z0-9+\\-.]*:(?:\\/\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\?(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\#(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\/\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\/(?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\-._~!$&'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\?(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\#(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(",")"],["!/^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(",")"]),$=n(["!/^(?:(?:[^\\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.test(",")"],["!/^(?:(?:[^\\\\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.test(",")"]),b=r(2),g=b.expression;e.exports={alpha:g(a,"data"),alphanumeric:g(o,"data"),identifier:g(i,"data"),hexadecimal:g(f,"data"),numeric:g(s,"data"),"date-time":g(c,"data","data"),uppercase:g(u,"data","data"),lowercase:g(p,"data","data"),hostname:g(A,"data","data"),uri:g(d,"data"),email:g(l,"data"),ipv4:g(y,"data","data"),ipv6:g(h,"data"),regex:g(m,"data"),"json-pointer":g(F,"data"),"uri-reference":g(v,"data"),"uri-template":g($,"data")}},function(e,t,r){"use strict";var n=r(11),a=r(12),o=r(13),i=r(14),f=r(16),s=r(17),c=r(18),u=r(19),p=r(20),A=r(21),d=r(22),l=r(23),y=r(24),h=r(25),m=r(26),F=r(27);e.exports={name:{$ref:f,required:n,format:a,property:o,type:i,not:s,anyOf:c,oneOf:u,allOf:p,dependencies:A,properties:d,patternProperties:l,items:y,contains:h,constant:m,propertyNames:F},list:[f,n,a,o,i,s,c,u,p,A,d,l,y,h,m,F]}},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports={readOnly:"false",exclusiveMinimum:function(e){return"%s <= "+e.exclusiveMinimum},minimum:function(e){return"%s < "+e.minimum},exclusiveMaximum:function(e){return"%s >= "+e.exclusiveMaximum},maximum:function(e){return"%s > "+e.maximum},multipleOf:'($1/$2) % 1 !== 0 && typeof $1 === "number"',pattern:function(e){var t=void 0,r=void 0;return"string"==typeof e.pattern?t=e.pattern:(t=e.pattern[0],r=e.pattern[1]),'typeof ($1) === "string" && !'+new RegExp(t,r)+".test($1)"},minLength:'typeof $1 === "string" && function dltml(b,c){for(var a=0,d=b.length;a=e&&a=e&&ac}($1, $2)',minItems:"$1.length < $2 && Array.isArray($1)",maxItems:"$1.length > $2 && Array.isArray($1)",uniqueItems:function(e,t){return e.uniqueItems?(t(t.cache("{}")),'Array.isArray($1) && $1.some(function(item, key) {\n if(item !== null && typeof item === "object") key = JSON.stringify(item);\n else key = item;\n if('+t.cache("{}")+".hasOwnProperty(key)) return true;\n "+t.cache("{}")+"[key] = true;\n })"):"true"},minProperties:'!Array.isArray($1) && typeof $1 === "object" && Object.keys($1).length < $2',maxProperties:'!Array.isArray($1) && typeof $1 === "object" && Object.keys($1).length > $2',enum:function(e,t){return e.enum.map(function(e){var r="$1",a=e;return"object"===(void 0===e?"undefined":n(e))?(a="'"+JSON.stringify(e)+"'",r=t.cache("JSON.stringify($1)")):"string"==typeof e&&(a="'"+encodeURIComponent(e)+"'"),r+" != decodeURIComponent("+a+")"}).join(" && ")}}},function(e,t,r){"use strict";e.exports=["$ref","$schema","type","not","anyOf","allOf","oneOf","properties","patternProperties","additionalProperties","items","additionalItems","required","default","title","description","definitions","dependencies","$id","contains","const","examples"]},function(e,t,r){"use strict";function n(e){return"string"!=typeof e?e:e.split(u)[0]}function a(e){return c.test(e)}function o(e){return e.replace(p,"$1")}function i(e){return"string"!=typeof e?e:e.split(u)[1]}function f(e){return e.filter(function(e){return"string"==typeof e}).reduce(function(e,t){if(!e.length||a(t))return t;if(!t)return e;if(0===t.indexOf("#")){var r=e.indexOf("#");return-1===r?e+t:e.slice(0,r)+t}var n=o(e)+t;return n+(-1===n.indexOf("#")?"#":"")},"")}function s(e){return decodeURIComponent(e.replace(/~1/g,"/").replace(/~0/g,"~"))}var c=/:\/\//,u=/#\/?/,p=/(^[^:]+:\/\/[^?#]*\/).*/,A={id:"$id"};e.exports={makePath:f,isFullUri:a,head:n,fragment:i,normalize:s,keys:A}},function(e,t,r){e.exports=r(9)},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!(this instanceof a))return new a(e);this.options=e,this.resolved={},this.state=new A(null,this),this.useVersion(e.version,e.versionConfigure),this.addFormat(e.formats)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(2),f=i.restore,s=i.expression,c=r(3),u=r(10),p=u.generate,A=u.State,d=r(28),l=d.add,y=d.use;Object.assign(a,{expression:s}),Object.assign(a.prototype,{validate:function(e,t){return this.resolve(e).fn(t)},addSchema:function(e,t){var r=this,n="object"===(void 0===e?"undefined":o(e))?e:t,a={schema:n,fn:p(this,n,void 0,this.options)};return[e,t.id].filter(function(e){return"string"==typeof e}).forEach(function(e){r.resolved[e]=Object.assign({name:e},a)}),a},removeSchema:function(e){e?delete this.resolved[e]:this.resolved={}},resolve:function(e){return"object"!==(void 0===e?"undefined":o(e))&&this.resolved[e]?this.resolved[e]:this.addSchema(e,this.state.resolve(e))},export:function(e){var t=this,r=void 0;return e?(r=this.resolve(e),r={name:e,schema:r.schema,fn:r.fn.toString()}):(r={},Object.keys(this.resolved).forEach(function(e){r[e]={name:e,schema:t.resolved[e].schema,fn:t.resolved[e].fn.toString()}})),JSON.stringify(r)},import:function(e){var t=this,r=JSON.parse(e),a=r;r.name&&r.fn&&r.schema&&(a=n({},r.name,r)),Object.keys(a).forEach(function(e){var r=a[e],n=r.name,o=r.schema,i=r.fn,s=f(i,o,t.options);t.resolved[n]={name:n,schema:o,fn:s}})},addFormat:function(e,t){if("string"==typeof e)return void(c[e]=t);"object"===(void 0===e?"undefined":o(e))&&Object.assign(c,e)},setErrorHandler:function(e){Object.assign(this.options,{errorHandler:e})},useVersion:function(e,t){"function"!=typeof t&&"draft-04"===e&&(t=r(29)),"function"==typeof t&&l(e,t),y(e)}}),e.exports=a},function(e,t,r){"use strict";function n(){var e=(arguments.length>0&&void 0!==arguments[0]&&arguments[0],arguments[1]);Object.assign(this,{context:[],entries:new Map,env:e})}function a(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new n(t,e),a=arguments[3],o=u(r,a);o.visit(t);var i=s(o,r,a);return c(i,t,a)}var o=r(4),i=o.list,f=r(2),s=f.body,c=f.restore,u=f.template,p=r(0),A=p.hasProperty,d=r(7),l=d.normalize,y=d.makePath,h=d.head,m=d.isFullUri,F=d.fragment,v=d.keys,$=r(1),b=$.is,g=$.transform;n.prototype=Object.assign(Object.create(Array.prototype),{addEntry:function(e,t){var r=this.entries.get(t);return!1===r?this.context.push(t):(void 0===r&&(this.entries.set(t,!1),r=a(this.env,t,this,{inner:!0}),this.entries.set(t,r),this.revealReference(t)),this.context.push(r))},revealReference:function(e){for(var t=this.context.indexOf(e);-1!==t;t=this.context.indexOf(e))this.context[t]=this.context.length},link:function(e){var t=this.resolve(e);return this.addEntry(e,t)},resolveReference:function(e){if(m(e))return e;for(var t=void 0,r=void 0,n=this.length-1;n>=0;n-=1,t=!1){var a=this[n],o=a[v.id],i=a.$ref;if(t=o||i,m(t)){r=n;break}}for(var f=[],s=this.length-1;s>r;s-=1){var c=this[s],u=c[v.id],p=c.$ref,A=u||p;h(A)&&f.push(A)}return y([t].concat(f,[e]))},ascend:function(e){for(var t=h(e),r=this.env.resolved[t]||{},n=r.schema,a=void 0===n?this[0]:n;a.$ref&&h(a.$ref)!==h(e)&&1===Object.keys(a).length;)a=this.ascend(a.$ref);return a},descend:function(e,t){var r=this,n=F(e);if(!n&&m(e))return t;n||(n=e);var a=n.split("/"),o=a.map(l).reduce(function(e,t,n){var o=e[t];return b(o)||(o=e.definitions&&e.definitions[t]),n!==a.length-1&&A(o,v.id)&&r.push(o),o},t);return b(o)?o:t},resolve:function(e){if("string"!=typeof e)return e;var t=this.resolveReference(e),r=this.ascend(t);return this.descend(e,r)},visit:function(e,t){var r=g(e),n=this.length;this.push(r),i.some(function(e){return e(r,t)}),this.length=n}}),e.exports={State:n,generate:a}},function(e,t,r){"use strict";e.exports=function(e,t){Array.isArray(e.required)&&t("if ("+t.data+" !== null && typeof "+t.data+" === 'object' && !Array.isArray("+t.data+")) {\n "+e.required.map(function(e){return"if (!"+t.data+'.hasOwnProperty(decodeURIComponent("'+encodeURIComponent(e)+'"))) '+t.error("required",e)}).join("")+"\n }")}},function(e,t,r){"use strict";var n=r(3);e.exports=function(e,t){if(void 0!==e.format){var r=n[e.format];if("function"==typeof r){t("if ("+r({data:t.data,schema:e})+") "+t.error("format"))}}}},function(e,t,r){"use strict";var n=r(5),a=r(6),o=r(0),i=o.asExpression;e.exports=function(e,t){Object.keys(e).forEach(function(r){if(-1===a.indexOf(r)&&"format"!==r){var o=i(n[r],e,t);if(o){var f=t.error(r);t("if ("+o+") "+f,t.data,e[r])}}})}},function(e,t,r){"use strict";var n=r(15),a=r(0),o=a.hasProperty;e.exports=function(e,t){if(o(e,"type")){var r=t.error("type",e.type);t("if ("+("("+[].concat(e.type).map(function(e){return n[e]}).join(") && (")+")")+") "+r,t.data)}}},function(e,t,r){"use strict";e.exports={null:"%s !== null",string:'typeof %s !== "string"',boolean:'typeof %s !== "boolean"',number:'typeof %s !== "number" || %s !== %s',integer:'typeof %s !== "number" || %s % 1 !== 0',object:'!%s || typeof %s !== "object" || Array.isArray(%s)',array:"!Array.isArray(%s)",date:"!(%s instanceof Date)"}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty;e.exports=function(e,t){return!!a(e,"$ref")&&(t("if ("+t.link(e.$ref)+"("+t.data+")) "+t.error("$ref")),!0)}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty;e.exports=function(e,t){if(a(e,"not")){t("if (!"+(t.link(e.not)+"("+t.data+")")+") "+t.error("not"))}}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty;e.exports=function(e,t){if(a(e,"anyOf")){var r=t.error("anyOf"),n=e.anyOf.map(function(e){return t.link(e)+"("+t.data+")"}).join(" && ");t("if ("+n+") "+r)}}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty;e.exports=function(e,t){if(a(e,"oneOf")){var r=e.oneOf.map(function(e){return t.link(e)}),n=t.cache("["+r+"]"),o=t.cache("["+r+"]"),i=t.cache(o+".length - 1"),f=t.cache(o+".length - 1"),s=t.cache("0"),c=t.cache("0"),u=t.error("oneOf");t("for (\n "+n+", "+i+", "+s+";\n "+f+" >= 0 && "+f+" < "+o+".length;\n "+f+"--) {\n if(!"+o+"["+f+"]("+t.data+")) "+c+"++;\n }\n if ("+c+" !== 1) "+u+"\n ")}}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty;e.exports=function(e,t){if(a(e,"allOf")){var r=t.error("allOf"),n=e.allOf.map(function(e){return t.link(e)+"("+t.data+")"}).join(" || ");t("if ("+n+") "+r)}}},function(e,t,r){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t "+r+") "+a),e.items.forEach(function(e,r){t("if("+i+".length > "+r+") {"),i.push("["+r+"]"),t.visit(e),i.pop(),t("}")}),"object"===n(e.additionalItems)){var f=t.cache(r),s=t.cache(r);t("for ("+f+"; "+s+" < "+i+".length; "+s+"++) {"),i.push("["+t.cache(r)+"]"),t.visit(e.additionalItems),i.pop(),t("}")}}else{var c=t.cache("0"),u=t.cache("0");t("for ("+c+"; "+u+" < "+i+".length; "+u+"++) {"),i.push("["+u+"]"),t.visit(e.items),i.pop(),t("}")}t("}")}}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty;e.exports=function(e,t){if(a(e,"contains")){var r=t.error("contains"),n=""+t.link(e.contains),o=t.data,i=t.cache("0"),f=t.cache("0");t("if (Array.isArray("+o+")) {\n if ("+o+".length === 0) "+r+"\n for ("+i+"; "+f+" < "+o+".length; "+f+"++) {\n if (!"+n+"("+o.toString.apply(o.concat("["+f+"]"))+")) break;\n if ("+f+" === "+o+".length - 1) "+r+"\n }\n }")}}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty,o=r(1),i=o.make;e.exports=function(e,t){if(a(e,"const")){var r=i(e.const);t.visit(r)}}},function(e,t,r){"use strict";var n=r(0),a=n.hasProperty;e.exports=function(e,t){if(a(e,"propertyNames")){var r=t.link(e.propertyNames),n=t.error("propertyNames");t("if (Object.keys("+t.data+").some("+r+")) "+n)}}},function(e,t,r){"use strict";function n(e,t){d[e]=t}function a(e){if(e&&d[e]){(0,d[e])({properties:o,keywords:i,validators:f,formats:s,keys:u,transformation:A})}}var o=r(5),i=r(6),f=r(4),s=r(3),c=r(7),u=c.keys,p=r(1),A=p.transformation,d={};e.exports={add:n,use:a}},function(t,r){t.exports=e}])}); //# sourceMappingURL=djv.js.map \ No newline at end of file diff --git a/djv.js.map b/djv.js.map index a7225ba..f96e043 100644 --- a/djv.js.map +++ b/djv.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///djv.js","webpack:///webpack/bootstrap ad067903d8e91b5935a6","webpack:///./lib/utils/index.js","webpack:///./lib/utils/schema.js","webpack:///./lib/utils/template.js","webpack:///./lib/utils/formats.js","webpack:///./lib/validators/index.js","webpack:///./lib/utils/properties.js","webpack:///./lib/utils/keywords.js","webpack:///./lib/utils/uri.js","webpack:///./lib/djv.js","webpack:///./lib/utils/state.js","webpack:///./lib/validators/required.js","webpack:///./lib/validators/format.js","webpack:///./lib/validators/property.js","webpack:///./lib/validators/type.js","webpack:///./lib/utils/types.js","webpack:///./lib/validators/$ref.js","webpack:///./lib/validators/not.js","webpack:///./lib/validators/anyOf.js","webpack:///./lib/validators/oneOf.js","webpack:///./lib/validators/allOf.js","webpack:///./lib/validators/dependencies.js","webpack:///./lib/validators/properties.js","webpack:///./lib/validators/patternProperties.js","webpack:///./lib/validators/items.js","webpack:///./lib/validators/contains.js","webpack:///./lib/validators/const.js","webpack:///./lib/validators/propertyNames.js","webpack:///./lib/utils/environment.js","webpack:///external \"@korzio/djv-draft-04\""],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE_29__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","asExpression","fn","schema","tpl","hasProperty","_typeof","Symbol","iterator","obj","constructor","_defineProperty","key","value","writable","is","transform","transformation","ANY_SCHEMA","NOT_ANY_SCHEMA","make","instance","enum","Array","isArray","items","map","additionalItems","required","keys","properties","reduce","memo","assign","not","_toConsumableArray","arr","arr2","length","from","template","state","options","expression","_len","arguments","args","_key","last","lines","push","replace","match","index","shift","dataToString","join","error","errorHandler","errorType","path","data","toString","dataPath","schemaPath","cachedIndex","cached","cache","layer","link","url","visit","pop","restore","source","_ref","undefined","inner","Function","makeVariables","_ref2","defineErrors","makeHelpers","_ref3","context","functions","references","forEach","concat","makeContent","variables","errors","body","_ref4","_ref5","_ref6","templateExpression","strings","_len2","_key2","_len3","values","_key3","dict","result","Number","isInteger","_taggedTemplateLiteral","raw","freeze","defineProperties","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_require","alpha","alphanumeric","identifier","hexadecimal","numeric","date-time","uppercase","lowercase","hostname","uri","email","ipv4","ipv6","regex","json-pointer","uri-reference","uri-template","format","type","$ref","anyOf","oneOf","allOf","dependencies","patternProperties","contains","constant","propertyNames","list","readOnly","exclusiveMinimum","minimum","exclusiveMaximum","maximum","multipleOf","pattern","modifiers","RegExp","minLength","maxLength","minItems","maxItems","uniqueItems","minProperties","maxProperties","$1","comparedValue","JSON","stringify","escape","head","split","REGEXP_URI_FRAGMENT","isFullUri","REGEXP_URI","test","REGEXP_URI_PATH","fragment","makePath","parts","filter","part","id","indexOf","sharpUriIndex","slice","partialUri","normalize","decodeURIComponent","Environment","resolved","State","useVersion","version","versionConfigure","addFormat","formats","_require2","generate","_require3","add","use","validate","resolve","addSchema","_this","realSchema","removeSchema","export","_this2","import","config","_this3","item","parse","restoreData","_restoreData$key","formatter","setErrorHandler","configure","env","entries","Map","validators","_require4","_require5","isSchema","transformSchema","create","addEntry","entry","set","revealReference","doubled","resolveReference","reference","lastFullURIReference","lastFullURISchemaIndex","_i","partialReferences","_i3","partialReference","ascend","_ref$schema","parentSchema","descend","uriFragment","currentSchema","subSchema","definitions","fullReference","pseudoSchema","initialLength","some","validator","keywords","condition","types","null","string","boolean","number","integer","array","date","fns","cachedArr","count","cachedCount","dependency","propertyKey","propertySchema","isNotRequired","hasAdditionalProperties","additionalProperties","hasPatternProperties","visitAdditionalProperties","itemsLength","zeroIndex","apply","makeSchema","constantInstanceSchema","const","environmentConfig","patchEnvironment"],"mappings":"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","file":"djv.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@korzio/djv-draft-04\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@korzio/djv-draft-04\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"djv\"] = factory(require(\"@korzio/djv-draft-04\"));\n\telse\n\t\troot[\"djv\"] = factory(root[\"@korzio/djv-draft-04\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_29__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@korzio/djv-draft-04\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@korzio/djv-draft-04\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"djv\"] = factory(require(\"@korzio/djv-draft-04\"));\n\telse\n\t\troot[\"djv\"] = factory(root[\"@korzio/djv-draft-04\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_29__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 8);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\n/**\n * @module utils\n * @description\n * Basic utilities for djv project\n */\n\n/**\n * @name asExpression\n * @type {function}\n * @description\n * Transform function or string to expression\n * @see validators\n * @param {function|string} fn\n * @param {object} schema\n * @param {object} tpl templater instance\n * @returns {string} expression\n */\nfunction asExpression(fn, schema, tpl) {\n if (typeof fn !== 'function') {\n return fn;\n }\n\n return fn(schema, tpl);\n}\n\n/**\n * @name hasProperty\n * @type {function}\n * @description\n * Check if the property exists in a given object\n * @param {object} object\n * @param {string} property\n * @returns {boolean} exists\n */\nfunction hasProperty(object, property) {\n return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && Object.prototype.hasOwnProperty.call(object, property);\n}\n\nmodule.exports = {\n asExpression: asExpression,\n hasProperty: hasProperty\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * @module schema\n * @description\n * Low-level utilities to check, create and transform schemas\n */\n\n/**\n * @name transformation\n * @type {object}\n * @description\n * Schema values transformation\n */\nvar transformation = {\n ANY_SCHEMA: {},\n NOT_ANY_SCHEMA: { not: {} }\n};\n\n/**\n * @name is\n * @type {function}\n * @description\n * Verify the object could be a schema\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {boolean} isSchema\n */\nfunction is(schema) {\n return (typeof schema === 'undefined' ? 'undefined' : _typeof(schema)) === 'object' || typeof schema === 'boolean';\n}\n\n/**\n * @name transform\n * @type {function}\n * @description\n * Transform a schema pseudo presentation\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {object} schema\n */\nfunction transform(schema) {\n if (schema === true) {\n return transformation.ANY_SCHEMA;\n } else if (schema === false) {\n return transformation.NOT_ANY_SCHEMA;\n }\n return schema;\n}\n\n/**\n * @name make\n * @type {function}\n * @description\n * Generate a simple schema by a given object\n * @param {any} instance\n * @returns {object} schema\n */\nfunction make(instance) {\n if ((typeof instance === 'undefined' ? 'undefined' : _typeof(instance)) !== 'object' || instance === null) {\n return { enum: [instance] };\n }\n\n if (Array.isArray(instance)) {\n return {\n items: instance.map(make),\n // other items should be valid by `false` schema, aka not exist at all\n additionalItems: false\n };\n }\n\n var required = Object.keys(instance);\n return {\n properties: required.reduce(function (memo, key) {\n return Object.assign({}, memo, _defineProperty({}, key, make(instance[key])));\n }, {}),\n required: required\n // other properties should be valid by `false` schema, aka not exist at all\n // additionalProperties: false,\n };\n}\n\nmodule.exports = {\n is: is,\n make: make,\n transform: transform,\n transformation: transformation\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @module template\n * @description\n * Defines a small templater functionality for creating functions body.\n */\n\n/**\n * @name template\n * @type function\n * @description\n * Provides a templater function, which adds a line of code into generated function body.\n *\n * @param {object} state - used in visit and reference method to iterate and find schemas.\n * @param {DjvConfig} options\n * @return {function} tpl\n */\nfunction template(state, options) {\n function tpl(expression) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var last = void 0;\n\n tpl.lines.push(expression.replace(/%i/g, function () {\n return 'i';\n }).replace(/\\$(\\d)/g, function (match, index) {\n return '' + args[index - 1];\n }).replace(/(%[sd])/g, function () {\n if (args.length) {\n last = args.shift();\n }\n\n return '' + last;\n }));\n\n return tpl;\n }\n\n var error = typeof options.errorHandler === 'function' ? options.errorHandler : function defaultErrorHandler(errorType) {\n var path = this.data.toString().replace(/^data/, '');\n var dataPath = path.replace(/\\['([^']+)'\\]/ig, '.$1').replace(/\\[(i[0-9]*)\\]/ig, '[\\'+$1+\\']');\n var schemaPath = '#' + path.replace(/\\[i([0-9]*)\\]/ig, '/items').replace(/\\['([^']+)'\\]/ig, '/properties/$1') + '/' + errorType;\n\n return 'return {\\n keyword: \\'' + errorType + '\\',\\n dataPath: unescape(\"' + dataPath.replace('unescape(', '').replace(')]', ']').replace(')]', ']').replace('[\\'', '').replace('\\']', '') + '\"),\\n schemaPath: unescape(\"' + schemaPath.replace('unescape(', '').replace(')]', ']').replace(')]', ']').replace('[\\'', '').replace('\\']', '') + '\")\\n };';\n };\n\n Object.assign(tpl, {\n cachedIndex: 0,\n cached: [],\n cache: function cache(expression) {\n var layer = tpl.cached[tpl.cached.length - 1];\n if (layer[expression]) {\n return 'i' + layer[expression];\n }\n\n tpl.cachedIndex += 1;\n layer[expression] = tpl.cachedIndex;\n return '(i' + layer[expression] + ' = ' + expression + ')';\n },\n\n data: ['data'],\n error: error,\n lines: [],\n schema: ['schema'],\n push: tpl,\n /**\n * @name link\n * @description\n * Get schema validator by url\n * Call state link to generate or get cached function\n * @type {function}\n * @param {string} url\n * @return {string} functionName\n */\n link: function link(url) {\n return 'f' + state.link(url);\n },\n\n /**\n * @name visit\n * @description\n * Create new cache scope and visit given schema\n * @type {function}\n * @param {object} schema\n * @return {void}\n */\n visit: function visit(schema) {\n tpl.cached.push({});\n state.visit(schema, tpl);\n tpl.cached.pop();\n }\n });\n\n function dataToString() {\n return this.join('.').replace(/\\.\\[/g, '[');\n }\n tpl.data.toString = dataToString;\n tpl.schema.toString = dataToString;\n\n return tpl;\n}\n\n/**\n * @name restore\n * @type function\n * @description\n * Generate a function by given body with a schema in a closure\n *\n * @param {string} source - function inner & outer body\n * @param {object} schema - passed as argument to meta function\n * @param {DjvConfig} config\n * @return {function} tpl\n */\nfunction restore(source, schema) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n inner = _ref.inner;\n\n /* eslint-disable no-new-func */\n var tpl = new Function('schema', source)(schema);\n /* eslint-enable no-new-func */\n\n if (!inner) {\n tpl.toString = function toString() {\n return source;\n };\n }\n\n return tpl;\n}\n\n/**\n * Configuration for template functions\n * @typedef {object} TemplateOptions\n * @property {string[]} context\n * @property {string[]} index\n * @property {boolean?} inner - a generating object should be considered as inner\n * @property {boolean?} defineErrors - if erros should be defined\n * @property {string[]} lines - content templates\n */\n\n/**\n * @private\n * @name makeVariables\n * @type function\n * @description\n * Generate internal variables\n *\n * @param {TemplateOptions} options\n * @return {string} variables\n */\nfunction makeVariables(_ref2) {\n var defineErrors = _ref2.defineErrors,\n index = _ref2.index;\n\n /**\n * @var {array} errors - empty array for pushing errors ability\n * @see errorHandler\n */\n var errors = defineErrors ? 'const errors = [];' : '';\n var variables = index ? 'let i' + Array.apply(undefined, _toConsumableArray(Array(index))).map(function (value, i) {\n return i + 1;\n }).join(',i') + ';' : '';\n\n // @see map array with holes trick\n // http://2ality.com/2013/11/initializing-arrays.html\n // TODO change var to const\n return '\\n ' + errors + '\\n ' + variables + '\\n ';\n}\n\n/**\n * @private\n * @name makeHelpers\n * @type function\n * @description\n * Generate internal helpers executed in outer function\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeHelpers(_ref3) {\n var context = _ref3.context,\n inner = _ref3.inner;\n\n if (inner || !context.length) {\n return '';\n }\n\n var functions = [];\n var references = [];\n\n context.forEach(function (value, i) {\n if (typeof value === 'number') {\n references.push(i + 1 + ' = f' + (value + 1));\n return;\n }\n functions.push(i + 1 + ' = ' + value);\n });\n\n return 'const f' + functions.concat(references).join(', f') + ';';\n}\n\n/**\n * @private\n * @name makeContent\n * @type function\n * @description\n * Generate internal function body content, including variables\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeContent(options) {\n var defineErrors = options.defineErrors,\n lines = options.lines;\n\n\n var variables = makeVariables(options);\n var errors = defineErrors ? 'if(errors.length) return errors;' : '';\n var content = lines.join('\\n');\n\n return '\\n \"use strict\";\\n ' + variables + '\\n ' + content + '\\n ' + errors + '\\n ';\n}\n\n/**\n * @name body\n * @type function\n * @description\n * Generate a function body, containing internal variables and helpers\n *\n * @param {object} tpl - template instance, containing all analyzed schema related data\n * @param {object} state - state of schema generation\n * @param {DjvConfig} config\n * @return {string} body\n */\nfunction body(_ref4, _ref5) {\n var cachedIndex = _ref4.cachedIndex,\n lines = _ref4.lines;\n var context = _ref5.context;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n inner = _ref6.inner,\n errorHandler = _ref6.errorHandler;\n\n var options = {\n context: context,\n inner: inner,\n defineErrors: errorHandler,\n index: cachedIndex,\n lines: lines\n };\n\n var helpers = makeHelpers(options);\n var content = makeContent(options);\n\n return '\\n ' + helpers + '\\n function f0(data) {\\n ' + content + '\\n }\\n return f0;\\n ';\n}\n\n/**\n * @name templateExpression\n * @type function\n * @description\n * Es6 template helper function\n * Transforms a validator utilities into generated functions body\n * @return {function} template\n */\nfunction templateExpression(strings) {\n for (var _len2 = arguments.length, keys = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n keys[_key2 - 1] = arguments[_key2];\n }\n\n return function () {\n for (var _len3 = arguments.length, values = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n var dict = values[values.length - 1] || {};\n var result = [strings[0]];\n keys.forEach(function (key, i) {\n var value = Number.isInteger(key) ? values[key] : dict[key];\n result.push(value, strings[i + 1]);\n });\n return result.join('');\n };\n}\n\nmodule.exports = {\n body: body,\n restore: restore,\n template: template,\n expression: templateExpression\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _templateObject = _taggedTemplateLiteral(['!/^[a-zA-Z]+$/.test(', ')'], ['!/^[a-zA-Z]+$/.test(', ')']),\n _templateObject2 = _taggedTemplateLiteral(['!/^[a-zA-Z0-9]+$/.test(', ')'], ['!/^[a-zA-Z0-9]+$/.test(', ')']),\n _templateObject3 = _taggedTemplateLiteral(['!/^[-_a-zA-Z0-9]+$/.test(', ')'], ['!/^[-_a-zA-Z0-9]+$/.test(', ')']),\n _templateObject4 = _taggedTemplateLiteral(['!/^[a-fA-F0-9]+$/.test(', ')'], ['!/^[a-fA-F0-9]+$/.test(', ')']),\n _templateObject5 = _taggedTemplateLiteral(['!/^[0-9]+$/.test(', ')'], ['!/^[0-9]+$/.test(', ')']),\n _templateObject6 = _taggedTemplateLiteral(['isNaN(Date.parse(', ')) || ~', '.indexOf(\\'/\\')'], ['isNaN(Date.parse(', ')) || ~', '.indexOf(\\\\\\'/\\\\\\')']),\n _templateObject7 = _taggedTemplateLiteral(['', ' !== ', '.toUpperCase()'], ['', ' !== ', '.toUpperCase()']),\n _templateObject8 = _taggedTemplateLiteral(['', ' !== ', '.toLowerCase()'], ['', ' !== ', '.toLowerCase()']),\n _templateObject9 = _taggedTemplateLiteral(['', '.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])(\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(', ')'], ['', '.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\\\\\-]{0,61}[a-zA-Z0-9])(\\\\\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(', ')']),\n _templateObject10 = _taggedTemplateLiteral(['!/^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(', ')'], ['!/^[A-Za-z][A-Za-z0-9+\\\\\\\\-.]*:(?:\\\\\\\\/\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\\\\\.[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]+)\\\\\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\\\\\?(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\\\\\#(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(', ')']),\n _templateObject11 = _taggedTemplateLiteral(['!/^[^@]+@[^@]+\\\\.[^@]+$/.test(', ')'], ['!/^[^@]+@[^@]+\\\\\\\\.[^@]+$/.test(', ')']),\n _templateObject12 = _taggedTemplateLiteral(['!/^(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}$/.test(', ') || ', '.split(\".\")[3] > 255'], ['!/^(\\\\\\\\d?\\\\\\\\d?\\\\\\\\d){0,255}\\\\\\\\.(\\\\\\\\d?\\\\\\\\d?\\\\\\\\d){0,255}\\\\\\\\.(\\\\\\\\d?\\\\\\\\d?\\\\\\\\d){0,255}\\\\\\\\.(\\\\\\\\d?\\\\\\\\d?\\\\\\\\d){0,255}$/.test(', ') || ', '.split(\".\")[3] > 255']),\n _templateObject13 = _taggedTemplateLiteral(['!/^((?=.*::)(?!.*::.+::)(::)?([\\\\dA-F]{1,4}:(:|\\\\b)|){5}|([\\\\dA-F]{1,4}:){6})((([\\\\dA-F]{1,4}((?!\\\\3)::|:\\\\b|$))|(?!\\\\2\\\\3)){2}|(((2[0-4]|1\\\\d|[1-9])?\\\\d|25[0-5])\\\\.?\\\\b){4})$/.test(', ')'], ['!/^((?=.*::)(?!.*::.+::)(::)?([\\\\\\\\dA-F]{1,4}:(:|\\\\\\\\b)|){5}|([\\\\\\\\dA-F]{1,4}:){6})((([\\\\\\\\dA-F]{1,4}((?!\\\\\\\\3)::|:\\\\\\\\b|$))|(?!\\\\\\\\2\\\\\\\\3)){2}|(((2[0-4]|1\\\\\\\\d|[1-9])?\\\\\\\\d|25[0-5])\\\\\\\\.?\\\\\\\\b){4})$/.test(', ')']),\n _templateObject14 = _taggedTemplateLiteral(['/[^\\\\\\\\]\\\\\\\\[^.*+?^${}()|[\\\\]\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(', ')'], ['/[^\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\[^.*+?^\\\\${}()|[\\\\\\\\]\\\\\\\\\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(', ')']),\n _templateObject15 = _taggedTemplateLiteral(['!/^$|^\\\\/(?:~(?=[01])|[^~])*$/i.test(', ')'], ['!/^$|^\\\\\\\\/(?:~(?=[01])|[^~])*$/i.test(', ')']),\n _templateObject16 = _taggedTemplateLiteral(['!/^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(', ')'], ['!/^(?:[A-Za-z][A-Za-z0-9+\\\\\\\\-.]*:(?:\\\\\\\\/\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\\\\\.[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]+)\\\\\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\\\\\?(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\\\\\#(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\\\\\/\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\\\\\.[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]+)\\\\\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\\\\\?(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\\\\\#(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(', ')']),\n _templateObject17 = _taggedTemplateLiteral(['!/^(?:(?:[^\\\\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.test(', ')'], ['!/^(?:(?:[^\\\\\\\\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.test(', ')']);\n\nfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n/**\n * @module formats\n * @description\n * Validators as string for format keyword rules.\n * A validator is a string, which when executed returns `false` if test is failed, `true` otherwise.\n */\n\nvar _require = __webpack_require__(2),\n expression = _require.expression;\n\nmodule.exports = {\n alpha: expression(_templateObject, 'data'),\n alphanumeric: expression(_templateObject2, 'data'),\n identifier: expression(_templateObject3, 'data'),\n hexadecimal: expression(_templateObject4, 'data'),\n numeric: expression(_templateObject5, 'data'),\n 'date-time': expression(_templateObject6, 'data', 'data'),\n uppercase: expression(_templateObject7, 'data', 'data'),\n lowercase: expression(_templateObject8, 'data', 'data'),\n hostname: expression(_templateObject9, 'data', 'data'),\n uri: expression(_templateObject10, 'data'),\n email: expression(_templateObject11, 'data'),\n ipv4: expression(_templateObject12, 'data', 'data'),\n ipv6: expression(_templateObject13, 'data'),\n regex: expression(_templateObject14, 'data'),\n // TODO optimize uri-reference regex... too long\n 'json-pointer': expression(_templateObject15, 'data'),\n 'uri-reference': expression(_templateObject16, 'data'),\n 'uri-template': expression(_templateObject17, 'data')\n};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module validators\n * @description\n * Contains validators functions links\n * Provides an information about the order in which validators should be applied\n * Each validator may return true, which means, others will be ignored\n * @see $ref\n */\nvar required = __webpack_require__(11);\nvar format = __webpack_require__(12);\nvar property = __webpack_require__(13);\nvar type = __webpack_require__(14);\nvar $ref = __webpack_require__(16);\nvar not = __webpack_require__(17);\nvar anyOf = __webpack_require__(18);\nvar oneOf = __webpack_require__(19);\nvar allOf = __webpack_require__(20);\nvar dependencies = __webpack_require__(21);\nvar properties = __webpack_require__(22);\nvar patternProperties = __webpack_require__(23);\nvar items = __webpack_require__(24);\nvar contains = __webpack_require__(25);\nvar constant = __webpack_require__(26);\nvar propertyNames = __webpack_require__(27);\n\nmodule.exports = {\n name: {\n $ref: $ref,\n required: required,\n format: format,\n property: property,\n type: type,\n not: not,\n anyOf: anyOf,\n oneOf: oneOf,\n allOf: allOf,\n dependencies: dependencies,\n properties: properties,\n patternProperties: patternProperties,\n items: items,\n contains: contains,\n constant: constant,\n propertyNames: propertyNames\n },\n list: [$ref, required, format, property, type, not, anyOf, oneOf, allOf, dependencies, properties, patternProperties, items, contains, constant, propertyNames]\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\n/**\n * @module properties\n * @description\n * Validators as string for properties keyword rules.\n * A validator is a function, which when executed returns\n * - `false` if test is failed,\n * - `true` otherwise.\n */\nmodule.exports = {\n readOnly: 'false',\n exclusiveMinimum: function exclusiveMinimum(schema) {\n return '%s <= ' + schema.exclusiveMinimum;\n },\n minimum: function minimum(schema) {\n return '%s < ' + schema.minimum;\n },\n exclusiveMaximum: function exclusiveMaximum(schema) {\n return '%s >= ' + schema.exclusiveMaximum;\n },\n maximum: function maximum(schema) {\n return '%s > ' + schema.maximum;\n },\n\n multipleOf: '($1/$2) % 1 !== 0 && typeof $1 === \"number\"',\n // When the instance value is a string\n // this provides a regular expression that a string instance MUST match in order to be valid.\n pattern: function pattern(schema) {\n var pattern = void 0;\n var modifiers = void 0;\n\n if (typeof schema.pattern === 'string') {\n pattern = schema.pattern;\n } else {\n pattern = schema.pattern[0];\n modifiers = schema.pattern[1];\n }\n\n var regex = new RegExp(pattern, modifiers);\n return 'typeof ($1) === \"string\" && !' + regex + '.test($1)';\n },\n\n /**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\n minLength: 'typeof $1 === \"string\" && function dltml(b,c){for(var a=0,d=b.length;a=e&&a=e&&ac}($1, $2)',\n // This attribute defines the minimum number of values\n // in an array when the array is the instance value.\n minItems: '$1.length < $2 && Array.isArray($1)',\n // This attribute defines the maximum number of values\n // in an array when the array is the instance value.\n maxItems: '$1.length > $2 && Array.isArray($1)',\n // TODO without some\n uniqueItems: function uniqueItems(schema, fn) {\n if (!schema.uniqueItems) {\n return 'true';\n }\n\n fn(fn.cache('{}'));\n return 'Array.isArray($1) && $1.some(function(item, key) {\\n if(item !== null && typeof item === \"object\") key = JSON.stringify(item);\\n else key = item;\\n if(' + fn.cache('{}') + '.hasOwnProperty(key)) return true;\\n ' + fn.cache('{}') + '[key] = true;\\n })';\n },\n\n // ***** object validation ****\n minProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length < $2',\n // An object instance is valid against \"maxProperties\"\n // if its number of properties is less than, or equal to, the value of this keyword.\n maxProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length > $2',\n // ****** all *****\n enum: function _enum(schema, fn) {\n return schema.enum.map(function (value) {\n var $1 = '$1';\n var comparedValue = value;\n\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n comparedValue = '\\'' + JSON.stringify(value) + '\\'';\n $1 = fn.cache('JSON.stringify($1)');\n } else if (typeof value === 'string') {\n comparedValue = '\\'' + escape(value) + '\\'';\n }\n\n return $1 + ' != unescape(' + comparedValue + ')';\n }).join(' && ');\n }\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module keywords\n * @description\n * A list of keywords used in specification.\n */\nmodule.exports = ['$ref', '$schema', 'type', 'not', 'anyOf', 'allOf', 'oneOf', 'properties', 'patternProperties', 'additionalProperties', 'items', 'additionalItems', 'required', 'default', 'title', 'description', 'definitions', 'dependencies', '$id', 'contains', 'const', 'examples'];\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module utils\n * @description\n * Utilities to check and normalize uri\n */\nvar REGEXP_URI = /:\\/\\//;\nvar REGEXP_URI_FRAGMENT = /#\\/?/;\nvar REGEXP_URI_PATH = /(^[^:]+:\\/\\/[^?#]*\\/).*/;\n\n/**\n * @name keys\n * @type {object}\n * @description\n * Keys to apply schema attributes & values\n */\nvar keys = {\n id: '$id'\n};\n\n/**\n * @name head\n * @type {function}\n * @description\n * Clean an id from its fragment\n * @example\n * head('http://domain.domain:2020/test/a#test')\n * // returns 'http://domain.domain:2020/test/a'\n * @param {string} id\n * @returns {string} cleaned\n */\nfunction head(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n var parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[0];\n}\n\nfunction isFullUri(uri) {\n return REGEXP_URI.test(uri);\n}\n\n/**\n * @name path\n * @type {function}\n * @description\n * Gets a scheme, domain and a path part from the uri\n * @example\n * path('http://domain.domain:2020/test/a?test')\n * // returns 'http://domain.domain:2020/test/'\n * @param {string} uri\n * @returns {string} path\n */\nfunction path(uri) {\n return uri.replace(REGEXP_URI_PATH, '$1');\n}\n\n/**\n * @description\n * Get the fragment (#...) part of the uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {string} uri\n * @returns {string} fragment\n */\nfunction fragment(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n var parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[1];\n}\n\n/**\n * @name makePath\n * @type function\n * @description\n * Concat parts into single uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {array} parts\n * @returns {string} uri\n */\nfunction makePath(parts) {\n return parts.filter(function (part) {\n return typeof part === 'string';\n }).reduce(function (uri, id) {\n // if id is full replace uri\n if (!uri.length || isFullUri(id)) {\n return id;\n }\n if (!id) {\n return uri;\n }\n\n // if fragment found\n if (id.indexOf('#') === 0) {\n // should replace uri's sharp with id\n var sharpUriIndex = uri.indexOf('#');\n if (sharpUriIndex === -1) {\n return uri + id;\n }\n\n return uri.slice(0, sharpUriIndex) + id;\n }\n\n // get path part of uri\n // and replace the rest with id\n var partialUri = path(uri) + id;\n return partialUri + (partialUri.indexOf('#') === -1 ? '#' : '');\n }, '');\n}\n\n/**\n * @name normalize\n * @type {function}\n * @description\n * Replace json-pointer special symbols in a given uri.\n * @param {string} uri\n * @returns {string} normalizedUri\n */\nfunction normalize(uri) {\n return decodeURIComponent(uri.replace(/~1/g, '/').replace(/~0/g, '~'));\n}\n\nmodule.exports = {\n makePath: makePath,\n isFullUri: isFullUri,\n head: head,\n fragment: fragment,\n normalize: normalize,\n keys: keys\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(9);\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _require = __webpack_require__(2),\n restore = _require.restore,\n expression = _require.expression;\n\nvar formats = __webpack_require__(3);\n\nvar _require2 = __webpack_require__(10),\n generate = _require2.generate,\n State = _require2.State;\n\nvar _require3 = __webpack_require__(28),\n add = _require3.add,\n use = _require3.use;\n\n/**\n * Configuration for template\n * @typedef {object} DjvConfig\n * @property {string?} version - defines which version of json-schema draft to use,\n * draft-04 by default\n * @property {function?} versionConfigure - handler to apply for environment version\n * @property {boolean?} inner - a generating object should be considered as inner\n * Default value is false/undefined.\n * If true, then it avoid creating variables in a generated function body,\n * however without proper wrapper function approach will not work.\n * @see template/body, template/body\n * @property {object?} formats - an object containing list of formatters to add for environment\n * @property {function?} errorHandler - a handler to use for generating custom error messages\n */\n\n/**\n * @name Environment\n * @description\n * Key constructor used for creating enivornment instance\n * @type {function} constructor\n * @param {DjvConfig} options passed to templater and utilities\n *\n * Usage\n *\n * ```javascript\n * const env = djv();\n * const env = new djv();\n * const env = new djv({ errorHandler: () => ';' });\n * ```\n */\n\n\nfunction Environment() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!(this instanceof Environment)) {\n return new Environment(options);\n }\n\n this.options = options;\n this.resolved = {};\n this.state = new State(null, this);\n\n this.useVersion(options.version, options.versionConfigure);\n this.addFormat(options.formats);\n}\n\nObject.assign(Environment, {\n expression: expression\n});\n\nObject.assign(Environment.prototype, {\n /**\n * check if object correspond to schema\n *\n * Usage\n *\n * ```javascript\n * env.validate('test#/common', { type: 'common' });\n * // => undefined\n *\n * env.validate('test#/common', { type: 'custom' });\n * // => 'required: data'\n *\n * @param {string} name\n * @param {object} object\n * @returns {string} error - undefined if it is valid\n */\n validate: function validate(name, object) {\n return this.resolve(name).fn(object);\n },\n\n\n /**\n * add schema to djv environment\n *\n * Usage\n *\n * ```javascript\n * env.addSchema('test', jsonSchema);\n * ```\n *\n * @param {string?} name\n * @param {object} schema\n * @param {object} schema\n * @returns {resolved}\n */\n addSchema: function addSchema(name, schema) {\n var _this = this;\n\n var realSchema = (typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object' ? name : schema;\n var resolved = {\n schema: realSchema,\n fn: generate(this, realSchema, undefined, this.options)\n };\n\n [name, schema.id].filter(function (id) {\n return typeof id === 'string';\n }).forEach(function (id) {\n _this.resolved[id] = Object.assign({ name: id }, resolved);\n });\n\n return resolved;\n },\n\n\n /**\n * removes a schema or the whole structure from djv environment\n *\n * Usage\n *\n * ```javascript\n * env.removeSchema('test');\n * ```\n *\n * @param {string} name\n */\n removeSchema: function removeSchema(name) {\n if (name) {\n delete this.resolved[name];\n } else {\n this.resolved = {};\n }\n },\n\n\n /**\n * resolves name by existing environment\n *\n * Usage\n *\n * ```javascript\n * env.resolve('test');\n * // => { name: 'test', schema: {} }, fn: ... }\n * ```\n *\n * @param {string} name\n * @returns {resolved}\n */\n resolve: function resolve(name) {\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object' || !this.resolved[name]) {\n return this.addSchema(name, this.state.resolve(name));\n }\n\n return this.resolved[name];\n },\n\n\n /**\n * exports the whole structure object from environment or by resolved name\n *\n * Usage\n *\n * ```javascript\n * env.export();\n * // => { test: { name: 'test', schema: {}, ... } }\n * ```\n *\n * @param {string} name\n * @returns {serializedInternalState}\n */\n export: function _export(name) {\n var _this2 = this;\n\n var resolved = void 0;\n if (name) {\n resolved = this.resolve(name);\n resolved = {\n name: name,\n schema: resolved.schema,\n fn: resolved.fn.toString()\n };\n } else {\n resolved = {};\n Object.keys(this.resolved).forEach(function (key) {\n resolved[key] = {\n name: key,\n schema: _this2.resolved[key].schema,\n fn: _this2.resolved[key].fn.toString()\n };\n });\n }\n\n return JSON.stringify(resolved);\n },\n\n\n /**\n * imports all found structure objects to internal environment structure\n * Usage\n *\n * ```javascript\n * env.import(config);\n * ```\n *\n * @param {object} config - internal structure or only resolved schema object\n */\n import: function _import(config) {\n var _this3 = this;\n\n var item = JSON.parse(config);\n var restoreData = item;\n if (item.name && item.fn && item.schema) {\n restoreData = _defineProperty({}, item.name, item);\n }\n\n Object.keys(restoreData).forEach(function (key) {\n var _restoreData$key = restoreData[key],\n name = _restoreData$key.name,\n schema = _restoreData$key.schema,\n source = _restoreData$key.fn;\n\n var fn = restore(source, schema, _this3.options);\n _this3.resolved[name] = { name: name, schema: schema, fn: fn };\n });\n },\n\n\n /**\n * @name addFormat\n * @type function\n * @description\n * Add formatter to djv environment.\n * When a string is passed it is interpreted as an expression which\n * when returns `true` goes with an error, when returns `false` then a property is valid.\n * When a function is passed it will be executed during schema compilation\n * with a current schema and template helper arguments.\n * @see utils/formats\n *\n * Usage\n *\n * ```javascript\n * env.addFormat('UpperCase', '%s !== %s.toUpperCase()');\n * // or\n * env.addFormat('isOk', function(schema, tpl){\n * return `!${schema.isOk} || %s !== %s.toUpperCase()`;\n * });\n * ```\n *\n * @param {string/object?} name\n * @param {string/function} formatter\n */\n addFormat: function addFormat(name, formatter) {\n if (typeof name === 'string') {\n formats[name] = formatter;\n return;\n }\n\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n Object.assign(formats, name);\n }\n },\n\n\n /**\n * @name setErrorHandler\n * @type function\n * @description\n * Specify custom error handler which will be used in generated functions when problem found.\n * The function should return a string expression, which will be executed when generated\n * validator function is executed. The simpliest use case is the default one\n * @see template/defaultErrorHandler\n * ```javascript\n * function defaultErrorHandler(errorType) {\n * return `return \"${errorType}: ${tpl.data}\";`;\n * }\n * ```\n * It returns an expression 'return ...', so the output is an error string.\n * Usage\n * ```javascript\n * djv({ errorHandler: () => 'return { error: true };' }) // => returns an object\n * djv({\n * errorHandler: function customErrorHandler(errorType, property) {\n * return `errors.push({\n * type: \"${errorType}\",\n * schema: \"${this.schema[this.schema.length - 1]}\",\n * data: \"${this.data[this.data.length - 1]}\"\n * });`;\n * }\n * });\n * ```\n * When a custom error handler is used, the template body function adds a `error` variable inside\n * a generated validator, which can be used to put error information. `errorType` is always\n * passed to error handler function. Some validate utilities put extra argument, like f.e.\n * currently processed property value. Inside the handler context is a templater instance,\n * which contains `this.schema`, `this.data` paths arrays to identify validator position.\n * @see test/index/setErrorHandler for more examples\n * @param {function} errorHandler - a function called each time compiler creates an error branch\n * @returns void\n */\n setErrorHandler: function setErrorHandler(errorHandler) {\n Object.assign(this.options, { errorHandler: errorHandler });\n },\n\n /**\n * @name useVersion\n * @type {function}\n * @description\n * Add a specification version for environment\n * A configure function is called with exposed environments, like keys, formats, etc.\n * Updates internals utilities and configurations to fix versions implementation conflicts\n * @param {string} version of json-schema specification to use\n * @param {function} configure\n * @returns void\n */\n useVersion: function useVersion(version, configure) {\n if (typeof configure !== 'function' && version === 'draft-04') {\n /* eslint-disable no-param-reassign, global-require, import/no-extraneous-dependencies */\n configure = __webpack_require__(29);\n /* eslint-enable no-param-reassign, global-require, import/no-extraneous-dependencies */\n }\n if (typeof configure === 'function') {\n add(version, configure);\n }\n use(version);\n }\n});\n\nmodule.exports = Environment;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module state\n * @description\n * State module is responsible for scope schemas resolution.\n * It also exports a main `generate` function.\n */\n\nvar _require = __webpack_require__(4),\n validators = _require.list;\n\nvar _require2 = __webpack_require__(2),\n body = _require2.body,\n restore = _require2.restore,\n template = _require2.template;\n\nvar _require3 = __webpack_require__(0),\n hasProperty = _require3.hasProperty;\n\nvar _require4 = __webpack_require__(7),\n normalize = _require4.normalize,\n makePath = _require4.makePath,\n head = _require4.head,\n isFullUri = _require4.isFullUri,\n fragment = _require4.fragment,\n keys = _require4.keys;\n\nvar _require5 = __webpack_require__(1),\n isSchema = _require5.is,\n transformSchema = _require5.transform;\n\nfunction State() {\n var schema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var env = arguments[1];\n\n Object.assign(this, {\n context: [],\n entries: new Map(),\n env: env\n });\n}\n\n/**\n * @name generate\n * @type {function}\n * @description\n * The main schema process function.\n * Available and used both in external and internal generation.\n * Saves the state for internal recursive calls.\n * @param {object} env - djv environment\n * @param {object} schema - to process\n * @param {State} state - saved state\n * @param {Environment} options\n * @returns {function} restoredFunction\n */\nfunction generate(env, schema) {\n var state = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new State(schema, env);\n var options = arguments[3];\n\n var tpl = template(state, options);\n tpl.visit(schema);\n\n var source = body(tpl, state, options);\n return restore(source, schema, options);\n}\n\nState.prototype = Object.assign(Object.create(Array.prototype), {\n /**\n * @name addEntry\n * @type {function}\n * @description\n * Generates an internal function.\n * Usually necessary for `allOf` types of validators.\n * Caches generated functions by schema object key.\n * Checks for an existing schema in a context stack to avoid double parsing and generation.\n * @param {string} url\n * @param {object} schema\n * @returns {number/boolean} index\n */\n addEntry: function addEntry(url, schema) {\n var entry = this.entries.get(schema);\n if (entry === false) {\n // has already been added to process queue\n // will be revealed as an entry\n return this.context.push(schema);\n }\n\n if (typeof entry === 'undefined') {\n // start to process schema\n this.entries.set(schema, false);\n entry = generate(this.env, schema, this, { inner: true });\n this.entries.set(schema, entry);\n this.revealReference(schema);\n }\n\n return this.context.push(entry);\n },\n\n /**\n * @name revealReference\n * @type {function}\n * @description\n * If a schema was added during the add entry phase\n * Then it should be revealed in this step\n * @param {object} schema\n * @returns {void}\n */\n revealReference: function revealReference(schema) {\n for (var doubled = this.context.indexOf(schema); doubled !== -1; doubled = this.context.indexOf(schema)) {\n this.context[doubled] = this.context.length;\n }\n },\n\n /**\n * @name link\n * @type {function}\n * @description\n * Returns an entry's index in a context stack.\n * @param {string} url\n * @returns {string} entry\n */\n link: function link(url) {\n var schema = this.resolve(url);\n var entry = this.addEntry(url, schema);\n return entry;\n },\n\n /**\n * @name resolveReference\n * @type {function}\n * @description\n * Resolve reference against the stack.\n * @param {string} reference\n * @returns {string} resolvedReference\n */\n resolveReference: function resolveReference(reference) {\n if (isFullUri(reference)) {\n return reference;\n }\n\n // find last full URI schema\n var lastFullURIReference = void 0;\n var lastFullURISchemaIndex = void 0;\n\n for (var i = this.length - 1; i >= 0; i -= 1, lastFullURIReference = false) {\n var _i = this[i],\n id = _i[keys.id],\n $ref = _i.$ref;\n\n lastFullURIReference = id || $ref;\n if (isFullUri(lastFullURIReference)) {\n lastFullURISchemaIndex = i;\n break;\n }\n }\n\n // collect all partial routes for it\n var partialReferences = [];\n for (var _i2 = this.length - 1; _i2 > lastFullURISchemaIndex; _i2 -= 1) {\n var _i3 = this[_i2],\n _id = _i3[keys.id],\n _$ref = _i3.$ref;\n\n var partialReference = _id || _$ref;\n if (head(partialReference)) {\n partialReferences.push(partialReference);\n }\n }\n\n // attach reference and make path\n var path = makePath([lastFullURIReference].concat(partialReferences, [reference]));\n return path;\n },\n\n /**\n * @name ascend\n * @private\n * @type {function}\n * @description\n * Search for a parent schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} parentSchema\n */\n ascend: function ascend(reference) {\n var path = head(reference);\n\n var _ref = this.env.resolved[path] || {},\n _ref$schema = _ref.schema,\n parentSchema = _ref$schema === undefined ? this[0] : _ref$schema;\n\n // Search while it is a full schema, not a ref\n\n\n while (parentSchema.$ref &&\n // avoid infinite loop\n head(parentSchema.$ref) !== head(reference) &&\n // > All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n Object.keys(parentSchema).length === 1) {\n parentSchema = this.ascend(parentSchema.$ref);\n }\n\n return parentSchema;\n },\n\n /**\n * @name descend\n * @private\n * @type {function}\n * @description\n * Search for a child schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} currentSchema\n */\n descend: function descend(reference, parentSchema) {\n var _this = this;\n\n var uriFragment = fragment(reference);\n if (!uriFragment && isFullUri(reference)) {\n return parentSchema;\n }\n\n if (!uriFragment) {\n uriFragment = reference;\n }\n\n var parts = uriFragment.split('/');\n var currentSchema = parts.map(normalize).reduce(function (schema, part, index) {\n var subSchema = schema[part];\n if (!isSchema(subSchema)) {\n subSchema = schema.definitions && schema.definitions[part];\n }\n\n if (\n // last will be pushed on visit\n // @see /draft4/refRemote.json:http://localhost:1234/scope_change_defs2.json\n index !== parts.length - 1 && hasProperty(subSchema, keys.id)) {\n _this.push(subSchema);\n }\n\n return subSchema;\n }, parentSchema);\n\n return isSchema(currentSchema) ? currentSchema : parentSchema;\n },\n\n /**\n * @name resolve\n * @type {function}\n * @description\n * Resolves schema by given reference and current registered context stack.\n * @param {string} url\n * @returns {object} schema\n */\n resolve: function resolve(reference) {\n if (typeof reference !== 'string') {\n return reference;\n }\n\n var fullReference = this.resolveReference(reference);\n var parentSchema = this.ascend(fullReference);\n var subSchema = this.descend(reference, parentSchema);\n\n return subSchema;\n },\n\n /**\n * @name visit\n * @type {function}\n * @description\n * Calls each registered validator with given schema and template instance.\n * Validator may or may not add code to generated validator function.\n * @param {object} pseudoSchema\n * @param {object} tpl\n * @returns {void}\n */\n visit: function visit(pseudoSchema, tpl) {\n var schema = transformSchema(pseudoSchema);\n var initialLength = this.length;\n this.push(schema);\n\n validators.some(function (validator) {\n return validator(schema, tpl);\n });\n\n this.length = initialLength;\n }\n});\n\nmodule.exports = {\n State: State,\n generate: generate\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function required(schema, tpl) {\n if (!Array.isArray(schema.required)) {\n return;\n }\n\n tpl('if (' + tpl.data + ' !== null && typeof ' + tpl.data + ' === \\'object\\' && !Array.isArray(' + tpl.data + ')) {\\n ' + schema.required.map(function (name) {\n var condition = '!' + tpl.data + '.hasOwnProperty(unescape(\"' + escape(name) + '\"))';\n var error = tpl.error('required', name);\n return 'if (' + condition + ') ' + error;\n }).join('') + '\\n }');\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar formats = __webpack_require__(3);\n\nmodule.exports = function format(schema, tpl) {\n if (typeof schema.format === 'undefined') {\n return;\n }\n\n var formatter = formats[schema.format];\n if (typeof formatter !== 'function') {\n return;\n }\n\n var data = tpl.data;\n\n var condition = formatter({ data: data, schema: schema });\n var error = tpl.error('format');\n\n tpl('if (' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar properties = __webpack_require__(5);\nvar keywords = __webpack_require__(6);\n\nvar _require = __webpack_require__(0),\n asExpression = _require.asExpression;\n\nmodule.exports = function property(schema, tpl) {\n Object.keys(schema).forEach(function (key) {\n if (keywords.indexOf(key) !== -1 || key === 'format') {\n return;\n }\n\n var condition = asExpression(properties[key], schema, tpl);\n if (!condition) {\n return;\n }\n var error = tpl.error(key);\n\n tpl('if (' + condition + ') ' + error, tpl.data, schema[key]);\n });\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar types = __webpack_require__(15);\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function type(schema, tpl) {\n if (!hasProperty(schema, 'type')) {\n return;\n }\n\n var error = tpl.error('type', schema.type);\n var condition = '(' + [].concat(schema.type).map(function (key) {\n return types[key];\n }).join(') && (') + ')';\n\n tpl('if (' + condition + ') ' + error, tpl.data);\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n null: '%s !== null',\n string: 'typeof %s !== \"string\"',\n boolean: 'typeof %s !== \"boolean\"',\n number: 'typeof %s !== \"number\" || %s !== %s',\n integer: 'typeof %s !== \"number\" || %s % 1 !== 0',\n object: '!%s || typeof %s !== \"object\" || Array.isArray(%s)',\n array: '!Array.isArray(%s)',\n date: '!(%s instanceof Date)'\n};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function $ref(schema, tpl) {\n if (!hasProperty(schema, '$ref')) {\n return false;\n }\n\n var condition = tpl.link(schema.$ref) + '(' + tpl.data + ')';\n var error = tpl.error('$ref');\n\n tpl('if (' + condition + ') ' + error);\n\n // All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n return true;\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function not(schema, tpl) {\n if (!hasProperty(schema, 'not')) {\n return;\n }\n\n var condition = tpl.link(schema.not) + '(' + tpl.data + ')';\n var error = tpl.error('not');\n\n tpl('if (!' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function anyOf(schema, tpl) {\n if (!hasProperty(schema, 'anyOf')) {\n return;\n }\n\n var error = tpl.error('anyOf');\n var condition = schema.anyOf.map(function (reference) {\n return tpl.link(reference) + '(' + tpl.data + ')';\n }).join(' && ');\n\n tpl('if (' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function oneOf(schema, tpl) {\n if (!hasProperty(schema, 'oneOf')) {\n return;\n }\n\n var fns = schema.oneOf.map(function (reference) {\n return tpl.link(reference);\n });\n var arr = tpl.cache('[' + fns + ']');\n var cachedArr = tpl.cache('[' + fns + ']');\n var index = tpl.cache(cachedArr + '.length - 1');\n var cachedIndex = tpl.cache(cachedArr + '.length - 1');\n var count = tpl.cache('0');\n var cachedCount = tpl.cache('0');\n var error = tpl.error('oneOf');\n\n tpl('for (\\n ' + arr + ', ' + index + ', ' + count + ';\\n ' + cachedIndex + ' >= 0 && ' + cachedIndex + ' < ' + cachedArr + '.length;\\n ' + cachedIndex + '--) {\\n if(!' + cachedArr + '[' + cachedIndex + '](' + tpl.data + ')) ' + cachedCount + '++;\\n }\\n if (' + cachedCount + ' !== 1) ' + error + '\\n ');\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function allOf(schema, tpl) {\n if (!hasProperty(schema, 'allOf')) {\n return;\n }\n\n var error = tpl.error('allOf');\n var condition = schema.allOf.map(function (reference) {\n return tpl.link(reference) + '(' + tpl.data + ')';\n }).join(' || ');\n\n tpl('if (' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nvar _require2 = __webpack_require__(1),\n isSchema = _require2.is;\n\n// @see http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.7\n\n\nmodule.exports = function dependencies(schema, tpl) {\n if (!hasProperty(schema, 'dependencies')) {\n return;\n }\n\n Object.keys(schema.dependencies).forEach(function (dependency) {\n var value = schema.dependencies[dependency];\n var error = tpl.error('dependencies');\n\n tpl('if (' + tpl.data + '.hasOwnProperty(unescape(\"' + escape(dependency) + '\"))) {');\n if (Array.isArray(value) || typeof value === 'string') {\n [].concat(_toConsumableArray(value)).map(function (property) {\n return 'if (!' + tpl.data + '.hasOwnProperty(unescape(\"' + escape(property) + '\"))) ' + error;\n }).map(tpl);\n } else if (isSchema(value)) {\n tpl.visit(value);\n }\n tpl('}');\n });\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function properties(schema, tpl) {\n if (!hasProperty(schema, 'properties') || _typeof(schema.properties) !== 'object') {\n return;\n }\n\n Object.keys(schema.properties).forEach(function (propertyKey) {\n var propertySchema = schema.properties[propertyKey];\n if ((typeof propertySchema === 'undefined' ? 'undefined' : _typeof(propertySchema)) === 'object' && !Object.keys(propertySchema).length) {\n return;\n }\n\n var isNotRequired = !schema.required || schema.required.indexOf(propertyKey) === -1;\n if (isNotRequired) {\n tpl('if (' + tpl.data + '.hasOwnProperty(unescape(\"' + escape(propertyKey) + '\"))) {');\n }\n\n tpl.data.push('[unescape(\\'' + escape(propertyKey) + '\\')]');\n tpl.visit(propertySchema);\n tpl.data.pop();\n\n if (isNotRequired) {\n tpl('}');\n }\n });\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function patternProperties(schema, tpl) {\n var hasAdditionalProperties = hasProperty(schema, 'additionalProperties') && schema.additionalProperties !== true;\n var hasPatternProperties = hasProperty(schema, 'patternProperties');\n\n if (!hasAdditionalProperties && !hasPatternProperties) {\n return;\n }\n\n // When the instance value is an object,\n // the property values of the instance object\n // MUST conform to the property definitions in this object.\n tpl('if(typeof ' + tpl.data + ' === \\'object\\' && !Array.isArray(' + tpl.data + ')) {');\n\n tpl(tpl.cache('null'));\n var property = tpl.cache('null');\n var visitAdditionalProperties = function visitAdditionalProperties() {\n if (schema.additionalProperties === false) {\n tpl(tpl.error('additionalProperties'));\n } else if (schema.additionalProperties) {\n tpl.data.push('[' + property + ']');\n tpl.visit(schema.additionalProperties);\n tpl.data.pop();\n }\n };\n\n tpl('for (' + property + ' in ' + tpl.data + ') {');\n if (hasAdditionalProperties && hasPatternProperties) {\n tpl(tpl.cache('false'));\n }\n\n if (hasPatternProperties) {\n Object.keys(schema.patternProperties).forEach(function (propertyKey) {\n tpl('if (' + new RegExp(propertyKey) + '.test(' + property + ')) {');\n if (hasAdditionalProperties) {\n tpl(tpl.cache('false') + ' = true;');\n }\n\n var propertySchema = schema.patternProperties[propertyKey];\n tpl.data.push('[' + property + ']');\n tpl.visit(propertySchema);\n tpl.data.pop();\n tpl('}');\n\n if (schema.properties) {\n tpl('if (' + (hasAdditionalProperties ? tpl.cache('false') + ' || ' : '') + ' ' + tpl.schema + '.properties.hasOwnProperty(' + property + ')) continue;');\n } else if (hasAdditionalProperties) {\n tpl('if (' + tpl.cache('false') + ') continue;');\n }\n\n visitAdditionalProperties();\n });\n } else {\n if (schema.properties) {\n tpl('if(' + tpl.schema + '.properties.hasOwnProperty(' + property + ')) continue;');\n }\n visitAdditionalProperties();\n }\n\n tpl('}}');\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function items(schema, tpl) {\n if (!hasProperty(schema, 'items')) {\n return;\n }\n\n var itemsLength = schema.items.length;\n var error = tpl.error('additionalItems');\n var data = tpl.data;\n\n\n tpl('if(Array.isArray(' + data + ')) {');\n if (Array.isArray(schema.items)) {\n if (schema.additionalItems === false) {\n tpl('if (' + data + '.length > ' + itemsLength + ') ' + error);\n }\n\n schema.items.forEach(function (subSchema, index) {\n tpl('if(' + data + '.length > ' + index + ') {');\n data.push('[' + index + ']');\n tpl.visit(subSchema);\n data.pop();\n tpl('}');\n });\n\n if (_typeof(schema.additionalItems) === 'object') {\n var zeroIndex = tpl.cache(itemsLength);\n var index = tpl.cache(itemsLength);\n\n tpl('for (' + zeroIndex + '; ' + index + ' < ' + data + '.length; ' + index + '++) {');\n data.push('[' + tpl.cache(itemsLength) + ']');\n tpl.visit(schema.additionalItems);\n data.pop();\n tpl('}');\n }\n } else {\n var _zeroIndex = tpl.cache('0');\n var _index = tpl.cache('0');\n\n tpl('for (' + _zeroIndex + '; ' + _index + ' < ' + data + '.length; ' + _index + '++) {');\n data.push('[' + _index + ']');\n tpl.visit(schema.items);\n data.pop();\n tpl('}');\n }\n tpl('}');\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function contains(schema, tpl) {\n if (!hasProperty(schema, 'contains')) {\n return;\n }\n\n var error = tpl.error('contains');\n var fn = '' + tpl.link(schema.contains);\n\n var data = tpl.data;\n\n var zeroIndex = tpl.cache('0');\n var index = tpl.cache('0');\n var dataAtIndex = data.toString.apply(data.concat('[' + index + ']'));\n\n tpl('if (Array.isArray(' + data + ')) {\\n if (' + data + '.length === 0) ' + error + '\\n for (' + zeroIndex + '; ' + index + ' < ' + data + '.length; ' + index + '++) {\\n if (!' + fn + '(' + dataAtIndex + ')) break;\\n if (' + index + ' === ' + data + '.length - 1) ' + error + '\\n }\\n }');\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nvar _require2 = __webpack_require__(1),\n makeSchema = _require2.make;\n\nmodule.exports = function constant(schema, tpl) {\n if (!hasProperty(schema, 'const')) {\n return;\n }\n\n var constantInstanceSchema = makeSchema(schema.const);\n tpl.visit(constantInstanceSchema);\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function propertyNames(schema, tpl) {\n if (!hasProperty(schema, 'propertyNames')) {\n return;\n }\n\n var fn = tpl.link(schema.propertyNames);\n var error = tpl.error('propertyNames');\n\n tpl('if (Object.keys(' + tpl.data + ').some(' + fn + ')) ' + error);\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module environment\n * @description\n * Update the given environment\n */\nvar properties = __webpack_require__(5);\nvar keywords = __webpack_require__(6);\nvar validators = __webpack_require__(4);\nvar formats = __webpack_require__(3);\n\nvar _require = __webpack_require__(7),\n keys = _require.keys;\n\nvar _require2 = __webpack_require__(1),\n transformation = _require2.transformation;\n\nvar environmentConfig = {};\n\nfunction add(version, config) {\n environmentConfig[version] = config;\n}\n\nfunction use(version) {\n if (!version || !environmentConfig[version]) {\n return;\n }\n\n var patchEnvironment = environmentConfig[version];\n patchEnvironment({\n properties: properties,\n keywords: keywords,\n validators: validators,\n formats: formats,\n keys: keys,\n transformation: transformation\n });\n}\n\nmodule.exports = {\n add: add,\n use: use\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_29__;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// djv.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ad067903d8e91b5935a6","/**\n * @module utils\n * @description\n * Basic utilities for djv project\n */\n\n/**\n * @name asExpression\n * @type {function}\n * @description\n * Transform function or string to expression\n * @see validators\n * @param {function|string} fn\n * @param {object} schema\n * @param {object} tpl templater instance\n * @returns {string} expression\n */\nfunction asExpression(fn, schema, tpl) {\n if (typeof fn !== 'function') {\n return fn;\n }\n\n return fn(schema, tpl);\n}\n\n/**\n * @name hasProperty\n * @type {function}\n * @description\n * Check if the property exists in a given object\n * @param {object} object\n * @param {string} property\n * @returns {boolean} exists\n */\nfunction hasProperty(object, property) {\n return (\n typeof object === 'object' &&\n Object.prototype.hasOwnProperty.call(object, property)\n );\n}\n\nmodule.exports = {\n asExpression,\n hasProperty,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/index.js","/**\n * @module schema\n * @description\n * Low-level utilities to check, create and transform schemas\n */\n\n/**\n * @name transformation\n * @type {object}\n * @description\n * Schema values transformation\n */\nconst transformation = {\n ANY_SCHEMA: {},\n NOT_ANY_SCHEMA: { not: {} },\n};\n\n/**\n * @name is\n * @type {function}\n * @description\n * Verify the object could be a schema\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {boolean} isSchema\n */\nfunction is(schema) {\n return (\n typeof schema === 'object' ||\n typeof schema === 'boolean'\n );\n}\n\n/**\n * @name transform\n * @type {function}\n * @description\n * Transform a schema pseudo presentation\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {object} schema\n */\nfunction transform(schema) {\n if (schema === true) {\n return transformation.ANY_SCHEMA;\n } else if (schema === false) {\n return transformation.NOT_ANY_SCHEMA;\n }\n return schema;\n}\n\n/**\n * @name make\n * @type {function}\n * @description\n * Generate a simple schema by a given object\n * @param {any} instance\n * @returns {object} schema\n */\nfunction make(instance) {\n if (typeof instance !== 'object' || instance === null) {\n return { enum: [instance] };\n }\n\n if (Array.isArray(instance)) {\n return {\n items: instance.map(make),\n // other items should be valid by `false` schema, aka not exist at all\n additionalItems: false\n };\n }\n\n const required = Object.keys(instance);\n return {\n properties: required.reduce((memo, key) => (\n Object.assign({}, memo, {\n [key]: make(instance[key])\n })\n ), {}),\n required,\n // other properties should be valid by `false` schema, aka not exist at all\n // additionalProperties: false,\n };\n}\n\nmodule.exports = {\n is,\n make,\n transform,\n transformation,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/schema.js","/**\n * @module template\n * @description\n * Defines a small templater functionality for creating functions body.\n */\n\n/**\n * @name template\n * @type function\n * @description\n * Provides a templater function, which adds a line of code into generated function body.\n *\n * @param {object} state - used in visit and reference method to iterate and find schemas.\n * @param {DjvConfig} options\n * @return {function} tpl\n */\nfunction template(state, options) {\n function tpl(expression, ...args) {\n let last;\n\n tpl.lines.push(\n expression\n .replace(/%i/g, () => 'i')\n .replace(/\\$(\\d)/g, (match, index) => `${args[index - 1]}`)\n .replace(/(%[sd])/g, () => {\n if (args.length) {\n last = args.shift();\n }\n\n return `${last}`;\n })\n );\n\n return tpl;\n }\n\n const error = typeof options.errorHandler === 'function' ?\n options.errorHandler :\n function defaultErrorHandler(errorType) {\n const path = this.data.toString()\n .replace(/^data/, '');\n const dataPath = path\n .replace(/\\['([^']+)'\\]/ig, '.$1')\n .replace(/\\[(i[0-9]*)\\]/ig, '[\\'+$1+\\']');\n const schemaPath = `#${\n path\n .replace(/\\[i([0-9]*)\\]/ig, '/items')\n .replace(/\\['([^']+)'\\]/ig, '/properties/$1')\n }/${errorType}`;\n\n return `return {\n keyword: '${errorType}',\n dataPath: unescape(\"${dataPath\n .replace('unescape(', '')\n .replace(')]', ']')\n .replace(')]', ']')\n .replace('[\\'', '')\n .replace('\\']', '')}\"),\n schemaPath: unescape(\"${schemaPath\n .replace('unescape(', '')\n .replace(')]', ']')\n .replace(')]', ']')\n .replace('[\\'', '')\n .replace('\\']', '')}\")\n };`;\n };\n\n Object.assign(tpl, {\n cachedIndex: 0,\n cached: [],\n cache(expression) {\n const layer = tpl.cached[tpl.cached.length - 1];\n if (layer[expression]) {\n return `i${layer[expression]}`;\n }\n\n tpl.cachedIndex += 1;\n layer[expression] = tpl.cachedIndex;\n return `(i${layer[expression]} = ${expression})`;\n },\n data: ['data'],\n error,\n lines: [],\n schema: ['schema'],\n push: tpl,\n /**\n * @name link\n * @description\n * Get schema validator by url\n * Call state link to generate or get cached function\n * @type {function}\n * @param {string} url\n * @return {string} functionName\n */\n link(url) {\n return `f${state.link(url)}`;\n },\n /**\n * @name visit\n * @description\n * Create new cache scope and visit given schema\n * @type {function}\n * @param {object} schema\n * @return {void}\n */\n visit(schema) {\n tpl.cached.push({});\n state.visit(schema, tpl);\n tpl.cached.pop();\n },\n });\n\n function dataToString() {\n return this.join('.').replace(/\\.\\[/g, '[');\n }\n tpl.data.toString = dataToString;\n tpl.schema.toString = dataToString;\n\n return tpl;\n}\n\n/**\n * @name restore\n * @type function\n * @description\n * Generate a function by given body with a schema in a closure\n *\n * @param {string} source - function inner & outer body\n * @param {object} schema - passed as argument to meta function\n * @param {DjvConfig} config\n * @return {function} tpl\n */\nfunction restore(source, schema, { inner } = {}) {\n /* eslint-disable no-new-func */\n const tpl = new Function('schema', source)(schema);\n /* eslint-enable no-new-func */\n\n if (!inner) {\n tpl.toString = function toString() {\n return source;\n };\n }\n\n return tpl;\n}\n\n/**\n * Configuration for template functions\n * @typedef {object} TemplateOptions\n * @property {string[]} context\n * @property {string[]} index\n * @property {boolean?} inner - a generating object should be considered as inner\n * @property {boolean?} defineErrors - if erros should be defined\n * @property {string[]} lines - content templates\n */\n\n/**\n * @private\n * @name makeVariables\n * @type function\n * @description\n * Generate internal variables\n *\n * @param {TemplateOptions} options\n * @return {string} variables\n */\nfunction makeVariables({ defineErrors, index }) {\n /**\n * @var {array} errors - empty array for pushing errors ability\n * @see errorHandler\n */\n const errors = defineErrors ? 'const errors = [];' : '';\n const variables = index ?\n `let i${Array(...Array(index))\n .map((value, i) => i + 1)\n .join(',i')};` :\n '';\n\n // @see map array with holes trick\n // http://2ality.com/2013/11/initializing-arrays.html\n // TODO change var to const\n return `\n ${errors}\n ${variables}\n `;\n}\n\n/**\n * @private\n * @name makeHelpers\n * @type function\n * @description\n * Generate internal helpers executed in outer function\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeHelpers({ context, inner }) {\n if (inner || !context.length) {\n return '';\n }\n\n const functions = [];\n const references = [];\n\n context\n .forEach((value, i) => {\n if (typeof value === 'number') {\n references.push(`${i + 1} = f${value + 1}`);\n return;\n }\n functions.push(`${i + 1} = ${value}`);\n });\n\n return `const f${functions.concat(references).join(', f')};`;\n}\n\n/**\n * @private\n * @name makeContent\n * @type function\n * @description\n * Generate internal function body content, including variables\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeContent(options) {\n const { defineErrors, lines } = options;\n\n const variables = makeVariables(options);\n const errors = defineErrors ? 'if(errors.length) return errors;' : '';\n const content = lines.join('\\n');\n\n return `\n \"use strict\";\n ${variables}\n ${content}\n ${errors}\n `;\n}\n\n/**\n * @name body\n * @type function\n * @description\n * Generate a function body, containing internal variables and helpers\n *\n * @param {object} tpl - template instance, containing all analyzed schema related data\n * @param {object} state - state of schema generation\n * @param {DjvConfig} config\n * @return {string} body\n */\nfunction body({ cachedIndex, lines }, { context }, { inner, errorHandler } = {}) {\n const options = {\n context,\n inner,\n defineErrors: errorHandler,\n index: cachedIndex,\n lines,\n };\n\n const helpers = makeHelpers(options);\n const content = makeContent(options);\n\n return `\n ${helpers}\n function f0(data) {\n ${content}\n }\n return f0;\n `;\n}\n\n/**\n * @name templateExpression\n * @type function\n * @description\n * Es6 template helper function\n * Transforms a validator utilities into generated functions body\n * @return {function} template\n */\nfunction templateExpression(strings, ...keys) {\n return (...values) => {\n let dict = values[values.length - 1] || {};\n let result = [strings[0]];\n keys.forEach((key, i) => {\n let value = Number.isInteger(key) ? values[key] : dict[key];\n result.push(value, strings[i + 1]);\n });\n return result.join('');\n };\n}\n\nmodule.exports = {\n body,\n restore,\n template,\n expression: templateExpression,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/template.js","/**\n * @module formats\n * @description\n * Validators as string for format keyword rules.\n * A validator is a string, which when executed returns `false` if test is failed, `true` otherwise.\n */\n\nconst { expression } = require('./template');\n\nmodule.exports = {\n alpha: expression`!/^[a-zA-Z]+$/.test(${'data'})`,\n alphanumeric: expression`!/^[a-zA-Z0-9]+$/.test(${'data'})`,\n identifier: expression`!/^[-_a-zA-Z0-9]+$/.test(${'data'})`,\n hexadecimal: expression`!/^[a-fA-F0-9]+$/.test(${'data'})`,\n numeric: expression`!/^[0-9]+$/.test(${'data'})`,\n 'date-time': expression`isNaN(Date.parse(${'data'})) || ~${'data'}.indexOf(\\'/\\')`,\n uppercase: expression`${'data'} !== ${'data'}.toUpperCase()`,\n lowercase: expression`${'data'} !== ${'data'}.toLowerCase()`,\n hostname: expression`${'data'}.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])(\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(${'data'})`,\n uri: expression`!/^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(${'data'})`,\n email: expression`!/^[^@]+@[^@]+\\\\.[^@]+$/.test(${'data'})`,\n ipv4: expression`!/^(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}\\\\.(\\\\d?\\\\d?\\\\d){0,255}$/.test(${'data'}) || ${'data'}.split(\".\")[3] > 255`,\n ipv6: expression`!/^((?=.*::)(?!.*::.+::)(::)?([\\\\dA-F]{1,4}:(:|\\\\b)|){5}|([\\\\dA-F]{1,4}:){6})((([\\\\dA-F]{1,4}((?!\\\\3)::|:\\\\b|$))|(?!\\\\2\\\\3)){2}|(((2[0-4]|1\\\\d|[1-9])?\\\\d|25[0-5])\\\\.?\\\\b){4})$/.test(${'data'})`,\n regex: expression`/[^\\\\\\\\]\\\\\\\\[^.*+?^\\${}()|[\\\\]\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(${'data'})`,\n // TODO optimize uri-reference regex... too long\n 'json-pointer': expression`!/^$|^\\\\/(?:~(?=[01])|[^~])*$/i.test(${'data'})`,\n 'uri-reference': expression`!/^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(${'data'})`,\n 'uri-template': expression`!/^(?:(?:[^\\\\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.test(${'data'})`,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/formats.js","/**\n * @module validators\n * @description\n * Contains validators functions links\n * Provides an information about the order in which validators should be applied\n * Each validator may return true, which means, others will be ignored\n * @see $ref\n */\nconst required = require('./required');\nconst format = require('./format');\nconst property = require('./property');\nconst type = require('./type');\nconst $ref = require('./$ref');\nconst not = require('./not');\nconst anyOf = require('./anyOf');\nconst oneOf = require('./oneOf');\nconst allOf = require('./allOf');\nconst dependencies = require('./dependencies');\nconst properties = require('./properties');\nconst patternProperties = require('./patternProperties');\nconst items = require('./items');\nconst contains = require('../validators/contains');\nconst constant = require('../validators/const');\nconst propertyNames = require('../validators/propertyNames');\n\nmodule.exports = {\n name: {\n $ref,\n required,\n format,\n property,\n type,\n not,\n anyOf,\n oneOf,\n allOf,\n dependencies,\n properties,\n patternProperties,\n items,\n contains,\n constant,\n propertyNames,\n },\n list: [\n $ref,\n required,\n format,\n property,\n type,\n not,\n anyOf,\n oneOf,\n allOf,\n dependencies,\n properties,\n patternProperties,\n items,\n contains,\n constant,\n propertyNames\n ]\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/index.js","/**\n * @module properties\n * @description\n * Validators as string for properties keyword rules.\n * A validator is a function, which when executed returns\n * - `false` if test is failed,\n * - `true` otherwise.\n */\nmodule.exports = {\n readOnly: 'false',\n exclusiveMinimum(schema) {\n return `%s <= ${schema.exclusiveMinimum}`;\n },\n minimum(schema) {\n return `%s < ${schema.minimum}`;\n },\n exclusiveMaximum(schema) {\n return `%s >= ${schema.exclusiveMaximum}`;\n },\n maximum(schema) {\n return `%s > ${schema.maximum}`;\n },\n multipleOf: '($1/$2) % 1 !== 0 && typeof $1 === \"number\"',\n // When the instance value is a string\n // this provides a regular expression that a string instance MUST match in order to be valid.\n pattern(schema) {\n let pattern;\n let modifiers;\n\n if (typeof schema.pattern === 'string') { pattern = schema.pattern; } else {\n pattern = schema.pattern[0];\n modifiers = schema.pattern[1];\n }\n\n const regex = new RegExp(pattern, modifiers);\n return `typeof ($1) === \"string\" && !${regex}.test($1)`;\n },\n /**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\n minLength: 'typeof $1 === \"string\" && function dltml(b,c){for(var a=0,d=b.length;a=e&&a=e&&ac}($1, $2)',\n // This attribute defines the minimum number of values\n // in an array when the array is the instance value.\n minItems: '$1.length < $2 && Array.isArray($1)',\n // This attribute defines the maximum number of values\n // in an array when the array is the instance value.\n maxItems: '$1.length > $2 && Array.isArray($1)',\n // TODO without some\n uniqueItems(schema, fn) {\n if (!schema.uniqueItems) {\n return 'true';\n }\n\n fn(fn.cache('{}'));\n return `Array.isArray($1) && $1.some(function(item, key) {\n if(item !== null && typeof item === \"object\") key = JSON.stringify(item);\n else key = item;\n if(${fn.cache('{}')}.hasOwnProperty(key)) return true;\n ${fn.cache('{}')}[key] = true;\n })`;\n },\n // ***** object validation ****\n minProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length < $2',\n // An object instance is valid against \"maxProperties\"\n // if its number of properties is less than, or equal to, the value of this keyword.\n maxProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length > $2',\n // ****** all *****\n enum(schema, fn) {\n return schema.enum.map((value) => {\n let $1 = '$1';\n let comparedValue = value;\n\n if (typeof value === 'object') {\n comparedValue = `'${JSON.stringify(value)}'`;\n $1 = fn.cache('JSON.stringify($1)');\n } else if (typeof value === 'string') {\n comparedValue = `'${escape(value)}'`;\n }\n\n return `${$1} != unescape(${comparedValue})`;\n }).join(' && ');\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/properties.js","/**\n * @module keywords\n * @description\n * A list of keywords used in specification.\n */\nmodule.exports = [\n '$ref',\n '$schema',\n 'type',\n 'not',\n 'anyOf',\n 'allOf',\n 'oneOf',\n 'properties',\n 'patternProperties',\n 'additionalProperties',\n 'items',\n 'additionalItems',\n 'required',\n 'default',\n 'title',\n 'description',\n 'definitions',\n 'dependencies',\n '$id',\n 'contains',\n 'const',\n 'examples'\n];\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/keywords.js","/**\n * @module utils\n * @description\n * Utilities to check and normalize uri\n */\nconst REGEXP_URI = /:\\/\\//;\nconst REGEXP_URI_FRAGMENT = /#\\/?/;\nconst REGEXP_URI_PATH = /(^[^:]+:\\/\\/[^?#]*\\/).*/;\n\n/**\n * @name keys\n * @type {object}\n * @description\n * Keys to apply schema attributes & values\n */\nconst keys = {\n id: '$id',\n};\n\n/**\n * @name head\n * @type {function}\n * @description\n * Clean an id from its fragment\n * @example\n * head('http://domain.domain:2020/test/a#test')\n * // returns 'http://domain.domain:2020/test/a'\n * @param {string} id\n * @returns {string} cleaned\n */\nfunction head(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n const parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[0];\n}\n\nfunction isFullUri(uri) {\n return REGEXP_URI.test(uri);\n}\n\n/**\n * @name path\n * @type {function}\n * @description\n * Gets a scheme, domain and a path part from the uri\n * @example\n * path('http://domain.domain:2020/test/a?test')\n * // returns 'http://domain.domain:2020/test/'\n * @param {string} uri\n * @returns {string} path\n */\nfunction path(uri) {\n return uri.replace(REGEXP_URI_PATH, '$1');\n}\n\n/**\n * @description\n * Get the fragment (#...) part of the uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {string} uri\n * @returns {string} fragment\n */\nfunction fragment(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n const parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[1];\n}\n\n/**\n * @name makePath\n * @type function\n * @description\n * Concat parts into single uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {array} parts\n * @returns {string} uri\n */\nfunction makePath(parts) {\n return parts\n .filter(part => typeof part === 'string')\n .reduce((uri, id) => {\n // if id is full replace uri\n if (!uri.length || isFullUri(id)) {\n return id;\n }\n if (!id) {\n return uri;\n }\n\n // if fragment found\n if (id.indexOf('#') === 0) {\n // should replace uri's sharp with id\n const sharpUriIndex = uri.indexOf('#');\n if (sharpUriIndex === -1) {\n return uri + id;\n }\n\n return uri.slice(0, sharpUriIndex) + id;\n }\n\n // get path part of uri\n // and replace the rest with id\n const partialUri = path(uri) + id;\n return partialUri + (partialUri.indexOf('#') === -1 ? '#' : '');\n }, '');\n}\n\n/**\n * @name normalize\n * @type {function}\n * @description\n * Replace json-pointer special symbols in a given uri.\n * @param {string} uri\n * @returns {string} normalizedUri\n */\nfunction normalize(uri) {\n return decodeURIComponent(uri.replace(/~1/g, '/').replace(/~0/g, '~'));\n}\n\nmodule.exports = {\n makePath,\n isFullUri,\n head,\n fragment,\n normalize,\n keys,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/uri.js","const { restore, expression } = require('./utils/template');\nconst formats = require('./utils/formats');\nconst { generate, State } = require('./utils/state');\nconst { add, use } = require('./utils/environment.js');\n\n/**\n * Configuration for template\n * @typedef {object} DjvConfig\n * @property {string?} version - defines which version of json-schema draft to use,\n * draft-04 by default\n * @property {function?} versionConfigure - handler to apply for environment version\n * @property {boolean?} inner - a generating object should be considered as inner\n * Default value is false/undefined.\n * If true, then it avoid creating variables in a generated function body,\n * however without proper wrapper function approach will not work.\n * @see template/body, template/body\n * @property {object?} formats - an object containing list of formatters to add for environment\n * @property {function?} errorHandler - a handler to use for generating custom error messages\n */\n\n/**\n * @name Environment\n * @description\n * Key constructor used for creating enivornment instance\n * @type {function} constructor\n * @param {DjvConfig} options passed to templater and utilities\n *\n * Usage\n *\n * ```javascript\n * const env = djv();\n * const env = new djv();\n * const env = new djv({ errorHandler: () => ';' });\n * ```\n */\nfunction Environment(options = {}) {\n if (!(this instanceof Environment)) { return new Environment(options); }\n\n this.options = options;\n this.resolved = {};\n this.state = new State(null, this);\n\n this.useVersion(options.version, options.versionConfigure);\n this.addFormat(options.formats);\n}\n\nObject.assign(Environment, {\n expression,\n});\n\nObject.assign(Environment.prototype, {\n /**\n * check if object correspond to schema\n *\n * Usage\n *\n * ```javascript\n * env.validate('test#/common', { type: 'common' });\n * // => undefined\n *\n * env.validate('test#/common', { type: 'custom' });\n * // => 'required: data'\n *\n * @param {string} name\n * @param {object} object\n * @returns {string} error - undefined if it is valid\n */\n validate(name, object) {\n return this.resolve(name).fn(object);\n },\n\n /**\n * add schema to djv environment\n *\n * Usage\n *\n * ```javascript\n * env.addSchema('test', jsonSchema);\n * ```\n *\n * @param {string?} name\n * @param {object} schema\n * @param {object} schema\n * @returns {resolved}\n */\n addSchema(name, schema) {\n const realSchema = typeof name === 'object' ? name : schema;\n const resolved = {\n schema: realSchema,\n fn: generate(this, realSchema, undefined, this.options),\n };\n\n [name, schema.id]\n .filter(id => typeof id === 'string')\n .forEach((id) => {\n this.resolved[id] = Object.assign({ name: id }, resolved);\n });\n\n return resolved;\n },\n\n /**\n * removes a schema or the whole structure from djv environment\n *\n * Usage\n *\n * ```javascript\n * env.removeSchema('test');\n * ```\n *\n * @param {string} name\n */\n removeSchema(name) {\n if (name) {\n delete this.resolved[name];\n } else {\n this.resolved = {};\n }\n },\n\n /**\n * resolves name by existing environment\n *\n * Usage\n *\n * ```javascript\n * env.resolve('test');\n * // => { name: 'test', schema: {} }, fn: ... }\n * ```\n *\n * @param {string} name\n * @returns {resolved}\n */\n resolve(name) {\n if (typeof name === 'object' || !this.resolved[name]) {\n return this.addSchema(\n name,\n this.state.resolve(name)\n );\n }\n\n return this.resolved[name];\n },\n\n /**\n * exports the whole structure object from environment or by resolved name\n *\n * Usage\n *\n * ```javascript\n * env.export();\n * // => { test: { name: 'test', schema: {}, ... } }\n * ```\n *\n * @param {string} name\n * @returns {serializedInternalState}\n */\n export(name) {\n let resolved;\n if (name) {\n resolved = this.resolve(name);\n resolved = {\n name,\n schema: resolved.schema,\n fn: resolved.fn.toString()\n };\n } else {\n resolved = {};\n Object.keys(this.resolved).forEach((key) => {\n resolved[key] = {\n name: key,\n schema: this.resolved[key].schema,\n fn: this.resolved[key].fn.toString()\n };\n });\n }\n\n return JSON.stringify(resolved);\n },\n\n /**\n * imports all found structure objects to internal environment structure\n * Usage\n *\n * ```javascript\n * env.import(config);\n * ```\n *\n * @param {object} config - internal structure or only resolved schema object\n */\n import(config) {\n const item = JSON.parse(config);\n let restoreData = item;\n if (item.name && item.fn && item.schema) {\n restoreData = { [item.name]: item };\n }\n\n Object.keys(restoreData).forEach((key) => {\n const { name, schema, fn: source } = restoreData[key];\n const fn = restore(source, schema, this.options);\n this.resolved[name] = { name, schema, fn };\n });\n },\n\n /**\n * @name addFormat\n * @type function\n * @description\n * Add formatter to djv environment.\n * When a string is passed it is interpreted as an expression which\n * when returns `true` goes with an error, when returns `false` then a property is valid.\n * When a function is passed it will be executed during schema compilation\n * with a current schema and template helper arguments.\n * @see utils/formats\n *\n * Usage\n *\n * ```javascript\n * env.addFormat('UpperCase', '%s !== %s.toUpperCase()');\n * // or\n * env.addFormat('isOk', function(schema, tpl){\n * return `!${schema.isOk} || %s !== %s.toUpperCase()`;\n * });\n * ```\n *\n * @param {string/object?} name\n * @param {string/function} formatter\n */\n addFormat(name, formatter) {\n if (typeof name === 'string') {\n formats[name] = formatter;\n return;\n }\n\n if (typeof name === 'object') {\n Object.assign(formats, name);\n }\n },\n\n /**\n * @name setErrorHandler\n * @type function\n * @description\n * Specify custom error handler which will be used in generated functions when problem found.\n * The function should return a string expression, which will be executed when generated\n * validator function is executed. The simpliest use case is the default one\n * @see template/defaultErrorHandler\n * ```javascript\n * function defaultErrorHandler(errorType) {\n * return `return \"${errorType}: ${tpl.data}\";`;\n * }\n * ```\n * It returns an expression 'return ...', so the output is an error string.\n * Usage\n * ```javascript\n * djv({ errorHandler: () => 'return { error: true };' }) // => returns an object\n * djv({\n * errorHandler: function customErrorHandler(errorType, property) {\n * return `errors.push({\n * type: \"${errorType}\",\n * schema: \"${this.schema[this.schema.length - 1]}\",\n * data: \"${this.data[this.data.length - 1]}\"\n * });`;\n * }\n * });\n * ```\n * When a custom error handler is used, the template body function adds a `error` variable inside\n * a generated validator, which can be used to put error information. `errorType` is always\n * passed to error handler function. Some validate utilities put extra argument, like f.e.\n * currently processed property value. Inside the handler context is a templater instance,\n * which contains `this.schema`, `this.data` paths arrays to identify validator position.\n * @see test/index/setErrorHandler for more examples\n * @param {function} errorHandler - a function called each time compiler creates an error branch\n * @returns void\n */\n setErrorHandler(errorHandler) {\n Object.assign(this.options, { errorHandler });\n },\n /**\n * @name useVersion\n * @type {function}\n * @description\n * Add a specification version for environment\n * A configure function is called with exposed environments, like keys, formats, etc.\n * Updates internals utilities and configurations to fix versions implementation conflicts\n * @param {string} version of json-schema specification to use\n * @param {function} configure\n * @returns void\n */\n useVersion(version, configure) {\n if (typeof configure !== 'function' && version === 'draft-04') {\n /* eslint-disable no-param-reassign, global-require, import/no-extraneous-dependencies */\n configure = require('@korzio/djv-draft-04');\n /* eslint-enable no-param-reassign, global-require, import/no-extraneous-dependencies */\n }\n if (typeof configure === 'function') {\n add(version, configure);\n }\n use(version);\n },\n});\n\nmodule.exports = Environment;\n\n\n\n// WEBPACK FOOTER //\n// ./lib/djv.js","/**\n * @module state\n * @description\n * State module is responsible for scope schemas resolution.\n * It also exports a main `generate` function.\n */\n\nconst { list: validators } = require('../validators');\nconst { body, restore, template } = require('./template');\nconst { hasProperty } = require('./');\nconst {\n normalize,\n makePath,\n head,\n isFullUri,\n fragment,\n keys,\n} = require('./uri');\nconst {\n is: isSchema,\n transform: transformSchema,\n} = require('./schema');\n\nfunction State(schema = {}, env) {\n Object.assign(this, {\n context: [],\n entries: new Map(),\n env,\n });\n}\n\n/**\n * @name generate\n * @type {function}\n * @description\n * The main schema process function.\n * Available and used both in external and internal generation.\n * Saves the state for internal recursive calls.\n * @param {object} env - djv environment\n * @param {object} schema - to process\n * @param {State} state - saved state\n * @param {Environment} options\n * @returns {function} restoredFunction\n */\nfunction generate(env, schema, state = new State(schema, env), options) {\n const tpl = template(state, options);\n tpl.visit(schema);\n\n const source = body(tpl, state, options);\n return restore(source, schema, options);\n}\n\nState.prototype = Object.assign(Object.create(Array.prototype), {\n /**\n * @name addEntry\n * @type {function}\n * @description\n * Generates an internal function.\n * Usually necessary for `allOf` types of validators.\n * Caches generated functions by schema object key.\n * Checks for an existing schema in a context stack to avoid double parsing and generation.\n * @param {string} url\n * @param {object} schema\n * @returns {number/boolean} index\n */\n addEntry(url, schema) {\n let entry = this.entries.get(schema);\n if (entry === false) {\n // has already been added to process queue\n // will be revealed as an entry\n return this.context.push(schema);\n }\n\n if (typeof entry === 'undefined') {\n // start to process schema\n this.entries.set(schema, false);\n entry = generate(this.env, schema, this, { inner: true });\n this.entries.set(schema, entry);\n this.revealReference(schema);\n }\n\n return this.context.push(entry);\n },\n /**\n * @name revealReference\n * @type {function}\n * @description\n * If a schema was added during the add entry phase\n * Then it should be revealed in this step\n * @param {object} schema\n * @returns {void}\n */\n revealReference(schema) {\n for (\n let doubled = this.context.indexOf(schema);\n doubled !== -1;\n doubled = this.context.indexOf(schema)\n ) {\n this.context[doubled] = this.context.length;\n }\n },\n /**\n * @name link\n * @type {function}\n * @description\n * Returns an entry's index in a context stack.\n * @param {string} url\n * @returns {string} entry\n */\n link(url) {\n const schema = this.resolve(url);\n const entry = this.addEntry(url, schema);\n return entry;\n },\n /**\n * @name resolveReference\n * @type {function}\n * @description\n * Resolve reference against the stack.\n * @param {string} reference\n * @returns {string} resolvedReference\n */\n resolveReference(reference) {\n if (isFullUri(reference)) {\n return reference;\n }\n\n // find last full URI schema\n let lastFullURIReference;\n let lastFullURISchemaIndex;\n\n for (let i = this.length - 1; i >= 0; i -= 1, lastFullURIReference = false) {\n const { [keys.id]: id, $ref } = this[i];\n lastFullURIReference = id || $ref;\n if (isFullUri(lastFullURIReference)) {\n lastFullURISchemaIndex = i;\n break;\n }\n }\n\n // collect all partial routes for it\n const partialReferences = [];\n for (let i = this.length - 1; i > lastFullURISchemaIndex; i -= 1) {\n const { [keys.id]: id, $ref } = this[i];\n const partialReference = id || $ref;\n if (head(partialReference)) {\n partialReferences.push(partialReference);\n }\n }\n\n // attach reference and make path\n const path = makePath([lastFullURIReference, ...partialReferences, reference]);\n return path;\n },\n /**\n * @name ascend\n * @private\n * @type {function}\n * @description\n * Search for a parent schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} parentSchema\n */\n ascend(reference) {\n const path = head(reference);\n let { schema: parentSchema = this[0] } = this.env.resolved[path] || {};\n\n // Search while it is a full schema, not a ref\n while (\n parentSchema.$ref &&\n // avoid infinite loop\n head(parentSchema.$ref) !== head(reference) &&\n // > All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n Object.keys(parentSchema).length === 1\n ) {\n parentSchema = this.ascend(parentSchema.$ref);\n }\n\n return parentSchema;\n },\n /**\n * @name descend\n * @private\n * @type {function}\n * @description\n * Search for a child schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} currentSchema\n */\n descend(reference, parentSchema) {\n let uriFragment = fragment(reference);\n if (!uriFragment && isFullUri(reference)) {\n return parentSchema;\n }\n\n if (!uriFragment) {\n uriFragment = reference;\n }\n\n const parts = uriFragment.split('/');\n const currentSchema = parts\n .map(normalize)\n .reduce((schema, part, index) => {\n let subSchema = schema[part];\n if (!isSchema(subSchema)) {\n subSchema = schema.definitions && schema.definitions[part];\n }\n\n if (\n // last will be pushed on visit\n // @see /draft4/refRemote.json:http://localhost:1234/scope_change_defs2.json\n index !== parts.length - 1 &&\n hasProperty(subSchema, keys.id)\n ) {\n this.push(subSchema);\n }\n\n return subSchema;\n }, parentSchema);\n\n return isSchema(currentSchema) ? currentSchema : parentSchema;\n },\n /**\n * @name resolve\n * @type {function}\n * @description\n * Resolves schema by given reference and current registered context stack.\n * @param {string} url\n * @returns {object} schema\n */\n resolve(reference) {\n if (typeof reference !== 'string') {\n return reference;\n }\n\n const fullReference = this.resolveReference(reference);\n const parentSchema = this.ascend(fullReference);\n const subSchema = this.descend(reference, parentSchema);\n\n return subSchema;\n },\n /**\n * @name visit\n * @type {function}\n * @description\n * Calls each registered validator with given schema and template instance.\n * Validator may or may not add code to generated validator function.\n * @param {object} pseudoSchema\n * @param {object} tpl\n * @returns {void}\n */\n visit(pseudoSchema, tpl) {\n const schema = transformSchema(pseudoSchema);\n const initialLength = this.length;\n this.push(schema);\n\n validators.some(validator => (\n validator(schema, tpl)\n ));\n\n this.length = initialLength;\n },\n});\n\nmodule.exports = {\n State,\n generate,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/state.js","module.exports = function required(schema, tpl) {\n if (!Array.isArray(schema.required)) {\n return;\n }\n\n tpl(`if (${tpl.data} !== null && typeof ${tpl.data} === 'object' && !Array.isArray(${tpl.data})) {\n ${schema.required.map((name) => {\n const condition = `!${tpl.data}.hasOwnProperty(unescape(\"${escape(name)}\"))`;\n const error = tpl.error('required', name);\n return `if (${condition}) ${error}`;\n }).join('')}\n }`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/required.js","const formats = require('../utils/formats');\n\nmodule.exports = function format(schema, tpl) {\n if (typeof schema.format === 'undefined') {\n return;\n }\n\n const formatter = formats[schema.format];\n if (typeof formatter !== 'function') {\n return;\n }\n\n const { data } = tpl;\n const condition = formatter({ data, schema });\n const error = tpl.error('format');\n\n tpl(`if (${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/format.js","const properties = require('../utils/properties');\nconst keywords = require('../utils/keywords');\nconst { asExpression } = require('../utils');\n\nmodule.exports = function property(schema, tpl) {\n Object.keys(schema)\n .forEach((key) => {\n if (keywords.indexOf(key) !== -1 || key === 'format') {\n return;\n }\n\n const condition = asExpression(properties[key], schema, tpl);\n if (!condition) {\n return;\n }\n const error = tpl.error(key);\n\n tpl(`if (${condition}) ${error}`, tpl.data, schema[key]);\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/property.js","const types = require('../utils/types');\nconst { hasProperty } = require('../utils');\n\nmodule.exports = function type(schema, tpl) {\n if (!hasProperty(schema, 'type')) {\n return;\n }\n\n const error = tpl.error('type', schema.type);\n const condition = `(${[].concat(schema.type).map(key => types[key]).join(') && (')})`;\n\n tpl(`if (${condition}) ${error}`, tpl.data);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/type.js","module.exports = {\n null: '%s !== null',\n string: 'typeof %s !== \"string\"',\n boolean: 'typeof %s !== \"boolean\"',\n number: 'typeof %s !== \"number\" || %s !== %s',\n integer: 'typeof %s !== \"number\" || %s % 1 !== 0',\n object: '!%s || typeof %s !== \"object\" || Array.isArray(%s)',\n array: '!Array.isArray(%s)',\n date: '!(%s instanceof Date)'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/types.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function $ref(schema, tpl) {\n if (!hasProperty(schema, '$ref')) {\n return false;\n }\n\n const condition = `${tpl.link(schema.$ref)}(${tpl.data})`;\n const error = tpl.error('$ref');\n\n tpl(`if (${condition}) ${error}`);\n\n // All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n return true;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/$ref.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function not(schema, tpl) {\n if (!hasProperty(schema, 'not')) {\n return;\n }\n\n const condition = `${tpl.link(schema.not)}(${tpl.data})`;\n const error = tpl.error('not');\n\n tpl(`if (!${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/not.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function anyOf(schema, tpl) {\n if (!hasProperty(schema, 'anyOf')) {\n return;\n }\n\n const error = tpl.error('anyOf');\n const condition = schema.anyOf\n .map(reference => `${tpl.link(reference)}(${tpl.data})`)\n .join(' && ');\n\n tpl(`if (${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/anyOf.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function oneOf(schema, tpl) {\n if (!hasProperty(schema, 'oneOf')) {\n return;\n }\n\n const fns = schema.oneOf.map(reference => tpl.link(reference));\n const arr = tpl.cache(`[${fns}]`);\n const cachedArr = tpl.cache(`[${fns}]`);\n const index = tpl.cache(`${cachedArr}.length - 1`);\n const cachedIndex = tpl.cache(`${cachedArr}.length - 1`);\n const count = tpl.cache('0');\n const cachedCount = tpl.cache('0');\n const error = tpl.error('oneOf');\n\n tpl(`for (\n ${arr}, ${index}, ${count};\n ${cachedIndex} >= 0 && ${cachedIndex} < ${cachedArr}.length;\n ${cachedIndex}--) {\n if(!${cachedArr}[${cachedIndex}](${tpl.data})) ${cachedCount}++;\n }\n if (${cachedCount} !== 1) ${error}\n `);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/oneOf.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function allOf(schema, tpl) {\n if (!hasProperty(schema, 'allOf')) {\n return;\n }\n\n const error = tpl.error('allOf');\n const condition = schema.allOf\n .map(reference => `${tpl.link(reference)}(${tpl.data})`)\n .join(' || ');\n\n tpl(`if (${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/allOf.js","const { hasProperty } = require('../utils');\nconst { is: isSchema } = require('../utils/schema');\n\n// @see http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.7\nmodule.exports = function dependencies(schema, tpl) {\n if (!hasProperty(schema, 'dependencies')) {\n return;\n }\n\n Object.keys(schema.dependencies)\n .forEach((dependency) => {\n const value = schema.dependencies[dependency];\n const error = tpl.error('dependencies');\n\n tpl(`if (${tpl.data}.hasOwnProperty(unescape(\"${escape(dependency)}\"))) {`);\n if (Array.isArray(value) || typeof value === 'string') {\n [...value]\n .map(property => `if (!${tpl.data}.hasOwnProperty(unescape(\"${escape(property)}\"))) ${error}`)\n .map(tpl);\n } else if (isSchema(value)) {\n tpl.visit(value);\n }\n tpl('}');\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/dependencies.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function properties(schema, tpl) {\n if (!hasProperty(schema, 'properties') || typeof schema.properties !== 'object') {\n return;\n }\n\n Object.keys(schema.properties)\n .forEach((propertyKey) => {\n const propertySchema = schema.properties[propertyKey];\n if (typeof propertySchema === 'object' && !Object.keys(propertySchema).length) {\n return;\n }\n\n const isNotRequired = !schema.required || schema.required.indexOf(propertyKey) === -1;\n if (isNotRequired) {\n tpl(`if (${tpl.data}.hasOwnProperty(unescape(\"${escape(propertyKey)}\"))) {`);\n }\n\n tpl.data.push(`[unescape('${escape(propertyKey)}')]`);\n tpl.visit(propertySchema);\n tpl.data.pop();\n\n if (isNotRequired) {\n tpl('}');\n }\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/properties.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function patternProperties(schema, tpl) {\n const hasAdditionalProperties = hasProperty(schema, 'additionalProperties') && schema.additionalProperties !== true;\n const hasPatternProperties = hasProperty(schema, 'patternProperties');\n\n if (!hasAdditionalProperties && !hasPatternProperties) {\n return;\n }\n\n // When the instance value is an object,\n // the property values of the instance object\n // MUST conform to the property definitions in this object.\n tpl(`if(typeof ${tpl.data} === 'object' && !Array.isArray(${tpl.data})) {`);\n\n tpl(tpl.cache('null'));\n const property = tpl.cache('null');\n const visitAdditionalProperties = () => {\n if (schema.additionalProperties === false) {\n tpl(tpl.error('additionalProperties'));\n } else if (schema.additionalProperties) {\n tpl.data.push(`[${property}]`);\n tpl.visit(schema.additionalProperties);\n tpl.data.pop();\n }\n };\n\n tpl(`for (${property} in ${tpl.data}) {`);\n if (hasAdditionalProperties && hasPatternProperties) {\n tpl(tpl.cache('false'));\n }\n\n if (hasPatternProperties) {\n Object.keys(schema.patternProperties)\n .forEach((propertyKey) => {\n tpl(`if (${new RegExp(propertyKey)}.test(${property})) {`);\n if (hasAdditionalProperties) {\n tpl(`${tpl.cache('false')} = true;`);\n }\n\n const propertySchema = schema.patternProperties[propertyKey];\n tpl.data.push(`[${property}]`);\n tpl.visit(propertySchema);\n tpl.data.pop();\n tpl('}');\n\n if (schema.properties) {\n tpl(`if (${hasAdditionalProperties ? `${tpl.cache('false')} || ` : ''} ${tpl.schema}.properties.hasOwnProperty(${property})) continue;`);\n } else if (hasAdditionalProperties) {\n tpl(`if (${tpl.cache('false')}) continue;`);\n }\n\n visitAdditionalProperties();\n });\n } else {\n if (schema.properties) {\n tpl(`if(${tpl.schema}.properties.hasOwnProperty(${property})) continue;`);\n }\n visitAdditionalProperties();\n }\n\n tpl('}}');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/patternProperties.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function items(schema, tpl) {\n if (!hasProperty(schema, 'items')) {\n return;\n }\n\n const itemsLength = schema.items.length;\n const error = tpl.error('additionalItems');\n const { data } = tpl;\n\n tpl(`if(Array.isArray(${data})) {`);\n if (Array.isArray(schema.items)) {\n if (schema.additionalItems === false) {\n tpl(`if (${data}.length > ${itemsLength}) ${error}`);\n }\n\n schema.items.forEach((subSchema, index) => {\n tpl(`if(${data}.length > ${index}) {`);\n data.push(`[${index}]`);\n tpl.visit(subSchema);\n data.pop();\n tpl('}');\n });\n\n if (typeof schema.additionalItems === 'object') {\n const zeroIndex = tpl.cache(itemsLength);\n const index = tpl.cache(itemsLength);\n\n tpl(`for (${zeroIndex}; ${index} < ${data}.length; ${index}++) {`);\n data.push(`[${tpl.cache(itemsLength)}]`);\n tpl.visit(schema.additionalItems);\n data.pop();\n tpl('}');\n }\n } else {\n const zeroIndex = tpl.cache('0');\n const index = tpl.cache('0');\n\n tpl(`for (${zeroIndex}; ${index} < ${data}.length; ${index}++) {`);\n data.push(`[${index}]`);\n tpl.visit(schema.items);\n data.pop();\n tpl('}');\n }\n tpl('}');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/items.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function contains(schema, tpl) {\n if (!hasProperty(schema, 'contains')) {\n return;\n }\n\n const error = tpl.error('contains');\n const fn = `${tpl.link(schema.contains)}`;\n\n const { data } = tpl;\n const zeroIndex = tpl.cache('0');\n const index = tpl.cache('0');\n const dataAtIndex = data.toString.apply(data.concat(`[${index}]`));\n\n tpl(`if (Array.isArray(${data})) {\n if (${data}.length === 0) ${error}\n for (${zeroIndex}; ${index} < ${data}.length; ${index}++) {\n if (!${fn}(${dataAtIndex})) break;\n if (${index} === ${data}.length - 1) ${error}\n }\n }`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/contains.js","const { hasProperty } = require('../utils');\nconst { make: makeSchema } = require('../utils/schema');\n\nmodule.exports = function constant(schema, tpl) {\n if (!hasProperty(schema, 'const')) {\n return;\n }\n\n const constantInstanceSchema = makeSchema(schema.const);\n tpl.visit(constantInstanceSchema);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/const.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function propertyNames(schema, tpl) {\n if (!hasProperty(schema, 'propertyNames')) {\n return;\n }\n\n const fn = tpl.link(schema.propertyNames);\n const error = tpl.error('propertyNames');\n\n tpl(`if (Object.keys(${tpl.data}).some(${fn})) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/propertyNames.js","/**\n * @module environment\n * @description\n * Update the given environment\n */\nconst properties = require('./properties');\nconst keywords = require('./keywords');\nconst validators = require('../validators');\nconst formats = require('./formats');\nconst { keys } = require('./uri');\nconst { transformation } = require('./schema');\n\nconst environmentConfig = {};\n\nfunction add(version, config) {\n environmentConfig[version] = config;\n}\n\nfunction use(version) {\n if (!version || !environmentConfig[version]) {\n return;\n }\n\n const patchEnvironment = environmentConfig[version];\n patchEnvironment({\n properties,\n keywords,\n validators,\n formats,\n keys,\n transformation,\n });\n}\n\nmodule.exports = {\n add,\n use,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/environment.js","module.exports = __WEBPACK_EXTERNAL_MODULE_29__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@korzio/djv-draft-04\"\n// module id = 29\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///djv.js","webpack:///webpack/bootstrap 03c03af315f555a2cb4d","webpack:///./lib/utils/index.js","webpack:///./lib/utils/schema.js","webpack:///./lib/utils/template.js","webpack:///./lib/utils/formats.js","webpack:///./lib/validators/index.js","webpack:///./lib/utils/properties.js","webpack:///./lib/utils/keywords.js","webpack:///./lib/utils/uri.js","webpack:///./lib/djv.js","webpack:///./lib/utils/state.js","webpack:///./lib/validators/required.js","webpack:///./lib/validators/format.js","webpack:///./lib/validators/property.js","webpack:///./lib/validators/type.js","webpack:///./lib/utils/types.js","webpack:///./lib/validators/$ref.js","webpack:///./lib/validators/not.js","webpack:///./lib/validators/anyOf.js","webpack:///./lib/validators/oneOf.js","webpack:///./lib/validators/allOf.js","webpack:///./lib/validators/dependencies.js","webpack:///./lib/validators/properties.js","webpack:///./lib/validators/patternProperties.js","webpack:///./lib/validators/items.js","webpack:///./lib/validators/contains.js","webpack:///./lib/validators/const.js","webpack:///./lib/validators/propertyNames.js","webpack:///./lib/utils/environment.js","webpack:///external \"@korzio/djv-draft-04\""],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE_29__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","asExpression","fn","schema","tpl","hasProperty","_typeof","Symbol","iterator","obj","constructor","_defineProperty","key","value","writable","is","transform","transformation","ANY_SCHEMA","NOT_ANY_SCHEMA","make","instance","enum","Array","isArray","items","map","additionalItems","required","keys","properties","reduce","memo","assign","not","_toConsumableArray","arr","arr2","length","from","template","state","options","expression","_len","arguments","args","_key","last","lines","push","replace","match","index","shift","clearDecode","tplString","dataToString","join","error","errorHandler","errorType","path","data","toString","dataPath","schemaPath","cachedIndex","cached","cache","layer","link","url","visit","pop","restore","source","_ref","undefined","inner","Function","makeVariables","_ref2","defineErrors","makeHelpers","_ref3","context","functions","references","forEach","concat","makeContent","variables","errors","body","_ref4","_ref5","_ref6","templateExpression","strings","_len2","_key2","_len3","values","_key3","dict","result","Number","isInteger","_taggedTemplateLiteral","raw","freeze","defineProperties","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_require","alpha","alphanumeric","identifier","hexadecimal","numeric","date-time","uppercase","lowercase","hostname","uri","email","ipv4","ipv6","regex","json-pointer","uri-reference","uri-template","format","type","$ref","anyOf","oneOf","allOf","dependencies","patternProperties","contains","constant","propertyNames","list","readOnly","exclusiveMinimum","minimum","exclusiveMaximum","maximum","multipleOf","pattern","modifiers","RegExp","minLength","maxLength","minItems","maxItems","uniqueItems","minProperties","maxProperties","$1","comparedValue","JSON","stringify","encodeURIComponent","head","split","REGEXP_URI_FRAGMENT","isFullUri","REGEXP_URI","test","REGEXP_URI_PATH","fragment","makePath","parts","filter","part","id","indexOf","sharpUriIndex","slice","partialUri","normalize","decodeURIComponent","Environment","resolved","State","useVersion","version","versionConfigure","addFormat","formats","_require2","generate","_require3","add","use","validate","resolve","addSchema","_this","realSchema","removeSchema","export","_this2","import","config","_this3","item","parse","restoreData","_restoreData$key","formatter","setErrorHandler","configure","env","entries","Map","validators","_require4","_require5","isSchema","transformSchema","create","addEntry","entry","set","revealReference","doubled","resolveReference","reference","lastFullURIReference","lastFullURISchemaIndex","_i","partialReferences","_i3","partialReference","ascend","_ref$schema","parentSchema","descend","uriFragment","currentSchema","subSchema","definitions","fullReference","pseudoSchema","initialLength","some","validator","keywords","condition","types","null","string","boolean","number","integer","array","date","fns","cachedArr","count","cachedCount","dependency","propertyKey","propertySchema","isNotRequired","hasAdditionalProperties","additionalProperties","hasPatternProperties","visitAdditionalProperties","itemsLength","zeroIndex","apply","makeSchema","constantInstanceSchema","const","environmentConfig","patchEnvironment"],"mappings":"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","file":"djv.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@korzio/djv-draft-04\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@korzio/djv-draft-04\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"djv\"] = factory(require(\"@korzio/djv-draft-04\"));\n\telse\n\t\troot[\"djv\"] = factory(root[\"@korzio/djv-draft-04\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_29__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@korzio/djv-draft-04\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@korzio/djv-draft-04\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"djv\"] = factory(require(\"@korzio/djv-draft-04\"));\n\telse\n\t\troot[\"djv\"] = factory(root[\"@korzio/djv-draft-04\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_29__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 8);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\n/**\n * @module utils\n * @description\n * Basic utilities for djv project\n */\n\n/**\n * @name asExpression\n * @type {function}\n * @description\n * Transform function or string to expression\n * @see validators\n * @param {function|string} fn\n * @param {object} schema\n * @param {object} tpl templater instance\n * @returns {string} expression\n */\nfunction asExpression(fn, schema, tpl) {\n if (typeof fn !== 'function') {\n return fn;\n }\n\n return fn(schema, tpl);\n}\n\n/**\n * @name hasProperty\n * @type {function}\n * @description\n * Check if the property exists in a given object\n * @param {object} object\n * @param {string} property\n * @returns {boolean} exists\n */\nfunction hasProperty(object, property) {\n return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && Object.prototype.hasOwnProperty.call(object, property);\n}\n\nmodule.exports = {\n asExpression: asExpression,\n hasProperty: hasProperty\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * @module schema\n * @description\n * Low-level utilities to check, create and transform schemas\n */\n\n/**\n * @name transformation\n * @type {object}\n * @description\n * Schema values transformation\n */\nvar transformation = {\n ANY_SCHEMA: {},\n NOT_ANY_SCHEMA: { not: {} }\n};\n\n/**\n * @name is\n * @type {function}\n * @description\n * Verify the object could be a schema\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {boolean} isSchema\n */\nfunction is(schema) {\n return (typeof schema === 'undefined' ? 'undefined' : _typeof(schema)) === 'object' || typeof schema === 'boolean';\n}\n\n/**\n * @name transform\n * @type {function}\n * @description\n * Transform a schema pseudo presentation\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {object} schema\n */\nfunction transform(schema) {\n if (schema === true) {\n return transformation.ANY_SCHEMA;\n } else if (schema === false) {\n return transformation.NOT_ANY_SCHEMA;\n }\n return schema;\n}\n\n/**\n * @name make\n * @type {function}\n * @description\n * Generate a simple schema by a given object\n * @param {any} instance\n * @returns {object} schema\n */\nfunction make(instance) {\n if ((typeof instance === 'undefined' ? 'undefined' : _typeof(instance)) !== 'object' || instance === null) {\n return { enum: [instance] };\n }\n\n if (Array.isArray(instance)) {\n return {\n items: instance.map(make),\n // other items should be valid by `false` schema, aka not exist at all\n additionalItems: false\n };\n }\n\n var required = Object.keys(instance);\n return {\n properties: required.reduce(function (memo, key) {\n return Object.assign({}, memo, _defineProperty({}, key, make(instance[key])));\n }, {}),\n required: required\n // other properties should be valid by `false` schema, aka not exist at all\n // additionalProperties: false,\n };\n}\n\nmodule.exports = {\n is: is,\n make: make,\n transform: transform,\n transformation: transformation\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @module template\n * @description\n * Defines a small templater functionality for creating functions body.\n */\n\n/**\n * @name template\n * @type function\n * @description\n * Provides a templater function, which adds a line of code into generated function body.\n *\n * @param {object} state - used in visit and reference method to iterate and find schemas.\n * @param {DjvConfig} options\n * @return {function} tpl\n */\nfunction template(state, options) {\n function tpl(expression) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var last = void 0;\n\n tpl.lines.push(expression.replace(/%i/g, function () {\n return 'i';\n }).replace(/\\$(\\d)/g, function (match, index) {\n return '' + args[index - 1];\n }).replace(/(%[sd])/g, function () {\n if (args.length) {\n last = args.shift();\n }\n\n return '' + last;\n }));\n\n return tpl;\n }\n\n function clearDecode(tplString) {\n return tplString.replace('[', '').replace(']', '').replace('(', '').replace(')', '').replace('decodeURIComponent', '');\n }\n\n var error = typeof options.errorHandler === 'function' ? options.errorHandler : function defaultErrorHandler(errorType) {\n var path = this.data.toString().replace(/^data/, '');\n var dataPath = path.replace(/\\['([^']+)'\\]/ig, '.$1').replace(/\\[(i[0-9]*)\\]/ig, '[\\'+$1+\\']');\n var schemaPath = '#' + path.replace(/\\[i([0-9]*)\\]/ig, '/items').replace(/\\['([^']+)'\\]/ig, '/properties/$1') + '/' + errorType;\n\n return 'return {\\n keyword: \\'' + errorType + '\\',\\n dataPath: decodeURIComponent(\"' + clearDecode(dataPath) + '\"),\\n schemaPath: decodeURIComponent(\"' + clearDecode(schemaPath) + '\")\\n };';\n };\n\n Object.assign(tpl, {\n cachedIndex: 0,\n cached: [],\n cache: function cache(expression) {\n var layer = tpl.cached[tpl.cached.length - 1];\n if (layer[expression]) {\n return 'i' + layer[expression];\n }\n\n tpl.cachedIndex += 1;\n layer[expression] = tpl.cachedIndex;\n return '(i' + layer[expression] + ' = ' + expression + ')';\n },\n\n data: ['data'],\n error: error,\n lines: [],\n schema: ['schema'],\n push: tpl,\n /**\n * @name link\n * @description\n * Get schema validator by url\n * Call state link to generate or get cached function\n * @type {function}\n * @param {string} url\n * @return {string} functionName\n */\n link: function link(url) {\n return 'f' + state.link(url);\n },\n\n /**\n * @name visit\n * @description\n * Create new cache scope and visit given schema\n * @type {function}\n * @param {object} schema\n * @return {void}\n */\n visit: function visit(schema) {\n tpl.cached.push({});\n state.visit(schema, tpl);\n tpl.cached.pop();\n }\n });\n\n function dataToString() {\n return this.join('.').replace(/\\.\\[/g, '[');\n }\n tpl.data.toString = dataToString;\n tpl.schema.toString = dataToString;\n\n return tpl;\n}\n\n/**\n * @name restore\n * @type function\n * @description\n * Generate a function by given body with a schema in a closure\n *\n * @param {string} source - function inner & outer body\n * @param {object} schema - passed as argument to meta function\n * @param {DjvConfig} config\n * @return {function} tpl\n */\nfunction restore(source, schema) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n inner = _ref.inner;\n\n /* eslint-disable no-new-func */\n var tpl = new Function('schema', source)(schema);\n /* eslint-enable no-new-func */\n\n if (!inner) {\n tpl.toString = function toString() {\n return source;\n };\n }\n\n return tpl;\n}\n\n/**\n * Configuration for template functions\n * @typedef {object} TemplateOptions\n * @property {string[]} context\n * @property {string[]} index\n * @property {boolean?} inner - a generating object should be considered as inner\n * @property {boolean?} defineErrors - if erros should be defined\n * @property {string[]} lines - content templates\n */\n\n/**\n * @private\n * @name makeVariables\n * @type function\n * @description\n * Generate internal variables\n *\n * @param {TemplateOptions} options\n * @return {string} variables\n */\nfunction makeVariables(_ref2) {\n var defineErrors = _ref2.defineErrors,\n index = _ref2.index;\n\n /**\n * @var {array} errors - empty array for pushing errors ability\n * @see errorHandler\n */\n var errors = defineErrors ? 'const errors = [];' : '';\n var variables = index ? 'let i' + Array.apply(undefined, _toConsumableArray(Array(index))).map(function (value, i) {\n return i + 1;\n }).join(',i') + ';' : '';\n\n // @see map array with holes trick\n // http://2ality.com/2013/11/initializing-arrays.html\n // TODO change var to const\n return '\\n ' + errors + '\\n ' + variables + '\\n ';\n}\n\n/**\n * @private\n * @name makeHelpers\n * @type function\n * @description\n * Generate internal helpers executed in outer function\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeHelpers(_ref3) {\n var context = _ref3.context,\n inner = _ref3.inner;\n\n if (inner || !context.length) {\n return '';\n }\n\n var functions = [];\n var references = [];\n\n context.forEach(function (value, i) {\n if (typeof value === 'number') {\n references.push(i + 1 + ' = f' + (value + 1));\n return;\n }\n functions.push(i + 1 + ' = ' + value);\n });\n\n return 'const f' + functions.concat(references).join(', f') + ';';\n}\n\n/**\n * @private\n * @name makeContent\n * @type function\n * @description\n * Generate internal function body content, including variables\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeContent(options) {\n var defineErrors = options.defineErrors,\n lines = options.lines;\n\n\n var variables = makeVariables(options);\n var errors = defineErrors ? 'if(errors.length) return errors;' : '';\n var content = lines.join('\\n');\n\n return '\\n \"use strict\";\\n ' + variables + '\\n ' + content + '\\n ' + errors + '\\n ';\n}\n\n/**\n * @name body\n * @type function\n * @description\n * Generate a function body, containing internal variables and helpers\n *\n * @param {object} tpl - template instance, containing all analyzed schema related data\n * @param {object} state - state of schema generation\n * @param {DjvConfig} config\n * @return {string} body\n */\nfunction body(_ref4, _ref5) {\n var cachedIndex = _ref4.cachedIndex,\n lines = _ref4.lines;\n var context = _ref5.context;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n inner = _ref6.inner,\n errorHandler = _ref6.errorHandler;\n\n var options = {\n context: context,\n inner: inner,\n defineErrors: errorHandler,\n index: cachedIndex,\n lines: lines\n };\n\n var helpers = makeHelpers(options);\n var content = makeContent(options);\n\n return '\\n ' + helpers + '\\n function f0(data) {\\n ' + content + '\\n }\\n return f0;\\n ';\n}\n\n/**\n * @name templateExpression\n * @type function\n * @description\n * Es6 template helper function\n * Transforms a validator utilities into generated functions body\n * @return {function} template\n */\nfunction templateExpression(strings) {\n for (var _len2 = arguments.length, keys = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n keys[_key2 - 1] = arguments[_key2];\n }\n\n return function () {\n for (var _len3 = arguments.length, values = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n var dict = values[values.length - 1] || {};\n var result = [strings[0]];\n keys.forEach(function (key, i) {\n var value = Number.isInteger(key) ? values[key] : dict[key];\n result.push(value, strings[i + 1]);\n });\n return result.join('');\n };\n}\n\nmodule.exports = {\n body: body,\n restore: restore,\n template: template,\n expression: templateExpression\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _templateObject = _taggedTemplateLiteral(['!/^[a-zA-Z]+$/.test(', ')'], ['!/^[a-zA-Z]+$/.test(', ')']),\n _templateObject2 = _taggedTemplateLiteral(['!/^[a-zA-Z0-9]+$/.test(', ')'], ['!/^[a-zA-Z0-9]+$/.test(', ')']),\n _templateObject3 = _taggedTemplateLiteral(['!/^[-_a-zA-Z0-9]+$/.test(', ')'], ['!/^[-_a-zA-Z0-9]+$/.test(', ')']),\n _templateObject4 = _taggedTemplateLiteral(['!/^[a-fA-F0-9]+$/.test(', ')'], ['!/^[a-fA-F0-9]+$/.test(', ')']),\n _templateObject5 = _taggedTemplateLiteral(['!/^[0-9]+$/.test(', ')'], ['!/^[0-9]+$/.test(', ')']),\n _templateObject6 = _taggedTemplateLiteral(['isNaN(Date.parse(', ')) || ~', '.indexOf(\\'/\\')'], ['isNaN(Date.parse(', ')) || ~', '.indexOf(\\\\\\'/\\\\\\')']),\n _templateObject7 = _taggedTemplateLiteral(['', ' !== ', '.toUpperCase()'], ['', ' !== ', '.toUpperCase()']),\n _templateObject8 = _taggedTemplateLiteral(['', ' !== ', '.toLowerCase()'], ['', ' !== ', '.toLowerCase()']),\n _templateObject9 = _taggedTemplateLiteral(['', '.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])(\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(', ')'], ['', '.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\\\\\-]{0,61}[a-zA-Z0-9])(\\\\\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(', ')']),\n _templateObject10 = _taggedTemplateLiteral(['!/^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(', ')'], ['!/^[A-Za-z][A-Za-z0-9+\\\\\\\\-.]*:(?:\\\\\\\\/\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\\\\\.[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]+)\\\\\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\\\\\?(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\\\\\#(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(', ')']),\n _templateObject11 = _taggedTemplateLiteral(['!/^[^@]+@[^@]+\\\\.[^@]+$/.test(', ')'], ['!/^[^@]+@[^@]+\\\\\\\\.[^@]+$/.test(', ')']),\n _templateObject12 = _taggedTemplateLiteral(['!/^(\\\\d){1,3}\\\\.(\\\\d){1,3}\\\\.(\\\\d){1,3}\\\\.(\\\\d){1,3}$/.test(', ') || ', '.split(\".\").some(d => d > 255)'], ['!/^(\\\\\\\\d){1,3}\\\\\\\\.(\\\\\\\\d){1,3}\\\\\\\\.(\\\\\\\\d){1,3}\\\\\\\\.(\\\\\\\\d){1,3}$/.test(', ') || ', '.split(\".\").some(d => d > 255)']),\n _templateObject13 = _taggedTemplateLiteral(['!/^((?=.*::)(?!.*::.+::)(::)?([\\\\dA-F]{1,4}:(:|\\\\b)|){5}|([\\\\dA-F]{1,4}:){6})((([\\\\dA-F]{1,4}((?!\\\\3)::|:\\\\b|$))|(?!\\\\2\\\\3)){2}|(((2[0-4]|1\\\\d|[1-9])?\\\\d|25[0-5])\\\\.?\\\\b){4})$/.test(', ')'], ['!/^((?=.*::)(?!.*::.+::)(::)?([\\\\\\\\dA-F]{1,4}:(:|\\\\\\\\b)|){5}|([\\\\\\\\dA-F]{1,4}:){6})((([\\\\\\\\dA-F]{1,4}((?!\\\\\\\\3)::|:\\\\\\\\b|$))|(?!\\\\\\\\2\\\\\\\\3)){2}|(((2[0-4]|1\\\\\\\\d|[1-9])?\\\\\\\\d|25[0-5])\\\\\\\\.?\\\\\\\\b){4})$/.test(', ')']),\n _templateObject14 = _taggedTemplateLiteral(['/[^\\\\\\\\]\\\\\\\\[^.*+?^${}()|[\\\\]\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(', ')'], ['/[^\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\[^.*+?^\\\\${}()|[\\\\\\\\]\\\\\\\\\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(', ')']),\n _templateObject15 = _taggedTemplateLiteral(['!/^$|^\\\\/(?:~(?=[01])|[^~])*$/i.test(', ')'], ['!/^$|^\\\\\\\\/(?:~(?=[01])|[^~])*$/i.test(', ')']),\n _templateObject16 = _taggedTemplateLiteral(['!/^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(', ')'], ['!/^(?:[A-Za-z][A-Za-z0-9+\\\\\\\\-.]*:(?:\\\\\\\\/\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\\\\\.[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]+)\\\\\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\\\\\?(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\\\\\#(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\\\\\/\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\\\\\.[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:]+)\\\\\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\\\\\/(?:(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\\\\\/(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\\\\\?(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\\\\\#(?:[A-Za-z0-9\\\\\\\\-._~!$&\\\\\\'()*+,;=:@\\\\\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(', ')']),\n _templateObject17 = _taggedTemplateLiteral(['!/^(?:(?:[^\\\\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.test(', ')'], ['!/^(?:(?:[^\\\\\\\\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.test(', ')']);\n\nfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n/**\n * @module formats\n * @description\n * Validators as string for format keyword rules.\n * A validator is a string, which when executed returns `false` if test is failed, `true` otherwise.\n */\n\nvar _require = __webpack_require__(2),\n expression = _require.expression;\n\nmodule.exports = {\n alpha: expression(_templateObject, 'data'),\n alphanumeric: expression(_templateObject2, 'data'),\n identifier: expression(_templateObject3, 'data'),\n hexadecimal: expression(_templateObject4, 'data'),\n numeric: expression(_templateObject5, 'data'),\n 'date-time': expression(_templateObject6, 'data', 'data'),\n uppercase: expression(_templateObject7, 'data', 'data'),\n lowercase: expression(_templateObject8, 'data', 'data'),\n hostname: expression(_templateObject9, 'data', 'data'),\n uri: expression(_templateObject10, 'data'),\n email: expression(_templateObject11, 'data'),\n ipv4: expression(_templateObject12, 'data', 'data'),\n ipv6: expression(_templateObject13, 'data'),\n regex: expression(_templateObject14, 'data'),\n // TODO optimize uri-reference regex... too long\n 'json-pointer': expression(_templateObject15, 'data'),\n 'uri-reference': expression(_templateObject16, 'data'),\n 'uri-template': expression(_templateObject17, 'data')\n};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module validators\n * @description\n * Contains validators functions links\n * Provides an information about the order in which validators should be applied\n * Each validator may return true, which means, others will be ignored\n * @see $ref\n */\nvar required = __webpack_require__(11);\nvar format = __webpack_require__(12);\nvar property = __webpack_require__(13);\nvar type = __webpack_require__(14);\nvar $ref = __webpack_require__(16);\nvar not = __webpack_require__(17);\nvar anyOf = __webpack_require__(18);\nvar oneOf = __webpack_require__(19);\nvar allOf = __webpack_require__(20);\nvar dependencies = __webpack_require__(21);\nvar properties = __webpack_require__(22);\nvar patternProperties = __webpack_require__(23);\nvar items = __webpack_require__(24);\nvar contains = __webpack_require__(25);\nvar constant = __webpack_require__(26);\nvar propertyNames = __webpack_require__(27);\n\nmodule.exports = {\n name: {\n $ref: $ref,\n required: required,\n format: format,\n property: property,\n type: type,\n not: not,\n anyOf: anyOf,\n oneOf: oneOf,\n allOf: allOf,\n dependencies: dependencies,\n properties: properties,\n patternProperties: patternProperties,\n items: items,\n contains: contains,\n constant: constant,\n propertyNames: propertyNames\n },\n list: [$ref, required, format, property, type, not, anyOf, oneOf, allOf, dependencies, properties, patternProperties, items, contains, constant, propertyNames]\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\n/**\n * @module properties\n * @description\n * Validators as string for properties keyword rules.\n * A validator is a function, which when executed returns\n * - `false` if test is failed,\n * - `true` otherwise.\n */\nmodule.exports = {\n readOnly: 'false',\n exclusiveMinimum: function exclusiveMinimum(schema) {\n return '%s <= ' + schema.exclusiveMinimum;\n },\n minimum: function minimum(schema) {\n return '%s < ' + schema.minimum;\n },\n exclusiveMaximum: function exclusiveMaximum(schema) {\n return '%s >= ' + schema.exclusiveMaximum;\n },\n maximum: function maximum(schema) {\n return '%s > ' + schema.maximum;\n },\n\n multipleOf: '($1/$2) % 1 !== 0 && typeof $1 === \"number\"',\n // When the instance value is a string\n // this provides a regular expression that a string instance MUST match in order to be valid.\n pattern: function pattern(schema) {\n var pattern = void 0;\n var modifiers = void 0;\n\n if (typeof schema.pattern === 'string') {\n pattern = schema.pattern;\n } else {\n pattern = schema.pattern[0];\n modifiers = schema.pattern[1];\n }\n\n var regex = new RegExp(pattern, modifiers);\n return 'typeof ($1) === \"string\" && !' + regex + '.test($1)';\n },\n\n /**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\n minLength: 'typeof $1 === \"string\" && function dltml(b,c){for(var a=0,d=b.length;a=e&&a=e&&ac}($1, $2)',\n // This attribute defines the minimum number of values\n // in an array when the array is the instance value.\n minItems: '$1.length < $2 && Array.isArray($1)',\n // This attribute defines the maximum number of values\n // in an array when the array is the instance value.\n maxItems: '$1.length > $2 && Array.isArray($1)',\n // TODO without some\n uniqueItems: function uniqueItems(schema, fn) {\n if (!schema.uniqueItems) {\n return 'true';\n }\n\n fn(fn.cache('{}'));\n return 'Array.isArray($1) && $1.some(function(item, key) {\\n if(item !== null && typeof item === \"object\") key = JSON.stringify(item);\\n else key = item;\\n if(' + fn.cache('{}') + '.hasOwnProperty(key)) return true;\\n ' + fn.cache('{}') + '[key] = true;\\n })';\n },\n\n // ***** object validation ****\n minProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length < $2',\n // An object instance is valid against \"maxProperties\"\n // if its number of properties is less than, or equal to, the value of this keyword.\n maxProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length > $2',\n // ****** all *****\n enum: function _enum(schema, fn) {\n return schema.enum.map(function (value) {\n var $1 = '$1';\n var comparedValue = value;\n\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n comparedValue = '\\'' + JSON.stringify(value) + '\\'';\n $1 = fn.cache('JSON.stringify($1)');\n } else if (typeof value === 'string') {\n comparedValue = '\\'' + encodeURIComponent(value) + '\\'';\n }\n\n return $1 + ' != decodeURIComponent(' + comparedValue + ')';\n }).join(' && ');\n }\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module keywords\n * @description\n * A list of keywords used in specification.\n */\nmodule.exports = ['$ref', '$schema', 'type', 'not', 'anyOf', 'allOf', 'oneOf', 'properties', 'patternProperties', 'additionalProperties', 'items', 'additionalItems', 'required', 'default', 'title', 'description', 'definitions', 'dependencies', '$id', 'contains', 'const', 'examples'];\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module utils\n * @description\n * Utilities to check and normalize uri\n */\nvar REGEXP_URI = /:\\/\\//;\nvar REGEXP_URI_FRAGMENT = /#\\/?/;\nvar REGEXP_URI_PATH = /(^[^:]+:\\/\\/[^?#]*\\/).*/;\n\n/**\n * @name keys\n * @type {object}\n * @description\n * Keys to apply schema attributes & values\n */\nvar keys = {\n id: '$id'\n};\n\n/**\n * @name head\n * @type {function}\n * @description\n * Clean an id from its fragment\n * @example\n * head('http://domain.domain:2020/test/a#test')\n * // returns 'http://domain.domain:2020/test/a'\n * @param {string} id\n * @returns {string} cleaned\n */\nfunction head(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n var parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[0];\n}\n\nfunction isFullUri(uri) {\n return REGEXP_URI.test(uri);\n}\n\n/**\n * @name path\n * @type {function}\n * @description\n * Gets a scheme, domain and a path part from the uri\n * @example\n * path('http://domain.domain:2020/test/a?test')\n * // returns 'http://domain.domain:2020/test/'\n * @param {string} uri\n * @returns {string} path\n */\nfunction path(uri) {\n return uri.replace(REGEXP_URI_PATH, '$1');\n}\n\n/**\n * @description\n * Get the fragment (#...) part of the uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {string} uri\n * @returns {string} fragment\n */\nfunction fragment(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n var parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[1];\n}\n\n/**\n * @name makePath\n * @type function\n * @description\n * Concat parts into single uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {array} parts\n * @returns {string} uri\n */\nfunction makePath(parts) {\n return parts.filter(function (part) {\n return typeof part === 'string';\n }).reduce(function (uri, id) {\n // if id is full replace uri\n if (!uri.length || isFullUri(id)) {\n return id;\n }\n if (!id) {\n return uri;\n }\n\n // if fragment found\n if (id.indexOf('#') === 0) {\n // should replace uri's sharp with id\n var sharpUriIndex = uri.indexOf('#');\n if (sharpUriIndex === -1) {\n return uri + id;\n }\n\n return uri.slice(0, sharpUriIndex) + id;\n }\n\n // get path part of uri\n // and replace the rest with id\n var partialUri = path(uri) + id;\n return partialUri + (partialUri.indexOf('#') === -1 ? '#' : '');\n }, '');\n}\n\n/**\n * @name normalize\n * @type {function}\n * @description\n * Replace json-pointer special symbols in a given uri.\n * @param {string} uri\n * @returns {string} normalizedUri\n */\nfunction normalize(uri) {\n return decodeURIComponent(uri.replace(/~1/g, '/').replace(/~0/g, '~'));\n}\n\nmodule.exports = {\n makePath: makePath,\n isFullUri: isFullUri,\n head: head,\n fragment: fragment,\n normalize: normalize,\n keys: keys\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(9);\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _require = __webpack_require__(2),\n restore = _require.restore,\n expression = _require.expression;\n\nvar formats = __webpack_require__(3);\n\nvar _require2 = __webpack_require__(10),\n generate = _require2.generate,\n State = _require2.State;\n\nvar _require3 = __webpack_require__(28),\n add = _require3.add,\n use = _require3.use;\n\n/**\n * Configuration for template\n * @typedef {object} DjvConfig\n * @property {string?} version - defines which version of json-schema draft to use,\n * draft-04 by default\n * @property {function?} versionConfigure - handler to apply for environment version\n * @property {boolean?} inner - a generating object should be considered as inner\n * Default value is false/undefined.\n * If true, then it avoid creating variables in a generated function body,\n * however without proper wrapper function approach will not work.\n * @see template/body, template/body\n * @property {object?} formats - an object containing list of formatters to add for environment\n * @property {function?} errorHandler - a handler to use for generating custom error messages\n */\n\n/**\n * @name Environment\n * @description\n * Key constructor used for creating enivornment instance\n * @type {function} constructor\n * @param {DjvConfig} options passed to templater and utilities\n *\n * Usage\n *\n * ```javascript\n * const env = djv();\n * const env = new djv();\n * const env = new djv({ errorHandler: () => ';' });\n * ```\n */\n\n\nfunction Environment() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!(this instanceof Environment)) {\n return new Environment(options);\n }\n\n this.options = options;\n this.resolved = {};\n this.state = new State(null, this);\n\n this.useVersion(options.version, options.versionConfigure);\n this.addFormat(options.formats);\n}\n\nObject.assign(Environment, {\n expression: expression\n});\n\nObject.assign(Environment.prototype, {\n /**\n * check if object correspond to schema\n *\n * Usage\n *\n * ```javascript\n * env.validate('test#/common', { type: 'common' });\n * // => undefined\n *\n * env.validate('test#/common', { type: 'custom' });\n * // => 'required: data'\n *\n * @param {string} name\n * @param {object} object\n * @returns {string} error - undefined if it is valid\n */\n validate: function validate(name, object) {\n return this.resolve(name).fn(object);\n },\n\n\n /**\n * add schema to djv environment\n *\n * Usage\n *\n * ```javascript\n * env.addSchema('test', jsonSchema);\n * ```\n *\n * @param {string?} name\n * @param {object} schema\n * @param {object} schema\n * @returns {resolved}\n */\n addSchema: function addSchema(name, schema) {\n var _this = this;\n\n var realSchema = (typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object' ? name : schema;\n var resolved = {\n schema: realSchema,\n fn: generate(this, realSchema, undefined, this.options)\n };\n\n [name, schema.id].filter(function (id) {\n return typeof id === 'string';\n }).forEach(function (id) {\n _this.resolved[id] = Object.assign({ name: id }, resolved);\n });\n\n return resolved;\n },\n\n\n /**\n * removes a schema or the whole structure from djv environment\n *\n * Usage\n *\n * ```javascript\n * env.removeSchema('test');\n * ```\n *\n * @param {string} name\n */\n removeSchema: function removeSchema(name) {\n if (name) {\n delete this.resolved[name];\n } else {\n this.resolved = {};\n }\n },\n\n\n /**\n * resolves name by existing environment\n *\n * Usage\n *\n * ```javascript\n * env.resolve('test');\n * // => { name: 'test', schema: {} }, fn: ... }\n * ```\n *\n * @param {string} name\n * @returns {resolved}\n */\n resolve: function resolve(name) {\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object' || !this.resolved[name]) {\n return this.addSchema(name, this.state.resolve(name));\n }\n\n return this.resolved[name];\n },\n\n\n /**\n * exports the whole structure object from environment or by resolved name\n *\n * Usage\n *\n * ```javascript\n * env.export();\n * // => { test: { name: 'test', schema: {}, ... } }\n * ```\n *\n * @param {string} name\n * @returns {serializedInternalState}\n */\n export: function _export(name) {\n var _this2 = this;\n\n var resolved = void 0;\n if (name) {\n resolved = this.resolve(name);\n resolved = {\n name: name,\n schema: resolved.schema,\n fn: resolved.fn.toString()\n };\n } else {\n resolved = {};\n Object.keys(this.resolved).forEach(function (key) {\n resolved[key] = {\n name: key,\n schema: _this2.resolved[key].schema,\n fn: _this2.resolved[key].fn.toString()\n };\n });\n }\n\n return JSON.stringify(resolved);\n },\n\n\n /**\n * imports all found structure objects to internal environment structure\n * Usage\n *\n * ```javascript\n * env.import(config);\n * ```\n *\n * @param {object} config - internal structure or only resolved schema object\n */\n import: function _import(config) {\n var _this3 = this;\n\n var item = JSON.parse(config);\n var restoreData = item;\n if (item.name && item.fn && item.schema) {\n restoreData = _defineProperty({}, item.name, item);\n }\n\n Object.keys(restoreData).forEach(function (key) {\n var _restoreData$key = restoreData[key],\n name = _restoreData$key.name,\n schema = _restoreData$key.schema,\n source = _restoreData$key.fn;\n\n var fn = restore(source, schema, _this3.options);\n _this3.resolved[name] = { name: name, schema: schema, fn: fn };\n });\n },\n\n\n /**\n * @name addFormat\n * @type function\n * @description\n * Add formatter to djv environment.\n * When a string is passed it is interpreted as an expression which\n * when returns `true` goes with an error, when returns `false` then a property is valid.\n * When a function is passed it will be executed during schema compilation\n * with a current schema and template helper arguments.\n * @see utils/formats\n *\n * Usage\n *\n * ```javascript\n * env.addFormat('UpperCase', '%s !== %s.toUpperCase()');\n * // or\n * env.addFormat('isOk', function(schema, tpl){\n * return `!${schema.isOk} || %s !== %s.toUpperCase()`;\n * });\n * ```\n *\n * @param {string/object?} name\n * @param {string/function} formatter\n */\n addFormat: function addFormat(name, formatter) {\n if (typeof name === 'string') {\n formats[name] = formatter;\n return;\n }\n\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n Object.assign(formats, name);\n }\n },\n\n\n /**\n * @name setErrorHandler\n * @type function\n * @description\n * Specify custom error handler which will be used in generated functions when problem found.\n * The function should return a string expression, which will be executed when generated\n * validator function is executed. The simpliest use case is the default one\n * @see template/defaultErrorHandler\n * ```javascript\n * function defaultErrorHandler(errorType) {\n * return `return \"${errorType}: ${tpl.data}\";`;\n * }\n * ```\n * It returns an expression 'return ...', so the output is an error string.\n * Usage\n * ```javascript\n * djv({ errorHandler: () => 'return { error: true };' }) // => returns an object\n * djv({\n * errorHandler: function customErrorHandler(errorType, property) {\n * return `errors.push({\n * type: \"${errorType}\",\n * schema: \"${this.schema[this.schema.length - 1]}\",\n * data: \"${this.data[this.data.length - 1]}\"\n * });`;\n * }\n * });\n * ```\n * When a custom error handler is used, the template body function adds a `error` variable inside\n * a generated validator, which can be used to put error information. `errorType` is always\n * passed to error handler function. Some validate utilities put extra argument, like f.e.\n * currently processed property value. Inside the handler context is a templater instance,\n * which contains `this.schema`, `this.data` paths arrays to identify validator position.\n * @see test/index/setErrorHandler for more examples\n * @param {function} errorHandler - a function called each time compiler creates an error branch\n * @returns void\n */\n setErrorHandler: function setErrorHandler(errorHandler) {\n Object.assign(this.options, { errorHandler: errorHandler });\n },\n\n /**\n * @name useVersion\n * @type {function}\n * @description\n * Add a specification version for environment\n * A configure function is called with exposed environments, like keys, formats, etc.\n * Updates internals utilities and configurations to fix versions implementation conflicts\n * @param {string} version of json-schema specification to use\n * @param {function} configure\n * @returns void\n */\n useVersion: function useVersion(version, configure) {\n if (typeof configure !== 'function' && version === 'draft-04') {\n /* eslint-disable no-param-reassign, global-require, import/no-extraneous-dependencies */\n configure = __webpack_require__(29);\n /* eslint-enable no-param-reassign, global-require, import/no-extraneous-dependencies */\n }\n if (typeof configure === 'function') {\n add(version, configure);\n }\n use(version);\n }\n});\n\nmodule.exports = Environment;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module state\n * @description\n * State module is responsible for scope schemas resolution.\n * It also exports a main `generate` function.\n */\n\nvar _require = __webpack_require__(4),\n validators = _require.list;\n\nvar _require2 = __webpack_require__(2),\n body = _require2.body,\n restore = _require2.restore,\n template = _require2.template;\n\nvar _require3 = __webpack_require__(0),\n hasProperty = _require3.hasProperty;\n\nvar _require4 = __webpack_require__(7),\n normalize = _require4.normalize,\n makePath = _require4.makePath,\n head = _require4.head,\n isFullUri = _require4.isFullUri,\n fragment = _require4.fragment,\n keys = _require4.keys;\n\nvar _require5 = __webpack_require__(1),\n isSchema = _require5.is,\n transformSchema = _require5.transform;\n\nfunction State() {\n var schema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var env = arguments[1];\n\n Object.assign(this, {\n context: [],\n entries: new Map(),\n env: env\n });\n}\n\n/**\n * @name generate\n * @type {function}\n * @description\n * The main schema process function.\n * Available and used both in external and internal generation.\n * Saves the state for internal recursive calls.\n * @param {object} env - djv environment\n * @param {object} schema - to process\n * @param {State} state - saved state\n * @param {Environment} options\n * @returns {function} restoredFunction\n */\nfunction generate(env, schema) {\n var state = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new State(schema, env);\n var options = arguments[3];\n\n var tpl = template(state, options);\n tpl.visit(schema);\n\n var source = body(tpl, state, options);\n return restore(source, schema, options);\n}\n\nState.prototype = Object.assign(Object.create(Array.prototype), {\n /**\n * @name addEntry\n * @type {function}\n * @description\n * Generates an internal function.\n * Usually necessary for `allOf` types of validators.\n * Caches generated functions by schema object key.\n * Checks for an existing schema in a context stack to avoid double parsing and generation.\n * @param {string} url\n * @param {object} schema\n * @returns {number/boolean} index\n */\n addEntry: function addEntry(url, schema) {\n var entry = this.entries.get(schema);\n if (entry === false) {\n // has already been added to process queue\n // will be revealed as an entry\n return this.context.push(schema);\n }\n\n if (typeof entry === 'undefined') {\n // start to process schema\n this.entries.set(schema, false);\n entry = generate(this.env, schema, this, { inner: true });\n this.entries.set(schema, entry);\n this.revealReference(schema);\n }\n\n return this.context.push(entry);\n },\n\n /**\n * @name revealReference\n * @type {function}\n * @description\n * If a schema was added during the add entry phase\n * Then it should be revealed in this step\n * @param {object} schema\n * @returns {void}\n */\n revealReference: function revealReference(schema) {\n for (var doubled = this.context.indexOf(schema); doubled !== -1; doubled = this.context.indexOf(schema)) {\n this.context[doubled] = this.context.length;\n }\n },\n\n /**\n * @name link\n * @type {function}\n * @description\n * Returns an entry's index in a context stack.\n * @param {string} url\n * @returns {string} entry\n */\n link: function link(url) {\n var schema = this.resolve(url);\n var entry = this.addEntry(url, schema);\n return entry;\n },\n\n /**\n * @name resolveReference\n * @type {function}\n * @description\n * Resolve reference against the stack.\n * @param {string} reference\n * @returns {string} resolvedReference\n */\n resolveReference: function resolveReference(reference) {\n if (isFullUri(reference)) {\n return reference;\n }\n\n // find last full URI schema\n var lastFullURIReference = void 0;\n var lastFullURISchemaIndex = void 0;\n\n for (var i = this.length - 1; i >= 0; i -= 1, lastFullURIReference = false) {\n var _i = this[i],\n id = _i[keys.id],\n $ref = _i.$ref;\n\n lastFullURIReference = id || $ref;\n if (isFullUri(lastFullURIReference)) {\n lastFullURISchemaIndex = i;\n break;\n }\n }\n\n // collect all partial routes for it\n var partialReferences = [];\n for (var _i2 = this.length - 1; _i2 > lastFullURISchemaIndex; _i2 -= 1) {\n var _i3 = this[_i2],\n _id = _i3[keys.id],\n _$ref = _i3.$ref;\n\n var partialReference = _id || _$ref;\n if (head(partialReference)) {\n partialReferences.push(partialReference);\n }\n }\n\n // attach reference and make path\n var path = makePath([lastFullURIReference].concat(partialReferences, [reference]));\n return path;\n },\n\n /**\n * @name ascend\n * @private\n * @type {function}\n * @description\n * Search for a parent schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} parentSchema\n */\n ascend: function ascend(reference) {\n var path = head(reference);\n\n var _ref = this.env.resolved[path] || {},\n _ref$schema = _ref.schema,\n parentSchema = _ref$schema === undefined ? this[0] : _ref$schema;\n\n // Search while it is a full schema, not a ref\n\n\n while (parentSchema.$ref &&\n // avoid infinite loop\n head(parentSchema.$ref) !== head(reference) &&\n // > All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n Object.keys(parentSchema).length === 1) {\n parentSchema = this.ascend(parentSchema.$ref);\n }\n\n return parentSchema;\n },\n\n /**\n * @name descend\n * @private\n * @type {function}\n * @description\n * Search for a child schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} currentSchema\n */\n descend: function descend(reference, parentSchema) {\n var _this = this;\n\n var uriFragment = fragment(reference);\n if (!uriFragment && isFullUri(reference)) {\n return parentSchema;\n }\n\n if (!uriFragment) {\n uriFragment = reference;\n }\n\n var parts = uriFragment.split('/');\n var currentSchema = parts.map(normalize).reduce(function (schema, part, index) {\n var subSchema = schema[part];\n if (!isSchema(subSchema)) {\n subSchema = schema.definitions && schema.definitions[part];\n }\n\n if (\n // last will be pushed on visit\n // @see /draft4/refRemote.json:http://localhost:1234/scope_change_defs2.json\n index !== parts.length - 1 && hasProperty(subSchema, keys.id)) {\n _this.push(subSchema);\n }\n\n return subSchema;\n }, parentSchema);\n\n return isSchema(currentSchema) ? currentSchema : parentSchema;\n },\n\n /**\n * @name resolve\n * @type {function}\n * @description\n * Resolves schema by given reference and current registered context stack.\n * @param {string} url\n * @returns {object} schema\n */\n resolve: function resolve(reference) {\n if (typeof reference !== 'string') {\n return reference;\n }\n\n var fullReference = this.resolveReference(reference);\n var parentSchema = this.ascend(fullReference);\n var subSchema = this.descend(reference, parentSchema);\n\n return subSchema;\n },\n\n /**\n * @name visit\n * @type {function}\n * @description\n * Calls each registered validator with given schema and template instance.\n * Validator may or may not add code to generated validator function.\n * @param {object} pseudoSchema\n * @param {object} tpl\n * @returns {void}\n */\n visit: function visit(pseudoSchema, tpl) {\n var schema = transformSchema(pseudoSchema);\n var initialLength = this.length;\n this.push(schema);\n\n validators.some(function (validator) {\n return validator(schema, tpl);\n });\n\n this.length = initialLength;\n }\n});\n\nmodule.exports = {\n State: State,\n generate: generate\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function required(schema, tpl) {\n if (!Array.isArray(schema.required)) {\n return;\n }\n\n tpl('if (' + tpl.data + ' !== null && typeof ' + tpl.data + ' === \\'object\\' && !Array.isArray(' + tpl.data + ')) {\\n ' + schema.required.map(function (name) {\n var condition = '!' + tpl.data + '.hasOwnProperty(decodeURIComponent(\"' + encodeURIComponent(name) + '\"))';\n var error = tpl.error('required', name);\n return 'if (' + condition + ') ' + error;\n }).join('') + '\\n }');\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar formats = __webpack_require__(3);\n\nmodule.exports = function format(schema, tpl) {\n if (typeof schema.format === 'undefined') {\n return;\n }\n\n var formatter = formats[schema.format];\n if (typeof formatter !== 'function') {\n return;\n }\n\n var data = tpl.data;\n\n var condition = formatter({ data: data, schema: schema });\n var error = tpl.error('format');\n\n tpl('if (' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar properties = __webpack_require__(5);\nvar keywords = __webpack_require__(6);\n\nvar _require = __webpack_require__(0),\n asExpression = _require.asExpression;\n\nmodule.exports = function property(schema, tpl) {\n Object.keys(schema).forEach(function (key) {\n if (keywords.indexOf(key) !== -1 || key === 'format') {\n return;\n }\n\n var condition = asExpression(properties[key], schema, tpl);\n if (!condition) {\n return;\n }\n var error = tpl.error(key);\n\n tpl('if (' + condition + ') ' + error, tpl.data, schema[key]);\n });\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar types = __webpack_require__(15);\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function type(schema, tpl) {\n if (!hasProperty(schema, 'type')) {\n return;\n }\n\n var error = tpl.error('type', schema.type);\n var condition = '(' + [].concat(schema.type).map(function (key) {\n return types[key];\n }).join(') && (') + ')';\n\n tpl('if (' + condition + ') ' + error, tpl.data);\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n null: '%s !== null',\n string: 'typeof %s !== \"string\"',\n boolean: 'typeof %s !== \"boolean\"',\n number: 'typeof %s !== \"number\" || %s !== %s',\n integer: 'typeof %s !== \"number\" || %s % 1 !== 0',\n object: '!%s || typeof %s !== \"object\" || Array.isArray(%s)',\n array: '!Array.isArray(%s)',\n date: '!(%s instanceof Date)'\n};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function $ref(schema, tpl) {\n if (!hasProperty(schema, '$ref')) {\n return false;\n }\n\n var condition = tpl.link(schema.$ref) + '(' + tpl.data + ')';\n var error = tpl.error('$ref');\n\n tpl('if (' + condition + ') ' + error);\n\n // All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n return true;\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function not(schema, tpl) {\n if (!hasProperty(schema, 'not')) {\n return;\n }\n\n var condition = tpl.link(schema.not) + '(' + tpl.data + ')';\n var error = tpl.error('not');\n\n tpl('if (!' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function anyOf(schema, tpl) {\n if (!hasProperty(schema, 'anyOf')) {\n return;\n }\n\n var error = tpl.error('anyOf');\n var condition = schema.anyOf.map(function (reference) {\n return tpl.link(reference) + '(' + tpl.data + ')';\n }).join(' && ');\n\n tpl('if (' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function oneOf(schema, tpl) {\n if (!hasProperty(schema, 'oneOf')) {\n return;\n }\n\n var fns = schema.oneOf.map(function (reference) {\n return tpl.link(reference);\n });\n var arr = tpl.cache('[' + fns + ']');\n var cachedArr = tpl.cache('[' + fns + ']');\n var index = tpl.cache(cachedArr + '.length - 1');\n var cachedIndex = tpl.cache(cachedArr + '.length - 1');\n var count = tpl.cache('0');\n var cachedCount = tpl.cache('0');\n var error = tpl.error('oneOf');\n\n tpl('for (\\n ' + arr + ', ' + index + ', ' + count + ';\\n ' + cachedIndex + ' >= 0 && ' + cachedIndex + ' < ' + cachedArr + '.length;\\n ' + cachedIndex + '--) {\\n if(!' + cachedArr + '[' + cachedIndex + '](' + tpl.data + ')) ' + cachedCount + '++;\\n }\\n if (' + cachedCount + ' !== 1) ' + error + '\\n ');\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function allOf(schema, tpl) {\n if (!hasProperty(schema, 'allOf')) {\n return;\n }\n\n var error = tpl.error('allOf');\n var condition = schema.allOf.map(function (reference) {\n return tpl.link(reference) + '(' + tpl.data + ')';\n }).join(' || ');\n\n tpl('if (' + condition + ') ' + error);\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nvar _require2 = __webpack_require__(1),\n isSchema = _require2.is;\n\n// @see http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.7\n\n\nmodule.exports = function dependencies(schema, tpl) {\n if (!hasProperty(schema, 'dependencies')) {\n return;\n }\n\n Object.keys(schema.dependencies).forEach(function (dependency) {\n var value = schema.dependencies[dependency];\n var error = tpl.error('dependencies');\n\n tpl('if (' + tpl.data + '.hasOwnProperty(decodeURIComponent(\"' + encodeURIComponent(dependency) + '\"))) {');\n if (Array.isArray(value) || typeof value === 'string') {\n [].concat(_toConsumableArray(value)).map(function (property) {\n return 'if (!' + tpl.data + '.hasOwnProperty(decodeURIComponent(\"' + encodeURIComponent(property) + '\"))) ' + error;\n }).map(tpl);\n } else if (isSchema(value)) {\n tpl.visit(value);\n }\n tpl('}');\n });\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function properties(schema, tpl) {\n if (!hasProperty(schema, 'properties') || _typeof(schema.properties) !== 'object') {\n return;\n }\n\n Object.keys(schema.properties).forEach(function (propertyKey) {\n var propertySchema = schema.properties[propertyKey];\n if ((typeof propertySchema === 'undefined' ? 'undefined' : _typeof(propertySchema)) === 'object' && !Object.keys(propertySchema).length) {\n return;\n }\n\n var isNotRequired = !schema.required || schema.required.indexOf(propertyKey) === -1;\n if (isNotRequired) {\n tpl('if (' + tpl.data + '.hasOwnProperty(decodeURIComponent(\"' + encodeURIComponent(propertyKey) + '\"))) {');\n }\n\n tpl.data.push('[decodeURIComponent(\\'' + encodeURIComponent(propertyKey) + '\\')]');\n tpl.visit(propertySchema);\n tpl.data.pop();\n\n if (isNotRequired) {\n tpl('}');\n }\n });\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function patternProperties(schema, tpl) {\n var hasAdditionalProperties = hasProperty(schema, 'additionalProperties') && schema.additionalProperties !== true;\n var hasPatternProperties = hasProperty(schema, 'patternProperties');\n\n if (!hasAdditionalProperties && !hasPatternProperties) {\n return;\n }\n\n // When the instance value is an object,\n // the property values of the instance object\n // MUST conform to the property definitions in this object.\n tpl('if(typeof ' + tpl.data + ' === \\'object\\' && !Array.isArray(' + tpl.data + ')) {');\n\n tpl(tpl.cache('null'));\n var property = tpl.cache('null');\n var visitAdditionalProperties = function visitAdditionalProperties() {\n if (schema.additionalProperties === false) {\n tpl(tpl.error('additionalProperties'));\n } else if (schema.additionalProperties) {\n tpl.data.push('[' + property + ']');\n tpl.visit(schema.additionalProperties);\n tpl.data.pop();\n }\n };\n\n tpl('for (' + property + ' in ' + tpl.data + ') {');\n if (hasAdditionalProperties && hasPatternProperties) {\n tpl(tpl.cache('false'));\n }\n\n if (hasPatternProperties) {\n Object.keys(schema.patternProperties).forEach(function (propertyKey) {\n tpl('if (' + new RegExp(propertyKey) + '.test(' + property + ')) {');\n if (hasAdditionalProperties) {\n tpl(tpl.cache('false') + ' = true;');\n }\n\n var propertySchema = schema.patternProperties[propertyKey];\n tpl.data.push('[' + property + ']');\n tpl.visit(propertySchema);\n tpl.data.pop();\n tpl('}');\n\n if (schema.properties) {\n tpl('if (' + (hasAdditionalProperties ? tpl.cache('false') + ' || ' : '') + ' ' + tpl.schema + '.properties.hasOwnProperty(' + property + ')) continue;');\n } else if (hasAdditionalProperties) {\n tpl('if (' + tpl.cache('false') + ') continue;');\n }\n\n visitAdditionalProperties();\n });\n } else {\n if (schema.properties) {\n tpl('if(' + tpl.schema + '.properties.hasOwnProperty(' + property + ')) continue;');\n }\n visitAdditionalProperties();\n }\n\n tpl('}}');\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _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; };\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function items(schema, tpl) {\n if (!hasProperty(schema, 'items')) {\n return;\n }\n\n var itemsLength = schema.items.length;\n var error = tpl.error('additionalItems');\n var data = tpl.data;\n\n\n tpl('if(Array.isArray(' + data + ')) {');\n if (Array.isArray(schema.items)) {\n if (schema.additionalItems === false) {\n tpl('if (' + data + '.length > ' + itemsLength + ') ' + error);\n }\n\n schema.items.forEach(function (subSchema, index) {\n tpl('if(' + data + '.length > ' + index + ') {');\n data.push('[' + index + ']');\n tpl.visit(subSchema);\n data.pop();\n tpl('}');\n });\n\n if (_typeof(schema.additionalItems) === 'object') {\n var zeroIndex = tpl.cache(itemsLength);\n var index = tpl.cache(itemsLength);\n\n tpl('for (' + zeroIndex + '; ' + index + ' < ' + data + '.length; ' + index + '++) {');\n data.push('[' + tpl.cache(itemsLength) + ']');\n tpl.visit(schema.additionalItems);\n data.pop();\n tpl('}');\n }\n } else {\n var _zeroIndex = tpl.cache('0');\n var _index = tpl.cache('0');\n\n tpl('for (' + _zeroIndex + '; ' + _index + ' < ' + data + '.length; ' + _index + '++) {');\n data.push('[' + _index + ']');\n tpl.visit(schema.items);\n data.pop();\n tpl('}');\n }\n tpl('}');\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function contains(schema, tpl) {\n if (!hasProperty(schema, 'contains')) {\n return;\n }\n\n var error = tpl.error('contains');\n var fn = '' + tpl.link(schema.contains);\n\n var data = tpl.data;\n\n var zeroIndex = tpl.cache('0');\n var index = tpl.cache('0');\n var dataAtIndex = data.toString.apply(data.concat('[' + index + ']'));\n\n tpl('if (Array.isArray(' + data + ')) {\\n if (' + data + '.length === 0) ' + error + '\\n for (' + zeroIndex + '; ' + index + ' < ' + data + '.length; ' + index + '++) {\\n if (!' + fn + '(' + dataAtIndex + ')) break;\\n if (' + index + ' === ' + data + '.length - 1) ' + error + '\\n }\\n }');\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nvar _require2 = __webpack_require__(1),\n makeSchema = _require2.make;\n\nmodule.exports = function constant(schema, tpl) {\n if (!hasProperty(schema, 'const')) {\n return;\n }\n\n var constantInstanceSchema = makeSchema(schema.const);\n tpl.visit(constantInstanceSchema);\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _require = __webpack_require__(0),\n hasProperty = _require.hasProperty;\n\nmodule.exports = function propertyNames(schema, tpl) {\n if (!hasProperty(schema, 'propertyNames')) {\n return;\n }\n\n var fn = tpl.link(schema.propertyNames);\n var error = tpl.error('propertyNames');\n\n tpl('if (Object.keys(' + tpl.data + ').some(' + fn + ')) ' + error);\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module environment\n * @description\n * Update the given environment\n */\nvar properties = __webpack_require__(5);\nvar keywords = __webpack_require__(6);\nvar validators = __webpack_require__(4);\nvar formats = __webpack_require__(3);\n\nvar _require = __webpack_require__(7),\n keys = _require.keys;\n\nvar _require2 = __webpack_require__(1),\n transformation = _require2.transformation;\n\nvar environmentConfig = {};\n\nfunction add(version, config) {\n environmentConfig[version] = config;\n}\n\nfunction use(version) {\n if (!version || !environmentConfig[version]) {\n return;\n }\n\n var patchEnvironment = environmentConfig[version];\n patchEnvironment({\n properties: properties,\n keywords: keywords,\n validators: validators,\n formats: formats,\n keys: keys,\n transformation: transformation\n });\n}\n\nmodule.exports = {\n add: add,\n use: use\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_29__;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// djv.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 03c03af315f555a2cb4d","/**\n * @module utils\n * @description\n * Basic utilities for djv project\n */\n\n/**\n * @name asExpression\n * @type {function}\n * @description\n * Transform function or string to expression\n * @see validators\n * @param {function|string} fn\n * @param {object} schema\n * @param {object} tpl templater instance\n * @returns {string} expression\n */\nfunction asExpression(fn, schema, tpl) {\n if (typeof fn !== 'function') {\n return fn;\n }\n\n return fn(schema, tpl);\n}\n\n/**\n * @name hasProperty\n * @type {function}\n * @description\n * Check if the property exists in a given object\n * @param {object} object\n * @param {string} property\n * @returns {boolean} exists\n */\nfunction hasProperty(object, property) {\n return (\n typeof object === 'object' &&\n Object.prototype.hasOwnProperty.call(object, property)\n );\n}\n\nmodule.exports = {\n asExpression,\n hasProperty,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/index.js","/**\n * @module schema\n * @description\n * Low-level utilities to check, create and transform schemas\n */\n\n/**\n * @name transformation\n * @type {object}\n * @description\n * Schema values transformation\n */\nconst transformation = {\n ANY_SCHEMA: {},\n NOT_ANY_SCHEMA: { not: {} },\n};\n\n/**\n * @name is\n * @type {function}\n * @description\n * Verify the object could be a schema\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {boolean} isSchema\n */\nfunction is(schema) {\n return (\n typeof schema === 'object' ||\n typeof schema === 'boolean'\n );\n}\n\n/**\n * @name transform\n * @type {function}\n * @description\n * Transform a schema pseudo presentation\n * Since draft-06 supports boolean as a schema definition\n * @param {object} schema\n * @returns {object} schema\n */\nfunction transform(schema) {\n if (schema === true) {\n return transformation.ANY_SCHEMA;\n } else if (schema === false) {\n return transformation.NOT_ANY_SCHEMA;\n }\n return schema;\n}\n\n/**\n * @name make\n * @type {function}\n * @description\n * Generate a simple schema by a given object\n * @param {any} instance\n * @returns {object} schema\n */\nfunction make(instance) {\n if (typeof instance !== 'object' || instance === null) {\n return { enum: [instance] };\n }\n\n if (Array.isArray(instance)) {\n return {\n items: instance.map(make),\n // other items should be valid by `false` schema, aka not exist at all\n additionalItems: false\n };\n }\n\n const required = Object.keys(instance);\n return {\n properties: required.reduce((memo, key) => (\n Object.assign({}, memo, {\n [key]: make(instance[key])\n })\n ), {}),\n required,\n // other properties should be valid by `false` schema, aka not exist at all\n // additionalProperties: false,\n };\n}\n\nmodule.exports = {\n is,\n make,\n transform,\n transformation,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/schema.js","/**\n * @module template\n * @description\n * Defines a small templater functionality for creating functions body.\n */\n\n/**\n * @name template\n * @type function\n * @description\n * Provides a templater function, which adds a line of code into generated function body.\n *\n * @param {object} state - used in visit and reference method to iterate and find schemas.\n * @param {DjvConfig} options\n * @return {function} tpl\n */\nfunction template(state, options) {\n function tpl(expression, ...args) {\n let last;\n\n tpl.lines.push(\n expression\n .replace(/%i/g, () => 'i')\n .replace(/\\$(\\d)/g, (match, index) => `${args[index - 1]}`)\n .replace(/(%[sd])/g, () => {\n if (args.length) {\n last = args.shift();\n }\n\n return `${last}`;\n })\n );\n\n return tpl;\n }\n\n function clearDecode(tplString) {\n return tplString\n .replace('[', '')\n .replace(']', '')\n .replace('(', '')\n .replace(')', '')\n .replace('decodeURIComponent', '');\n }\n\n const error = typeof options.errorHandler === 'function' ?\n options.errorHandler :\n function defaultErrorHandler(errorType) {\n const path = this.data.toString()\n .replace(/^data/, '');\n const dataPath = path\n .replace(/\\['([^']+)'\\]/ig, '.$1')\n .replace(/\\[(i[0-9]*)\\]/ig, '[\\'+$1+\\']');\n const schemaPath = `#${\n path\n .replace(/\\[i([0-9]*)\\]/ig, '/items')\n .replace(/\\['([^']+)'\\]/ig, '/properties/$1')\n }/${errorType}`;\n\n return `return {\n keyword: '${errorType}',\n dataPath: decodeURIComponent(\"${clearDecode(dataPath)}\"),\n schemaPath: decodeURIComponent(\"${clearDecode(schemaPath)}\")\n };`;\n };\n\n Object.assign(tpl, {\n cachedIndex: 0,\n cached: [],\n cache(expression) {\n const layer = tpl.cached[tpl.cached.length - 1];\n if (layer[expression]) {\n return `i${layer[expression]}`;\n }\n\n tpl.cachedIndex += 1;\n layer[expression] = tpl.cachedIndex;\n return `(i${layer[expression]} = ${expression})`;\n },\n data: ['data'],\n error,\n lines: [],\n schema: ['schema'],\n push: tpl,\n /**\n * @name link\n * @description\n * Get schema validator by url\n * Call state link to generate or get cached function\n * @type {function}\n * @param {string} url\n * @return {string} functionName\n */\n link(url) {\n return `f${state.link(url)}`;\n },\n /**\n * @name visit\n * @description\n * Create new cache scope and visit given schema\n * @type {function}\n * @param {object} schema\n * @return {void}\n */\n visit(schema) {\n tpl.cached.push({});\n state.visit(schema, tpl);\n tpl.cached.pop();\n },\n });\n\n function dataToString() {\n return this.join('.').replace(/\\.\\[/g, '[');\n }\n tpl.data.toString = dataToString;\n tpl.schema.toString = dataToString;\n\n return tpl;\n}\n\n/**\n * @name restore\n * @type function\n * @description\n * Generate a function by given body with a schema in a closure\n *\n * @param {string} source - function inner & outer body\n * @param {object} schema - passed as argument to meta function\n * @param {DjvConfig} config\n * @return {function} tpl\n */\nfunction restore(source, schema, { inner } = {}) {\n /* eslint-disable no-new-func */\n const tpl = new Function('schema', source)(schema);\n /* eslint-enable no-new-func */\n\n if (!inner) {\n tpl.toString = function toString() {\n return source;\n };\n }\n\n return tpl;\n}\n\n/**\n * Configuration for template functions\n * @typedef {object} TemplateOptions\n * @property {string[]} context\n * @property {string[]} index\n * @property {boolean?} inner - a generating object should be considered as inner\n * @property {boolean?} defineErrors - if erros should be defined\n * @property {string[]} lines - content templates\n */\n\n/**\n * @private\n * @name makeVariables\n * @type function\n * @description\n * Generate internal variables\n *\n * @param {TemplateOptions} options\n * @return {string} variables\n */\nfunction makeVariables({ defineErrors, index }) {\n /**\n * @var {array} errors - empty array for pushing errors ability\n * @see errorHandler\n */\n const errors = defineErrors ? 'const errors = [];' : '';\n const variables = index ?\n `let i${Array(...Array(index))\n .map((value, i) => i + 1)\n .join(',i')};` :\n '';\n\n // @see map array with holes trick\n // http://2ality.com/2013/11/initializing-arrays.html\n // TODO change var to const\n return `\n ${errors}\n ${variables}\n `;\n}\n\n/**\n * @private\n * @name makeHelpers\n * @type function\n * @description\n * Generate internal helpers executed in outer function\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeHelpers({ context, inner }) {\n if (inner || !context.length) {\n return '';\n }\n\n const functions = [];\n const references = [];\n\n context\n .forEach((value, i) => {\n if (typeof value === 'number') {\n references.push(`${i + 1} = f${value + 1}`);\n return;\n }\n functions.push(`${i + 1} = ${value}`);\n });\n\n return `const f${functions.concat(references).join(', f')};`;\n}\n\n/**\n * @private\n * @name makeContent\n * @type function\n * @description\n * Generate internal function body content, including variables\n *\n * @param {TemplateOptions} options\n * @return {string} functions\n */\nfunction makeContent(options) {\n const { defineErrors, lines } = options;\n\n const variables = makeVariables(options);\n const errors = defineErrors ? 'if(errors.length) return errors;' : '';\n const content = lines.join('\\n');\n\n return `\n \"use strict\";\n ${variables}\n ${content}\n ${errors}\n `;\n}\n\n/**\n * @name body\n * @type function\n * @description\n * Generate a function body, containing internal variables and helpers\n *\n * @param {object} tpl - template instance, containing all analyzed schema related data\n * @param {object} state - state of schema generation\n * @param {DjvConfig} config\n * @return {string} body\n */\nfunction body({ cachedIndex, lines }, { context }, { inner, errorHandler } = {}) {\n const options = {\n context,\n inner,\n defineErrors: errorHandler,\n index: cachedIndex,\n lines,\n };\n\n const helpers = makeHelpers(options);\n const content = makeContent(options);\n\n return `\n ${helpers}\n function f0(data) {\n ${content}\n }\n return f0;\n `;\n}\n\n/**\n * @name templateExpression\n * @type function\n * @description\n * Es6 template helper function\n * Transforms a validator utilities into generated functions body\n * @return {function} template\n */\nfunction templateExpression(strings, ...keys) {\n return (...values) => {\n let dict = values[values.length - 1] || {};\n let result = [strings[0]];\n keys.forEach((key, i) => {\n let value = Number.isInteger(key) ? values[key] : dict[key];\n result.push(value, strings[i + 1]);\n });\n return result.join('');\n };\n}\n\nmodule.exports = {\n body,\n restore,\n template,\n expression: templateExpression,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/template.js","/**\n * @module formats\n * @description\n * Validators as string for format keyword rules.\n * A validator is a string, which when executed returns `false` if test is failed, `true` otherwise.\n */\n\nconst { expression } = require('./template');\n\nmodule.exports = {\n alpha: expression`!/^[a-zA-Z]+$/.test(${'data'})`,\n alphanumeric: expression`!/^[a-zA-Z0-9]+$/.test(${'data'})`,\n identifier: expression`!/^[-_a-zA-Z0-9]+$/.test(${'data'})`,\n hexadecimal: expression`!/^[a-fA-F0-9]+$/.test(${'data'})`,\n numeric: expression`!/^[0-9]+$/.test(${'data'})`,\n 'date-time': expression`isNaN(Date.parse(${'data'})) || ~${'data'}.indexOf(\\'/\\')`,\n uppercase: expression`${'data'} !== ${'data'}.toUpperCase()`,\n lowercase: expression`${'data'} !== ${'data'}.toLowerCase()`,\n hostname: expression`${'data'}.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])(\\\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9]))*$/.test(${'data'})`,\n uri: expression`!/^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(${'data'})`,\n email: expression`!/^[^@]+@[^@]+\\\\.[^@]+$/.test(${'data'})`,\n ipv4: expression`!/^(\\\\d){1,3}\\\\.(\\\\d){1,3}\\\\.(\\\\d){1,3}\\\\.(\\\\d){1,3}$/.test(${'data'}) || ${'data'}.split(\".\").some(d => d > 255)`,\n ipv6: expression`!/^((?=.*::)(?!.*::.+::)(::)?([\\\\dA-F]{1,4}:(:|\\\\b)|){5}|([\\\\dA-F]{1,4}:){6})((([\\\\dA-F]{1,4}((?!\\\\3)::|:\\\\b|$))|(?!\\\\2\\\\3)){2}|(((2[0-4]|1\\\\d|[1-9])?\\\\d|25[0-5])\\\\.?\\\\b){4})$/.test(${'data'})`,\n regex: expression`/[^\\\\\\\\]\\\\\\\\[^.*+?^\\${}()|[\\\\]\\\\\\\\bBcdDfnrsStvwWxu0-9]/i.test(${'data'})`,\n // TODO optimize uri-reference regex... too long\n 'json-pointer': expression`!/^$|^\\\\/(?:~(?=[01])|[^~])*$/i.test(${'data'})`,\n 'uri-reference': expression`!/^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\\\.[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:]+)\\\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\\\#(?:[A-Za-z0-9\\\\-._~!$&\\'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?)$/i.test(${'data'})`,\n 'uri-template': expression`!/^(?:(?:[^\\\\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.test(${'data'})`,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/formats.js","/**\n * @module validators\n * @description\n * Contains validators functions links\n * Provides an information about the order in which validators should be applied\n * Each validator may return true, which means, others will be ignored\n * @see $ref\n */\nconst required = require('./required');\nconst format = require('./format');\nconst property = require('./property');\nconst type = require('./type');\nconst $ref = require('./$ref');\nconst not = require('./not');\nconst anyOf = require('./anyOf');\nconst oneOf = require('./oneOf');\nconst allOf = require('./allOf');\nconst dependencies = require('./dependencies');\nconst properties = require('./properties');\nconst patternProperties = require('./patternProperties');\nconst items = require('./items');\nconst contains = require('../validators/contains');\nconst constant = require('../validators/const');\nconst propertyNames = require('../validators/propertyNames');\n\nmodule.exports = {\n name: {\n $ref,\n required,\n format,\n property,\n type,\n not,\n anyOf,\n oneOf,\n allOf,\n dependencies,\n properties,\n patternProperties,\n items,\n contains,\n constant,\n propertyNames,\n },\n list: [\n $ref,\n required,\n format,\n property,\n type,\n not,\n anyOf,\n oneOf,\n allOf,\n dependencies,\n properties,\n patternProperties,\n items,\n contains,\n constant,\n propertyNames\n ]\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/index.js","/**\n * @module properties\n * @description\n * Validators as string for properties keyword rules.\n * A validator is a function, which when executed returns\n * - `false` if test is failed,\n * - `true` otherwise.\n */\nmodule.exports = {\n readOnly: 'false',\n exclusiveMinimum(schema) {\n return `%s <= ${schema.exclusiveMinimum}`;\n },\n minimum(schema) {\n return `%s < ${schema.minimum}`;\n },\n exclusiveMaximum(schema) {\n return `%s >= ${schema.exclusiveMaximum}`;\n },\n maximum(schema) {\n return `%s > ${schema.maximum}`;\n },\n multipleOf: '($1/$2) % 1 !== 0 && typeof $1 === \"number\"',\n // When the instance value is a string\n // this provides a regular expression that a string instance MUST match in order to be valid.\n pattern(schema) {\n let pattern;\n let modifiers;\n\n if (typeof schema.pattern === 'string') { pattern = schema.pattern; } else {\n pattern = schema.pattern[0];\n modifiers = schema.pattern[1];\n }\n\n const regex = new RegExp(pattern, modifiers);\n return `typeof ($1) === \"string\" && !${regex}.test($1)`;\n },\n /**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\n minLength: 'typeof $1 === \"string\" && function dltml(b,c){for(var a=0,d=b.length;a=e&&a=e&&ac}($1, $2)',\n // This attribute defines the minimum number of values\n // in an array when the array is the instance value.\n minItems: '$1.length < $2 && Array.isArray($1)',\n // This attribute defines the maximum number of values\n // in an array when the array is the instance value.\n maxItems: '$1.length > $2 && Array.isArray($1)',\n // TODO without some\n uniqueItems(schema, fn) {\n if (!schema.uniqueItems) {\n return 'true';\n }\n\n fn(fn.cache('{}'));\n return `Array.isArray($1) && $1.some(function(item, key) {\n if(item !== null && typeof item === \"object\") key = JSON.stringify(item);\n else key = item;\n if(${fn.cache('{}')}.hasOwnProperty(key)) return true;\n ${fn.cache('{}')}[key] = true;\n })`;\n },\n // ***** object validation ****\n minProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length < $2',\n // An object instance is valid against \"maxProperties\"\n // if its number of properties is less than, or equal to, the value of this keyword.\n maxProperties: '!Array.isArray($1) && typeof $1 === \"object\" && Object.keys($1).length > $2',\n // ****** all *****\n enum(schema, fn) {\n return schema.enum.map((value) => {\n let $1 = '$1';\n let comparedValue = value;\n\n if (typeof value === 'object') {\n comparedValue = `'${JSON.stringify(value)}'`;\n $1 = fn.cache('JSON.stringify($1)');\n } else if (typeof value === 'string') {\n comparedValue = `'${encodeURIComponent(value)}'`;\n }\n\n return `${$1} != decodeURIComponent(${comparedValue})`;\n }).join(' && ');\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/properties.js","/**\n * @module keywords\n * @description\n * A list of keywords used in specification.\n */\nmodule.exports = [\n '$ref',\n '$schema',\n 'type',\n 'not',\n 'anyOf',\n 'allOf',\n 'oneOf',\n 'properties',\n 'patternProperties',\n 'additionalProperties',\n 'items',\n 'additionalItems',\n 'required',\n 'default',\n 'title',\n 'description',\n 'definitions',\n 'dependencies',\n '$id',\n 'contains',\n 'const',\n 'examples'\n];\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/keywords.js","/**\n * @module utils\n * @description\n * Utilities to check and normalize uri\n */\nconst REGEXP_URI = /:\\/\\//;\nconst REGEXP_URI_FRAGMENT = /#\\/?/;\nconst REGEXP_URI_PATH = /(^[^:]+:\\/\\/[^?#]*\\/).*/;\n\n/**\n * @name keys\n * @type {object}\n * @description\n * Keys to apply schema attributes & values\n */\nconst keys = {\n id: '$id',\n};\n\n/**\n * @name head\n * @type {function}\n * @description\n * Clean an id from its fragment\n * @example\n * head('http://domain.domain:2020/test/a#test')\n * // returns 'http://domain.domain:2020/test/a'\n * @param {string} id\n * @returns {string} cleaned\n */\nfunction head(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n const parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[0];\n}\n\nfunction isFullUri(uri) {\n return REGEXP_URI.test(uri);\n}\n\n/**\n * @name path\n * @type {function}\n * @description\n * Gets a scheme, domain and a path part from the uri\n * @example\n * path('http://domain.domain:2020/test/a?test')\n * // returns 'http://domain.domain:2020/test/'\n * @param {string} uri\n * @returns {string} path\n */\nfunction path(uri) {\n return uri.replace(REGEXP_URI_PATH, '$1');\n}\n\n/**\n * @description\n * Get the fragment (#...) part of the uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {string} uri\n * @returns {string} fragment\n */\nfunction fragment(uri) {\n if (typeof uri !== 'string') {\n return uri;\n }\n\n const parts = uri.split(REGEXP_URI_FRAGMENT);\n return parts[1];\n}\n\n/**\n * @name makePath\n * @type function\n * @description\n * Concat parts into single uri\n * @see https://tools.ietf.org/html/rfc3986#section-3\n * @param {array} parts\n * @returns {string} uri\n */\nfunction makePath(parts) {\n return parts\n .filter(part => typeof part === 'string')\n .reduce((uri, id) => {\n // if id is full replace uri\n if (!uri.length || isFullUri(id)) {\n return id;\n }\n if (!id) {\n return uri;\n }\n\n // if fragment found\n if (id.indexOf('#') === 0) {\n // should replace uri's sharp with id\n const sharpUriIndex = uri.indexOf('#');\n if (sharpUriIndex === -1) {\n return uri + id;\n }\n\n return uri.slice(0, sharpUriIndex) + id;\n }\n\n // get path part of uri\n // and replace the rest with id\n const partialUri = path(uri) + id;\n return partialUri + (partialUri.indexOf('#') === -1 ? '#' : '');\n }, '');\n}\n\n/**\n * @name normalize\n * @type {function}\n * @description\n * Replace json-pointer special symbols in a given uri.\n * @param {string} uri\n * @returns {string} normalizedUri\n */\nfunction normalize(uri) {\n return decodeURIComponent(uri.replace(/~1/g, '/').replace(/~0/g, '~'));\n}\n\nmodule.exports = {\n makePath,\n isFullUri,\n head,\n fragment,\n normalize,\n keys,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/uri.js","const { restore, expression } = require('./utils/template');\nconst formats = require('./utils/formats');\nconst { generate, State } = require('./utils/state');\nconst { add, use } = require('./utils/environment.js');\n\n/**\n * Configuration for template\n * @typedef {object} DjvConfig\n * @property {string?} version - defines which version of json-schema draft to use,\n * draft-04 by default\n * @property {function?} versionConfigure - handler to apply for environment version\n * @property {boolean?} inner - a generating object should be considered as inner\n * Default value is false/undefined.\n * If true, then it avoid creating variables in a generated function body,\n * however without proper wrapper function approach will not work.\n * @see template/body, template/body\n * @property {object?} formats - an object containing list of formatters to add for environment\n * @property {function?} errorHandler - a handler to use for generating custom error messages\n */\n\n/**\n * @name Environment\n * @description\n * Key constructor used for creating enivornment instance\n * @type {function} constructor\n * @param {DjvConfig} options passed to templater and utilities\n *\n * Usage\n *\n * ```javascript\n * const env = djv();\n * const env = new djv();\n * const env = new djv({ errorHandler: () => ';' });\n * ```\n */\nfunction Environment(options = {}) {\n if (!(this instanceof Environment)) { return new Environment(options); }\n\n this.options = options;\n this.resolved = {};\n this.state = new State(null, this);\n\n this.useVersion(options.version, options.versionConfigure);\n this.addFormat(options.formats);\n}\n\nObject.assign(Environment, {\n expression,\n});\n\nObject.assign(Environment.prototype, {\n /**\n * check if object correspond to schema\n *\n * Usage\n *\n * ```javascript\n * env.validate('test#/common', { type: 'common' });\n * // => undefined\n *\n * env.validate('test#/common', { type: 'custom' });\n * // => 'required: data'\n *\n * @param {string} name\n * @param {object} object\n * @returns {string} error - undefined if it is valid\n */\n validate(name, object) {\n return this.resolve(name).fn(object);\n },\n\n /**\n * add schema to djv environment\n *\n * Usage\n *\n * ```javascript\n * env.addSchema('test', jsonSchema);\n * ```\n *\n * @param {string?} name\n * @param {object} schema\n * @param {object} schema\n * @returns {resolved}\n */\n addSchema(name, schema) {\n const realSchema = typeof name === 'object' ? name : schema;\n const resolved = {\n schema: realSchema,\n fn: generate(this, realSchema, undefined, this.options),\n };\n\n [name, schema.id]\n .filter(id => typeof id === 'string')\n .forEach((id) => {\n this.resolved[id] = Object.assign({ name: id }, resolved);\n });\n\n return resolved;\n },\n\n /**\n * removes a schema or the whole structure from djv environment\n *\n * Usage\n *\n * ```javascript\n * env.removeSchema('test');\n * ```\n *\n * @param {string} name\n */\n removeSchema(name) {\n if (name) {\n delete this.resolved[name];\n } else {\n this.resolved = {};\n }\n },\n\n /**\n * resolves name by existing environment\n *\n * Usage\n *\n * ```javascript\n * env.resolve('test');\n * // => { name: 'test', schema: {} }, fn: ... }\n * ```\n *\n * @param {string} name\n * @returns {resolved}\n */\n resolve(name) {\n if (typeof name === 'object' || !this.resolved[name]) {\n return this.addSchema(\n name,\n this.state.resolve(name)\n );\n }\n\n return this.resolved[name];\n },\n\n /**\n * exports the whole structure object from environment or by resolved name\n *\n * Usage\n *\n * ```javascript\n * env.export();\n * // => { test: { name: 'test', schema: {}, ... } }\n * ```\n *\n * @param {string} name\n * @returns {serializedInternalState}\n */\n export(name) {\n let resolved;\n if (name) {\n resolved = this.resolve(name);\n resolved = {\n name,\n schema: resolved.schema,\n fn: resolved.fn.toString()\n };\n } else {\n resolved = {};\n Object.keys(this.resolved).forEach((key) => {\n resolved[key] = {\n name: key,\n schema: this.resolved[key].schema,\n fn: this.resolved[key].fn.toString()\n };\n });\n }\n\n return JSON.stringify(resolved);\n },\n\n /**\n * imports all found structure objects to internal environment structure\n * Usage\n *\n * ```javascript\n * env.import(config);\n * ```\n *\n * @param {object} config - internal structure or only resolved schema object\n */\n import(config) {\n const item = JSON.parse(config);\n let restoreData = item;\n if (item.name && item.fn && item.schema) {\n restoreData = { [item.name]: item };\n }\n\n Object.keys(restoreData).forEach((key) => {\n const { name, schema, fn: source } = restoreData[key];\n const fn = restore(source, schema, this.options);\n this.resolved[name] = { name, schema, fn };\n });\n },\n\n /**\n * @name addFormat\n * @type function\n * @description\n * Add formatter to djv environment.\n * When a string is passed it is interpreted as an expression which\n * when returns `true` goes with an error, when returns `false` then a property is valid.\n * When a function is passed it will be executed during schema compilation\n * with a current schema and template helper arguments.\n * @see utils/formats\n *\n * Usage\n *\n * ```javascript\n * env.addFormat('UpperCase', '%s !== %s.toUpperCase()');\n * // or\n * env.addFormat('isOk', function(schema, tpl){\n * return `!${schema.isOk} || %s !== %s.toUpperCase()`;\n * });\n * ```\n *\n * @param {string/object?} name\n * @param {string/function} formatter\n */\n addFormat(name, formatter) {\n if (typeof name === 'string') {\n formats[name] = formatter;\n return;\n }\n\n if (typeof name === 'object') {\n Object.assign(formats, name);\n }\n },\n\n /**\n * @name setErrorHandler\n * @type function\n * @description\n * Specify custom error handler which will be used in generated functions when problem found.\n * The function should return a string expression, which will be executed when generated\n * validator function is executed. The simpliest use case is the default one\n * @see template/defaultErrorHandler\n * ```javascript\n * function defaultErrorHandler(errorType) {\n * return `return \"${errorType}: ${tpl.data}\";`;\n * }\n * ```\n * It returns an expression 'return ...', so the output is an error string.\n * Usage\n * ```javascript\n * djv({ errorHandler: () => 'return { error: true };' }) // => returns an object\n * djv({\n * errorHandler: function customErrorHandler(errorType, property) {\n * return `errors.push({\n * type: \"${errorType}\",\n * schema: \"${this.schema[this.schema.length - 1]}\",\n * data: \"${this.data[this.data.length - 1]}\"\n * });`;\n * }\n * });\n * ```\n * When a custom error handler is used, the template body function adds a `error` variable inside\n * a generated validator, which can be used to put error information. `errorType` is always\n * passed to error handler function. Some validate utilities put extra argument, like f.e.\n * currently processed property value. Inside the handler context is a templater instance,\n * which contains `this.schema`, `this.data` paths arrays to identify validator position.\n * @see test/index/setErrorHandler for more examples\n * @param {function} errorHandler - a function called each time compiler creates an error branch\n * @returns void\n */\n setErrorHandler(errorHandler) {\n Object.assign(this.options, { errorHandler });\n },\n /**\n * @name useVersion\n * @type {function}\n * @description\n * Add a specification version for environment\n * A configure function is called with exposed environments, like keys, formats, etc.\n * Updates internals utilities and configurations to fix versions implementation conflicts\n * @param {string} version of json-schema specification to use\n * @param {function} configure\n * @returns void\n */\n useVersion(version, configure) {\n if (typeof configure !== 'function' && version === 'draft-04') {\n /* eslint-disable no-param-reassign, global-require, import/no-extraneous-dependencies */\n configure = require('@korzio/djv-draft-04');\n /* eslint-enable no-param-reassign, global-require, import/no-extraneous-dependencies */\n }\n if (typeof configure === 'function') {\n add(version, configure);\n }\n use(version);\n },\n});\n\nmodule.exports = Environment;\n\n\n\n// WEBPACK FOOTER //\n// ./lib/djv.js","/**\n * @module state\n * @description\n * State module is responsible for scope schemas resolution.\n * It also exports a main `generate` function.\n */\n\nconst { list: validators } = require('../validators');\nconst { body, restore, template } = require('./template');\nconst { hasProperty } = require('./');\nconst {\n normalize,\n makePath,\n head,\n isFullUri,\n fragment,\n keys,\n} = require('./uri');\nconst {\n is: isSchema,\n transform: transformSchema,\n} = require('./schema');\n\nfunction State(schema = {}, env) {\n Object.assign(this, {\n context: [],\n entries: new Map(),\n env,\n });\n}\n\n/**\n * @name generate\n * @type {function}\n * @description\n * The main schema process function.\n * Available and used both in external and internal generation.\n * Saves the state for internal recursive calls.\n * @param {object} env - djv environment\n * @param {object} schema - to process\n * @param {State} state - saved state\n * @param {Environment} options\n * @returns {function} restoredFunction\n */\nfunction generate(env, schema, state = new State(schema, env), options) {\n const tpl = template(state, options);\n tpl.visit(schema);\n\n const source = body(tpl, state, options);\n return restore(source, schema, options);\n}\n\nState.prototype = Object.assign(Object.create(Array.prototype), {\n /**\n * @name addEntry\n * @type {function}\n * @description\n * Generates an internal function.\n * Usually necessary for `allOf` types of validators.\n * Caches generated functions by schema object key.\n * Checks for an existing schema in a context stack to avoid double parsing and generation.\n * @param {string} url\n * @param {object} schema\n * @returns {number/boolean} index\n */\n addEntry(url, schema) {\n let entry = this.entries.get(schema);\n if (entry === false) {\n // has already been added to process queue\n // will be revealed as an entry\n return this.context.push(schema);\n }\n\n if (typeof entry === 'undefined') {\n // start to process schema\n this.entries.set(schema, false);\n entry = generate(this.env, schema, this, { inner: true });\n this.entries.set(schema, entry);\n this.revealReference(schema);\n }\n\n return this.context.push(entry);\n },\n /**\n * @name revealReference\n * @type {function}\n * @description\n * If a schema was added during the add entry phase\n * Then it should be revealed in this step\n * @param {object} schema\n * @returns {void}\n */\n revealReference(schema) {\n for (\n let doubled = this.context.indexOf(schema);\n doubled !== -1;\n doubled = this.context.indexOf(schema)\n ) {\n this.context[doubled] = this.context.length;\n }\n },\n /**\n * @name link\n * @type {function}\n * @description\n * Returns an entry's index in a context stack.\n * @param {string} url\n * @returns {string} entry\n */\n link(url) {\n const schema = this.resolve(url);\n const entry = this.addEntry(url, schema);\n return entry;\n },\n /**\n * @name resolveReference\n * @type {function}\n * @description\n * Resolve reference against the stack.\n * @param {string} reference\n * @returns {string} resolvedReference\n */\n resolveReference(reference) {\n if (isFullUri(reference)) {\n return reference;\n }\n\n // find last full URI schema\n let lastFullURIReference;\n let lastFullURISchemaIndex;\n\n for (let i = this.length - 1; i >= 0; i -= 1, lastFullURIReference = false) {\n const { [keys.id]: id, $ref } = this[i];\n lastFullURIReference = id || $ref;\n if (isFullUri(lastFullURIReference)) {\n lastFullURISchemaIndex = i;\n break;\n }\n }\n\n // collect all partial routes for it\n const partialReferences = [];\n for (let i = this.length - 1; i > lastFullURISchemaIndex; i -= 1) {\n const { [keys.id]: id, $ref } = this[i];\n const partialReference = id || $ref;\n if (head(partialReference)) {\n partialReferences.push(partialReference);\n }\n }\n\n // attach reference and make path\n const path = makePath([lastFullURIReference, ...partialReferences, reference]);\n return path;\n },\n /**\n * @name ascend\n * @private\n * @type {function}\n * @description\n * Search for a parent schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} parentSchema\n */\n ascend(reference) {\n const path = head(reference);\n let { schema: parentSchema = this[0] } = this.env.resolved[path] || {};\n\n // Search while it is a full schema, not a ref\n while (\n parentSchema.$ref &&\n // avoid infinite loop\n head(parentSchema.$ref) !== head(reference) &&\n // > All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n Object.keys(parentSchema).length === 1\n ) {\n parentSchema = this.ascend(parentSchema.$ref);\n }\n\n return parentSchema;\n },\n /**\n * @name descend\n * @private\n * @type {function}\n * @description\n * Search for a child schema by reference.\n * Iterates over the chain of schemas.\n * @param {string} reference\n * @returns {object} currentSchema\n */\n descend(reference, parentSchema) {\n let uriFragment = fragment(reference);\n if (!uriFragment && isFullUri(reference)) {\n return parentSchema;\n }\n\n if (!uriFragment) {\n uriFragment = reference;\n }\n\n const parts = uriFragment.split('/');\n const currentSchema = parts\n .map(normalize)\n .reduce((schema, part, index) => {\n let subSchema = schema[part];\n if (!isSchema(subSchema)) {\n subSchema = schema.definitions && schema.definitions[part];\n }\n\n if (\n // last will be pushed on visit\n // @see /draft4/refRemote.json:http://localhost:1234/scope_change_defs2.json\n index !== parts.length - 1 &&\n hasProperty(subSchema, keys.id)\n ) {\n this.push(subSchema);\n }\n\n return subSchema;\n }, parentSchema);\n\n return isSchema(currentSchema) ? currentSchema : parentSchema;\n },\n /**\n * @name resolve\n * @type {function}\n * @description\n * Resolves schema by given reference and current registered context stack.\n * @param {string} url\n * @returns {object} schema\n */\n resolve(reference) {\n if (typeof reference !== 'string') {\n return reference;\n }\n\n const fullReference = this.resolveReference(reference);\n const parentSchema = this.ascend(fullReference);\n const subSchema = this.descend(reference, parentSchema);\n\n return subSchema;\n },\n /**\n * @name visit\n * @type {function}\n * @description\n * Calls each registered validator with given schema and template instance.\n * Validator may or may not add code to generated validator function.\n * @param {object} pseudoSchema\n * @param {object} tpl\n * @returns {void}\n */\n visit(pseudoSchema, tpl) {\n const schema = transformSchema(pseudoSchema);\n const initialLength = this.length;\n this.push(schema);\n\n validators.some(validator => (\n validator(schema, tpl)\n ));\n\n this.length = initialLength;\n },\n});\n\nmodule.exports = {\n State,\n generate,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/state.js","module.exports = function required(schema, tpl) {\n if (!Array.isArray(schema.required)) {\n return;\n }\n\n tpl(`if (${tpl.data} !== null && typeof ${tpl.data} === 'object' && !Array.isArray(${tpl.data})) {\n ${schema.required.map((name) => {\n const condition = `!${tpl.data}.hasOwnProperty(decodeURIComponent(\"${encodeURIComponent(name)}\"))`;\n const error = tpl.error('required', name);\n return `if (${condition}) ${error}`;\n }).join('')}\n }`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/required.js","const formats = require('../utils/formats');\n\nmodule.exports = function format(schema, tpl) {\n if (typeof schema.format === 'undefined') {\n return;\n }\n\n const formatter = formats[schema.format];\n if (typeof formatter !== 'function') {\n return;\n }\n\n const { data } = tpl;\n const condition = formatter({ data, schema });\n const error = tpl.error('format');\n\n tpl(`if (${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/format.js","const properties = require('../utils/properties');\nconst keywords = require('../utils/keywords');\nconst { asExpression } = require('../utils');\n\nmodule.exports = function property(schema, tpl) {\n Object.keys(schema)\n .forEach((key) => {\n if (keywords.indexOf(key) !== -1 || key === 'format') {\n return;\n }\n\n const condition = asExpression(properties[key], schema, tpl);\n if (!condition) {\n return;\n }\n const error = tpl.error(key);\n\n tpl(`if (${condition}) ${error}`, tpl.data, schema[key]);\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/property.js","const types = require('../utils/types');\nconst { hasProperty } = require('../utils');\n\nmodule.exports = function type(schema, tpl) {\n if (!hasProperty(schema, 'type')) {\n return;\n }\n\n const error = tpl.error('type', schema.type);\n const condition = `(${[].concat(schema.type).map(key => types[key]).join(') && (')})`;\n\n tpl(`if (${condition}) ${error}`, tpl.data);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/type.js","module.exports = {\n null: '%s !== null',\n string: 'typeof %s !== \"string\"',\n boolean: 'typeof %s !== \"boolean\"',\n number: 'typeof %s !== \"number\" || %s !== %s',\n integer: 'typeof %s !== \"number\" || %s % 1 !== 0',\n object: '!%s || typeof %s !== \"object\" || Array.isArray(%s)',\n array: '!Array.isArray(%s)',\n date: '!(%s instanceof Date)'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/types.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function $ref(schema, tpl) {\n if (!hasProperty(schema, '$ref')) {\n return false;\n }\n\n const condition = `${tpl.link(schema.$ref)}(${tpl.data})`;\n const error = tpl.error('$ref');\n\n tpl(`if (${condition}) ${error}`);\n\n // All other properties in a \"$ref\" object MUST be ignored.\n // @see https://tools.ietf.org/html/draft-wright-json-schema-01#section-8\n return true;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/$ref.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function not(schema, tpl) {\n if (!hasProperty(schema, 'not')) {\n return;\n }\n\n const condition = `${tpl.link(schema.not)}(${tpl.data})`;\n const error = tpl.error('not');\n\n tpl(`if (!${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/not.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function anyOf(schema, tpl) {\n if (!hasProperty(schema, 'anyOf')) {\n return;\n }\n\n const error = tpl.error('anyOf');\n const condition = schema.anyOf\n .map(reference => `${tpl.link(reference)}(${tpl.data})`)\n .join(' && ');\n\n tpl(`if (${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/anyOf.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function oneOf(schema, tpl) {\n if (!hasProperty(schema, 'oneOf')) {\n return;\n }\n\n const fns = schema.oneOf.map(reference => tpl.link(reference));\n const arr = tpl.cache(`[${fns}]`);\n const cachedArr = tpl.cache(`[${fns}]`);\n const index = tpl.cache(`${cachedArr}.length - 1`);\n const cachedIndex = tpl.cache(`${cachedArr}.length - 1`);\n const count = tpl.cache('0');\n const cachedCount = tpl.cache('0');\n const error = tpl.error('oneOf');\n\n tpl(`for (\n ${arr}, ${index}, ${count};\n ${cachedIndex} >= 0 && ${cachedIndex} < ${cachedArr}.length;\n ${cachedIndex}--) {\n if(!${cachedArr}[${cachedIndex}](${tpl.data})) ${cachedCount}++;\n }\n if (${cachedCount} !== 1) ${error}\n `);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/oneOf.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function allOf(schema, tpl) {\n if (!hasProperty(schema, 'allOf')) {\n return;\n }\n\n const error = tpl.error('allOf');\n const condition = schema.allOf\n .map(reference => `${tpl.link(reference)}(${tpl.data})`)\n .join(' || ');\n\n tpl(`if (${condition}) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/allOf.js","const { hasProperty } = require('../utils');\nconst { is: isSchema } = require('../utils/schema');\n\n// @see http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.7\nmodule.exports = function dependencies(schema, tpl) {\n if (!hasProperty(schema, 'dependencies')) {\n return;\n }\n\n Object.keys(schema.dependencies)\n .forEach((dependency) => {\n const value = schema.dependencies[dependency];\n const error = tpl.error('dependencies');\n\n tpl(`if (${tpl.data}.hasOwnProperty(decodeURIComponent(\"${encodeURIComponent(dependency)}\"))) {`);\n if (Array.isArray(value) || typeof value === 'string') {\n [...value]\n .map(property => `if (!${tpl.data}.hasOwnProperty(decodeURIComponent(\"${encodeURIComponent(property)}\"))) ${error}`)\n .map(tpl);\n } else if (isSchema(value)) {\n tpl.visit(value);\n }\n tpl('}');\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/dependencies.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function properties(schema, tpl) {\n if (!hasProperty(schema, 'properties') || typeof schema.properties !== 'object') {\n return;\n }\n\n Object.keys(schema.properties)\n .forEach((propertyKey) => {\n const propertySchema = schema.properties[propertyKey];\n if (typeof propertySchema === 'object' && !Object.keys(propertySchema).length) {\n return;\n }\n\n const isNotRequired = !schema.required || schema.required.indexOf(propertyKey) === -1;\n if (isNotRequired) {\n tpl(`if (${tpl.data}.hasOwnProperty(decodeURIComponent(\"${encodeURIComponent(propertyKey)}\"))) {`);\n }\n\n tpl.data.push(`[decodeURIComponent('${encodeURIComponent(propertyKey)}')]`);\n tpl.visit(propertySchema);\n tpl.data.pop();\n\n if (isNotRequired) {\n tpl('}');\n }\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/properties.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function patternProperties(schema, tpl) {\n const hasAdditionalProperties = hasProperty(schema, 'additionalProperties') && schema.additionalProperties !== true;\n const hasPatternProperties = hasProperty(schema, 'patternProperties');\n\n if (!hasAdditionalProperties && !hasPatternProperties) {\n return;\n }\n\n // When the instance value is an object,\n // the property values of the instance object\n // MUST conform to the property definitions in this object.\n tpl(`if(typeof ${tpl.data} === 'object' && !Array.isArray(${tpl.data})) {`);\n\n tpl(tpl.cache('null'));\n const property = tpl.cache('null');\n const visitAdditionalProperties = () => {\n if (schema.additionalProperties === false) {\n tpl(tpl.error('additionalProperties'));\n } else if (schema.additionalProperties) {\n tpl.data.push(`[${property}]`);\n tpl.visit(schema.additionalProperties);\n tpl.data.pop();\n }\n };\n\n tpl(`for (${property} in ${tpl.data}) {`);\n if (hasAdditionalProperties && hasPatternProperties) {\n tpl(tpl.cache('false'));\n }\n\n if (hasPatternProperties) {\n Object.keys(schema.patternProperties)\n .forEach((propertyKey) => {\n tpl(`if (${new RegExp(propertyKey)}.test(${property})) {`);\n if (hasAdditionalProperties) {\n tpl(`${tpl.cache('false')} = true;`);\n }\n\n const propertySchema = schema.patternProperties[propertyKey];\n tpl.data.push(`[${property}]`);\n tpl.visit(propertySchema);\n tpl.data.pop();\n tpl('}');\n\n if (schema.properties) {\n tpl(`if (${hasAdditionalProperties ? `${tpl.cache('false')} || ` : ''} ${tpl.schema}.properties.hasOwnProperty(${property})) continue;`);\n } else if (hasAdditionalProperties) {\n tpl(`if (${tpl.cache('false')}) continue;`);\n }\n\n visitAdditionalProperties();\n });\n } else {\n if (schema.properties) {\n tpl(`if(${tpl.schema}.properties.hasOwnProperty(${property})) continue;`);\n }\n visitAdditionalProperties();\n }\n\n tpl('}}');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/patternProperties.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function items(schema, tpl) {\n if (!hasProperty(schema, 'items')) {\n return;\n }\n\n const itemsLength = schema.items.length;\n const error = tpl.error('additionalItems');\n const { data } = tpl;\n\n tpl(`if(Array.isArray(${data})) {`);\n if (Array.isArray(schema.items)) {\n if (schema.additionalItems === false) {\n tpl(`if (${data}.length > ${itemsLength}) ${error}`);\n }\n\n schema.items.forEach((subSchema, index) => {\n tpl(`if(${data}.length > ${index}) {`);\n data.push(`[${index}]`);\n tpl.visit(subSchema);\n data.pop();\n tpl('}');\n });\n\n if (typeof schema.additionalItems === 'object') {\n const zeroIndex = tpl.cache(itemsLength);\n const index = tpl.cache(itemsLength);\n\n tpl(`for (${zeroIndex}; ${index} < ${data}.length; ${index}++) {`);\n data.push(`[${tpl.cache(itemsLength)}]`);\n tpl.visit(schema.additionalItems);\n data.pop();\n tpl('}');\n }\n } else {\n const zeroIndex = tpl.cache('0');\n const index = tpl.cache('0');\n\n tpl(`for (${zeroIndex}; ${index} < ${data}.length; ${index}++) {`);\n data.push(`[${index}]`);\n tpl.visit(schema.items);\n data.pop();\n tpl('}');\n }\n tpl('}');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/items.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function contains(schema, tpl) {\n if (!hasProperty(schema, 'contains')) {\n return;\n }\n\n const error = tpl.error('contains');\n const fn = `${tpl.link(schema.contains)}`;\n\n const { data } = tpl;\n const zeroIndex = tpl.cache('0');\n const index = tpl.cache('0');\n const dataAtIndex = data.toString.apply(data.concat(`[${index}]`));\n\n tpl(`if (Array.isArray(${data})) {\n if (${data}.length === 0) ${error}\n for (${zeroIndex}; ${index} < ${data}.length; ${index}++) {\n if (!${fn}(${dataAtIndex})) break;\n if (${index} === ${data}.length - 1) ${error}\n }\n }`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/contains.js","const { hasProperty } = require('../utils');\nconst { make: makeSchema } = require('../utils/schema');\n\nmodule.exports = function constant(schema, tpl) {\n if (!hasProperty(schema, 'const')) {\n return;\n }\n\n const constantInstanceSchema = makeSchema(schema.const);\n tpl.visit(constantInstanceSchema);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/const.js","const { hasProperty } = require('../utils');\n\nmodule.exports = function propertyNames(schema, tpl) {\n if (!hasProperty(schema, 'propertyNames')) {\n return;\n }\n\n const fn = tpl.link(schema.propertyNames);\n const error = tpl.error('propertyNames');\n\n tpl(`if (Object.keys(${tpl.data}).some(${fn})) ${error}`);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/validators/propertyNames.js","/**\n * @module environment\n * @description\n * Update the given environment\n */\nconst properties = require('./properties');\nconst keywords = require('./keywords');\nconst validators = require('../validators');\nconst formats = require('./formats');\nconst { keys } = require('./uri');\nconst { transformation } = require('./schema');\n\nconst environmentConfig = {};\n\nfunction add(version, config) {\n environmentConfig[version] = config;\n}\n\nfunction use(version) {\n if (!version || !environmentConfig[version]) {\n return;\n }\n\n const patchEnvironment = environmentConfig[version];\n patchEnvironment({\n properties,\n keywords,\n validators,\n formats,\n keys,\n transformation,\n });\n}\n\nmodule.exports = {\n add,\n use,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils/environment.js","module.exports = __WEBPACK_EXTERNAL_MODULE_29__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@korzio/djv-draft-04\"\n// module id = 29\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/utils/formats.js b/lib/utils/formats.js index da9a166..a784475 100644 --- a/lib/utils/formats.js +++ b/lib/utils/formats.js @@ -19,7 +19,7 @@ module.exports = { hostname: expression`${'data'}.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])(\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9]))*$/.test(${'data'})`, uri: expression`!/^[A-Za-z][A-Za-z0-9+\\-.]*:(?:\\/\\/(?:(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&\'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&\'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\/(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\/(?:(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\?(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?(?:\\#(?:[A-Za-z0-9\\-._~!$&\'()*+,;=:@\\/?]|%[0-9A-Fa-f]{2})*)?$/.test(${'data'})`, email: expression`!/^[^@]+@[^@]+\\.[^@]+$/.test(${'data'})`, - ipv4: expression`!/^(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}$/.test(${'data'}) || ${'data'}.split(".")[3] > 255`, + ipv4: expression`!/^(\\d){1,3}\\.(\\d){1,3}\\.(\\d){1,3}\\.(\\d){1,3}$/.test(${'data'}) || ${'data'}.split(".").some(d => d > 255)`, ipv6: expression`!/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/.test(${'data'})`, regex: expression`/[^\\\\]\\\\[^.*+?^\${}()|[\\]\\\\bBcdDfnrsStvwWxu0-9]/i.test(${'data'})`, // TODO optimize uri-reference regex... too long diff --git a/package-lock.json b/package-lock.json index 81e0295..b0c0eab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6176,1513 +6176,2012 @@ "jsonpointer": "^4.0.0", "xtend": "^4.0.0" } - } - } - }, - "json-schema-library": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json-schema-library/-/json-schema-library-3.3.2.tgz", - "integrity": "sha1-6iHoEtIlY4AjTxCNAlKypQyih4k=", - "dev": true, - "requires": { - "gson-pointer": "^3.2.1", - "valid-url": "^1.0.9" - } - }, - "json-schema-test": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/json-schema-test/-/json-schema-test-1.3.0.tgz", - "integrity": "sha1-wyCSMlbM6BKOF3mOgDatMr7Nhmk=", - "dev": true, - "requires": { - "glob": "^5.0.10" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "json-schema-test-suite": { - "version": "git+https://github.com/json-schema/JSON-Schema-Test-Suite.git#002ce0fbe070f483429260188b18fe07bd6ec0f0", - "from": "git+https://github.com/json-schema/JSON-Schema-Test-Suite.git", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-schema-validator-generator": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/json-schema-validator-generator/-/json-schema-validator-generator-1.1.11.tgz", - "integrity": "sha1-UAmFfPO89lWjq562jU77EgdI2us=", - "dev": true, - "requires": { - "babel-cli": "^6.24.1", - "babel-core": "^6.24.1", - "babel-eslint": "^7.2.1", - "babel-plugin-module-resolver": "^2.7.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-flow-strip-types": "^6.22.0", - "babel-plugin-transform-object-rest-spread": "^6.23.0", - "babel-preset-es2015": "^6.24.1", - "eslint": "^3.19.0", - "eslint-config-prettier": "^2.3.0", - "eslint-config-stripe": "^1.0.12", - "eslint-plugin-flowtype": "2.33.0", - "eslint-plugin-import": "2.2.0", - "eslint-plugin-jsx-a11y": "5.0.1", - "eslint-plugin-prettier": "^2.1.2", - "eslint-plugin-react": "7.0.1", - "flow-bin": "0.53.1", - "jest": "^19.0.2", - "json-pointer": "^0.6.0", - "lambdanwang": "1.2.2", - "lodash": "^4.17.4", - "prettier": "^1.5.2" - }, - "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "eslint-import-resolver-node": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", - "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", - "dev": true, - "requires": { - "debug": "^2.2.0", - "object-assign": "^4.0.1", - "resolve": "^1.1.6" - } }, - "eslint-plugin-import": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz", - "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", - "dev": true, - "requires": { - "builtin-modules": "^1.1.1", - "contains-path": "^0.1.0", - "debug": "^2.2.0", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.2.0", - "eslint-module-utils": "^2.0.0", - "has": "^1.0.1", - "lodash.cond": "^4.3.0", - "minimatch": "^3.0.3", - "pkg-up": "^1.0.0" - } - } - } - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true - }, - "jsonschema": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", - "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jsx-ast-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", - "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", - "dev": true, - "requires": { - "array-includes": "^3.0.3" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "klaw": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", - "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "lambdanwang": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/lambdanwang/-/lambdanwang-1.2.2.tgz", - "integrity": "sha1-L39XL+ycjBWf7rOBlHepe23DRTM=", - "dev": true, - "requires": { - "babel-cli": "^6.24.1", - "babel-core": "^6.24.1", - "babel-eslint": "^7.2.1", - "babel-jest": "^20.0.1", - "babel-plugin-module-resolver": "^2.7.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-flow-strip-types": "^6.22.0", - "babel-plugin-transform-object-rest-spread": "^6.23.0", - "babel-preset-es2015": "^6.24.1", - "babel-preset-flow": "^6.23.0", - "babel-preset-stage-2": "^6.24.1", - "eslint": "^3.3.0", - "eslint-config-stripe": "^1.0.10", - "eslint-plugin-flowtype": "^2.33.0", - "eslint-plugin-import": "^2.2.0", - "eslint-plugin-jsx-a11y": "^2.2.3", - "eslint-plugin-react": "^6.10.3", - "eslint-plugin-stripe": "1.0.3", - "flow-bin": "0.53.1", - "flow-typed": "^2.1.2", - "jest-cli": "^20.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true }, - "babel-jest": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", - "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", - "dev": true, - "requires": { - "babel-core": "^6.0.0", - "babel-plugin-istanbul": "^4.0.0", - "babel-preset-jest": "^20.0.3" - } - }, - "babel-plugin-jest-hoist": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz", - "integrity": "sha1-r+3IU70/jcNUjqZx++adA8wsF2c=", - "dev": true - }, - "babel-preset-jest": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", - "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^20.0.3" - } - }, - "bser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", - "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz", - "integrity": "sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0=", - "dev": true, - "requires": { - "damerau-levenshtein": "^1.0.0", - "jsx-ast-utils": "^1.0.0", - "object-assign": "^4.0.1" - } - }, - "eslint-plugin-react": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", - "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", - "dev": true, - "requires": { - "array.prototype.find": "^2.0.1", - "doctrine": "^1.2.2", - "has": "^1.0.1", - "jsx-ast-utils": "^1.3.4", - "object.assign": "^4.0.4" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "jest-changed-files": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-20.0.3.tgz", - "integrity": "sha1-k5TVzGXEOEBhSb7xv01Sto4D4/g=", - "dev": true - }, - "jest-cli": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", - "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", - "dev": true, - "requires": { - "ansi-escapes": "^1.4.0", - "callsites": "^2.0.0", - "chalk": "^1.1.3", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "istanbul-api": "^1.1.1", - "istanbul-lib-coverage": "^1.0.1", - "istanbul-lib-instrument": "^1.4.2", - "istanbul-lib-source-maps": "^1.1.0", - "jest-changed-files": "^20.0.3", - "jest-config": "^20.0.4", - "jest-docblock": "^20.0.3", - "jest-environment-jsdom": "^20.0.3", - "jest-haste-map": "^20.0.4", - "jest-jasmine2": "^20.0.4", - "jest-message-util": "^20.0.3", - "jest-regex-util": "^20.0.3", - "jest-resolve-dependencies": "^20.0.3", - "jest-runtime": "^20.0.4", - "jest-snapshot": "^20.0.3", - "jest-util": "^20.0.3", - "micromatch": "^2.3.11", - "node-notifier": "^5.0.2", - "pify": "^2.3.0", - "slash": "^1.0.0", - "string-length": "^1.0.1", - "throat": "^3.0.0", - "which": "^1.2.12", - "worker-farm": "^1.3.1", - "yargs": "^7.0.2" - } - }, - "jest-config": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", - "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "glob": "^7.1.1", - "jest-environment-jsdom": "^20.0.3", - "jest-environment-node": "^20.0.3", - "jest-jasmine2": "^20.0.4", - "jest-matcher-utils": "^20.0.3", - "jest-regex-util": "^20.0.3", - "jest-resolve": "^20.0.4", - "jest-validate": "^20.0.3", - "pretty-format": "^20.0.3" - } - }, - "jest-diff": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", - "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "diff": "^3.2.0", - "jest-matcher-utils": "^20.0.3", - "pretty-format": "^20.0.3" - } - }, - "jest-docblock": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz", - "integrity": "sha1-F76phDQswz2DxQ++FUXqDvqkRxI=", - "dev": true - }, - "jest-environment-jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", - "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", - "dev": true, - "requires": { - "jest-mock": "^20.0.3", - "jest-util": "^20.0.3", - "jsdom": "^9.12.0" - } - }, - "jest-environment-node": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", - "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", - "dev": true, - "requires": { - "jest-mock": "^20.0.3", - "jest-util": "^20.0.3" - } - }, - "jest-haste-map": { - "version": "20.0.5", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", - "integrity": "sha512-0IKAQjUvuZjMCNi/0VNQQF74/H9KB67hsHJqGiwTWQC6XO5Azs7kLWm+6Q/dwuhvDUvABDOBMFK2/FwZ3sZ07Q==", - "dev": true, - "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^20.0.3", - "micromatch": "^2.3.11", - "sane": "~1.6.0", - "worker-farm": "^1.3.1" - } - }, - "jest-jasmine2": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", - "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "graceful-fs": "^4.1.11", - "jest-diff": "^20.0.3", - "jest-matcher-utils": "^20.0.3", - "jest-matchers": "^20.0.3", - "jest-message-util": "^20.0.3", - "jest-snapshot": "^20.0.3", - "once": "^1.4.0", - "p-map": "^1.1.1" - } - }, - "jest-matcher-utils": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", - "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "pretty-format": "^20.0.3" - } - }, - "jest-matchers": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", - "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", - "dev": true, - "requires": { - "jest-diff": "^20.0.3", - "jest-matcher-utils": "^20.0.3", - "jest-message-util": "^20.0.3", - "jest-regex-util": "^20.0.3" - } - }, - "jest-message-util": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", - "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "micromatch": "^2.3.11", - "slash": "^1.0.0" - } - }, - "jest-mock": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-20.0.3.tgz", - "integrity": "sha1-i8Bw6QQUqhVcEajWTIaaDVxx2lk=", - "dev": true - }, - "jest-regex-util": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-20.0.3.tgz", - "integrity": "sha1-hburXRM+RGJbGfr4xqpRItCF12I=", - "dev": true - }, - "jest-resolve": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", - "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", - "dev": true, - "requires": { - "browser-resolve": "^1.11.2", - "is-builtin-module": "^1.0.0", - "resolve": "^1.3.2" - } - }, - "jest-resolve-dependencies": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", - "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", - "dev": true, - "requires": { - "jest-regex-util": "^20.0.3" - } - }, - "jest-runtime": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", - "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", - "dev": true, - "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^20.0.3", - "babel-plugin-istanbul": "^4.0.0", - "chalk": "^1.1.3", - "convert-source-map": "^1.4.0", - "graceful-fs": "^4.1.11", - "jest-config": "^20.0.4", - "jest-haste-map": "^20.0.4", - "jest-regex-util": "^20.0.3", - "jest-resolve": "^20.0.4", - "jest-util": "^20.0.3", - "json-stable-stringify": "^1.0.1", - "micromatch": "^2.3.11", - "strip-bom": "3.0.0", - "yargs": "^7.0.2" - } - }, - "jest-snapshot": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", - "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "jest-diff": "^20.0.3", - "jest-matcher-utils": "^20.0.3", - "jest-util": "^20.0.3", - "natural-compare": "^1.4.0", - "pretty-format": "^20.0.3" - } - }, - "jest-util": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", - "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "graceful-fs": "^4.1.11", - "jest-message-util": "^20.0.3", - "jest-mock": "^20.0.3", - "jest-validate": "^20.0.3", - "leven": "^2.1.0", - "mkdirp": "^0.5.1" - } - }, - "jest-validate": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", - "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "jest-matcher-utils": "^20.0.3", - "leven": "^2.1.0", - "pretty-format": "^20.0.3" - } - }, - "jsx-ast-utils": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", - "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pretty-format": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", - "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", - "dev": true, - "requires": { - "ansi-regex": "^2.1.1", - "ansi-styles": "^3.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "sane": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", - "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", - "dev": true, - "requires": { - "anymatch": "^1.3.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^1.8.0", - "minimatch": "^3.0.2", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.10.0" - }, - "dependencies": { - "fb-watchman": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", - "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", - "dev": true, - "requires": { - "bser": "1.0.2" - } - } - } - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", - "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", - "dev": true - }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, - "md5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "dev": true, - "requires": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" - } - }, - "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", - "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", - "dev": true - }, - "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", - "dev": true, - "requires": { - "mime-db": "~1.36.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "mustache": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", - "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==", - "dev": true - }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - }, - "nan": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", - "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "neo-async": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz", - "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "node-fetch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz", - "integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^1.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-notifier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", - "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "semver": "^5.4.1", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-5.10.0.tgz", - "integrity": "sha512-lvjvjgR5wG2RJ2uqak1xtZcVAWMwVOzN5HkUlUj/n8rU1f3A0fNn+7HwOzH9Lyf0Ppyu9ApgsEpHczOSnx1cwA==", - "dev": true, - "requires": { - "JSONStream": "^1.3.2", - "abbrev": "~1.1.1", - "ansi-regex": "~3.0.0", - "ansicolors": "~0.3.2", - "ansistyles": "~0.1.3", - "aproba": "~1.2.0", - "archy": "~1.0.0", - "bin-links": "^1.1.0", - "bluebird": "~3.5.1", - "byte-size": "^4.0.2", - "cacache": "^10.0.4", - "call-limit": "~1.1.0", - "chownr": "~1.0.1", - "cli-columns": "^3.1.2", - "cli-table2": "~0.2.0", - "cmd-shim": "~2.0.2", - "columnify": "~1.5.4", - "config-chain": "~1.1.11", - "debuglog": "*", - "detect-indent": "~5.0.0", - "detect-newline": "^2.1.0", - "dezalgo": "~1.0.3", - "editor": "~1.0.0", - "find-npm-prefix": "^1.0.2", - "fs-vacuum": "~1.2.10", - "fs-write-stream-atomic": "~1.0.10", - "gentle-fs": "^2.0.1", - "glob": "~7.1.2", - "graceful-fs": "~4.1.11", - "has-unicode": "~2.0.1", - "hosted-git-info": "^2.6.0", - "iferr": "~0.1.5", - "imurmurhash": "*", - "inflight": "~1.0.6", - "inherits": "~2.0.3", - "ini": "^1.3.5", - "init-package-json": "^1.10.3", - "is-cidr": "~1.0.0", - "json-parse-better-errors": "^1.0.2", - "lazy-property": "~1.0.0", - "libcipm": "^1.6.2", - "libnpx": "^10.2.0", - "lock-verify": "^2.0.2", - "lockfile": "^1.0.4", - "lodash._baseindexof": "*", - "lodash._baseuniq": "~4.6.0", - "lodash._bindcallback": "*", - "lodash._cacheindexof": "*", - "lodash._createcache": "*", - "lodash._getnative": "*", - "lodash.clonedeep": "~4.5.0", - "lodash.restparam": "*", - "lodash.union": "~4.6.0", - "lodash.uniq": "~4.5.0", - "lodash.without": "~4.4.0", - "lru-cache": "^4.1.2", - "meant": "~1.0.1", - "mississippi": "^3.0.0", - "mkdirp": "~0.5.1", - "move-concurrently": "^1.0.1", - "node-gyp": "^3.6.2", - "nopt": "~4.0.1", - "normalize-package-data": "~2.4.0", - "npm-audit-report": "^1.0.9", - "npm-cache-filename": "~1.0.2", - "npm-install-checks": "~3.0.0", - "npm-lifecycle": "^2.0.1", - "npm-package-arg": "^6.1.0", - "npm-packlist": "~1.1.10", - "npm-profile": "^3.0.1", - "npm-registry-client": "^8.5.1", - "npm-registry-fetch": "^1.1.0", - "npm-user-validate": "~1.0.0", - "npmlog": "~4.1.2", - "once": "~1.4.0", - "opener": "~1.4.3", - "osenv": "^0.1.5", - "pacote": "^7.6.1", - "path-is-inside": "~1.0.2", - "promise-inflight": "~1.0.1", - "qrcode-terminal": "^0.12.0", - "query-string": "^6.1.0", - "qw": "~1.0.1", - "read": "~1.0.7", - "read-cmd-shim": "~1.0.1", - "read-installed": "~4.0.3", - "read-package-json": "^2.0.13", - "read-package-tree": "^5.2.1", - "readable-stream": "^2.3.6", - "readdir-scoped-modules": "*", - "request": "^2.85.0", - "retry": "^0.12.0", - "rimraf": "~2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.5.0", - "sha": "~2.0.1", - "slide": "~1.1.6", - "sorted-object": "~2.0.1", - "sorted-union-stream": "~2.1.3", - "ssri": "^5.3.0", - "strip-ansi": "~4.0.0", - "tar": "^4.4.2", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "uid-number": "0.0.6", - "umask": "~1.1.0", - "unique-filename": "~1.1.0", - "unpipe": "~1.0.0", - "update-notifier": "^2.5.0", - "uuid": "^3.2.1", - "validate-npm-package-license": "^3.0.3", - "validate-npm-package-name": "~3.0.0", - "which": "~1.3.0", - "worker-farm": "^1.6.0", - "wrappy": "~1.0.2", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "JSONStream": { - "version": "1.3.2", - "bundled": true, - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "mustache": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.3.tgz", + "integrity": "sha512-vM5FkMHamTYmVYeAujypihuPrJQDtaUIlKeeVb1AMJ73OZLtWiF7GprqrjxD0gJWT53W9JfqXxf97nXQjMQkqA==", + "dev": true + }, + "npm": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.11.3.tgz", + "integrity": "sha512-K2h+MPzZiY39Xf6eHEdECe/LKoJXam4UCflz5kIxoskN3LQFeYs5fqBGT5i4TtM/aBk+86Mcf+jgXs/WuWAutQ==", + "dev": true, + "requires": { + "JSONStream": "^1.3.5", + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.3", + "bluebird": "^3.5.5", + "byte-size": "^5.0.1", + "cacache": "^12.0.3", + "call-limit": "^1.1.1", + "chownr": "^1.1.2", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "^3.0.3", + "columnify": "~1.5.4", + "config-chain": "^1.1.12", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.2.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.8.2", + "iferr": "^1.0.2", + "imurmurhash": "*", + "infer-owner": "^1.0.4", + "inflight": "~1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.5", + "init-package-json": "^1.10.3", + "is-cidr": "^3.0.0", + "json-parse-better-errors": "^1.0.2", + "lazy-property": "~1.0.0", + "libcipm": "^4.0.3", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "libnpx": "^10.2.0", + "lock-verify": "^2.1.0", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^5.1.1", + "meant": "~1.0.1", + "mississippi": "^3.0.0", + "mkdirp": "~0.5.1", + "move-concurrently": "^1.0.1", + "node-gyp": "^5.0.3", + "nopt": "~4.0.1", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.2", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "~3.0.0", + "npm-lifecycle": "^3.1.3", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.4", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npm-user-validate": "~1.0.0", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.1", + "osenv": "^0.1.5", + "pacote": "^9.5.8", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.8.2", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "^1.0.4", + "read-installed": "~4.0.3", + "read-package-json": "^2.1.0", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.4.0", + "readdir-scoped-modules": "^1.1.0", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "^2.6.3", + "safe-buffer": "^5.1.2", + "semver": "^5.7.1", + "sha": "^3.0.0", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.1", + "stringify-package": "^1.0.0", + "tar": "^4.4.10", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.2", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" }, "dependencies": { + "JSONStream": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "bundled": true, + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "3.5.2", + "bundled": true, + "dev": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "5.5.2", + "bundled": true, + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "asap": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, + "asn1": { + "version": "0.2.4", + "bundled": true, + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true, + "dev": true + }, + "aws4": { + "version": "1.8.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bin-links": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.0.1", + "graceful-fs": "^4.1.15", + "write-file-atomic": "^2.3.0" + } + }, + "bluebird": { + "version": "3.5.5", + "bundled": true, + "dev": true + }, + "boxen": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "builtins": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "byline": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "byte-size": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "cacache": { + "version": "12.0.3", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "call-limit": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "cidr-regex": { + "version": "2.0.10", + "bundled": true, + "dev": true, + "requires": { + "ip-regex": "^2.1.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + } + }, + "cli-table3": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "cmd-shim": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "color-convert": { + "version": "1.9.1", + "bundled": true, + "dev": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "bundled": true, + "dev": true + }, + "colors": { + "version": "1.3.3", + "bundled": true, + "dev": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "dev": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "bundled": true, + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + } + } + }, + "crypto-random-string": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "bundled": true, + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "duplexify": { + "version": "3.6.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editor": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "encoding": { + "version": "0.1.12", + "bundled": true, + "dev": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "env-paths": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "err-code": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "errno": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "bundled": true, + "dev": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "bundled": true, + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "figgy-pudding": { + "version": "3.5.1", + "bundled": true, + "dev": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-minipass": { + "version": "1.2.6", + "bundled": true, + "dev": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "genfun": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "gentle-fs": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.2", + "chownr": "^1.1.2", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "infer-owner": "^1.0.4", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "got": { + "version": "6.7.1", + "bundled": true, + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.2", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "har-validator": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.8.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^5.1.1" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true, + "dev": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.2", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "iferr": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true + }, + "init-package-json": { + "version": "1.10.3", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "ip": { + "version": "1.1.5", + "bundled": true, + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "bundled": true, + "dev": true + }, + "is-ci": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "ci-info": "^1.0.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "bundled": true, + "dev": true + } + } + }, + "is-cidr": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "cidr-regex": "^2.0.10" + } + }, + "is-date-object": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-symbol": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "bundled": true, + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, "jsonparse": { "version": "1.3.1", "bundled": true, "dev": true }, - "through": { - "version": "2.3.8", + "jsprim": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "libcipm": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.0.2", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "libnpm": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.2", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npmlog": "^4.1.2", + "pacote": "^9.5.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "libnpmaccess": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmconfig": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "bundled": true, + "dev": true + } + } + }, + "libnpmhook": { + "version": "5.0.3", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmorg": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmpublish": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "libnpmsearch": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmteam": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpx": { + "version": "10.2.0", + "bundled": true, + "dev": true, + "requires": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^11.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lock-verify": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + } + }, + "lockfile": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash._baseindexof": { + "version": "3.1.0", "bundled": true, "dev": true - } - } - }, - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "bin-links": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "cmd-shim": "^2.0.2", - "fs-write-stream-atomic": "^1.0.10", - "gentle-fs": "^2.0.0", - "graceful-fs": "^4.1.11", - "slide": "^1.1.6" - } - }, - "bluebird": { - "version": "3.5.1", - "bundled": true, - "dev": true - }, - "byte-size": { - "version": "4.0.2", - "bundled": true, - "dev": true - }, - "cacache": { - "version": "10.0.4", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - }, - "dependencies": { + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash._createset": { + "version": "4.0.3", + "bundled": true, + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true, + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true, + "dev": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true, + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true, + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "bundled": true, + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "make-fetch-happen": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "meant": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "mime-db": { + "version": "1.35.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.3", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "requires": { + "minipass": "^2.2.1" + } + }, "mississippi": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { @@ -7692,1225 +8191,537 @@ "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", - "pump": "^2.0.1", + "pump": "^3.0.0", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" }, "dependencies": { - "concat-stream": { - "version": "1.6.1", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "duplexify": { - "version": "3.5.4", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true, - "dev": true - } - } - }, - "pump": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "duplexify": "^3.5.3", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "through2": { - "version": "2.0.3", + "aproba": { + "version": "1.2.0", "bundled": true, - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } + "dev": true } } }, - "y18n": { - "version": "4.0.0", + "ms": { + "version": "2.1.1", "bundled": true, "dev": true - } - } - }, - "call-limit": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cli-columns": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.0.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "2.1.1", + }, + "mute-stream": { + "version": "0.0.7", + "bundled": true, + "dev": true + }, + "node-fetch-npm": { + "version": "2.0.2", "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-gyp": { + "version": "5.0.3", + "bundled": true, + "dev": true, + "requires": { + "env-paths": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^4.4.8", + "which": "1" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", + "nopt": { + "version": "3.0.6", "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "abbrev": "1" } + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true } } }, - "strip-ansi": { - "version": "3.0.1", + "nopt": { + "version": "4.0.1", "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", + "resolve": { + "version": "1.10.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } } } - } - } - }, - "cli-table2": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "requires": { - "colors": "^1.1.2", - "lodash": "^3.10.1", - "string-width": "^1.0.1" - }, - "dependencies": { - "colors": { - "version": "1.1.2", + }, + "npm-audit-report": { + "version": "1.3.2", "bundled": true, "dev": true, - "optional": true + "requires": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } }, - "lodash": { - "version": "3.10.1", + "npm-bundled": { + "version": "1.0.6", "bundled": true, "dev": true }, - "string-width": { + "npm-cache-filename": { "version": "1.0.2", "bundled": true, + "dev": true + }, + "npm-install-checks": { + "version": "3.0.0", + "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - } + "semver": "^2.3.0 || 3.x || 4 || 5" } - } - } - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "mkdirp": "~0.5.0" - } - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "3.0.1", + }, + "npm-lifecycle": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "npm-logical-tree": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, + "npm-package-arg": { + "version": "6.1.1", "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" } }, - "wcwidth": { - "version": "1.0.1", + "npm-packlist": { + "version": "1.4.4", "bundled": true, "dev": true, "requires": { - "defaults": "^1.0.3" - }, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "^1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } - } - } - }, - "config-chain": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - }, - "dependencies": { - "proto-list": { - "version": "1.2.4", + }, + "npm-pick-manifest": { + "version": "3.0.2", "bundled": true, - "dev": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "detect-indent": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - }, - "dependencies": { - "asap": { - "version": "2.0.5", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "npm-profile": { + "version": "4.0.2", "bundled": true, - "dev": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "find-npm-prefix": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "fs-vacuum": { - "version": "1.2.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "path-is-inside": "^1.0.1", - "rimraf": "^2.5.2" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "gentle-fs": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.2", - "fs-vacuum": "^1.2.10", - "graceful-fs": "^4.1.11", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "path-is-inside": "^1.0.2", - "read-cmd-shim": "^1.0.1", - "slide": "^1.1.6" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "fs.realpath": { + "dev": true, + "requires": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^4.0.0" + } + }, + "npm-registry-fetch": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "JSONStream": "^1.3.4", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-user-validate": { "version": "1.0.0", "bundled": true, "dev": true }, - "minimatch": { - "version": "3.0.4", + "npmlog": { + "version": "4.1.2", "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, - "path-is-absolute": { + "number-is-nan": { "version": "1.0.1", "bundled": true, "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.6.0", - "bundled": true, - "dev": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.10.3", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "promzard": { - "version": "0.3.0", + }, + "oauth-sign": { + "version": "0.9.0", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object-keys": { + "version": "1.0.12", + "bundled": true, + "dev": true + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", "bundled": true, "dev": true, "requires": { - "read": "1" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } - } - } - }, - "is-cidr": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "cidr-regex": "1.0.6" - }, - "dependencies": { - "cidr-regex": { - "version": "1.0.6", + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.1", "bundled": true, "dev": true - } - } - }, - "json-parse-better-errors": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "lazy-property": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "libcipm": { - "version": "1.6.2", - "bundled": true, - "dev": true, - "requires": { - "bin-links": "^1.1.0", - "bluebird": "^3.5.1", - "find-npm-prefix": "^1.0.2", - "graceful-fs": "^4.1.11", - "lock-verify": "^2.0.0", - "npm-lifecycle": "^2.0.0", - "npm-logical-tree": "^1.2.1", - "npm-package-arg": "^6.0.0", - "pacote": "^7.5.1", - "protoduck": "^5.0.0", - "read-package-json": "^2.0.12", - "rimraf": "^2.6.2", - "worker-farm": "^1.5.4" - }, - "dependencies": { - "lock-verify": { - "version": "2.0.1", + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", "bundled": true, "dev": true, "requires": { - "npm-package-arg": "^5.1.2", - "semver": "^5.4.1" - }, - "dependencies": { - "npm-package-arg": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.4.2", - "osenv": "^0.1.4", - "semver": "^5.1.0", - "validate-npm-package-name": "^3.0.0" - } - } + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, - "npm-logical-tree": { - "version": "1.2.1", + "p-finally": { + "version": "1.0.0", "bundled": true, "dev": true }, - "protoduck": { - "version": "5.0.0", + "p-limit": { + "version": "1.2.0", "bundled": true, "dev": true, "requires": { - "genfun": "^4.0.1" - }, - "dependencies": { - "genfun": { - "version": "4.0.1", - "bundled": true, - "dev": true - } + "p-try": "^1.0.0" } - } - } - }, - "libnpx": { - "version": "10.2.0", - "bundled": true, - "dev": true, - "requires": { - "dotenv": "^5.0.1", - "npm-package-arg": "^6.0.0", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.0", - "update-notifier": "^2.3.0", - "which": "^1.3.0", - "y18n": "^4.0.0", - "yargs": "^11.0.0" - }, - "dependencies": { - "dotenv": { - "version": "5.0.1", + }, + "p-locate": { + "version": "2.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } }, - "y18n": { - "version": "4.0.0", + "p-try": { + "version": "1.0.0", "bundled": true, "dev": true }, - "yargs": { - "version": "11.0.0", + "package-json": { + "version": "4.0.1", "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pacote": { + "version": "9.5.8", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.3", + "cacache": "^12.0.2", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" }, "dependencies": { - "cliui": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "wrap-ansi": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "decamelize": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "locate-path": "^2.0.0" - }, - "dependencies": { - "locate-path": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "dependencies": { - "p-locate": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "^1.1.0" - }, - "dependencies": { - "p-limit": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "^1.0.0" - }, - "dependencies": { - "p-try": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-exists": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "get-caller-file": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "os-locale": { - "version": "2.1.0", + "minipass": { + "version": "2.3.5", "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - }, - "dependencies": { - "shebang-regex": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "lcid": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - }, - "dependencies": { - "invert-kv": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "mem": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "bundled": true, - "dev": true - } - } - } + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "2.1.1", + } + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - } + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "which-module": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "y18n": { - "version": "3.2.1", - "bundled": true, - "dev": true - }, - "yargs-parser": { - "version": "9.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - } + "safe-buffer": "~5.1.0" } } } - } - } - }, - "lock-verify": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "npm-package-arg": "^5.1.2 || 6", - "semver": "^5.4.1" - } - }, - "lockfile": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "requires": { - "signal-exit": "^3.0.2" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.2", + }, + "path-exists": { + "version": "3.0.0", "bundled": true, "dev": true - } - } - }, - "lodash._baseindexof": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "lodash._baseuniq": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._createset": "~4.0.0", - "lodash._root": "~3.0.0" - }, - "dependencies": { - "lodash._createset": { - "version": "4.0.3", + }, + "path-is-absolute": { + "version": "1.0.1", "bundled": true, "dev": true }, - "lodash._root": { - "version": "3.0.1", + "path-is-inside": { + "version": "1.0.2", "bundled": true, "dev": true - } - } - }, - "lodash._bindcallback": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "lodash._createcache": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "bundled": true, - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "bundled": true, - "dev": true - }, - "lodash.union": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.without": { - "version": "4.4.0", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", + }, + "path-key": { + "version": "2.0.1", "bundled": true, "dev": true }, - "yallist": { - "version": "2.1.2", + "path-parse": { + "version": "1.0.6", "bundled": true, "dev": true - } - } - }, - "meant": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "mississippi": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.1", + }, + "performance-now": { + "version": "2.1.0", "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } + "dev": true }, - "duplexify": { - "version": "3.5.4", + "pify": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "promise-retry": { + "version": "1.1.1", "bundled": true, "dev": true, "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "err-code": "^1.0.0", + "retry": "^0.10.0" }, "dependencies": { - "stream-shift": { - "version": "1.0.0", + "retry": { + "version": "0.10.1", "bundled": true, "dev": true } } }, - "end-of-stream": { - "version": "1.4.1", + "promzard": { + "version": "0.3.0", "bundled": true, "dev": true, "requires": { - "once": "^1.4.0" + "read": "1" } }, - "flush-write-stream": { - "version": "1.0.2", + "proto-list": { + "version": "1.2.4", "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } + "dev": true }, - "from2": { - "version": "2.3.0", + "protoduck": { + "version": "5.0.1", "bundled": true, "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "genfun": "^5.0.0" } }, - "parallel-transform": { - "version": "1.1.0", + "prr": { + "version": "1.0.1", "bundled": true, - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true, - "dev": true - } - } + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "psl": { + "version": "1.1.29", + "bundled": true, + "dev": true }, "pump": { "version": "3.0.0", @@ -8922,11 +8733,11 @@ } }, "pumpify": { - "version": "1.4.0", + "version": "1.5.1", "bundled": true, "dev": true, "requires": { - "duplexify": "^3.5.3", + "duplexify": "^3.6.0", "inherits": "^2.0.3", "pump": "^2.0.0" }, @@ -8942,3247 +8753,2201 @@ } } }, - "stream-each": { - "version": "1.2.2", + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "qs": { + "version": "6.5.2", + "bundled": true, + "dev": true + }, + "query-string": { + "version": "6.8.2", "bundled": true, "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "qw": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { - "stream-shift": { - "version": "1.0.0", + "minimist": { + "version": "1.2.0", "bundled": true, "dev": true } } }, - "through2": { - "version": "2.0.3", + "read": { + "version": "1.0.7", "bundled": true, "dev": true, "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + } + }, + "read-package-json": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "slash": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.3.1", + "bundled": true, + "dev": true, + "requires": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "readable-stream": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "bundled": true, + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "request": { + "version": "2.88.0", + "bundled": true, + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "retry": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1" }, "dependencies": { - "xtend": { - "version": "4.0.1", + "aproba": { + "version": "1.2.0", "bundled": true, "dev": true } } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", + }, + "safe-buffer": { + "version": "5.1.2", "bundled": true, "dev": true - } - } - }, - "move-concurrently": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "copy-concurrently": { - "version": "1.0.5", + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.7.1", + "bundled": true, + "dev": true + }, + "semver-diff": { + "version": "2.1.0", "bundled": true, "dev": true, "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "semver": "^5.0.3" } }, - "run-queue": { - "version": "1.0.3", + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "sha": { + "version": "3.0.0", "bundled": true, "dev": true, "requires": { - "aproba": "^1.1.1" + "graceful-fs": "^4.1.2" } - } - } - }, - "node-gyp": { - "version": "3.6.2", - "bundled": true, - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "2", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "fstream": { - "version": "1.0.11", + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slash": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "smart-buffer": { + "version": "4.0.2", + "bundled": true, + "dev": true + }, + "socks": { + "version": "2.3.2", "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "ip": "^1.1.5", + "smart-buffer": "4.0.2" } }, - "minimatch": { - "version": "3.0.4", + "socks-proxy-agent": { + "version": "4.0.2", "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "agent-base": "~4.2.1", + "socks": "~2.3.2" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", + "agent-base": { + "version": "4.2.1", "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } + "es6-promisify": "^5.0.0" } } } }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "semver": { - "version": "5.3.0", + "sorted-object": { + "version": "2.0.1", "bundled": true, "dev": true }, - "tar": { - "version": "2.2.1", + "sorted-union-stream": { + "version": "2.1.3", "bundled": true, "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" }, "dependencies": { - "block-stream": { - "version": "0.0.9", + "from2": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "readable-stream": { + "version": "1.1.14", "bundled": true, "dev": true, "requires": { - "inherits": "~2.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true } } - } - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", + }, + "spdx-correct": { + "version": "3.0.0", "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.1", - "bundled": true, - "dev": true - } + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } - } - } - }, - "npm-audit-report": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "cli-table2": "^0.2.0", - "console-control-strings": "^1.1.0" - }, - "dependencies": { - "console-control-strings": { - "version": "1.1.0", + }, + "spdx-exceptions": { + "version": "2.1.0", "bundled": true, "dev": true - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "^2.3.0 || 3.x || 4 || 5" - } - }, - "npm-lifecycle": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "byline": "^5.0.0", - "graceful-fs": "^4.1.11", - "node-gyp": "^3.6.2", - "resolve-from": "^4.0.0", - "slide": "^1.1.6", - "uid-number": "0.0.6", - "umask": "^1.1.0", - "which": "^1.3.0" - }, - "dependencies": { - "byline": { - "version": "5.0.0", + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.3", "bundled": true, "dev": true }, - "resolve-from": { - "version": "4.0.0", + "split-on-first": { + "version": "1.1.0", "bundled": true, "dev": true - } - } - }, - "npm-package-arg": { - "version": "6.1.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.6.0", - "osenv": "^0.1.5", - "semver": "^5.5.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - }, - "dependencies": { - "ignore-walk": { - "version": "3.0.1", + }, + "sshpk": { + "version": "1.14.2", "bundled": true, "dev": true, "requires": { - "minimatch": "^3.0.4" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" }, "dependencies": { - "minimatch": { - "version": "3.0.4", + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } + "safe-buffer": "~5.1.0" } } } }, - "npm-bundled": { - "version": "1.0.3", + "stream-shift": { + "version": "1.0.0", "bundled": true, "dev": true - } - } - }, - "npm-profile": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.2", - "make-fetch-happen": "^2.5.0" - }, - "dependencies": { - "make-fetch-happen": { - "version": "2.6.0", + }, + "strict-uri-encode": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", "bundled": true, "dev": true, "requires": { - "agentkeepalive": "^3.3.0", - "cacache": "^10.0.0", - "http-cache-semantics": "^3.8.0", - "http-proxy-agent": "^2.0.0", - "https-proxy-agent": "^2.1.0", - "lru-cache": "^4.1.1", - "mississippi": "^1.2.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^3.0.1", - "ssri": "^5.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { - "agentkeepalive": { - "version": "3.3.0", - "bundled": true, - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "ms": "^2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", + "ansi-regex": { + "version": "3.0.0", "bundled": true, "dev": true }, - "http-proxy-agent": { + "is-fullwidth-code-point": { "version": "2.0.0", "bundled": true, - "dev": true, - "requires": { - "agent-base": "4", - "debug": "2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "mississippi": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^1.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "duplexify": { - "version": "3.5.3", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true, - "dev": true - } - } - }, - "pump": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "duplexify": "^3.5.3", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.19", - "bundled": true, - "dev": true - } - } - }, - "json-parse-better-errors": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "retry": { - "version": "0.10.1", - "bundled": true, - "dev": true - } - } + "dev": true }, - "socks-proxy-agent": { - "version": "3.0.1", + "strip-ansi": { + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true, - "dev": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true, - "dev": true - } - } - } + "ansi-regex": "^3.0.0" } } } - } - } - }, - "npm-registry-client": { - "version": "8.5.1", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "^1.5.2", - "graceful-fs": "^4.1.6", - "normalize-package-data": "~1.0.1 || ^2.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", - "npmlog": "2 || ^3.1.0 || ^4.0.0", - "once": "^1.3.3", - "request": "^2.74.0", - "retry": "^0.10.0", - "safe-buffer": "^5.1.1", - "semver": "2 >=2.2.1 || 3.x || 4 || 5", - "slide": "^1.1.3", - "ssri": "^5.2.4" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.1", + }, + "string_decoder": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-package": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", "bundled": true, "dev": true, "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } + "ansi-regex": "^2.0.0" } }, - "retry": { - "version": "0.10.1", + "strip-eof": { + "version": "1.0.0", "bundled": true, "dev": true - } - } - }, - "npm-registry-fetch": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "figgy-pudding": "^2.0.1", - "lru-cache": "^4.1.2", - "make-fetch-happen": "^3.0.0", - "npm-package-arg": "^6.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "figgy-pudding": { + }, + "strip-json-comments": { "version": "2.0.1", "bundled": true, "dev": true }, - "make-fetch-happen": { - "version": "3.0.0", + "supports-color": { + "version": "5.4.0", "bundled": true, "dev": true, "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^10.0.4", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.0", - "lru-cache": "^4.1.2", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^3.0.1", - "ssri": "^5.2.4" + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "4.4.10", + "bundled": true, + "dev": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.5", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" }, "dependencies": { - "agentkeepalive": { - "version": "3.4.1", + "minipass": { + "version": "2.3.5", "bundled": true, "dev": true, "requires": { - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "ms": "^2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - } + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "http-cache-semantics": { - "version": "3.8.1", + "yallist": { + "version": "3.0.3", "bundled": true, "dev": true - }, - "http-proxy-agent": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "requires": { - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "retry": { - "version": "0.10.1", - "bundled": true, - "dev": true - } - } - }, - "socks-proxy-agent": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true, - "dev": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true, - "dev": true - } - } - } - } } } - } - } - }, - "npm-user-validate": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.4", + }, + "term-size": { + "version": "1.2.0", "bundled": true, "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } + "execa": "^0.7.0" } }, - "console-control-strings": { - "version": "1.1.0", + "text-table": { + "version": "0.2.0", "bundled": true, "dev": true }, - "gauge": { - "version": "2.7.4", + "through": { + "version": "2.3.8", + "bundled": true, + "dev": true + }, + "through2": { + "version": "2.0.3", "bundled": true, "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" }, "dependencies": { - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", + "readable-stream": { + "version": "2.3.6", "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "wide-align": { - "version": "1.1.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.2" + "safe-buffer": "~5.1.0" } } } }, - "set-blocking": { + "timed-out": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "bundled": true, + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "umask": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { "version": "2.0.0", "bundled": true, + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true, "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.4.3", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - }, - "dependencies": { - "os-homedir": { + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "bundled": true, + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true + }, + "util-extend": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "util-promisify": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.3.2", + "bundled": true, + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtins": "^1.0.3" + } }, - "os-tmpdir": { - "version": "1.0.2", + "verror": { + "version": "1.10.0", "bundled": true, - "dev": true - } - } - }, - "pacote": { - "version": "7.6.1", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "cacache": "^10.0.4", - "get-stream": "^3.0.0", - "glob": "^7.1.2", - "lru-cache": "^4.1.1", - "make-fetch-happen": "^2.6.0", - "minimatch": "^3.0.4", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.0.0", - "npm-packlist": "^1.1.10", - "npm-pick-manifest": "^2.1.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.0", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.1", - "semver": "^5.5.0", - "ssri": "^5.2.4", - "tar": "^4.4.0", - "unique-filename": "^1.1.0", - "which": "^1.3.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", "bundled": true, "dev": true }, - "make-fetch-happen": { - "version": "2.6.0", + "wide-align": { + "version": "1.1.2", "bundled": true, "dev": true, "requires": { - "agentkeepalive": "^3.3.0", - "cacache": "^10.0.0", - "http-cache-semantics": "^3.8.0", - "http-proxy-agent": "^2.0.0", - "https-proxy-agent": "^2.1.0", - "lru-cache": "^4.1.1", - "mississippi": "^1.2.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^3.0.1", - "ssri": "^5.0.0" + "string-width": "^1.0.2" }, "dependencies": { - "agentkeepalive": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "ms": "^2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "bundled": true, - "dev": true - }, - "http-proxy-agent": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "mississippi": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^1.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.1", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "duplexify": { - "version": "3.5.4", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true, - "dev": true - } - } - }, - "pump": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "duplexify": "^3.5.3", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.19", - "bundled": true, - "dev": true - } - } - }, - "json-parse-better-errors": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "socks-proxy-agent": { - "version": "3.0.1", + "string-width": { + "version": "1.0.2", "bundled": true, "dev": true, "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true, - "dev": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true, - "dev": true - } - } - } + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } }, - "minimatch": { - "version": "3.0.4", + "widest-line": { + "version": "2.0.0", "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "string-width": "^2.1.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "bundled": true, + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", + "string-width": { + "version": "1.0.2", "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } }, - "npm-pick-manifest": { - "version": "2.1.0", + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", "bundled": true, "dev": true, "requires": { - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "promise-retry": { - "version": "1.1.1", + "xdg-basedir": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "11.0.0", "bundled": true, "dev": true, "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "retry": { - "version": "0.10.1", + "y18n": { + "version": "3.2.1", "bundled": true, "dev": true } } }, - "protoduck": { - "version": "5.0.0", + "yargs-parser": { + "version": "9.0.2", "bundled": true, "dev": true, "requires": { - "genfun": "^4.0.1" - }, - "dependencies": { - "genfun": { - "version": "4.0.1", - "bundled": true, - "dev": true - } + "camelcase": "^4.1.0" } } } - }, - "path-is-inside": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "qrcode-terminal": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "query-string": { - "version": "6.1.0", - "bundled": true, - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "strict-uri-encode": "^2.0.0" - }, - "dependencies": { - "decode-uri-component": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "strict-uri-encode": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "qw": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "read-cmd-shim": { - "version": "1.0.1", - "bundled": true, + } + } + }, + "json-schema-library": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json-schema-library/-/json-schema-library-3.3.2.tgz", + "integrity": "sha1-6iHoEtIlY4AjTxCNAlKypQyih4k=", + "dev": true, + "requires": { + "gson-pointer": "^3.2.1", + "valid-url": "^1.0.9" + } + }, + "json-schema-test": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-schema-test/-/json-schema-test-1.3.0.tgz", + "integrity": "sha1-wyCSMlbM6BKOF3mOgDatMr7Nhmk=", + "dev": true, + "requires": { + "glob": "^5.0.10" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "graceful-fs": "^4.1.2" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, + } + } + }, + "json-schema-test-suite": { + "version": "git+https://github.com/json-schema/JSON-Schema-Test-Suite.git#002ce0fbe070f483429260188b18fe07bd6ec0f0", + "from": "git+https://github.com/json-schema/JSON-Schema-Test-Suite.git", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-schema-validator-generator": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/json-schema-validator-generator/-/json-schema-validator-generator-1.1.11.tgz", + "integrity": "sha1-UAmFfPO89lWjq562jU77EgdI2us=", + "dev": true, + "requires": { + "babel-cli": "^6.24.1", + "babel-core": "^6.24.1", + "babel-eslint": "^7.2.1", + "babel-plugin-module-resolver": "^2.7.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-flow-strip-types": "^6.22.0", + "babel-plugin-transform-object-rest-spread": "^6.23.0", + "babel-preset-es2015": "^6.24.1", + "eslint": "^3.19.0", + "eslint-config-prettier": "^2.3.0", + "eslint-config-stripe": "^1.0.12", + "eslint-plugin-flowtype": "2.33.0", + "eslint-plugin-import": "2.2.0", + "eslint-plugin-jsx-a11y": "5.0.1", + "eslint-plugin-prettier": "^2.1.2", + "eslint-plugin-react": "7.0.1", + "flow-bin": "0.53.1", + "jest": "^19.0.2", + "json-pointer": "^0.6.0", + "lambdanwang": "1.2.2", + "lodash": "^4.17.4", + "prettier": "^1.5.2" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "debuglog": "^1.0.1", - "graceful-fs": "^4.1.2", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "slide": "~1.1.3", - "util-extend": "^1.0.1" - }, - "dependencies": { - "util-extend": { - "version": "1.0.3", - "bundled": true, - "dev": true - } + "esutils": "^2.0.2", + "isarray": "^1.0.0" } }, - "read-package-json": { - "version": "2.0.13", - "bundled": true, + "eslint-import-resolver-node": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", + "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", "dev": true, "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "json-parse-better-errors": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "slash": { - "version": "1.0.0", - "bundled": true, - "dev": true - } + "debug": "^2.2.0", + "object-assign": "^4.0.1", + "resolve": "^1.1.6" } }, - "read-package-tree": { - "version": "5.2.1", - "bundled": true, + "eslint-plugin-import": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz", + "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", "dev": true, "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "once": "^1.3.0", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0" + "builtin-modules": "^1.1.1", + "contains-path": "^0.1.0", + "debug": "^2.2.0", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.2.0", + "eslint-module-utils": "^2.0.0", + "has": "^1.0.1", + "lodash.cond": "^4.3.0", + "minimatch": "^3.0.3", + "pkg-up": "^1.0.0" } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } + } + } + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsonschema": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", + "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "requires": { + "array-includes": "^3.0.3" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "lambdanwang": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/lambdanwang/-/lambdanwang-1.2.2.tgz", + "integrity": "sha1-L39XL+ycjBWf7rOBlHepe23DRTM=", + "dev": true, + "requires": { + "babel-cli": "^6.24.1", + "babel-core": "^6.24.1", + "babel-eslint": "^7.2.1", + "babel-jest": "^20.0.1", + "babel-plugin-module-resolver": "^2.7.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-flow-strip-types": "^6.22.0", + "babel-plugin-transform-object-rest-spread": "^6.23.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-flow": "^6.23.0", + "babel-preset-stage-2": "^6.24.1", + "eslint": "^3.3.0", + "eslint-config-stripe": "^1.0.10", + "eslint-plugin-flowtype": "^2.33.0", + "eslint-plugin-import": "^2.2.0", + "eslint-plugin-jsx-a11y": "^2.2.3", + "eslint-plugin-react": "^6.10.3", + "eslint-plugin-stripe": "1.0.3", + "flow-bin": "0.53.1", + "flow-typed": "^2.1.2", + "jest-cli": "^20.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "babel-jest": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", + "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", + "dev": true, + "requires": { + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.0.0", + "babel-preset-jest": "^20.0.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz", + "integrity": "sha1-r+3IU70/jcNUjqZx++adA8wsF2c=", + "dev": true + }, + "babel-preset-jest": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", + "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^20.0.3" } }, - "readdir-scoped-modules": { + "bser": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", + "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", "dev": true, "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" + "node-int64": "^0.4.0" } }, - "request": { - "version": "2.85.0", - "bundled": true, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "hawk": "~6.0.2", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "stringstream": "~0.0.5", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" - }, - "dependencies": { - "aws-sign2": { - "version": "0.7.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - }, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - }, - "dependencies": { - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "5.0.3", - "bundled": true, - "dev": true, - "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "bundled": true, - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - }, - "dependencies": { - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "bundled": true, - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "hawk": { - "version": "6.0.2", - "bundled": true, - "dev": true, - "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" - }, - "dependencies": { - "boom": { - "version": "4.3.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "cryptiles": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "boom": "5.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "bundled": true, - "dev": true, - "requires": { - "hoek": "4.x.x" - } - } - } - }, - "hoek": { - "version": "4.2.1", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "hoek": "4.x.x" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "extsprintf": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.10.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - }, - "sshpk": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.18", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "~1.33.0" - }, - "dependencies": { - "mime-db": { - "version": "1.33.0", - "bundled": true, - "dev": true - } - } - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.5.1", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.3.4", - "bundled": true, - "dev": true, - "requires": { - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - } + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz", + "integrity": "sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0=", + "dev": true, + "requires": { + "damerau-levenshtein": "^1.0.0", + "jsx-ast-utils": "^1.0.0", + "object-assign": "^4.0.1" } }, - "retry": { - "version": "0.12.0", - "bundled": true, - "dev": true + "eslint-plugin-react": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", + "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", + "dev": true, + "requires": { + "array.prototype.find": "^2.0.1", + "doctrine": "^1.2.2", + "has": "^1.0.1", + "jsx-ast-utils": "^1.3.4", + "object.assign": "^4.0.4" + } }, - "rimraf": { - "version": "2.6.2", - "bundled": true, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "glob": "^7.0.5" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, + "jest-changed-files": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-20.0.3.tgz", + "integrity": "sha1-k5TVzGXEOEBhSb7xv01Sto4D4/g=", "dev": true }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true + "jest-cli": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", + "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", + "dev": true, + "requires": { + "ansi-escapes": "^1.4.0", + "callsites": "^2.0.0", + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "istanbul-api": "^1.1.1", + "istanbul-lib-coverage": "^1.0.1", + "istanbul-lib-instrument": "^1.4.2", + "istanbul-lib-source-maps": "^1.1.0", + "jest-changed-files": "^20.0.3", + "jest-config": "^20.0.4", + "jest-docblock": "^20.0.3", + "jest-environment-jsdom": "^20.0.3", + "jest-haste-map": "^20.0.4", + "jest-jasmine2": "^20.0.4", + "jest-message-util": "^20.0.3", + "jest-regex-util": "^20.0.3", + "jest-resolve-dependencies": "^20.0.3", + "jest-runtime": "^20.0.4", + "jest-snapshot": "^20.0.3", + "jest-util": "^20.0.3", + "micromatch": "^2.3.11", + "node-notifier": "^5.0.2", + "pify": "^2.3.0", + "slash": "^1.0.0", + "string-length": "^1.0.1", + "throat": "^3.0.0", + "which": "^1.2.12", + "worker-farm": "^1.3.1", + "yargs": "^7.0.2" + } }, - "sha": { - "version": "2.0.1", - "bundled": true, + "jest-config": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", + "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "readable-stream": "^2.0.2" + "chalk": "^1.1.3", + "glob": "^7.1.1", + "jest-environment-jsdom": "^20.0.3", + "jest-environment-node": "^20.0.3", + "jest-jasmine2": "^20.0.4", + "jest-matcher-utils": "^20.0.3", + "jest-regex-util": "^20.0.3", + "jest-resolve": "^20.0.4", + "jest-validate": "^20.0.3", + "pretty-format": "^20.0.3" } }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true + "jest-diff": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", + "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "diff": "^3.2.0", + "jest-matcher-utils": "^20.0.3", + "pretty-format": "^20.0.3" + } }, - "sorted-object": { - "version": "2.0.1", - "bundled": true, + "jest-docblock": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz", + "integrity": "sha1-F76phDQswz2DxQ++FUXqDvqkRxI=", "dev": true }, - "sorted-union-stream": { - "version": "2.1.3", - "bundled": true, + "jest-environment-jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", + "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", "dev": true, "requires": { - "from2": "^1.3.0", - "stream-iterate": "^1.1.0" - }, - "dependencies": { - "from2": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~1.1.10" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - } - } - } - } - }, - "stream-iterate": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } + "jest-mock": "^20.0.3", + "jest-util": "^20.0.3", + "jsdom": "^9.12.0" } }, - "ssri": { - "version": "5.3.0", - "bundled": true, + "jest-environment-node": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", + "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "jest-mock": "^20.0.3", + "jest-util": "^20.0.3" } }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, + "jest-haste-map": { + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", + "integrity": "sha512-0IKAQjUvuZjMCNi/0VNQQF74/H9KB67hsHJqGiwTWQC6XO5Azs7kLWm+6Q/dwuhvDUvABDOBMFK2/FwZ3sZ07Q==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - } + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-docblock": "^20.0.3", + "micromatch": "^2.3.11", + "sane": "~1.6.0", + "worker-farm": "^1.3.1" } }, - "tar": { - "version": "4.4.2", - "bundled": true, + "jest-jasmine2": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", + "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", "dev": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - }, - "dependencies": { - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-matchers": "^20.0.3", + "jest-message-util": "^20.0.3", + "jest-snapshot": "^20.0.3", + "once": "^1.4.0", + "p-map": "^1.1.1" + } + }, + "jest-matcher-utils": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", + "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "pretty-format": "^20.0.3" + } + }, + "jest-matchers": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", + "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", + "dev": true, + "requires": { + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-message-util": "^20.0.3", + "jest-regex-util": "^20.0.3" } }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "tiny-relative-date": { - "version": "1.3.0", - "bundled": true, - "dev": true + "jest-message-util": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", + "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "micromatch": "^2.3.11", + "slash": "^1.0.0" + } }, - "uid-number": { - "version": "0.0.6", - "bundled": true, + "jest-mock": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-20.0.3.tgz", + "integrity": "sha1-i8Bw6QQUqhVcEajWTIaaDVxx2lk=", "dev": true }, - "umask": { - "version": "1.1.0", - "bundled": true, + "jest-regex-util": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-20.0.3.tgz", + "integrity": "sha1-hburXRM+RGJbGfr4xqpRItCF12I=", "dev": true }, - "unique-filename": { - "version": "1.1.0", - "bundled": true, + "jest-resolve": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", + "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", "dev": true, "requires": { - "unique-slug": "^2.0.0" - }, - "dependencies": { - "unique-slug": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - } + "browser-resolve": "^1.11.2", + "is-builtin-module": "^1.0.0", + "resolve": "^1.3.2" } }, - "unpipe": { - "version": "1.0.0", - "bundled": true, - "dev": true + "jest-resolve-dependencies": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", + "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", + "dev": true, + "requires": { + "jest-regex-util": "^20.0.3" + } }, - "update-notifier": { - "version": "2.5.0", - "bundled": true, + "jest-runtime": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", + "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "boxen": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "dependencies": { - "ansi-align": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.0.0" - } - }, - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "cli-boxes": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "term-size": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "execa": "^0.7.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - }, - "dependencies": { - "shebang-regex": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "widest-line": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.1.1" - } - } - } - }, - "chalk": { - "version": "2.4.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^1.9.0" - }, - "dependencies": { - "color-convert": { - "version": "1.9.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "^1.1.1" - }, - "dependencies": { - "color-name": { - "version": "1.1.3", - "bundled": true, - "dev": true - } - } - } - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "^3.0.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "configstore": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "dot-prop": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "is-obj": "^1.0.0" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "make-dir": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "unique-string": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "crypto-random-string": "^1.0.0" - }, - "dependencies": { - "crypto-random-string": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "import-lazy": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "is-ci": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "ci-info": "^1.0.0" - }, - "dependencies": { - "ci-info": { - "version": "1.1.3", - "bundled": true, - "dev": true - } - } - }, - "is-installed-globally": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - }, - "dependencies": { - "global-dirs": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, - "is-path-inside": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - } - } - }, - "is-npm": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "latest-version": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "package-json": "^4.0.0" - }, - "dependencies": { - "package-json": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - }, - "dependencies": { - "got": { - "version": "6.7.1", - "bundled": true, - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - }, - "dependencies": { - "create-error-class": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - }, - "dependencies": { - "capture-stack-trace": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "duplexer3": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "lowercase-keys": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "bundled": true, - "dev": true - }, - "unzip-response": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "url-parse-lax": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - }, - "dependencies": { - "prepend-http": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "registry-auth-token": { - "version": "3.3.2", - "bundled": true, - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "registry-url": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "rc": "^1.0.1" - }, - "dependencies": { - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "semver-diff": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "^5.0.3" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "bundled": true, - "dev": true - } + "babel-core": "^6.0.0", + "babel-jest": "^20.0.3", + "babel-plugin-istanbul": "^4.0.0", + "chalk": "^1.1.3", + "convert-source-map": "^1.4.0", + "graceful-fs": "^4.1.11", + "jest-config": "^20.0.4", + "jest-haste-map": "^20.0.4", + "jest-regex-util": "^20.0.3", + "jest-resolve": "^20.0.4", + "jest-util": "^20.0.3", + "json-stable-stringify": "^1.0.1", + "micromatch": "^2.3.11", + "strip-bom": "3.0.0", + "yargs": "^7.0.2" } }, - "uuid": { - "version": "3.2.1", - "bundled": true, + "jest-snapshot": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", + "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-util": "^20.0.3", + "natural-compare": "^1.4.0", + "pretty-format": "^20.0.3" + } + }, + "jest-util": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", + "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "jest-message-util": "^20.0.3", + "jest-mock": "^20.0.3", + "jest-validate": "^20.0.3", + "leven": "^2.1.0", + "mkdirp": "^0.5.1" + } + }, + "jest-validate": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", + "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "jest-matcher-utils": "^20.0.3", + "leven": "^2.1.0", + "pretty-format": "^20.0.3" + } + }, + "jsx-ast-utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", + "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", "dev": true }, - "validate-npm-package-license": { - "version": "3.0.3", - "bundled": true, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { - "spdx-correct": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - }, - "dependencies": { - "spdx-license-ids": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "spdx-expression-parse": { - "version": "3.0.0", - "bundled": true, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - }, - "dependencies": { - "spdx-exceptions": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "spdx-license-ids": { - "version": "3.0.0", - "bundled": true, - "dev": true - } + "is-utf8": "^0.2.0" } } } }, - "validate-npm-package-name": { - "version": "3.0.0", - "bundled": true, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "builtins": "^1.0.3" - }, - "dependencies": { - "builtins": { - "version": "1.0.3", - "bundled": true, - "dev": true - } + "pinkie-promise": "^2.0.0" } }, - "which": { - "version": "1.3.0", - "bundled": true, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pretty-format": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", + "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", + "dev": true, + "requires": { + "ansi-regex": "^2.1.1", + "ansi-styles": "^3.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "sane": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", + "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", "dev": true, "requires": { - "isexe": "^2.0.0" + "anymatch": "^1.3.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^1.8.0", + "minimatch": "^3.0.2", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.10.0" }, "dependencies": { - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true + "fb-watchman": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", + "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", + "dev": true, + "requires": { + "bser": "1.0.2" + } } } }, - "worker-farm": { - "version": "1.6.0", - "bundled": true, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.cond": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", + "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "dev": true + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "dev": true, + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", + "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true + }, + "mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "dev": true, + "requires": { + "mime-db": "~1.36.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "errno": "~0.1.7" - }, - "dependencies": { - "errno": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "prr": "~1.0.1" - }, - "dependencies": { - "prr": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } + "is-plain-object": "^2.0.4" } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, + "nan": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", + "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, - "wrappy": { - "version": "1.0.2", - "bundled": true, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "write-file-atomic": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - } - } + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "neo-async": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz", + "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node-fetch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz", + "integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true } } }, + "node-notifier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", + "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", diff --git a/test/issues/86.js b/test/issues/86.js new file mode 100644 index 0000000..03d0c01 --- /dev/null +++ b/test/issues/86.js @@ -0,0 +1,100 @@ +const assert = require('assert'); +const djv = require('../../'); +const jsonSchema = { + def: { + type: 'string', + format: 'ipv4', + }, +}; + + +describe('Issue-86: ipv4 regular expression', () => { + it('should handle valid ipv4 addresses', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '192.168.1.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(!errors, true); + }); + it('should fail if there are less than for quads', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '192.168.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail if last quad is absent', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '192.168.1.'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail more than three digits in a quad1', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '1111.1.1.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail more than three digits in a quad2', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '1.1111.1.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail more than three digits in a quad3', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '1.1.1111.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail more than three digits in a quad4', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '1.1.1.1111'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail if value of quad 1 is more than 255', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '256.1.1.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail if value of quad 2 is more than 255', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '1.256.1.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail if value of quad 3 is more than 255', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '1.1.256.1'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); + it('should fail if value of quad 4 is more than 255', () => { + const env = djv(); + env.addSchema('issue-86', jsonSchema); + + const ipv4 = '1.1.1.256'; + const errors = env.validate('issue-86#/def', ipv4); + assert.equal(typeof errors, 'object'); + }); +});