upgrade to AngularJS 1.0.0rc7 rc-generation
authorIgor Minar <igor@angularjs.org>
Mon, 30 Apr 2012 23:34:20 +0000 (16:34 -0700)
committerIgor Minar <igor@angularjs.org>
Mon, 30 Apr 2012 23:34:20 +0000 (16:34 -0700)
14 files changed:
app/lib/angular/angular-cookies.js
app/lib/angular/angular-cookies.min.js
app/lib/angular/angular-loader.js
app/lib/angular/angular-loader.min.js
app/lib/angular/angular-resource.js
app/lib/angular/angular-resource.min.js
app/lib/angular/angular-sanitize.js
app/lib/angular/angular-sanitize.min.js
app/lib/angular/angular.js
app/lib/angular/angular.min.js
app/lib/angular/version.txt
test/lib/angular/angular-mocks.js
test/lib/angular/angular-scenario.js
test/lib/angular/version.txt

index f1f4b8a..bb2c0f8 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * @license AngularJS v1.0.0rc6
+ * @license AngularJS v1.0.0rc7
  * (c) 2010-2012 Google, Inc. http://angularjs.org
  * License: MIT
  */
index 0eecce6..27eb44f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- AngularJS v1.0.0rc6
+ AngularJS v1.0.0rc7
  (c) 2010-2012 Google, Inc. http://angularjs.org
  License: MIT
 */
index e514366..a9bc30e 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * @license AngularJS v1.0.0rc6
+ * @license AngularJS v1.0.0rc7
  * (c) 2010-2012 Google, Inc. http://angularjs.org
  * License: MIT
  */
index f6e82d0..5b455b2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- AngularJS v1.0.0rc6
+ AngularJS v1.0.0rc7
  (c) 2010-2012 Google, Inc. http://angularjs.org
  License: MIT
 */
index 9e0f76f..ddd1354 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * @license AngularJS v1.0.0rc6
+ * @license AngularJS v1.0.0rc7
  * (c) 2010-2012 Google, Inc. http://angularjs.org
  * License: MIT
  */
index 2c6b01e..6c773f6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- AngularJS v1.0.0rc6
+ AngularJS v1.0.0rc7
  (c) 2010-2012 Google, Inc. http://angularjs.org
  License: MIT
 */
index bd5bf97..f1ccfe9 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * @license AngularJS v1.0.0rc6
+ * @license AngularJS v1.0.0rc7
  * (c) 2010-2012 Google, Inc. http://angularjs.org
  * License: MIT
  */
