code: function extend(dst) {
    var h = dst.$$hashKey;
  
    for (var i = 1, ii = arguments.length; i < ii; i++) {
      var obj = arguments[i];
      if (obj) {
        var keys = Object.keys(obj);
        for (var j = 0, jj = keys.length; j < jj; j++) {
          var key = keys[j];
          dst[key] = obj[key];
        }
      }
    }
  
    setHashKey(dst, h);
    return dst;
  }
docs: @ngdoc function
  @name angular.extend
  @module ng
  @kind function
  
  @description
  Extends the destination object `dst` by copying own enumerable properties from the `src` object(s)
  to `dst`. You can specify multiple `src` objects. If you want to preserve original objects, you can do so
  by passing an empty object as the target: `var object = angular.extend({}, object1, object2)`.
  Note: Keep in mind that `angular.extend` does not support recursive merge (deep copy).
  
  @param {Object} dst Destination object.
  @param {...Object} src Source object(s).
  @returns {Object} Reference to `dst`.