'use strict';

var _mapping = require('../../fp/_mapping'),
    util = require('./util'),
    Hash = util.Hash;

/*----------------------------------------------------------------------------*/

module.exports = new Hash(_mapping);
