�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` 'use strict'; var sequences = {}; var DEFAULTS = { timestamp: function() { return Date.now(); }, datetime: function() { return (new Date).toISOString(); }, date: function() { return (new Date).toISOString().slice(0, 10); }, time: function() { return (new Date).toISOString().slice(11); }, random: function() { return Math.random(); }, randomint: function (args) { var limit = args && args.max || 2; return function() { return Math.floor(Math.random() * limit); }; }, seq: function (args) { var name = args && args.name || ''; sequences[name] = sequences[name] || 0; return function() { return sequences[name]++; }; } }; module.exports = function defFunc(ajv) { defFunc.definition = { compile: function (schema, parentSchema, it) { var funcs = {}; for (var key in schema) { var d = schema[key]; var func = getDefault(typeof d == 'string' ? d : d.func); funcs[key] = func.length ? func(d.args) : func; } return it.opts.useDefaults && !it.compositeRule ? assignDefaults : noop; function assignDefaults(data) { for (var prop in schema){ if (data[prop] === undefined || (it.opts.useDefaults == 'empty' && (data[prop] === null || data[prop] === ''))) data[prop] = funcs[prop](); } return true; } function noop() { return true; } }, DEFAULTS: DEFAULTS, metaSchema: { type: 'object', additionalProperties: { type: ['string', 'object'], additionalProperties: false, required: ['func', 'args'], properties: { func: { type: 'string' }, args: { type: 'object' } } } } }; ajv.addKeyword('dynamicDefaults', defFunc.definition); return ajv; function getDefault(d) { var def = DEFAULTS[d]; if (def) return def; throw new Error('invalid "dynamicDefaults" keyword property value: ' + d); } };