| 
								
							 | 
							
								var baseFindKey = require('./_baseFindKey'),
							 | 
						
						
						
							| 
								
							 | 
							
								    baseForOwnRight = require('./_baseForOwnRight'),
							 | 
						
						
						
							| 
								
							 | 
							
								    baseIteratee = require('./_baseIteratee');
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								/**
							 | 
						
						
						
							| 
								
							 | 
							
								 * This method is like `_.findKey` except that it iterates over elements of
							 | 
						
						
						
							| 
								
							 | 
							
								 * a collection in the opposite order.
							 | 
						
						
						
							| 
								
							 | 
							
								 *
							 | 
						
						
						
							| 
								
							 | 
							
								 * @static
							 | 
						
						
						
							| 
								
							 | 
							
								 * @memberOf _
							 | 
						
						
						
							| 
								
							 | 
							
								 * @since 2.0.0
							 | 
						
						
						
							| 
								
							 | 
							
								 * @category Object
							 | 
						
						
						
							| 
								
							 | 
							
								 * @param {Object} object The object to inspect.
							 | 
						
						
						
							| 
								
							 | 
							
								 * @param {Function} [predicate=_.identity] The function invoked per iteration.
							 | 
						
						
						
							| 
								
							 | 
							
								 * @returns {string|undefined} Returns the key of the matched element,
							 | 
						
						
						
							| 
								
							 | 
							
								 *  else `undefined`.
							 | 
						
						
						
							| 
								
							 | 
							
								 * @example
							 | 
						
						
						
							| 
								
							 | 
							
								 *
							 | 
						
						
						
							| 
								
							 | 
							
								 * var users = {
							 | 
						
						
						
							| 
								
							 | 
							
								 *   'barney':  { 'age': 36, 'active': true },
							 | 
						
						
						
							| 
								
							 | 
							
								 *   'fred':    { 'age': 40, 'active': false },
							 | 
						
						
						
							| 
								
							 | 
							
								 *   'pebbles': { 'age': 1,  'active': true }
							 | 
						
						
						
							| 
								
							 | 
							
								 * };
							 | 
						
						
						
							| 
								
							 | 
							
								 *
							 | 
						
						
						
							| 
								
							 | 
							
								 * _.findLastKey(users, function(o) { return o.age < 40; });
							 | 
						
						
						
							| 
								
							 | 
							
								 * // => returns 'pebbles' assuming `_.findKey` returns 'barney'
							 | 
						
						
						
							| 
								
							 | 
							
								 *
							 | 
						
						
						
							| 
								
							 | 
							
								 * // The `_.matches` iteratee shorthand.
							 | 
						
						
						
							| 
								
							 | 
							
								 * _.findLastKey(users, { 'age': 36, 'active': true });
							 | 
						
						
						
							| 
								
							 | 
							
								 * // => 'barney'
							 | 
						
						
						
							| 
								
							 | 
							
								 *
							 | 
						
						
						
							| 
								
							 | 
							
								 * // The `_.matchesProperty` iteratee shorthand.
							 | 
						
						
						
							| 
								
							 | 
							
								 * _.findLastKey(users, ['active', false]);
							 | 
						
						
						
							| 
								
							 | 
							
								 * // => 'fred'
							 | 
						
						
						
							| 
								
							 | 
							
								 *
							 | 
						
						
						
							| 
								
							 | 
							
								 * // The `_.property` iteratee shorthand.
							 | 
						
						
						
							| 
								
							 | 
							
								 * _.findLastKey(users, 'active');
							 | 
						
						
						
							| 
								
							 | 
							
								 * // => 'pebbles'
							 | 
						
						
						
							| 
								
							 | 
							
								 */
							 | 
						
						
						
							| 
								
							 | 
							
								function findLastKey(object, predicate) {
							 | 
						
						
						
							| 
								
							 | 
							
								  return baseFindKey(object, baseIteratee(predicate, 3), baseForOwnRight);
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								module.exports = findLastKey;
							 |