@@ -400,18 +400,16 @@ function htmlSanitizeWriter(buf){
 // define ngSanitize module and register $sanitize service
 angular.module('ngSanitize', []).value('$sanitize', $sanitize);
 
-
-
 /**
  * @ngdoc directive
  * @name angular.module.ngSanitize.directive.ngBindHtml
  *
  * @description
  * Creates a binding that will sanitize the result of evaluating the `expression` with the
- * {@link angular.module.ng.$sanitize $sanitize} service and innerHTML the result into the current
- * element.
+ * {@link angular.module.ngSanitize.$sanitize $sanitize} service and innerHTML the result into the
+ * current element.
  *
- * See {@link angular.module.ng.$sanitize $sanitize} docs for examples.
+ * See {@link angular.module.ngSanitize.$sanitize $sanitize} docs for examples.
  *
  * @element ANY
  * @param {expression} ngBindHtml {@link guide/dev_guide.expressions Expression} to evaluate.
index aad0f1f..e1e49c9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- AngularJS v1.0.0rc6
+ AngularJS v1.0.0rc7
  (c) 2010-2012 Google, Inc. http://angularjs.org
  License: MIT
 */
index e6b7d7f..dca7169 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * @license AngularJS v1.0.0rc6
+ * @license AngularJS v1.0.0rc7
  * (c) 2010-2012 Google, Inc. http://angularjs.org
  * License: MIT
  */
@@ -1243,11 +1243,11 @@ function setupModuleLoader(window) {
  * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
  */
 var version = {
-  full: '1.0.0rc6',    // all of these placeholder strings will be replaced by rake's
+  full: '1.0.0rc7',    // all of these placeholder strings will be replaced by rake's
   major: 1,    // compile task
   minor: 0,
   dot: 0,
-  codeName: 'runny-nose'
+  codeName: 'rc-generation'
 };
 
 
@@ -1305,6 +1305,7 @@ function publishExternalAPI(angular){
             ngClass: ngClassDirective,
             ngClassEven: ngClassEvenDirective,
             ngClassOdd: ngClassOddDirective,
+            ngCsp: ngCspDirective,
             ngCloak: ngCloakDirective,
             ngController: ngControllerDirective,
             ngForm: ngFormDirective,
@@ -1873,8 +1874,8 @@ function createEventHandler(element) {
 
     // Remove monkey-patched methods (IE),
     // as they would cause memory leaks in IE8.
-    if (msie < 8) {
-      // IE7 does not allow to delete property on native object
+    if (msie <= 8) {
+      // IE7/8 does not allow to delete property on native object
       event.preventDefault = null;
       event.stopPropagation = null;
       event.isDefaultPrevented = null;
@@ -1918,14 +1919,12 @@ forEach({
           bindFn(element, 'mouseover', function(event) {
             counter++;
             if (counter == 1) {
-              event.type = 'mouseenter';
               mouseenter(event);
             }
           });
           bindFn(element, 'mouseout', function(event) {
             counter --;
             if (counter == 0) {
-              event.type = 'mouseleave';
               mouseleave(event);
             }
           });
@@ -5277,7 +5276,7 @@ var OPERATORS = {
 };
 var ESCAPE = {"n":"\n", "f":"\f", "r":"\r", "t":"\t", "v":"\v", "'":"'", '"':'"'};
 
-function lex(text){
+function lex(text, csp){
   var tokens = [],
       token,
       index = 0,
@@ -5437,7 +5436,7 @@ function lex(text){
     if (OPERATORS.hasOwnProperty(ident)) {
       token.fn = token.json = OPERATORS[ident];
     } else {
-      var getter = getterFn(ident);
+      var getter = getterFn(ident, csp);
       token.fn = extend(function(self, locals) {
         return (getter(self, locals));
       }, {
@@ -5511,10 +5510,10 @@ function lex(text){
 
 /////////////////////////////////////////
 
-function parser(text, json, $filter){
+function parser(text, json, $filter, csp){
   var ZERO = valueFn(0),
       value,
-      tokens = lex(text),
+      tokens = lex(text, csp),
       assignment = _assignment,
       functionCall = _functionCall,
       fieldAccess = _fieldAccess,
@@ -5782,7 +5781,7 @@ function parser(text, json, $filter){
 
   function _fieldAccess(object) {
     var field = expect().text;
-    var getter = getterFn(field);
+    var getter = getterFn(field, csp);
     return extend(
         function(self, locals) {
           return getter(object(self, locals), locals);
@@ -5935,32 +5934,119 @@ function getter(obj, path, bindFnToScope) {
 
 var getterFnCache = {};
 
-function getterFn(path) {
+/**
+ * Implementation of the "Black Hole" variant from:
+ * - http://jsperf.com/angularjs-parse-getter/4
+ * - http://jsperf.com/path-evaluation-simplified/7
+ */
+function cspSafeGetterFn(key0, key1, key2, key3, key4) {
+  return function(scope, locals) {
+    var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope,
+        promise;
+
+    if (!pathVal) return pathVal;
+
+    pathVal = pathVal[key0];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key1 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key1];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key2 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key2];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key3 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key3];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key4 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key4];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    return pathVal;
+  };
+};
+
+function getterFn(path, csp) {
   if (getterFnCache.hasOwnProperty(path)) {
     return getterFnCache[path];
   }
 
-  var fn, code = 'var l, fn, p;\n';
-  forEach(path.split('.'), function(key, index) {
-    code += 'if(!s) return s;\n' +
-            'l=s;\n' +
-            's='+ (index
-                    // we simply direference 's' on any .dot notation
-                    ? 's'
-                    // but if we are first then we check locals firs, and if so read it first
-                    : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '["' + key + '"]' + ';\n' +
-            'if (s && s.then) {\n' +
-              ' if (!("$$v" in s)) {\n' +
-                ' p=s;\n' +
-                ' p.$$v = undefined;\n' +
-                ' p.then(function(v) {p.$$v=v;});\n' +
-                '}\n' +
-              ' s=s.$$v\n' +
-            '}\n';
-  });
-  code += 'return s;';
-  fn = Function('s', 'k', code);
-  fn.toString = function() { return code; };
+  var pathKeys = path.split('.'),
+      pathKeysLength = pathKeys.length,
+      fn;
+
+  if (csp) {
+    fn = (pathKeysLength < 6)
+        ? cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4])
+        : function(scope, locals) {
+          var i = 0, val;
+          do {
+            val = cspSafeGetterFn(
+                    pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++]
+                  )(scope, locals);
+            locals = undefined; // clear after first iteration
+          } while (i < pathKeysLength);
+        };
+  } else {
+    var code = 'var l, fn, p;\n';
+    forEach(pathKeys, function(key, index) {
+      code += 'if(!s) return s;\n' +
+              'l=s;\n' +
+              's='+ (index
+                      // we simply dereference 's' on any .dot notation
+                      ? 's'
+                      // but if we are first then we check locals first, and if so read it first
+                      : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '["' + key + '"]' + ';\n' +
+              'if (s && s.then) {\n' +
+                ' if (!("$$v" in s)) {\n' +
+                  ' p=s;\n' +
+                  ' p.$$v = undefined;\n' +
+                  ' p.then(function(v) {p.$$v=v;});\n' +
+                  '}\n' +
+                ' s=s.$$v\n' +
+              '}\n';
+    });
+    code += 'return s;';
+    fn = Function('s', 'k', code); // s=scope, k=locals
+    fn.toString = function() { return code; };
+  }
 
   return getterFnCache[path] = fn;
 }
@@ -5969,13 +6055,13 @@ function getterFn(path) {
 
 function $ParseProvider() {
   var cache = {};
-  this.$get = ['$filter', function($filter) {
+  this.$get = ['$filter', '$sniffer', function($filter, $sniffer) {
     return function(exp) {
       switch(typeof exp) {
         case 'string':
           return cache.hasOwnProperty(exp)
             ? cache[exp]
-            : cache[exp] =  parser(exp, false, $filter);
+            : cache[exp] =  parser(exp, false, $filter, $sniffer.csp);
         case 'function':
           return exp;
         default:
@@ -7551,7 +7637,9 @@ function $SnifferProvider() {
         }
 
         return eventSupport[event];
-      }
+      },
+      // TODO(i): currently there is no way to feature detect CSP without triggering alerts
+      csp: false
     };
   }];
 }
@@ -11373,7 +11461,7 @@ var ngBindTemplateDirective = ['$interpolate', function($interpolate) {
  * @description
  * Creates a binding that will innerHTML the result of evaluating the `expression` into the current
  * element. *The innerHTML-ed content will not be sanitized!* You should use this directive only if
- * {@link angular.module.ng.$compileProvider.directive.ngBindHtml ngBindHtml} directive is too
+ * {@link angular.module.ngSanitize.directive.ngBindHtml ngBindHtml} directive is too
  * restrictive and when you absolutely trust the source of the content you are binding to.
  *
  * See {@link angular.module.ngSanitize.$sanitize $sanitize} docs for examples.
@@ -11694,6 +11782,32 @@ var ngControllerDirective = [function() {
   };
 }];
 
+/**
+ * @ngdoc directive
+ * @name angular.module.ng.$compileProvider.directive.ngCsp
+ * @priority 1000
+ *
+ * @description
+ * Enables [CSP (Content Security Policy)](https://developer.mozilla.org/en/Security/CSP) support.
+ * This directive should be used on the root element of the application (typically the `<html>`
+ * element or other element with the {@link angular.module.ng.$compileProvider.directive.ngApp ngApp}
+ * directive).
+ *
+ * If enabled the performance of template expression evaluator will suffer slightly, so don't enable
+ * this mode unless you need it.
+ *
+ * @element html
+ */
+
+var ngCspDirective = ['$sniffer', function($sniffer) {
+  return {
+    priority: 1000,
+    compile: function() {
+      $sniffer.csp = true;
+    }
+  };
+}];
+
 /**
  * @ngdoc directive
  * @name angular.module.ng.$compileProvider.directive.ngClick
index b3bd03e..e12d854 100644 (file)
 /*
- AngularJS v1.0.0rc6
+ AngularJS v1.0.0rc7
  (c) 2010-2012 Google, Inc. http://angularjs.org
  License: MIT
 */
-(function(X,aa,u){'use strict';function m(b,a,c){var d;if(b)if(L(b))for(d in b)d!="prototype"&&d!="length"&&d!="name"&&b.hasOwnProperty(d)&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==m)b.forEach(a,c);else if(M(b)&&ua(b.length))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function nb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function $b(b,a,c){for(var d=nb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}
-function ob(b){return function(a,c){b(c,a)}}function va(){for(var b=$.length,a;b;){b--;a=$[b].charCodeAt(0);if(a==57)return $[b]="A",$.join("");if(a==90)$[b]="0";else return $[b]=String.fromCharCode(a+1),$.join("")}$.unshift("0");return $.join("")}function D(b){m(arguments,function(a){a!==b&&m(a,function(a,d){b[d]=a})});return b}function F(b){return parseInt(b,10)}function Ra(b,a){return D(new (D(function(){},{prototype:b})),a)}function x(){}function wa(b){return b}function B(b){return function(){return b}}
-function s(b){return typeof b=="undefined"}function A(b){return typeof b!="undefined"}function M(b){return b!=null&&typeof b=="object"}function E(b){return typeof b=="string"}function ua(b){return typeof b=="number"}function ma(b){return Sa.apply(b)=="[object Date]"}function H(b){return Sa.apply(b)=="[object Array]"}function L(b){return typeof b=="function"}function na(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function T(b){return E(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}function ac(b){return b&&
-(b.nodeName||b.bind&&b.find)}function Ta(b,a,c){var d=[];m(b,function(b,g,f){d.push(a.call(c,b,g,f))});return d}function bc(b,a){var c=0,d;if(H(b)||E(b))return b.length;else if(M(b))for(d in b)(!a||b.hasOwnProperty(d))&&c++;return c}function Ua(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function xa(b,a){var c=Ua(b,a);c>=0&&b.splice(c,1);return a}function Y(b,a){if(na(b)||b&&b.$evalAsync&&b.$watch)throw v("Can't copy Window or Scope");if(a){if(b===
-a)throw v("Can't copy equivalent objects or arrays");if(H(b)){for(;a.length;)a.pop();for(var c=0;c<b.length;c++)a.push(Y(b[c]))}else for(c in m(a,function(b,c){delete a[c]}),b)a[c]=Y(b[c])}else(a=b)&&(H(b)?a=Y(b,[]):ma(b)?a=new Date(b.getTime()):M(b)&&(a=Y(b,{})));return a}function cc(b,a){var a=a||{},c;for(c in b)b.hasOwnProperty(c)&&c.substr(0,2)!=="$$"&&(a[c]=b[c]);return a}function fa(b,a){if(b===a)return!0;if(b===null||a===null)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&
-c=="object")if(H(b)){if((c=b.length)==a.length){for(d=0;d<c;d++)if(!fa(b[d],a[d]))return!1;return!0}}else if(ma(b))return ma(a)&&b.getTime()==a.getTime();else{if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||na(b)||na(a))return!1;c={};for(d in b){if(d.charAt(0)!=="$"&&!L(b[d])&&!fa(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c[d]&&d.charAt(0)!=="$"&&!L(a[d]))return!1;return!0}return!1}function Va(b,a){var c=arguments.length>2?ha.call(arguments,2):[];return L(a)&&!(a instanceof RegExp)?c.length?
-function(){return arguments.length?a.apply(b,c.concat(ha.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}:a}function dc(b,a){var c=a;/^\$+/.test(b)?c=u:na(a)?c="$WINDOW":a&&aa===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE");return c}function ba(b,a){return JSON.stringify(b,dc,a?"  ":null)}function pb(b){return E(b)?JSON.parse(b):b}function Wa(b){b&&b.length!==0?(b=J(""+b),b=!(b=="f"||b=="0"||b=="false"||b=="no"||b=="n"||b=="[]")):b=!1;
-return b}function ya(b){b=t(b).clone();try{b.html("")}catch(a){}return t("<div>").append(b).html().match(/^(<[^>]+>)/)[1]}function Xa(b){var a={},c,d;m((b||"").split("&"),function(b){b&&(c=b.split("="),d=decodeURIComponent(c[0]),a[d]=A(c[1])?decodeURIComponent(c[1]):!0)});return a}function qb(b){var a=[];m(b,function(b,d){a.push(Ya(d,!0)+(b===!0?"":"="+Ya(b,!0)))});return a.length?a.join("&"):""}function Za(b){return Ya(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ya(b,
-a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(a?null:/%20/g,"+")}function ec(b,a){function c(a){a&&d.push(a)}var d=[b],e,g,f=["ng:app","ng-app","x-ng-app","data-ng-app"],j=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;m(f,function(a){f[a]=!0;c(aa.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(m(b.querySelectorAll("."+a),c),m(b.querySelectorAll("."+a+"\\:"),c),m(b.querySelectorAll("["+a+"]"),c))});m(d,function(a){if(!e){var b=
-j.exec(" "+a.className+" ");b?(e=a,g=(b[2]||"").replace(/\s+/g,",")):m(a.attributes,function(b){if(!e&&f[b.name])e=a,g=b.value})}});e&&a(e,g?[g]:[])}function rb(b,a){b=t(b);a=a||[];a.unshift("ng");var c=sb(a);c.invoke(["$rootScope","$compile","$injector",function(a,c,g){a.$apply(function(){b.data("$injector",g);c(b)(a)})}]);return c}function $a(b,a){a=a||"_";return b.replace(fc,function(b,d){return(d?a:"")+b.toLowerCase()})}function oa(b,a,c){if(!b)throw new v("Argument '"+(a||"?")+"' is "+(c||"required"));
-return b}function pa(b,a,c){c&&H(b)&&(b=b[b.length-1]);oa(L(b),a,"not a function, got "+(b&&typeof b=="object"?b.constructor.name||"Object":typeof b));return b}function gc(b){function a(a,b,e){return a[b]||(a[b]=e())}return a(a(b,"angular",Object),"module",function(){var b={};return function(d,e,g){e&&b.hasOwnProperty(d)&&(b[d]=null);return a(b,d,function(){function a(c,d,e){return function(){b[e||"push"]([c,d,arguments]);return k}}if(!e)throw v("No module: "+d);var b=[],c=[],i=a("$injector","invoke"),
-k={_invokeQueue:b,_runBlocks:c,requires:e,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:i,run:function(a){c.push(a);return this}};g&&i(g);return k})}})}function tb(b){return b.replace(hc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(ic,
-"Moz$1")}function ab(b,a){function c(){var e;for(var b=[this],c=a,f,j,h,i,k,n,l;b.length;){f=b.shift();j=0;for(h=f.length;j<h;j++){i=t(f[j]);c?(l=(k=i.data("events"))&&k.$destroy)&&m(l,function(a){a.handler()}):c=!c;k=0;for(e=(n=i.children()).length,i=e;k<i;k++)b.push(ia(n[k]))}}return d.apply(this,arguments)}var d=ia.fn[b],d=d.$original||d;c.$original=d;ia.fn[b]=c}function U(b){if(b instanceof U)return b;if(!(this instanceof U)){if(E(b)&&b.charAt(0)!="<")throw v("selectors not implemented");return new U(b)}if(E(b)){var a=
-aa.createElement("div");a.innerHTML="<div>&nbsp;</div>"+b;a.removeChild(a.firstChild);bb(this,a.childNodes);this.remove()}else bb(this,b)}function cb(b){return b.cloneNode(!0)}function qa(b){ub(b);for(var a=0,b=b.childNodes||[];a<b.length;a++)qa(b[a])}function ub(b){var a=b[za],c=Aa[a];c&&(c.bind&&m(c.bind,function(a,c){c=="$destroy"?a({}):db(b,c,a)}),delete Aa[a],b[za]=u)}function Ba(b,a,c){var d=b[za],d=Aa[d||-1];if(A(c))d||(b[za]=d=jc++,d=Aa[d]={}),d[a]=c;else return d?d[a]:null}function Ca(b,
-a){return(" "+b.className+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" ")>-1}function vb(b,a){a&&m(a.split(" "),function(a){b.className=T((" "+b.className+" ").replace(/[\n\t]/g," ").replace(" "+T(a)+" "," "))})}function wb(b,a){a&&m(a.split(" "),function(a){if(!Ca(b,a))b.className=T(b.className+" "+T(a))})}function bb(b,a){if(a)for(var a=!a.nodeName&&A(a.length)&&!na(a)?a:[a],c=0;c<a.length;c++)b.push(a[c])}function xb(b,a){return Da(b,"$"+(a||"ngController")+"Controller")}function Da(b,a,c){b=t(b);
-for(b[0].nodeType==9&&(b=b.find("html"));b.length;){if(c=b.data(a))return c;b=b.parent()}}function yb(b,a){return zb[b.nodeName]&&Ea[a.toLowerCase()]}function eb(b){var a=function(c){if(!c.preventDefault)c.preventDefault=function(){c.returnValue=!1};if(!c.stopPropagation)c.stopPropagation=function(){c.cancelBubble=!0};if(!c.target)c.target=c.srcElement||aa;if(s(c.defaultPrevented)){var d=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;d.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=
-function(){return c.defaultPrevented};m(a.fns,function(a){a.call(b,c)});ga<8?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};a.fns=[];return a}function ja(b){var a=typeof b,c;if(a=="object"&&b!==null)if(typeof(c=b.$$hashKey)=="function")c=b.$$hashKey();else{if(c===u)c=b.$$hashKey=va()}else c=b;return a+":"+c}function Fa(b){m(b,this.put,this)}function fb(){}function kc(b){pa(b);if(!b.$inject){var a=
-b.$inject=[],c=b.toString().replace(lc,"").match(mc);m(c[1].split(nc),function(b){b.replace(oc,function(b,c,d){a.push(d)})})}return b.$inject}function sb(b){function a(a){return function(b,c){if(M(b))m(b,ob(a));else return a(b,c)}}function c(a,b){L(b)&&(b=n.instantiate(b));if(!b.$get)throw v("Provider "+a+" must define $get factory method.");return k[a+j]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[];m(a,function(a){if(!i.get(a))if(i.put(a,!0),E(a)){var c=ra(a);b=b.concat(e(c.requires)).concat(c._runBlocks);
-try{for(var d=c._invokeQueue,c=0,h=d.length;c<h;c++){var f=d[c],g=f[0]=="$injector"?n:n.get(f[0]);g[f[1]].apply(g,f[2])}}catch(j){throw j.message&&(j.message+=" from "+a),j;}}else if(L(a))try{b.push(n.invoke(a))}catch(k){throw k.message&&(k.message+=" from "+a),k;}else if(H(a))try{b.push(n.invoke(a))}catch(l){throw l.message&&(l.message+=" from "+String(a[a.length-1])),l;}else pa(a,"module")});return b}function g(a,b){function c(d){if(typeof d!=="string")throw v("Service name expected");if(a.hasOwnProperty(d)){if(a[d]===
-f)throw v("Circular dependency: "+h.join(" <- "));return a[d]}else try{return h.unshift(d),a[d]=f,a[d]=b(d)}finally{h.shift()}}function d(a,b,e){var f=[],g,j,i;typeof a=="function"?(g=kc(a),j=g.length):(H(a)&&(g=a,j=g.length-1,a=g[j]),pa(a,"fn"));for(var k=0;k<j;k++)i=g[k],f.push(e&&e.hasOwnProperty(i)?e[i]:c(i,h));switch(b?-1:f.length){case 0:return a();case 1:return a(f[0]);case 2:return a(f[0],f[1]);case 3:return a(f[0],f[1],f[2]);case 4:return a(f[0],f[1],f[2],f[3]);case 5:return a(f[0],f[1],
-f[2],f[3],f[4]);case 6:return a(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6]);case 8:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7]);case 9:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]);case 10:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]);default:return a.apply(b,f)}}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(H(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return M(e)?e:c},get:c}}var f={},j="Provider",
-h=[],i=new Fa,k={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,B(b))}),constant:a(function(a,b){k[a]=b;l[a]=b}),decorator:function(a,b){var c=n.get(a+j),d=c.$get;c.$get=function(){var a=o.invoke(d,c);return o.invoke(b,null,{$delegate:a})}}}},n=g(k,function(){throw v("Unknown provider: "+h.join(" <- "));}),l={},o=l.$injector=g(l,function(a){a=n.get(a+j);return o.invoke(a.$get,a)});m(e(b),
-function(a){o.invoke(a||x)});return o}function pc(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;m(a,function(a){!b&&J(a.nodeName)==="a"&&(b=a)});return b}function g(){var b=c.hash(),d;b?(d=f.getElementById(b))?d.scrollIntoView():(d=e(f.getElementsByName(b)))?d.scrollIntoView():b==="top"&&a.scrollTo(0,0):a.scrollTo(0,0)}var f=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)});
-return g}]}function qc(b,a,c,d,e){function g(a){try{a.apply(null,ha.call(arguments,1))}finally{if(p--,p===0)for(;q.length;)try{q.pop()()}catch(b){d.error(b)}}}function f(a,b){(function O(){m(r,function(a){a()});G=b(O,a)})()}function j(){N!=h.url()&&(N=h.url(),m(y,function(a){a(h.url())}))}var h=this,i=a[0],k=b.location,n=b.history,l=b.setTimeout,o=b.clearTimeout,Z={};h.isMock=!1;var p=0,q=[];h.$$completeOutstandingRequest=g;h.$$incOutstandingRequestCount=function(){p++};h.notifyWhenNoOutstandingRequests=
-function(a){m(r,function(a){a()});p===0?a():q.push(a)};var r=[],G;h.addPollFn=function(a){s(G)&&f(100,l);r.push(a);return a};var N=k.href;h.url=function(a,b){return a?(N=a,e.history?b?n.replaceState(null,"",a):n.pushState(null,"",a):b?k.replace(a):k.href=a,h):k.href};var y=[],w=!1;h.onUrlChange=function(a){w||(e.history&&t(b).bind("popstate",j),e.hashchange?t(b).bind("hashchange",j):h.addPollFn(j),w=!0);y.push(a);return a};var K={},Q="";h.cookies=function(a,b){var c,e,f,g;if(a)if(b===u)i.cookie=escape(a)+
-"=;expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(E(b))i.cookie=escape(a)+"="+escape(b),c=a.length+b.length+1,c>4096&&d.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+c+" > 4096 bytes)!"),K.length>20&&d.warn("Cookie '"+a+"' possibly not set or overflowed because too many cookies were already set ("+K.length+" > 20 )")}else{if(i.cookie!==Q){Q=i.cookie;c=Q.split("; ");K={};for(f=0;f<c.length;f++)e=c[f],g=e.indexOf("="),g>0&&(K[unescape(e.substring(0,g))]=unescape(e.substring(g+
-1)))}return K}};h.defer=function(a,b){var c;p++;c=l(function(){delete Z[c];g(a)},b||0);Z[c]=!0;return c};h.defer.cancel=function(a){return Z[a]?(delete Z[a],o(a),g(x),!0):!1};h.baseHref=function(){var b=a.find("base").attr("href");return b?b.replace(/^https?\:\/\/[^\/]*/,""):b}}function rc(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new qc(b,d,d.find("body"),a,c)}]}function sc(){this.$get=function(){function b(b,d){function e(a){if(a!=n){if(l){if(l==a)l=a.n}else l=
-a;g(a.n,a.p);g(a,n);n=a;n.n=null}}function g(a,b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(b in a)throw v("cacheId "+b+" taken");var f=0,j=D({},d,{id:b}),h={},i=d&&d.capacity||Number.MAX_VALUE,k={},n=null,l=null;return a[b]={put:function(a,b){var c=k[a]||(k[a]={key:a});e(c);s(b)||(a in h||f++,h[a]=b,f>i&&this.remove(l.key))},get:function(a){var b=k[a];if(b)return e(b),h[a]},remove:function(a){var b=k[a];if(b==n)n=b.p;if(b==l)l=b.n;g(b.n,b.p);delete k[a];delete h[a];f--},removeAll:function(){h={};f=0;k=
-{};n=l=null},destroy:function(){k=j=h=null;delete a[b]},info:function(){return D({},j,{size:f})}}}var a={};b.info=function(){var b={};m(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function tc(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function Ab(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,g=/\<\<content\>\>/i,f=/^\<[\s\S]*\>$/;this.directive=function h(d,e){E(d)?(oa(e,"directive"),
-a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];m(a[d],function(a){try{var f=b.invoke(a);if(L(f))f={compile:B(f)};else if(!f.compile&&f.link)f.compile=B(f.link);f.priority=f.priority||0;f.name=f.name||d;f.require=f.require||f.controller&&f.name;f.restrict=f.restrict||"A";e.push(f)}catch(g){c(g)}});return e}])),a[d].push(e)):m(d,ob(h));return this};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller",
-function(b,i,k,n,l,o,Z){function p(a,b,c){a instanceof t||(a=t(a));m(a,function(b,c){b.nodeType==3&&(a[c]=t(b).wrap("<span>").parent()[0])});var d=G(a,b,a,c);return function(b,c){oa(b,"scope");var e=c?sa.clone.call(a):a;r(e.data("$scope",b),"ng-scope");c&&c(e,b);d&&d(b,e,e);return e}}function q(a,b){throw v("Unsupported '"+b+"' for '"+a+"'.");}function r(a,b){try{a.addClass(b)}catch(c){}}function G(a,b,c,d){function e(a,c,d,g){for(var h,k,i,l,n,o=0,V=0,q=f.length;o<q;V++)i=c[V],k=f[o++],h=f[o++],
-k?(k.scope?(l=a.$new(M(k.scope)),t(i).data("$scope",l)):l=a,(n=k.transclude)||!g&&b?k(h,l,i,d,function(b){return function(c){var d=a.$new();return b(d,c).bind("$destroy",Va(d,d.$destroy))}}(n||b)):k(h,l,i,u,g)):h&&h(a,i.childNodes,u,g)}for(var f=[],g,h,k,i=0;i<a.length;i++)h=new ka,g=N(a[i],[],h,d),h=(g=g.length?y(g,a[i],h,b,c):null)&&g.terminal?null:G(a[i].childNodes,g?g.transclude:b),f.push(g),f.push(h),k=k||g||h;return k?e:null}function N(a,b,c,f){var g=c.$attr,h;switch(a.nodeType){case 1:w(b,
-ea(Bb(a).toLowerCase()),"E",f);var k,i,l;h=a.attributes;for(var n=0,o=h&&h.length;n<o;n++)if(k=h[n],k.specified)i=k.name,l=ea(i.toLowerCase()),g[l]=i,c[l]=k=T(ga&&i=="href"?decodeURIComponent(a.getAttribute(i,2)):k.value),yb(a,l)&&(c[l]=!0),O(a,b,k,l),w(b,l,"A",f);a=a.className;if(E(a))for(;h=e.exec(a);)l=ea(h[2]),w(b,l,"C",f)&&(c[l]=T(h[3])),a=a.substr(h.index+h[0].length);break;case 3:I(b,a.nodeValue);break;case 8:try{if(h=d.exec(a.nodeValue))l=ea(h[1]),w(b,l,"M",f)&&(c[l]=T(h[2]))}catch(q){}}b.sort(R);
-return b}function y(a,b,c,d,e){function f(a,b){if(a)a.require=z.require,n.push(a);if(b)b.require=z.require,o.push(b)}function h(a,b){var c,d="data",e=!1;if(E(a)){for(;(c=a.charAt(0))=="^"||c=="?";)a=a.substr(1),c=="^"&&(d="inheritedData"),e=e||c=="?";c=b[d]("$"+a+"Controller");if(!c&&!e)throw v("No controller: "+a);}else H(a)&&(c=[],m(a,function(a){c.push(h(a,b))}));return c}function i(a,d,e,f,g){var l,V,p,r,K;l=b===e?c:cc(c,new ka(t(e),c.$attr));V=l.$$element;y&&M(y.scope)&&m(y.scope,function(a,
-b){(Ga[a]||q)(b,a,d.$parent||d,d,l)});D&&m(D,function(a){var b={$scope:d,$element:V,$attrs:l,$transclude:g};m(a.inject||{},function(a,c){(Ga[a]||q)(c,a,y?d.$parent||d:d,b,l)});K=a.controller;K=="@"&&(K=l[a.name]);V.data("$"+a.name+"Controller",Z(K,b))});f=0;for(p=n.length;f<p;f++)try{r=n[f],r(d,V,l,r.require&&h(r.require,V))}catch(uc){k(uc,ya(V))}a&&a(d,e.childNodes,u,g);f=0;for(p=o.length;f<p;f++)try{r=o[f],r(d,V,l,r.require&&h(r.require,V))}catch(w){k(w,ya(V))}}for(var l=-Number.MAX_VALUE,n=[],
-o=[],y=null,w=null,R=null,G=null,C=c.$$element=t(b),z,O,I,x,s=d,D,B,A=0,F=a.length;A<F;A++){z=a[A];I=u;if(l>z.priority)break;if(I=z.scope)ca("isolated scope",w,z,C),M(I)&&(r(C,"ng-isolate-scope"),w=z),r(C,"ng-scope"),y=y||z;O=z.name;if(I=z.controller)D=D||{},ca("'"+O+"' controller",D[O],z,C),D[O]=z;if(I=z.transclude)ca("transclusion",x,z,C),x=z,l=z.priority,I=="element"?(I=t(b),b=(C=c.$$element=t("<\!-- "+O+": "+c[O]+" --\>"))[0],da(e,t(I[0]),b),s=p(I,d,l)):(I=t(cb(b)),C.html(""),s=p(I.contents(),
-d));if(I=z.template)ca("template",R,z,C),R=z,O=I.replace(g,C.html()),b=t(O)[0],z.replace?(da(e,C,b),F={$attr:{}},a=a.concat(N(b,a.splice(A+1,a.length-(A+1)),F)),K(c,F),F=a.length):C.html(O);if(z.templateUrl)ca("template",R,z,C),R=z,G=Q(a.splice(A,a.length-A),i,C,c,e,z.replace,s),F=a.length;else if(z.compile)try{B=z.compile(C,c,s),L(B)?f(null,B):B&&f(B.pre,B.post)}catch(J){k(J,ya(C))}if(z.terminal)i.terminal=!0,l=Math.max(l,z.priority)}B=G||i;B.scope=y&&y.scope;B.transclude=x&&s;return B}function w(d,
-e,f,g){var i=!1;if(a.hasOwnProperty(e))for(var l,e=b.get(e+c),n=0,o=e.length;n<o;n++)try{if(l=e[n],(g===u||g>l.priority)&&l.restrict.indexOf(f)!=-1)d.push(l),i=!0}catch(q){k(q)}return i}function K(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;m(a,function(d,e){e.charAt(0)!="$"&&(b[e]&&(d+=(e==="style"?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});m(b,function(b,f){f=="class"?r(e,b):f=="style"?e.attr("style",e.attr("style")+";"+b):f.charAt(0)!="$"&&!a.hasOwnProperty(f)&&(a[f]=b,d[f]=c[f])})}function Q(a,b,c,
-d,e,h,i){var k=[],o,q,Ga=c[0],p=a.shift(),r=D({},p,{templateUrl:null,transclude:null}),m=c.html();c.html("");n.get(p.templateUrl,{cache:l}).success(function(l){l=T(l).replace(g,m);if(h&&!l.match(f))throw v("Template must have exactly one root element: "+l);var n,p;h?(p={$attr:{}},n=t(l)[0],da(e,c,n),N(c[0],a,p),K(d,p)):(n=c[0],c.html(l));a.unshift(r);o=y(a,c,d,i);for(q=G(c.contents(),i);k.length;){var Z=k.pop(),l=k.pop();p=k.pop();var ka=k.pop(),w=n;p!==Ga&&(w=cb(n),da(l,t(p),w));o(function(){b(q,
-ka,w,e,Z)},ka,w,e,Z)}k=null}).error(function(a,b,c,d){throw v("Failed to load template: "+d.url);});return function(a,c,d,e,f){k?(k.push(c),k.push(d),k.push(e),k.push(f)):o(function(){b(q,c,d,e,f)},c,d,e,f)}}function R(a,b){return b.priority-a.priority}function ca(a,b,c,d){if(b)throw v("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+ya(d));}function I(a,b){var c=i(b,!0);c&&a.push({priority:0,compile:B(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c);r(d.data("$binding",
-e),"ng-binding");a.$watch(c,function(a){b[0].nodeValue=a})})})}function O(a,b,c,d){var e=i(c,!0);e&&b.push({priority:100,compile:B(function(a,b,c){d==="class"&&(e=i(c[d],!0));c.$$observers[d]=[];c[d]=u;a.$watch(e,function(a){c.$set(d,a)})})})}function da(a,b,c){var d=b[0],e=d.parentNode,f,g;if(a){f=0;for(g=a.length;f<g;f++)a[f]==d&&(a[f]=c)}e&&e.replaceChild(c,d);b[0]=c}var Ga={attribute:function(a,b,c,d,e){d[a]=e[a]},evaluate:function(a,b,c,d,e){d[a]=c.$eval(e[a])},bind:function(a,b,c,d,e){var f=
-i(e[a]);d.$watch(function(){return f(c)},function(b){d[a]=b})},accessor:function(a,b,c,d,e){var f=x,g=x,h=e[a];h&&(f=o(h),g=f.assign||function(){throw v("Expression '"+h+"' not assignable.");});d[a]=function(a){return arguments.length?g(c,a):f(c)}},expression:function(a,b,c,d,e){d[a]=function(b){o(e[a])(c,b)}}},ka=function(a,b){this.$$element=a;this.$$observers={};this.$attr=b||{}};ka.prototype={$normalize:ea,$set:function(a,b,c,d){var e=yb(this.$$element[0],a.toLowerCase());e&&(this.$$element.prop(a,
-b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=$a(a,"-"));c!==!1&&(b===null||b===u?this.$$element.removeAttr(d):this.$$element.attr(d,b));m(this.$$observers[a],function(a){try{a(b)}catch(c){k(c)}})},$observe:function(a,b){this.$$observers[a]&&this.$$observers[a].push(b)}};return p}]}function ea(b){return tb(b.replace(vc,""))}function wc(){var b={};this.register=function(a,c){b[a]=c};this.$get=["$injector","$window",function(a,c){return function(d,e){if(E(d)){var g=d,d=b.hasOwnProperty(g)?
-b[g]:gb(e.$scope,g,!0)||gb(c,g,!0);pa(d,g,!0)}return a.instantiate(d,e)}}]}function xc(){this.$get=["$rootScope","$browser",function(b,a){function c(c,e){return a.defer(function(){b.$apply(c)},e)}c.cancel=function(b){return a.defer.cancel(b)};return c}]}function yc(){this.$get=["$window",function(b){return t(b.document)}]}function zc(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Ac(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};
-this.endSymbol=function(c){return c?(a=c,this):b};this.$get=["$parse",function(c){var d=b.length,e=a.length;return function(g,f){for(var j,h,i=0,k=[],n=g.length,l=!1,o=[];i<n;)(j=g.indexOf(b,i))!=-1&&(h=g.indexOf(a,j+d))!=-1?(i!=j&&k.push(g.substring(i,j)),k.push(i=c(l=g.substring(j+d,h))),i.exp=l,i=h+e,l=!0):(i!=n&&k.push(g.substring(i)),i=n);if(!(n=k.length))k.push(""),n=1;if(!f||l)return o.length=n,i=function(a){for(var b=0,c=n,d;b<c;b++){if(typeof(d=k[b])=="function")d=d(a),d==null||d==u?d="":
-typeof d!="string"&&(d=ba(d));o[b]=d}return o.join("")},i.exp=g,i.parts=k,i}}]}function Cb(b){for(var b=b.split("/"),a=b.length;a--;)b[a]=Za(b[a]);return b.join("/")}function Ha(b,a){var c=Db.exec(b),c={protocol:c[1],host:c[3],port:F(c[5])||Eb[c[1]]||null,path:c[6]||"/",search:c[8],hash:c[10]};if(a)a.$$protocol=c.protocol,a.$$host=c.host,a.$$port=c.port;return c}function ta(b,a,c){return b+"://"+a+(c==Eb[b]?"":":"+c)}function Bc(b,a,c){var d=Ha(b);return decodeURIComponent(d.path)!=a||s(d.hash)||
-d.hash.indexOf(c)!==0?b:ta(d.protocol,d.host,d.port)+a.substr(0,a.lastIndexOf("/"))+d.hash.substr(c.length)}function Cc(b,a,c){var d=Ha(b);if(decodeURIComponent(d.path)==a)return b;else{var e=d.search&&"?"+d.search||"",g=d.hash&&"#"+d.hash||"",f=a.substr(0,a.lastIndexOf("/")),j=d.path.substr(f.length);if(d.path.indexOf(f)!==0)throw'Invalid url "'+b+'", missing path prefix "'+f+'" !';return ta(d.protocol,d.host,d.port)+a+"#"+c+j+e+g}}function hb(b,a){a=a||"";this.$$parse=function(b){var d=Ha(b,this);
-if(d.path.indexOf(a)!==0)throw'Invalid url "'+b+'", missing path prefix "'+a+'" !';this.$$path=decodeURIComponent(d.path.substr(a.length));this.$$search=Xa(d.search);this.$$hash=d.hash&&decodeURIComponent(d.hash)||"";this.$$compose()};this.$$compose=function(){var b=qb(this.$$search),d=this.$$hash?"#"+Za(this.$$hash):"";this.$$url=Cb(this.$$path)+(b?"?"+b:"")+d;this.$$absUrl=ta(this.$$protocol,this.$$host,this.$$port)+a+this.$$url};this.$$parse(b)}function ib(b,a){var c;this.$$parse=function(b){var e=
-Ha(b,this);if(e.hash&&e.hash.indexOf(a)!==0)throw'Invalid url "'+b+'", missing hash prefix "'+a+'" !';c=e.path+(e.search?"?"+e.search:"");e=Dc.exec((e.hash||"").substr(a.length));this.$$path=e[1]?(e[1].charAt(0)=="/"?"":"/")+decodeURIComponent(e[1]):"";this.$$search=Xa(e[3]);this.$$hash=e[5]&&decodeURIComponent(e[5])||"";this.$$compose()};this.$$compose=function(){var b=qb(this.$$search),e=this.$$hash?"#"+Za(this.$$hash):"";this.$$url=Cb(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=ta(this.$$protocol,
-this.$$host,this.$$port)+c+(this.$$url?"#"+a+this.$$url:"")};this.$$parse(b)}function Ia(b){return function(){return this[b]}}function Fb(b,a){return function(c){if(s(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Ec(){var b="",a=!1;this.hashPrefix=function(a){return A(a)?(b=a,this):b};this.html5Mode=function(b){return A(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$document",function(c,d,e,g){var f,j=d.baseHref()||"/",h=j.substr(0,j.lastIndexOf("/")),i=d.url();
-if(a){var e=f=e.history?new hb(Bc(i,j,b),h):new ib(Cc(i,j,b),b),k=ta(e.protocol(),e.host(),e.port())+h;g.bind("click",function(a){if(!a.ctrlKey&&!(a.metaKey||a.which==2)){for(var b=t(a.target);b.length&&J(b[0].nodeName)!=="a";)b=b.parent();var d=b.prop("href");if(d&&!(b.attr("target")||d.indexOf(k)!==0))f.url(d.substr(k.length)),c.$apply(),a.preventDefault(),X.angular["ff-684208-preventDefault"]=!0}})}else f=new ib(i,b);f.absUrl()!=i&&d.url(f.absUrl(),!0);d.onUrlChange(function(a){f.absUrl()!=a&&
-(c.$evalAsync(function(){f.$$parse(a)}),c.$$phase||c.$digest())});var n=0;c.$watch(function(){d.url()!=f.absUrl()&&(n++,c.$evalAsync(function(){d.url(f.absUrl(),f.$$replace);f.$$replace=!1}));return n});return f}]}function Fc(){this.$get=["$window",function(b){function a(a){a instanceof v&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function c(c){var e=b.console||{},g=e[c]||e.log||x;
-return g.apply?function(){var b=[];m(arguments,function(c){b.push(a(c))});return g.apply(e,b)}:function(a,b){g(a,b)}}return{log:c("log"),warn:c("warn"),info:c("info"),error:c("error")}}]}function Gc(b){function a(a){return a.indexOf(p)!=-1}function c(){return o+1<b.length?b.charAt(o+1):!1}function d(a){return"0"<=a&&a<="9"}function e(a){return a==" "||a=="\r"||a=="\t"||a=="\n"||a=="\u000b"||a=="\u00a0"}function g(a){return"a"<=a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function f(a){return a=="-"||
-a=="+"||d(a)}function j(a,c,d){d=d||o;throw v("Lexer Error: "+a+" at column"+(A(c)?"s "+c+"-"+o+" ["+b.substring(c,d)+"]":" "+d)+" in expression ["+b+"].");}function h(){for(var a="",e=o;o<b.length;){var g=J(b.charAt(o));if(g=="."||d(g))a+=g;else{var h=c();if(g=="e"&&f(h))a+=g;else if(f(g)&&h&&d(h)&&a.charAt(a.length-1)=="e")a+=g;else if(f(g)&&(!h||!d(h))&&a.charAt(a.length-1)=="e")j("Invalid exponent");else break}o++}a*=1;n.push({index:e,text:a,json:!0,fn:function(){return a}})}function i(){for(var a=
-"",c=o,f,h,k;o<b.length;){var i=b.charAt(o);if(i=="."||g(i)||d(i))i=="."&&(f=o),a+=i;else break;o++}if(f)for(h=o;h<b.length;){i=b.charAt(h);if(i=="("){k=a.substr(f-c+1);a=a.substr(0,f-c);o=h;break}if(e(i))h++;else break}c={index:c,text:a};if(Ja.hasOwnProperty(a))c.fn=c.json=Ja[a];else{var l=Gb(a);c.fn=D(function(a,b){return l(a,b)},{assign:function(b,c){return Hb(b,a,c)}})}n.push(c);k&&(n.push({index:f,text:".",json:!1}),n.push({index:f+1,text:k,json:!1}))}function k(a){var c=o;o++;for(var d="",e=
-a,f=!1;o<b.length;){var g=b.charAt(o);e+=g;if(f)g=="u"?(g=b.substring(o+1,o+5),g.match(/[\da-f]{4}/i)||j("Invalid unicode escape [\\u"+g+"]"),o+=4,d+=String.fromCharCode(parseInt(g,16))):(f=Hc[g],d+=f?f:g),f=!1;else if(g=="\\")f=!0;else if(g==a){o++;n.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}else d+=g;o++}j("Unterminated quote",c)}for(var n=[],l,o=0,m=[],p,q=":";o<b.length;){p=b.charAt(o);if(a("\"'"))k(p);else if(d(p)||a(".")&&d(c()))h();else if(g(p)){if(i(),"{,".indexOf(q)!=
--1&&m[0]=="{"&&(l=n[n.length-1]))l.json=l.text.indexOf(".")==-1}else if(a("(){}[].,;:"))n.push({index:o,text:p,json:":[,".indexOf(q)!=-1&&a("{[")||a("}]:,")}),a("{[")&&m.unshift(p),a("}]")&&m.shift(),o++;else if(e(p)){o++;continue}else{var r=p+c(),G=Ja[p],N=Ja[r];N?(n.push({index:o,text:r,fn:N}),o+=2):G?(n.push({index:o,text:p,fn:G,json:"[,:".indexOf(q)!=-1&&a("+-")}),o+=1):j("Unexpected next character ",o,o+1)}q=p}return n}function Ic(b,a,c){function d(a,c){throw v("Syntax Error: Token '"+c.text+
-"' "+a+" at column "+(c.index+1)+" of the expression ["+b+"] starting at ["+b.substring(c.index)+"].");}function e(){if(Q.length===0)throw v("Unexpected end of expression: "+b);return Q[0]}function g(a,b,c,d){if(Q.length>0){var e=Q[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function f(b,c,e,f){return(b=g(b,c,e,f))?(a&&!b.json&&d("is not valid json",b),Q.shift(),b):!1}function j(a){f(a)||d("is unexpected, expecting ["+a+"]",g())}function h(a,b){return function(c,d){return a(c,
-d,b)}}function i(a,b,c){return function(d,e){return b(d,e,a,c)}}function k(){for(var a=[];;)if(Q.length>0&&!g("}",")",";","]")&&a.push(da()),!f(";"))return a.length==1?a[0]:function(b,c){for(var d,e=0;e<a.length;e++){var f=a[e];f&&(d=f(b,c))}return d}}function n(){for(var a=f(),b=c(a.text),d=[];;)if(a=f(":"))d.push(R());else{var e=function(a,c,e){for(var e=[e],f=0;f<d.length;f++)e.push(d[f](a,c));return b.apply(a,e)};return function(){return e}}}function l(){for(var a=o(),b;;)if(b=f("||"))a=i(a,b.fn,
-o());else return a}function o(){var a=m(),b;if(b=f("&&"))a=i(a,b.fn,o());return a}function m(){var a=p(),b;if(b=f("==","!="))a=i(a,b.fn,m());return a}function p(){var a;a=q();for(var b;b=f("+","-");)a=i(a,b.fn,q());if(b=f("<",">","<=",">="))a=i(a,b.fn,p());return a}function q(){for(var a=r(),b;b=f("*","/","%");)a=i(a,b.fn,r());return a}function r(){var a;return f("+")?G():(a=f("-"))?i(w,a.fn,r()):(a=f("!"))?h(a.fn,r()):G()}function G(){var a;if(f("("))a=da(),j(")");else if(f("["))a=N();else if(f("{"))a=
-y();else{var b=f();(a=b.fn)||d("not a primary expression",b)}for(var c;b=f("(","[",".");)b.text==="("?(a=ca(a,c),c=null):b.text==="["?(c=a,a=O(a)):b.text==="."?(c=a,a=I(a)):d("IMPOSSIBLE");return a}function N(){var a=[];if(e().text!="]"){do a.push(R());while(f(","))}j("]");return function(b,c){for(var d=[],e=0;e<a.length;e++)d.push(a[e](b,c));return d}}function y(){var a=[];if(e().text!="}"){do{var b=f(),b=b.string||b.text;j(":");var c=R();a.push({key:b,value:c})}while(f(","))}j("}");return function(b,
-c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=f.value(b,c);d[f.key]=g}return d}}var w=B(0),K,Q=Gc(b),R=function(){var a=l(),c,e;return(e=f("="))?(a.assign||d("implies assignment but ["+b.substring(0,e.index)+"] can not be assigned to",e),c=l(),function(b,d){return a.assign(b,c(b,d),d)}):a},ca=function(a,b){var c=[];if(e().text!=")"){do c.push(R());while(f(","))}j(")");return function(d,e){for(var f=[],g=b?b(d,e):d,h=0;h<c.length;h++)f.push(c[h](d,e));h=a(d,e)||x;return h.apply?h.apply(g,f):h(f[0],
-f[1],f[2],f[3],f[4])}},I=function(a){var b=f().text,c=Gb(b);return D(function(b,d){return c(a(b,d),d)},{assign:function(c,d,e){return Hb(a(c,e),b,d)}})},O=function(a){var b=R();j("]");return D(function(c,d){var e=a(c,d),f=b(c,d),g;if(!e)return u;if((e=e[f])&&e.then){g=e;if(!("$$v"in e))g.$$v=u,g.then(function(a){g.$$v=a});e=e.$$v}return e},{assign:function(c,d,e){return a(c,e)[b(c,e)]=d}})},da=function(){for(var a=R(),b;;)if(b=f("|"))a=i(a,b.fn,n());else return a};a?(R=l,ca=I=O=da=function(){d("is not valid json",
-{text:b,index:0})},K=G()):K=k();Q.length!==0&&d("is an unexpected token",Q[0]);return K}function Hb(b,a,c){for(var a=a.split("."),d=0;a.length>1;d++){var e=a.shift(),g=b[e];g||(g={},b[e]=g);b=g}return b[a.shift()]=c}function gb(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,g=a.length,f=0;f<g;f++)d=a[f],b&&(b=(e=b)[d]);return!c&&L(b)?Va(e,b):b}function Gb(b){if(jb.hasOwnProperty(b))return jb[b];var a,c="var l, fn, p;\n";m(b.split("."),function(a,b){c+="if(!s) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+
-a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'});c+="return s;";a=Function("s","k",c);a.toString=function(){return c};return jb[b]=a}function Jc(){var b={};this.$get=["$filter",function(a){return function(c){switch(typeof c){case "string":return b.hasOwnProperty(c)?b[c]:b[c]=Ic(c,!1,a);case "function":return c;default:return x}}}]}function Kc(){this.$get=["$rootScope","$exceptionHandler",function(b,
-a){return Lc(function(a){b.$evalAsync(a)},a)}]}function Lc(b,a){function c(a){return a}function d(a){return f(a)}var e=function(){var j=[],h,i;return i={resolve:function(a){if(j){var c=j;j=u;h=g(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],h.then(a[0],a[1])})}},reject:function(a){i.resolve(f(a))},promise:{then:function(b,f){var g=e(),i=function(d){try{g.resolve((b||c)(d))}catch(e){a(e),g.reject(e)}},m=function(b){try{g.resolve((f||d)(b))}catch(c){a(c),g.reject(c)}};j?j.push([i,
-m]):h.then(i,m);return g.promise}}}},g=function(a){return a&&a.then?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},f=function(a){return{then:function(c,f){var g=e();b(function(){g.resolve((f||d)(a))});return g.promise}}};return{defer:e,reject:f,when:function(j,h,i){var k=e(),n,l=function(b){try{return(h||c)(b)}catch(d){return a(d),f(d)}},o=function(b){try{return(i||d)(b)}catch(c){return a(c),f(c)}};b(function(){g(j).then(function(a){n||(n=!0,k.resolve(g(a).then(l,
-o)))},function(a){n||(n=!0,k.resolve(o(a)))})});return k.promise},all:function(a){var b=e(),c=a.length,d=[];c?m(a,function(a,e){g(a).then(function(a){e in d||(d[e]=a,--c||b.resolve(d))},function(a){e in d||b.reject(a)})}):b.resolve(d);return b.promise}}}function Mc(){var b={};this.when=function(a,c){b[a]=D({reloadOnSearch:!0},c);if(a){var d=a[a.length-1]=="/"?a.substr(0,a.length-1):a+"/";b[d]={redirectTo:a}}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope",
-"$location","$routeParams",function(a,c,d){function e(){var a,d;m(b,function(b,e){if(!d&&(a=f(c.path(),e)))d=Ra(b,{params:D({},c.search(),a),pathParams:a}),d.$route=b});return d||b[null]&&Ra(b[null],{params:{},pathParams:{}})}function g(a,b){var c=[];m((a||"").split(":"),function(a,d){if(d==0)c.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];c.push(b[f]);c.push(e[2]||"");delete b[f]}});return c.join("")}var f=function(a,b){var c="^"+b.replace(/([\.\\\(\)\^\$])/g,"\\$1")+"$",d=[],e={};m(b.split(/\W/),
-function(a){if(a){var b=RegExp(":"+a+"([\\W])");c.match(b)&&(c=c.replace(b,"([^\\/]*)$1"),d.push(a))}});var f=a.match(RegExp(c));f&&m(d,function(a,b){e[a]=f[b+1]});return f?e:null},j=0,h=!1,i={routes:b,reload:function(){j++;h=!0}};a.$watch(function(){return j+c.url()},function(){var b=e(),f=i.current;if(b&&f&&b.$route===f.$route&&fa(b.pathParams,f.pathParams)&&!b.reloadOnSearch&&!h)f.params=b.params,Y(f.params,d),a.$broadcast("$routeUpdate",f);else if(b||f)h=!1,a.$broadcast("$beforeRouteChange",b,
-f),(i.current=b)&&(b.redirectTo?E(b.redirectTo)?c.path(g(b.redirectTo,b.params)).search(b.params).replace():c.url(b.redirectTo(b.pathParams,c.path(),c.search())).replace():Y(b.params,d)),a.$broadcast("$afterRouteChange",b,f)});return i}]}function Nc(){this.$get=B({})}function Oc(){var b=10;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse",function(a,c,d){function e(){this.$id=va();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=
-this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$asyncQueue=[];this.$$listeners={}}function g(a,b){var c=a.$root;if(c.$$phase)throw v(c.$$phase+" already in progress");c.$$phase=b}function f(a,b){var c=d(a);pa(c,b);return c}function j(){}e.prototype={$new:function(a){if(L(a))throw v("API-CHANGE: Use $controller to instantiate controllers.");a?(a=new e,a.$root=this.$root):(a=function(){},a.prototype=this,a=new a,a.$id=va());a["this"]=a;a.$$listeners={};
-a.$parent=this;a.$$asyncQueue=[];a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,c){var d=f(a,"watch"),e=this.$$watchers,g={fn:b,last:j,get:d,exp:a,eq:!!c};if(!L(b)){var m=f(b||x,"listener");g.fn=function(a,b,c){m(c)}}if(!e)e=this.$$watchers=[];e.unshift(g);return function(){xa(e,g)}},$digest:function(){var a,d,e,f,l,o,
-m,p=b,q,r=[],G,N;g(this,"$digest");do{m=!1;q=this;do{for(l=q.$$asyncQueue;l.length;)try{q.$eval(l.shift())}catch(y){c(y)}if(f=q.$$watchers)for(o=f.length;o--;)try{if(a=f[o],(d=a.get(q))!==(e=a.last)&&!(a.eq?fa(d,e):typeof d=="number"&&typeof e=="number"&&isNaN(d)&&isNaN(e)))m=!0,a.last=a.eq?Y(d):d,a.fn(d,e===j?d:e,q),p<5&&(G=4-p,r[G]||(r[G]=[]),N=L(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,N+="; newVal: "+ba(d)+"; oldVal: "+ba(e),r[G].push(N))}catch(w){c(w)}if(!(f=q.$$childHead||q!==this&&
-q.$$nextSibling))for(;q!==this&&!(f=q.$$nextSibling);)q=q.$parent}while(q=f);if(m&&!p--)throw v(b+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+ba(r));}while(m||l.length);this.$root.$$phase=null},$destroy:function(){if(this.$root!=this){var a=this.$parent;this.$broadcast("$destroy");if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;if(a.$$childTail==this)a.$$childTail=this.$$prevSibling;if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;
-if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return g(this,"$apply"),this.$eval(a)}catch(b){c(b)}finally{this.$root.$$phase=null,this.$root.$digest()}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){xa(c,b)}},$emit:function(a,b){var d=[],e,f=this,g={name:a,targetScope:f,cancel:function(){g.cancelled=
-!0},cancelled:!1},j=[g].concat(ha.call(arguments,1)),m,q;do{e=f.$$listeners[a]||d;g.currentScope=f;m=0;for(q=e.length;m<q;m++)try{if(e[m].apply(null,j),g.cancelled)return g}catch(r){c(r)}f=f.$parent}while(f);return g},$broadcast:function(a,b){var d=this,e=this,f={name:a,targetScope:this},g=[f].concat(ha.call(arguments,1));do if(d=e,f.currentScope=d,m(d.$$listeners[a],function(a){try{a.apply(null,g)}catch(b){c(b)}}),!(e=d.$$childHead||d!==this&&d.$$nextSibling))for(;d!==this&&!(e=d.$$nextSibling);)d=
-d.$parent;while(d=e);return f}};return new e}]}function Pc(){this.$get=["$window",function(b){var a={};return{history:!(!b.history||!b.history.pushState),hashchange:"onhashchange"in b&&(!b.document.documentMode||b.document.documentMode>7),hasEvent:function(c){if(s(a[c])){var d=b.document.createElement("div");a[c]="on"+c in d}return a[c]}}}]}function Qc(){this.$get=B(X)}function Ib(b){var a={},c,d,e;if(!b)return a;m(b.split("\n"),function(b){e=b.indexOf(":");c=J(T(b.substr(0,e)));d=T(b.substr(e+1));
-c&&(a[c]?a[c]+=", "+d:a[c]=d)});return a}function Jb(b){var a=M(b)?b:u;return function(c){a||(a=Ib(b));return c?a[J(c)]||null:a}}function Kb(b,a,c){if(L(c))return c(b,a);m(c,function(c){b=c(b,a)});return b}function Rc(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d=this.defaults={transformResponse:[function(d){E(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=pb(d,!0)));return d}],transformRequest:[function(a){return M(a)&&Sa.apply(a)!=="[object File]"?ba(a):a}],headers:{common:{Accept:"application/json, text/plain, */*",
-"X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/json"},put:{"Content-Type":"application/json"}}},e=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,h,i,k){function n(a){function c(a){var b=D({},a,{data:Kb(a.data,a.headers,g)});return 200<=a.status&&a.status<300?b:i.reject(b)}a.method=la(a.method);var e=a.transformRequest||d.transformRequest,g=a.transformResponse||d.transformResponse,h=d.headers,h=
-D({"X-XSRF-TOKEN":b.cookies()["XSRF-TOKEN"]},h.common,h[J(a.method)],a.headers),e=Kb(a.data,Jb(h),e),j;s(a.data)&&delete h["Content-Type"];j=l(a,e,h);j=j.then(c,c);m(p,function(a){j=a(j)});j.success=function(b){j.then(function(c){b(c.data,c.status,c.headers,a)});return j};j.error=function(b){j.then(null,function(c){b(c.data,c.status,c.headers,a)});return j};return j}function l(b,c,d){function e(a,b,c){m&&(200<=a&&a<300?m.put(u,[a,b,Ib(c)]):m.remove(u));f(b,a,c);h.$apply()}function f(a,c,d){c=Math.max(c,
-0);(200<=c&&c<300?l.resolve:l.reject)({data:a,status:c,headers:Jb(d),config:b})}function j(){var a=Ua(n.pendingRequests,b);a!==-1&&n.pendingRequests.splice(a,1)}var l=i.defer(),k=l.promise,m,p,u=o(b.url,b.params);n.pendingRequests.push(b);k.then(j,j);b.cache&&b.method=="GET"&&(m=M(b.cache)?b.cache:Z);if(m)if(p=m.get(u))if(p.then)return p.then(j,j),p;else H(p)?f(p[1],p[0],Y(p[2])):f(p,200,{});else m.put(u,k);p||a(b.method,u,c,e,d,b.timeout,b.withCredentials);return k}function o(a,b){if(!b)return a;
-var c=[];$b(b,function(a,b){a==null||a==u||(M(a)&&(a=ba(a)),c.push(encodeURIComponent(b)+"="+encodeURIComponent(a)))});return a+(a.indexOf("?")==-1?"?":"&")+c.join("&")}var Z=c("$http"),p=[];m(e,function(a){p.push(E(a)?k.get(a):k.invoke(a))});n.pendingRequests=[];(function(a){m(arguments,function(a){n[a]=function(b,c){return n(D(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){m(arguments,function(a){n[a]=function(b,c,d){return n(D(d||{},{method:a,url:b,data:c}))}})})("post",
-"put");n.defaults=d;return n}]}function Sc(){this.$get=["$browser","$window","$document",function(b,a,c){return Tc(b,Uc,b.defer,a.angular.callbacks,c[0],a.location.protocol.replace(":",""))}]}function Tc(b,a,c,d,e,g){function f(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;ga?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c)}return function(e,h,i,k,n,l,o){function u(a,
-c,d,e){c=(h.match(Db)||["",g])[1]=="file"?d?200:404:c;a(c==1223?204:c,d,e);b.$$completeOutstandingRequest(x)}b.$$incOutstandingRequestCount();h=h||b.url();if(J(e)=="jsonp"){var p="_"+(d.counter++).toString(36);d[p]=function(a){d[p].data=a};f(h.replace("JSON_CALLBACK","angular.callbacks."+p),function(){d[p].data?u(k,200,d[p].data):u(k,-2);delete d[p]})}else{var q=new a;q.open(e,h,!0);m(n,function(a,b){a&&q.setRequestHeader(b,a)});var r;q.onreadystatechange=function(){q.readyState==4&&u(k,r||q.status,
-q.responseText,q.getAllResponseHeaders())};if(o)q.withCredentials=!0;q.send(i||"");l>0&&c(function(){r=-1;q.abort()},l)}}}function Vc(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),
-SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return b===1?"one":"other"}}}}function Lb(b){function a(a,e){return b.factory(a+c,
-e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",Mb);a("date",Nb);a("filter",Wc);a("json",Xc);a("limitTo",Yc);a("lowercase",Zc);a("number",Ob);a("orderBy",Pb);a("uppercase",$c)}function Wc(){return function(b,a){if(!(b instanceof Array))return b;var c=[];c.check=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};var d=function(a,b){if(b.charAt(0)==="!")return!d(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return(""+
-a).toLowerCase().indexOf(b)>-1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;case "array":for(c=0;c<a.length;c++)if(d(a[c],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var e in a)e=="$"?function(){var b=(""+a[e]).toLowerCase();b&&c.push(function(a){return d(a,b)})}():function(){var b=e,f=(""+a[e]).toLowerCase();f&&c.push(function(a){return d(gb(a,b),f)})}();break;case "function":c.push(a);
-break;default:return b}for(var g=[],f=0;f<b.length;f++){var j=b[f];c.check(j)&&g.push(j)}return g}}function Mb(b){var a=b.NUMBER_FORMATS;return function(b,d){if(s(d))d=a.CURRENCY_SYM;return Qb(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Ob(b){var a=b.NUMBER_FORMATS;return function(b,d){return Qb(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Qb(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return"";var g=b<0,b=Math.abs(b),f=b+"",j="",h=[];if(f.indexOf("e")!==-1)j=f;
-else{f=(f.split(Rb)[1]||"").length;s(e)&&(e=Math.min(Math.max(a.minFrac,f),a.maxFrac));var f=Math.pow(10,e),b=Math.round(b*f)/f,b=(""+b).split(Rb),f=b[0],b=b[1]||"",i=0,k=a.lgSize,n=a.gSize;if(f.length>=k+n)for(var i=f.length-k,l=0;l<i;l++)(i-l)%n===0&&l!==0&&(j+=c),j+=f.charAt(l);for(l=i;l<f.length;l++)(f.length-l)%k===0&&l!==0&&(j+=c),j+=f.charAt(l);for(;b.length<e;)b+="0";e&&(j+=d+b.substr(0,e))}h.push(g?a.negPre:a.posPre);h.push(j);h.push(g?a.negSuf:a.posSuf);return h.join("")}function kb(b,a,
-c){var d="";b<0&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function P(b,a,c,d){return function(e){e=e["get"+b]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=12);return kb(e,a,d)}}function Ka(b,a){return function(c,d){var e=c["get"+b](),g=la(a?"SHORT"+b:b);return d[g][e]}}function Nb(b){function a(a){var b;if(b=a.match(c)){var a=new Date(0),g=0,f=0;b[9]&&(g=F(b[9]+b[10]),f=F(b[9]+b[11]));a.setUTCFullYear(F(b[1]),F(b[2])-1,F(b[3]));a.setUTCHours(F(b[4]||0)-g,F(b[5]||
-0)-f,F(b[6]||0),F(b[7]||0))}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;return function(c,e){var g="",f=[],j,h,e=e||"mediumDate",e=b.DATETIME_FORMATS[e]||e;E(c)&&(c=ad.test(c)?F(c):a(c));ua(c)&&(c=new Date(c));if(!ma(c))return c;for(;e;)(h=bd.exec(e))?(f=f.concat(ha.call(h,1)),e=f.pop()):(f.push(e),e=null);m(f,function(a){j=cd[a];g+=j?j(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function Xc(){return function(b){return ba(b,
-!0)}}function Yc(){return function(b,a){if(!(b instanceof Array))return b;var a=F(a),c=[],d,e;if(!b||!(b instanceof Array))return c;a>b.length?a=b.length:a<-b.length&&(a=-b.length);a>0?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Pb(b){return function(a,c,d){function e(a,b){return Wa(b)?function(b,c){return a(c,b)}:a}if(!(a instanceof Array))return a;if(!c)return a;for(var c=H(c)?c:[c],c=Ta(c,function(a){var c=!1,d=a||wa;if(E(a)){if(a.charAt(0)=="+"||a.charAt(0)==
-"-")c=a.charAt(0)=="-",a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,g=typeof e;f==g?(f=="string"&&(c=c.toLowerCase()),f=="string"&&(e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<g?-1:1;return c},c)}),g=[],f=0;f<a.length;f++)g.push(a[f]);return g.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(e!==0)return e}return 0},d))}}function S(b){L(b)&&(b={link:b});b.restrict=b.restrict||"AC";return B(b)}function Sb(b,a){function c(a,c){c=c?"-"+$a(c,"-"):
-"";b.removeClass((a?La:Ma)+c).addClass((a?Ma:La)+c)}var d=this,e=b.parent().controller("form")||Na,g=0,f=d.$error={};d.$name=a.name;d.$dirty=!1;d.$pristine=!0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(Oa);c(!0);d.$addControl=function(a){a.$name&&!d.hasOwnProperty(a.$name)&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&d[a.$name]===a&&delete d[a.$name];m(f,function(b,c){d.$setValidity(c,!0,a)})};d.$setValidity=function(a,b,i){var k=f[a];if(b){if(k&&(xa(k,i),!k.length)){g--;if(!g)c(b),
-d.$valid=!0,d.$invalid=!1;f[a]=!1;c(!0,a);e.$setValidity(a,!0,d)}}else{g||c(b);if(k){if(Ua(k,i)!=-1)return}else f[a]=k=[],g++,c(!1,a),e.$setValidity(a,!1,d);k.push(i);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(Oa).addClass(Tb);d.$dirty=!0;d.$pristine=!1}}function W(b){return s(b)||b===""||b===null||b!==b}function Pa(b,a,c,d,e,g){var f=function(){var c=T(a.val());d.$viewValue!==c&&b.$apply(function(){d.$setViewValue(c)})};if(e.hasEvent("input"))a.bind("input",f);else{var j;a.bind("keydown",
-function(a){a=a.keyCode;a===91||15<a&&a<19||37<=a&&a<=40||j||(j=g.defer(function(){f();j=null}))});a.bind("change",f)}d.$render=function(){a.val(W(d.$viewValue)?"":d.$viewValue)};var h=c.ngPattern,i=function(a,b){return W(b)||a.test(b)?(d.$setValidity("pattern",!0),b):(d.$setValidity("pattern",!1),u)};h&&(h.match(/^\/(.*)\/$/)?(h=RegExp(h.substr(1,h.length-2)),e=function(a){return i(h,a)}):e=function(a){var c=b.$eval(h);if(!c||!c.test)throw new v("Expected "+h+" to be a RegExp but was "+c);return i(c,
-a)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var k=F(c.ngMinlength),e=function(a){return!W(a)&&a.length<k?(d.$setValidity("minlength",!1),u):(d.$setValidity("minlength",!0),a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var n=F(c.ngMaxlength),c=function(a){return!W(a)&&a.length>n?(d.$setValidity("maxlength",!1),u):(d.$setValidity("maxlength",!0),a)};d.$parsers.push(c);d.$formatters.push(c)}}function lb(b,a){b="ngClass"+b;return S(function(c,d,e){c.$watch(e[b],function(b,
-e){if(a===!0||c.$index%2===a)e&&b!==e&&(M(e)&&!H(e)&&(e=Ta(e,function(a,b){if(a)return b})),d.removeClass(H(e)?e.join(" "):e)),M(b)&&!H(b)&&(b=Ta(b,function(a,b){if(a)return b})),b&&d.addClass(H(b)?b.join(" "):b)},!0)})}var J=function(b){return E(b)?b.toLowerCase():b},la=function(b){return E(b)?b.toUpperCase():b},v=X.Error,ga=F((/msie (\d+)/.exec(J(navigator.userAgent))||[])[1]),t,ia,ha=[].slice,Qa=[].push,Sa=Object.prototype.toString,Ub=X.angular||(X.angular={}),ra,Bb,$=["0","0","0"];x.$inject=[];
-wa.$inject=[];Bb=ga<9?function(b){b=b.nodeName?b:b[0];return b.scopeName&&b.scopeName!="HTML"?la(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var fc=/[A-Z]/g,dd={full:"1.0.0rc6",major:1,minor:0,dot:0,codeName:"runny-nose"},Aa={},za="ng-"+(new Date).getTime(),jc=1,ed=X.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},db=X.document.removeEventListener?function(b,a,c){b.removeEventListener(a,
-c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},hc=/([\:\-\_]+(.))/g,ic=/^moz([A-Z])/,sa=U.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;this.bind("DOMContentLoaded",a);U(X).bind("load",a)},toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return b>=0?t(this[b]):t(this[this.length+b])},length:0,push:Qa,sort:[].sort,splice:[].splice},Ea={};m("multiple,selected,checked,disabled,readOnly,required".split(","),function(b){Ea[J(b)]=
-b});var zb={};m("input,select,option,textarea,button,form".split(","),function(b){zb[la(b)]=!0});m({data:Ba,inheritedData:Da,scope:function(b){return Da(b,"$scope")},controller:xb,injector:function(b){return Da(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ca,css:function(b,a,c){a=tb(a);if(A(c))b.style[a]=c;else{var d;ga<=8&&(d=b.currentStyle&&b.currentStyle[a],d===""&&(d="auto"));d=d||b.style[a];ga<=8&&(d=d===""?u:d);return d}},attr:function(b,a,c){var d=J(a);if(Ea[d])if(A(c))c?
-(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||x).specified?d:u;else if(A(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),b===null?u:b},prop:function(b,a,c){if(A(c))b[a]=c;else return b[a]},text:D(ga<9?function(b,a){if(b.nodeType==1){if(s(a))return b.innerText;b.innerText=a}else{if(s(a))return b.nodeValue;b.nodeValue=a}}:function(b,a){if(s(a))return b.textContent;b.textContent=a},{$dv:""}),val:function(b,a){if(s(a))return b.value;
-b.value=a},html:function(b,a){if(s(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)qa(d[c]);b.innerHTML=a}},function(b,a){U.prototype[a]=function(a,d){var e,g;if((b.length==2&&b!==Ca&&b!==xb?a:d)===u)if(M(a)){for(e=0;e<this.length;e++)for(g in a)b(this[e],g,a[g]);return this}else{if(this.length)return b(this[0],a,d)}else{for(e=0;e<this.length;e++)b(this[e],a,d);return this}return b.$dv}});m({removeData:ub,dealoc:qa,bind:function a(c,d,e){var g=Ba(c,"bind");g||Ba(c,"bind",g={});m(d.split(" "),
-function(d){var j=g[d];if(!j)if(d=="mouseenter"||d=="mouseleave"){var h=g.mouseenter=eb(c),i=g.mouseleave=eb(c),k=0;a(c,"mouseover",function(a){k++;if(k==1)a.type="mouseenter",h(a)});a(c,"mouseout",function(a){k--;if(k==0)a.type="mouseleave",i(a)});j=g[d]}else j=g[d]=eb(c),ed(c,d,j);j.fns.push(e)})},unbind:function(a,c,d){var e=Ba(a,"bind");e&&(s(c)?m(e,function(c,d){db(a,d,c);delete e[d]}):s(d)?(db(a,c,e[c]),delete e[c]):xa(e[c].fns,d))},replaceWith:function(a,c){var d,e=a.parentNode;qa(a);m(new U(c),
-function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];m(a.childNodes,function(a){a.nodeName!="#text"&&c.push(a)});return c},contents:function(a){return a.childNodes},append:function(a,c){m(new U(c),function(c){a.nodeType===1&&a.appendChild(c)})},prepend:function(a,c){if(a.nodeType===1){var d=a.firstChild;m(new U(c),function(c){d?a.insertBefore(c,d):(a.appendChild(c),d=c)})}},wrap:function(a,c){var c=t(c)[0],d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},
-remove:function(a){qa(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;m(new U(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:wb,removeClass:vb,toggleClass:function(a,c,d){s(d)&&(d=!Ca(a,c));(d?wb:vb)(a,c)},parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},next:function(a){return a.nextSibling},find:function(a,c){return a.getElementsByTagName(c)},clone:cb},function(a,c){U.prototype[c]=function(c,e){for(var g,f=0;f<this.length;f++)g==
-u?(g=a(this[f],c,e),g!==u&&(g=t(g))):bb(g,a(this[f],c,e));return g==u?this:g}});Fa.prototype={put:function(a,c){this[ja(a)]=c},get:function(a){return this[ja(a)]},remove:function(a){var c=this[a=ja(a)];delete this[a];return c}};fb.prototype={push:function(a,c){var d=this[a=ja(a)];d?d.push(c):this[a]=[c]},shift:function(a){var c=this[a=ja(a)];if(c)return c.length==1?(delete this[a],c[0]):c.shift()}};var mc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,nc=/,/,oc=/^\s*(_?)(.+?)\1\s*$/,lc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
-Ab.$inject=["$provide"];var vc=/^(x[\:\-_]|data[\:\-_])/i,Db=/^(file|ftp|http|https):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,Vb=/^([^\?#]*)?(\?([^#]*))?(#(.*))?$/,Dc=Vb,Eb={http:80,https:443,ftp:21};hb.prototype={$$replace:!1,absUrl:Ia("$$absUrl"),url:function(a,c){if(s(a))return this.$$url;var d=Vb.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));if(d[2]||d[1])this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:Ia("$$protocol"),host:Ia("$$host"),
-port:Ia("$$port"),path:Fb("$$path",function(a){return a.charAt(0)=="/"?a:"/"+a}),search:function(a,c){if(s(a))return this.$$search;A(c)?c===null?delete this.$$search[a]:this.$$search[a]=c:this.$$search=E(a)?Xa(a):a;this.$$compose();return this},hash:Fb("$$hash",wa),replace:function(){this.$$replace=!0;return this}};ib.prototype=Ra(hb.prototype);var Ja={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:x,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return(A(d)?
-d:0)+(A(e)?e:0)},"-":function(a,c,d,e){d=d(a,c);e=e(a,c);return(A(d)?d:0)-(A(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":x,"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,
-c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Hc={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},jb={},Uc=X.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw new v("This browser does not support XMLHttpRequest.");
-};Lb.$inject=["$provide"];Mb.$inject=["$locale"];Ob.$inject=["$locale"];var Rb=".",cd={yyyy:P("FullYear",4),yy:P("FullYear",2,0,!0),y:P("FullYear",1),MMMM:Ka("Month"),MMM:Ka("Month",!0),MM:P("Month",2,1),M:P("Month",1,1),dd:P("Date",2),d:P("Date",1),HH:P("Hours",2),H:P("Hours",1),hh:P("Hours",2,-12),h:P("Hours",1,-12),mm:P("Minutes",2),m:P("Minutes",1),ss:P("Seconds",2),s:P("Seconds",1),EEEE:Ka("Day"),EEE:Ka("Day",!0),a:function(a,c){return a.getHours()<12?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=a.getTimezoneOffset();
-return kb(a/60,2)+kb(Math.abs(a%60),2)}},bd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,ad=/^\d+$/;Nb.$inject=["$locale"];var Zc=B(J),$c=B(la);Pb.$inject=["$parse"];var fd=B({restrict:"E",compile:function(a,c){c.href||c.$set("href","");return function(a,c){c.bind("click",function(a){c.attr("href")||a.preventDefault()})}}}),mb={};m(Ea,function(a,c){var d=ea("ng-"+c);mb[d]=function(){return{priority:100,compile:function(){return function(a,g,f){f.$$observers[c]=[];
-a.$watch(f[d],function(a){f.$set(c,!!a)})}}}}});m(["src","href"],function(a){var c=ea("ng-"+a);mb[c]=function(){return{priority:99,compile:function(){return function(d,e,g){d=g[c];d==u?(g.$$observers[a]=[],g.$observe(c,function(c){g.$set(a,c)})):g.$set(a,d)}}}}});var Na={$addControl:x,$removeControl:x,$setValidity:x,$setDirty:x};Sb.$inject=["$element","$attrs","$scope"];var Qa={name:"form",restrict:"E",controller:Sb,compile:function(){return{pre:function(a,c,d,e){d.action||c.bind("submit",function(a){a.preventDefault()});
-var g=c.parent().controller("form"),f=d.name||d.ngForm;f&&(a[f]=e);g&&c.bind("$destroy",function(){g.$removeControl(e);f&&(a[f]=u);D(e,Na)})}}}},gd=B(Qa),hd=B(D(Y(Qa),{restrict:"EAC"})),id=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,jd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,kd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Wb={text:Pa,number:function(a,c,d,e,g,f){Pa(a,c,d,e,g,f);e.$parsers.push(function(a){var c=W(a);return c||kd.test(a)?(e.$setValidity("number",
-!0),a===""?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),u)});e.$formatters.push(function(a){return W(a)?"":""+a});if(d.min){var j=parseFloat(d.min),a=function(a){return!W(a)&&a<j?(e.$setValidity("min",!1),u):(e.$setValidity("min",!0),a)};e.$parsers.push(a);e.$formatters.push(a)}if(d.max){var h=parseFloat(d.max),d=function(a){return!W(a)&&a>h?(e.$setValidity("max",!1),u):(e.$setValidity("max",!0),a)};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){return W(a)||ua(a)?
-(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),u)})},url:function(a,c,d,e,g,f){Pa(a,c,d,e,g,f);a=function(a){return W(a)||id.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),u)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,g,f){Pa(a,c,d,e,g,f);a=function(a){return W(a)||jd.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),u)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){s(d.name)&&c.attr("name",va());c.bind("click",
-function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var g=d.ngTrueValue,f=d.ngFalseValue;E(g)||(g=!0);E(f)||(f=!1);c.bind("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$formatters.push(function(a){return a===g});e.$parsers.push(function(a){return a?g:f})},hidden:x,button:x,submit:x,reset:x},
-Xb=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,g,f){f&&(Wb[J(g.type)]||Wb.text)(d,e,g,f,c,a)}}}],Ma="ng-valid",La="ng-invalid",Oa="ng-pristine",Tb="ng-dirty",ld=["$scope","$exceptionHandler","$attrs","ngModel","$element",function(a,c,d,e,g){function f(a,c){c=c?"-"+$a(c,"-"):"";g.removeClass((a?La:Ma)+c).addClass((a?Ma:La)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=
-!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$render=x;this.$name=d.name;var j=g.inheritedData("$formController")||Na,h=0,i=this.$error={};g.addClass(Oa);f(!0);this.$setValidity=function(a,c){if(i[a]!==!c){if(c){if(i[a]&&h--,!h)f(!0),this.$valid=!0,this.$invalid=!1}else f(!1),this.$invalid=!0,this.$valid=!1,h++;i[a]=!c;f(c,a);j.$setValidity(a,c,this)}};this.$setViewValue=function(a){this.$viewValue=a;if(this.$pristine)this.$dirty=!0,this.$pristine=!1,g.removeClass(Oa).addClass(Tb),j.$setDirty();
-m(this.$parsers,function(c){a=c(a)});if(this.$modelValue!==a)this.$modelValue=a,e(a),m(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};var k=this;a.$watch(function(){return e()},function(a){if(k.$modelValue!==a){var c=k.$formatters,d=c.length;for(k.$modelValue=a;d--;)a=c[d](a);if(k.$viewValue!==a)k.$viewValue=a,k.$render()}})}],md=[function(){return{inject:{ngModel:"accessor"},require:["ngModel","^?form"],controller:ld,link:function(a,c,d,e){var g=e[0],f=e[1]||Na;f.$addControl(g);
-c.bind("$destroy",function(){f.$removeControl(g)})}}}],nd=B({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Yb=[function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){var g=function(a){if(d.required&&(W(a)||a===!1))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(g);e.$parsers.unshift(g);d.$observe("required",function(){g(e.$viewValue)})}}}}],od=function(){return{require:"ngModel",link:function(a,
-c,d,e){var g=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",",f=function(a){var c=[];a&&m(a.split(g),function(a){a&&c.push(T(a))});return c};e.$parsers.push(f);e.$formatters.push(function(a){return H(a)&&!fa(f(e.$viewValue),a)?a.join(", "):u})}}},pd=/^(true|false|\d+)$/,qd=[function(){return{priority:100,compile:function(a,c){return pd.test(c.ngValue)?function(a,c,g){g.$set("value",a.$eval(g.ngValue))}:function(a,c,g){g.$$observers.value=[];a.$watch(g.ngValue,function(a){g.$set("value",
-a,!1)})}}}}],rd=S(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==u?"":a)})}),sd=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],td=[function(){return function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBindHtmlUnsafe);a.$watch(d.ngBindHtmlUnsafe,function(a){c.html(a||"")})}}],ud=lb("",!0),vd=lb("Odd",
-0),wd=lb("Even",1),xd=S({compile:function(a,c){c.$set("ngCloak",u);a.removeClass("ng-cloak")}}),yd=[function(){return{scope:!0,controller:"@"}}],Zb={};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave".split(" "),function(a){var c=ea("ng-"+a);Zb[c]=["$parse",function(d){return function(e,g,f){var j=d(f[c]);g.bind(J(a),function(a){e.$apply(function(){j(e,{$event:a})})})}}]});var zd=S(function(a,c,d){c.bind("submit",function(){a.$apply(d.ngSubmit)})}),Ad=["$http",
-"$templateCache","$anchorScroll","$compile",function(a,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(g,f){var j=f.ngInclude||f.src,h=f.onload||"",i=f.autoscroll;return function(f,g){var l=0,o,m=function(){o&&(o.$destroy(),o=null);g.html("")};f.$watch(j,function(j){var q=++l;j?a.get(j,{cache:c}).success(function(a){q===l&&(o&&o.$destroy(),o=f.$new(),g.html(a),e(g.contents())(o),A(i)&&(!i||f.$eval(i))&&d(),o.$emit("$includeContentLoaded"),f.$eval(h))}).error(function(){q===l&&m()}):m()})}}}}],
-Bd=S({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Cd=S({terminal:!0,priority:1E3}),Dd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,g,f){var j=f.count,h=g.attr(f.$attr.when),i=f.offset||0,k=e.$eval(h),n={};m(k,function(a,e){n[e]=c(a.replace(d,"{{"+j+"-"+i+"}}"))});e.$watch(function(){var c=parseFloat(e.$eval(j));return isNaN(c)?"":(k[c]||(c=a.pluralCat(c-i)),n[c](e,g,!0))},function(a){g.text(a)})}}}],Ed=S({transclude:"element",priority:1E3,
-terminal:!0,compile:function(a,c,d){return function(a,c,f){var j=f.ngRepeat,f=j.match(/^\s*(.+)\s+in\s+(.*)\s*$/),h,i,k;if(!f)throw v("Expected ngRepeat in form of '_item_ in _collection_' but got '"+j+"'.");j=f[1];h=f[2];f=j.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!f)throw v("'item' in 'item in collection' should be identifier or (key, value) but got '"+j+"'.");i=f[3]||f[1];k=f[2];var n=new fb;a.$watch(function(a){var e,f,j=a.$eval(h),m=bc(j,!0),r,u=new fb,t,y,w,s,x=c;if(H(j))w=
-j||[];else{w=[];for(t in j)j.hasOwnProperty(t)&&t.charAt(0)!="$"&&w.push(t);w.sort()}e=0;for(f=w.length;e<f;e++){t=j===w?e:w[e];y=j[t];if(s=n.shift(y)){r=s.scope;u.push(y,s);if(e!==s.index)s.index=e,x.after(s.element);x=s.element}else r=a.$new();r[i]=y;k&&(r[k]=t);r.$index=e;r.$position=e===0?"first":e==m-1?"last":"middle";s||d(r,function(a){x.after(a);s={scope:r,element:x=a,index:e};u.push(y,s)})}for(t in n)if(n.hasOwnProperty(t))for(w=n[t];w.length;)y=w.pop(),y.element.remove(),y.scope.$destroy();
-n=u})}}}),Fd=S(function(a,c,d){a.$watch(d.ngShow,function(a){c.css("display",Wa(a)?"":"none")})}),Gd=S(function(a,c,d){a.$watch(d.ngHide,function(a){c.css("display",Wa(a)?"none":"")})}),Hd=S(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&m(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Id=B({restrict:"EA",compile:function(a,c){var d=c.ngSwitch||c.on,e={};a.data("ng-switch",e);return function(a,f){var j,h,i;a.$watch(d,function(d){h&&(i.$destroy(),h.remove(),h=i=null);if(j=e["!"+d]||e["?"])a.$eval(c.change),
-i=a.$new(),j(i,function(a){h=a;f.append(a)})})}}}),Jd=S({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");oa(a);a["!"+c.ngSwitchWhen]=d}}),Kd=S({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");oa(a);a["?"]=d}}),Ld=S({controller:["$transclude","$element",function(a,c){a(function(a){c.append(a)})}]}),Md=["$http","$templateCache","$route","$anchorScroll","$compile","$controller",function(a,c,d,e,g,f){return{restrict:"ECA",
-terminal:!0,link:function(j,h,i){function k(){function i(){q===n&&(h.html(""),l&&(l.$destroy(),l=null))}var k=d.current&&d.current.template,q=++n;k?a.get(k,{cache:c}).success(function(a){if(q===n){h.html(a);l&&(l.$destroy(),l=null);var a=g(h.contents()),c=d.current;l=c.scope=j.$new();c.controller&&(c=f(c.controller,{$scope:l}),h.contents().data("$ngControllerController",c));a(l);l.$emit("$viewContentLoaded");l.$eval(m);e()}}).error(i):i()}var n=0,l,m=i.onload||"";j.$on("$afterRouteChange",k);k()}}}],
-Nd=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){d.type=="text/ng-template"&&a.put(d.id,c[0].text)}}}],Od=B({terminal:!0}),Pd=["$compile","$parse",function(a,c){var d=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/,e={$setViewValue:x};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope",function(a,c){var d=this,h={},i=e,k;d.init=
-function(a,c,d){i=a;k=d};d.addOption=function(c){h[c]=!0;i.$viewValue==c&&(a.val(c),k.parent()&&k.remove())};d.removeOption=function(a){this.hasOption(a)&&(delete h[a],i.$viewValue==a&&this.renderUnknownOption(a))};d.renderUnknownOption=function(c){c="? "+ja(c)+" ?";k.val(c);a.prepend(k);a.val(c);k.prop("selected",!0)};d.hasOption=function(a){return h.hasOwnProperty(a)};c.$on("$destroy",function(){d.renderUnknownOption=x})}],link:function(e,f,j,h){function i(a,c,d,e){d.$render=function(){var a=d.$viewValue;
-e.hasOption(a)?(y.parent()&&y.remove(),c.val(a),a===""&&r.prop("selected",!0)):s(a)&&r?c.val(""):e.renderUnknownOption(a)};c.bind("change",function(){a.$apply(function(){y.parent()&&y.remove();d.$setViewValue(c.val())})})}function k(a,c,d){var e;d.$render=function(){var a=new Fa(d.$viewValue);m(c.children(),function(c){c.selected=A(a.get(c.value))})};a.$watch(function(){fa(e,d.$viewValue)||(e=Y(d.$viewValue),d.$render())});c.bind("change",function(){a.$apply(function(){var a=[];m(c.children(),function(c){c.selected&&
-a.push(c.value)});d.$setViewValue(a)})})}function n(e,f,g){function h(){var a={"":[]},c=[""],d,i,p,t,s;p=g.$modelValue;t=o(e)||[];var w=l?nb(t):t,y,v,C;v={};s=!1;var z,A;if(x)s=new Fa(p);else if(p===null||q)a[""].push({selected:p===null,id:"",label:""}),s=!0;for(C=0;y=w.length,C<y;C++){v[k]=t[l?v[l]=w[C]:C];d=m(e,v)||"";if(!(i=a[d]))i=a[d]=[],c.push(d);x?d=s.remove(n(e,v))!=u:(d=p===n(e,v),s=s||d);i.push({id:l?w[C]:C,label:j(e,v)||"",selected:d})}!x&&!s&&a[""].unshift({id:"?",label:"",selected:!0});
-v=0;for(w=c.length;v<w;v++){d=c[v];i=a[d];if(r.length<=v)p={element:D.clone().attr("label",d),label:i.label},t=[p],r.push(t),f.append(p.element);else if(t=r[v],p=t[0],p.label!=d)p.element.attr("label",p.label=d);z=null;C=0;for(y=i.length;C<y;C++)if(d=i[C],s=t[C+1]){z=s.element;if(s.label!==d.label)z.text(s.label=d.label);if(s.id!==d.id)z.val(s.id=d.id);if(s.element.selected!==d.selected)z.prop("selected",s.selected=d.selected)}else d.id===""&&q?A=q:(A=B.clone()).val(d.id).attr("selected",d.selected).text(d.label),
-t.push({element:A,label:d.label,id:d.id,selected:d.selected}),z?z.after(A):p.element.append(A),z=A;for(C++;t.length>C;)t.pop().element.remove()}for(;r.length>v;)r.pop()[0].element.remove()}var i;if(!(i=p.match(d)))throw v("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+p+"'.");var j=c(i[2]||i[1]),k=i[4]||i[6],l=i[5],m=c(i[3]||""),n=c(i[2]?i[1]:k),o=c(i[7]),r=[[{element:f,label:""}]];q&&(a(q)(e),q.removeClass("ng-scope"),q.remove());f.html("");
-f.bind("change",function(){e.$apply(function(){var a,c=o(e)||[],d={},h,i,j,m,p,q;if(x){i=[];m=0;for(q=r.length;m<q;m++){a=r[m];j=1;for(p=a.length;j<p;j++)if((h=a[j].element)[0].selected)h=h.val(),l&&(d[l]=h),d[k]=c[h],i.push(n(e,d))}}else h=f.val(),h=="?"?i=u:h==""?i=null:(d[k]=c[h],l&&(d[l]=h),i=n(e,d));g.$setViewValue(i)})});g.$render=h;e.$watch(h)}if(h[1]){for(var l=h[0],o=h[1],x=j.multiple,p=j.ngOptions,q=!1,r,B=t(aa.createElement("option")),D=t(aa.createElement("optgroup")),y=B.clone(),h=0,w=
-f.children(),F=w.length;h<F;h++)if(w[h].value==""){r=q=w.eq(h);break}l.init(o,q,y);if(x&&(j.required||j.ngRequired)){var E=function(a){o.$setValidity("required",!j.required||a&&a.length);return a};o.$parsers.push(E);o.$formatters.unshift(E);j.$observe("required",function(){E(o.$viewValue)})}p?n(e,f,o):x?k(e,f,o):i(e,f,o,l)}}}}],Qd=["$interpolate",function(a){return{restrict:"E",priority:100,require:"^select",compile:function(c,d){if(s(d.value)){var e=a(c.text(),!0);e||d.$set("value",c.text())}c.prop("selected",
-!1);return function(a,c,d,h){e?a.$watch(e,function(a,c){d.$set("value",a);a!==c&&h.removeOption(c);h.addOption(a)}):h.addOption(d.value);c.bind("$destroy",function(){h.removeOption(d.value)})}}}}],Rd=B({restrict:"E",terminal:!0});(ia=X.jQuery)?(t=ia,D(ia.fn,{scope:sa.scope,controller:sa.controller,injector:sa.injector,inheritedData:sa.inheritedData}),ab("remove",!0),ab("empty"),ab("html")):t=U;Ub.element=t;(function(a){D(a,{bootstrap:rb,copy:Y,extend:D,equals:fa,element:t,forEach:m,injector:sb,noop:x,
-bind:Va,toJson:ba,fromJson:pb,identity:wa,isUndefined:s,isDefined:A,isString:E,isFunction:L,isObject:M,isNumber:ua,isElement:ac,isArray:H,version:dd,isDate:ma,lowercase:J,uppercase:la,callbacks:{counter:0}});ra=gc(X);try{ra("ngLocale")}catch(c){ra("ngLocale",[]).provider("$locale",Vc)}ra("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",Ab).directive({a:fd,input:Xb,textarea:Xb,form:gd,script:Nd,select:Pd,style:Rd,option:Qd,ngBind:rd,ngBindHtmlUnsafe:td,ngBindTemplate:sd,ngClass:ud,ngClassEven:wd,
-ngClassOdd:vd,ngCloak:xd,ngController:yd,ngForm:hd,ngHide:Gd,ngInclude:Ad,ngInit:Bd,ngNonBindable:Cd,ngPluralize:Dd,ngRepeat:Ed,ngShow:Fd,ngSubmit:zd,ngStyle:Hd,ngSwitch:Id,ngSwitchWhen:Jd,ngSwitchDefault:Kd,ngOptions:Od,ngView:Md,ngTransclude:Ld,ngModel:md,ngList:od,ngChange:nd,required:Yb,ngRequired:Yb,ngValue:qd}).directive(mb).directive(Zb);a.provider({$anchorScroll:pc,$browser:rc,$cacheFactory:sc,$controller:wc,$defer:xc,$document:yc,$exceptionHandler:zc,$filter:Lb,$interpolate:Ac,$http:Rc,$httpBackend:Sc,
-$location:Ec,$log:Fc,$parse:Jc,$route:Mc,$routeParams:Nc,$rootScope:Oc,$q:Kc,$sniffer:Pc,$templateCache:tc,$window:Qc})}])})(Ub);t(aa).ready(function(){ec(aa,rb)})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>');
+(function(W,$,r){'use strict';function m(b,a,c){var d;if(b)if(L(b))for(d in b)d!="prototype"&&d!="length"&&d!="name"&&b.hasOwnProperty(d)&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==m)b.forEach(a,c);else if(M(b)&&sa(b.length))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function mb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function $b(b,a,c){for(var d=mb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}
+function nb(b){return function(a,c){b(c,a)}}function ta(){for(var b=Z.length,a;b;){b--;a=Z[b].charCodeAt(0);if(a==57)return Z[b]="A",Z.join("");if(a==90)Z[b]="0";else return Z[b]=String.fromCharCode(a+1),Z.join("")}Z.unshift("0");return Z.join("")}function B(b){m(arguments,function(a){a!==b&&m(a,function(a,d){b[d]=a})});return b}function C(b){return parseInt(b,10)}function Qa(b,a){return B(new (B(function(){},{prototype:b})),a)}function v(){}function ua(b){return b}function z(b){return function(){return b}}
+function y(b){return typeof b=="undefined"}function E(b){return typeof b!="undefined"}function M(b){return b!=null&&typeof b=="object"}function H(b){return typeof b=="string"}function sa(b){return typeof b=="number"}function ja(b){return Ra.apply(b)=="[object Date]"}function J(b){return Ra.apply(b)=="[object Array]"}function L(b){return typeof b=="function"}function ka(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function T(b){return H(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}function ac(b){return b&&
+(b.nodeName||b.bind&&b.find)}function Sa(b,a,c){var d=[];m(b,function(b,h,g){d.push(a.call(c,b,h,g))});return d}function bc(b,a){var c=0,d;if(J(b)||H(b))return b.length;else if(M(b))for(d in b)(!a||b.hasOwnProperty(d))&&c++;return c}function Ta(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function va(b,a){var c=Ta(b,a);c>=0&&b.splice(c,1);return a}function X(b,a){if(ka(b)||b&&b.$evalAsync&&b.$watch)throw x("Can't copy Window or Scope");if(a){if(b===
+a)throw x("Can't copy equivalent objects or arrays");if(J(b)){for(;a.length;)a.pop();for(var c=0;c<b.length;c++)a.push(X(b[c]))}else for(c in m(a,function(b,c){delete a[c]}),b)a[c]=X(b[c])}else(a=b)&&(J(b)?a=X(b,[]):ja(b)?a=new Date(b.getTime()):M(b)&&(a=X(b,{})));return a}function cc(b,a){var a=a||{},c;for(c in b)b.hasOwnProperty(c)&&c.substr(0,2)!=="$$"&&(a[c]=b[c]);return a}function ca(b,a){if(b===a)return!0;if(b===null||a===null)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&
+c=="object")if(J(b)){if((c=b.length)==a.length){for(d=0;d<c;d++)if(!ca(b[d],a[d]))return!1;return!0}}else if(ja(b))return ja(a)&&b.getTime()==a.getTime();else{if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||ka(b)||ka(a))return!1;c={};for(d in b){if(d.charAt(0)!=="$"&&!L(b[d])&&!ca(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c[d]&&d.charAt(0)!=="$"&&!L(a[d]))return!1;return!0}return!1}function Ua(b,a){var c=arguments.length>2?fa.call(arguments,2):[];return L(a)&&!(a instanceof RegExp)?c.length?
+function(){return arguments.length?a.apply(b,c.concat(fa.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}:a}function dc(b,a){var c=a;/^\$+/.test(b)?c=r:ka(a)?c="$WINDOW":a&&$===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE");return c}function aa(b,a){return JSON.stringify(b,dc,a?"  ":null)}function ob(b){return H(b)?JSON.parse(b):b}function Va(b){b&&b.length!==0?(b=G(""+b),b=!(b=="f"||b=="0"||b=="false"||b=="no"||b=="n"||b=="[]")):b=!1;return b}
+function wa(b){b=t(b).clone();try{b.html("")}catch(a){}return t("<div>").append(b).html().match(/^(<[^>]+>)/)[1]}function Wa(b){var a={},c,d;m((b||"").split("&"),function(b){b&&(c=b.split("="),d=decodeURIComponent(c[0]),a[d]=E(c[1])?decodeURIComponent(c[1]):!0)});return a}function pb(b){var a=[];m(b,function(b,d){a.push(Xa(d,!0)+(b===!0?"":"="+Xa(b,!0)))});return a.length?a.join("&"):""}function Ya(b){return Xa(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Xa(b,a){return encodeURIComponent(b).replace(/%40/gi,
+"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(a?null:/%20/g,"+")}function ec(b,a){function c(a){a&&d.push(a)}var d=[b],e,h,g=["ng:app","ng-app","x-ng-app","data-ng-app"],f=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;m(g,function(a){g[a]=!0;c($.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(m(b.querySelectorAll("."+a),c),m(b.querySelectorAll("."+a+"\\:"),c),m(b.querySelectorAll("["+a+"]"),c))});m(d,function(a){if(!e){var b=f.exec(" "+a.className+" ");b?(e=a,h=(b[2]||
+"").replace(/\s+/g,",")):m(a.attributes,function(b){if(!e&&g[b.name])e=a,h=b.value})}});e&&a(e,h?[h]:[])}function qb(b,a){b=t(b);a=a||[];a.unshift("ng");var c=rb(a);c.invoke(["$rootScope","$compile","$injector",function(a,c,h){a.$apply(function(){b.data("$injector",h);c(b)(a)})}]);return c}function Za(b,a){a=a||"_";return b.replace(fc,function(b,d){return(d?a:"")+b.toLowerCase()})}function la(b,a,c){if(!b)throw new x("Argument '"+(a||"?")+"' is "+(c||"required"));return b}function ma(b,a,c){c&&J(b)&&
+(b=b[b.length-1]);la(L(b),a,"not a function, got "+(b&&typeof b=="object"?b.constructor.name||"Object":typeof b));return b}function gc(b){function a(a,b,e){return a[b]||(a[b]=e())}return a(a(b,"angular",Object),"module",function(){var b={};return function(d,e,h){e&&b.hasOwnProperty(d)&&(b[d]=null);return a(b,d,function(){function a(c,d,e){return function(){b[e||"push"]([c,d,arguments]);return j}}if(!e)throw x("No module: "+d);var b=[],c=[],k=a("$injector","invoke"),j={_invokeQueue:b,_runBlocks:c,
+requires:e,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:k,run:function(a){c.push(a);return this}};h&&k(h);return j})}})}function sb(b){return b.replace(hc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(ic,"Moz$1")}function $a(b,
+a){function c(){var e;for(var b=[this],c=a,g,f,i,k,j,n,l;b.length;){g=b.shift();f=0;for(i=g.length;f<i;f++){k=t(g[f]);c?(l=(j=k.data("events"))&&j.$destroy)&&m(l,function(a){a.handler()}):c=!c;j=0;for(e=(n=k.children()).length,k=e;j<k;j++)b.push(ga(n[j]))}}return d.apply(this,arguments)}var d=ga.fn[b],d=d.$original||d;c.$original=d;ga.fn[b]=c}function U(b){if(b instanceof U)return b;if(!(this instanceof U)){if(H(b)&&b.charAt(0)!="<")throw x("selectors not implemented");return new U(b)}if(H(b)){var a=
+$.createElement("div");a.innerHTML="<div>&nbsp;</div>"+b;a.removeChild(a.firstChild);ab(this,a.childNodes);this.remove()}else ab(this,b)}function bb(b){return b.cloneNode(!0)}function na(b){tb(b);for(var a=0,b=b.childNodes||[];a<b.length;a++)na(b[a])}function tb(b){var a=b[xa],c=ya[a];c&&(c.bind&&m(c.bind,function(a,c){c=="$destroy"?a({}):cb(b,c,a)}),delete ya[a],b[xa]=r)}function za(b,a,c){var d=b[xa],d=ya[d||-1];if(E(c))d||(b[xa]=d=jc++,d=ya[d]={}),d[a]=c;else return d?d[a]:null}function Aa(b,a){return(" "+
+b.className+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" ")>-1}function ub(b,a){a&&m(a.split(" "),function(a){b.className=T((" "+b.className+" ").replace(/[\n\t]/g," ").replace(" "+T(a)+" "," "))})}function vb(b,a){a&&m(a.split(" "),function(a){if(!Aa(b,a))b.className=T(b.className+" "+T(a))})}function ab(b,a){if(a)for(var a=!a.nodeName&&E(a.length)&&!ka(a)?a:[a],c=0;c<a.length;c++)b.push(a[c])}function wb(b,a){return Ba(b,"$"+(a||"ngController")+"Controller")}function Ba(b,a,c){b=t(b);for(b[0].nodeType==
+9&&(b=b.find("html"));b.length;){if(c=b.data(a))return c;b=b.parent()}}function xb(b,a){return yb[b.nodeName]&&Ca[a.toLowerCase()]}function db(b){var a=function(c){if(!c.preventDefault)c.preventDefault=function(){c.returnValue=!1};if(!c.stopPropagation)c.stopPropagation=function(){c.cancelBubble=!0};if(!c.target)c.target=c.srcElement||$;if(y(c.defaultPrevented)){var d=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;d.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented};
+m(a.fns,function(a){a.call(b,c)});da<=8?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};a.fns=[];return a}function ha(b){var a=typeof b,c;if(a=="object"&&b!==null)if(typeof(c=b.$$hashKey)=="function")c=b.$$hashKey();else{if(c===r)c=b.$$hashKey=ta()}else c=b;return a+":"+c}function Da(b){m(b,this.put,this)}function eb(){}function kc(b){ma(b);if(!b.$inject){var a=b.$inject=[],c=b.toString().replace(lc,
+"").match(mc);m(c[1].split(nc),function(b){b.replace(oc,function(b,c,d){a.push(d)})})}return b.$inject}function rb(b){function a(a){return function(b,c){if(M(b))m(b,nb(a));else return a(b,c)}}function c(a,b){L(b)&&(b=n.instantiate(b));if(!b.$get)throw x("Provider "+a+" must define $get factory method.");return j[a+f]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[];m(a,function(a){if(!k.get(a))if(k.put(a,!0),H(a)){var c=oa(a);b=b.concat(e(c.requires)).concat(c._runBlocks);try{for(var d=
+c._invokeQueue,c=0,f=d.length;c<f;c++){var i=d[c],h=i[0]=="$injector"?n:n.get(i[0]);h[i[1]].apply(h,i[2])}}catch(g){throw g.message&&(g.message+=" from "+a),g;}}else if(L(a))try{b.push(n.invoke(a))}catch(j){throw j.message&&(j.message+=" from "+a),j;}else if(J(a))try{b.push(n.invoke(a))}catch(l){throw l.message&&(l.message+=" from "+String(a[a.length-1])),l;}else ma(a,"module")});return b}function h(a,b){function c(d){if(typeof d!=="string")throw x("Service name expected");if(a.hasOwnProperty(d)){if(a[d]===
+g)throw x("Circular dependency: "+i.join(" <- "));return a[d]}else try{return i.unshift(d),a[d]=g,a[d]=b(d)}finally{i.shift()}}function d(a,b,e){var f=[],h,g,k;typeof a=="function"?(h=kc(a),g=h.length):(J(a)&&(h=a,g=h.length-1,a=h[g]),ma(a,"fn"));for(var j=0;j<g;j++)k=h[j],f.push(e&&e.hasOwnProperty(k)?e[k]:c(k,i));switch(b?-1:f.length){case 0:return a();case 1:return a(f[0]);case 2:return a(f[0],f[1]);case 3:return a(f[0],f[1],f[2]);case 4:return a(f[0],f[1],f[2],f[3]);case 5:return a(f[0],f[1],
+f[2],f[3],f[4]);case 6:return a(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6]);case 8:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7]);case 9:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]);case 10:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]);default:return a.apply(b,f)}}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(J(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return M(e)?e:c},get:c}}var g={},f="Provider",
+i=[],k=new Da,j={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,z(b))}),constant:a(function(a,b){j[a]=b;l[a]=b}),decorator:function(a,b){var c=n.get(a+f),d=c.$get;c.$get=function(){var a=u.invoke(d,c);return u.invoke(b,null,{$delegate:a})}}}},n=h(j,function(){throw x("Unknown provider: "+i.join(" <- "));}),l={},u=l.$injector=h(l,function(a){a=n.get(a+f);return u.invoke(a.$get,a)});m(e(b),
+function(a){u.invoke(a||v)});return u}function pc(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;m(a,function(a){!b&&G(a.nodeName)==="a"&&(b=a)});return b}function h(){var b=c.hash(),d;b?(d=g.getElementById(b))?d.scrollIntoView():(d=e(g.getElementsByName(b)))?d.scrollIntoView():b==="top"&&a.scrollTo(0,0):a.scrollTo(0,0)}var g=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(h)});
+return h}]}function qc(b,a,c,d,e){function h(a){try{a.apply(null,fa.call(arguments,1))}finally{if(p--,p===0)for(;o.length;)try{o.pop()()}catch(b){d.error(b)}}}function g(a,b){(function N(){m(F,function(a){a()});D=b(N,a)})()}function f(){K!=i.url()&&(K=i.url(),m(s,function(a){a(i.url())}))}var i=this,k=a[0],j=b.location,n=b.history,l=b.setTimeout,u=b.clearTimeout,q={};i.isMock=!1;var p=0,o=[];i.$$completeOutstandingRequest=h;i.$$incOutstandingRequestCount=function(){p++};i.notifyWhenNoOutstandingRequests=
+function(a){m(F,function(a){a()});p===0?a():o.push(a)};var F=[],D;i.addPollFn=function(a){y(D)&&g(100,l);F.push(a);return a};var K=j.href;i.url=function(a,b){return a?(K=a,e.history?b?n.replaceState(null,"",a):n.pushState(null,"",a):b?j.replace(a):j.href=a,i):j.href};var s=[],w=!1;i.onUrlChange=function(a){w||(e.history&&t(b).bind("popstate",f),e.hashchange?t(b).bind("hashchange",f):i.addPollFn(f),w=!0);s.push(a);return a};var Y={},P="";i.cookies=function(a,b){var c,e,f,i;if(a)if(b===r)k.cookie=escape(a)+
+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(H(b))k.cookie=escape(a)+"="+escape(b),c=a.length+b.length+1,c>4096&&d.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+c+" > 4096 bytes)!"),Y.length>20&&d.warn("Cookie '"+a+"' possibly not set or overflowed because too many cookies were already set ("+Y.length+" > 20 )")}else{if(k.cookie!==P){P=k.cookie;c=P.split("; ");Y={};for(f=0;f<c.length;f++)e=c[f],i=e.indexOf("="),i>0&&(Y[unescape(e.substring(0,i))]=unescape(e.substring(i+
+1)))}return Y}};i.defer=function(a,b){var c;p++;c=l(function(){delete q[c];h(a)},b||0);q[c]=!0;return c};i.defer.cancel=function(a){return q[a]?(delete q[a],u(a),h(v),!0):!1};i.baseHref=function(){var b=a.find("base").attr("href");return b?b.replace(/^https?\:\/\/[^\/]*/,""):b}}function rc(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new qc(b,d,d.find("body"),a,c)}]}function sc(){this.$get=function(){function b(b,d){function e(a){if(a!=n){if(l){if(l==a)l=a.n}else l=
+a;h(a.n,a.p);h(a,n);n=a;n.n=null}}function h(a,b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(b in a)throw x("cacheId "+b+" taken");var g=0,f=B({},d,{id:b}),i={},k=d&&d.capacity||Number.MAX_VALUE,j={},n=null,l=null;return a[b]={put:function(a,b){var c=j[a]||(j[a]={key:a});e(c);y(b)||(a in i||g++,i[a]=b,g>k&&this.remove(l.key))},get:function(a){var b=j[a];if(b)return e(b),i[a]},remove:function(a){var b=j[a];if(b==n)n=b.p;if(b==l)l=b.n;h(b.n,b.p);delete j[a];delete i[a];g--},removeAll:function(){i={};g=0;j=
+{};n=l=null},destroy:function(){j=f=i=null;delete a[b]},info:function(){return B({},f,{size:g})}}}var a={};b.info=function(){var b={};m(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function tc(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function zb(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,h=/\<\<content\>\>/i,g=/^\<[\s\S]*\>$/;this.directive=function i(d,e){H(d)?(la(e,"directive"),
+a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];m(a[d],function(a){try{var i=b.invoke(a);if(L(i))i={compile:z(i)};else if(!i.compile&&i.link)i.compile=z(i.link);i.priority=i.priority||0;i.name=i.name||d;i.require=i.require||i.controller&&i.name;i.restrict=i.restrict||"A";e.push(i)}catch(h){c(h)}});return e}])),a[d].push(e)):m(d,nb(i));return this};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller",
+function(b,k,j,n,l,u,q){function p(a,b,c){a instanceof t||(a=t(a));m(a,function(b,c){b.nodeType==3&&(a[c]=t(b).wrap("<span>").parent()[0])});var d=D(a,b,a,c);return function(b,c){la(b,"scope");var e=c?pa.clone.call(a):a;F(e.data("$scope",b),"ng-scope");c&&c(e,b);d&&d(b,e,e);return e}}function o(a,b){throw x("Unsupported '"+b+"' for '"+a+"'.");}function F(a,b){try{a.addClass(b)}catch(c){}}function D(a,b,c,d){function e(a,c,d,h){for(var g,j,k,l,n,S=0,u=0,o=i.length;S<o;u++)k=c[u],j=i[S++],g=i[S++],
+j?(j.scope?(l=a.$new(M(j.scope)),t(k).data("$scope",l)):l=a,(n=j.transclude)||!h&&b?j(g,l,k,d,function(b){return function(c){var d=a.$new();return b(d,c).bind("$destroy",Ua(d,d.$destroy))}}(n||b)):j(g,l,k,r,h)):g&&g(a,k.childNodes,r,h)}for(var i=[],h,g,j,k=0;k<a.length;k++)g=new qa,h=K(a[k],[],g,d),g=(h=h.length?s(h,a[k],g,b,c):null)&&h.terminal?null:D(a[k].childNodes,h?h.transclude:b),i.push(h),i.push(g),j=j||h||g;return j?e:null}function K(a,b,c,i){var h=c.$attr,g;switch(a.nodeType){case 1:w(b,
+ba(Ab(a).toLowerCase()),"E",i);var j,k,l;g=a.attributes;for(var n=0,u=g&&g.length;n<u;n++)if(j=g[n],j.specified)k=j.name,l=ba(k.toLowerCase()),h[l]=k,c[l]=j=T(da&&k=="href"?decodeURIComponent(a.getAttribute(k,2)):j.value),xb(a,l)&&(c[l]=!0),N(a,b,j,l),w(b,l,"A",i);a=a.className;if(H(a))for(;g=e.exec(a);)l=ba(g[2]),w(b,l,"C",i)&&(c[l]=T(g[3])),a=a.substr(g.index+g[0].length);break;case 3:Ea(b,a.nodeValue);break;case 8:try{if(g=d.exec(a.nodeValue))l=ba(g[1]),w(b,l,"M",i)&&(c[l]=T(g[2]))}catch(o){}}b.sort(Q);
+return b}function s(a,b,c,d,e){function i(a,b){if(a)a.require=A.require,n.push(a);if(b)b.require=A.require,u.push(b)}function g(a,b){var c,d="data",e=!1;if(H(a)){for(;(c=a.charAt(0))=="^"||c=="?";)a=a.substr(1),c=="^"&&(d="inheritedData"),e=e||c=="?";c=b[d]("$"+a+"Controller");if(!c&&!e)throw x("No controller: "+a);}else J(a)&&(c=[],m(a,function(a){c.push(g(a,b))}));return c}function k(a,d,e,i,h){var l,S,Fa,p,F;l=b===e?c:cc(c,new qa(t(e),c.$attr));S=l.$$element;w&&M(w.scope)&&m(w.scope,function(a,
+b){(y[a]||o)(b,a,d.$parent||d,d,l)});E&&m(E,function(a){var b={$scope:d,$element:S,$attrs:l,$transclude:h};m(a.inject||{},function(a,c){(y[a]||o)(c,a,w?d.$parent||d:d,b,l)});F=a.controller;F=="@"&&(F=l[a.name]);S.data("$"+a.name+"Controller",q(F,b))});i=0;for(Fa=n.length;i<Fa;i++)try{p=n[i],p(d,S,l,p.require&&g(p.require,S))}catch(uc){j(uc,wa(S))}a&&a(d,e.childNodes,r,h);i=0;for(Fa=u.length;i<Fa;i++)try{p=u[i],p(d,S,l,p.require&&g(p.require,S))}catch(s){j(s,wa(S))}}for(var l=-Number.MAX_VALUE,n=[],
+u=[],w=null,Q=null,D=null,Ea=null,s=c.$$element=t(b),A,N,v,B,z=d,E,C,G=0,I=a.length;G<I;G++){A=a[G];v=r;if(l>A.priority)break;if(v=A.scope)R("isolated scope",Q,A,s),M(v)&&(F(s,"ng-isolate-scope"),Q=A),F(s,"ng-scope"),w=w||A;N=A.name;if(v=A.controller)E=E||{},R("'"+N+"' controller",E[N],A,s),E[N]=A;if(v=A.transclude)R("transclusion",B,A,s),B=A,l=A.priority,v=="element"?(v=t(b),b=(s=c.$$element=t("<\!-- "+N+": "+c[N]+" --\>"))[0],ea(e,t(v[0]),b),z=p(v,d,l)):(v=t(bb(b)),s.html(""),z=p(v.contents(),d));
+if(v=A.template)R("template",D,A,s),D=A,N=v.replace(h,s.html()),b=t(N)[0],A.replace?(ea(e,s,b),I={$attr:{}},a=a.concat(K(b,a.splice(G+1,a.length-(G+1)),I)),Y(c,I),I=a.length):s.html(N);if(A.templateUrl)R("template",D,A,s),D=A,Ea=P(a.splice(G,a.length-G),k,s,c,e,A.replace,z),I=a.length;else if(A.compile)try{C=A.compile(s,c,z),L(C)?i(null,C):C&&i(C.pre,C.post)}catch(O){j(O,wa(s))}if(A.terminal)k.terminal=!0,l=Math.max(l,A.priority)}C=Ea||k;C.scope=w&&w.scope;C.transclude=B&&z;return C}function w(d,
+e,h,g){var k=!1;if(a.hasOwnProperty(e))for(var l,e=b.get(e+c),n=0,u=e.length;n<u;n++)try{if(l=e[n],(g===r||g>l.priority)&&l.restrict.indexOf(h)!=-1)d.push(l),k=!0}catch(o){j(o)}return k}function Y(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;m(a,function(d,e){e.charAt(0)!="$"&&(b[e]&&(d+=(e==="style"?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});m(b,function(b,i){i=="class"?F(e,b):i=="style"?e.attr("style",e.attr("style")+";"+b):i.charAt(0)!="$"&&!a.hasOwnProperty(i)&&(a[i]=b,d[i]=c[i])})}function P(a,b,c,
+d,e,i,j){var k=[],u,o,q=c[0],w=a.shift(),qa=B({},w,{templateUrl:null,transclude:null}),p=c.html();c.html("");n.get(w.templateUrl,{cache:l}).success(function(l){l=T(l).replace(h,p);if(i&&!l.match(g))throw x("Template must have exactly one root element: "+l);var n,w;i?(w={$attr:{}},n=t(l)[0],ea(e,c,n),K(c[0],a,w),Y(d,w)):(n=c[0],c.html(l));a.unshift(qa);u=s(a,c,d,j);for(o=D(c.contents(),j);k.length;){var F=k.pop(),l=k.pop();w=k.pop();var m=k.pop(),P=n;w!==q&&(P=bb(n),ea(l,t(w),P));u(function(){b(o,
+m,P,e,F)},m,P,e,F)}k=null}).error(function(a,b,c,d){throw x("Failed to load template: "+d.url);});return function(a,c,d,e,i){k?(k.push(c),k.push(d),k.push(e),k.push(i)):u(function(){b(o,c,d,e,i)},c,d,e,i)}}function Q(a,b){return b.priority-a.priority}function R(a,b,c,d){if(b)throw x("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+wa(d));}function Ea(a,b){var c=k(b,!0);c&&a.push({priority:0,compile:z(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c);F(d.data("$binding",
+e),"ng-binding");a.$watch(c,function(a){b[0].nodeValue=a})})})}function N(a,b,c,d){var e=k(c,!0);e&&b.push({priority:100,compile:z(function(a,b,c){d==="class"&&(e=k(c[d],!0));c.$$observers[d]=[];c[d]=r;a.$watch(e,function(a){c.$set(d,a)})})})}function ea(a,b,c){var d=b[0],e=d.parentNode,i,h;if(a){i=0;for(h=a.length;i<h;i++)a[i]==d&&(a[i]=c)}e&&e.replaceChild(c,d);b[0]=c}var y={attribute:function(a,b,c,d,e){d[a]=e[a]},evaluate:function(a,b,c,d,e){d[a]=c.$eval(e[a])},bind:function(a,b,c,d,e){var i=
+k(e[a]);d.$watch(function(){return i(c)},function(b){d[a]=b})},accessor:function(a,b,c,d,e){var i=v,h=v,g=e[a];g&&(i=u(g),h=i.assign||function(){throw x("Expression '"+g+"' not assignable.");});d[a]=function(a){return arguments.length?h(c,a):i(c)}},expression:function(a,b,c,d,e){d[a]=function(b){u(e[a])(c,b)}}},qa=function(a,b){this.$$element=a;this.$$observers={};this.$attr=b||{}};qa.prototype={$normalize:ba,$set:function(a,b,c,d){var e=xb(this.$$element[0],a.toLowerCase());e&&(this.$$element.prop(a,
+b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=Za(a,"-"));c!==!1&&(b===null||b===r?this.$$element.removeAttr(d):this.$$element.attr(d,b));m(this.$$observers[a],function(a){try{a(b)}catch(c){j(c)}})},$observe:function(a,b){this.$$observers[a]&&this.$$observers[a].push(b)}};return p}]}function ba(b){return sb(b.replace(vc,""))}function wc(){var b={};this.register=function(a,c){b[a]=c};this.$get=["$injector","$window",function(a,c){return function(d,e){if(H(d)){var h=d,d=b.hasOwnProperty(h)?
+b[h]:fb(e.$scope,h,!0)||fb(c,h,!0);ma(d,h,!0)}return a.instantiate(d,e)}}]}function xc(){this.$get=["$rootScope","$browser",function(b,a){function c(c,e){return a.defer(function(){b.$apply(c)},e)}c.cancel=function(b){return a.defer.cancel(b)};return c}]}function yc(){this.$get=["$window",function(b){return t(b.document)}]}function zc(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Ac(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};
+this.endSymbol=function(c){return c?(a=c,this):b};this.$get=["$parse",function(c){var d=b.length,e=a.length;return function(h,g){for(var f,i,k=0,j=[],n=h.length,l=!1,u=[];k<n;)(f=h.indexOf(b,k))!=-1&&(i=h.indexOf(a,f+d))!=-1?(k!=f&&j.push(h.substring(k,f)),j.push(k=c(l=h.substring(f+d,i))),k.exp=l,k=i+e,l=!0):(k!=n&&j.push(h.substring(k)),k=n);if(!(n=j.length))j.push(""),n=1;if(!g||l)return u.length=n,k=function(a){for(var b=0,c=n,d;b<c;b++){if(typeof(d=j[b])=="function")d=d(a),d==null||d==r?d="":
+typeof d!="string"&&(d=aa(d));u[b]=d}return u.join("")},k.exp=h,k.parts=j,k}}]}function Bb(b){for(var b=b.split("/"),a=b.length;a--;)b[a]=Ya(b[a]);return b.join("/")}function Ga(b,a){var c=Cb.exec(b),c={protocol:c[1],host:c[3],port:C(c[5])||Db[c[1]]||null,path:c[6]||"/",search:c[8],hash:c[10]};if(a)a.$$protocol=c.protocol,a.$$host=c.host,a.$$port=c.port;return c}function ra(b,a,c){return b+"://"+a+(c==Db[b]?"":":"+c)}function Bc(b,a,c){var d=Ga(b);return decodeURIComponent(d.path)!=a||y(d.hash)||
+d.hash.indexOf(c)!==0?b:ra(d.protocol,d.host,d.port)+a.substr(0,a.lastIndexOf("/"))+d.hash.substr(c.length)}function Cc(b,a,c){var d=Ga(b);if(decodeURIComponent(d.path)==a)return b;else{var e=d.search&&"?"+d.search||"",h=d.hash&&"#"+d.hash||"",g=a.substr(0,a.lastIndexOf("/")),f=d.path.substr(g.length);if(d.path.indexOf(g)!==0)throw'Invalid url "'+b+'", missing path prefix "'+g+'" !';return ra(d.protocol,d.host,d.port)+a+"#"+c+f+e+h}}function gb(b,a){a=a||"";this.$$parse=function(b){var d=Ga(b,this);
+if(d.path.indexOf(a)!==0)throw'Invalid url "'+b+'", missing path prefix "'+a+'" !';this.$$path=decodeURIComponent(d.path.substr(a.length));this.$$search=Wa(d.search);this.$$hash=d.hash&&decodeURIComponent(d.hash)||"";this.$$compose()};this.$$compose=function(){var b=pb(this.$$search),d=this.$$hash?"#"+Ya(this.$$hash):"";this.$$url=Bb(this.$$path)+(b?"?"+b:"")+d;this.$$absUrl=ra(this.$$protocol,this.$$host,this.$$port)+a+this.$$url};this.$$parse(b)}function hb(b,a){var c;this.$$parse=function(b){var e=
+Ga(b,this);if(e.hash&&e.hash.indexOf(a)!==0)throw'Invalid url "'+b+'", missing hash prefix "'+a+'" !';c=e.path+(e.search?"?"+e.search:"");e=Dc.exec((e.hash||"").substr(a.length));this.$$path=e[1]?(e[1].charAt(0)=="/"?"":"/")+decodeURIComponent(e[1]):"";this.$$search=Wa(e[3]);this.$$hash=e[5]&&decodeURIComponent(e[5])||"";this.$$compose()};this.$$compose=function(){var b=pb(this.$$search),e=this.$$hash?"#"+Ya(this.$$hash):"";this.$$url=Bb(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=ra(this.$$protocol,
+this.$$host,this.$$port)+c+(this.$$url?"#"+a+this.$$url:"")};this.$$parse(b)}function Ha(b){return function(){return this[b]}}function Eb(b,a){return function(c){if(y(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Ec(){var b="",a=!1;this.hashPrefix=function(a){return E(a)?(b=a,this):b};this.html5Mode=function(b){return E(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$document",function(c,d,e,h){var g,f=d.baseHref()||"/",i=f.substr(0,f.lastIndexOf("/")),k=d.url();
+if(a){var e=g=e.history?new gb(Bc(k,f,b),i):new hb(Cc(k,f,b),b),j=ra(e.protocol(),e.host(),e.port())+i;h.bind("click",function(a){if(!a.ctrlKey&&!(a.metaKey||a.which==2)){for(var b=t(a.target);b.length&&G(b[0].nodeName)!=="a";)b=b.parent();var d=b.prop("href");if(d&&!(b.attr("target")||d.indexOf(j)!==0))g.url(d.substr(j.length)),c.$apply(),a.preventDefault(),W.angular["ff-684208-preventDefault"]=!0}})}else g=new hb(k,b);g.absUrl()!=k&&d.url(g.absUrl(),!0);d.onUrlChange(function(a){g.absUrl()!=a&&
+(c.$evalAsync(function(){g.$$parse(a)}),c.$$phase||c.$digest())});var n=0;c.$watch(function(){d.url()!=g.absUrl()&&(n++,c.$evalAsync(function(){d.url(g.absUrl(),g.$$replace);g.$$replace=!1}));return n});return g}]}function Fc(){this.$get=["$window",function(b){function a(a){a instanceof x&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function c(c){var e=b.console||{},h=e[c]||e.log||v;
+return h.apply?function(){var b=[];m(arguments,function(c){b.push(a(c))});return h.apply(e,b)}:function(a,b){h(a,b)}}return{log:c("log"),warn:c("warn"),info:c("info"),error:c("error")}}]}function Gc(b,a){function c(a){return a.indexOf(o)!=-1}function d(){return q+1<b.length?b.charAt(q+1):!1}function e(a){return"0"<=a&&a<="9"}function h(a){return a==" "||a=="\r"||a=="\t"||a=="\n"||a=="\u000b"||a=="\u00a0"}function g(a){return"a"<=a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function f(a){return a=="-"||
+a=="+"||e(a)}function i(a,c,d){d=d||q;throw x("Lexer Error: "+a+" at column"+(E(c)?"s "+c+"-"+q+" ["+b.substring(c,d)+"]":" "+d)+" in expression ["+b+"].");}function k(){for(var a="",c=q;q<b.length;){var h=G(b.charAt(q));if(h=="."||e(h))a+=h;else{var g=d();if(h=="e"&&f(g))a+=h;else if(f(h)&&g&&e(g)&&a.charAt(a.length-1)=="e")a+=h;else if(f(h)&&(!g||!e(g))&&a.charAt(a.length-1)=="e")i("Invalid exponent");else break}q++}a*=1;l.push({index:c,text:a,json:!0,fn:function(){return a}})}function j(){for(var c=
+"",d=q,i,f,k;q<b.length;){var j=b.charAt(q);if(j=="."||g(j)||e(j))j=="."&&(i=q),c+=j;else break;q++}if(i)for(f=q;f<b.length;){j=b.charAt(f);if(j=="("){k=c.substr(i-d+1);c=c.substr(0,i-d);q=f;break}if(h(j))f++;else break}d={index:d,text:c};if(Ia.hasOwnProperty(c))d.fn=d.json=Ia[c];else{var n=Fb(c,a);d.fn=B(function(a,b){return n(a,b)},{assign:function(a,b){return Gb(a,c,b)}})}l.push(d);k&&(l.push({index:i,text:".",json:!1}),l.push({index:i+1,text:k,json:!1}))}function n(a){var c=q;q++;for(var d="",
+e=a,f=!1;q<b.length;){var h=b.charAt(q);e+=h;if(f)h=="u"?(h=b.substring(q+1,q+5),h.match(/[\da-f]{4}/i)||i("Invalid unicode escape [\\u"+h+"]"),q+=4,d+=String.fromCharCode(parseInt(h,16))):(f=Hc[h],d+=f?f:h),f=!1;else if(h=="\\")f=!0;else if(h==a){q++;l.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}else d+=h;q++}i("Unterminated quote",c)}for(var l=[],u,q=0,p=[],o,m=":";q<b.length;){o=b.charAt(q);if(c("\"'"))n(o);else if(e(o)||c(".")&&e(d()))k();else if(g(o)){if(j(),"{,".indexOf(m)!=
+-1&&p[0]=="{"&&(u=l[l.length-1]))u.json=u.text.indexOf(".")==-1}else if(c("(){}[].,;:"))l.push({index:q,text:o,json:":[,".indexOf(m)!=-1&&c("{[")||c("}]:,")}),c("{[")&&p.unshift(o),c("}]")&&p.shift(),q++;else if(h(o)){q++;continue}else{var D=o+d(),K=Ia[o],s=Ia[D];s?(l.push({index:q,text:D,fn:s}),q+=2):K?(l.push({index:q,text:o,fn:K,json:"[,:".indexOf(m)!=-1&&c("+-")}),q+=1):i("Unexpected next character ",q,q+1)}m=o}return l}function Ic(b,a,c,d){function e(a,c){throw x("Syntax Error: Token '"+c.text+
+"' "+a+" at column "+(c.index+1)+" of the expression ["+b+"] starting at ["+b.substring(c.index)+"].");}function h(){if(Q.length===0)throw x("Unexpected end of expression: "+b);return Q[0]}function g(a,b,c,d){if(Q.length>0){var e=Q[0],i=e.text;if(i==a||i==b||i==c||i==d||!a&&!b&&!c&&!d)return e}return!1}function f(b,c,d,i){return(b=g(b,c,d,i))?(a&&!b.json&&e("is not valid json",b),Q.shift(),b):!1}function i(a){f(a)||e("is unexpected, expecting ["+a+"]",g())}function k(a,b){return function(c,d){return a(c,
+d,b)}}function j(a,b,c){return function(d,e){return b(d,e,a,c)}}function n(){for(var a=[];;)if(Q.length>0&&!g("}",")",";","]")&&a.push(y()),!f(";"))return a.length==1?a[0]:function(b,c){for(var d,e=0;e<a.length;e++){var i=a[e];i&&(d=i(b,c))}return d}}function l(){for(var a=f(),b=c(a.text),d=[];;)if(a=f(":"))d.push(R());else{var e=function(a,c,e){for(var e=[e],i=0;i<d.length;i++)e.push(d[i](a,c));return b.apply(a,e)};return function(){return e}}}function u(){for(var a=q(),b;;)if(b=f("||"))a=j(a,b.fn,
+q());else return a}function q(){var a=p(),b;if(b=f("&&"))a=j(a,b.fn,q());return a}function p(){var a=o(),b;if(b=f("==","!="))a=j(a,b.fn,p());return a}function o(){var a;a=m();for(var b;b=f("+","-");)a=j(a,b.fn,m());if(b=f("<",">","<=",">="))a=j(a,b.fn,o());return a}function m(){for(var a=D(),b;b=f("*","/","%");)a=j(a,b.fn,D());return a}function D(){var a;return f("+")?K():(a=f("-"))?j(Y,a.fn,D()):(a=f("!"))?k(a.fn,D()):K()}function K(){var a;if(f("("))a=y(),i(")");else if(f("["))a=s();else if(f("{"))a=
+w();else{var b=f();(a=b.fn)||e("not a primary expression",b)}for(var c;b=f("(","[",".");)b.text==="("?(a=t(a,c),c=null):b.text==="["?(c=a,a=ea(a)):b.text==="."?(c=a,a=N(a)):e("IMPOSSIBLE");return a}function s(){var a=[];if(h().text!="]"){do a.push(R());while(f(","))}i("]");return function(b,c){for(var d=[],e=0;e<a.length;e++)d.push(a[e](b,c));return d}}function w(){var a=[];if(h().text!="}"){do{var b=f(),b=b.string||b.text;i(":");var c=R();a.push({key:b,value:c})}while(f(","))}i("}");return function(b,
+c){for(var d={},e=0;e<a.length;e++){var i=a[e],f=i.value(b,c);d[i.key]=f}return d}}var Y=z(0),P,Q=Gc(b,d),R=function(){var a=u(),c,d;return(d=f("="))?(a.assign||e("implies assignment but ["+b.substring(0,d.index)+"] can not be assigned to",d),c=u(),function(b,d){return a.assign(b,c(b,d),d)}):a},t=function(a,b){var c=[];if(h().text!=")"){do c.push(R());while(f(","))}i(")");return function(d,e){for(var i=[],f=b?b(d,e):d,h=0;h<c.length;h++)i.push(c[h](d,e));h=a(d,e)||v;return h.apply?h.apply(f,i):h(i[0],
+i[1],i[2],i[3],i[4])}},N=function(a){var b=f().text,c=Fb(b,d);return B(function(b,d){return c(a(b,d),d)},{assign:function(c,d,e){return Gb(a(c,e),b,d)}})},ea=function(a){var b=R();i("]");return B(function(c,d){var e=a(c,d),i=b(c,d),f;if(!e)return r;if((e=e[i])&&e.then){f=e;if(!("$$v"in e))f.$$v=r,f.then(function(a){f.$$v=a});e=e.$$v}return e},{assign:function(c,d,e){return a(c,e)[b(c,e)]=d}})},y=function(){for(var a=R(),b;;)if(b=f("|"))a=j(a,b.fn,l());else return a};a?(R=u,t=N=ea=y=function(){e("is not valid json",
+{text:b,index:0})},P=K()):P=n();Q.length!==0&&e("is an unexpected token",Q[0]);return P}function Gb(b,a,c){for(var a=a.split("."),d=0;a.length>1;d++){var e=a.shift(),h=b[e];h||(h={},b[e]=h);b=h}return b[a.shift()]=c}function fb(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,h=a.length,g=0;g<h;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&L(b)?Ua(e,b):b}function Hb(b,a,c,d,e){return function(h,g){var f=g&&g.hasOwnProperty(b)?g:h,i;if(!f)return f;if((f=f[b])&&f.then){if(!("$$v"in f))i=f,i.$$v=r,i.then(function(a){i.$$v=
+a});f=f.$$v}if(!a||!f)return f;if((f=f[a])&&f.then){if(!("$$v"in f))i=f,i.$$v=r,i.then(function(a){i.$$v=a});f=f.$$v}if(!c||!f)return f;if((f=f[c])&&f.then){if(!("$$v"in f))i=f,i.$$v=r,i.then(function(a){i.$$v=a});f=f.$$v}if(!d||!f)return f;if((f=f[d])&&f.then){if(!("$$v"in f))i=f,i.$$v=r,i.then(function(a){i.$$v=a});f=f.$$v}if(!e||!f)return f;if((f=f[e])&&f.then){if(!("$$v"in f))i=f,i.$$v=r,i.then(function(a){i.$$v=a});f=f.$$v}return f}}function Fb(b,a){if(ib.hasOwnProperty(b))return ib[b];var c=
+b.split("."),d=c.length,e;if(a)e=d<6?Hb(c[0],c[1],c[2],c[3],c[4]):function(a,b){var e=0;do Hb(c[e++],c[e++],c[e++],c[e++],c[e++])(a,b),b=r;while(e<d)};else{var h="var l, fn, p;\n";m(c,function(a,b){h+="if(!s) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'});h+="return s;";e=Function("s","k",h);e.toString=function(){return h}}return ib[b]=e}function Jc(){var b=
+{};this.$get=["$filter","$sniffer",function(a,c){return function(d){switch(typeof d){case "string":return b.hasOwnProperty(d)?b[d]:b[d]=Ic(d,!1,a,c.csp);case "function":return d;default:return v}}}]}function Kc(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Lc(function(a){b.$evalAsync(a)},a)}]}function Lc(b,a){function c(a){return a}function d(a){return g(a)}var e=function(){var f=[],i,k;return k={resolve:function(a){if(f){var c=f;f=r;i=h(a);c.length&&b(function(){for(var a,b=
+0,d=c.length;b<d;b++)a=c[b],i.then(a[0],a[1])})}},reject:function(a){k.resolve(g(a))},promise:{then:function(b,h){var g=e(),k=function(d){try{g.resolve((b||c)(d))}catch(e){a(e),g.reject(e)}},q=function(b){try{g.resolve((h||d)(b))}catch(c){a(c),g.reject(c)}};f?f.push([k,q]):i.then(k,q);return g.promise}}}},h=function(a){return a&&a.then?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},g=function(a){return{then:function(c,h){var g=e();b(function(){g.resolve((h||d)(a))});
+return g.promise}}};return{defer:e,reject:g,when:function(f,i,k){var j=e(),n,l=function(b){try{return(i||c)(b)}catch(d){return a(d),g(d)}},u=function(b){try{return(k||d)(b)}catch(c){return a(c),g(c)}};b(function(){h(f).then(function(a){n||(n=!0,j.resolve(h(a).then(l,u)))},function(a){n||(n=!0,j.resolve(u(a)))})});return j.promise},all:function(a){var b=e(),c=a.length,d=[];c?m(a,function(a,e){h(a).then(function(a){e in d||(d[e]=a,--c||b.resolve(d))},function(a){e in d||b.reject(a)})}):b.resolve(d);
+return b.promise}}}function Mc(){var b={};this.when=function(a,c){b[a]=B({reloadOnSearch:!0},c);if(a){var d=a[a.length-1]=="/"?a.substr(0,a.length-1):a+"/";b[d]={redirectTo:a}}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams",function(a,c,d){function e(){var a,d;m(b,function(b,e){if(!d&&(a=g(c.path(),e)))d=Qa(b,{params:B({},c.search(),a),pathParams:a}),d.$route=b});return d||b[null]&&Qa(b[null],{params:{},pathParams:{}})}function h(a,
+b){var c=[];m((a||"").split(":"),function(a,d){if(d==0)c.push(a);else{var e=a.match(/(\w+)(.*)/),i=e[1];c.push(b[i]);c.push(e[2]||"");delete b[i]}});return c.join("")}var g=function(a,b){var c="^"+b.replace(/([\.\\\(\)\^\$])/g,"\\$1")+"$",d=[],e={};m(b.split(/\W/),function(a){if(a){var b=RegExp(":"+a+"([\\W])");c.match(b)&&(c=c.replace(b,"([^\\/]*)$1"),d.push(a))}});var i=a.match(RegExp(c));i&&m(d,function(a,b){e[a]=i[b+1]});return i?e:null},f=0,i=!1,k={routes:b,reload:function(){f++;i=!0}};a.$watch(function(){return f+
+c.url()},function(){var b=e(),f=k.current;if(b&&f&&b.$route===f.$route&&ca(b.pathParams,f.pathParams)&&!b.reloadOnSearch&&!i)f.params=b.params,X(f.params,d),a.$broadcast("$routeUpdate",f);else if(b||f)i=!1,a.$broadcast("$beforeRouteChange",b,f),(k.current=b)&&(b.redirectTo?H(b.redirectTo)?c.path(h(b.redirectTo,b.params)).search(b.params).replace():c.url(b.redirectTo(b.pathParams,c.path(),c.search())).replace():X(b.params,d)),a.$broadcast("$afterRouteChange",b,f)});return k}]}function Nc(){this.$get=
+z({})}function Oc(){var b=10;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse",function(a,c,d){function e(){this.$id=ta();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$asyncQueue=[];this.$$listeners={}}function h(a,b){var c=a.$root;if(c.$$phase)throw x(c.$$phase+" already in progress");c.$$phase=b}function g(a,b){var c=d(a);ma(c,
+b);return c}function f(){}e.prototype={$new:function(a){if(L(a))throw x("API-CHANGE: Use $controller to instantiate controllers.");a?(a=new e,a.$root=this.$root):(a=function(){},a.prototype=this,a=new a,a.$id=ta());a["this"]=a;a.$$listeners={};a.$parent=this;a.$$asyncQueue=[];a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,
+b,c){var d=g(a,"watch"),e=this.$$watchers,h={fn:b,last:f,get:d,exp:a,eq:!!c};if(!L(b)){var m=g(b||v,"listener");h.fn=function(a,b,c){m(c)}}if(!e)e=this.$$watchers=[];e.unshift(h);return function(){va(e,h)}},$digest:function(){var a,d,e,g,l,u,m,p=b,o,F=[],D,K;h(this,"$digest");do{m=!1;o=this;do{for(l=o.$$asyncQueue;l.length;)try{o.$eval(l.shift())}catch(s){c(s)}if(g=o.$$watchers)for(u=g.length;u--;)try{if(a=g[u],(d=a.get(o))!==(e=a.last)&&!(a.eq?ca(d,e):typeof d=="number"&&typeof e=="number"&&isNaN(d)&&
+isNaN(e)))m=!0,a.last=a.eq?X(d):d,a.fn(d,e===f?d:e,o),p<5&&(D=4-p,F[D]||(F[D]=[]),K=L(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,K+="; newVal: "+aa(d)+"; oldVal: "+aa(e),F[D].push(K))}catch(w){c(w)}if(!(g=o.$$childHead||o!==this&&o.$$nextSibling))for(;o!==this&&!(g=o.$$nextSibling);)o=o.$parent}while(o=g);if(m&&!p--)throw x(b+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+aa(F));}while(m||l.length);this.$root.$$phase=null},$destroy:function(){if(this.$root!=
+this){var a=this.$parent;this.$broadcast("$destroy");if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;if(a.$$childTail==this)a.$$childTail=this.$$prevSibling;if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return h(this,"$apply"),this.$eval(a)}catch(b){c(b)}finally{this.$root.$$phase=
+null,this.$root.$digest()}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){va(c,b)}},$emit:function(a,b){var d=[],e,f=this,h={name:a,targetScope:f,cancel:function(){h.cancelled=!0},cancelled:!1},g=[h].concat(fa.call(arguments,1)),m,o;do{e=f.$$listeners[a]||d;h.currentScope=f;m=0;for(o=e.length;m<o;m++)try{if(e[m].apply(null,g),h.cancelled)return h}catch(F){c(F)}f=f.$parent}while(f);return h},$broadcast:function(a,b){var d=this,e=this,f={name:a,
+targetScope:this},h=[f].concat(fa.call(arguments,1));do if(d=e,f.currentScope=d,m(d.$$listeners[a],function(a){try{a.apply(null,h)}catch(b){c(b)}}),!(e=d.$$childHead||d!==this&&d.$$nextSibling))for(;d!==this&&!(e=d.$$nextSibling);)d=d.$parent;while(d=e);return f}};return new e}]}function Pc(){this.$get=["$window",function(b){var a={};return{history:!(!b.history||!b.history.pushState),hashchange:"onhashchange"in b&&(!b.document.documentMode||b.document.documentMode>7),hasEvent:function(c){if(y(a[c])){var d=
+b.document.createElement("div");a[c]="on"+c in d}return a[c]},csp:!1}}]}function Qc(){this.$get=z(W)}function Ib(b){var a={},c,d,e;if(!b)return a;m(b.split("\n"),function(b){e=b.indexOf(":");c=G(T(b.substr(0,e)));d=T(b.substr(e+1));c&&(a[c]?a[c]+=", "+d:a[c]=d)});return a}function Jb(b){var a=M(b)?b:r;return function(c){a||(a=Ib(b));return c?a[G(c)]||null:a}}function Kb(b,a,c){if(L(c))return c(b,a);m(c,function(c){b=c(b,a)});return b}function Rc(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,
+d=this.defaults={transformResponse:[function(d){H(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=ob(d,!0)));return d}],transformRequest:[function(a){return M(a)&&Ra.apply(a)!=="[object File]"?aa(a):a}],headers:{common:{Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/json"},put:{"Content-Type":"application/json"}}},e=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,
+b,c,i,k,j){function n(a){function c(a){var b=B({},a,{data:Kb(a.data,a.headers,f)});return 200<=a.status&&a.status<300?b:k.reject(b)}a.method=ia(a.method);var e=a.transformRequest||d.transformRequest,f=a.transformResponse||d.transformResponse,i=d.headers,i=B({"X-XSRF-TOKEN":b.cookies()["XSRF-TOKEN"]},i.common,i[G(a.method)],a.headers),e=Kb(a.data,Jb(i),e),h;y(a.data)&&delete i["Content-Type"];h=l(a,e,i);h=h.then(c,c);m(p,function(a){h=a(h)});h.success=function(b){h.then(function(c){b(c.data,c.status,
+c.headers,a)});return h};h.error=function(b){h.then(null,function(c){b(c.data,c.status,c.headers,a)});return h};return h}function l(b,c,d){function e(a,b,c){m&&(200<=a&&a<300?m.put(r,[a,b,Ib(c)]):m.remove(r));f(b,a,c);i.$apply()}function f(a,c,d){c=Math.max(c,0);(200<=c&&c<300?l.resolve:l.reject)({data:a,status:c,headers:Jb(d),config:b})}function g(){var a=Ta(n.pendingRequests,b);a!==-1&&n.pendingRequests.splice(a,1)}var l=k.defer(),j=l.promise,m,p,r=u(b.url,b.params);n.pendingRequests.push(b);j.then(g,
+g);b.cache&&b.method=="GET"&&(m=M(b.cache)?b.cache:q);if(m)if(p=m.get(r))if(p.then)return p.then(g,g),p;else J(p)?f(p[1],p[0],X(p[2])):f(p,200,{});else m.put(r,j);p||a(b.method,r,c,e,d,b.timeout,b.withCredentials);return j}function u(a,b){if(!b)return a;var c=[];$b(b,function(a,b){a==null||a==r||(M(a)&&(a=aa(a)),c.push(encodeURIComponent(b)+"="+encodeURIComponent(a)))});return a+(a.indexOf("?")==-1?"?":"&")+c.join("&")}var q=c("$http"),p=[];m(e,function(a){p.push(H(a)?j.get(a):j.invoke(a))});n.pendingRequests=
+[];(function(a){m(arguments,function(a){n[a]=function(b,c){return n(B(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){m(arguments,function(a){n[a]=function(b,c,d){return n(B(d||{},{method:a,url:b,data:c}))}})})("post","put");n.defaults=d;return n}]}function Sc(){this.$get=["$browser","$window","$document",function(b,a,c){return Tc(b,Uc,b.defer,a.angular.callbacks,c[0],a.location.protocol.replace(":",""))}]}function Tc(b,a,c,d,e,h){function g(a,b){var c=e.createElement("script"),
+d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;da?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c)}return function(e,i,k,j,n,l,u){function q(a,c,d,e){c=(i.match(Cb)||["",h])[1]=="file"?d?200:404:c;a(c==1223?204:c,d,e);b.$$completeOutstandingRequest(v)}b.$$incOutstandingRequestCount();i=i||b.url();if(G(e)=="jsonp"){var p="_"+(d.counter++).toString(36);d[p]=function(a){d[p].data=a};g(i.replace("JSON_CALLBACK",
+"angular.callbacks."+p),function(){d[p].data?q(j,200,d[p].data):q(j,-2);delete d[p]})}else{var o=new a;o.open(e,i,!0);m(n,function(a,b){a&&o.setRequestHeader(b,a)});var r;o.onreadystatechange=function(){o.readyState==4&&q(j,r||o.status,o.responseText,o.getAllResponseHeaders())};if(u)o.withCredentials=!0;o.send(k||"");l>0&&c(function(){r=-1;o.abort()},l)}}}function Vc(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",
+posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM",
+"PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return b===1?"one":"other"}}}}function Lb(b){function a(a,e){return b.factory(a+c,e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",Mb);a("date",Nb);a("filter",Wc);a("json",Xc);a("limitTo",Yc);a("lowercase",Zc);a("number",
+Ob);a("orderBy",Pb);a("uppercase",$c)}function Wc(){return function(b,a){if(!(b instanceof Array))return b;var c=[];c.check=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};var d=function(a,b){if(b.charAt(0)==="!")return!d(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return(""+a).toLowerCase().indexOf(b)>-1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;case "array":for(c=0;c<a.length;c++)if(d(a[c],b))return!0;return!1;
+default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var e in a)e=="$"?function(){var b=(""+a[e]).toLowerCase();b&&c.push(function(a){return d(a,b)})}():function(){var b=e,f=(""+a[e]).toLowerCase();f&&c.push(function(a){return d(fb(a,b),f)})}();break;case "function":c.push(a);break;default:return b}for(var h=[],g=0;g<b.length;g++){var f=b[g];c.check(f)&&h.push(f)}return h}}function Mb(b){var a=b.NUMBER_FORMATS;return function(b,d){if(y(d))d=a.CURRENCY_SYM;
+return Qb(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Ob(b){var a=b.NUMBER_FORMATS;return function(b,d){return Qb(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Qb(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return"";var h=b<0,b=Math.abs(b),g=b+"",f="",i=[];if(g.indexOf("e")!==-1)f=g;else{g=(g.split(Rb)[1]||"").length;y(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));var g=Math.pow(10,e),b=Math.round(b*g)/g,b=(""+b).split(Rb),g=b[0],b=b[1]||"",k=0,j=a.lgSize,n=a.gSize;
+if(g.length>=j+n)for(var k=g.length-j,l=0;l<k;l++)(k-l)%n===0&&l!==0&&(f+=c),f+=g.charAt(l);for(l=k;l<g.length;l++)(g.length-l)%j===0&&l!==0&&(f+=c),f+=g.charAt(l);for(;b.length<e;)b+="0";e&&(f+=d+b.substr(0,e))}i.push(h?a.negPre:a.posPre);i.push(f);i.push(h?a.negSuf:a.posSuf);return i.join("")}function jb(b,a,c){var d="";b<0&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function I(b,a,c,d){return function(e){e=e["get"+b]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=
+12);return jb(e,a,d)}}function Ja(b,a){return function(c,d){var e=c["get"+b](),h=ia(a?"SHORT"+b:b);return d[h][e]}}function Nb(b){function a(a){var b;if(b=a.match(c)){var a=new Date(0),h=0,g=0;b[9]&&(h=C(b[9]+b[10]),g=C(b[9]+b[11]));a.setUTCFullYear(C(b[1]),C(b[2])-1,C(b[3]));a.setUTCHours(C(b[4]||0)-h,C(b[5]||0)-g,C(b[6]||0),C(b[7]||0))}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;return function(c,e){var h="",g=[],f,i,e=e||
+"mediumDate",e=b.DATETIME_FORMATS[e]||e;H(c)&&(c=ad.test(c)?C(c):a(c));sa(c)&&(c=new Date(c));if(!ja(c))return c;for(;e;)(i=bd.exec(e))?(g=g.concat(fa.call(i,1)),e=g.pop()):(g.push(e),e=null);m(g,function(a){f=cd[a];h+=f?f(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return h}}function Xc(){return function(b){return aa(b,!0)}}function Yc(){return function(b,a){if(!(b instanceof Array))return b;var a=C(a),c=[],d,e;if(!b||!(b instanceof Array))return c;a>b.length?a=b.length:a<
+-b.length&&(a=-b.length);a>0?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Pb(b){return function(a,c,d){function e(a,b){return Va(b)?function(b,c){return a(c,b)}:a}if(!(a instanceof Array))return a;if(!c)return a;for(var c=J(c)?c:[c],c=Sa(c,function(a){var c=!1,d=a||ua;if(H(a)){if(a.charAt(0)=="+"||a.charAt(0)=="-")c=a.charAt(0)=="-",a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,h=typeof e;f==h?(f=="string"&&(c=c.toLowerCase()),
+f=="string"&&(e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<h?-1:1;return c},c)}),h=[],g=0;g<a.length;g++)h.push(a[g]);return h.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(e!==0)return e}return 0},d))}}function O(b){L(b)&&(b={link:b});b.restrict=b.restrict||"AC";return z(b)}function Sb(b,a){function c(a,c){c=c?"-"+Za(c,"-"):"";b.removeClass((a?Ka:La)+c).addClass((a?La:Ka)+c)}var d=this,e=b.parent().controller("form")||Ma,h=0,g=d.$error={};d.$name=a.name;d.$dirty=!1;d.$pristine=
+!0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(Na);c(!0);d.$addControl=function(a){a.$name&&!d.hasOwnProperty(a.$name)&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&d[a.$name]===a&&delete d[a.$name];m(g,function(b,c){d.$setValidity(c,!0,a)})};d.$setValidity=function(a,b,k){var j=g[a];if(b){if(j&&(va(j,k),!j.length)){h--;if(!h)c(b),d.$valid=!0,d.$invalid=!1;g[a]=!1;c(!0,a);e.$setValidity(a,!0,d)}}else{h||c(b);if(j){if(Ta(j,k)!=-1)return}else g[a]=j=[],h++,c(!1,a),e.$setValidity(a,
+!1,d);j.push(k);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(Na).addClass(Tb);d.$dirty=!0;d.$pristine=!1}}function V(b){return y(b)||b===""||b===null||b!==b}function Oa(b,a,c,d,e,h){var g=function(){var c=T(a.val());d.$viewValue!==c&&b.$apply(function(){d.$setViewValue(c)})};if(e.hasEvent("input"))a.bind("input",g);else{var f;a.bind("keydown",function(a){a=a.keyCode;a===91||15<a&&a<19||37<=a&&a<=40||f||(f=h.defer(function(){g();f=null}))});a.bind("change",g)}d.$render=function(){a.val(V(d.$viewValue)?
+"":d.$viewValue)};var i=c.ngPattern,k=function(a,b){return V(b)||a.test(b)?(d.$setValidity("pattern",!0),b):(d.$setValidity("pattern",!1),r)};i&&(i.match(/^\/(.*)\/$/)?(i=RegExp(i.substr(1,i.length-2)),e=function(a){return k(i,a)}):e=function(a){var c=b.$eval(i);if(!c||!c.test)throw new x("Expected "+i+" to be a RegExp but was "+c);return k(c,a)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var j=C(c.ngMinlength),e=function(a){return!V(a)&&a.length<j?(d.$setValidity("minlength",!1),
+r):(d.$setValidity("minlength",!0),a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var n=C(c.ngMaxlength),c=function(a){return!V(a)&&a.length>n?(d.$setValidity("maxlength",!1),r):(d.$setValidity("maxlength",!0),a)};d.$parsers.push(c);d.$formatters.push(c)}}function kb(b,a){b="ngClass"+b;return O(function(c,d,e){c.$watch(e[b],function(b,e){if(a===!0||c.$index%2===a)e&&b!==e&&(M(e)&&!J(e)&&(e=Sa(e,function(a,b){if(a)return b})),d.removeClass(J(e)?e.join(" "):e)),M(b)&&!J(b)&&(b=Sa(b,
+function(a,b){if(a)return b})),b&&d.addClass(J(b)?b.join(" "):b)},!0)})}var G=function(b){return H(b)?b.toLowerCase():b},ia=function(b){return H(b)?b.toUpperCase():b},x=W.Error,da=C((/msie (\d+)/.exec(G(navigator.userAgent))||[])[1]),t,ga,fa=[].slice,Pa=[].push,Ra=Object.prototype.toString,Ub=W.angular||(W.angular={}),oa,Ab,Z=["0","0","0"];v.$inject=[];ua.$inject=[];Ab=da<9?function(b){b=b.nodeName?b:b[0];return b.scopeName&&b.scopeName!="HTML"?ia(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?
+b.nodeName:b[0].nodeName};var fc=/[A-Z]/g,dd={full:"1.0.0rc7",major:1,minor:0,dot:0,codeName:"rc-generation"},ya={},xa="ng-"+(new Date).getTime(),jc=1,ed=W.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},cb=W.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},hc=/([\:\-\_]+(.))/g,ic=/^moz([A-Z])/,pa=U.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;this.bind("DOMContentLoaded",
+a);U(W).bind("load",a)},toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return b>=0?t(this[b]):t(this[this.length+b])},length:0,push:Pa,sort:[].sort,splice:[].splice},Ca={};m("multiple,selected,checked,disabled,readOnly,required".split(","),function(b){Ca[G(b)]=b});var yb={};m("input,select,option,textarea,button,form".split(","),function(b){yb[ia(b)]=!0});m({data:za,inheritedData:Ba,scope:function(b){return Ba(b,"$scope")},controller:wb,injector:function(b){return Ba(b,
+"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Aa,css:function(b,a,c){a=sb(a);if(E(c))b.style[a]=c;else{var d;da<=8&&(d=b.currentStyle&&b.currentStyle[a],d===""&&(d="auto"));d=d||b.style[a];da<=8&&(d=d===""?r:d);return d}},attr:function(b,a,c){var d=G(a);if(Ca[d])if(E(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||v).specified?d:r;else if(E(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,
+2),b===null?r:b},prop:function(b,a,c){if(E(c))b[a]=c;else return b[a]},text:B(da<9?function(b,a){if(b.nodeType==1){if(y(a))return b.innerText;b.innerText=a}else{if(y(a))return b.nodeValue;b.nodeValue=a}}:function(b,a){if(y(a))return b.textContent;b.textContent=a},{$dv:""}),val:function(b,a){if(y(a))return b.value;b.value=a},html:function(b,a){if(y(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)na(d[c]);b.innerHTML=a}},function(b,a){U.prototype[a]=function(a,d){var e,h;if((b.length==
+2&&b!==Aa&&b!==wb?a:d)===r)if(M(a)){for(e=0;e<this.length;e++)for(h in a)b(this[e],h,a[h]);return this}else{if(this.length)return b(this[0],a,d)}else{for(e=0;e<this.length;e++)b(this[e],a,d);return this}return b.$dv}});m({removeData:tb,dealoc:na,bind:function a(c,d,e){var h=za(c,"bind");h||za(c,"bind",h={});m(d.split(" "),function(d){var f=h[d];if(!f)if(d=="mouseenter"||d=="mouseleave"){var i=h.mouseenter=db(c),k=h.mouseleave=db(c),j=0;a(c,"mouseover",function(a){j++;j==1&&i(a)});a(c,"mouseout",function(a){j--;
+j==0&&k(a)});f=h[d]}else f=h[d]=db(c),ed(c,d,f);f.fns.push(e)})},unbind:function(a,c,d){var e=za(a,"bind");e&&(y(c)?m(e,function(c,d){cb(a,d,c);delete e[d]}):y(d)?(cb(a,c,e[c]),delete e[c]):va(e[c].fns,d))},replaceWith:function(a,c){var d,e=a.parentNode;na(a);m(new U(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];m(a.childNodes,function(a){a.nodeName!="#text"&&c.push(a)});return c},contents:function(a){return a.childNodes},append:function(a,
+c){m(new U(c),function(c){a.nodeType===1&&a.appendChild(c)})},prepend:function(a,c){if(a.nodeType===1){var d=a.firstChild;m(new U(c),function(c){d?a.insertBefore(c,d):(a.appendChild(c),d=c)})}},wrap:function(a,c){var c=t(c)[0],d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){na(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;m(new U(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:vb,removeClass:ub,toggleClass:function(a,
+c,d){y(d)&&(d=!Aa(a,c));(d?vb:ub)(a,c)},parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},next:function(a){return a.nextSibling},find:function(a,c){return a.getElementsByTagName(c)},clone:bb},function(a,c){U.prototype[c]=function(c,e){for(var h,g=0;g<this.length;g++)h==r?(h=a(this[g],c,e),h!==r&&(h=t(h))):ab(h,a(this[g],c,e));return h==r?this:h}});Da.prototype={put:function(a,c){this[ha(a)]=c},get:function(a){return this[ha(a)]},remove:function(a){var c=this[a=ha(a)];delete this[a];
+return c}};eb.prototype={push:function(a,c){var d=this[a=ha(a)];d?d.push(c):this[a]=[c]},shift:function(a){var c=this[a=ha(a)];if(c)return c.length==1?(delete this[a],c[0]):c.shift()}};var mc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,nc=/,/,oc=/^\s*(_?)(.+?)\1\s*$/,lc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;zb.$inject=["$provide"];var vc=/^(x[\:\-_]|data[\:\-_])/i,Cb=/^(file|ftp|http|https):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,Vb=/^([^\?#]*)?(\?([^#]*))?(#(.*))?$/,Dc=
+Vb,Db={http:80,https:443,ftp:21};gb.prototype={$$replace:!1,absUrl:Ha("$$absUrl"),url:function(a,c){if(y(a))return this.$$url;var d=Vb.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));if(d[2]||d[1])this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:Ha("$$protocol"),host:Ha("$$host"),port:Ha("$$port"),path:Eb("$$path",function(a){return a.charAt(0)=="/"?a:"/"+a}),search:function(a,c){if(y(a))return this.$$search;E(c)?c===null?delete this.$$search[a]:this.$$search[a]=c:this.$$search=
+H(a)?Wa(a):a;this.$$compose();return this},hash:Eb("$$hash",ua),replace:function(){this.$$replace=!0;return this}};hb.prototype=Qa(gb.prototype);var Ia={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:v,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return(E(d)?d:0)+(E(e)?e:0)},"-":function(a,c,d,e){d=d(a,c);e=e(a,c);return(E(d)?d:0)-(E(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,
+c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":v,"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,
+c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Hc={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},ib={},Uc=W.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw new x("This browser does not support XMLHttpRequest.");};Lb.$inject=["$provide"];Mb.$inject=["$locale"];Ob.$inject=["$locale"];var Rb=".",cd={yyyy:I("FullYear",4),
+yy:I("FullYear",2,0,!0),y:I("FullYear",1),MMMM:Ja("Month"),MMM:Ja("Month",!0),MM:I("Month",2,1),M:I("Month",1,1),dd:I("Date",2),d:I("Date",1),HH:I("Hours",2),H:I("Hours",1),hh:I("Hours",2,-12),h:I("Hours",1,-12),mm:I("Minutes",2),m:I("Minutes",1),ss:I("Seconds",2),s:I("Seconds",1),EEEE:Ja("Day"),EEE:Ja("Day",!0),a:function(a,c){return a.getHours()<12?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=a.getTimezoneOffset();return jb(a/60,2)+jb(Math.abs(a%60),2)}},bd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,
+ad=/^\d+$/;Nb.$inject=["$locale"];var Zc=z(G),$c=z(ia);Pb.$inject=["$parse"];var fd=z({restrict:"E",compile:function(a,c){c.href||c.$set("href","");return function(a,c){c.bind("click",function(a){c.attr("href")||a.preventDefault()})}}}),lb={};m(Ca,function(a,c){var d=ba("ng-"+c);lb[d]=function(){return{priority:100,compile:function(){return function(a,h,g){g.$$observers[c]=[];a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}});m(["src","href"],function(a){var c=ba("ng-"+a);lb[c]=function(){return{priority:99,
+compile:function(){return function(d,e,h){d=h[c];d==r?(h.$$observers[a]=[],h.$observe(c,function(c){h.$set(a,c)})):h.$set(a,d)}}}}});var Ma={$addControl:v,$removeControl:v,$setValidity:v,$setDirty:v};Sb.$inject=["$element","$attrs","$scope"];var Pa={name:"form",restrict:"E",controller:Sb,compile:function(){return{pre:function(a,c,d,e){d.action||c.bind("submit",function(a){a.preventDefault()});var h=c.parent().controller("form"),g=d.name||d.ngForm;g&&(a[g]=e);h&&c.bind("$destroy",function(){h.$removeControl(e);
+g&&(a[g]=r);B(e,Ma)})}}}},gd=z(Pa),hd=z(B(X(Pa),{restrict:"EAC"})),id=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,jd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,kd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Wb={text:Oa,number:function(a,c,d,e,h,g){Oa(a,c,d,e,h,g);e.$parsers.push(function(a){var c=V(a);return c||kd.test(a)?(e.$setValidity("number",!0),a===""?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),r)});e.$formatters.push(function(a){return V(a)?
+"":""+a});if(d.min){var f=parseFloat(d.min),a=function(a){return!V(a)&&a<f?(e.$setValidity("min",!1),r):(e.$setValidity("min",!0),a)};e.$parsers.push(a);e.$formatters.push(a)}if(d.max){var i=parseFloat(d.max),d=function(a){return!V(a)&&a>i?(e.$setValidity("max",!1),r):(e.$setValidity("max",!0),a)};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){return V(a)||sa(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),r)})},url:function(a,c,d,e,h,g){Oa(a,c,d,e,h,g);a=
+function(a){return V(a)||id.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),r)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,h,g){Oa(a,c,d,e,h,g);a=function(a){return V(a)||jd.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),r)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){y(d.name)&&c.attr("name",ta());c.bind("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=
+d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var h=d.ngTrueValue,g=d.ngFalseValue;H(h)||(h=!0);H(g)||(g=!1);c.bind("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$formatters.push(function(a){return a===h});e.$parsers.push(function(a){return a?h:g})},hidden:v,button:v,submit:v,reset:v},Xb=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,h,g){g&&
+(Wb[G(h.type)]||Wb.text)(d,e,h,g,c,a)}}}],La="ng-valid",Ka="ng-invalid",Na="ng-pristine",Tb="ng-dirty",ld=["$scope","$exceptionHandler","$attrs","ngModel","$element",function(a,c,d,e,h){function g(a,c){c=c?"-"+Za(c,"-"):"";h.removeClass((a?Ka:La)+c).addClass((a?La:Ka)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$render=v;this.$name=d.name;var f=h.inheritedData("$formController")||
+Ma,i=0,k=this.$error={};h.addClass(Na);g(!0);this.$setValidity=function(a,c){if(k[a]!==!c){if(c){if(k[a]&&i--,!i)g(!0),this.$valid=!0,this.$invalid=!1}else g(!1),this.$invalid=!0,this.$valid=!1,i++;k[a]=!c;g(c,a);f.$setValidity(a,c,this)}};this.$setViewValue=function(a){this.$viewValue=a;if(this.$pristine)this.$dirty=!0,this.$pristine=!1,h.removeClass(Na).addClass(Tb),f.$setDirty();m(this.$parsers,function(c){a=c(a)});if(this.$modelValue!==a)this.$modelValue=a,e(a),m(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};
+var j=this;a.$watch(function(){return e()},function(a){if(j.$modelValue!==a){var c=j.$formatters,d=c.length;for(j.$modelValue=a;d--;)a=c[d](a);if(j.$viewValue!==a)j.$viewValue=a,j.$render()}})}],md=[function(){return{inject:{ngModel:"accessor"},require:["ngModel","^?form"],controller:ld,link:function(a,c,d,e){var h=e[0],g=e[1]||Ma;g.$addControl(h);c.bind("$destroy",function(){g.$removeControl(h)})}}}],nd=z({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),
+Yb=[function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){var h=function(a){if(d.required&&(V(a)||a===!1))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(h);e.$parsers.unshift(h);d.$observe("required",function(){h(e.$viewValue)})}}}}],od=function(){return{require:"ngModel",link:function(a,c,d,e){var h=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",",g=function(a){var c=[];a&&m(a.split(h),function(a){a&&c.push(T(a))});return c};e.$parsers.push(g);
+e.$formatters.push(function(a){return J(a)&&!ca(g(e.$viewValue),a)?a.join(", "):r})}}},pd=/^(true|false|\d+)$/,qd=[function(){return{priority:100,compile:function(a,c){return pd.test(c.ngValue)?function(a,c,h){h.$set("value",a.$eval(h.ngValue))}:function(a,c,h){h.$$observers.value=[];a.$watch(h.ngValue,function(a){h.$set("value",a,!1)})}}}}],rd=O(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==r?"":a)})}),sd=["$interpolate",function(a){return function(c,
+d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],td=[function(){return function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBindHtmlUnsafe);a.$watch(d.ngBindHtmlUnsafe,function(a){c.html(a||"")})}}],ud=kb("",!0),vd=kb("Odd",0),wd=kb("Even",1),xd=O({compile:function(a,c){c.$set("ngCloak",r);a.removeClass("ng-cloak")}}),yd=[function(){return{scope:!0,controller:"@"}}],zd=["$sniffer",function(a){return{priority:1E3,
+compile:function(){a.csp=!0}}}],Zb={};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave".split(" "),function(a){var c=ba("ng-"+a);Zb[c]=["$parse",function(d){return function(e,h,g){var f=d(g[c]);h.bind(G(a),function(a){e.$apply(function(){f(e,{$event:a})})})}}]});var Ad=O(function(a,c,d){c.bind("submit",function(){a.$apply(d.ngSubmit)})}),Bd=["$http","$templateCache","$anchorScroll","$compile",function(a,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(h,
+g){var f=g.ngInclude||g.src,i=g.onload||"",k=g.autoscroll;return function(h,g){var l=0,m,q=function(){m&&(m.$destroy(),m=null);g.html("")};h.$watch(f,function(f){var o=++l;f?a.get(f,{cache:c}).success(function(a){o===l&&(m&&m.$destroy(),m=h.$new(),g.html(a),e(g.contents())(m),E(k)&&(!k||h.$eval(k))&&d(),m.$emit("$includeContentLoaded"),h.$eval(i))}).error(function(){o===l&&q()}):q()})}}}}],Cd=O({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Dd=O({terminal:!0,priority:1E3}),
+Ed=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,h,g){var f=g.count,i=h.attr(g.$attr.when),k=g.offset||0,j=e.$eval(i),n={};m(j,function(a,e){n[e]=c(a.replace(d,"{{"+f+"-"+k+"}}"))});e.$watch(function(){var c=parseFloat(e.$eval(f));return isNaN(c)?"":(j[c]||(c=a.pluralCat(c-k)),n[c](e,h,!0))},function(a){h.text(a)})}}}],Fd=O({transclude:"element",priority:1E3,terminal:!0,compile:function(a,c,d){return function(a,c,g){var f=g.ngRepeat,g=f.match(/^\s*(.+)\s+in\s+(.*)\s*$/),
+i,k,j;if(!g)throw x("Expected ngRepeat in form of '_item_ in _collection_' but got '"+f+"'.");f=g[1];i=g[2];g=f.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!g)throw x("'item' in 'item in collection' should be identifier or (key, value) but got '"+f+"'.");k=g[3]||g[1];j=g[2];var n=new eb;a.$watch(function(a){var e,f,g=a.$eval(i),m=bc(g,!0),r,v=new eb,t,s,w,y,x=c;if(J(g))w=g||[];else{w=[];for(t in g)g.hasOwnProperty(t)&&t.charAt(0)!="$"&&w.push(t);w.sort()}e=0;for(f=w.length;e<f;e++){t=
+g===w?e:w[e];s=g[t];if(y=n.shift(s)){r=y.scope;v.push(s,y);if(e!==y.index)y.index=e,x.after(y.element);x=y.element}else r=a.$new();r[k]=s;j&&(r[j]=t);r.$index=e;r.$position=e===0?"first":e==m-1?"last":"middle";y||d(r,function(a){x.after(a);y={scope:r,element:x=a,index:e};v.push(s,y)})}for(t in n)if(n.hasOwnProperty(t))for(w=n[t];w.length;)s=w.pop(),s.element.remove(),s.scope.$destroy();n=v})}}}),Gd=O(function(a,c,d){a.$watch(d.ngShow,function(a){c.css("display",Va(a)?"":"none")})}),Hd=O(function(a,
+c,d){a.$watch(d.ngHide,function(a){c.css("display",Va(a)?"none":"")})}),Id=O(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&m(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Jd=z({restrict:"EA",compile:function(a,c){var d=c.ngSwitch||c.on,e={};a.data("ng-switch",e);return function(a,g){var f,i,k;a.$watch(d,function(d){i&&(k.$destroy(),i.remove(),i=k=null);if(f=e["!"+d]||e["?"])a.$eval(c.change),k=a.$new(),f(k,function(a){i=a;g.append(a)})})}}}),Kd=O({transclude:"element",priority:500,
+compile:function(a,c,d){a=a.inheritedData("ng-switch");la(a);a["!"+c.ngSwitchWhen]=d}}),Ld=O({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");la(a);a["?"]=d}}),Md=O({controller:["$transclude","$element",function(a,c){a(function(a){c.append(a)})}]}),Nd=["$http","$templateCache","$route","$anchorScroll","$compile","$controller",function(a,c,d,e,h,g){return{restrict:"ECA",terminal:!0,link:function(f,i,k){function j(){function j(){o===m&&(i.html(""),l&&(l.$destroy(),
+l=null))}var k=d.current&&d.current.template,o=++m;k?a.get(k,{cache:c}).success(function(a){if(o===m){i.html(a);l&&(l.$destroy(),l=null);var a=h(i.contents()),c=d.current;l=c.scope=f.$new();c.controller&&(c=g(c.controller,{$scope:l}),i.contents().data("$ngControllerController",c));a(l);l.$emit("$viewContentLoaded");l.$eval(r);e()}}).error(j):j()}var m=0,l,r=k.onload||"";f.$on("$afterRouteChange",j);j()}}}],Od=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){d.type==
+"text/ng-template"&&a.put(d.id,c[0].text)}}}],Pd=z({terminal:!0}),Qd=["$compile","$parse",function(a,c){var d=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/,e={$setViewValue:v};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope",function(a,c){var d=this,i={},k=e,j;d.init=function(a,c,d){k=a;j=d};d.addOption=function(c){i[c]=!0;k.$viewValue==c&&(a.val(c),j.parent()&&
+j.remove())};d.removeOption=function(a){this.hasOption(a)&&(delete i[a],k.$viewValue==a&&this.renderUnknownOption(a))};d.renderUnknownOption=function(c){c="? "+ha(c)+" ?";j.val(c);a.prepend(j);a.val(c);j.prop("selected",!0)};d.hasOption=function(a){return i.hasOwnProperty(a)};c.$on("$destroy",function(){d.renderUnknownOption=v})}],link:function(e,g,f,i){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(s.parent()&&s.remove(),c.val(a),a===""&&v.prop("selected",!0)):y(a)&&
+v?c.val(""):e.renderUnknownOption(a)};c.bind("change",function(){a.$apply(function(){s.parent()&&s.remove();d.$setViewValue(c.val())})})}function j(a,c,d){var e;d.$render=function(){var a=new Da(d.$viewValue);m(c.children(),function(c){c.selected=E(a.get(c.value))})};a.$watch(function(){ca(e,d.$viewValue)||(e=X(d.$viewValue),d.$render())});c.bind("change",function(){a.$apply(function(){var a=[];m(c.children(),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function n(e,f,h){function i(){var a=
+{"":[]},c=[""],d,g,p,t,s;p=h.$modelValue;t=u(e)||[];var w=l?mb(t):t,y,x,z;x={};s=!1;var A,B;if(q)s=new Da(p);else if(p===null||o)a[""].push({selected:p===null,id:"",label:""}),s=!0;for(z=0;y=w.length,z<y;z++){x[k]=t[l?x[l]=w[z]:z];d=m(e,x)||"";if(!(g=a[d]))g=a[d]=[],c.push(d);q?d=s.remove(n(e,x))!=r:(d=p===n(e,x),s=s||d);g.push({id:l?w[z]:z,label:j(e,x)||"",selected:d})}!q&&!s&&a[""].unshift({id:"?",label:"",selected:!0});x=0;for(w=c.length;x<w;x++){d=c[x];g=a[d];if(v.length<=x)p={element:C.clone().attr("label",
+d),label:g.label},t=[p],v.push(t),f.append(p.element);else if(t=v[x],p=t[0],p.label!=d)p.element.attr("label",p.label=d);A=null;z=0;for(y=g.length;z<y;z++)if(d=g[z],s=t[z+1]){A=s.element;if(s.label!==d.label)A.text(s.label=d.label);if(s.id!==d.id)A.val(s.id=d.id);if(s.element.selected!==d.selected)A.prop("selected",s.selected=d.selected)}else d.id===""&&o?B=o:(B=D.clone()).val(d.id).attr("selected",d.selected).text(d.label),t.push({element:B,label:d.label,id:d.id,selected:d.selected}),A?A.after(B):
+p.element.append(B),A=B;for(z++;t.length>z;)t.pop().element.remove()}for(;v.length>x;)v.pop()[0].element.remove()}var g;if(!(g=p.match(d)))throw x("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+p+"'.");var j=c(g[2]||g[1]),k=g[4]||g[6],l=g[5],m=c(g[3]||""),n=c(g[2]?g[1]:k),u=c(g[7]),v=[[{element:f,label:""}]];o&&(a(o)(e),o.removeClass("ng-scope"),o.remove());f.html("");f.bind("change",function(){e.$apply(function(){var a,c=u(e)||[],d={},g,i,
+j,m,o,p;if(q){i=[];m=0;for(p=v.length;m<p;m++){a=v[m];j=1;for(o=a.length;j<o;j++)if((g=a[j].element)[0].selected)g=g.val(),l&&(d[l]=g),d[k]=c[g],i.push(n(e,d))}}else g=f.val(),g=="?"?i=r:g==""?i=null:(d[k]=c[g],l&&(d[l]=g),i=n(e,d));h.$setViewValue(i)})});h.$render=i;e.$watch(i)}if(i[1]){for(var l=i[0],u=i[1],q=f.multiple,p=f.ngOptions,o=!1,v,D=t($.createElement("option")),C=t($.createElement("optgroup")),s=D.clone(),i=0,w=g.children(),B=w.length;i<B;i++)if(w[i].value==""){v=o=w.eq(i);break}l.init(u,
+o,s);if(q&&(f.required||f.ngRequired)){var z=function(a){u.$setValidity("required",!f.required||a&&a.length);return a};u.$parsers.push(z);u.$formatters.unshift(z);f.$observe("required",function(){z(u.$viewValue)})}p?n(e,g,u):q?j(e,g,u):k(e,g,u,l)}}}}],Rd=["$interpolate",function(a){return{restrict:"E",priority:100,require:"^select",compile:function(c,d){if(y(d.value)){var e=a(c.text(),!0);e||d.$set("value",c.text())}c.prop("selected",!1);return function(a,c,d,i){e?a.$watch(e,function(a,c){d.$set("value",
+a);a!==c&&i.removeOption(c);i.addOption(a)}):i.addOption(d.value);c.bind("$destroy",function(){i.removeOption(d.value)})}}}}],Sd=z({restrict:"E",terminal:!0});(ga=W.jQuery)?(t=ga,B(ga.fn,{scope:pa.scope,controller:pa.controller,injector:pa.injector,inheritedData:pa.inheritedData}),$a("remove",!0),$a("empty"),$a("html")):t=U;Ub.element=t;(function(a){B(a,{bootstrap:qb,copy:X,extend:B,equals:ca,element:t,forEach:m,injector:rb,noop:v,bind:Ua,toJson:aa,fromJson:ob,identity:ua,isUndefined:y,isDefined:E,
+isString:H,isFunction:L,isObject:M,isNumber:sa,isElement:ac,isArray:J,version:dd,isDate:ja,lowercase:G,uppercase:ia,callbacks:{counter:0}});oa=gc(W);try{oa("ngLocale")}catch(c){oa("ngLocale",[]).provider("$locale",Vc)}oa("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",zb).directive({a:fd,input:Xb,textarea:Xb,form:gd,script:Od,select:Qd,style:Sd,option:Rd,ngBind:rd,ngBindHtmlUnsafe:td,ngBindTemplate:sd,ngClass:ud,ngClassEven:wd,ngClassOdd:vd,ngCsp:zd,ngCloak:xd,ngController:yd,ngForm:hd,
+ngHide:Hd,ngInclude:Bd,ngInit:Cd,ngNonBindable:Dd,ngPluralize:Ed,ngRepeat:Fd,ngShow:Gd,ngSubmit:Ad,ngStyle:Id,ngSwitch:Jd,ngSwitchWhen:Kd,ngSwitchDefault:Ld,ngOptions:Pd,ngView:Nd,ngTransclude:Md,ngModel:md,ngList:od,ngChange:nd,required:Yb,ngRequired:Yb,ngValue:qd}).directive(lb).directive(Zb);a.provider({$anchorScroll:pc,$browser:rc,$cacheFactory:sc,$controller:wc,$defer:xc,$document:yc,$exceptionHandler:zc,$filter:Lb,$interpolate:Ac,$http:Rc,$httpBackend:Sc,$location:Ec,$log:Fc,$parse:Jc,$route:Mc,
+$routeParams:Nc,$rootScope:Oc,$q:Kc,$sniffer:Pc,$templateCache:tc,$window:Qc})}])})(Ub);t($).ready(function(){ec($,qb)})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>');
index e508de1..996dab3 100644 (file)
@@ -1,6 +1,6 @@
 
 /**
- * @license AngularJS v1.0.0rc6
+ * @license AngularJS v1.0.0rc7
  * (c) 2010-2012 Google, Inc. http://angularjs.org
  * License: MIT
  *
index 90aae04..061bdb3 100644 (file)
@@ -9404,7 +9404,7 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
 
 })( window );
 /**
- * @license AngularJS v1.0.0rc6
+ * @license AngularJS v1.0.0rc7
  * (c) 2010-2012 Google, Inc. http://angularjs.org
  * License: MIT
  */
