From bcb39134fe2b1213c2002d3ba0fdccfec5ed5198 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Tue, 31 Mar 2015 10:20:20 +0200 Subject: update js deps --- js/package.json | 4 +-- js/vendor/angular-animate/.bower.json | 10 ++++---- js/vendor/angular-animate/angular-animate.js | 2 +- js/vendor/angular-animate/angular-animate.min.js | 2 +- js/vendor/angular-animate/bower.json | 4 +-- js/vendor/angular-animate/package.json | 2 +- js/vendor/angular-mocks/.bower.json | 10 ++++---- js/vendor/angular-mocks/angular-mocks.js | 2 +- js/vendor/angular-mocks/bower.json | 4 +-- js/vendor/angular-mocks/package.json | 2 +- js/vendor/angular-route/.bower.json | 10 ++++---- js/vendor/angular-route/angular-route.js | 2 +- js/vendor/angular-route/angular-route.min.js | 2 +- js/vendor/angular-route/bower.json | 4 +-- js/vendor/angular-route/package.json | 2 +- js/vendor/angular-sanitize/.bower.json | 10 ++++---- js/vendor/angular-sanitize/angular-sanitize.js | 2 +- js/vendor/angular-sanitize/angular-sanitize.min.js | 2 +- js/vendor/angular-sanitize/bower.json | 4 +-- js/vendor/angular-sanitize/package.json | 2 +- js/vendor/angular/.bower.json | 8 +++--- js/vendor/angular/angular.js | 27 +++++++++++++-------- js/vendor/angular/angular.min.js | 20 +++++++-------- js/vendor/angular/angular.min.js.gzip | Bin 50484 -> 50508 bytes js/vendor/angular/angular.min.js.map | 2 +- js/vendor/angular/bower.json | 2 +- js/vendor/angular/package.json | 2 +- 27 files changed, 75 insertions(+), 68 deletions(-) (limited to 'js') diff --git a/js/package.json b/js/package.json index d3ac485fe..16ceba932 100644 --- a/js/package.json +++ b/js/package.json @@ -30,13 +30,13 @@ "grunt-contrib-connect": "^0.9.0", "grunt-contrib-cssmin": "^0.12.2", "grunt-contrib-jshint": "^0.11.1", - "grunt-contrib-uglify": "^0.8.0", + "grunt-contrib-uglify": "^0.8.1", "grunt-contrib-watch": "^0.6.1", "grunt-karma": "^0.10.1", "grunt-ng-annotate": "^0.10.0", "grunt-php": "^1.4.0", "grunt-phpunit": "^0.3.6", - "grunt-protractor-runner": "^1.2.1", + "grunt-protractor-runner": "^2.0.0", "grunt-protractor-webdriver": "^0.2.0", "grunt-wrap": "^0.3.0", "karma": "^0.12.31", diff --git a/js/vendor/angular-animate/.bower.json b/js/vendor/angular-animate/.bower.json index 27a9c65c4..36be555d9 100644 --- a/js/vendor/angular-animate/.bower.json +++ b/js/vendor/angular-animate/.bower.json @@ -1,17 +1,17 @@ { "name": "angular-animate", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-animate.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" }, "homepage": "https://github.com/angular/bower-angular-animate", - "_release": "1.4.0-build.3936+sha.73f3515", + "_release": "1.4.0-build.3937+sha.171b9f7", "_resolution": { "type": "version", - "tag": "v1.4.0-build.3936+sha.73f3515", - "commit": "36f9a322356c66dc78d2808bea804e209d8e54a4" + "tag": "v1.4.0-build.3937+sha.171b9f7", + "commit": "5c866f9f73b6384d1cc0515b2dd64ad4cb418e1a" }, "_source": "git://github.com/angular/bower-angular-animate.git", "_target": "~1.4.*", diff --git a/js/vendor/angular-animate/angular-animate.js b/js/vendor/angular-animate/angular-animate.js index 8285a6c0a..a380ade64 100644 --- a/js/vendor/angular-animate/angular-animate.js +++ b/js/vendor/angular-animate/angular-animate.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.0-build.3936+sha.73f3515 + * @license AngularJS v1.4.0-build.3937+sha.171b9f7 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ diff --git a/js/vendor/angular-animate/angular-animate.min.js b/js/vendor/angular-animate/angular-animate.min.js index e69674d95..60b247bb4 100644 --- a/js/vendor/angular-animate/angular-animate.min.js +++ b/js/vendor/angular-animate/angular-animate.min.js @@ -1,5 +1,5 @@ /* - AngularJS v1.4.0-build.3936+sha.73f3515 + AngularJS v1.4.0-build.3937+sha.171b9f7 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ diff --git a/js/vendor/angular-animate/bower.json b/js/vendor/angular-animate/bower.json index 3e82dd086..892c00a87 100644 --- a/js/vendor/angular-animate/bower.json +++ b/js/vendor/angular-animate/bower.json @@ -1,9 +1,9 @@ { "name": "angular-animate", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-animate.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" } } diff --git a/js/vendor/angular-animate/package.json b/js/vendor/angular-animate/package.json index 05014af39..3e2963ee5 100644 --- a/js/vendor/angular-animate/package.json +++ b/js/vendor/angular-animate/package.json @@ -1,6 +1,6 @@ { "name": "angular-animate", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "description": "AngularJS module for animations", "main": "index.js", "scripts": { diff --git a/js/vendor/angular-mocks/.bower.json b/js/vendor/angular-mocks/.bower.json index f5c50c161..2d969b871 100644 --- a/js/vendor/angular-mocks/.bower.json +++ b/js/vendor/angular-mocks/.bower.json @@ -1,17 +1,17 @@ { "name": "angular-mocks", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-mocks.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" }, "homepage": "https://github.com/angular/bower-angular-mocks", - "_release": "1.4.0-build.3936+sha.73f3515", + "_release": "1.4.0-build.3937+sha.171b9f7", "_resolution": { "type": "version", - "tag": "v1.4.0-build.3936+sha.73f3515", - "commit": "e67102ec670ae55317791f7d38077556f0ce021c" + "tag": "v1.4.0-build.3937+sha.171b9f7", + "commit": "d8df3d9d6e9d5b7585607345048b6f5dc8ed35f1" }, "_source": "git://github.com/angular/bower-angular-mocks.git", "_target": "~1.4.*", diff --git a/js/vendor/angular-mocks/angular-mocks.js b/js/vendor/angular-mocks/angular-mocks.js index 20a157c84..bac49f218 100644 --- a/js/vendor/angular-mocks/angular-mocks.js +++ b/js/vendor/angular-mocks/angular-mocks.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.0-build.3936+sha.73f3515 + * @license AngularJS v1.4.0-build.3937+sha.171b9f7 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ diff --git a/js/vendor/angular-mocks/bower.json b/js/vendor/angular-mocks/bower.json index 4cfbb8eda..f547731a2 100644 --- a/js/vendor/angular-mocks/bower.json +++ b/js/vendor/angular-mocks/bower.json @@ -1,9 +1,9 @@ { "name": "angular-mocks", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-mocks.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" } } diff --git a/js/vendor/angular-mocks/package.json b/js/vendor/angular-mocks/package.json index 88cb5d4fc..671a623a6 100644 --- a/js/vendor/angular-mocks/package.json +++ b/js/vendor/angular-mocks/package.json @@ -1,6 +1,6 @@ { "name": "angular-mocks", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "description": "AngularJS mocks for testing", "main": "angular-mocks.js", "scripts": { diff --git a/js/vendor/angular-route/.bower.json b/js/vendor/angular-route/.bower.json index ddcc8ee12..5cadb78ab 100644 --- a/js/vendor/angular-route/.bower.json +++ b/js/vendor/angular-route/.bower.json @@ -1,17 +1,17 @@ { "name": "angular-route", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-route.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" }, "homepage": "https://github.com/angular/bower-angular-route", - "_release": "1.4.0-build.3936+sha.73f3515", + "_release": "1.4.0-build.3937+sha.171b9f7", "_resolution": { "type": "version", - "tag": "v1.4.0-build.3936+sha.73f3515", - "commit": "c1bbc60bbdd984757c9ed6fd0770123fe8850806" + "tag": "v1.4.0-build.3937+sha.171b9f7", + "commit": "c5a90c96ffbcc6555514ba07cb09999a7f33a804" }, "_source": "git://github.com/angular/bower-angular-route.git", "_target": "~1.4.*", diff --git a/js/vendor/angular-route/angular-route.js b/js/vendor/angular-route/angular-route.js index c60867011..7d5ba946e 100644 --- a/js/vendor/angular-route/angular-route.js +++ b/js/vendor/angular-route/angular-route.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.0-build.3936+sha.73f3515 + * @license AngularJS v1.4.0-build.3937+sha.171b9f7 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ diff --git a/js/vendor/angular-route/angular-route.min.js b/js/vendor/angular-route/angular-route.min.js index e564516e0..a3cc7b005 100644 --- a/js/vendor/angular-route/angular-route.min.js +++ b/js/vendor/angular-route/angular-route.min.js @@ -1,5 +1,5 @@ /* - AngularJS v1.4.0-build.3936+sha.73f3515 + AngularJS v1.4.0-build.3937+sha.171b9f7 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ diff --git a/js/vendor/angular-route/bower.json b/js/vendor/angular-route/bower.json index fef8cc555..1af7d918c 100644 --- a/js/vendor/angular-route/bower.json +++ b/js/vendor/angular-route/bower.json @@ -1,9 +1,9 @@ { "name": "angular-route", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-route.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" } } diff --git a/js/vendor/angular-route/package.json b/js/vendor/angular-route/package.json index e719d1cfd..89d805289 100644 --- a/js/vendor/angular-route/package.json +++ b/js/vendor/angular-route/package.json @@ -1,6 +1,6 @@ { "name": "angular-route", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "description": "AngularJS router module", "main": "index.js", "scripts": { diff --git a/js/vendor/angular-sanitize/.bower.json b/js/vendor/angular-sanitize/.bower.json index 9cf3dcf96..3430ccf5f 100644 --- a/js/vendor/angular-sanitize/.bower.json +++ b/js/vendor/angular-sanitize/.bower.json @@ -1,17 +1,17 @@ { "name": "angular-sanitize", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-sanitize.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" }, "homepage": "https://github.com/angular/bower-angular-sanitize", - "_release": "1.4.0-build.3936+sha.73f3515", + "_release": "1.4.0-build.3937+sha.171b9f7", "_resolution": { "type": "version", - "tag": "v1.4.0-build.3936+sha.73f3515", - "commit": "e461bc1f69ce66d2562e04ac54671d1ae15b535d" + "tag": "v1.4.0-build.3937+sha.171b9f7", + "commit": "8e3c4904f7f62d71895e370ea0b690ce09516508" }, "_source": "git://github.com/angular/bower-angular-sanitize.git", "_target": "~1.4.*", diff --git a/js/vendor/angular-sanitize/angular-sanitize.js b/js/vendor/angular-sanitize/angular-sanitize.js index a98559b4f..b6047ecaf 100644 --- a/js/vendor/angular-sanitize/angular-sanitize.js +++ b/js/vendor/angular-sanitize/angular-sanitize.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.0-build.3936+sha.73f3515 + * @license AngularJS v1.4.0-build.3937+sha.171b9f7 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ diff --git a/js/vendor/angular-sanitize/angular-sanitize.min.js b/js/vendor/angular-sanitize/angular-sanitize.min.js index ef49742be..c85db89ad 100644 --- a/js/vendor/angular-sanitize/angular-sanitize.min.js +++ b/js/vendor/angular-sanitize/angular-sanitize.min.js @@ -1,5 +1,5 @@ /* - AngularJS v1.4.0-build.3936+sha.73f3515 + AngularJS v1.4.0-build.3937+sha.171b9f7 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ diff --git a/js/vendor/angular-sanitize/bower.json b/js/vendor/angular-sanitize/bower.json index 297a6529a..3031407f6 100644 --- a/js/vendor/angular-sanitize/bower.json +++ b/js/vendor/angular-sanitize/bower.json @@ -1,9 +1,9 @@ { "name": "angular-sanitize", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular-sanitize.js", "ignore": [], "dependencies": { - "angular": "1.4.0-build.3936+sha.73f3515" + "angular": "1.4.0-build.3937+sha.171b9f7" } } diff --git a/js/vendor/angular-sanitize/package.json b/js/vendor/angular-sanitize/package.json index 0c074a952..a90474659 100644 --- a/js/vendor/angular-sanitize/package.json +++ b/js/vendor/angular-sanitize/package.json @@ -1,6 +1,6 @@ { "name": "angular-sanitize", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "description": "AngularJS module for sanitizing HTML", "main": "index.js", "scripts": { diff --git a/js/vendor/angular/.bower.json b/js/vendor/angular/.bower.json index b3e5f0b52..b087f458d 100644 --- a/js/vendor/angular/.bower.json +++ b/js/vendor/angular/.bower.json @@ -1,15 +1,15 @@ { "name": "angular", - "version": "1.4.0-build.3936+sha.73f3515", + "version": "1.4.0-build.3937+sha.171b9f7", "main": "./angular.js", "ignore": [], "dependencies": {}, "homepage": "https://github.com/angular/bower-angular", - "_release": "1.4.0-build.3936+sha.73f3515", + "_release": "1.4.0-build.3937+sha.171b9f7", "_resolution": { "type": "version", - "tag": "v1.4.0-build.3936+sha.73f3515", - "commit": "a0dea2d4940504eac519e95b50c73b8644bff2ad" + "tag": "v1.4.0-build.3937+sha.171b9f7", + "commit": "9ec2dbe681053e819f02d1f61188f29c48118c12" }, "_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 49cda979d..54600a256 100644 --- a/js/vendor/angular/angular.js +++ b/js/vendor/angular/angular.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.0-build.3936+sha.73f3515 + * @license AngularJS v1.4.0-build.3937+sha.171b9f7 * (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.3936+sha.73f3515/' + + message += '\nhttp://errors.angularjs.org/1.4.0-build.3937+sha.171b9f7/' + (module ? module + '/' : '') + code; for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { @@ -2282,7 +2282,7 @@ function toDebugString(obj) { * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat". */ var version = { - full: '1.4.0-build.3936+sha.73f3515', // all of these placeholder strings will be replaced by grunt's + full: '1.4.0-build.3937+sha.171b9f7', // all of these placeholder strings will be replaced by grunt's major: 1, // package task minor: 4, dot: 0, @@ -24984,8 +24984,9 @@ var ngOptionsMinErr = minErr('ngOptions'); * option. See example below for demonstration. * *
- * **Note:** `ngModel` compares by reference, not value. This is important when binding to an - * array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/). + * **Note:** By default, `ngModel` compares by reference, not value. This is important when binding to an + * array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/). When using `track by` + * in an `ngOptions` expression, however, deep equality checks will be performed. *
* * ## `select` **`as`** @@ -25227,6 +25228,7 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) { } return { + trackBy: trackBy, getWatchables: $parse(valuesFn, function(values) { // Create a collection of things that we would like to watch (watchedArray) // so that they can all be watched using a single $watchCollection @@ -25452,8 +25454,9 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) { // 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); - + if (ngOptions.trackBy) { + scope.$watch(attr.ngModel, function() { ngModelCtrl.$render(); }, true); + } // ------------------------------------------------------------------ // @@ -25595,10 +25598,13 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) { // Check to see if the value has changed due to the update to the options if (!ngModelCtrl.$isEmpty(previousValue)) { var nextValue = selectCtrl.readValue(); - if (!equals(previousValue, nextValue)) { + if (ngOptions.trackBy && !equals(previousValue, nextValue) || + previousValue !== nextValue) { ngModelCtrl.$setViewValue(nextValue); + ngModelCtrl.$render(); } } + } } @@ -27210,8 +27216,9 @@ var SelectController = * option. See example below for demonstration. * *
- * **Note:** `ngModel` compares by reference, not value. This is important when binding to an - * array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/). + * **Note:** By default, `ngModel` compares by reference, not value. This is important when binding to an + * array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/). When using `track by` + * in an `ngOptions` expression, however, deep equality checks will be performed. *
* */ diff --git a/js/vendor/angular/angular.min.js b/js/vendor/angular/angular.min.js index fe95d2bc1..c9a455796 100644 --- a/js/vendor/angular/angular.min.js +++ b/js/vendor/angular/angular.min.js @@ -1,9 +1,9 @@ /* - AngularJS v1.4.0-build.3936+sha.73f3515 + AngularJS v1.4.0-build.3937+sha.171b9f7 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ -(function(O,Y,u){'use strict';function H(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.4.0-build.3936+sha.73f3515/"+(b?b+"/":"")+a;for(a=1;a(?:<\/\1>|)$/,Qb=/<|&#?\w+;/,pf=/<([\w:]+)/,qf=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,fa={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]}; fa.optgroup=fa.option;fa.tbody=fa.tfoot=fa.colgroup=fa.caption=fa.thead;fa.th=fa.td;var Na=P.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===Y.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),P(O).on("load",a))},toString:function(){var b=[];n(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?A(this[b]):A(this[this.length+b])},length:0,push:Yf,sort:[].sort,splice:[].splice},xb={};n("multiple selected checked disabled readOnly required open".split(" "), function(b){xb[M(b)]=b});var Mc={};n("input select option textarea button form details".split(" "),function(b){Mc[b]=!0});var Nc={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};n({data:Tb,removeData:qb},function(b,a){P[a]=b});n({data:Tb,inheritedData:wb,scope:function(b){return A.data(b,"$scope")||wb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return A.data(b,"$isolateScope")||A.data(b,"$isolateScopeNoTemplate")},controller:Jc, @@ -259,15 +259,15 @@ function(c){var d=0,e=p.$options;e&&x(e.debounce)&&(e=e.debounce,W(e)?d=e:W(e[c] De=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:kg,priority:1,compile:function(c){c.addClass(Qa).addClass("ng-untouched").addClass(ib);return{pre:function(a,c,f,h){var g=h[0],l=h[1]||Fb;g.$$setOptions(h[2]&&h[2].$options);l.$addControl(g);f.$observe("name",function(a){g.$name!==a&&l.$$renameControl(g,a)});a.$on("$destroy",function(){l.$removeControl(g)})},post:function(c,e,f,h){var g=h[0];if(g.$options&&g.$options.updateOn)e.on(g.$options.updateOn, function(a){g.$$debounceViewValueCommit(a&&a.type)});e.on("blur",function(e){g.$touched||(a.$$phase?c.$evalAsync(g.$setTouched):c.$apply(g.$setTouched))})}}}}}],lg=/(\s+|^)default(\s+|$)/,He=function(){return{restrict:"A",controller:["$scope","$attrs",function(a,c){var d=this;this.$options=ta(a.$eval(c.ngModelOptions));this.$options.updateOn!==u?(this.$options.updateOnDefault=!1,this.$options.updateOn=V(this.$options.updateOn.replace(lg,function(){d.$options.updateOnDefault=!0;return" "}))):this.$options.updateOnDefault= !0}]}},te=La({terminal:!0,priority:1E3}),mg=H("ngOptions"),ng=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,Be=["$compile","$parse",function(a,c){function d(a,d,e){function f(a,c,d,e,g){this.selectValue=a;this.viewValue=c;this.label=d;this.group=e;this.disabled=g}var m=a.match(ng);if(!m)throw mg("iexp",a,ua(d)); -var n=m[5]||m[7],r=m[6];a=/ as /.test(m[0])&&m[1];var s=m[9];d=c(m[2]?m[1]:n);var u=a&&c(a)||d,w=s&&c(s),v=s?function(a,c){return w(e,c)}:function(a){return Ga(a)},p=c(m[2]||m[1]),y=c(m[3]||""),x=c(m[4]||""),z=c(m[8]),K={},N=r?function(a,c){K[r]=c;K[n]=a;return K}:function(a){K[n]=a;return K};return{getWatchables:c(z,function(a){var c=[];a=a||[];Object.keys(a).forEach(function(d){var f=N(a[d],d);d=v(a[d],f);c.push(d);m[2]&&(d=p(e,f),c.push(d));m[4]&&(f=x(e,f),c.push(f))});return c}),getOptions:function(){var a= +var n=m[5]||m[7],r=m[6];a=/ as /.test(m[0])&&m[1];var s=m[9];d=c(m[2]?m[1]:n);var u=a&&c(a)||d,w=s&&c(s),v=s?function(a,c){return w(e,c)}:function(a){return Ga(a)},p=c(m[2]||m[1]),y=c(m[3]||""),x=c(m[4]||""),z=c(m[8]),K={},N=r?function(a,c){K[r]=c;K[n]=a;return K}:function(a){K[n]=a;return K};return{trackBy:s,getWatchables:c(z,function(a){var c=[];a=a||[];Object.keys(a).forEach(function(d){var f=N(a[d],d);d=v(a[d],f);c.push(d);m[2]&&(d=p(e,f),c.push(d));m[4]&&(f=x(e,f),c.push(f))});return c}),getOptions:function(){var a= [],c={},d=z(e)||[];Object.keys(d).forEach(function(g){if("$"!==g.charAt(0)){var h=N(d[g],g),m=u(e,h);g=v(m,h);var n=p(e,h),q=y(e,h),h=x(e,h),m=new f(g,m,n,q,h);a.push(m);c[g]=m}});return{items:a,selectValueMap:c,getOptionFromViewValue:function(a){return c[v(a,N(a))]},getViewValueFromOption:function(a){return s?$.copy(a.viewValue):a.viewValue}}}}}var e=Y.createElement("option"),f=Y.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(c,g,l,k){function m(a, c){a.element=c;c.disabled=a.disabled;a.value!==c.value&&(c.value=a.selectValue);a.label!==c.label&&(c.label=a.label,c.textContent=a.label)}function q(a,c,d,e){c&&M(c.nodeName)===d?d=c:(d=e.cloneNode(!1),c?a.insertBefore(d,c):a.appendChild(d));return d}function r(a){for(var c;a;)c=a.nextSibling,Ub(a),a=c}function s(a){var c=p&&p[0],d=x&&x[0];if(c||d)for(;a&&(a===c||a===d);)a=a.nextSibling;return a}function u(){var a=z&&v.readValue();z=K.getOptions();var c={},d=g[0].firstChild;y&&g.prepend(p);d=s(d); -z.items.forEach(function(a){var h,k;a.group?(h=c[a.group],h||(h=q(g[0],d,"optgroup",f),d=h.nextSibling,h.label=a.group,h=c[a.group]={groupElement:h,currentOptionElement:h.firstChild}),k=q(h.groupElement,h.currentOptionElement,"option",e),m(a,k),h.currentOptionElement=k.nextSibling):(k=q(g[0],d,"option",e),m(a,k),d=k.nextSibling)});Object.keys(c).forEach(function(a){r(c[a].currentOptionElement)});r(d);w.$render();if(!w.$isEmpty(a)){var h=v.readValue();ja(a,h)||w.$setViewValue(h)}}var w=k[1];if(w){var v= -k[0];k=l.multiple;var p=v.emptyOption,y=!!p,x=A(e.cloneNode(!1));x.val("?");var z,K=d(l.ngOptions,g,c);v.writeValue=function(a){var c=z.getOptionFromViewValue(a);c&&!c.disabled?g[0].value!==c.selectValue&&(x.remove(),y||p.remove(),g[0].value=c.selectValue,c.element.selected=!0,c.element.setAttribute("selected","selected")):null===a||y?(x.remove(),y||g.prepend(p),g.val(""),p.prop("selected",!0),p.attr("selected",!0)):(y||p.remove(),g.prepend(x),g.val("?"),x.prop("selected",!0),x.attr("selected",!0))}; -v.readValue=function(){var a=z.selectValueMap[g.val()];return a&&!a.disabled?(y||p.remove(),x.remove(),z.getViewValueFromOption(a)):null};k&&(w.$isEmpty=function(a){return!a||0===a.length},v.writeValue=function(a){z.items.forEach(function(a){a.element.selected=!1});a&&a.forEach(function(a){(a=z.getOptionFromViewValue(a))&&!a.disabled&&(a.element.selected=!0)})},v.readValue=function(){var a=g.val()||[],c=[];n(a,function(a){a=z.selectValueMap[a];a.disabled||c.push(z.getViewValueFromOption(a))});return c}); -y?(p.remove(),a(p)(c),p.removeClass("ng-scope")):p=A(e.cloneNode(!1));u();c.$watchCollection(K.getWatchables,u);c.$watch(l.ngModel,function(){w.$render()},!0)}}}}],ue=["$locale","$interpolate","$log",function(a,c,d){var e=/{}/g,f=/^when(Minus)?(.+)$/;return{link:function(h,g,l){function k(a){g.text(a||"")}var m=l.count,q=l.$attr.when&&g.attr(l.$attr.when),r=l.offset||0,s=h.$eval(q)||{},u={},x=c.startSymbol(),v=c.endSymbol(),p=x+m+"-"+r+v,y=$.noop,A;n(l,function(a,c){var d=f.exec(c);d&&(d=(d[1]?"-": -"")+M(d[2]),s[d]=g.attr(l.$attr[c]))});n(s,function(a,d){u[d]=c(a.replace(e,p))});h.$watch(m,function(c){var e=parseFloat(c),f=isNaN(e);f||e in s||(e=a.pluralCat(e-r));e===A||f&&W(A)&&isNaN(A)||(y(),f=u[e],D(f)?(null!=c&&d.debug("ngPluralize: no rule defined for '"+e+"' in "+q),y=w,k()):y=h.$watch(f,k),A=e)})}}}],ve=["$parse","$animate",function(a,c){var d=H("ngRepeat"),e=function(a,c,d,e,k,m,n){a[d]=e;k&&(a[k]=m);a.$index=c;a.$first=0===c;a.$last=c===n-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even= -0===(c&1))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,h){var g=h.ngRepeat,l=Y.createComment(" end ngRepeat: "+g+" "),k=g.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!k)throw d("iexp",g);var m=k[1],q=k[2],r=k[3],s=k[4],k=m.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);if(!k)throw d("iidexp",m);var w=k[3]||k[1],x=k[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)|| +z.items.forEach(function(a){var h,k;a.group?(h=c[a.group],h||(h=q(g[0],d,"optgroup",f),d=h.nextSibling,h.label=a.group,h=c[a.group]={groupElement:h,currentOptionElement:h.firstChild}),k=q(h.groupElement,h.currentOptionElement,"option",e),m(a,k),h.currentOptionElement=k.nextSibling):(k=q(g[0],d,"option",e),m(a,k),d=k.nextSibling)});Object.keys(c).forEach(function(a){r(c[a].currentOptionElement)});r(d);w.$render();if(!w.$isEmpty(a)){var h=v.readValue();if(K.trackBy&&!ja(a,h)||a!==h)w.$setViewValue(h), +w.$render()}}var w=k[1];if(w){var v=k[0];k=l.multiple;var p=v.emptyOption,y=!!p,x=A(e.cloneNode(!1));x.val("?");var z,K=d(l.ngOptions,g,c);v.writeValue=function(a){var c=z.getOptionFromViewValue(a);c&&!c.disabled?g[0].value!==c.selectValue&&(x.remove(),y||p.remove(),g[0].value=c.selectValue,c.element.selected=!0,c.element.setAttribute("selected","selected")):null===a||y?(x.remove(),y||g.prepend(p),g.val(""),p.prop("selected",!0),p.attr("selected",!0)):(y||p.remove(),g.prepend(x),g.val("?"),x.prop("selected", +!0),x.attr("selected",!0))};v.readValue=function(){var a=z.selectValueMap[g.val()];return a&&!a.disabled?(y||p.remove(),x.remove(),z.getViewValueFromOption(a)):null};k&&(w.$isEmpty=function(a){return!a||0===a.length},v.writeValue=function(a){z.items.forEach(function(a){a.element.selected=!1});a&&a.forEach(function(a){(a=z.getOptionFromViewValue(a))&&!a.disabled&&(a.element.selected=!0)})},v.readValue=function(){var a=g.val()||[],c=[];n(a,function(a){a=z.selectValueMap[a];a.disabled||c.push(z.getViewValueFromOption(a))}); +return c});y?(p.remove(),a(p)(c),p.removeClass("ng-scope")):p=A(e.cloneNode(!1));u();c.$watchCollection(K.getWatchables,u);K.trackBy&&c.$watch(l.ngModel,function(){w.$render()},!0)}}}}],ue=["$locale","$interpolate","$log",function(a,c,d){var e=/{}/g,f=/^when(Minus)?(.+)$/;return{link:function(h,g,l){function k(a){g.text(a||"")}var m=l.count,q=l.$attr.when&&g.attr(l.$attr.when),r=l.offset||0,s=h.$eval(q)||{},u={},x=c.startSymbol(),v=c.endSymbol(),p=x+m+"-"+r+v,y=$.noop,A;n(l,function(a,c){var d=f.exec(c); +d&&(d=(d[1]?"-":"")+M(d[2]),s[d]=g.attr(l.$attr[c]))});n(s,function(a,d){u[d]=c(a.replace(e,p))});h.$watch(m,function(c){var e=parseFloat(c),f=isNaN(e);f||e in s||(e=a.pluralCat(e-r));e===A||f&&W(A)&&isNaN(A)||(y(),f=u[e],D(f)?(null!=c&&d.debug("ngPluralize: no rule defined for '"+e+"' in "+q),y=w,k()):y=h.$watch(f,k),A=e)})}}}],ve=["$parse","$animate",function(a,c){var d=H("ngRepeat"),e=function(a,c,d,e,k,m,n){a[d]=e;k&&(a[k]=m);a.$index=c;a.$first=0===c;a.$last=c===n-1;a.$middle=!(a.$first||a.$last); +a.$odd=!(a.$even=0===(c&1))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,h){var g=h.ngRepeat,l=Y.createComment(" end ngRepeat: "+g+" "),k=g.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!k)throw d("iexp",g);var m=k[1],q=k[2],r=k[3],s=k[4],k=m.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);if(!k)throw d("iidexp",m);var w=k[3]||k[1],x=k[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)|| /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r)))throw d("badident",r);var v,p,y,E,z={$id:Ga};s?v=a(s):(y=function(a,c){return Ga(c)},E=function(a){return a});return function(a,f,h,k,m){v&&(p=function(c,d,e){x&&(z[x]=c);z[w]=d;z.$index=e;return v(a,z)});var s=la();a.$watchCollection(q,function(h){var k,q,t=f[0],v,z=la(),B,D,G,L,H,C,I;r&&(a[r]=h);if(Ra(h))H=h,q=p||y;else for(I in q=p||E,H=[],h)h.hasOwnProperty(I)&&"$"!==I.charAt(0)&&H.push(I);B=H.length; I=Array(B);for(k=0;k