diff options
Diffstat (limited to 'js/vendor/angular')
-rw-r--r-- | js/vendor/angular/.bower.json | 8 | ||||
-rw-r--r-- | js/vendor/angular/angular.js | 193 | ||||
-rw-r--r-- | js/vendor/angular/angular.min.js | 555 | ||||
-rw-r--r-- | js/vendor/angular/angular.min.js.gzip | bin | 50065 -> 50404 bytes | |||
-rw-r--r-- | js/vendor/angular/angular.min.js.map | 6 | ||||
-rw-r--r-- | js/vendor/angular/bower.json | 2 | ||||
-rw-r--r-- | js/vendor/angular/package.json | 2 |
7 files changed, 440 insertions, 326 deletions
diff --git a/js/vendor/angular/.bower.json b/js/vendor/angular/.bower.json index ec1614632..f7c3b4179 100644 --- a/js/vendor/angular/.bower.json +++ b/js/vendor/angular/.bower.json @@ -1,15 +1,15 @@ { "name": "angular", - "version": "1.4.0-build.3887+sha.41fdb3d", + "version": "1.4.0-build.3911+sha.e57138d", "main": "./angular.js", "ignore": [], "dependencies": {}, "homepage": "https://github.com/angular/bower-angular", - "_release": "1.4.0-build.3887+sha.41fdb3d", + "_release": "1.4.0-build.3911+sha.e57138d", "_resolution": { "type": "version", - "tag": "v1.4.0-build.3887+sha.41fdb3d", - "commit": "c522cd5df7ccc23adb57788146c41c40ef402b03" + "tag": "v1.4.0-build.3911+sha.e57138d", + "commit": "e8bd7d1724e6326f65971ec4878135224e9d91f5" }, "_source": "git://github.com/angular/bower-angular.git", "_target": "~1.4.*", diff --git a/js/vendor/angular/angular.js b/js/vendor/angular/angular.js index d2beecf03..72673ba79 100644 --- a/js/vendor/angular/angular.js +++ b/js/vendor/angular/angular.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.0-build.3887+sha.41fdb3d + * @license AngularJS v1.4.0-build.3911+sha.e57138d * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ @@ -57,7 +57,7 @@ function minErr(module, ErrorConstructor) { return match; }); - message += '\nhttp://errors.angularjs.org/1.4.0-build.3887+sha.41fdb3d/' + + message += '\nhttp://errors.angularjs.org/1.4.0-build.3911+sha.e57138d/' + (module ? module + '/' : '') + code; for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { @@ -157,6 +157,7 @@ function minErr(module, ErrorConstructor) { createMap: true, NODE_TYPE_ELEMENT: true, + NODE_TYPE_ATTRIBUTE: true, NODE_TYPE_TEXT: true, NODE_TYPE_COMMENT: true, NODE_TYPE_DOCUMENT: true, @@ -431,8 +432,6 @@ function baseExtend(dst, objs, deep) { * * @param {Object} dst Destination object. * @param {...Object} src Source object(s). - * @param {boolean=} deep if the last parameter is set to `true`, objects are recursively merged - * (deep copy). Defaults to `false`. * @returns {Object} Reference to `dst`. */ function extend(dst) { @@ -1808,6 +1807,7 @@ function createMap() { } var NODE_TYPE_ELEMENT = 1; +var NODE_TYPE_ATTRIBUTE = 2; var NODE_TYPE_TEXT = 3; var NODE_TYPE_COMMENT = 8; var NODE_TYPE_DOCUMENT = 9; @@ -2006,6 +2006,18 @@ function setupModuleLoader(window) { */ constant: invokeLater('$provide', 'constant', 'unshift'), + /** + * @ngdoc method + * @name angular.Module#decorator + * @module ng + * @param {string} The name of the service to decorate. + * @param {Function} This function will be invoked when the service needs to be + * instantiated and should return the decorated service instance. + * @description + * See {@link auto.$provide#decorator $provide.decorator()}. + */ + decorator: invokeLater('$provide', 'decorator'), + /** * @ngdoc method * @name angular.Module#animation @@ -2223,6 +2235,7 @@ function toDebugString(obj) { $FilterProvider, $InterpolateProvider, $IntervalProvider, + $$HashMapProvider, $HttpProvider, $HttpBackendProvider, $LocationProvider, @@ -2262,7 +2275,7 @@ function toDebugString(obj) { * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat". */ var version = { - full: '1.4.0-build.3887+sha.41fdb3d', // all of these placeholder strings will be replaced by grunt's + full: '1.4.0-build.3911+sha.e57138d', // all of these placeholder strings will be replaced by grunt's major: 1, // package task minor: 4, dot: 0, @@ -2399,12 +2412,24 @@ function publishExternalAPI(angular) { $$rAF: $$RAFProvider, $$asyncCallback: $$AsyncCallbackProvider, $$jqLite: $$jqLiteProvider, + $$HashMap: $$HashMapProvider, $$cookieReader: $$CookieReaderProvider }); } ]); } +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Any commits to this file should be reviewed with security in mind. * + * Changes to this file can potentially create security vulnerabilities. * + * An approval from 2 Core members with history of modifying * + * this file is required. * + * * + * Does the change somehow allow for arbitrary javascript to be executed? * + * Or allows for someone to change the prototype of built-in objects? * + * Or gives undesired access to variables likes document or window? * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + /* global JQLitePrototype: true, addEventListenerFn: true, removeEventListenerFn: true, @@ -2992,6 +3017,10 @@ forEach({ }, attr: function(element, name, value) { + var nodeType = element.nodeType; + if (nodeType === NODE_TYPE_TEXT || nodeType === NODE_TYPE_ATTRIBUTE || nodeType === NODE_TYPE_COMMENT) { + return; + } var lowercasedName = lowercase(name); if (BOOLEAN_ATTR[lowercasedName]) { if (isDefined(value)) { @@ -3504,6 +3533,12 @@ HashMap.prototype = { } }; +var $$HashMapProvider = [function() { + this.$get = [function() { + return HashMap; + }]; +}]; + /** * @ngdoc function * @module ng @@ -5717,7 +5752,7 @@ function $CacheFactoryProvider() { * the document, but it must be a descendent of the {@link ng.$rootElement $rootElement} (IE, * element with ng-app attribute), otherwise the template will be ignored. * - * Adding via the $templateCache service: + * Adding via the `$templateCache` service: * * ```js * var myApp = angular.module('myApp', []); @@ -5745,6 +5780,17 @@ function $TemplateCacheProvider() { }]; } +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Any commits to this file should be reviewed with security in mind. * + * Changes to this file can potentially create security vulnerabilities. * + * An approval from 2 Core members with history of modifying * + * this file is required. * + * * + * Does the change somehow allow for arbitrary javascript to be executed? * + * Or allows for someone to change the prototype of built-in objects? * + * Or gives undesired access to variables likes document or window? * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + /* ! VARIABLE/FUNCTION NAMING CONVENTIONS THAT APPLY TO THIS FILE! * * DOM-related variables: @@ -7712,13 +7758,15 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { for (i in elementControllers) { controller = elementControllers[i]; var controllerResult = controller(); - if (controllerResult !== controller.instance && - controller === controllerForBindings) { - // Remove and re-install bindToController bindings - thisLinkFn.$$destroyBindings(); - thisLinkFn.$$destroyBindings = - initializeDirectiveBindings(scope, attrs, controllerResult, - bindings, scopeDirective); + if (controllerResult !== controller.instance) { + controller.instance = controllerResult; + $element.data('$' + directive.name + 'Controller', controllerResult); + if (controller === controllerForBindings) { + // Remove and re-install bindToController bindings + thisLinkFn.$$destroyBindings(); + thisLinkFn.$$destroyBindings = + initializeDirectiveBindings(scope, attrs, controllerResult, bindings, scopeDirective); + } } } } @@ -10414,6 +10462,7 @@ function $IntervalProvider() { * indefinitely. * @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise * will invoke `fn` within the {@link ng.$rootScope.Scope#$apply $apply} block. + * @param {...*=} Pass additional parameters to the executed function. * @returns {promise} A promise which will be notified on each iteration. * * @example @@ -10507,7 +10556,9 @@ function $IntervalProvider() { * </example> */ function interval(fn, delay, count, invokeApply) { - var setInterval = $window.setInterval, + var hasParams = arguments.length > 4, + args = hasParams ? sliceArgs(arguments, 4) : [], + setInterval = $window.setInterval, clearInterval = $window.clearInterval, iteration = 0, skipApply = (isDefined(invokeApply) && !invokeApply), @@ -10516,7 +10567,9 @@ function $IntervalProvider() { count = isDefined(count) ? count : 0; - promise.then(null, null, fn); + promise.then(null, null, (!hasParams) ? fn : function() { + fn.apply(null, args); + }); promise.$$intervalId = setInterval(function tick() { deferred.notify(iteration++); @@ -10620,7 +10673,15 @@ function $LocaleProvider() { mediumDate: 'MMM d, y', shortDate: 'M/d/yy', mediumTime: 'h:mm:ss a', - shortTime: 'h:mm a' + shortTime: 'h:mm a', + ERANAMES: [ + "Before Christ", + "Anno Domini" + ], + ERAS: [ + "BC", + "AD" + ] }, pluralCat: function(num) { @@ -11631,6 +11692,7 @@ function $LocationProvider() { <button ng-click="$log.warn(message)">warn</button> <button ng-click="$log.info(message)">info</button> <button ng-click="$log.error(message)">error</button> + <button ng-click="$log.debug(message)">debug</button> </div> </file> </example> @@ -11761,6 +11823,17 @@ function $LogProvider() { }]; } +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Any commits to this file should be reviewed with security in mind. * + * Changes to this file can potentially create security vulnerabilities. * + * An approval from 2 Core members with history of modifying * + * this file is required. * + * * + * Does the change somehow allow for arbitrary javascript to be executed? * + * Or allows for someone to change the prototype of built-in objects? * + * Or gives undesired access to variables likes document or window? * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + var $parseMinErr = minErr('$parse'); // Sandboxing Angular Expressions @@ -14334,9 +14407,27 @@ function $RootScopeProvider() { return TTL; }; + function createChildScopeClass(parent) { + function ChildScope() { + this.$$watchers = this.$$nextSibling = + this.$$childHead = this.$$childTail = null; + this.$$listeners = {}; + this.$$listenerCount = {}; + this.$$watchersCount = 0; + this.$id = nextUid(); + this.$$ChildScope = null; + } + ChildScope.prototype = parent; + return ChildScope; + } + this.$get = ['$injector', '$exceptionHandler', '$parse', '$browser', function($injector, $exceptionHandler, $parse, $browser) { + function destroyChildScope($event) { + $event.currentScope.$$destroyed = true; + } + /** * @ngdoc type * @name $rootScope.Scope @@ -14460,16 +14551,7 @@ function $RootScopeProvider() { // Only create a child scope class if somebody asks for one, // but cache it to allow the VM to optimize lookups. if (!this.$$ChildScope) { - this.$$ChildScope = function ChildScope() { - this.$$watchers = this.$$nextSibling = - this.$$childHead = this.$$childTail = null; - this.$$listeners = {}; - this.$$listenerCount = {}; - this.$$watchersCount = 0; - this.$id = nextUid(); - this.$$ChildScope = null; - }; - this.$$ChildScope.prototype = this; + this.$$ChildScope = createChildScopeClass(this); } child = new this.$$ChildScope(); } @@ -14487,13 +14569,9 @@ function $RootScopeProvider() { // prototypically. In all other cases, this property needs to be set // when the parent scope is destroyed. // The listener needs to be added after the parent is set - if (isolate || parent != this) child.$on('$destroy', destroyChild); + if (isolate || parent != this) child.$on('$destroy', destroyChildScope); return child; - - function destroyChild() { - child.$$destroyed = true; - } }, /** @@ -15663,6 +15741,17 @@ function $$SanitizeUriProvider() { }; } +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Any commits to this file should be reviewed with security in mind. * + * Changes to this file can potentially create security vulnerabilities. * + * An approval from 2 Core members with history of modifying * + * this file is required. * + * * + * Does the change somehow allow for arbitrary javascript to be executed? * + * Or allows for someone to change the prototype of built-in objects? * + * Or gives undesired access to variables likes document or window? * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + var $sceMinErr = minErr('$sce'); var SCE_CONTEXTS = { @@ -17007,6 +17096,7 @@ function $TimeoutProvider() { * @param {number=} [delay=0] Delay in milliseconds. * @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise * will invoke `fn` within the {@link ng.$rootScope.Scope#$apply $apply} block. + * @param {...*=} Pass additional parameters to the executed function. * @returns {Promise} Promise that will be resolved when the timeout is reached. The value this * promise will be resolved with is the return value of the `fn` function. * @@ -17018,14 +17108,15 @@ function $TimeoutProvider() { fn = noop; } - var skipApply = (isDefined(invokeApply) && !invokeApply), + var args = sliceArgs(arguments, 3), + skipApply = (isDefined(invokeApply) && !invokeApply), deferred = (skipApply ? $$q : $q).defer(), promise = deferred.promise, timeoutId; timeoutId = $browser.defer(function() { try { - deferred.resolve(fn()); + deferred.resolve(fn.apply(null, args)); } catch (e) { deferred.reject(e); $exceptionHandler(e); @@ -17963,6 +18054,14 @@ function ampmGetter(date, formats) { return date.getHours() < 12 ? formats.AMPMS[0] : formats.AMPMS[1]; } +function eraGetter(date, formats) { + return date.getFullYear() <= 0 ? formats.ERAS[0] : formats.ERAS[1]; +} + +function longEraGetter(date, formats) { + return date.getFullYear() <= 0 ? formats.ERANAMES[0] : formats.ERANAMES[1]; +} + var DATE_FORMATS = { yyyy: dateGetter('FullYear', 4), yy: dateGetter('FullYear', 2, 0, true), @@ -17989,10 +18088,14 @@ var DATE_FORMATS = { a: ampmGetter, Z: timeZoneGetter, ww: weekGetter(2), - w: weekGetter(1) + w: weekGetter(1), + G: eraGetter, + GG: eraGetter, + GGG: eraGetter, + GGGG: longEraGetter }; -var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/, +var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/, NUMBER_STRING = /^\-?\d+$/; /** @@ -18029,6 +18132,8 @@ var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d * * `'Z'`: 4 digit (+sign) representation of the timezone offset (-1200-+1200) * * `'ww'`: Week of year, padded (00-53). Week 01 is the week with the first Thursday of the year * * `'w'`: Week of year (0-53). Week 1 is the week with the first Thursday of the year + * * `'G'`, `'GG'`, `'GGG'`: The abbreviated form of the era string (e.g. 'AD') + * * `'GGGG'`: The long form of the era string (e.g. 'Anno Domini') * * `format` string can also be one of the following predefined * {@link guide/i18n localizable formats}: @@ -25117,6 +25222,11 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) { selectValueMap: selectValueMap, getOptionFromViewValue: function(value) { return selectValueMap[getTrackByValue(value, getLocals(value))]; + }, + getViewValueFromOption: function(option) { + // If the viewValue could be an object that may be mutated by the application, + // we need to make a copy and not return the reference to the value on the option. + return trackBy ? angular.copy(option.viewValue) : option.viewValue; } }; } @@ -25210,7 +25320,7 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) { if (selectedOption && !selectedOption.disabled) { removeEmptyOption(); removeUnknownOption(); - return selectedOption.viewValue; + return options.getViewValueFromOption(selectedOption); } return null; }; @@ -25244,7 +25354,7 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) { forEach(selectedValues, function(value) { var option = options.selectValueMap[value]; - if (!option.disabled) selections.push(option.viewValue); + if (!option.disabled) selections.push(options.getViewValueFromOption(option)); }); return selections; @@ -25275,6 +25385,10 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) { // We will re-render the option elements if the option values or labels change scope.$watchCollection(ngOptions.getWatchables, updateOptions); + // We also need to watch to see if the internals of the model changes, since + // ngModel only watches for object identity change + scope.$watch(attr.ngModel, function() { ngModelCtrl.$render(); }, true); + // ------------------------------------------------------------------ // @@ -25606,7 +25720,6 @@ var ngPluralizeDirective = ['$locale', '$interpolate', '$log', function($locale, IS_WHEN = /^when(Minus)?(.+)$/; return { - restrict: 'EA', link: function(scope, element, attr) { var numberExp = attr.count, whenExp = attr.$attr.when && element.attr(attr.$attr.when), // we have {{}} in attrs @@ -25699,8 +25812,8 @@ var ngPluralizeDirective = ['$locale', '$interpolate', '$log', function($locale, * <div ng-repeat="(key, value) in myObj"> ... </div> * ``` * - * You need to be aware that the JavaScript specification does not define what order - * it will return the keys for an object. (To mitigate this in Angular 1.3 the `ngRepeat` directive + * You need to be aware that the JavaScript specification does not define the order of keys + * returned for an object. (To mitigate this in Angular 1.3 the `ngRepeat` directive * used to sort the keys alphabetically.) * * Version 1.4 removed the alphabetic sorting. We now rely on the order returned by the browser diff --git a/js/vendor/angular/angular.min.js b/js/vendor/angular/angular.min.js index bac3e013b..b5c0ea2d3 100644 --- a/js/vendor/angular/angular.min.js +++ b/js/vendor/angular/angular.min.js @@ -1,282 +1,283 @@ /* - AngularJS v1.4.0-build.3887+sha.41fdb3d + AngularJS v1.4.0-build.3911+sha.e57138d (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ -(function(O,W,u){'use strict';function C(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.4.0-build.3887+sha.41fdb3d/"+(b?b+"/":"")+a;for(a=1;a<arguments.length;a++){c=c+(1==a?"?":"&")+"p"+(a-1)+"=";var d=encodeURIComponent,e;e=arguments[a];e="function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e;c+=d(e)}return Error(c)}}function Oa(b){if(null==b||Pa(b))return!1;var a=b.length; -return b.nodeType===oa&&a?!0:L(b)||J(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function p(b,a,c){var d,e;if(b)if(H(b))for(d in b)"prototype"==d||"length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d)||a.call(c,b[d],d,b);else if(J(b)||Oa(b)){var f="object"!==typeof b;d=0;for(e=b.length;d<e;d++)(f||d in b)&&a.call(c,b[d],d,b)}else if(b.forEach&&b.forEach!==p)b.forEach(a,c,b);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d,b);return b}function Kd(b,a,c){for(var d=Object.keys(b).sort(), -e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function ic(b){return function(a,c){b(c,a)}}function Ld(){return++fb}function jc(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function Jb(b,a,c){for(var d=b.$$hashKey,e=0,f=a.length;e<f;++e){var g=a[e];if(E(g)||H(g))for(var h=Object.keys(g),l=0,k=h.length;l<k;l++){var n=h[l],m=g[n];c&&E(m)?(E(b[n])||(b[n]=J(m)?[]:{}),Jb(b[n],[m],!0)):b[n]=m}}jc(b,d);return b}function R(b){return Jb(b,Ba.call(arguments,1),!1)}function Md(b){return Jb(b,Ba.call(arguments, -1),!0)}function Z(b){return parseInt(b,10)}function Kb(b,a){return R(Object.create(b),a)}function F(){}function Qa(b){return b}function pa(b){return function(){return b}}function D(b){return"undefined"===typeof b}function x(b){return"undefined"!==typeof b}function E(b){return null!==b&&"object"===typeof b}function L(b){return"string"===typeof b}function U(b){return"number"===typeof b}function da(b){return"[object Date]"===sa.call(b)}function H(b){return"function"===typeof b}function Ra(b){return"[object RegExp]"=== -sa.call(b)}function Pa(b){return b&&b.window===b}function Sa(b){return b&&b.$evalAsync&&b.$watch}function Ta(b){return"boolean"===typeof b}function kc(b){return!(!b||!(b.nodeName||b.prop&&b.attr&&b.find))}function Nd(b){var a={};b=b.split(",");var c;for(c=0;c<b.length;c++)a[b[c]]=!0;return a}function ta(b){return N(b.nodeName||b[0]&&b[0].nodeName)}function Ua(b,a){var c=b.indexOf(a);0<=c&&b.splice(c,1);return c}function ua(b,a,c,d){if(Pa(b)||Sa(b))throw Ca("cpws");if(lc.test(sa.call(a)))throw Ca("cpta"); -if(a){if(b===a)throw Ca("cpi");c=c||[];d=d||[];if(E(b)){var e=c.indexOf(b);if(-1!==e)return d[e];c.push(b);d.push(a)}if(J(b))for(var f=a.length=0;f<b.length;f++)e=ua(b[f],null,c,d),E(b[f])&&(c.push(b[f]),d.push(e)),a.push(e);else{var g=a.$$hashKey;J(a)?a.length=0:p(a,function(b,c){delete a[c]});for(f in b)b.hasOwnProperty(f)&&(e=ua(b[f],null,c,d),E(b[f])&&(c.push(b[f]),d.push(e)),a[f]=e);jc(a,g)}}else if(a=b)J(b)?a=ua(b,[],c,d):lc.test(sa.call(b))?a=new b.constructor(b):da(b)?a=new Date(b.getTime()): -Ra(b)?(a=new RegExp(b.source,b.toString().match(/[^\/]*$/)[0]),a.lastIndex=b.lastIndex):E(b)&&(e=Object.create(Object.getPrototypeOf(b)),a=ua(b,e,c,d));return a}function ea(b,a){if(J(b)){a=a||[];for(var c=0,d=b.length;c<d;c++)a[c]=b[c]}else if(E(b))for(c in a=a||{},b)if("$"!==c.charAt(0)||"$"!==c.charAt(1))a[c]=b[c];return a||b}function ja(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&"object"==c)if(J(b)){if(!J(a))return!1;if((c=b.length)== -a.length){for(d=0;d<c;d++)if(!ja(b[d],a[d]))return!1;return!0}}else{if(da(b))return da(a)?ja(b.getTime(),a.getTime()):!1;if(Ra(b))return Ra(a)?b.toString()==a.toString():!1;if(Sa(b)||Sa(a)||Pa(b)||Pa(a)||J(a)||da(a)||Ra(a))return!1;c={};for(d in b)if("$"!==d.charAt(0)&&!H(b[d])){if(!ja(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==u&&!H(a[d]))return!1;return!0}return!1}function Va(b,a,c){return b.concat(Ba.call(a,c))}function mc(b,a){var c=2<arguments.length? -Ba.call(arguments,2):[];return!H(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,Va(c,arguments,0)):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Od(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)&&"$"===b.charAt(1)?c=u:Pa(a)?c="$WINDOW":a&&W===a?c="$DOCUMENT":Sa(a)&&(c="$SCOPE");return c}function Wa(b,a){if("undefined"===typeof b)return u;U(a)||(a=a?2:null);return JSON.stringify(b,Od,a)}function nc(b){return L(b)?JSON.parse(b): -b}function oc(b,a){var c=Date.parse("Jan 01, 1970 00:00:00 "+b)/6E4;return isNaN(c)?a:c}function Lb(b,a,c){c=c?-1:1;var d=oc(a,b.getTimezoneOffset());a=b;b=c*(d-b.getTimezoneOffset());a=new Date(a.getTime());a.setMinutes(a.getMinutes()+b);return a}function va(b){b=I(b).clone();try{b.empty()}catch(a){}var c=I("<div>").append(b).html();try{return b[0].nodeType===gb?N(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+N(b)})}catch(d){return N(c)}}function pc(b){try{return decodeURIComponent(b)}catch(a){}} -function qc(b){var a={},c,d;p((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=pc(c[0]),x(d)&&(b=x(c[1])?pc(c[1]):!0,rc.call(a,d)?J(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Mb(b){var a=[];p(b,function(b,d){J(b)?p(b,function(b){a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))}):a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))});return a.length?a.join("&"):""}function hb(b){return Da(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Da(b,a){return encodeURIComponent(b).replace(/%40/gi, -"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Pd(b,a){var c,d,e=Ja.length;for(d=0;d<e;++d)if(c=Ja[d]+a,L(c=b.getAttribute(c)))return c;return null}function Qd(b,a){var c,d,e={};p(Ja,function(a){a+="app";!c&&b.hasAttribute&&b.hasAttribute(a)&&(c=b,d=b.getAttribute(a))});p(Ja,function(a){a+="app";var e;!c&&(e=b.querySelector("["+a.replace(":","\\:")+"]"))&&(c=e,d=e.getAttribute(a))});c&&(e.strictDi=null!==Pd(c,"strict-di"), -a(c,d?[d]:[],e))}function sc(b,a,c){E(c)||(c={});c=R({strictDi:!1},c);var d=function(){b=I(b);if(b.injector()){var d=b[0]===W?"document":va(b);throw Ca("btstrpd",d.replace(/</,"<").replace(/>/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=Xa(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector", -d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;O&&e.test(O.name)&&(c.debugInfoEnabled=!0,O.name=O.name.replace(e,""));if(O&&!f.test(O.name))return d();O.name=O.name.replace(f,"");$.resumeBootstrap=function(b){p(b,function(b){a.push(b)});return d()};H($.resumeDeferredBootstrap)&&$.resumeDeferredBootstrap()}function Rd(){O.name="NG_ENABLE_DEBUG_INFO!"+O.name;O.location.reload()}function Sd(b){b=$.element(b).injector();if(!b)throw Ca("test");return b.get("$$testability")} -function tc(b,a){a=a||"_";return b.replace(Td,function(b,d){return(d?a:"")+b.toLowerCase()})}function Ud(){var b;if(!uc){var a=ib();ka=O.jQuery;x(a)&&(ka=null===a?u:O[a]);ka&&ka.fn.on?(I=ka,R(ka.fn,{scope:Ka.scope,isolateScope:Ka.isolateScope,controller:Ka.controller,injector:Ka.injector,inheritedData:Ka.inheritedData}),b=ka.cleanData,ka.cleanData=function(a){var d;if(Nb)Nb=!1;else for(var e=0,f;null!=(f=a[e]);e++)(d=ka._data(f,"events"))&&d.$destroy&&ka(f).triggerHandler("$destroy");b(a)}):I=P;$.element= -I;uc=!0}}function Ob(b,a,c){if(!b)throw Ca("areq",a||"?",c||"required");return b}function jb(b,a,c){c&&J(b)&&(b=b[b.length-1]);Ob(H(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function La(b,a){if("hasOwnProperty"===b)throw Ca("badname",a);}function vc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g<f;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&H(b)?mc(e,b):b}function kb(b){var a=b[0];b=b[b.length-1];var c=[a];do{a=a.nextSibling; -if(!a)break;c.push(a)}while(a!==b);return I(c)}function la(){return Object.create(null)}function Vd(b){function a(a,b,c){return a[b]||(a[b]=c())}var c=C("$injector"),d=C("ng");b=a(b,"angular",Object);b.$$minErr=b.$$minErr||C;return a(b,"module",function(){var b={};return function(f,g,h){if("hasOwnProperty"===f)throw d("badname","module");g&&b.hasOwnProperty(f)&&(b[f]=null);return a(b,f,function(){function a(c,d,e,f){f||(f=b);return function(){f[e||"push"]([c,d,arguments]);return t}}if(!g)throw c("nomod", -f);var b=[],d=[],e=[],s=a("$injector","invoke","push",d),t={_invokeQueue:b,_configBlocks:d,_runBlocks:e,requires:g,name:f,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:s,run:function(a){e.push(a);return this}}; -h&&s(h);return t})}})}function Wd(b){R(b,{bootstrap:sc,copy:ua,extend:R,merge:Md,equals:ja,element:I,forEach:p,injector:Xa,noop:F,bind:mc,toJson:Wa,fromJson:nc,identity:Qa,isUndefined:D,isDefined:x,isString:L,isFunction:H,isObject:E,isNumber:U,isElement:kc,isArray:J,version:Xd,isDate:da,lowercase:N,uppercase:lb,callbacks:{counter:0},getTestability:Sd,$$minErr:C,$$csp:Ya,reloadWithDebugInfo:Rd});Za=Vd(O);try{Za("ngLocale")}catch(a){Za("ngLocale",[]).provider("$locale",Yd)}Za("ng",["ngLocale"],["$provide", -function(a){a.provider({$$sanitizeUri:Zd});a.provider("$compile",wc).directive({a:$d,input:xc,textarea:xc,form:ae,script:be,select:ce,style:de,option:ee,ngBind:fe,ngBindHtml:ge,ngBindTemplate:he,ngClass:ie,ngClassEven:je,ngClassOdd:ke,ngCloak:le,ngController:me,ngForm:ne,ngHide:oe,ngIf:pe,ngInclude:qe,ngInit:re,ngNonBindable:se,ngPluralize:te,ngRepeat:ue,ngShow:ve,ngStyle:we,ngSwitch:xe,ngSwitchWhen:ye,ngSwitchDefault:ze,ngOptions:Ae,ngTransclude:Be,ngModel:Ce,ngList:De,ngChange:Ee,pattern:yc,ngPattern:yc, -required:zc,ngRequired:zc,minlength:Ac,ngMinlength:Ac,maxlength:Bc,ngMaxlength:Bc,ngValue:Fe,ngModelOptions:Ge}).directive({ngInclude:He}).directive(mb).directive(Cc);a.provider({$anchorScroll:Ie,$animate:Je,$browser:Ke,$cacheFactory:Le,$controller:Me,$document:Ne,$exceptionHandler:Oe,$filter:Dc,$interpolate:Pe,$interval:Qe,$http:Re,$httpBackend:Se,$location:Te,$log:Ue,$parse:Ve,$rootScope:We,$q:Xe,$$q:Ye,$sce:Ze,$sceDelegate:$e,$sniffer:af,$templateCache:bf,$templateRequest:cf,$$testability:df,$timeout:ef, -$window:ff,$$rAF:gf,$$asyncCallback:hf,$$jqLite:jf,$$cookieReader:kf})}])}function $a(b){return b.replace(lf,function(a,b,d,e){return e?d.toUpperCase():d}).replace(mf,"Moz$1")}function Ec(b){b=b.nodeType;return b===oa||!b||9===b}function Fc(b,a){var c,d,e=a.createDocumentFragment(),f=[];if(Pb.test(b)){c=c||e.appendChild(a.createElement("div"));d=(nf.exec(b)||["",""])[1].toLowerCase();d=fa[d]||fa._default;c.innerHTML=d[1]+b.replace(of,"<$1></$2>")+d[2];for(d=d[0];d--;)c=c.lastChild;f=Va(f,c.childNodes); -c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";p(f,function(a){e.appendChild(a)});return e}function P(b){if(b instanceof P)return b;var a;L(b)&&(b=T(b),a=!0);if(!(this instanceof P)){if(a&&"<"!=b.charAt(0))throw Qb("nosel");return new P(b)}if(a){a=W;var c;b=(c=pf.exec(b))?[a.createElement(c[1])]:(c=Fc(b,a))?c.childNodes:[]}Gc(this,b)}function Rb(b){return b.cloneNode(!0)}function nb(b,a){a||ob(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"), -d=0,e=c.length;d<e;d++)ob(c[d])}function Hc(b,a,c,d){if(x(d))throw Qb("offargs");var e=(d=pb(b))&&d.events,f=d&&d.handle;if(f)if(a)p(a.split(" "),function(a){if(x(c)){var d=e[a];Ua(d||[],c);if(d&&0<d.length)return}b.removeEventListener(a,f,!1);delete e[a]});else for(a in e)"$destroy"!==a&&b.removeEventListener(a,f,!1),delete e[a]}function ob(b,a){var c=b.ng339,d=c&&qb[c];d&&(a?delete d.data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),Hc(b)),delete qb[c],b.ng339=u))}function pb(b,a){var c= -b.ng339,c=c&&qb[c];a&&!c&&(b.ng339=c=++qf,c=qb[c]={events:{},data:{},handle:u});return c}function Sb(b,a,c){if(Ec(b)){var d=x(c),e=!d&&a&&!E(a),f=!a;b=(b=pb(b,!e))&&b.data;if(d)b[a]=c;else{if(f)return b;if(e)return b&&b[a];R(b,a)}}}function rb(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function sb(b,a){a&&b.setAttribute&&p(a.split(" "),function(a){b.setAttribute("class",T((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g, -" ").replace(" "+T(a)+" "," ")))})}function tb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");p(a.split(" "),function(a){a=T(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",T(c))}}function Gc(b,a){if(a)if(a.nodeType)b[b.length++]=a;else{var c=a.length;if("number"===typeof c&&a.window!==a){if(c)for(var d=0;d<c;d++)b[b.length++]=a[d]}else b[b.length++]=a}}function Ic(b,a){return ub(b,"$"+(a||"ngController")+"Controller")}function ub(b, -a,c){9==b.nodeType&&(b=b.documentElement);for(a=J(a)?a:[a];b;){for(var d=0,e=a.length;d<e;d++)if((c=I.data(b,a[d]))!==u)return c;b=b.parentNode||11===b.nodeType&&b.host}}function Jc(b){for(nb(b,!0);b.firstChild;)b.removeChild(b.firstChild)}function Tb(b,a){a||nb(b);var c=b.parentNode;c&&c.removeChild(b)}function rf(b,a){a=a||O;if("complete"===a.document.readyState)a.setTimeout(b);else I(a).on("load",b)}function Kc(b,a){var c=vb[a.toLowerCase()];return c&&Lc[ta(b)]&&c}function sf(b,a){var c=b.nodeName; -return("INPUT"===c||"TEXTAREA"===c)&&Mc[a]}function tf(b,a){var c=function(c,e){c.isDefaultPrevented=function(){return c.defaultPrevented};var f=a[e||c.type],g=f?f.length:0;if(g){if(D(c.immediatePropagationStopped)){var h=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0;c.stopPropagation&&c.stopPropagation();h&&h.call(c)}}c.isImmediatePropagationStopped=function(){return!0===c.immediatePropagationStopped};1<g&&(f=ea(f));for(var l=0;l<g;l++)c.isImmediatePropagationStopped()|| -f[l].call(b,c)}};c.elem=b;return c}function jf(){this.$get=function(){return R(P,{hasClass:function(b,a){b.attr&&(b=b[0]);return rb(b,a)},addClass:function(b,a){b.attr&&(b=b[0]);return tb(b,a)},removeClass:function(b,a){b.attr&&(b=b[0]);return sb(b,a)}})}}function Ea(b,a){var c=b&&b.$$hashKey;if(c)return"function"===typeof c&&(c=b.$$hashKey()),c;c=typeof b;return c="function"==c||"object"==c&&null!==b?b.$$hashKey=c+":"+(a||Ld)():c+":"+b}function wb(b,a){if(a){var c=0;this.nextUid=function(){return++c}}p(b, -this.put,this)}function uf(b){return(b=b.toString().replace(Nc,"").match(Oc))?"function("+(b[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Xa(b,a){function c(a){return function(b,c){if(E(b))p(b,ic(a));else return a(b,c)}}function d(a,b){La(a,"service");if(H(b)||J(b))b=s.instantiate(b);if(!b.$get)throw Fa("pget",a);return m[a+"Provider"]=b}function e(a,b){return function(){var c=y.invoke(b,this);if(D(c))throw Fa("undef",a);return c}}function f(a,b,c){return d(a,{$get:!1!==c?e(a,b):b})}function g(a){var b= -[],c;p(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=s.get(e[0]);f[e[1]].apply(f,e[2])}}if(!n.get(a)){n.put(a,!0);try{L(a)?(c=Za(a),b=b.concat(g(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):H(a)?b.push(s.invoke(a)):J(a)?b.push(s.invoke(a)):jb(a,"module")}catch(e){throw J(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Fa("modulerr",a,e.stack||e.message||e);}}});return b}function h(b,c){function d(a, -e){if(b.hasOwnProperty(a)){if(b[a]===l)throw Fa("cdep",a+" <- "+k.join(" <- "));return b[a]}try{return k.unshift(a),b[a]=l,b[a]=c(a,e)}catch(f){throw b[a]===l&&delete b[a],f;}finally{k.shift()}}function e(b,c,f,k){"string"===typeof f&&(k=f,f=null);var g=[],h=Xa.$$annotate(b,a,k),l,s,m;s=0;for(l=h.length;s<l;s++){m=h[s];if("string"!==typeof m)throw Fa("itkn",m);g.push(f&&f.hasOwnProperty(m)?f[m]:d(m,k))}J(b)&&(b=b[l]);return b.apply(c,g)}return{invoke:e,instantiate:function(a,b,c){var d=Object.create((J(a)? -a[a.length-1]:a).prototype||null);a=e(a,d,b,c);return E(a)||H(a)?a:d},get:d,annotate:Xa.$$annotate,has:function(a){return m.hasOwnProperty(a+"Provider")||b.hasOwnProperty(a)}}}a=!0===a;var l={},k=[],n=new wb([],!0),m={$provide:{provider:c(d),factory:c(f),service:c(function(a,b){return f(a,["$injector",function(a){return a.instantiate(b)}])}),value:c(function(a,b){return f(a,pa |