@@ -10648,11 +10648,11 @@ function setupModuleLoader(window) {
  * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
  */
 var version = {
-  full: '1.0.0rc6',    // all of these placeholder strings will be replaced by rake's
+  full: '1.0.0rc7',    // all of these placeholder strings will be replaced by rake's
   major: 1,    // compile task
   minor: 0,
   dot: 0,
-  codeName: 'runny-nose'
+  codeName: 'rc-generation'
 };
 
 
@@ -10710,6 +10710,7 @@ function publishExternalAPI(angular){
             ngClass: ngClassDirective,
             ngClassEven: ngClassEvenDirective,
             ngClassOdd: ngClassOddDirective,
+            ngCsp: ngCspDirective,
             ngCloak: ngCloakDirective,
             ngController: ngControllerDirective,
             ngForm: ngFormDirective,
@@ -11278,8 +11279,8 @@ function createEventHandler(element) {
 
     // Remove monkey-patched methods (IE),
     // as they would cause memory leaks in IE8.
-    if (msie < 8) {
-      // IE7 does not allow to delete property on native object
+    if (msie <= 8) {
+      // IE7/8 does not allow to delete property on native object
       event.preventDefault = null;
       event.stopPropagation = null;
       event.isDefaultPrevented = null;
@@ -11323,14 +11324,12 @@ forEach({
           bindFn(element, 'mouseover', function(event) {
             counter++;
             if (counter == 1) {
-              event.type = 'mouseenter';
               mouseenter(event);
             }
           });
           bindFn(element, 'mouseout', function(event) {
             counter --;
             if (counter == 0) {
-              event.type = 'mouseleave';
               mouseleave(event);
             }
           });
@@ -14682,7 +14681,7 @@ var OPERATORS = {
 };
 var ESCAPE = {"n":"\n", "f":"\f", "r":"\r", "t":"\t", "v":"\v", "'":"'", '"':'"'};
 
-function lex(text){
+function lex(text, csp){
   var tokens = [],
       token,
       index = 0,
@@ -14842,7 +14841,7 @@ function lex(text){
     if (OPERATORS.hasOwnProperty(ident)) {
       token.fn = token.json = OPERATORS[ident];
     } else {
-      var getter = getterFn(ident);
+      var getter = getterFn(ident, csp);
       token.fn = extend(function(self, locals) {
         return (getter(self, locals));
       }, {
@@ -14916,10 +14915,10 @@ function lex(text){
 
 /////////////////////////////////////////
 
-function parser(text, json, $filter){
+function parser(text, json, $filter, csp){
   var ZERO = valueFn(0),
       value,
-      tokens = lex(text),
+      tokens = lex(text, csp),
       assignment = _assignment,
       functionCall = _functionCall,
       fieldAccess = _fieldAccess,
@@ -15187,7 +15186,7 @@ function parser(text, json, $filter){
 
   function _fieldAccess(object) {
     var field = expect().text;
-    var getter = getterFn(field);
+    var getter = getterFn(field, csp);
     return extend(
         function(self, locals) {
           return getter(object(self, locals), locals);
@@ -15340,32 +15339,119 @@ function getter(obj, path, bindFnToScope) {
 
 var getterFnCache = {};
 
-function getterFn(path) {
+/**
+ * Implementation of the "Black Hole" variant from:
+ * - http://jsperf.com/angularjs-parse-getter/4
+ * - http://jsperf.com/path-evaluation-simplified/7
+ */
+function cspSafeGetterFn(key0, key1, key2, key3, key4) {
+  return function(scope, locals) {
+    var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope,
+        promise;
+
+    if (!pathVal) return pathVal;
+
+    pathVal = pathVal[key0];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key1 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key1];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key2 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key2];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key3 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key3];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    if (!key4 || !pathVal) return pathVal;
+
+    pathVal = pathVal[key4];
+    if (pathVal && pathVal.then) {
+      if (!("$$v" in pathVal)) {
+        promise = pathVal;
+        promise.$$v = undefined;
+        promise.then(function(val) { promise.$$v = val; });
+      }
+      pathVal = pathVal.$$v;
+    }
+    return pathVal;
+  };
+};
+
+function getterFn(path, csp) {
   if (getterFnCache.hasOwnProperty(path)) {
     return getterFnCache[path];
   }
 
-  var fn, code = 'var l, fn, p;\n';
-  forEach(path.split('.'), function(key, index) {
-    code += 'if(!s) return s;\n' +
-            'l=s;\n' +
-            's='+ (index
-                    // we simply direference 's' on any .dot notation
-                    ? 's'
-                    // but if we are first then we check locals firs, and if so read it first
-                    : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '["' + key + '"]' + ';\n' +
-            'if (s && s.then) {\n' +
-              ' if (!("$$v" in s)) {\n' +
-                ' p=s;\n' +
-                ' p.$$v = undefined;\n' +
-                ' p.then(function(v) {p.$$v=v;});\n' +
-                '}\n' +
-              ' s=s.$$v\n' +
-            '}\n';
-  });
-  code += 'return s;';
-  fn = Function('s', 'k', code);
-  fn.toString = function() { return code; };
+  var pathKeys = path.split('.'),
+      pathKeysLength = pathKeys.length,
+      fn;
+
+  if (csp) {
+    fn = (pathKeysLength < 6)
+        ? cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4])
+        : function(scope, locals) {
+          var i = 0, val;
+          do {
+            val = cspSafeGetterFn(
+                    pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++]
+                  )(scope, locals);
+            locals = undefined; // clear after first iteration
+          } while (i < pathKeysLength);
+        };
+  } else {
+    var code = 'var l, fn, p;\n';
+    forEach(pathKeys, function(key, index) {
+      code += 'if(!s) return s;\n' +
+              'l=s;\n' +
+              's='+ (index
+                      // we simply dereference 's' on any .dot notation
+                      ? 's'
+                      // but if we are first then we check locals first, and if so read it first
+                      : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '["' + key + '"]' + ';\n' +
+              'if (s && s.then) {\n' +
+                ' if (!("$$v" in s)) {\n' +
+                  ' p=s;\n' +
+                  ' p.$$v = undefined;\n' +
+                  ' p.then(function(v) {p.$$v=v;});\n' +
+                  '}\n' +
+                ' s=s.$$v\n' +
+              '}\n';
+    });
+    code += 'return s;';
+    fn = Function('s', 'k', code); // s=scope, k=locals
+    fn.toString = function() { return code; };
+  }
 
   return getterFnCache[path] = fn;
 }
@@ -15374,13 +15460,13 @@ function getterFn(path) {
 
 function $ParseProvider() {
   var cache = {};
-  this.$get = ['$filter', function($filter) {
+  this.$get = ['$filter', '$sniffer', function($filter, $sniffer) {
     return function(exp) {
       switch(typeof exp) {
         case 'string':
           return cache.hasOwnProperty(exp)
             ? cache[exp]
-            : cache[exp] =  parser(exp, false, $filter);
+            : cache[exp] =  parser(exp, false, $filter, $sniffer.csp);
         case 'function':
           return exp;
         default:
@@ -16956,7 +17042,9 @@ function $SnifferProvider() {
         }
 
         return eventSupport[event];
-      }
+      },
+      // TODO(i): currently there is no way to feature detect CSP without triggering alerts
+      csp: false
     };
   }];
 }
@@ -20778,7 +20866,7 @@ var ngBindTemplateDirective = ['$interpolate', function($interpolate) {
  * @description
  * Creates a binding that will innerHTML the result of evaluating the `expression` into the current
  * element. *The innerHTML-ed content will not be sanitized!* You should use this directive only if
- * {@link angular.module.ng.$compileProvider.directive.ngBindHtml ngBindHtml} directive is too
+ * {@link angular.module.ngSanitize.directive.ngBindHtml ngBindHtml} directive is too
  * restrictive and when you absolutely trust the source of the content you are binding to.
  *
  * See {@link angular.module.ngSanitize.$sanitize $sanitize} docs for examples.
@@ -21099,6 +21187,32 @@ var ngControllerDirective = [function() {
   };
 }];
 
+/**
+ * @ngdoc directive
+ * @name angular.module.ng.$compileProvider.directive.ngCsp
+ * @priority 1000
+ *
+ * @description
+ * Enables [CSP (Content Security Policy)](https://developer.mozilla.org/en/Security/CSP) support.
+ * This directive should be used on the root element of the application (typically the `<html>`
+ * element or other element with the {@link angular.module.ng.$compileProvider.directive.ngApp ngApp}
+ * directive).
+ *
+ * If enabled the performance of template expression evaluator will suffer slightly, so don't enable
+ * this mode unless you need it.
+ *
+ * @element html
+ */
+
+var ngCspDirective = ['$sniffer', function($sniffer) {
+  return {
+    priority: 1000,
+    compile: function() {
+      $sniffer.csp = true;
+    }
+  };
+}];
+
 /**
  * @ngdoc directive
  * @name angular.module.ng.$compileProvider.directive.ngClick